summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-06 03:02:43 +0000
committerNorbert Preining <norbert@preining.info>2021-06-06 03:02:43 +0000
commit4338972cc175be565a3441c4ae8a6aa0dfcbe9f9 (patch)
tree9ec52a5d0d9c8a00b1a6801cc82248c0c008465d
parent4e703bdd2f304028698cd4ab92b0dda0b95a95a8 (diff)
CTAN sync 202106060302
-rw-r--r--FILES.byname1884
-rw-r--r--FILES.byname.gzbin2317896 -> 2317849 bytes
-rw-r--r--FILES.last07days1355
-rw-r--r--language/japanese/pxbase/README-ja.md6
-rw-r--r--language/japanese/pxbase/README.md1
-rw-r--r--language/japanese/pxbase/pxbabel.pdfbin136058 -> 151912 bytes
-rw-r--r--language/japanese/pxbase/pxbabel.sty47
-rw-r--r--language/japanese/pxbase/pxbabel.tex153
-rw-r--r--language/japanese/pxbase/pxbase.sty2
-rw-r--r--language/japanese/pxbase/pxbasenc.def2
-rw-r--r--language/japanese/pxbase/pxjsfenc.def2
-rw-r--r--language/japanese/pxbase/upkcat.sty2
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.pdfbin214710 -> 214710 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin242886 -> 242886 bytes
-rw-r--r--macros/latex-dev/base/changes.txt50
-rw-r--r--macros/latex-dev/base/classes.pdfbin550002 -> 550002 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin402779 -> 402779 bytes
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin292317 -> 292317 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin239681 -> 239681 bytes
-rw-r--r--macros/latex-dev/base/doc.dtx5
-rw-r--r--macros/latex-dev/base/doc.pdfbin676545 -> 676731 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin503349 -> 503401 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1316472 -> 1316472 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin212307 -> 212307 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin287672 -> 287672 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin493957 -> 493957 bytes
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin169323 -> 169323 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin220417 -> 220417 bytes
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin318168 -> 318168 bytes
-rw-r--r--macros/latex-dev/base/latexchanges.pdfbin468043 -> 468043 bytes
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin290495 -> 290495 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin208359 -> 208359 bytes
-rw-r--r--macros/latex-dev/base/lb2.pdfbin252154 -> 252154 bytes
-rw-r--r--macros/latex-dev/base/letter.pdfbin328853 -> 328949 bytes
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin215091 -> 215091 bytes
-rw-r--r--macros/latex-dev/base/lppl.pdfbin132373 -> 132373 bytes
-rw-r--r--macros/latex-dev/base/ltclass.dtx12
-rw-r--r--macros/latex-dev/base/ltcmd.dtx173
-rw-r--r--macros/latex-dev/base/ltcmdhooks-code.pdfbin686990 -> 693284 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks-doc.pdfbin477922 -> 479593 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks.dtx33
-rw-r--r--macros/latex-dev/base/ltdefns.dtx7
-rw-r--r--macros/latex-dev/base/ltfilehook-code.pdfbin784738 -> 795607 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-doc.pdfbin543890 -> 546176 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook.dtx9
-rw-r--r--macros/latex-dev/base/lthooks-code.pdfbin1002696 -> 1029365 bytes
-rw-r--r--macros/latex-dev/base/lthooks-doc.pdfbin676691 -> 684097 bytes
-rw-r--r--macros/latex-dev/base/lthooks.dtx103
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin325289 -> 325289 bytes
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin1068601 -> 1074372 bytes
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin161518 -> 161518 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin150466 -> 150466 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin150493 -> 150493 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin143686 -> 143686 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin174488 -> 174488 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin142909 -> 142909 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin138044 -> 138044 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin155055 -> 155055 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin129032 -> 129032 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin159313 -> 159313 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin111955 -> 111955 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin147587 -> 147587 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin173323 -> 173323 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin161405 -> 161405 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin130447 -> 130447 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin146533 -> 146533 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin166368 -> 166368 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin38031 -> 38031 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin245818 -> 245818 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin297070 -> 297070 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin244869 -> 244869 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin318399 -> 318399 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin287125 -> 287125 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin265211 -> 265211 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin205162 -> 205162 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin379735 -> 379735 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin252432 -> 252432 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin387987 -> 387987 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin454808 -> 454808 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin511855 -> 511855 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin526312 -> 526312 bytes
-rw-r--r--macros/latex-dev/base/ltnews32.pdfbin546162 -> 546162 bytes
-rw-r--r--macros/latex-dev/base/ltnews33.pdfbin539851 -> 522413 bytes
-rw-r--r--macros/latex-dev/base/ltnews33.tex1042
-rw-r--r--macros/latex-dev/base/ltoutput.dtx16
-rw-r--r--macros/latex-dev/base/ltpara-code.pdfbin655726 -> 664749 bytes
-rw-r--r--macros/latex-dev/base/ltpara-doc.pdfbin557225 -> 560474 bytes
-rw-r--r--macros/latex-dev/base/ltpara.dtx35
-rw-r--r--macros/latex-dev/base/ltshipout-code.pdfbin811021 -> 818898 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-doc.pdfbin562571 -> 564834 bytes
-rw-r--r--macros/latex-dev/base/ltvers.dtx4
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin219354 -> 219354 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin238577 -> 238577 bytes
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin173682 -> 173682 bytes
-rw-r--r--macros/latex-dev/base/manual.pdfbin160521 -> 160521 bytes
-rw-r--r--macros/latex-dev/base/modguide.pdfbin243601 -> 243601 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin218782 -> 218782 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin233995 -> 233995 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin374051 -> 374051 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin234008 -> 234008 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin4959329 -> 5275548 bytes
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin197297 -> 197409 bytes
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin289245 -> 289245 bytes
-rw-r--r--macros/latex-dev/base/tulm.pdfbin170529 -> 170529 bytes
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin430996 -> 430996 bytes
-rw-r--r--macros/latex-dev/base/usrguide3.pdfbin325299 -> 325299 bytes
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin361356 -> 361715 bytes
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin146200 -> 146200 bytes
-rw-r--r--macros/latex-dev/required/amsmath/README.md4
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.dtx5
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.ins13
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.pdfbin161324 -> 173746 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amscd.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amscd.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amscd.pdfbin165745 -> 178672 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.pdfbin164345 -> 176740 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.pdfbin476032 -> 508231 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.tex6
-rw-r--r--macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty6
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.dtx9
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.pdfbin384171 -> 398817 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.pdfbin129155 -> 138991 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amstex.sty6
-rw-r--r--macros/latex-dev/required/amsmath/amstext.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amstext.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amstext.pdfbin194257 -> 215693 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.pdfbin104545 -> 112556 bytes
-rw-r--r--macros/latex-dev/required/amsmath/changes.txt11
-rw-r--r--macros/latex-dev/required/amsmath/subeqn.pdfbin101293 -> 109737 bytes
-rw-r--r--macros/latex-dev/required/amsmath/technote.pdfbin130600 -> 145610 bytes
-rw-r--r--macros/latex-dev/required/amsmath/testmath.pdfbin429026 -> 454662 bytes
-rw-r--r--macros/latex-dev/required/firstaid/changes.txt8
-rw-r--r--macros/latex-dev/required/firstaid/firstaid.ins2
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx45
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdfbin224897 -> 228673 bytes
-rw-r--r--macros/latex-dev/required/graphics/README.md2
-rw-r--r--macros/latex-dev/required/graphics/changes.txt12
-rw-r--r--macros/latex-dev/required/graphics/color.pdfbin215002 -> 215002 bytes
-rw-r--r--macros/latex-dev/required/graphics/drivers.pdfbin286309 -> 286309 bytes
-rw-r--r--macros/latex-dev/required/graphics/epsfig.pdfbin167686 -> 167686 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphics.pdfbin310676 -> 310676 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphicx.pdfbin247910 -> 247910 bytes
-rw-r--r--macros/latex-dev/required/graphics/grfguide.pdfbin330071 -> 330071 bytes
-rw-r--r--macros/latex-dev/required/graphics/keyval.pdfbin239654 -> 239654 bytes
-rw-r--r--macros/latex-dev/required/graphics/lscape.pdfbin163584 -> 163584 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotating.pdfbin269434 -> 269292 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotex.pdfbin172231 -> 172230 bytes
-rw-r--r--macros/latex-dev/required/graphics/trig.pdfbin207299 -> 207299 bytes
-rw-r--r--macros/latex-dev/required/tools/README.md2
-rw-r--r--macros/latex-dev/required/tools/afterpage.pdfbin205344 -> 205344 bytes
-rw-r--r--macros/latex-dev/required/tools/array.pdfbin516484 -> 516568 bytes
-rw-r--r--macros/latex-dev/required/tools/bm.pdfbin331424 -> 331424 bytes
-rw-r--r--macros/latex-dev/required/tools/calc.pdfbin370414 -> 370414 bytes
-rw-r--r--macros/latex-dev/required/tools/changes.txt18
-rw-r--r--macros/latex-dev/required/tools/dcolumn.pdfbin220689 -> 220689 bytes
-rw-r--r--macros/latex-dev/required/tools/delarray.pdfbin198647 -> 198647 bytes
-rw-r--r--macros/latex-dev/required/tools/enumerate.pdfbin215355 -> 215355 bytes
-rw-r--r--macros/latex-dev/required/tools/fileerr.pdfbin195098 -> 195211 bytes
-rw-r--r--macros/latex-dev/required/tools/fontsmpl.pdfbin154034 -> 154034 bytes
-rw-r--r--macros/latex-dev/required/tools/ftnright.pdfbin369809 -> 369903 bytes
-rw-r--r--macros/latex-dev/required/tools/hhline.pdfbin189538 -> 189538 bytes
-rw-r--r--macros/latex-dev/required/tools/indentfirst.pdfbin157803 -> 157803 bytes
-rw-r--r--macros/latex-dev/required/tools/layout.pdfbin267761 -> 267761 bytes
-rw-r--r--macros/latex-dev/required/tools/longtable.dtx6
-rw-r--r--macros/latex-dev/required/tools/longtable.pdfbin382012 -> 382541 bytes
-rw-r--r--macros/latex-dev/required/tools/multicol.pdfbin516282 -> 516238 bytes
-rw-r--r--macros/latex-dev/required/tools/rawfonts.pdfbin146534 -> 146534 bytes
-rw-r--r--macros/latex-dev/required/tools/shellesc.pdfbin183532 -> 183532 bytes
-rw-r--r--macros/latex-dev/required/tools/showkeys.pdfbin260624 -> 260624 bytes
-rw-r--r--macros/latex-dev/required/tools/somedefs.pdfbin175169 -> 175169 bytes
-rw-r--r--macros/latex-dev/required/tools/tabularx.pdfbin278041 -> 278041 bytes
-rw-r--r--macros/latex-dev/required/tools/theorem.pdfbin351310 -> 351417 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.pdfbin73674 -> 73674 bytes
-rw-r--r--macros/latex-dev/required/tools/trace.pdfbin229713 -> 229713 bytes
-rw-r--r--macros/latex-dev/required/tools/varioref.pdfbin383483 -> 383483 bytes
-rw-r--r--macros/latex-dev/required/tools/verbatim.pdfbin330815 -> 330815 bytes
-rw-r--r--macros/latex-dev/required/tools/xr.pdfbin177595 -> 177595 bytes
-rw-r--r--macros/latex-dev/required/tools/xspace.pdfbin256897 -> 256897 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/README.md20
-rw-r--r--macros/latex/contrib/bjfuthesis/bjfuthesis.cls86
-rw-r--r--macros/latex/contrib/bjfuthesis/example/bibliography.bib492
-rw-r--r--macros/latex/contrib/bjfuthesis/example/contents/abstract.tex8
-rw-r--r--macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex72
-rw-r--r--macros/latex/contrib/bjfuthesis/example/cover.pdfbin207622 -> 208783 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.pngbin445624 -> 382656 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/admin-movie.pngbin88861 -> 90221 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.pngbin180215 -> 293686 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.pngbin716372 -> 717008 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.pngbin545274 -> 545702 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.pngbin762316 -> 718715 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.pngbin515568 -> 487115 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/general-details.pngbin503309 -> 508974 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/thesis.pdfbin4808696 -> 4830593 bytes
-rw-r--r--macros/latex/contrib/bmstu-iu8/LICENSE21
-rw-r--r--macros/latex/contrib/bmstu-iu8/README.md12
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-example.pdfbin0 -> 177037 bytes
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-example.tex (renamed from macros/latex/contrib/bmstu-iu8/example.tex)0
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls (renamed from macros/latex/contrib/bmstu-iu8/BMSTU-IU8.cls)3
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/inc/bmstu.png (renamed from macros/latex/contrib/bmstu-iu8/inc/bmstu.png)bin53203 -> 53203 bytes
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/01-IU8-base.sty)3
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/02-IU8-construction.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/03-IU8-numbering.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/04-IU8-section-numbering.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/05-IU8-figures.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/06-IU8-tables.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/07-IU8-footnotes.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/08-IU8-formulas.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/09-IU8-cites.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/10-IU8-titlepage.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty5
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/12-IU8-abstract.sty)4
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/13-IU8-contents.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty)11
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/16-IU8-references.sty)13
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/17-IU8-appendices.sty)8
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/18-IU8-extra.sty)4
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/19-IU8-counters.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty38
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/21-IU8-math.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty (renamed from macros/latex/contrib/bmstu-iu8/styles/22-IU8-algorithms.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/example.pdfbin192899 -> 0 bytes
-rw-r--r--macros/latex/contrib/bmstu-iu8/styles/11-IU8-performers.sty5
-rw-r--r--macros/latex/contrib/bmstu-iu8/styles/20-IU8-listing.sty43
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx103
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin315303 -> 315305 bytes
-rw-r--r--macros/latex/contrib/eq-pin2corr/README.md11
-rw-r--r--macros/latex/contrib/eq-pin2corr/doc/eq-pin2corr.pdfbin256673 -> 101085 bytes
-rw-r--r--macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.pdfbin245015 -> 426168 bytes
-rw-r--r--macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.tex376
-rw-r--r--macros/latex/contrib/eq-pin2corr/eq-pin2corr.dtx328
-rw-r--r--macros/latex/contrib/eq-pin2corr/examples/get-hash-string.pdfbin83433 -> 78863 bytes
-rw-r--r--macros/latex/contrib/eq-pin2corr/examples/get-hash-string.tex18
-rw-r--r--macros/latex/contrib/eq-pin2corr/examples/qz-p2c.pdfbin0 -> 141525 bytes
-rw-r--r--macros/latex/contrib/eq-pin2corr/examples/qz-p2c.tex (renamed from macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.tex)6
-rw-r--r--macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.pdfbin171609 -> 0 bytes
-rw-r--r--macros/latex/contrib/hyperref/ChangeLog.txt7
-rw-r--r--macros/latex/contrib/hyperref/README.md2
-rw-r--r--macros/latex/contrib/hyperref/doc/backref.pdfbin198815 -> 198815 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.html1808
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.pdfbin298211 -> 298609 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.tex4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref.pdfbin2426117 -> 2427494 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/nameref.pdfbin188802 -> 188802 bytes
-rw-r--r--macros/latex/contrib/hyperref/hluatex.dtx4
-rw-r--r--macros/latex/contrib/hyperref/hyperref.dtx12
-rw-r--r--macros/latex/contrib/hyperref/xr-hyper.sty2
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdfbin462481 -> 462567 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex2
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.dtx229
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdfbin1248363 -> 1305091 bytes
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin2781147 -> 2784308 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex157
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex144
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex152
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex164
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex89
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex201
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty1132
-rw-r--r--macros/latex/contrib/suftesi/suftesi.dtx109
-rw-r--r--macros/latex/contrib/suftesi/suftesi.pdfbin837570 -> 847077 bytes
-rw-r--r--macros/latex/contrib/tabularray/tabularray-2021.sty4218
-rw-r--r--macros/latex/contrib/tabularray/tabularray.pdfbin399433 -> 426537 bytes
-rw-r--r--macros/latex/contrib/tabularray/tabularray.sty955
-rw-r--r--macros/latex/contrib/tabularray/tabularray.tex36
-rw-r--r--macros/latex/required/firstaid/changes.txt7
-rw-r--r--macros/latex/required/firstaid/firstaid.ins13
-rw-r--r--macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx127
-rw-r--r--macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdfbin205202 -> 228448 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl6
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb440
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2310352 -> 2310768 bytes
-rw-r--r--systems/win32/miktex/doc/miktex.pdfbin509859 -> 509727 bytes
-rw-r--r--systems/win32/miktex/setup/rpm/fedora-34.repo5
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin576828 -> 580325 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin577473 -> 580167 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini10
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini12
-rw-r--r--systems/win32/w32tex/ChangeLog28
-rw-r--r--timestamp2
291 files changed, 12120 insertions, 4885 deletions
diff --git a/FILES.byname b/FILES.byname
index 86f6468e95..aaf6f24888 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5087,7 +5087,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2021/06/04 | 234380 | FILES.last07days
+2021/06/05 | 236851 | FILES.last07days
2020/08/14 | 104065 | fonts/academicons/academicons.pdf
2020/08/14 | 17247 | fonts/academicons/academicons.sty
2020/08/14 | 6546 | fonts/academicons/academicons.tex
@@ -173006,7 +173006,7 @@
2019/12/05 | 583460 | install/macros/latex/contrib/hologo.tds.zip
2011/04/29 | 449052 | install/macros/latex/contrib/hrefhide.tds.zip
2016/11/20 | 951051 | install/macros/latex/contrib/hustthesis.tds.zip
-2021/02/28 | 4092816 | install/macros/latex/contrib/hyperref.tds.zip
+2021/06/05 | 4093730 | install/macros/latex/contrib/hyperref.tds.zip
2020/11/22 | 1380823 | install/macros/latex/contrib/hyperxmp.tds.zip
2009/09/02 | 167274 | install/macros/latex/contrib/hyphenat.tds.zip
2009/04/05 | 198256 | install/macros/latex/contrib/IEEEconf.tds.zip
@@ -173145,7 +173145,7 @@
2019/03/20 | 7942984 | install/macros/latex/contrib/stex.tds.zip
2011/12/21 | 204538 | install/macros/latex/contrib/storebox.tds.zip
2019/11/30 | 800764 | install/macros/latex/contrib/stringenc.tds.zip
-2021/05/24 | 1572245 | install/macros/latex/contrib/suftesi.tds.zip
+2021/06/05 | 1581691 | install/macros/latex/contrib/suftesi.tds.zip
2012/05/06 | 463336 | install/macros/latex/contrib/svn-multi.tds.zip
2010/04/24 | 261363 | install/macros/latex/contrib/svn-prov.tds.zip
2014/05/20 | 721827 | install/macros/latex/contrib/sympytexpackage.tds.zip
@@ -173191,18 +173191,18 @@
2020/04/09 | 806385 | install/macros/latex/contrib/zhlipsum.tds.zip
2020/05/01 | 293478 | install/macros/latex/contrib/zhnumber.tds.zip
2020/10/09 | 728226 | install/macros/latex/contrib/zref.tds.zip
-2021/05/04 | 34063495 | install/macros/latex-dev/latex-base-dev.tds.zip
-2020/10/28 | 2643533 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
-2021/02/26 | 229335 | install/macros/latex-dev/required/latex-firstaid-dev.tds.zip
-2021/05/04 | 2666324 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
-2021/05/04 | 7347977 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
+2021/06/05 | 34390780 | install/macros/latex-dev/latex-base-dev.tds.zip
+2021/06/05 | 2763722 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
+2021/06/05 | 233623 | install/macros/latex-dev/required/latex-firstaid-dev.tds.zip
+2021/06/05 | 2666197 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
+2021/06/05 | 7348926 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
2021/06/02 | 34386868 | install/macros/latex/latex-base.tds.zip
2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip
2021/06/02 | 2814628 | install/macros/latex/required/babel-base.tds.zip
2021/06/01 | 2763317 | install/macros/latex/required/latex-amsmath.tds.zip
2021/03/05 | 200594 | install/macros/latex/required/latexbug.tds.zip
2018/04/06 | 1324669 | install/macros/latex/required/latex-cyrillic.tds.zip
-2021/03/16 | 213716 | install/macros/latex/required/latex-firstaid.tds.zip
+2021/06/02 | 233275 | install/macros/latex/required/latex-firstaid.tds.zip
2021/06/01 | 2665541 | install/macros/latex/required/latex-graphics.tds.zip
2021/06/01 | 7346768 | install/macros/latex/required/latex-tools.tds.zip
2016/09/02 | 108688 | install/macros/luatex/generic/cstypo.tds.zip
@@ -182387,19 +182387,19 @@
2021/05/31 | 796 | language/japanese/ptex-base/README.md
2021/05/31 | 13661 | language/japanese/ptex-base.zip
2021/05/23 | 1091 | language/japanese/pxbase/LICENSE
-2021/05/23 | 136058 | language/japanese/pxbase/pxbabel.pdf
-2021/05/23 | 19729 | language/japanese/pxbase/pxbabel.sty
-2021/05/23 | 17955 | language/japanese/pxbase/pxbabel.tex
+2021/05/31 | 151912 | language/japanese/pxbase/pxbabel.pdf
+2021/05/30 | 20907 | language/japanese/pxbase/pxbabel.sty
+2021/05/31 | 21625 | language/japanese/pxbase/pxbabel.tex
2017/07/04 | 163 | language/japanese/pxbase/pxbase.def
-2021/05/23 | 19112 | language/japanese/pxbase/pxbasenc.def
-2021/05/23 | 434 | language/japanese/pxbase/pxbase.sty
+2021/05/30 | 19112 | language/japanese/pxbase/pxbasenc.def
+2021/05/30 | 434 | language/japanese/pxbase/pxbase.sty
2017/07/04 | 138 | language/japanese/pxbase/pxbsjc1.def
2017/07/04 | 121 | language/japanese/pxbase/pxbsjc.def
-2021/05/23 | 7352 | language/japanese/pxbase/pxjsfenc.def
-2021/05/23 | 10006 | language/japanese/pxbase/README-ja.md
-2021/05/23 | 2363 | language/japanese/pxbase/README.md
-2021/05/23 | 3129 | language/japanese/pxbase/upkcat.sty
-2021/05/23 | 161218 | language/japanese/pxbase.zip
+2021/05/30 | 7352 | language/japanese/pxbase/pxjsfenc.def
+2021/05/31 | 10329 | language/japanese/pxbase/README-ja.md
+2021/05/31 | 2397 | language/japanese/pxbase/README.md
+2021/05/30 | 3129 | language/japanese/pxbase/upkcat.sty
+2021/06/05 | 178433 | language/japanese/pxbase.zip
2021/05/30 | 1091 | language/japanese/pxchfon/LICENSE
2010/05/12 | 97 | language/japanese/pxchfon/pxchfon0.def
2021/05/30 | 259368 | language/japanese/pxchfon/pxchfon.pdf
@@ -186332,7 +186332,7 @@
2013/04/01 | 14776 | macros/context/contrib/context-visualcounter/tex/context/third/visualcounter/t-visualcounter.mkvi
2018/03/05 | 11 | macros/context/contrib/context-visualcounter/VERSION
2018/03/22 | 276789 | macros/context/contrib/context-visualcounter.zip
-2021/06/01 | 122813741 | macros/context/latest/cont-tmf.zip
+2021/06/04 | 123061647 | macros/context/latest/cont-tmf.zip
2016/04/21 | 32846 | macros/cstex/base/cmexb.tar.gz
2016/06/26 | 1728262 | macros/cstex/base/csfonts-t1.tar.gz
2007/03/01 | 187106 | macros/cstex/base/csfonts.tar.gz
@@ -193734,36 +193734,36 @@
2009/04/21 | 84073 | macros/latex/contrib/bizcard/bizcard.pdf
2009/04/21 | 12046 | macros/latex/contrib/bizcard/bizex.pdf
2009/04/29 | 80997 | macros/latex/contrib/bizcard.zip
-2021/06/02 | 4957 | macros/latex/contrib/bjfuthesis/bjfuthesis.cls
-2021/06/02 | 145720 | macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
-2021/06/02 | 240 | macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.tex
-2021/06/02 | 802 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-abstract.tex
-2021/06/02 | 75 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-acknowledge.tex
-2021/06/02 | 4030 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-mainbody.tex
-2021/06/02 | 10909 | macros/latex/contrib/bjfuthesis/example/bibliography.bib
-2021/06/02 | 3776 | macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
+2021/06/05 | 6965 | macros/latex/contrib/bjfuthesis/bjfuthesis.cls
+2021/05/30 | 145720 | macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
+2021/05/29 | 240 | macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.tex
+2021/05/29 | 802 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-abstract.tex
+2021/05/29 | 75 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-acknowledge.tex
+2021/05/29 | 4030 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-mainbody.tex
+2021/06/05 | 13979 | macros/latex/contrib/bjfuthesis/example/bibliography.bib
+2021/06/05 | 3793 | macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
2021/06/02 | 1268 | macros/latex/contrib/bjfuthesis/example/contents/acknowledge.tex
-2021/06/02 | 64462 | macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
-2021/06/02 | 207622 | macros/latex/contrib/bjfuthesis/example/cover.pdf
-2021/06/02 | 445624 | macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.png
-2021/06/02 | 88861 | macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
-2021/06/02 | 180215 | macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.png
-2021/06/02 | 716372 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
-2021/06/02 | 545274 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
-2021/06/02 | 762316 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
-2021/06/02 | 515568 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.png
-2021/06/02 | 108191 | macros/latex/contrib/bjfuthesis/example/figures/enhanced-recommendation.png
-2021/06/02 | 503309 | macros/latex/contrib/bjfuthesis/example/figures/general-details.png
+2021/06/05 | 65504 | macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
+2021/06/05 | 208783 | macros/latex/contrib/bjfuthesis/example/cover.pdf
+2021/06/04 | 382656 | macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.png
+2021/06/04 | 90221 | macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
+2021/06/04 | 293686 | macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.png
+2021/06/04 | 717008 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
+2021/06/04 | 545702 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
+2021/06/04 | 718715 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
+2021/06/04 | 487115 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.png
+2021/05/14 | 108191 | macros/latex/contrib/bjfuthesis/example/figures/enhanced-recommendation.png
+2021/06/04 | 508974 | macros/latex/contrib/bjfuthesis/example/figures/general-details.png
2021/06/02 | 181066 | macros/latex/contrib/bjfuthesis/example/figures/illustration-of-ripple-sets.png
2021/06/02 | 41248 | macros/latex/contrib/bjfuthesis/example/figures/jwt.pdf
2021/06/02 | 42328 | macros/latex/contrib/bjfuthesis/example/figures/recommendation-procedure.pdf
-2021/06/02 | 586912 | macros/latex/contrib/bjfuthesis/example/figures/ripplenet-framework.png
+2021/05/22 | 586912 | macros/latex/contrib/bjfuthesis/example/figures/ripplenet-framework.png
2021/06/02 | 32548 | macros/latex/contrib/bjfuthesis/example/figures/use-case.pdf
-2021/06/02 | 4808696 | macros/latex/contrib/bjfuthesis/example/thesis.pdf
-2021/06/02 | 224 | macros/latex/contrib/bjfuthesis/example/thesis.tex
-2021/06/02 | 35149 | macros/latex/contrib/bjfuthesis/LICENSE
-2021/06/04 | 2079 | macros/latex/contrib/bjfuthesis/README.md
-2021/06/03 | 9796467 | macros/latex/contrib/bjfuthesis.zip
+2021/06/05 | 4830593 | macros/latex/contrib/bjfuthesis/example/thesis.pdf
+2021/06/05 | 224 | macros/latex/contrib/bjfuthesis/example/thesis.tex
+2021/05/28 | 35149 | macros/latex/contrib/bjfuthesis/LICENSE
+2021/06/05 | 1635 | macros/latex/contrib/bjfuthesis/README.md
+2021/06/05 | 9809455 | macros/latex/contrib/bjfuthesis.zip
2012/01/06 | 5782 | macros/latex/contrib/blindtext/blindtext_american.dtx
2012/01/06 | 5088 | macros/latex/contrib/blindtext/blindtext_catalan.dtx
2012/01/06 | 38613 | macros/latex/contrib/blindtext/blindtext.dtx
@@ -193800,35 +193800,34 @@
2018/01/04 | 229251 | macros/latex/contrib/blowup/blowup.pdf
2018/01/04 | 312 | macros/latex/contrib/blowup/README.md
2018/01/04 | 377299 | macros/latex/contrib/blowup.zip
-2021/05/22 | 2145 | macros/latex/contrib/bmstu-iu8/BMSTU-IU8.cls
-2021/05/22 | 192899 | macros/latex/contrib/bmstu-iu8/example.pdf
-2021/05/22 | 1520 | macros/latex/contrib/bmstu-iu8/example.tex
-2021/05/22 | 53203 | macros/latex/contrib/bmstu-iu8/inc/bmstu.png
-2021/05/22 | 1106 | macros/latex/contrib/bmstu-iu8/LICENSE
-2021/05/22 | 175 | macros/latex/contrib/bmstu-iu8/README.md
-2021/05/22 | 2551 | macros/latex/contrib/bmstu-iu8/styles/01-IU8-base.sty
-2021/05/22 | 3854 | macros/latex/contrib/bmstu-iu8/styles/02-IU8-construction.sty
-2021/05/22 | 1315 | macros/latex/contrib/bmstu-iu8/styles/03-IU8-numbering.sty
-2021/05/22 | 3560 | macros/latex/contrib/bmstu-iu8/styles/04-IU8-section-numbering.sty
-2021/05/22 | 4073 | macros/latex/contrib/bmstu-iu8/styles/05-IU8-figures.sty
-2021/05/22 | 6222 | macros/latex/contrib/bmstu-iu8/styles/06-IU8-tables.sty
-2021/05/22 | 2985 | macros/latex/contrib/bmstu-iu8/styles/07-IU8-footnotes.sty
-2021/05/22 | 213 | macros/latex/contrib/bmstu-iu8/styles/08-IU8-formulas.sty
-2021/05/22 | 1614 | macros/latex/contrib/bmstu-iu8/styles/09-IU8-cites.sty
-2021/05/22 | 8409 | macros/latex/contrib/bmstu-iu8/styles/10-IU8-titlepage.sty
-2021/05/22 | 243 | macros/latex/contrib/bmstu-iu8/styles/11-IU8-performers.sty
-2021/05/22 | 1720 | macros/latex/contrib/bmstu-iu8/styles/12-IU8-abstract.sty
-2021/05/22 | 1694 | macros/latex/contrib/bmstu-iu8/styles/13-IU8-contents.sty
-2021/05/22 | 1101 | macros/latex/contrib/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty
-2021/05/22 | 740 | macros/latex/contrib/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty
-2021/05/22 | 1139 | macros/latex/contrib/bmstu-iu8/styles/16-IU8-references.sty
-2021/05/22 | 797 | macros/latex/contrib/bmstu-iu8/styles/17-IU8-appendices.sty
-2021/05/22 | 781 | macros/latex/contrib/bmstu-iu8/styles/18-IU8-extra.sty
-2021/05/22 | 668 | macros/latex/contrib/bmstu-iu8/styles/19-IU8-counters.sty
-2021/05/22 | 1236 | macros/latex/contrib/bmstu-iu8/styles/20-IU8-listing.sty
-2021/05/22 | 422 | macros/latex/contrib/bmstu-iu8/styles/21-IU8-math.sty
-2021/05/22 | 1437 | macros/latex/contrib/bmstu-iu8/styles/22-IU8-algorithms.sty
-2021/05/22 | 252401 | macros/latex/contrib/bmstu-iu8.zip
+2021/06/05 | 177037 | macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
+2021/06/05 | 1520 | macros/latex/contrib/bmstu-iu8/bmstu-example.tex
+2021/06/05 | 2146 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
+2021/06/05 | 53203 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/inc/bmstu.png
+2021/06/05 | 2580 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty
+2021/06/05 | 3854 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty
+2021/06/05 | 1315 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty
+2021/06/05 | 3560 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty
+2021/06/05 | 4073 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty
+2021/06/05 | 6222 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty
+2021/06/05 | 2985 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty
+2021/06/05 | 213 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty
+2021/06/05 | 1614 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty
+2021/06/05 | 8409 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty
+2021/06/05 | 244 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty
+2021/06/05 | 1719 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty
+2021/06/05 | 1694 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty
+2021/06/05 | 837 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty
+2021/06/05 | 740 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty
+2021/06/05 | 819 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty
+2021/06/05 | 896 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty
+2021/06/05 | 687 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty
+2021/06/05 | 668 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty
+2021/06/05 | 970 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty
+2021/06/05 | 422 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty
+2021/06/05 | 1437 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty
+2021/06/05 | 470 | macros/latex/contrib/bmstu-iu8/README.md
+2021/06/05 | 201172 | macros/latex/contrib/bmstu-iu8.zip
2021/05/17 | 79556 | macros/latex/contrib/bnumexpr/bnumexpr.dtx
2021/05/17 | 131719 | macros/latex/contrib/bnumexpr/bnumexpr.pdf
2021/05/17 | 3182 | macros/latex/contrib/bnumexpr/README.md
@@ -197574,11 +197573,11 @@
2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt
2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README
2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip
-2021/06/04 | 128029 | macros/latex/contrib/easybook/easybook.dtx
+2021/06/05 | 128428 | macros/latex/contrib/easybook/easybook.dtx
2021/06/02 | 738 | macros/latex/contrib/easybook/easybook.ins
-2021/06/04 | 315303 | macros/latex/contrib/easybook/easybook.pdf
+2021/06/05 | 315305 | macros/latex/contrib/easybook/easybook.pdf
2021/05/15 | 3043 | macros/latex/contrib/easybook/README.md
-2021/06/04 | 347620 | macros/latex/contrib/easybook.zip
+2021/06/05 | 347819 | macros/latex/contrib/easybook.zip
2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf
2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf
2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf
@@ -198432,19 +198431,19 @@
2017/09/03 | 223922 | macros/latex/contrib/eqparbox/eqparbox.pdf
2017/09/03 | 2107 | macros/latex/contrib/eqparbox/README
2017/09/04 | 231458 | macros/latex/contrib/eqparbox.zip
-2021/02/20 | 245015 | macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.pdf
-2021/02/20 | 16404 | macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.tex
-2021/02/20 | 256673 | macros/latex/contrib/eq-pin2corr/doc/eq-pin2corr.pdf
+2021/06/05 | 426168 | macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.pdf
+2021/06/05 | 29657 | macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.tex
+2021/06/05 | 101085 | macros/latex/contrib/eq-pin2corr/doc/eq-pin2corr.pdf
2016/05/30 | 237391 | macros/latex/contrib/eq-pin2corr/doc/install_jsfiles.pdf
-2021/01/31 | 13105 | macros/latex/contrib/eq-pin2corr/doc/install_jsfiles.tex
-2021/02/20 | 12122 | macros/latex/contrib/eq-pin2corr/eq-pin2corr.dtx
-2021/02/18 | 1846 | macros/latex/contrib/eq-pin2corr/eq-pin2corr.ins
-2021/02/20 | 83433 | macros/latex/contrib/eq-pin2corr/examples/get-hash-string.pdf
-2021/02/20 | 1671 | macros/latex/contrib/eq-pin2corr/examples/get-hash-string.tex
-2021/02/20 | 171609 | macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.pdf
-2021/02/20 | 2967 | macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.tex
-2021/02/20 | 595 | macros/latex/contrib/eq-pin2corr/README.md
-2021/02/20 | 682438 | macros/latex/contrib/eq-pin2corr.zip
+2021/06/05 | 13105 | macros/latex/contrib/eq-pin2corr/doc/install_jsfiles.tex
+2021/06/05 | 22350 | macros/latex/contrib/eq-pin2corr/eq-pin2corr.dtx
+2021/06/05 | 1846 | macros/latex/contrib/eq-pin2corr/eq-pin2corr.ins
+2021/06/05 | 78863 | macros/latex/contrib/eq-pin2corr/examples/get-hash-string.pdf
+2021/06/05 | 2232 | macros/latex/contrib/eq-pin2corr/examples/get-hash-string.tex
+2021/06/05 | 141525 | macros/latex/contrib/eq-pin2corr/examples/qz-p2c.pdf
+2021/06/05 | 2963 | macros/latex/contrib/eq-pin2corr/examples/qz-p2c.tex
+2021/06/05 | 1110 | macros/latex/contrib/eq-pin2corr/README.md
+2021/06/05 | 608452 | macros/latex/contrib/eq-pin2corr.zip
2021/04/27 | 294253 | macros/latex/contrib/eq-save/docs/eqsave-man.pdf
2021/04/27 | 16449 | macros/latex/contrib/eq-save/docs/eqsave-man.tex
2021/04/27 | 30501 | macros/latex/contrib/eq-save/eq-save.dtx
@@ -202500,33 +202499,33 @@
1999/03/09 | 1563 | macros/latex/contrib/hyper/README
2021/02/07 | 28408 | macros/latex/contrib/hyperref/backref.dtx
2021/02/07 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty
-2021/02/27 | 117559 | macros/latex/contrib/hyperref/ChangeLog.txt
-2021/02/28 | 198815 | macros/latex/contrib/hyperref/doc/backref.pdf
-2021/02/28 | 904 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
-2021/02/28 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
-2021/02/28 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
-2021/02/28 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
-2021/02/28 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html
-2021/02/28 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html
-2021/02/28 | 14515 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
-2021/02/28 | 469558 | macros/latex/contrib/hyperref/doc/hyperref-doc.html
-2021/02/28 | 298211 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
-2021/02/27 | 152685 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex
-2021/02/28 | 2426117 | macros/latex/contrib/hyperref/doc/hyperref.pdf
-2021/02/28 | 188802 | macros/latex/contrib/hyperref/doc/nameref.pdf
+2021/06/05 | 117737 | macros/latex/contrib/hyperref/ChangeLog.txt
+2021/06/05 | 198815 | macros/latex/contrib/hyperref/doc/backref.pdf
+2021/06/05 | 904 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
+2021/06/05 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
+2021/06/05 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
+2021/06/05 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
+2021/06/05 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html
+2021/06/05 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html
+2021/06/05 | 14515 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
+2021/06/05 | 477535 | macros/latex/contrib/hyperref/doc/hyperref-doc.html
+2021/06/05 | 298609 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
+2021/06/05 | 152685 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex
+2021/06/05 | 2427494 | macros/latex/contrib/hyperref/doc/hyperref.pdf
+2021/06/05 | 188802 | macros/latex/contrib/hyperref/doc/nameref.pdf
2018/11/18 | 132446 | macros/latex/contrib/hyperref/doc/paper.pdf
2018/11/18 | 384001 | macros/latex/contrib/hyperref/doc/slides.pdf
-2021/02/27 | 50274 | macros/latex/contrib/hyperref/hluatex.dtx
-2021/02/27 | 894369 | macros/latex/contrib/hyperref/hyperref.dtx
+2021/06/05 | 50274 | macros/latex/contrib/hyperref/hluatex.dtx
+2021/06/05 | 894443 | macros/latex/contrib/hyperref/hyperref.dtx
2021/02/27 | 4077 | macros/latex/contrib/hyperref/hyperref.ins
2021/02/27 | 1716 | macros/latex/contrib/hyperref/manifest.txt
2021/02/07 | 275 | macros/latex/contrib/hyperref/minitoc-hyper.sty
2021/02/07 | 23652 | macros/latex/contrib/hyperref/nameref.dtx
2021/02/07 | 279 | macros/latex/contrib/hyperref/ntheorem-hyper.sty
2018/11/18 | 247116 | macros/latex/contrib/hyperref/paperslides99.zip
-2021/02/27 | 4479 | macros/latex/contrib/hyperref/README.md
-2021/02/27 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty
-2021/02/28 | 3909315 | macros/latex/contrib/hyperref.zip
+2021/06/05 | 4479 | macros/latex/contrib/hyperref/README.md
+2021/06/05 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty
+2021/06/05 | 3910214 | macros/latex/contrib/hyperref.zip
1997/08/24 | 1034 | macros/latex/contrib/hyper/scontrib/harvard.hyp
1997/08/24 | 297 | macros/latex/contrib/hyper/scontrib/README
1997/08/24 | 1381 | macros/latex/contrib/hyper/TODO
@@ -207018,13 +207017,13 @@
1996/03/22 | 18862 | macros/latex/contrib/niceframe/umrandb.mf
2015/01/17 | 1370 | macros/latex/contrib/niceframe/umrand.mf
2015/01/17 | 287910 | macros/latex/contrib/niceframe.zip
-2021/05/06 | 609715 | macros/latex/contrib/nicematrix/nicematrix.dtx
-2021/05/06 | 462481 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
-2021/05/06 | 166269 | macros/latex/contrib/nicematrix/nicematrix-french.tex
+2021/06/05 | 608746 | macros/latex/contrib/nicematrix/nicematrix.dtx
+2021/06/05 | 462567 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
+2021/05/13 | 166256 | macros/latex/contrib/nicematrix/nicematrix-french.tex
2021/01/07 | 1423 | macros/latex/contrib/nicematrix/nicematrix.ins
-2021/05/06 | 1248363 | macros/latex/contrib/nicematrix/nicematrix.pdf
+2021/06/05 | 1305091 | macros/latex/contrib/nicematrix/nicematrix.pdf
2020/06/07 | 1005 | macros/latex/contrib/nicematrix/README.md
-2021/05/06 | 1822166 | macros/latex/contrib/nicematrix.zip
+2021/06/05 | 1874676 | macros/latex/contrib/nicematrix.zip
2015/11/21 | 217 | macros/latex/contrib/nicetext/ANNOUNCE.txt
2012/03/18 | 254582 | macros/latex/contrib/nicetext/demo/arseneau.pdf
2011/09/14 | 10 | macros/latex/contrib/nicetext/demo/iso.txt
@@ -209405,15 +209404,15 @@
2002/02/04 | 5634 | macros/latex/contrib/procIAGssymp/procIAGssymp.sty
2002/02/04 | 7126 | macros/latex/contrib/procIAGssymp/TestPaper.tex
2019/07/29 | 5300 | macros/latex/contrib/procIAGssymp.zip
-2021/05/14 | 2781147 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
-2021/05/14 | 1682253 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
-2021/04/23 | 22499 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
-2021/04/23 | 18307 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
-2021/04/23 | 19500 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
-2021/04/23 | 27315 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
-2021/04/23 | 13850 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
-2021/04/23 | 22016 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
-2021/05/14 | 555364 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2021/06/04 | 2784308 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2021/06/04 | 1684520 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
+2021/06/04 | 23766 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
+2021/06/04 | 19959 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
+2021/06/04 | 21078 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
+2021/06/04 | 29034 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
+2021/06/04 | 15317 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
+2021/06/04 | 23085 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
+2021/06/04 | 570771 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2021/05/14 | 5056 | macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp
2021/05/14 | 13296 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
2021/05/14 | 431 | macros/latex/contrib/profcollege/metapost/PfCConstantes.mp
@@ -209423,7 +209422,7 @@
2021/05/14 | 104283 | macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
2021/05/14 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp
2021/01/18 | 435 | macros/latex/contrib/profcollege/README
-2021/05/14 | 4241560 | macros/latex/contrib/profcollege.zip
+2021/06/05 | 4248289 | macros/latex/contrib/profcollege.zip
1996/02/05 | 1760 | macros/latex/contrib/progkeys/demo/demo.tex
1996/02/05 | 459 | macros/latex/contrib/progkeys/demo/prog1.tex
1996/02/05 | 347 | macros/latex/contrib/progkeys/demo/prog2.tex
@@ -213197,11 +213196,11 @@
2006/03/25 | 2275 | macros/latex/contrib/sudoku/sudoku.ins
2006/03/25 | 67384 | macros/latex/contrib/sudoku/sudoku.pdf
2006/03/25 | 60808 | macros/latex/contrib/sudoku.zip
-2021/05/24 | 1670 | macros/latex/contrib/suftesi/README
-2021/05/24 | 229551 | macros/latex/contrib/suftesi/suftesi.dtx
-2021/05/24 | 837570 | macros/latex/contrib/suftesi/suftesi.pdf
-2021/05/24 | 681675 | macros/latex/contrib/suftesi/templates.zip
-2021/05/24 | 1555297 | macros/latex/contrib/suftesi.zip
+2021/06/05 | 1670 | macros/latex/contrib/suftesi/README
+2021/06/05 | 229696 | macros/latex/contrib/suftesi/suftesi.dtx
+2021/06/05 | 847077 | macros/latex/contrib/suftesi/suftesi.pdf
+2021/06/05 | 681691 | macros/latex/contrib/suftesi/templates.zip
+2021/06/05 | 1564763 | macros/latex/contrib/suftesi.zip
2020/02/02 | 856 | macros/latex/contrib/supertabular/CATALOG
2020/02/02 | 13567 | macros/latex/contrib/supertabular/ChangeLog
2020/01/24 | 502 | macros/latex/contrib/supertabular/MANIFEST
@@ -213609,10 +213608,11 @@
2009/06/01 | 170381 | macros/latex/contrib/tabularew/tabularew.pdf
2009/06/01 | 150930 | macros/latex/contrib/tabularew.zip
2021/03/29 | 179 | macros/latex/contrib/tabularray/README
-2021/05/25 | 399433 | macros/latex/contrib/tabularray/tabularray.pdf
-2021/05/25 | 145587 | macros/latex/contrib/tabularray/tabularray.sty
-2021/05/25 | 21891 | macros/latex/contrib/tabularray/tabularray.tex
-2021/05/25 | 370412 | macros/latex/contrib/tabularray.zip
+2021/05/25 | 145587 | macros/latex/contrib/tabularray/tabularray-2021.sty
+2021/06/05 | 426537 | macros/latex/contrib/tabularray/tabularray.pdf
+2021/06/05 | 158209 | macros/latex/contrib/tabularray/tabularray.sty
+2021/06/05 | 22749 | macros/latex/contrib/tabularray/tabularray.tex
+2021/06/05 | 417985 | macros/latex/contrib/tabularray.zip
2005/10/21 | 169 | macros/latex/contrib/tabulary/README
2014/06/21 | 29652 | macros/latex/contrib/tabulary/tabulary.dtx
2003/11/26 | 156 | macros/latex/contrib/tabulary/tabulary.ins
@@ -221926,419 +221926,419 @@
2020/02/28 | 475910 | macros/latex/contrib/zwpagelayout/zwpagelayout.pdf
2020/02/28 | 36153 | macros/latex/contrib/zwpagelayout/zwpagelayout.sty
2020/02/28 | 69481 | macros/latex/contrib/zwpagelayout/zwpagelayout.tex
-2021/05/04 | 7109 | macros/latex-dev/base/alltt.dtx
-2021/05/04 | 2890 | macros/latex-dev/base/alltt.ins
-2021/05/04 | 214710 | macros/latex-dev/base/alltt.pdf
-2021/05/04 | 3282 | macros/latex-dev/base/bugs.txt
-2021/05/04 | 242886 | macros/latex-dev/base/cfgguide.pdf
-2021/05/04 | 22456 | macros/latex-dev/base/cfgguide.tex
-2021/05/04 | 42708 | macros/latex-dev/base/changes.old.txt
-2021/05/04 | 375158 | macros/latex-dev/base/changes.txt
-2021/05/04 | 156210 | macros/latex-dev/base/classes.dtx
-2021/05/04 | 4087 | macros/latex-dev/base/classes.ins
-2021/05/04 | 550002 | macros/latex-dev/base/classes.pdf
-2021/05/04 | 402779 | macros/latex-dev/base/clsguide.pdf
-2021/05/04 | 69050 | macros/latex-dev/base/clsguide.tex
-2021/05/04 | 5273 | macros/latex-dev/base/cmextra.ins
-2021/05/04 | 43636 | macros/latex-dev/base/cmfonts.fdd
-2021/05/04 | 4324 | macros/latex-dev/base/cmfonts.ins
-2021/05/04 | 292317 | macros/latex-dev/base/cmfonts.pdf
-2021/05/04 | 239681 | macros/latex-dev/base/cyrguide.pdf
-2021/05/04 | 17495 | macros/latex-dev/base/cyrguide.tex
-2021/05/04 | 204007 | macros/latex-dev/base/doc.dtx
-2021/05/04 | 676545 | macros/latex-dev/base/doc.pdf
-2021/05/04 | 170214 | macros/latex-dev/base/docstrip.dtx
-2021/05/04 | 4221 | macros/latex-dev/base/docstrip.ins
-2021/05/04 | 503349 | macros/latex-dev/base/docstrip.pdf
-2021/05/04 | 41831 | macros/latex-dev/base/doc-v3beta.sty
-2021/05/04 | 4390 | macros/latex-dev/base/ec.ins
-2021/05/04 | 1316472 | macros/latex-dev/base/encguide.pdf
-2021/05/04 | 52813 | macros/latex-dev/base/encguide.tex
-2021/05/04 | 7221 | macros/latex-dev/base/exscale.dtx
-2021/05/04 | 3338 | macros/latex-dev/base/exscale.ins
-2021/05/04 | 212307 | macros/latex-dev/base/exscale.pdf
-2021/05/04 | 23521 | macros/latex-dev/base/fix-cm.dtx
-2021/05/04 | 2892 | macros/latex-dev/base/fix-cm.ins
-2021/05/04 | 287672 | macros/latex-dev/base/fix-cm.pdf
-2021/05/04 | 493957 | macros/latex-dev/base/fntguide.pdf
-2021/05/04 | 90917 | macros/latex-dev/base/fntguide.tex
-2021/05/04 | 60326 | macros/latex-dev/base/fontdef.dtx
-2021/05/04 | 9583 | macros/latex-dev/base/format.ins
-2021/05/04 | 5514 | macros/latex-dev/base/graphpap.dtx
-2021/05/04 | 2892 | macros/latex-dev/base/graphpap.ins
-2021/05/04 | 169323 | macros/latex-dev/base/graphpap.pdf
-2021/05/04 | 2705 | macros/latex-dev/base/idx.tex
-2021/05/04 | 18303 | macros/latex-dev/base/ifthen.dtx
-2021/05/04 | 2888 | macros/latex-dev/base/ifthen.ins
-2021/05/04 | 220417 | macros/latex-dev/base/ifthen.pdf
-2021/05/04 | 106908 | macros/latex-dev/base/inputenc.dtx
-2021/05/04 | 5714 | macros/latex-dev/base/inputenc.ins
-2021/05/04 | 318168 | macros/latex-dev/base/inputenc.pdf
-2021/05/04 | 4079 | macros/latex-dev/base/lablst.tex
-2021/05/04 | 38735 | macros/latex-dev/base/latex209.dtx
-2021/05/04 | 4219 | macros/latex-dev/base/latex209.ins
-2021/05/04 | 468043 | macros/latex-dev/base/latexchanges.pdf
-2021/05/04 | 40795 | macros/latex-dev/base/latexchanges.tex
-2021/05/04 | 44409 | macros/latex-dev/base/latexrelease.dtx
-2021/05/04 | 5917 | macros/latex-dev/base/latexrelease.ins
-2021/05/04 | 290495 | macros/latex-dev/base/latexrelease.pdf
-2021/05/04 | 6714 | macros/latex-dev/base/latexsym.dtx
-2021/05/04 | 5041 | macros/latex-dev/base/latexsym.ins
-2021/05/04 | 208359 | macros/latex-dev/base/latexsym.pdf
-2021/05/04 | 52578 | macros/latex-dev/base/lb2.err
-2021/05/04 | 252154 | macros/latex-dev/base/lb2.pdf
-2021/05/04 | 1279 | macros/latex-dev/base/legal.txt
-2021/05/04 | 63283 | macros/latex-dev/base/letter.dtx
-2021/05/04 | 3372 | macros/latex-dev/base/letter.ins
-2021/05/04 | 328853 | macros/latex-dev/base/letter.pdf
-2021/05/04 | 20486 | macros/latex-dev/base/lgc2.err
-2021/05/04 | 215091 | macros/latex-dev/base/lgc2.pdf
-2021/05/04 | 9068 | macros/latex-dev/base/lppl-1-0.txt
-2021/05/04 | 14341 | macros/latex-dev/base/lppl-1-1.txt
-2021/05/04 | 14421 | macros/latex-dev/base/lppl-1-2.txt
-2021/05/04 | 132373 | macros/latex-dev/base/lppl.pdf
-2021/05/04 | 23386 | macros/latex-dev/base/lppl.tex
-2021/05/04 | 19040 | macros/latex-dev/base/lppl.txt
-2021/05/04 | 4303 | macros/latex-dev/base/ltalloc.dtx
-2021/05/04 | 16105 | macros/latex-dev/base/ltbibl.dtx
-2021/05/04 | 43867 | macros/latex-dev/base/ltboxes.dtx
-2021/05/04 | 136299 | macros/latex-dev/base/ltclass.dtx
-2021/05/04 | 143532 | macros/latex-dev/base/ltcmd.dtx
-2021/05/04 | 686990 | macros/latex-dev/base/ltcmdhooks-code.pdf
-2021/05/04 | 103 | macros/latex-dev/base/ltcmdhooks-code.tex
-2021/05/04 | 477922 | macros/latex-dev/base/ltcmdhooks-doc.pdf
-2021/05/04 | 177 | macros/latex-dev/base/ltcmdhooks-doc.tex
-2021/05/04 | 40979 | macros/latex-dev/base/ltcmdhooks.dtx
-2021/05/04 | 9562 | macros/latex-dev/base/ltcntrl.dtx
-2021/05/04 | 22676 | macros/latex-dev/base/ltcounts.dtx
-2021/05/04 | 85817 | macros/latex-dev/base/ltdefns.dtx
-2021/05/04 | 35302 | macros/latex-dev/base/ltdirchk.dtx
-2021/05/04 | 24015 | macros/latex-dev/base/lterror.dtx
-2021/05/04 | 13920 | macros/latex-dev/base/ltexpl.dtx
-2021/05/04 | 784738 | macros/latex-dev/base/ltfilehook-code.pdf
-2021/05/04 | 105 | macros/latex-dev/base/ltfilehook-code.tex
-2021/05/04 | 543890 | macros/latex-dev/base/ltfilehook-doc.pdf
-2021/05/04 | 180 | macros/latex-dev/base/ltfilehook-doc.tex
-2021/05/04 | 63179 | macros/latex-dev/base/ltfilehook.dtx
-2021/05/04 | 55087 | macros/latex-dev/base/ltfiles.dtx
-2021/05/04 | 44724 | macros/latex-dev/base/ltfinal.dtx
-2021/05/04 | 54680 | macros/latex-dev/base/ltfloat.dtx
-2021/05/04 | 29191 | macros/latex-dev/base/ltfntcmd.dtx
-2021/05/04 | 58556 | macros/latex-dev/base/ltfssaxes.dtx
-2021/05/04 | 80670 | macros/latex-dev/base/ltfssbas.dtx
-2021/05/04 | 10375 | macros/latex-dev/base/ltfsscmp.dtx
-2021/05/04 | 61425 | macros/latex-dev/base/ltfssdcl.dtx
-2021/05/04 | 76725 | macros/latex-dev/base/ltfssini.dtx
-2021/05/04 | 72479 | macros/latex-dev/base/ltfsstrc.dtx
-2021/05/04 | 1002696 | macros/latex-dev/base/lthooks-code.pdf
-2021/05/04 | 102 | macros/latex-dev/base/lthooks-code.tex
-2021/05/04 | 676691 | macros/latex-dev/base/lthooks-doc.pdf
-2021/05/04 | 177 | macros/latex-dev/base/lthooks-doc.tex
-2021/05/04 | 188086 | macros/latex-dev/base/lthooks.dtx
-2021/05/04 | 4950 | macros/latex-dev/base/lthyphen.dtx
-2021/05/04 | 5864 | macros/latex-dev/base/ltidxglo.dtx
-2021/05/04 | 4762 | macros/latex-dev/base/ltlength.dtx
-2021/05/04 | 36157 | macros/latex-dev/base/ltlists.dtx
-2021/05/04 | 3730 | macros/latex-dev/base/ltlogos.dtx
-2021/05/04 | 64748 | macros/latex-dev/base/ltluatex.dtx
-2021/05/04 | 325289 | macros/latex-dev/base/ltluatex.pdf
-2021/05/04 | 39431 | macros/latex-dev/base/ltmath.dtx
-2021/05/04 | 58703 | macros/latex-dev/base/ltmiscen.dtx
-2021/05/04 | 161518 | macros/latex-dev/base/ltnews01.pdf
-2021/05/04 | 5246 | macros/latex-dev/base/ltnews01.tex
-2021/05/04 | 150466 | macros/latex-dev/base/ltnews02.pdf
-2021/05/04 | 5283 | macros/latex-dev/base/ltnews02.tex
-2021/05/04 | 150493 | macros/latex-dev/base/ltnews03.pdf
-2021/05/04 | 5200 | macros/latex-dev/base/ltnews03.tex
-2021/05/04 | 143686 | macros/latex-dev/base/ltnews04.pdf
-2021/05/04 | 5506 | macros/latex-dev/base/ltnews04.tex
-2021/05/04 | 174488 | macros/latex-dev/base/ltnews05.pdf
-2021/05/04 | 5608 | macros/latex-dev/base/ltnews05.tex
-2021/05/04 | 142909 | macros/latex-dev/base/ltnews06.pdf
-2021/05/04 | 5390 | macros/latex-dev/base/ltnews06.tex
-2021/05/04 | 138044 | macros/latex-dev/base/ltnews07.pdf
-2021/05/04 | 5425 | macros/latex-dev/base/ltnews07.tex
-2021/05/04 | 155055 | macros/latex-dev/base/ltnews08.pdf
-2021/05/04 | 5695 | macros/latex-dev/base/ltnews08.tex
-2021/05/04 | 129032 | macros/latex-dev/base/ltnews09.pdf
-2021/05/04 | 5293 | macros/latex-dev/base/ltnews09.tex
-2021/05/04 | 159313 | macros/latex-dev/base/ltnews10.pdf
-2021/05/04 | 5659 | macros/latex-dev/base/ltnews10.tex
-2021/05/04 | 111955 | macros/latex-dev/base/ltnews11.pdf
-2021/05/04 | 5529 | macros/latex-dev/base/ltnews11.tex
-2021/05/04 | 147587 | macros/latex-dev/base/ltnews12.pdf
-2021/05/04 | 5400 | macros/latex-dev/base/ltnews12.tex
-2021/05/04 | 173323 | macros/latex-dev/base/ltnews13.pdf
-2021/05/04 | 6871 | macros/latex-dev/base/ltnews13.tex
-2021/05/04 | 161405 | macros/latex-dev/base/ltnews14.pdf
-2021/05/04 | 6273 | macros/latex-dev/base/ltnews14.tex
-2021/05/04 | 130447 | macros/latex-dev/base/ltnews15.pdf
-2021/05/04 | 5839 | macros/latex-dev/base/ltnews15.tex
-2021/05/04 | 146533 | macros/latex-dev/base/ltnews16.pdf
-2021/05/04 | 5776 | macros/latex-dev/base/ltnews16.tex
-2021/05/04 | 166368 | macros/latex-dev/base/ltnews17.pdf
-2021/05/04 | 8863 | macros/latex-dev/base/ltnews17.tex
-2021/05/04 | 38031 | macros/latex-dev/base/ltnews18.pdf
-2021/05/04 | 1341 | macros/latex-dev/base/ltnews18.tex
-2021/05/04 | 245818 | macros/latex-dev/base/ltnews19.pdf
-2021/05/04 | 4170 | macros/latex-dev/base/ltnews19.tex
-2021/05/04 | 297070 | macros/latex-dev/base/ltnews20.pdf
-2021/05/04 | 7325 | macros/latex-dev/base/ltnews20.tex
-2021/05/04 | 244869 | macros/latex-dev/base/ltnews21.pdf
-2021/05/04 | 9809 | macros/latex-dev/base/ltnews21.tex
-2021/05/04 | 318399 | macros/latex-dev/base/ltnews22.pdf
-2021/05/04 | 10668 | macros/latex-dev/base/ltnews22.tex
-2021/05/04 | 287125 | macros/latex-dev/base/ltnews23.pdf
-2021/05/04 | 10687 | macros/latex-dev/base/ltnews23.tex
-2021/05/04 | 265211 | macros/latex-dev/base/ltnews24.pdf
-2021/05/04 | 12224 | macros/latex-dev/base/ltnews24.tex
-2021/05/04 | 205162 | macros/latex-dev/base/ltnews25.pdf
-2021/05/04 | 5473 | macros/latex-dev/base/ltnews25.tex
-2021/05/04 | 379735 | macros/latex-dev/base/ltnews26.pdf
-2021/05/04 | 10697 | macros/latex-dev/base/ltnews26.tex
-2021/05/04 | 252432 | macros/latex-dev/base/ltnews27.pdf
-2021/05/04 | 5506 | macros/latex-dev/base/ltnews27.tex
-2021/05/04 | 387987 | macros/latex-dev/base/ltnews28.pdf
-2021/05/04 | 14891 | macros/latex-dev/base/ltnews28.tex
-2021/05/04 | 454808 | macros/latex-dev/base/ltnews29.pdf
-2021/05/04 | 18940 | macros/latex-dev/base/ltnews29.tex
-2021/05/04 | 511855 | macros/latex-dev/base/ltnews30.pdf
-2021/05/04 | 23651 | macros/latex-dev/base/ltnews30.tex
-2021/05/04 | 526312 | macros/latex-dev/base/ltnews31.pdf
-2021/05/04 | 30456 | macros/latex-dev/base/ltnews31.tex
-2021/05/04 | 546162 | macros/latex-dev/base/ltnews32.pdf
-2021/05/04 | 33256 | macros/latex-dev/base/ltnews32.tex
-2021/05/04 | 539851 | macros/latex-dev/base/ltnews33.pdf
-2021/05/04 | 28260 | macros/latex-dev/base/ltnews33.tex
-2021/05/04 | 20469 | macros/latex-dev/base/ltnews.cls
-2021/05/04 | 1068601 | macros/latex-dev/base/ltnews.pdf
-2021/05/04 | 8259 | macros/latex-dev/base/ltnews.tex
-2021/05/04 | 149221 | macros/latex-dev/base/ltoutenc.dtx
-2021/05/04 | 3367 | macros/latex-dev/base/ltoutenc.ins
-2021/05/04 | 175624 | macros/latex-dev/base/ltoutput.dtx
-2021/05/04 | 11590 | macros/latex-dev/base/ltpage.dtx
-2021/05/04 | 2733 | macros/latex-dev/base/ltpageno.dtx
-2021/05/04 | 655726 | macros/latex-dev/base/ltpara-code.pdf
-2021/05/04 | 99 | macros/latex-dev/base/ltpara-code.tex
-2021/05/04 | 557225 | macros/latex-dev/base/ltpara-doc.pdf
-2021/05/04 | 173 | macros/latex-dev/base/ltpara-doc.tex
-2021/05/04 | 48576 | macros/latex-dev/base/ltpara.dtx
-2021/05/04 | 6160 | macros/latex-dev/base/ltpar.dtx
-2021/05/04 | 69007 | macros/latex-dev/base/ltpictur.dtx
-2021/05/04 | 53199 | macros/latex-dev/base/ltplain.dtx
-2021/05/04 | 32648 | macros/latex-dev/base/ltsect.dtx
-2021/05/04 | 811021 | macros/latex-dev/base/ltshipout-code.pdf
-2021/05/04 | 104 | macros/latex-dev/base/ltshipout-code.tex
-2021/05/04 | 562571 | macros/latex-dev/base/ltshipout-doc.pdf
-2021/05/04 | 179 | macros/latex-dev/base/ltshipout-doc.tex
-2021/05/04 | 78305 | macros/latex-dev/base/ltshipout.dtx
-2021/05/04 | 45245 | macros/latex-dev/base/ltspace.dtx
-2021/05/04 | 47901 | macros/latex-dev/base/lttab.dtx
-2021/05/04 | 90126 | macros/latex-dev/base/lttextcomp.dtx
-2021/05/04 | 8736 | macros/latex-dev/base/ltthm.dtx
-2021/05/04 | 13902 | macros/latex-dev/base/ltvers.dtx
-2021/05/04 | 219354 | macros/latex-dev/base/ltx3info.pdf
-2021/05/04 | 18299 | macros/latex-dev/base/ltx3info.tex
-2021/05/04 | 27122 | macros/latex-dev/base/ltxcheck.tex
-2021/05/04 | 19064 | macros/latex-dev/base/ltxdoc.dtx
-2021/05/04 | 238577 | macros/latex-dev/base/ltxdoc.pdf
-2021/05/04 | 7524 | macros/latex-dev/base/ltxguide.cls
-2021/05/04 | 15625 | macros/latex-dev/base/ltxref.dtx
-2021/05/04 | 10603 | macros/latex-dev/base/makeindx.dtx
-2021/05/04 | 3434 | macros/latex-dev/base/makeindx.ins
-2021/05/04 | 173682 | macros/latex-dev/base/makeindx.pdf
-2021/05/04 | 10871 | macros/latex-dev/base/manifest.txt
-2021/05/04 | 12946 | macros/latex-dev/base/manual.err
-2021/05/04 | 160521 | macros/latex-dev/base/manual.pdf
-2021/05/04 | 1937 | macros/latex-dev/base/minimal.cls
-2021/05/04 | 243601 | macros/latex-dev/base/modguide.pdf
-2021/05/04 | 16233 | macros/latex-dev/base/modguide.tex
-2021/05/04 | 4254 | macros/latex-dev/base/newdc.ins
-2021/05/04 | 6362 | macros/latex-dev/base/newlfont.dtx
-2021/05/04 | 18404 | macros/latex-dev/base/nfssfont.dtx
-2021/05/04 | 2893 | macros/latex-dev/base/nfssfont.ins
-2021/05/04 | 218782 | macros/latex-dev/base/nfssfont.pdf
-2021/05/04 | 3960 | macros/latex-dev/base/olddc.ins
-2021/05/04 | 8631 | macros/latex-dev/base/oldlfont.dtx
-2021/05/04 | 9373 | macros/latex-dev/base/preload.dtx
-2021/05/04 | 13301 | macros/latex-dev/base/proc.dtx
-2021/05/04 | 3401 | macros/latex-dev/base/proc.ins
-2021/05/04 | 233995 | macros/latex-dev/base/proc.pdf
-2021/05/04 | 3514 | macros/latex-dev/base/README.md
-2021/05/04 | 7200 | macros/latex-dev/base/sample2e.tex
-2021/05/04 | 89718 | macros/latex-dev/base/slides.dtx
-2021/05/04 | 6760 | macros/latex-dev/base/slides.ins
-2021/05/04 | 374051 | macros/latex-dev/base/slides.pdf
-2021/05/04 | 15699 | macros/latex-dev/base/slifonts.fdd
-2021/05/04 | 234008 | macros/latex-dev/base/slifonts.pdf
-2021/05/04 | 1694 | macros/latex-dev/base/small2e.tex
-2021/05/04 | 8531 | macros/latex-dev/base/source2edoc.cls
-2021/05/04 | 4959329 | macros/latex-dev/base/source2e.pdf
-2021/05/04 | 15104 | macros/latex-dev/base/source2e.tex
-2021/05/04 | 9400 | macros/latex-dev/base/syntonly.dtx
-2021/05/04 | 2896 | macros/latex-dev/base/syntonly.ins
-2021/05/04 | 197297 | macros/latex-dev/base/syntonly.pdf
-2021/05/04 | 12520 | macros/latex-dev/base/testpage.tex
-2021/05/04 | 2738 | macros/latex-dev/base/tex2.txt
-2021/05/04 | 8496 | macros/latex-dev/base/texpert.txt
-2021/05/04 | 172278 | macros/latex-dev/base/tlc2.err
-2021/05/04 | 289245 | macros/latex-dev/base/tlc2.pdf
-2021/05/04 | 12119 | macros/latex-dev/base/tulm.fdd
-2021/05/04 | 3781 | macros/latex-dev/base/tulm.ins
-2021/05/04 | 170529 | macros/latex-dev/base/tulm.pdf
-2021/05/04 | 3181 | macros/latex-dev/base/unpack.ins
-2021/05/04 | 325299 | macros/latex-dev/base/usrguide3.pdf
-2021/05/04 | 29923 | macros/latex-dev/base/usrguide3.tex
-2021/05/04 | 430996 | macros/latex-dev/base/usrguide.pdf
-2021/05/04 | 68435 | macros/latex-dev/base/usrguide.tex
-2021/05/04 | 89927 | macros/latex-dev/base/utf8ienc.dtx
-2021/05/04 | 361356 | macros/latex-dev/base/utf8ienc.pdf
-2021/05/04 | 10105 | macros/latex-dev/base/webcomp.err
-2021/05/04 | 146200 | macros/latex-dev/base/webcomp.pdf
-2021/05/04 | 33572905 | macros/latex-dev/base.zip
-2020/10/28 | 8654 | macros/latex-dev/required/amsmath/amsbsy.dtx
-2020/10/28 | 1466 | macros/latex-dev/required/amsmath/amsbsy.ins
-2020/10/28 | 161324 | macros/latex-dev/required/amsmath/amsbsy.pdf
-2020/10/28 | 11291 | macros/latex-dev/required/amsmath/amscd.dtx
-2020/10/28 | 1464 | macros/latex-dev/required/amsmath/amscd.ins
-2020/10/28 | 165745 | macros/latex-dev/required/amsmath/amscd.pdf
-2020/10/28 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
-2020/10/28 | 13449 | macros/latex-dev/required/amsmath/amsgen.dtx
-2020/10/28 | 1466 | macros/latex-dev/required/amsmath/amsgen.ins
-2020/10/28 | 164345 | macros/latex-dev/required/amsmath/amsgen.pdf
-2020/10/28 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
-2020/10/28 | 476032 | macros/latex-dev/required/amsmath/amsldoc.pdf
-2020/10/28 | 104677 | macros/latex-dev/required/amsmath/amsldoc.tex
-2020/10/28 | 85087 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
-2020/10/28 | 225887 | macros/latex-dev/required/amsmath/amsmath.dtx
-2020/10/28 | 1480 | macros/latex-dev/required/amsmath/amsmath.ins
-2020/10/28 | 384171 | macros/latex-dev/required/amsmath/amsmath.pdf
-2020/10/28 | 9202 | macros/latex-dev/required/amsmath/amsopn.dtx
-2020/10/28 | 1466 | macros/latex-dev/required/amsmath/amsopn.ins
-2020/10/28 | 129155 | macros/latex-dev/required/amsmath/amsopn.pdf
-2020/10/28 | 69720 | macros/latex-dev/required/amsmath/amstex.sty
-2020/10/28 | 11405 | macros/latex-dev/required/amsmath/amstext.dtx
-2020/10/28 | 1468 | macros/latex-dev/required/amsmath/amstext.ins
-2020/10/28 | 194257 | macros/latex-dev/required/amsmath/amstext.pdf
-2020/10/28 | 4343 | macros/latex-dev/required/amsmath/amsxtra.dtx
-2020/10/28 | 1468 | macros/latex-dev/required/amsmath/amsxtra.ins
-2020/10/28 | 104545 | macros/latex-dev/required/amsmath/amsxtra.pdf
-2020/10/28 | 6515 | macros/latex-dev/required/amsmath/changes.txt
-2020/10/28 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
-2020/10/28 | 369 | macros/latex-dev/required/amsmath/manifest.txt
-2020/10/28 | 2726 | macros/latex-dev/required/amsmath/README.md
-2020/10/28 | 101293 | macros/latex-dev/required/amsmath/subeqn.pdf
-2020/10/28 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
-2020/10/28 | 130600 | macros/latex-dev/required/amsmath/technote.pdf
-2020/10/28 | 12005 | macros/latex-dev/required/amsmath/technote.tex
-2020/10/28 | 429026 | macros/latex-dev/required/amsmath/testmath.pdf
-2020/10/28 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
-2020/10/28 | 2613351 | macros/latex-dev/required/amsmath.zip
-2021/02/26 | 1743 | macros/latex-dev/required/firstaid/changes.txt
-2021/02/26 | 2740 | macros/latex-dev/required/firstaid/firstaid.ins
-2021/02/26 | 16530 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
-2021/02/26 | 224897 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
-2021/02/26 | 474 | macros/latex-dev/required/firstaid/README.md
-2021/02/27 | 224730 | macros/latex-dev/required/firstaid.zip
-2021/05/04 | 15737 | macros/latex-dev/required/graphics/cat.eps
-2021/05/04 | 33842 | macros/latex-dev/required/graphics/changes.txt
-2021/05/04 | 31659 | macros/latex-dev/required/graphics/color.dtx
-2021/05/04 | 215002 | macros/latex-dev/required/graphics/color.pdf
-2021/05/04 | 50810 | macros/latex-dev/required/graphics/drivers.dtx
-2021/05/04 | 286309 | macros/latex-dev/required/graphics/drivers.pdf
-2021/05/04 | 4113 | macros/latex-dev/required/graphics/epsfig.dtx
-2021/05/04 | 167686 | macros/latex-dev/required/graphics/epsfig.pdf
-2021/05/04 | 15429 | macros/latex-dev/required/graphics/graphics-2017-06-25.sty
-2021/05/04 | 2994 | macros/latex-dev/required/graphics/graphics-drivers.ins
-2021/05/04 | 70176 | macros/latex-dev/required/graphics/graphics.dtx
-2021/05/04 | 1128 | macros/latex-dev/required/graphics/graphics.ins
-2021/05/04 | 310676 | macros/latex-dev/required/graphics/graphics.pdf
-2021/05/04 | 30185 | macros/latex-dev/required/graphics/graphicx.dtx
-2021/05/04 | 247910 | macros/latex-dev/required/graphics/graphicx.pdf
-2021/05/04 | 330071 | macros/latex-dev/required/graphics/grfguide.pdf
-2021/05/04 | 37089 | macros/latex-dev/required/graphics/grfguide.tex
-2021/05/04 | 13880 | macros/latex-dev/required/graphics/keyval.dtx
-2021/05/04 | 239654 | macros/latex-dev/required/graphics/keyval.pdf
-2021/05/04 | 3937 | macros/latex-dev/required/graphics/lscape.dtx
-2021/05/04 | 163584 | macros/latex-dev/required/graphics/lscape.pdf
-2021/05/04 | 2092 | macros/latex-dev/required/graphics/README.md
-2021/05/04 | 21072 | macros/latex-dev/required/graphics/rotating.dtx
-2021/05/04 | 269434 | macros/latex-dev/required/graphics/rotating.pdf
-2021/05/04 | 172231 | macros/latex-dev/required/graphics/rotex.pdf
-2021/05/04 | 14575 | macros/latex-dev/required/graphics/rotex.tex
-2021/05/04 | 10682 | macros/latex-dev/required/graphics/trig.dtx
-2021/05/04 | 207299 | macros/latex-dev/required/graphics/trig.pdf
-2021/05/04 | 2632527 | macros/latex-dev/required/graphics.zip
-2021/05/04 | 14077 | macros/latex-dev/required/tools/afterpage.dtx
-2021/05/04 | 2538 | macros/latex-dev/required/tools/afterpage.ins
-2021/05/04 | 205344 | macros/latex-dev/required/tools/afterpage.pdf
-2021/05/04 | 11749 | macros/latex-dev/required/tools/array-2016-10-06.sty
-2021/05/04 | 12559 | macros/latex-dev/required/tools/array-2020-02-10.sty
-2021/05/04 | 127986 | macros/latex-dev/required/tools/array.dtx
-2021/05/04 | 516484 | macros/latex-dev/required/tools/array.pdf
-2021/05/04 | 61460 | macros/latex-dev/required/tools/bm.dtx
-2021/05/04 | 2524 | macros/latex-dev/required/tools/bm.ins
-2021/05/04 | 331424 | macros/latex-dev/required/tools/bm.pdf
-2021/05/04 | 53172 | macros/latex-dev/required/tools/calc.dtx
-2021/05/04 | 370414 | macros/latex-dev/required/tools/calc.pdf
-2021/05/04 | 59683 | macros/latex-dev/required/tools/changes.txt
-2021/05/04 | 12714 | macros/latex-dev/required/tools/dcolumn.dtx
-2021/05/04 | 220689 | macros/latex-dev/required/tools/dcolumn.pdf
-2021/05/04 | 6794 | macros/latex-dev/required/tools/delarray.dtx
-2021/05/04 | 198647 | macros/latex-dev/required/tools/delarray.pdf
-2021/05/04 | 10649 | macros/latex-dev/required/tools/enumerate.dtx
-2021/05/04 | 215355 | macros/latex-dev/required/tools/enumerate.pdf
-2021/05/04 | 4964 | macros/latex-dev/required/tools/fileerr.dtx
-2021/05/04 | 195098 | macros/latex-dev/required/tools/fileerr.pdf
-2021/05/04 | 10776 | macros/latex-dev/required/tools/fontsmpl.dtx
-2021/05/04 | 154034 | macros/latex-dev/required/tools/fontsmpl.pdf
-2021/05/04 | 39701 | macros/latex-dev/required/tools/ftnright.dtx
-2021/05/04 | 369809 | macros/latex-dev/required/tools/ftnright.pdf
-2021/05/04 | 11153 | macros/latex-dev/required/tools/hhline.dtx
-2021/05/04 | 189538 | macros/latex-dev/required/tools/hhline.pdf
-2021/05/04 | 2225 | macros/latex-dev/required/tools/indentfirst.dtx
-2021/05/04 | 157803 | macros/latex-dev/required/tools/indentfirst.pdf
-2021/05/04 | 32034 | macros/latex-dev/required/tools/layout.dtx
-2021/05/04 | 267761 | macros/latex-dev/required/tools/layout.pdf
-2021/05/04 | 12133 | macros/latex-dev/required/tools/longtable-2020-01-07.sty
-2021/05/04 | 76003 | macros/latex-dev/required/tools/longtable.dtx
-2021/05/04 | 2538 | macros/latex-dev/required/tools/longtable.ins
-2021/05/04 | 382012 | macros/latex-dev/required/tools/longtable.pdf
-2021/05/04 | 3284 | macros/latex-dev/required/tools/manifest.txt
-2021/05/04 | 29712 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
-2021/05/04 | 182354 | macros/latex-dev/required/tools/multicol.dtx
-2021/05/04 | 2576 | macros/latex-dev/required/tools/multicol.ins
-2021/05/04 | 516282 | macros/latex-dev/required/tools/multicol.pdf
-2021/05/04 | 8981 | macros/latex-dev/required/tools/rawfonts.dtx
-2021/05/04 | 146534 | macros/latex-dev/required/tools/rawfonts.pdf
-2021/05/04 | 1666 | macros/latex-dev/required/tools/README.md
-2021/05/04 | 9493 | macros/latex-dev/required/tools/shellesc.dtx
-2021/05/04 | 183532 | macros/latex-dev/required/tools/shellesc.pdf
-2021/05/04 | 29569 | macros/latex-dev/required/tools/showkeys.dtx
-2021/05/04 | 260624 | macros/latex-dev/required/tools/showkeys.pdf
-2021/05/04 | 5796 | macros/latex-dev/required/tools/somedefs.dtx
-2021/05/04 | 175169 | macros/latex-dev/required/tools/somedefs.pdf
-2021/05/04 | 35880 | macros/latex-dev/required/tools/tabularx.dtx
-2021/05/04 | 2535 | macros/latex-dev/required/tools/tabularx.ins
-2021/05/04 | 278041 | macros/latex-dev/required/tools/tabularx.pdf
-2021/05/04 | 43453 | macros/latex-dev/required/tools/theorem.dtx
-2021/05/04 | 351310 | macros/latex-dev/required/tools/theorem.pdf
-2021/05/04 | 5680 | macros/latex-dev/required/tools/tools.ins
-2021/05/04 | 73674 | macros/latex-dev/required/tools/tools-overview.pdf
-2021/05/04 | 5211 | macros/latex-dev/required/tools/tools-overview.tex
-2021/05/04 | 25151 | macros/latex-dev/required/tools/trace.dtx
-2021/05/04 | 229713 | macros/latex-dev/required/tools/trace.pdf
-2021/05/04 | 33863 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
-2021/05/04 | 114211 | macros/latex-dev/required/tools/varioref.dtx
-2021/05/04 | 2531 | macros/latex-dev/required/tools/varioref.ins
-2021/05/04 | 383483 | macros/latex-dev/required/tools/varioref.pdf
-2021/05/04 | 72141 | macros/latex-dev/required/tools/verbatim.dtx
-2021/05/04 | 330815 | macros/latex-dev/required/tools/verbatim.pdf
-2021/05/04 | 6223 | macros/latex-dev/required/tools/xr.dtx
-2021/05/04 | 177595 | macros/latex-dev/required/tools/xr.pdf
-2021/05/04 | 17861 | macros/latex-dev/required/tools/xspace.dtx
-2021/05/04 | 256897 | macros/latex-dev/required/tools/xspace.pdf
-2021/05/04 | 7265798 | macros/latex-dev/required/tools.zip
+2021/06/05 | 7109 | macros/latex-dev/base/alltt.dtx
+2021/06/05 | 2890 | macros/latex-dev/base/alltt.ins
+2021/06/05 | 214710 | macros/latex-dev/base/alltt.pdf
+2021/06/05 | 3282 | macros/latex-dev/base/bugs.txt
+2021/06/05 | 242886 | macros/latex-dev/base/cfgguide.pdf
+2021/06/05 | 22456 | macros/latex-dev/base/cfgguide.tex
+2021/06/05 | 42708 | macros/latex-dev/base/changes.old.txt
+2021/06/05 | 376392 | macros/latex-dev/base/changes.txt
+2021/06/05 | 156210 | macros/latex-dev/base/classes.dtx
+2021/06/05 | 4087 | macros/latex-dev/base/classes.ins
+2021/06/05 | 550002 | macros/latex-dev/base/classes.pdf
+2021/06/05 | 402779 | macros/latex-dev/base/clsguide.pdf
+2021/06/05 | 69050 | macros/latex-dev/base/clsguide.tex
+2021/06/05 | 5273 | macros/latex-dev/base/cmextra.ins
+2021/06/05 | 43636 | macros/latex-dev/base/cmfonts.fdd
+2021/06/05 | 4324 | macros/latex-dev/base/cmfonts.ins
+2021/06/05 | 292317 | macros/latex-dev/base/cmfonts.pdf
+2021/06/05 | 239681 | macros/latex-dev/base/cyrguide.pdf
+2021/06/05 | 17495 | macros/latex-dev/base/cyrguide.tex
+2021/06/05 | 204063 | macros/latex-dev/base/doc.dtx
+2021/06/05 | 676731 | macros/latex-dev/base/doc.pdf
+2021/06/05 | 170214 | macros/latex-dev/base/docstrip.dtx
+2021/06/05 | 4221 | macros/latex-dev/base/docstrip.ins
+2021/06/05 | 503401 | macros/latex-dev/base/docstrip.pdf
+2021/06/05 | 41831 | macros/latex-dev/base/doc-v3beta.sty
+2021/06/05 | 4390 | macros/latex-dev/base/ec.ins
+2021/06/05 | 1316472 | macros/latex-dev/base/encguide.pdf
+2021/06/05 | 52813 | macros/latex-dev/base/encguide.tex
+2021/06/05 | 7221 | macros/latex-dev/base/exscale.dtx
+2021/06/05 | 3338 | macros/latex-dev/base/exscale.ins
+2021/06/05 | 212307 | macros/latex-dev/base/exscale.pdf
+2021/06/05 | 23521 | macros/latex-dev/base/fix-cm.dtx
+2021/06/05 | 2892 | macros/latex-dev/base/fix-cm.ins
+2021/06/05 | 287672 | macros/latex-dev/base/fix-cm.pdf
+2021/06/05 | 493957 | macros/latex-dev/base/fntguide.pdf
+2021/06/05 | 90917 | macros/latex-dev/base/fntguide.tex
+2021/06/05 | 60326 | macros/latex-dev/base/fontdef.dtx
+2021/06/05 | 9583 | macros/latex-dev/base/format.ins
+2021/06/05 | 5514 | macros/latex-dev/base/graphpap.dtx
+2021/06/05 | 2892 | macros/latex-dev/base/graphpap.ins
+2021/06/05 | 169323 | macros/latex-dev/base/graphpap.pdf
+2021/06/05 | 2705 | macros/latex-dev/base/idx.tex
+2021/06/05 | 18303 | macros/latex-dev/base/ifthen.dtx
+2021/06/05 | 2888 | macros/latex-dev/base/ifthen.ins
+2021/06/05 | 220417 | macros/latex-dev/base/ifthen.pdf
+2021/06/05 | 106908 | macros/latex-dev/base/inputenc.dtx
+2021/06/05 | 5714 | macros/latex-dev/base/inputenc.ins
+2021/06/05 | 318168 | macros/latex-dev/base/inputenc.pdf
+2021/06/05 | 4079 | macros/latex-dev/base/lablst.tex
+2021/06/05 | 38735 | macros/latex-dev/base/latex209.dtx
+2021/06/05 | 4219 | macros/latex-dev/base/latex209.ins
+2021/06/05 | 468043 | macros/latex-dev/base/latexchanges.pdf
+2021/06/05 | 40795 | macros/latex-dev/base/latexchanges.tex
+2021/06/05 | 44409 | macros/latex-dev/base/latexrelease.dtx
+2021/06/05 | 5917 | macros/latex-dev/base/latexrelease.ins
+2021/06/05 | 290495 | macros/latex-dev/base/latexrelease.pdf
+2021/06/05 | 6714 | macros/latex-dev/base/latexsym.dtx
+2021/06/05 | 5041 | macros/latex-dev/base/latexsym.ins
+2021/06/05 | 208359 | macros/latex-dev/base/latexsym.pdf
+2021/06/05 | 52578 | macros/latex-dev/base/lb2.err
+2021/06/05 | 252154 | macros/latex-dev/base/lb2.pdf
+2021/06/05 | 1279 | macros/latex-dev/base/legal.txt
+2021/06/05 | 63283 | macros/latex-dev/base/letter.dtx
+2021/06/05 | 3372 | macros/latex-dev/base/letter.ins
+2021/06/05 | 328949 | macros/latex-dev/base/letter.pdf
+2021/06/05 | 20486 | macros/latex-dev/base/lgc2.err
+2021/06/05 | 215091 | macros/latex-dev/base/lgc2.pdf
+2021/06/05 | 9068 | macros/latex-dev/base/lppl-1-0.txt
+2021/06/05 | 14341 | macros/latex-dev/base/lppl-1-1.txt
+2021/06/05 | 14421 | macros/latex-dev/base/lppl-1-2.txt
+2021/06/05 | 132373 | macros/latex-dev/base/lppl.pdf
+2021/06/05 | 23386 | macros/latex-dev/base/lppl.tex
+2021/06/05 | 19040 | macros/latex-dev/base/lppl.txt
+2021/06/05 | 4303 | macros/latex-dev/base/ltalloc.dtx
+2021/06/05 | 16105 | macros/latex-dev/base/ltbibl.dtx
+2021/06/05 | 43867 | macros/latex-dev/base/ltboxes.dtx
+2021/06/05 | 136576 | macros/latex-dev/base/ltclass.dtx
+2021/06/05 | 142843 | macros/latex-dev/base/ltcmd.dtx
+2021/06/05 | 693284 | macros/latex-dev/base/ltcmdhooks-code.pdf
+2021/06/05 | 103 | macros/latex-dev/base/ltcmdhooks-code.tex
+2021/06/05 | 479593 | macros/latex-dev/base/ltcmdhooks-doc.pdf
+2021/06/05 | 177 | macros/latex-dev/base/ltcmdhooks-doc.tex
+2021/06/05 | 40970 | macros/latex-dev/base/ltcmdhooks.dtx
+2021/06/05 | 9562 | macros/latex-dev/base/ltcntrl.dtx
+2021/06/05 | 22676 | macros/latex-dev/base/ltcounts.dtx
+2021/06/05 | 85865 | macros/latex-dev/base/ltdefns.dtx
+2021/06/05 | 35302 | macros/latex-dev/base/ltdirchk.dtx
+2021/06/05 | 24015 | macros/latex-dev/base/lterror.dtx
+2021/06/05 | 13920 | macros/latex-dev/base/ltexpl.dtx
+2021/06/05 | 795607 | macros/latex-dev/base/ltfilehook-code.pdf
+2021/06/05 | 105 | macros/latex-dev/base/ltfilehook-code.tex
+2021/06/05 | 546176 | macros/latex-dev/base/ltfilehook-doc.pdf
+2021/06/05 | 180 | macros/latex-dev/base/ltfilehook-doc.tex
+2021/06/05 | 63255 | macros/latex-dev/base/ltfilehook.dtx
+2021/06/05 | 55087 | macros/latex-dev/base/ltfiles.dtx
+2021/06/05 | 44724 | macros/latex-dev/base/ltfinal.dtx
+2021/06/05 | 54680 | macros/latex-dev/base/ltfloat.dtx
+2021/06/05 | 29191 | macros/latex-dev/base/ltfntcmd.dtx
+2021/06/05 | 58556 | macros/latex-dev/base/ltfssaxes.dtx
+2021/06/05 | 80670 | macros/latex-dev/base/ltfssbas.dtx
+2021/06/05 | 10375 | macros/latex-dev/base/ltfsscmp.dtx
+2021/06/05 | 61425 | macros/latex-dev/base/ltfssdcl.dtx
+2021/06/05 | 76725 | macros/latex-dev/base/ltfssini.dtx
+2021/06/05 | 72479 | macros/latex-dev/base/ltfsstrc.dtx
+2021/06/05 | 1029365 | macros/latex-dev/base/lthooks-code.pdf
+2021/06/05 | 102 | macros/latex-dev/base/lthooks-code.tex
+2021/06/05 | 684097 | macros/latex-dev/base/lthooks-doc.pdf
+2021/06/05 | 177 | macros/latex-dev/base/lthooks-doc.tex
+2021/06/05 | 187818 | macros/latex-dev/base/lthooks.dtx
+2021/06/05 | 4950 | macros/latex-dev/base/lthyphen.dtx
+2021/06/05 | 5864 | macros/latex-dev/base/ltidxglo.dtx
+2021/06/05 | 4762 | macros/latex-dev/base/ltlength.dtx
+2021/06/05 | 36157 | macros/latex-dev/base/ltlists.dtx
+2021/06/05 | 3730 | macros/latex-dev/base/ltlogos.dtx
+2021/06/05 | 64748 | macros/latex-dev/base/ltluatex.dtx
+2021/06/05 | 325289 | macros/latex-dev/base/ltluatex.pdf
+2021/06/05 | 39431 | macros/latex-dev/base/ltmath.dtx
+2021/06/05 | 58703 | macros/latex-dev/base/ltmiscen.dtx
+2021/06/05 | 161518 | macros/latex-dev/base/ltnews01.pdf
+2021/06/05 | 5246 | macros/latex-dev/base/ltnews01.tex
+2021/06/05 | 150466 | macros/latex-dev/base/ltnews02.pdf
+2021/06/05 | 5283 | macros/latex-dev/base/ltnews02.tex
+2021/06/05 | 150493 | macros/latex-dev/base/ltnews03.pdf
+2021/06/05 | 5200 | macros/latex-dev/base/ltnews03.tex
+2021/06/05 | 143686 | macros/latex-dev/base/ltnews04.pdf
+2021/06/05 | 5506 | macros/latex-dev/base/ltnews04.tex
+2021/06/05 | 174488 | macros/latex-dev/base/ltnews05.pdf
+2021/06/05 | 5608 | macros/latex-dev/base/ltnews05.tex
+2021/06/05 | 142909 | macros/latex-dev/base/ltnews06.pdf
+2021/06/05 | 5390 | macros/latex-dev/base/ltnews06.tex
+2021/06/05 | 138044 | macros/latex-dev/base/ltnews07.pdf
+2021/06/05 | 5425 | macros/latex-dev/base/ltnews07.tex
+2021/06/05 | 155055 | macros/latex-dev/base/ltnews08.pdf
+2021/06/05 | 5695 | macros/latex-dev/base/ltnews08.tex
+2021/06/05 | 129032 | macros/latex-dev/base/ltnews09.pdf
+2021/06/05 | 5293 | macros/latex-dev/base/ltnews09.tex
+2021/06/05 | 159313 | macros/latex-dev/base/ltnews10.pdf
+2021/06/05 | 5659 | macros/latex-dev/base/ltnews10.tex
+2021/06/05 | 111955 | macros/latex-dev/base/ltnews11.pdf
+2021/06/05 | 5529 | macros/latex-dev/base/ltnews11.tex
+2021/06/05 | 147587 | macros/latex-dev/base/ltnews12.pdf
+2021/06/05 | 5400 | macros/latex-dev/base/ltnews12.tex
+2021/06/05 | 173323 | macros/latex-dev/base/ltnews13.pdf
+2021/06/05 | 6871 | macros/latex-dev/base/ltnews13.tex
+2021/06/05 | 161405 | macros/latex-dev/base/ltnews14.pdf
+2021/06/05 | 6273 | macros/latex-dev/base/ltnews14.tex
+2021/06/05 | 130447 | macros/latex-dev/base/ltnews15.pdf
+2021/06/05 | 5839 | macros/latex-dev/base/ltnews15.tex
+2021/06/05 | 146533 | macros/latex-dev/base/ltnews16.pdf
+2021/06/05 | 5776 | macros/latex-dev/base/ltnews16.tex
+2021/06/05 | 166368 | macros/latex-dev/base/ltnews17.pdf
+2021/06/05 | 8863 | macros/latex-dev/base/ltnews17.tex
+2021/06/05 | 38031 | macros/latex-dev/base/ltnews18.pdf
+2021/06/05 | 1341 | macros/latex-dev/base/ltnews18.tex
+2021/06/05 | 245818 | macros/latex-dev/base/ltnews19.pdf
+2021/06/05 | 4170 | macros/latex-dev/base/ltnews19.tex
+2021/06/05 | 297070 | macros/latex-dev/base/ltnews20.pdf
+2021/06/05 | 7325 | macros/latex-dev/base/ltnews20.tex
+2021/06/05 | 244869 | macros/latex-dev/base/ltnews21.pdf
+2021/06/05 | 9809 | macros/latex-dev/base/ltnews21.tex
+2021/06/05 | 318399 | macros/latex-dev/base/ltnews22.pdf
+2021/06/05 | 10668 | macros/latex-dev/base/ltnews22.tex
+2021/06/05 | 287125 | macros/latex-dev/base/ltnews23.pdf
+2021/06/05 | 10687 | macros/latex-dev/base/ltnews23.tex
+2021/06/05 | 265211 | macros/latex-dev/base/ltnews24.pdf
+2021/06/05 | 12224 | macros/latex-dev/base/ltnews24.tex
+2021/06/05 | 205162 | macros/latex-dev/base/ltnews25.pdf
+2021/06/05 | 5473 | macros/latex-dev/base/ltnews25.tex
+2021/06/05 | 379735 | macros/latex-dev/base/ltnews26.pdf
+2021/06/05 | 10697 | macros/latex-dev/base/ltnews26.tex
+2021/06/05 | 252432 | macros/latex-dev/base/ltnews27.pdf
+2021/06/05 | 5506 | macros/latex-dev/base/ltnews27.tex
+2021/06/05 | 387987 | macros/latex-dev/base/ltnews28.pdf
+2021/06/05 | 14891 | macros/latex-dev/base/ltnews28.tex
+2021/06/05 | 454808 | macros/latex-dev/base/ltnews29.pdf
+2021/06/05 | 18940 | macros/latex-dev/base/ltnews29.tex
+2021/06/05 | 511855 | macros/latex-dev/base/ltnews30.pdf
+2021/06/05 | 23651 | macros/latex-dev/base/ltnews30.tex
+2021/06/05 | 526312 | macros/latex-dev/base/ltnews31.pdf
+2021/06/05 | 30456 | macros/latex-dev/base/ltnews31.tex
+2021/06/05 | 546162 | macros/latex-dev/base/ltnews32.pdf
+2021/06/05 | 33256 | macros/latex-dev/base/ltnews32.tex
+2021/06/05 | 522413 | macros/latex-dev/base/ltnews33.pdf
+2021/06/05 | 33912 | macros/latex-dev/base/ltnews33.tex
+2021/06/05 | 20469 | macros/latex-dev/base/ltnews.cls
+2021/06/05 | 1074372 | macros/latex-dev/base/ltnews.pdf
+2021/06/05 | 8259 | macros/latex-dev/base/ltnews.tex
+2021/06/05 | 149221 | macros/latex-dev/base/ltoutenc.dtx
+2021/06/05 | 3367 | macros/latex-dev/base/ltoutenc.ins
+2021/06/05 | 175645 | macros/latex-dev/base/ltoutput.dtx
+2021/06/05 | 11590 | macros/latex-dev/base/ltpage.dtx
+2021/06/05 | 2733 | macros/latex-dev/base/ltpageno.dtx
+2021/06/05 | 664749 | macros/latex-dev/base/ltpara-code.pdf
+2021/06/05 | 99 | macros/latex-dev/base/ltpara-code.tex
+2021/06/05 | 560474 | macros/latex-dev/base/ltpara-doc.pdf
+2021/06/05 | 173 | macros/latex-dev/base/ltpara-doc.tex
+2021/06/05 | 48746 | macros/latex-dev/base/ltpara.dtx
+2021/06/05 | 6160 | macros/latex-dev/base/ltpar.dtx
+2021/06/05 | 69007 | macros/latex-dev/base/ltpictur.dtx
+2021/06/05 | 53199 | macros/latex-dev/base/ltplain.dtx
+2021/06/05 | 32648 | macros/latex-dev/base/ltsect.dtx
+2021/06/05 | 818898 | macros/latex-dev/base/ltshipout-code.pdf
+2021/06/05 | 104 | macros/latex-dev/base/ltshipout-code.tex
+2021/06/05 | 564834 | macros/latex-dev/base/ltshipout-doc.pdf
+2021/06/05 | 179 | macros/latex-dev/base/ltshipout-doc.tex
+2021/06/05 | 78305 | macros/latex-dev/base/ltshipout.dtx
+2021/06/05 | 45245 | macros/latex-dev/base/ltspace.dtx
+2021/06/05 | 47901 | macros/latex-dev/base/lttab.dtx
+2021/06/05 | 90126 | macros/latex-dev/base/lttextcomp.dtx
+2021/06/05 | 8736 | macros/latex-dev/base/ltthm.dtx
+2021/06/05 | 13901 | macros/latex-dev/base/ltvers.dtx
+2021/06/05 | 219354 | macros/latex-dev/base/ltx3info.pdf
+2021/06/05 | 18299 | macros/latex-dev/base/ltx3info.tex
+2021/06/05 | 27122 | macros/latex-dev/base/ltxcheck.tex
+2021/06/05 | 19064 | macros/latex-dev/base/ltxdoc.dtx
+2021/06/05 | 238577 | macros/latex-dev/base/ltxdoc.pdf
+2021/06/05 | 7524 | macros/latex-dev/base/ltxguide.cls
+2021/06/05 | 15625 | macros/latex-dev/base/ltxref.dtx
+2021/06/05 | 10603 | macros/latex-dev/base/makeindx.dtx
+2021/06/05 | 3434 | macros/latex-dev/base/makeindx.ins
+2021/06/05 | 173682 | macros/latex-dev/base/makeindx.pdf
+2021/06/05 | 10871 | macros/latex-dev/base/manifest.txt
+2021/06/05 | 12946 | macros/latex-dev/base/manual.err
+2021/06/05 | 160521 | macros/latex-dev/base/manual.pdf
+2021/06/05 | 1937 | macros/latex-dev/base/minimal.cls
+2021/06/05 | 243601 | macros/latex-dev/base/modguide.pdf
+2021/06/05 | 16233 | macros/latex-dev/base/modguide.tex
+2021/06/05 | 4254 | macros/latex-dev/base/newdc.ins
+2021/06/05 | 6362 | macros/latex-dev/base/newlfont.dtx
+2021/06/05 | 18404 | macros/latex-dev/base/nfssfont.dtx
+2021/06/05 | 2893 | macros/latex-dev/base/nfssfont.ins
+2021/06/05 | 218782 | macros/latex-dev/base/nfssfont.pdf
+2021/06/05 | 3960 | macros/latex-dev/base/olddc.ins
+2021/06/05 | 8631 | macros/latex-dev/base/oldlfont.dtx
+2021/06/05 | 9373 | macros/latex-dev/base/preload.dtx
+2021/06/05 | 13301 | macros/latex-dev/base/proc.dtx
+2021/06/05 | 3401 | macros/latex-dev/base/proc.ins
+2021/06/05 | 233995 | macros/latex-dev/base/proc.pdf
+2021/06/05 | 3514 | macros/latex-dev/base/README.md
+2021/06/05 | 7200 | macros/latex-dev/base/sample2e.tex
+2021/06/05 | 89718 | macros/latex-dev/base/slides.dtx
+2021/06/05 | 6760 | macros/latex-dev/base/slides.ins
+2021/06/05 | 374051 | macros/latex-dev/base/slides.pdf
+2021/06/05 | 15699 | macros/latex-dev/base/slifonts.fdd
+2021/06/05 | 234008 | macros/latex-dev/base/slifonts.pdf
+2021/06/05 | 1694 | macros/latex-dev/base/small2e.tex
+2021/06/05 | 8531 | macros/latex-dev/base/source2edoc.cls
+2021/06/05 | 5275548 | macros/latex-dev/base/source2e.pdf
+2021/06/05 | 15104 | macros/latex-dev/base/source2e.tex
+2021/06/05 | 9400 | macros/latex-dev/base/syntonly.dtx
+2021/06/05 | 2896 | macros/latex-dev/base/syntonly.ins
+2021/06/05 | 197409 | macros/latex-dev/base/syntonly.pdf
+2021/06/05 | 12520 | macros/latex-dev/base/testpage.tex
+2021/06/05 | 2738 | macros/latex-dev/base/tex2.txt
+2021/06/05 | 8496 | macros/latex-dev/base/texpert.txt
+2021/06/05 | 172278 | macros/latex-dev/base/tlc2.err
+2021/06/05 | 289245 | macros/latex-dev/base/tlc2.pdf
+2021/06/05 | 12119 | macros/latex-dev/base/tulm.fdd
+2021/06/05 | 3781 | macros/latex-dev/base/tulm.ins
+2021/06/05 | 170529 | macros/latex-dev/base/tulm.pdf
+2021/06/05 | 3181 | macros/latex-dev/base/unpack.ins
+2021/06/05 | 325299 | macros/latex-dev/base/usrguide3.pdf
+2021/06/05 | 29923 | macros/latex-dev/base/usrguide3.tex
+2021/06/05 | 430996 | macros/latex-dev/base/usrguide.pdf
+2021/06/05 | 68435 | macros/latex-dev/base/usrguide.tex
+2021/06/05 | 89927 | macros/latex-dev/base/utf8ienc.dtx
+2021/06/05 | 361715 | macros/latex-dev/base/utf8ienc.pdf
+2021/06/05 | 10105 | macros/latex-dev/base/webcomp.err
+2021/06/05 | 146200 | macros/latex-dev/base/webcomp.pdf
+2021/06/05 | 33900390 | macros/latex-dev/base.zip
+2021/06/05 | 8668 | macros/latex-dev/required/amsmath/amsbsy.dtx
+2021/06/05 | 1505 | macros/latex-dev/required/amsmath/amsbsy.ins
+2021/06/05 | 173746 | macros/latex-dev/required/amsmath/amsbsy.pdf
+2021/06/05 | 11289 | macros/latex-dev/required/amsmath/amscd.dtx
+2021/06/05 | 1487 | macros/latex-dev/required/amsmath/amscd.ins
+2021/06/05 | 178672 | macros/latex-dev/required/amsmath/amscd.pdf
+2021/06/05 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
+2021/06/05 | 13447 | macros/latex-dev/required/amsmath/amsgen.dtx
+2021/06/05 | 1484 | macros/latex-dev/required/amsmath/amsgen.ins
+2021/06/05 | 176740 | macros/latex-dev/required/amsmath/amsgen.pdf
+2021/06/05 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
+2021/06/05 | 508231 | macros/latex-dev/required/amsmath/amsldoc.pdf
+2021/06/05 | 104675 | macros/latex-dev/required/amsmath/amsldoc.tex
+2021/06/05 | 85099 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+2021/06/05 | 225983 | macros/latex-dev/required/amsmath/amsmath.dtx
+2021/06/05 | 1504 | macros/latex-dev/required/amsmath/amsmath.ins
+2021/06/05 | 398817 | macros/latex-dev/required/amsmath/amsmath.pdf
+2021/06/05 | 9200 | macros/latex-dev/required/amsmath/amsopn.dtx
+2021/06/05 | 1490 | macros/latex-dev/required/amsmath/amsopn.ins
+2021/06/05 | 138991 | macros/latex-dev/required/amsmath/amsopn.pdf
+2021/06/05 | 69732 | macros/latex-dev/required/amsmath/amstex.sty
+2021/06/05 | 11403 | macros/latex-dev/required/amsmath/amstext.dtx
+2021/06/05 | 1492 | macros/latex-dev/required/amsmath/amstext.ins
+2021/06/05 | 215693 | macros/latex-dev/required/amsmath/amstext.pdf
+2021/06/05 | 4341 | macros/latex-dev/required/amsmath/amsxtra.dtx
+2021/06/05 | 1492 | macros/latex-dev/required/amsmath/amsxtra.ins
+2021/06/05 | 112556 | macros/latex-dev/required/amsmath/amsxtra.pdf
+2021/06/05 | 6735 | macros/latex-dev/required/amsmath/changes.txt
+2021/06/05 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
+2021/06/05 | 369 | macros/latex-dev/required/amsmath/manifest.txt
+2021/06/05 | 2726 | macros/latex-dev/required/amsmath/README.md
+2021/06/05 | 109737 | macros/latex-dev/required/amsmath/subeqn.pdf
+2021/06/05 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
+2021/06/05 | 145610 | macros/latex-dev/required/amsmath/technote.pdf
+2021/06/05 | 12005 | macros/latex-dev/required/amsmath/technote.tex
+2021/06/05 | 454662 | macros/latex-dev/required/amsmath/testmath.pdf
+2021/06/05 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
+2021/06/05 | 2733515 | macros/latex-dev/required/amsmath.zip
+2021/06/05 | 2065 | macros/latex-dev/required/firstaid/changes.txt
+2021/06/05 | 2740 | macros/latex-dev/required/firstaid/firstaid.ins
+2021/06/05 | 17959 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+2021/06/05 | 228673 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
+2021/06/05 | 474 | macros/latex-dev/required/firstaid/README.md
+2021/06/05 | 228890 | macros/latex-dev/required/firstaid.zip
+2021/06/05 | 15737 | macros/latex-dev/required/graphics/cat.eps
+2021/06/05 | 33916 | macros/latex-dev/required/graphics/changes.txt
+2021/06/05 | 31659 | macros/latex-dev/required/graphics/color.dtx
+2021/06/05 | 215002 | macros/latex-dev/required/graphics/color.pdf
+2021/06/05 | 50810 | macros/latex-dev/required/graphics/drivers.dtx
+2021/06/05 | 286309 | macros/latex-dev/required/graphics/drivers.pdf
+2021/06/05 | 4113 | macros/latex-dev/required/graphics/epsfig.dtx
+2021/06/05 | 167686 | macros/latex-dev/required/graphics/epsfig.pdf
+2021/06/05 | 15429 | macros/latex-dev/required/graphics/graphics-2017-06-25.sty
+2021/06/05 | 2994 | macros/latex-dev/required/graphics/graphics-drivers.ins
+2021/06/05 | 70176 | macros/latex-dev/required/graphics/graphics.dtx
+2021/06/05 | 1128 | macros/latex-dev/required/graphics/graphics.ins
+2021/06/05 | 310676 | macros/latex-dev/required/graphics/graphics.pdf
+2021/06/05 | 30185 | macros/latex-dev/required/graphics/graphicx.dtx
+2021/06/05 | 247910 | macros/latex-dev/required/graphics/graphicx.pdf
+2021/06/05 | 330071 | macros/latex-dev/required/graphics/grfguide.pdf
+2021/06/05 | 37089 | macros/latex-dev/required/graphics/grfguide.tex
+2021/06/05 | 13880 | macros/latex-dev/required/graphics/keyval.dtx
+2021/06/05 | 239654 | macros/latex-dev/required/graphics/keyval.pdf
+2021/06/05 | 3937 | macros/latex-dev/required/graphics/lscape.dtx
+2021/06/05 | 163584 | macros/latex-dev/required/graphics/lscape.pdf
+2021/06/05 | 2092 | macros/latex-dev/required/graphics/README.md
+2021/06/05 | 21072 | macros/latex-dev/required/graphics/rotating.dtx
+2021/06/05 | 269292 | macros/latex-dev/required/graphics/rotating.pdf
+2021/06/05 | 172230 | macros/latex-dev/required/graphics/rotex.pdf
+2021/06/05 | 14575 | macros/latex-dev/required/graphics/rotex.tex
+2021/06/05 | 10682 | macros/latex-dev/required/graphics/trig.dtx
+2021/06/05 | 207299 | macros/latex-dev/required/graphics/trig.pdf
+2021/06/05 | 2632400 | macros/latex-dev/required/graphics.zip
+2021/06/05 | 14077 | macros/latex-dev/required/tools/afterpage.dtx
+2021/06/05 | 2538 | macros/latex-dev/required/tools/afterpage.ins
+2021/06/05 | 205344 | macros/latex-dev/required/tools/afterpage.pdf
+2021/06/05 | 11749 | macros/latex-dev/required/tools/array-2016-10-06.sty
+2021/06/05 | 12559 | macros/latex-dev/required/tools/array-2020-02-10.sty
+2021/06/05 | 127986 | macros/latex-dev/required/tools/array.dtx
+2021/06/05 | 516568 | macros/latex-dev/required/tools/array.pdf
+2021/06/05 | 61460 | macros/latex-dev/required/tools/bm.dtx
+2021/06/05 | 2524 | macros/latex-dev/required/tools/bm.ins
+2021/06/05 | 331424 | macros/latex-dev/required/tools/bm.pdf
+2021/06/05 | 53172 | macros/latex-dev/required/tools/calc.dtx
+2021/06/05 | 370414 | macros/latex-dev/required/tools/calc.pdf
+2021/06/05 | 59933 | macros/latex-dev/required/tools/changes.txt
+2021/06/05 | 12714 | macros/latex-dev/required/tools/dcolumn.dtx
+2021/06/05 | 220689 | macros/latex-dev/required/tools/dcolumn.pdf
+2021/06/05 | 6794 | macros/latex-dev/required/tools/delarray.dtx
+2021/06/05 | 198647 | macros/latex-dev/required/tools/delarray.pdf
+2021/06/05 | 10649 | macros/latex-dev/required/tools/enumerate.dtx
+2021/06/05 | 215355 | macros/latex-dev/required/tools/enumerate.pdf
+2021/06/05 | 4964 | macros/latex-dev/required/tools/fileerr.dtx
+2021/06/05 | 195211 | macros/latex-dev/required/tools/fileerr.pdf
+2021/06/05 | 10776 | macros/latex-dev/required/tools/fontsmpl.dtx
+2021/06/05 | 154034 | macros/latex-dev/required/tools/fontsmpl.pdf
+2021/06/05 | 39701 | macros/latex-dev/required/tools/ftnright.dtx
+2021/06/05 | 369903 | macros/latex-dev/required/tools/ftnright.pdf
+2021/06/05 | 11153 | macros/latex-dev/required/tools/hhline.dtx
+2021/06/05 | 189538 | macros/latex-dev/required/tools/hhline.pdf
+2021/06/05 | 2225 | macros/latex-dev/required/tools/indentfirst.dtx
+2021/06/05 | 157803 | macros/latex-dev/required/tools/indentfirst.pdf
+2021/06/05 | 32034 | macros/latex-dev/required/tools/layout.dtx
+2021/06/05 | 267761 | macros/latex-dev/required/tools/layout.pdf
+2021/06/05 | 12133 | macros/latex-dev/required/tools/longtable-2020-01-07.sty
+2021/06/05 | 76075 | macros/latex-dev/required/tools/longtable.dtx
+2021/06/05 | 2538 | macros/latex-dev/required/tools/longtable.ins
+2021/06/05 | 382541 | macros/latex-dev/required/tools/longtable.pdf
+2021/06/05 | 3284 | macros/latex-dev/required/tools/manifest.txt
+2021/06/05 | 29712 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
+2021/06/05 | 182354 | macros/latex-dev/required/tools/multicol.dtx
+2021/06/05 | 2576 | macros/latex-dev/required/tools/multicol.ins
+2021/06/05 | 516238 | macros/latex-dev/required/tools/multicol.pdf
+2021/06/05 | 8981 | macros/latex-dev/required/tools/rawfonts.dtx
+2021/06/05 | 146534 | macros/latex-dev/required/tools/rawfonts.pdf
+2021/06/05 | 1666 | macros/latex-dev/required/tools/README.md
+2021/06/05 | 9493 | macros/latex-dev/required/tools/shellesc.dtx
+2021/06/05 | 183532 | macros/latex-dev/required/tools/shellesc.pdf
+2021/06/05 | 29569 | macros/latex-dev/required/tools/showkeys.dtx
+2021/06/05 | 260624 | macros/latex-dev/required/tools/showkeys.pdf
+2021/06/05 | 5796 | macros/latex-dev/required/tools/somedefs.dtx
+2021/06/05 | 175169 | macros/latex-dev/required/tools/somedefs.pdf
+2021/06/05 | 35880 | macros/latex-dev/required/tools/tabularx.dtx
+2021/06/05 | 2535 | macros/latex-dev/required/tools/tabularx.ins
+2021/06/05 | 278041 | macros/latex-dev/required/tools/tabularx.pdf
+2021/06/05 | 43453 | macros/latex-dev/required/tools/theorem.dtx
+2021/06/05 | 351417 | macros/latex-dev/required/tools/theorem.pdf
+2021/06/05 | 5680 | macros/latex-dev/required/tools/tools.ins
+2021/06/05 | 73674 | macros/latex-dev/required/tools/tools-overview.pdf
+2021/06/05 | 5211 | macros/latex-dev/required/tools/tools-overview.tex
+2021/06/05 | 25151 | macros/latex-dev/required/tools/trace.dtx
+2021/06/05 | 229713 | macros/latex-dev/required/tools/trace.pdf
+2021/06/05 | 33863 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
+2021/06/05 | 114211 | macros/latex-dev/required/tools/varioref.dtx
+2021/06/05 | 2531 | macros/latex-dev/required/tools/varioref.ins
+2021/06/05 | 383483 | macros/latex-dev/required/tools/varioref.pdf
+2021/06/05 | 72141 | macros/latex-dev/required/tools/verbatim.dtx
+2021/06/05 | 330815 | macros/latex-dev/required/tools/verbatim.pdf
+2021/06/05 | 6223 | macros/latex-dev/required/tools/xr.dtx
+2021/06/05 | 177595 | macros/latex-dev/required/tools/xr.pdf
+2021/06/05 | 17861 | macros/latex-dev/required/tools/xspace.dtx
+2021/06/05 | 256897 | macros/latex-dev/required/tools/xspace.pdf
+2021/06/05 | 7266745 | macros/latex-dev/required/tools.zip
1999/05/03 | 8998 | macros/latex/exptl/delimtxt/delimtxt.dtx
1999/03/28 | 143 | macros/latex/exptl/delimtxt/delimtxt.ins
2006/03/21 | 55074 | macros/latex/exptl/delimtxt/delimtxt.pdf
@@ -222612,12 +222612,12 @@
2018/04/06 | 27640 | macros/latex/required/cyrillic/t2lhfnt.fdd
2018/04/06 | 135567 | macros/latex/required/cyrillic/t2lhfnt.pdf
2018/04/06 | 1179110 | macros/latex/required/cyrillic.zip
-2021/03/16 | 1829 | macros/latex/required/firstaid/changes.txt
-2021/03/16 | 2613 | macros/latex/required/firstaid/firstaid.ins
-2021/03/16 | 15144 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
-2021/03/16 | 205202 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
-2021/03/16 | 474 | macros/latex/required/firstaid/README.md
-2021/03/16 | 210253 | macros/latex/required/firstaid.zip
+2021/06/02 | 2065 | macros/latex/required/firstaid/changes.txt
+2021/06/02 | 2740 | macros/latex/required/firstaid/firstaid.ins
+2021/06/02 | 17959 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
+2021/06/02 | 228448 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
+2021/06/02 | 474 | macros/latex/required/firstaid/README.md
+2021/06/05 | 228654 | macros/latex/required/firstaid.zip
2021/06/01 | 15737 | macros/latex/required/graphics/cat.eps
2021/06/01 | 33916 | macros/latex/required/graphics/changes.txt
2021/06/01 | 31659 | macros/latex/required/graphics/color.dtx
@@ -281590,7 +281590,7 @@
2001/02/25 | 458318 | systems/win32/micropress/eqmlite/ppsample.zip
2001/02/25 | 2566 | systems/win32/micropress/eqmlite/whatsnew.231
2005/01/06 | 587 | systems/win32/micropress/eqmlite/whats-really-new
-2021/03/18 | 509859 | systems/win32/miktex/doc/miktex.pdf
+2021/06/05 | 509727 | systems/win32/miktex/doc/miktex.pdf
2019/05/28 | 101 | systems/win32/miktex/README.md
2021/02/22 | 58721055 | systems/win32/miktex/setup/darwin-x86_64/miktex-21.2-darwin-x86_64.dmg
2021/03/25 | 61132306 | systems/win32/miktex/setup/darwin-x86_64/miktex-21.3-darwin-x86_64.dmg
@@ -281736,6 +281736,7 @@
2021/03/25 | 8383 | systems/win32/miktex/setup/rpm/fedora/33/repodata/ebacaa90c760f06fa677e9d295c608824ce97a9fe89f962076ad1c2cd72a0c1d-filelists.sqlite.bz2
2021/03/25 | 2972 | systems/win32/miktex/setup/rpm/fedora/33/repodata/repomd.xml
2021/03/25 | 488 | systems/win32/miktex/setup/rpm/fedora/33/repodata/repomd.xml.asc
+2021/06/05 | 109 | systems/win32/miktex/setup/rpm/fedora-34.repo
2020/10/11 | 21095168 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-20.10-1.x86_64.rpm
2020/11/01 | 22029188 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-20.11-1.x86_64.rpm
2020/12/14 | 22033020 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-20.12-1.x86_64.rpm
@@ -281833,7 +281834,7 @@
2020/06/22 | 2271156 | systems/win32/miktex/tm/packages/acrosort.tar.lzma
2021/01/17 | 1273069 | systems/win32/miktex/tm/packages/acro.tar.lzma
2010/11/24 | 163309 | systems/win32/miktex/tm/packages/acroterm.tar.lzma
-2021/05/29 | 3327259 | systems/win32/miktex/tm/packages/acrotex.tar.lzma
+2021/06/05 | 3445146 | systems/win32/miktex/tm/packages/acrotex.tar.lzma
2008/05/23 | 333795 | systems/win32/miktex/tm/packages/active-conf.tar.lzma
2019/06/19 | 130643 | systems/win32/miktex/tm/packages/actuarialangle.tar.lzma
2019/06/14 | 301579 | systems/win32/miktex/tm/packages/actuarialsymbol.tar.lzma
@@ -281868,7 +281869,9 @@
2015/01/13 | 563751 | systems/win32/miktex/tm/packages/afparticle.tar.lzma
2008/07/30 | 46319 | systems/win32/miktex/tm/packages/afthesis.tar.lzma
2010/02/22 | 360345 | systems/win32/miktex/tm/packages/aguplus.tar.lzma
-2004/05/30 | 461251 | systems/win32/miktex/tm/packages/aiaa.cab
+2021/06/05 | 567651 | systems/win32/miktex/tm/packages/aiaa__doc.tar.lzma
+2021/06/05 | 373376 | systems/win32/miktex/tm/packages/aiaa__source.tar.lzma
+2021/06/05 | 9018 | systems/win32/miktex/tm/packages/aiaa.tar.lzma
2006/11/14 | 15916 | systems/win32/miktex/tm/packages/akktex.tar.lzma
2016/07/29 | 212481 | systems/win32/miktex/tm/packages/akletter.tar.lzma
2020/10/03 | 1696125 | systems/win32/miktex/tm/packages/akshar.tar.lzma
@@ -282025,6 +282028,7 @@
2014/09/29 | 121076 | systems/win32/miktex/tm/packages/babel-croatian.tar.lzma
2014/05/21 | 206798 | systems/win32/miktex/tm/packages/babel-czech.tar.lzma
2021/02/10 | 144839 | systems/win32/miktex/tm/packages/babel-danish.tar.lzma
+2021/06/05 | 830650 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma
2020/10/31 | 160797 | systems/win32/miktex/tm/packages/babel-dutch.tar.lzma
2017/06/07 | 140264 | systems/win32/miktex/tm/packages/babel-english.tar.lzma
2014/05/21 | 135549 | systems/win32/miktex/tm/packages/babel-esperanto.tar.lzma
@@ -282063,10 +282067,11 @@
2014/05/21 | 215576 | systems/win32/miktex/tm/packages/babel-slovak.tar.lzma
2021/02/10 | 143940 | systems/win32/miktex/tm/packages/babel-slovenian.tar.lzma
2021/02/10 | 219913 | systems/win32/miktex/tm/packages/babel-sorbian.tar.lzma
+2021/06/05 | 685911 | systems/win32/miktex/tm/packages/babel__source.tar.lzma
2015/05/25 | 5256 | systems/win32/miktex/tm/packages/babel-spanglish.tar.lzma
2021/05/29 | 222183 | systems/win32/miktex/tm/packages/babel-spanish.tar.lzma
2021/02/10 | 148420 | systems/win32/miktex/tm/packages/babel-swedish.tar.lzma
-2021/06/03 | 1705213 | systems/win32/miktex/tm/packages/babel.tar.lzma
+2021/06/05 | 180175 | systems/win32/miktex/tm/packages/babel.tar.lzma
2014/05/21 | 234101 | systems/win32/miktex/tm/packages/babel-thai.tar.lzma
2019/07/06 | 309208 | systems/win32/miktex/tm/packages/babel-turkish.tar.lzma
2021/01/17 | 159246 | systems/win32/miktex/tm/packages/babel-ukrainian.tar.lzma
@@ -282838,7 +282843,7 @@
2006/08/26 | 141965 | systems/win32/miktex/tm/packages/dyntree.tar.bz2
2021/01/28 | 325253 | systems/win32/miktex/tm/packages/ean13isbn.tar.lzma
2016/07/15 | 3965 | systems/win32/miktex/tm/packages/ean.tar.lzma
-2021/06/04 | 360702 | systems/win32/miktex/tm/packages/easybook.tar.lzma
+2021/06/05 | 360596 | systems/win32/miktex/tm/packages/easybook.tar.lzma
2018/03/31 | 183421 | systems/win32/miktex/tm/packages/easyfig.tar.lzma
2020/12/21 | 609763 | systems/win32/miktex/tm/packages/easyfloats.tar.lzma
2017/06/12 | 52618 | systems/win32/miktex/tm/packages/easyformat.tar.lzma
@@ -283108,7 +283113,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2021/06/04 | 576828 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/06/05 | 580325 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -283163,7 +283168,7 @@
2021/04/07 | 236420 | systems/win32/miktex/tm/packages/foliono.tar.lzma
2006/10/07 | 200314 | systems/win32/miktex/tm/packages/fonetika.tar.bz2
2020/03/25 | 1579462 | systems/win32/miktex/tm/packages/fontawesome5.tar.lzma
-2019/06/08 | 511915 | systems/win32/miktex/tm/packages/fontawesome.tar.lzma
+2021/06/05 | 511967 | systems/win32/miktex/tm/packages/fontawesome.tar.lzma
2020/07/27 | 140362 | systems/win32/miktex/tm/packages/fontaxes.tar.lzma
2011/08/19 | 1249794 | systems/win32/miktex/tm/packages/fontbook.tar.lzma
2015/09/08 | 1783887 | systems/win32/miktex/tm/packages/font-change.tar.lzma
@@ -283683,7 +283688,9 @@
2021/05/08 | 779245 | systems/win32/miktex/tm/packages/l3build.tar.lzma
2013/05/29 | 156214 | systems/win32/miktex/tm/packages/l3ctr2e.tar.lzma
2021/05/29 | 3368466 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma
-2021/06/03 | 11573094 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
+2021/06/05 | 10817711 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma
+2021/06/05 | 578291 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma
+2021/06/05 | 167628 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
2021/06/03 | 1875280 | systems/win32/miktex/tm/packages/l3packages.tar.lzma
2008/04/02 | 115132 | systems/win32/miktex/tm/packages/labbook.tar.lzma
2006/11/14 | 45130 | systems/win32/miktex/tm/packages/labelcas.cab
@@ -283880,7 +283887,9 @@
2010/03/30 | 272798 | systems/win32/miktex/tm/packages/ltabptch.tar.lzma
2017/04/13 | 49206 | systems/win32/miktex/tm/packages/ltb2bib.tar.lzma
2020/08/09 | 765022 | systems/win32/miktex/tm/packages/ltx4yt.tar.lzma
-2021/06/03 | 27928662 | systems/win32/miktex/tm/packages/ltxbase.tar.lzma
+2021/06/05 | 27046882 | systems/win32/miktex/tm/packages/ltxbase__doc.tar.lzma
+2021/06/05 | 663128 | systems/win32/miktex/tm/packages/ltxbase__source.tar.lzma
+2021/06/05 | 214921 | systems/win32/miktex/tm/packages/ltxbase.tar.lzma
2020/10/03 | 409074 | systems/win32/miktex/tm/packages/ltxcmds.tar.lzma
2011/03/30 | 6745 | systems/win32/miktex/tm/packages/ltxdockit.tar.lzma
2019/04/16 | 78752 | systems/win32/miktex/tm/packages/ltxguidex.tar.lzma
@@ -284082,238 +284091,238 @@
2021/03/17 | 1951618 | systems/win32/miktex/tm/packages/microtype.tar.lzma
2016/07/16 | 344819 | systems/win32/miktex/tm/packages/midnight.tar.lzma
2010/03/16 | 190135 | systems/win32/miktex/tm/packages/midpage.tar.lzma
-2021/03/15 | 50580 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-2.9.tar.lzma
-2021/03/15 | 56602 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/03/15 | 968327 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-2.9.tar.lzma
-2021/03/15 | 1074702 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/03/15 | 29072 | systems/win32/miktex/tm/packages/miktex-autosp-bin-2.9.tar.lzma
-2021/03/15 | 31325 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/03/15 | 29776 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-2.9.tar.lzma
-2021/03/15 | 34547 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/03/15 | 50119 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-2.9.tar.lzma
-2021/03/15 | 57521 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/03/15 | 82998 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/03/15 | 95066 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/03/15 | 67442 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-2.9.tar.lzma
-2021/03/15 | 75408 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/03/15 | 27177 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-2.9.tar.lzma
-2021/03/15 | 30804 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/03/15 | 330679 | systems/win32/miktex/tm/packages/miktex-cairo-bin-2.9.tar.lzma
-2021/03/15 | 392663 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/06/05 | 51072 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-2.9.tar.lzma
+2021/06/05 | 56440 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/06/05 | 972615 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-2.9.tar.lzma
+2021/06/05 | 1076850 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/06/05 | 29067 | systems/win32/miktex/tm/packages/miktex-autosp-bin-2.9.tar.lzma
+2021/06/05 | 31326 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/06/05 | 29819 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-2.9.tar.lzma
+2021/06/05 | 34658 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/06/05 | 50024 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-2.9.tar.lzma
+2021/06/05 | 57614 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/06/05 | 83804 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/06/05 | 95340 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/06/05 | 67739 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-2.9.tar.lzma
+2021/06/05 | 75685 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/06/05 | 27165 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-2.9.tar.lzma
+2021/06/05 | 30782 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/06/05 | 330373 | systems/win32/miktex/tm/packages/miktex-cairo-bin-2.9.tar.lzma
+2021/06/05 | 392536 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
2013/06/24 | 447360 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x86-2.9.tar.lzma
-2021/03/15 | 32672 | systems/win32/miktex/tm/packages/miktex-chktex-bin-2.9.tar.lzma
-2021/03/15 | 36557 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/03/15 | 51152 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-2.9.tar.lzma
-2021/03/15 | 56842 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/03/18 | 4815 | systems/win32/miktex/tm/packages/miktex-config-2.9.tar.lzma
-2021/03/15 | 236959 | systems/win32/miktex/tm/packages/miktex-console-bin-2.9.tar.lzma
-2021/03/15 | 262230 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
-2021/03/15 | 179773 | systems/win32/miktex/tm/packages/miktex-curl-bin-2.9.tar.lzma
-2021/03/15 | 195681 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
-2021/03/15 | 52631 | systems/win32/miktex/tm/packages/miktex-cweb-bin-2.9.tar.lzma
-2021/03/15 | 58995 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/03/15 | 21113 | systems/win32/miktex/tm/packages/miktex-devnag-bin-2.9.tar.lzma
-2021/03/15 | 23294 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/06/05 | 32627 | systems/win32/miktex/tm/packages/miktex-chktex-bin-2.9.tar.lzma
+2021/06/05 | 36580 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/06/05 | 51302 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-2.9.tar.lzma
+2021/06/05 | 56784 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/06/05 | 4882 | systems/win32/miktex/tm/packages/miktex-config-2.9.tar.lzma
+2021/06/05 | 239626 | systems/win32/miktex/tm/packages/miktex-console-bin-2.9.tar.lzma
+2021/06/05 | 262049 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
+2021/06/05 | 179827 | systems/win32/miktex/tm/packages/miktex-curl-bin-2.9.tar.lzma
+2021/06/05 | 195600 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
+2021/06/05 | 52595 | systems/win32/miktex/tm/packages/miktex-cweb-bin-2.9.tar.lzma
+2021/06/05 | 59104 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/06/05 | 21139 | systems/win32/miktex/tm/packages/miktex-devnag-bin-2.9.tar.lzma
+2021/06/05 | 23339 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
2020/02/07 | 785398 | systems/win32/miktex/tm/packages/miktex-dict-british.tar.lzma
2016/11/02 | 171725 | systems/win32/miktex/tm/packages/miktex-dict-english.tar.lzma
2016/11/02 | 292320 | systems/win32/miktex/tm/packages/miktex-dict-french.tar.lzma
2016/11/02 | 967418 | systems/win32/miktex/tm/packages/miktex-dict-german.tar.lzma
2020/05/17 | 460366 | systems/win32/miktex/tm/packages/miktex-doc-2.9.tar.lzma
-2021/03/18 | 461970 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
-2021/03/15 | 45826 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-2.9.tar.lzma
-2021/03/15 | 51147 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/03/19 | 282090 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/03/19 | 321575 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/06/05 | 461709 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
+2021/06/05 | 45838 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-2.9.tar.lzma
+2021/06/05 | 51085 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/06/05 | 281897 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/06/05 | 321706 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2021/03/16 | 5048 | systems/win32/miktex/tm/packages/miktex-dvipdfmx.tar.lzma
-2021/03/15 | 41176 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-2.9.tar.lzma
-2021/03/15 | 45250 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/03/15 | 117155 | systems/win32/miktex/tm/packages/miktex-dvips-bin-2.9.tar.lzma
-2021/03/15 | 131335 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/06/05 | 41157 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-2.9.tar.lzma
+2021/06/05 | 45374 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/06/05 | 117382 | systems/win32/miktex/tm/packages/miktex-dvips-bin-2.9.tar.lzma
+2021/06/05 | 131650 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
2017/04/09 | 4195 | systems/win32/miktex/tm/packages/miktex-dvips.tar.lzma
-2021/03/15 | 1288084 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/03/15 | 1423187 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/03/18 | 99815 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-2.9.tar.lzma
-2021/03/18 | 112830 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/06/05 | 1285949 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/06/05 | 1422445 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/06/05 | 100336 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-2.9.tar.lzma
+2021/06/05 | 112809 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
2016/11/03 | 672 | systems/win32/miktex/tm/packages/miktex-etex.tar.lzma
-2021/03/15 | 43017 | systems/win32/miktex/tm/packages/miktex-expat-bin-2.9.tar.lzma
-2021/03/15 | 48217 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
-2021/03/15 | 24979 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-2.9.tar.lzma
-2021/03/15 | 28108 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/03/15 | 55882 | systems/win32/miktex/tm/packages/miktex-fmt-bin-2.9.tar.lzma
-2021/03/15 | 62802 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/06/05 | 43008 | systems/win32/miktex/tm/packages/miktex-expat-bin-2.9.tar.lzma
+2021/06/05 | 48226 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
+2021/06/05 | 24988 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-2.9.tar.lzma
+2021/06/05 | 28128 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/06/05 | 56322 | systems/win32/miktex/tm/packages/miktex-fmt-bin-2.9.tar.lzma
+2021/06/05 | 62748 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
2015/09/08 | 11241 | systems/win32/miktex/tm/packages/miktex-fontconfig-base.tar.lzma
-2021/03/15 | 134550 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-2.9.tar.lzma
-2021/03/15 | 152599 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/06/05 | 134544 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-2.9.tar.lzma
+2021/06/05 | 152526 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
2016/11/04 | 3555 | systems/win32/miktex/tm/packages/miktex-fontconfig.tar.lzma
-2021/03/15 | 72985 | systems/win32/miktex/tm/packages/miktex-fonts-bin-2.9.tar.lzma
-2021/03/15 | 77672 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/03/15 | 71742 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-2.9.tar.lzma
-2021/03/15 | 80758 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/03/15 | 258854 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-2.9.tar.lzma
-2021/03/15 | 295345 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/03/15 | 22021 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/03/15 | 24969 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/03/15 | 97187 | systems/win32/miktex/tm/packages/miktex-gd-bin-2.9.tar.lzma
-2021/03/15 | 112360 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
+2021/06/05 | 72990 | systems/win32/miktex/tm/packages/miktex-fonts-bin-2.9.tar.lzma
+2021/06/05 | 77907 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/06/05 | 71873 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-2.9.tar.lzma
+2021/06/05 | 80762 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/06/05 | 258870 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-2.9.tar.lzma
+2021/06/05 | 295391 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/06/05 | 22013 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/06/05 | 24964 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/06/05 | 97169 | systems/win32/miktex/tm/packages/miktex-gd-bin-2.9.tar.lzma
+2021/06/05 | 112233 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
2018/09/25 | 10777812 | systems/win32/miktex/tm/packages/miktex-ghostscript-bin.tar.lzma
2018/09/25 | 11056498 | systems/win32/miktex/tm/packages/miktex-ghostscript-bin-x64.tar.lzma
-2021/03/15 | 63817 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-2.9.tar.lzma
-2021/03/15 | 72844 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/03/15 | 96249 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-2.9.tar.lzma
-2021/03/15 | 115446 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/03/15 | 38034 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/03/15 | 42936 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/03/15 | 481898 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/03/15 | 567144 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/06/05 | 64369 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-2.9.tar.lzma
+2021/06/05 | 73179 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/06/05 | 96428 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-2.9.tar.lzma
+2021/06/05 | 115598 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/06/05 | 38153 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/06/05 | 42990 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/06/05 | 483594 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/06/05 | 566460 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2019/09/28 | 1103778 | systems/win32/miktex/tm/packages/miktex-harftex-bin-2.9.tar.lzma
2019/09/28 | 1272652 | systems/win32/miktex/tm/packages/miktex-harftex-bin-x64-2.9.tar.lzma
-2021/03/15 | 147095 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-2.9.tar.lzma
-2021/03/15 | 159855 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/06/05 | 147334 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-2.9.tar.lzma
+2021/06/05 | 159565 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
2017/11/02 | 7484214 | systems/win32/miktex/tm/packages/miktex-icu-bin.tar.lzma
2017/11/02 | 7651539 | systems/win32/miktex/tm/packages/miktex-icu-bin-x64.tar.lzma
-2021/03/15 | 94744 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-2.9.tar.lzma
-2021/03/15 | 109065 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/03/15 | 16261 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-2.9.tar.lzma
-2021/03/15 | 17928 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/03/15 | 28262 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-2.9.tar.lzma
-2021/03/15 | 30030 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/06/05 | 94753 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-2.9.tar.lzma
+2021/06/05 | 108988 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/06/05 | 16326 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-2.9.tar.lzma
+2021/06/05 | 17963 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/06/05 | 28108 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-2.9.tar.lzma
+2021/06/05 | 30023 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
2021/03/18 | 1262 | systems/win32/miktex/tm/packages/miktex-latex.tar.lzma
-2021/03/15 | 625061 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/03/15 | 679999 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/03/15 | 532297 | systems/win32/miktex/tm/packages/miktex-libressl-bin-2.9.tar.lzma
-2021/03/15 | 596689 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/03/15 | 476063 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-2.9.tar.lzma
-2021/03/15 | 510906 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/06/05 | 629495 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/06/05 | 680993 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/06/05 | 532127 | systems/win32/miktex/tm/packages/miktex-libressl-bin-2.9.tar.lzma
+2021/06/05 | 597491 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/06/05 | 476942 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-2.9.tar.lzma
+2021/06/05 | 510964 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
2019/01/02 | 71265 | systems/win32/miktex/tm/packages/miktex-lua52-bin-2.9.tar.lzma
2019/01/02 | 80005 | systems/win32/miktex/tm/packages/miktex-lua52-bin-x64-2.9.tar.lzma
-2021/03/15 | 94272 | systems/win32/miktex/tm/packages/miktex-lua53-bin-2.9.tar.lzma
-2021/03/15 | 103386 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/03/19 | 1727088 | systems/win32/miktex/tm/packages/miktex-luatex-bin-2.9.tar.lzma
-2021/03/19 | 1974109 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/06/05 | 94319 | systems/win32/miktex/tm/packages/miktex-lua53-bin-2.9.tar.lzma
+2021/06/05 | 103395 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/06/05 | 1687549 | systems/win32/miktex/tm/packages/miktex-luatex-bin-2.9.tar.lzma
+2021/06/05 | 1997952 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
2016/11/06 | 11511 | systems/win32/miktex/tm/packages/miktex-luatex.tar.lzma
-2021/03/15 | 67598 | systems/win32/miktex/tm/packages/miktex-lzma-bin-2.9.tar.lzma
-2021/03/15 | 74139 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/03/15 | 26980 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-2.9.tar.lzma
-2021/03/15 | 31402 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/03/15 | 7690 | systems/win32/miktex/tm/packages/miktex-md5-bin-2.9.tar.lzma
-2021/03/15 | 8749 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
-2021/03/15 | 195533 | systems/win32/miktex/tm/packages/miktex-metafont-bin-2.9.tar.lzma
-2021/03/15 | 214526 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/06/05 | 67588 | systems/win32/miktex/tm/packages/miktex-lzma-bin-2.9.tar.lzma
+2021/06/05 | 74183 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/06/05 | 27344 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-2.9.tar.lzma
+2021/06/05 | 31586 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/06/05 | 7687 | systems/win32/miktex/tm/packages/miktex-md5-bin-2.9.tar.lzma
+2021/06/05 | 8755 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
+2021/06/05 | 196788 | systems/win32/miktex/tm/packages/miktex-metafont-bin-2.9.tar.lzma
+2021/06/05 | 215174 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
2016/11/04 | 675 | systems/win32/miktex/tm/packages/miktex-metafont.tar.lzma
-2021/03/15 | 250291 | systems/win32/miktex/tm/packages/miktex-metapost-bin-2.9.tar.lzma
-2021/03/15 | 283849 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/06/05 | 250208 | systems/win32/miktex/tm/packages/miktex-metapost-bin-2.9.tar.lzma
+2021/06/05 | 283930 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
2016/11/04 | 687 | systems/win32/miktex/tm/packages/miktex-metapost.tar.lzma
-2021/03/15 | 97835 | systems/win32/miktex/tm/packages/miktex-mfware-bin-2.9.tar.lzma
-2021/03/15 | 103266 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/06/05 | 98233 | systems/win32/miktex/tm/packages/miktex-mfware-bin-2.9.tar.lzma
+2021/06/05 | 103340 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
2021/03/17 | 22903 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
-2021/03/15 | 60432 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/03/15 | 67917 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/03/15 | 124031 | systems/win32/miktex/tm/packages/miktex-mktex-bin-2.9.tar.lzma
-2021/03/15 | 136345 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/03/18 | 147373 | systems/win32/miktex/tm/packages/miktex-mo-bin-2.9.tar.lzma
-2021/03/18 | 164397 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
-2021/03/15 | 199512 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-2.9.tar.lzma
-2021/03/15 | 180043 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/03/15 | 67424 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-2.9.tar.lzma
-2021/03/15 | 77489 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/03/15 | 31204 | systems/win32/miktex/tm/packages/miktex-mspack-bin-2.9.tar.lzma
-2021/03/15 | 35059 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/03/15 | 37840 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-2.9.tar.lzma
-2021/03/15 | 42722 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/03/15 | 42795 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-2.9.tar.lzma
-2021/03/15 | 46852 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/03/15 | 45935 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-2.9.tar.lzma
-2021/03/15 | 52426 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/06/05 | 60547 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/06/05 | 68041 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/06/05 | 124440 | systems/win32/miktex/tm/packages/miktex-mktex-bin-2.9.tar.lzma
+2021/06/05 | 136254 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/06/05 | 147719 | systems/win32/miktex/tm/packages/miktex-mo-bin-2.9.tar.lzma
+2021/06/05 | 163799 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
+2021/06/05 | 199664 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-2.9.tar.lzma
+2021/06/05 | 179989 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/06/05 | 67357 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-2.9.tar.lzma
+2021/06/05 | 76849 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/06/05 | 31181 | systems/win32/miktex/tm/packages/miktex-mspack-bin-2.9.tar.lzma
+2021/06/05 | 35053 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/06/05 | 37843 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-2.9.tar.lzma
+2021/06/05 | 42694 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/06/05 | 42840 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-2.9.tar.lzma
+2021/06/05 | 46878 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/06/05 | 45952 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-2.9.tar.lzma
+2021/06/05 | 52399 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
2006/05/19 | 1267123 | systems/win32/miktex/tm/packages/miktex-omega-base.cab
2020/05/12 | 354540 | systems/win32/miktex/tm/packages/miktex-omega-bin-2.9.tar.lzma
2020/05/12 | 387734 | systems/win32/miktex/tm/packages/miktex-omega-bin-x64-2.9.tar.lzma
2016/11/04 | 746 | systems/win32/miktex/tm/packages/miktex-omega.tar.lzma
-2021/03/15 | 193514 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-2.9.tar.lzma
-2021/03/15 | 206239 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/03/15 | 35595 | systems/win32/miktex/tm/packages/miktex-patgen-bin.tar.lzma
-2021/03/15 | 39780 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
-2021/03/19 | 743687 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-2.9.tar.lzma
-2021/03/19 | 813316 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/06/05 | 193960 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-2.9.tar.lzma
+2021/06/05 | 206392 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/06/05 | 35332 | systems/win32/miktex/tm/packages/miktex-patgen-bin.tar.lzma
+2021/06/05 | 39781 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
+2021/06/05 | 748542 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-2.9.tar.lzma
+2021/06/05 | 815295 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
2016/11/10 | 1683 | systems/win32/miktex/tm/packages/miktex-pdftex.tar.lzma
-2021/03/15 | 198207 | systems/win32/miktex/tm/packages/miktex-pixman-bin-2.9.tar.lzma
-2021/03/15 | 202801 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/03/15 | 207861 | systems/win32/miktex/tm/packages/miktex-pmx-bin-2.9.tar.lzma
-2021/03/15 | 243335 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/03/15 | 78728 | systems/win32/miktex/tm/packages/miktex-png-bin-2.9.tar.lzma
-2021/03/15 | 87636 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
-2021/03/15 | 1171723 | systems/win32/miktex/tm/packages/miktex-poppler-bin-2.9.tar.lzma
-2021/03/15 | 1304382 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/03/15 | 20112 | systems/win32/miktex/tm/packages/miktex-popt-bin-2.9.tar.lzma
-2021/03/15 | 23910 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
-2021/03/15 | 31490 | systems/win32/miktex/tm/packages/miktex-posix-bin-2.9.tar.lzma
-2021/03/15 | 37239 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
-2021/03/15 | 63861 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-2.9.tar.lzma
-2021/03/15 | 72143 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/06/05 | 198303 | systems/win32/miktex/tm/packages/miktex-pixman-bin-2.9.tar.lzma
+2021/06/05 | 202834 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/06/05 | 208114 | systems/win32/miktex/tm/packages/miktex-pmx-bin-2.9.tar.lzma
+2021/06/05 | 243452 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/06/05 | 78723 | systems/win32/miktex/tm/packages/miktex-png-bin-2.9.tar.lzma
+2021/06/05 | 87791 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
+2021/06/05 | 1170060 | systems/win32/miktex/tm/packages/miktex-poppler-bin-2.9.tar.lzma
+2021/06/05 | 1301832 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/06/05 | 20105 | systems/win32/miktex/tm/packages/miktex-popt-bin-2.9.tar.lzma
+2021/06/05 | 23870 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
+2021/06/05 | 31496 | systems/win32/miktex/tm/packages/miktex-posix-bin-2.9.tar.lzma
+2021/06/05 | 37231 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
+2021/06/05 | 63977 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-2.9.tar.lzma
+2021/06/05 | 72190 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
2016/07/29 | 121451 | systems/win32/miktex/tm/packages/miktex-psutils-base.tar.lzma
-2021/03/15 | 44495 | systems/win32/miktex/tm/packages/miktex-psutils-bin-2.9.tar.lzma
-2021/03/15 | 51175 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/06/05 | 44603 | systems/win32/miktex/tm/packages/miktex-psutils-bin-2.9.tar.lzma
+2021/06/05 | 51670 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
2021/03/08 | 8242908 | systems/win32/miktex/tm/packages/miktex-qt5-bin.tar.lzma
2021/03/08 | 9576187 | systems/win32/miktex/tm/packages/miktex-qt5-bin-x64.tar.lzma
-2021/03/19 | 1297519 | systems/win32/miktex/tm/packages/miktex-runtime-bin-2.9.tar.lzma
-2021/03/19 | 1428421 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/03/15 | 42328 | systems/win32/miktex/tm/packages/miktex-synctex-bin-2.9.tar.lzma
-2021/03/15 | 51677 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/06/05 | 1307281 | systems/win32/miktex/tm/packages/miktex-runtime-bin-2.9.tar.lzma
+2021/06/05 | 1428172 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/06/05 | 42355 | systems/win32/miktex/tm/packages/miktex-synctex-bin-2.9.tar.lzma
+2021/06/05 | 51737 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
2020/05/17 | 74366 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-2.9.tar.lzma
-2021/03/15 | 56232 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin.tar.lzma
+2021/06/05 | 56272 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin.tar.lzma
2020/05/17 | 82298 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64-2.9.tar.lzma
-2021/03/15 | 59964 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
-2021/03/15 | 25223 | systems/win32/miktex/tm/packages/miktex-teckit-bin-2.9.tar.lzma
-2021/03/15 | 27404 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/03/15 | 16246 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/03/15 | 18052 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/03/15 | 63477 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-2.9.tar.lzma
-2021/03/15 | 69916 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/06/05 | 59627 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
+2021/06/05 | 25297 | systems/win32/miktex/tm/packages/miktex-teckit-bin-2.9.tar.lzma
+2021/06/05 | 27234 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/06/05 | 16419 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/06/05 | 18159 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/06/05 | 63673 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-2.9.tar.lzma
+2021/06/05 | 69959 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
2020/01/26 | 4527 | systems/win32/miktex/tm/packages/miktex-tex4ht.tar.lzma
-2021/03/18 | 155082 | systems/win32/miktex/tm/packages/miktex-tex-bin-2.9.tar.lzma
-2021/03/18 | 168235 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
-2021/03/15 | 56741 | systems/win32/miktex/tm/packages/miktex-texify-bin-2.9.tar.lzma
-2021/03/15 | 65451 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
+2021/06/05 | 154807 | systems/win32/miktex/tm/packages/miktex-tex-bin-2.9.tar.lzma
+2021/06/05 | 169043 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
+2021/06/05 | 56763 | systems/win32/miktex/tm/packages/miktex-texify-bin-2.9.tar.lzma
+2021/06/05 | 65385 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
2016/11/05 | 748 | systems/win32/miktex/tm/packages/miktex-texinfo.tar.lzma
2016/11/05 | 724 | systems/win32/miktex/tm/packages/miktex-tex.tar.lzma
-2021/03/15 | 99177 | systems/win32/miktex/tm/packages/miktex-texware-bin-2.9.tar.lzma
-2021/03/15 | 106581 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
-2021/03/15 | 2667197 | systems/win32/miktex/tm/packages/miktex-texworks-bin-2.9.tar.lzma
-2021/03/15 | 2795270 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/03/15 | 56174 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/03/15 | 62077 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/06/05 | 97964 | systems/win32/miktex/tm/packages/miktex-texware-bin-2.9.tar.lzma
+2021/06/05 | 105114 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
+2021/06/05 | 2670406 | systems/win32/miktex/tm/packages/miktex-texworks-bin-2.9.tar.lzma
+2021/06/05 | 2794574 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/06/05 | 56384 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/06/05 | 62227 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2020/06/25 | 488938 | systems/win32/miktex/tm/packages/miktex-ucrt-bin.tar.lzma
2020/06/25 | 442560 | systems/win32/miktex/tm/packages/miktex-ucrt-bin-x64.tar.lzma
-2021/03/15 | 33372 | systems/win32/miktex/tm/packages/miktex-upmendex-bin.tar.lzma
-2021/03/15 | 37253 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
-2021/03/15 | 27706 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-2.9.tar.lzma
-2021/03/15 | 33607 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/06/05 | 33420 | systems/win32/miktex/tm/packages/miktex-upmendex-bin.tar.lzma
+2021/06/05 | 37294 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
+2021/06/05 | 27700 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-2.9.tar.lzma
+2021/06/05 | 33609 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
2015/10/12 | 2312969 | systems/win32/miktex/tm/packages/miktex-vc120-bin.tar.lzma
2015/10/12 | 2544479 | systems/win32/miktex/tm/packages/miktex-vc120-bin-x64.tar.lzma
2020/06/25 | 3230115 | systems/win32/miktex/tm/packages/miktex-vc140-bin.tar.lzma
2020/06/25 | 3064461 | systems/win32/miktex/tm/packages/miktex-vc140-bin-x64.tar.lzma
-2021/03/15 | 67168 | systems/win32/miktex/tm/packages/miktex-web-bin-2.9.tar.lzma
-2021/03/15 | 70380 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
+2021/06/05 | 65521 | systems/win32/miktex/tm/packages/miktex-web-bin-2.9.tar.lzma
+2021/06/05 | 70434 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
2016/04/19 | 634372 | systems/win32/miktex/tm/packages/miktex-xetex-base.tar.lzma
-2021/03/18 | 311287 | systems/win32/miktex/tm/packages/miktex-xetex-bin-2.9.tar.lzma
-2021/03/18 | 345933 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/06/05 | 311068 | systems/win32/miktex/tm/packages/miktex-xetex-bin-2.9.tar.lzma
+2021/06/05 | 344921 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
2016/11/05 | 2089 | systems/win32/miktex/tm/packages/miktex-xetex.tar.lzma
2015/06/27 | 136065 | systems/win32/miktex/tm/packages/miktex-xindy-base.tar.lzma
2015/06/19 | 1712962 | systems/win32/miktex/tm/packages/miktex-xindy-bin.tar.lzma
2015/06/19 | 1714958 | systems/win32/miktex/tm/packages/miktex-xindy-bin-x64.tar.lzma
2015/06/19 | 369481 | systems/win32/miktex/tm/packages/miktex-xindy-doc.tar.lzma
-2021/03/15 | 55460 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin.tar.lzma
-2021/03/15 | 57031 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
-2021/03/15 | 584376 | systems/win32/miktex/tm/packages/miktex-yap-bin-2.9.tar.lzma
-2021/03/15 | 619994 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
+2021/06/05 | 55491 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin.tar.lzma
+2021/06/05 | 57104 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
+2021/06/05 | 586416 | systems/win32/miktex/tm/packages/miktex-yap-bin-2.9.tar.lzma
+2021/06/05 | 620534 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
2018/01/12 | 138155 | systems/win32/miktex/tm/packages/miktex-zip-bin.tar.lzma
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
-2021/03/15 | 39247 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
-2021/03/15 | 43386 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/06/04 | 209783 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/06/04 | 1274462 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/06/04 | 1190290 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2021/03/15 | 13447 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
-2021/03/15 | 14320 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/06/05 | 39464 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
+2021/06/05 | 43378 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/06/05 | 210239 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/06/05 | 1275463 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/06/05 | 1191650 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/06/05 | 13453 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
+2021/06/05 | 14325 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
2004/11/11 | 10497 | systems/win32/miktex/tm/packages/miller.cab
2016/07/06 | 405919 | systems/win32/miktex/tm/packages/milog.tar.lzma
@@ -284472,190 +284481,189 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2021/06/04 | 577473 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/06/04 | 51089 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/06/04 | 56472 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/06/04 | 971285 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/06/04 | 1076117 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/06/04 | 29044 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/06/04 | 31329 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/06/04 | 29834 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/06/04 | 34650 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/06/04 | 50030 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/06/04 | 57634 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/06/04 | 83760 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/06/04 | 95448 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/06/04 | 67885 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/06/04 | 75962 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/06/04 | 27185 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/06/04 | 30806 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/06/04 | 330436 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/06/04 | 392695 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/06/04 | 32597 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/06/04 | 36605 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/06/04 | 51290 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/06/04 | 56814 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/06/04 | 4903 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
-2021/06/04 | 239580 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/06/04 | 261909 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/06/04 | 180187 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/06/04 | 195752 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/06/04 | 52543 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/06/04 | 59144 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/06/04 | 21177 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/06/04 | 23369 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/06/04 | 461825 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/06/04 | 46493 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/06/04 | 51117 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/06/04 | 281963 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/06/04 | 321644 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/06/04 | 41188 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/06/04 | 45318 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/06/04 | 117480 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/06/04 | 131581 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/06/04 | 1294236 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/06/04 | 1423057 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/06/04 | 100463 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/06/04 | 112815 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/06/04 | 43060 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/06/04 | 48237 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/06/04 | 25006 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/06/04 | 28162 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/06/04 | 56341 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/06/04 | 62715 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/06/04 | 134795 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/06/04 | 152162 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/06/04 | 72923 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/06/04 | 77942 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/06/04 | 71706 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/06/04 | 80965 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/06/04 | 258840 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/06/04 | 295145 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/06/04 | 22022 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/06/04 | 24988 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/06/04 | 97489 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/06/04 | 112165 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/06/04 | 64401 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/06/04 | 73139 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/06/04 | 96475 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/06/04 | 115119 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/06/04 | 38171 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/06/04 | 42982 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/06/04 | 482835 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/06/04 | 565936 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/06/04 | 147409 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/06/04 | 159545 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/06/04 | 94773 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/06/04 | 108934 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/06/04 | 16341 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/06/04 | 17981 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/06/04 | 28285 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/06/04 | 30037 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/06/04 | 629822 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/06/04 | 680953 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/06/04 | 532271 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/06/04 | 596060 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/06/04 | 476899 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/06/04 | 512666 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/06/04 | 94383 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/06/04 | 103436 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/06/04 | 1708077 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/06/04 | 2005871 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/06/04 | 67610 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/06/04 | 74209 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/06/04 | 27265 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/06/04 | 31569 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/06/04 | 7716 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/06/04 | 8771 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/06/04 | 197090 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/06/04 | 215196 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/06/04 | 250393 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/06/04 | 284038 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/06/04 | 98266 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/06/04 | 103517 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/06/04 | 60618 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/06/04 | 67972 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/06/04 | 124613 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/06/04 | 136506 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/06/04 | 147714 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/06/04 | 163765 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/06/04 | 199636 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/06/04 | 180078 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/06/04 | 67373 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/06/04 | 76879 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/06/04 | 31208 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/06/04 | 35069 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/06/04 | 37865 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/06/04 | 42728 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/06/04 | 42887 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/06/04 | 46723 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/06/04 | 45940 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/06/04 | 52439 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/06/04 | 194079 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/06/04 | 206343 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/06/04 | 35699 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/06/04 | 40342 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/06/04 | 748787 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/06/04 | 816250 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/06/04 | 198226 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/06/04 | 202702 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/06/04 | 207854 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/06/04 | 243392 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/06/04 | 78751 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/06/04 | 87677 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/06/04 | 1170759 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/06/04 | 1300399 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/06/04 | 20122 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/06/04 | 23882 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/06/04 | 31548 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/06/04 | 37230 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/06/04 | 64033 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/06/04 | 72176 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/06/04 | 44611 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/06/04 | 51457 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/06/04 | 1308118 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/06/04 | 1429094 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/06/04 | 42374 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/06/04 | 51741 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/06/04 | 56288 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/06/04 | 59698 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/06/04 | 25267 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/06/04 | 27258 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/06/04 | 16447 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/06/04 | 18167 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/06/04 | 63751 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/06/04 | 69897 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/06/04 | 154624 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/06/04 | 169102 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/06/04 | 56755 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/06/04 | 65467 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/06/04 | 97982 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/06/04 | 106859 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/06/04 | 2670400 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/06/04 | 2793680 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/06/04 | 56314 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/06/04 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/06/04 | 33601 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/06/04 | 37363 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/06/04 | 27710 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/06/04 | 33622 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/06/04 | 67262 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/06/04 | 70487 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/06/04 | 311356 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/06/04 | 345323 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/06/04 | 55523 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/06/04 | 57112 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/06/04 | 586329 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/06/04 | 621338 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/06/04 | 39019 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/06/04 | 43357 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/06/04 | 209714 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/06/04 | 1274451 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/06/04 | 1190140 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/06/04 | 13447 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/06/04 | 14346 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/06/05 | 580167 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/06/05 | 51089 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/06/05 | 56473 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/06/05 | 971287 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/06/05 | 1076117 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/06/05 | 29046 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/06/05 | 31327 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/06/05 | 29836 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/06/05 | 34650 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/06/05 | 50031 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/06/05 | 57634 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/06/05 | 83759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/06/05 | 95450 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/06/05 | 67887 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/06/05 | 75963 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/06/05 | 27186 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/06/05 | 30808 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/06/05 | 330437 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/06/05 | 392695 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/06/05 | 32596 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/06/05 | 36605 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/06/05 | 51290 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/06/05 | 56813 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/06/05 | 239581 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/06/05 | 261911 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/06/05 | 180187 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/06/05 | 195752 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/06/05 | 52542 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/06/05 | 59145 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/06/05 | 21178 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/06/05 | 23369 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/06/05 | 461825 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/06/05 | 46493 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/06/05 | 51118 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/06/05 | 281965 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/06/05 | 321644 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/06/05 | 41189 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/06/05 | 45317 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/06/05 | 117479 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/06/05 | 131581 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/06/05 | 1294236 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/06/05 | 1423058 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/06/05 | 100461 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/06/05 | 112815 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/06/05 | 43060 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/06/05 | 48239 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/06/05 | 25007 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/06/05 | 28162 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/06/05 | 56341 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/06/05 | 62715 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/06/05 | 134795 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/06/05 | 152164 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/06/05 | 72925 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/06/05 | 77940 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/06/05 | 71708 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/06/05 | 80965 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/06/05 | 258840 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/06/05 | 295146 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/06/05 | 22024 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/06/05 | 24987 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/06/05 | 97491 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/06/05 | 112166 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/06/05 | 64402 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/06/05 | 73143 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/06/05 | 96475 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/06/05 | 115121 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/06/05 | 38171 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/06/05 | 42981 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/06/05 | 482836 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/06/05 | 565935 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/06/05 | 147408 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/06/05 | 159544 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/06/05 | 94772 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/06/05 | 108933 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/06/05 | 16341 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/06/05 | 17981 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/06/05 | 28285 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/06/05 | 30037 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/06/05 | 629823 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/06/05 | 680955 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/06/05 | 532269 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/06/05 | 596058 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/06/05 | 476898 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/06/05 | 512668 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/06/05 | 94384 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/06/05 | 103437 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/06/05 | 1708076 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/06/05 | 2005871 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/06/05 | 67610 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/06/05 | 74210 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/06/05 | 27266 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/06/05 | 31570 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/06/05 | 7717 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/06/05 | 8772 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/06/05 | 197090 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/06/05 | 215197 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/06/05 | 250394 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/06/05 | 284041 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/06/05 | 98266 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/06/05 | 103518 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/06/05 | 60618 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/06/05 | 67972 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/06/05 | 124618 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/06/05 | 136507 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/06/05 | 147714 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/06/05 | 163765 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/06/05 | 199638 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/06/05 | 180079 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/06/05 | 67372 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/06/05 | 76879 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/06/05 | 31207 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/06/05 | 35069 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/06/05 | 37864 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/06/05 | 42729 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/06/05 | 42886 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/06/05 | 46724 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/06/05 | 45940 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/06/05 | 52438 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/06/05 | 194079 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/06/05 | 206343 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/06/05 | 35699 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/06/05 | 40343 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/06/05 | 748786 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/06/05 | 816250 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/06/05 | 198226 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/06/05 | 202702 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/06/05 | 207849 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/06/05 | 243392 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/06/05 | 78752 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/06/05 | 87680 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/06/05 | 1170758 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/06/05 | 1300400 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/06/05 | 20123 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/06/05 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/06/05 | 31548 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/06/05 | 37229 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/06/05 | 64033 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/06/05 | 72176 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/06/05 | 44612 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/06/05 | 51456 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/06/05 | 1308120 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/06/05 | 1429092 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/06/05 | 42373 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/06/05 | 51741 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/06/05 | 56290 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/06/05 | 59699 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/06/05 | 25267 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/06/05 | 27259 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/06/05 | 16447 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/06/05 | 18168 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/06/05 | 63751 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/06/05 | 69898 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/06/05 | 154624 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/06/05 | 169100 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/06/05 | 56754 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/06/05 | 65467 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/06/05 | 97980 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/06/05 | 106859 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/06/05 | 2670400 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/06/05 | 2793681 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/06/05 | 56310 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/06/05 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/06/05 | 33602 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/06/05 | 37363 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/06/05 | 27711 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/06/05 | 33621 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/06/05 | 67263 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/06/05 | 70487 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/06/05 | 311356 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/06/05 | 345324 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/06/05 | 55523 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/06/05 | 57110 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/06/05 | 586329 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/06/05 | 621334 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/06/05 | 39019 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/06/05 | 43358 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/06/05 | 210221 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/06/05 | 1276249 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/06/05 | 1191810 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/06/05 | 13447 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/06/05 | 14345 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2021/06/04 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/06/05 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -284933,7 +284941,7 @@
2016/07/18 | 142232 | systems/win32/miktex/tm/packages/plari.tar.lzma
2016/07/20 | 93092 | systems/win32/miktex/tm/packages/plates.tar.lzma
2019/01/03 | 533049 | systems/win32/miktex/tm/packages/platexcheat.tar.lzma
-2021/06/03 | 1662190 | systems/win32/miktex/tm/packages/platex.tar.lzma
+2021/06/05 | 1666110 | systems/win32/miktex/tm/packages/platex.tar.lzma
2021/06/03 | 582465 | systems/win32/miktex/tm/packages/platex-tools.tar.lzma
2021/06/03 | 144548 | systems/win32/miktex/tm/packages/plautopatch.tar.lzma
2020/08/09 | 1939832 | systems/win32/miktex/tm/packages/playfair.tar.lzma
@@ -284991,7 +284999,7 @@
2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2021/06/04 | 842 | systems/win32/miktex/tm/packages/pr.ini
+2021/06/05 | 928 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -285063,8 +285071,10 @@
2021/04/07 | 3536132 | systems/win32/miktex/tm/packages/pst-func.tar.lzma
2010/04/27 | 406251 | systems/win32/miktex/tm/packages/pst-fun.tar.lzma
2014/12/22 | 91090 | systems/win32/miktex/tm/packages/pst-gantt.tar.lzma
+2021/06/05 | 118359511 | systems/win32/miktex/tm/packages/pst-geo__doc.tar.lzma
2017/09/17 | 412979 | systems/win32/miktex/tm/packages/pst-geometrictools.tar.lzma
-2018/12/30 | 142915783 | systems/win32/miktex/tm/packages/pst-geo.tar.lzma
+2021/06/05 | 24441131 | systems/win32/miktex/tm/packages/pst-geo__source.tar.lzma
+2021/06/05 | 12443 | systems/win32/miktex/tm/packages/pst-geo.tar.lzma
2004/07/29 | 90147 | systems/win32/miktex/tm/packages/pst-ghsb.cab
2005/12/30 | 169705 | systems/win32/miktex/tm/packages/pst-gr3d.cab
2007/07/12 | 220754 | systems/win32/miktex/tm/packages/pst-grad.tar.lzma
@@ -285419,7 +285429,7 @@
2008/07/22 | 360807 | systems/win32/miktex/tm/packages/sistyle.tar.lzma
2011/04/21 | 76017 | systems/win32/miktex/tm/packages/sitem.tar.lzma
2007/12/09 | 81490 | systems/win32/miktex/tm/packages/siunits.tar.lzma
-2021/06/03 | 2559837 | systems/win32/miktex/tm/packages/siunitx.tar.lzma
+2021/06/05 | 2582857 | systems/win32/miktex/tm/packages/siunitx.tar.lzma
2009/02/21 | 477338 | systems/win32/miktex/tm/packages/skaknew.tar.lzma
2018/02/08 | 221377 | systems/win32/miktex/tm/packages/skak.tar.lzma
2011/06/23 | 1471957 | systems/win32/miktex/tm/packages/skb.tar.lzma
@@ -285780,7 +285790,7 @@
2019/07/20 | 932365 | systems/win32/miktex/tm/packages/tocdata.tar.lzma
2020/01/13 | 532318 | systems/win32/miktex/tm/packages/tocloft.tar.lzma
2014/03/14 | 312556 | systems/win32/miktex/tm/packages/tocvsec2.tar.lzma
-2021/04/27 | 455498 | systems/win32/miktex/tm/packages/todonotes.tar.lzma
+2021/06/05 | 467521 | systems/win32/miktex/tm/packages/todonotes.tar.lzma
2010/04/13 | 187962 | systems/win32/miktex/tm/packages/todo.tar.lzma
2021/05/29 | 1158849 | systems/win32/miktex/tm/packages/tokcycle.tar.lzma
2004/05/07 | 6156 | systems/win32/miktex/tm/packages/tokenizer.cab
@@ -286182,7 +286192,7 @@
2021/06/03 | 5529800 | systems/win32/w32tex/aleph-w32.tar.xz
2021/06/03 | 63889744 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2021/06/03 | 840044 | systems/win32/w32tex/ChangeLog
+2021/06/04 | 840381 | systems/win32/w32tex/ChangeLog
2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0
2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1
2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2
@@ -286202,11 +286212,11 @@
2021/04/07 | 17377260 | systems/win32/w32tex/gregorio-w32.tar.xz
2009/08/03 | 1072620 | systems/win32/w32tex/gtftex.zip
2021/06/03 | 1865048 | systems/win32/w32tex/jtex-w32.tar.xz
-2021/06/03 | 52885348 | systems/win32/w32tex/latex-dev.tar.xz
+2021/06/04 | 52879420 | systems/win32/w32tex/latex-dev.tar.xz
2021/06/03 | 39438884 | systems/win32/w32tex/latex.tar.xz
2021/04/07 | 1007424 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz
2021/05/25 | 413638248 | systems/win32/w32tex/ltxpkgdocs.tar.xz
-2021/06/02 | 50059200 | systems/win32/w32tex/ltxpkgs.tar.xz
+2021/06/04 | 50065400 | systems/win32/w32tex/ltxpkgs.tar.xz
2021/05/12 | 3891892 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
2021/05/12 | 3899756 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
2021/05/12 | 3907764 | systems/win32/w32tex/luajittex-w32.tar.xz
@@ -286221,7 +286231,7 @@
2021/04/07 | 525008 | systems/win32/w32tex/mftrace-w32.tar.xz
2018/07/14 | 6364952 | systems/win32/w32tex/minitoc.tar.xz
2020/01/19 | 882832 | systems/win32/w32tex/m-tx.tar.xz
-2021/06/03 | 10369348 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz
+2021/06/04 | 10369920 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz
2021/04/07 | 1246480 | systems/win32/w32tex/omegaj-w32.tar.xz
2020/11/16 | 324540 | systems/win32/w32tex/otfbeta.tar.xz
2021/06/03 | 22322104 | systems/win32/w32tex/pdftex-w32.tar.xz
@@ -286232,12 +286242,12 @@
2021/04/07 | 1170892 | systems/win32/w32tex/pstoedit-w32.tar.xz
2021/06/01 | 274304156 | systems/win32/w32tex/pstricks.tar.xz
2021/04/07 | 518092 | systems/win32/w32tex/psutils-w32.tar.xz
-2021/06/03 | 6797896 | systems/win32/w32tex/ptex-ng-w32.tar.xz
+2021/06/04 | 6797948 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2021/06/03 | 10736392 | systems/win32/w32tex/ptex-w32.tar.xz
2019/04/15 | 499188 | systems/win32/w32tex/sam2p-w32.tar.xz
2021/03/23 | 87955068 | systems/win32/w32tex/t1fonts.tar.xz
2020/10/31 | 142032 | systems/win32/w32tex/t1utils-w32.tar.xz
-2021/06/01 | 3437520 | systems/win32/w32tex/tex4htk-w32.tar.xz
+2021/06/04 | 3446616 | systems/win32/w32tex/tex4htk-w32.tar.xz
2018/06/20 | 15940044 | systems/win32/w32tex/tex-gyre.tar.xz
2021/04/07 | 4485428 | systems/win32/w32tex/texinfo-w32.tar.xz
2021/01/03 | 2050496 | systems/win32/w32tex/texinstwin.zip
@@ -286257,7 +286267,7 @@
2020/01/19 | 5856 | systems/win32/w32tex/txtutil.tar.xz
2013/04/08 | 71588 | systems/win32/w32tex/ums.tar.xz
2012/05/28 | 233472 | systems/win32/w32tex/unzip.exe
-2021/06/03 | 8651112 | systems/win32/w32tex/uptex-w32.tar.xz
+2021/06/04 | 8650216 | systems/win32/w32tex/uptex-w32.tar.xz
2013/04/08 | 722652 | systems/win32/w32tex/utf.tar.xz
2013/04/08 | 13748 | systems/win32/w32tex/vf-n2bk.tar.xz
2021/03/24 | 53260516 | systems/win32/w32tex/w32tex-src.tar.xz
@@ -286403,7 +286413,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/06/05 | 186 | timestamp
+2021/06/06 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 8f7fa40ced..b3f5cd180c 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index bc70747992..9bb4e71cbf 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,337 +1,1092 @@
+2021/06/05 | 99 | macros/latex-dev/base/ltpara-code.tex
+2021/06/05 | 98266 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/06/05 | 98233 | systems/win32/miktex/tm/packages/miktex-mfware-bin-2.9.tar.lzma
+2021/06/05 | 9809 | macros/latex-dev/base/ltnews21.tex
+2021/06/05 | 9809455 | macros/latex/contrib/bjfuthesis.zip
+2021/06/05 | 97980 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/06/05 | 97964 | systems/win32/miktex/tm/packages/miktex-texware-bin-2.9.tar.lzma
+2021/06/05 | 97491 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/06/05 | 972615 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-2.9.tar.lzma
+2021/06/05 | 97169 | systems/win32/miktex/tm/packages/miktex-gd-bin-2.9.tar.lzma
+2021/06/05 | 971287 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/06/05 | 970 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty
+2021/06/05 | 96475 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/06/05 | 96428 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-2.9.tar.lzma
+2021/06/05 | 9583 | macros/latex-dev/base/format.ins
+2021/06/05 | 9562 | macros/latex-dev/base/ltcntrl.dtx
+2021/06/05 | 95450 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/06/05 | 95340 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/06/05 | 9493 | macros/latex-dev/required/tools/shellesc.dtx
+2021/06/05 | 94772 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/06/05 | 94753 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-2.9.tar.lzma
+2021/06/05 | 94384 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/06/05 | 94319 | systems/win32/miktex/tm/packages/miktex-lua53-bin-2.9.tar.lzma
+2021/06/05 | 9400 | macros/latex-dev/base/syntonly.dtx
+2021/06/05 | 9373 | macros/latex-dev/base/preload.dtx
+2021/06/05 | 928 | systems/win32/miktex/tm/packages/pr.ini
+2021/06/05 | 9200 | macros/latex-dev/required/amsmath/amsopn.dtx
+2021/06/05 | 90917 | macros/latex-dev/base/fntguide.tex
+2021/06/05 | 9068 | macros/latex-dev/base/lppl-1-0.txt
+2021/06/05 | 904 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
+2021/06/05 | 9018 | systems/win32/miktex/tm/packages/aiaa.tar.lzma
+2021/06/05 | 90126 | macros/latex-dev/base/lttextcomp.dtx
+2021/06/05 | 89927 | macros/latex-dev/base/utf8ienc.dtx
+2021/06/05 | 8981 | macros/latex-dev/required/tools/rawfonts.dtx
+2021/06/05 | 89718 | macros/latex-dev/base/slides.dtx
+2021/06/05 | 896 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty
+2021/06/05 | 894443 | macros/latex/contrib/hyperref/hyperref.dtx
+2021/06/05 | 8863 | macros/latex-dev/base/ltnews17.tex
+2021/06/05 | 87791 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
+2021/06/05 | 8772 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/06/05 | 87680 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/06/05 | 8755 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
+2021/06/05 | 8736 | macros/latex-dev/base/ltthm.dtx
+2021/06/05 | 8668 | macros/latex-dev/required/amsmath/amsbsy.dtx
+2021/06/05 | 8631 | macros/latex-dev/base/oldlfont.dtx
+2021/06/05 | 85865 | macros/latex-dev/base/ltdefns.dtx
+2021/06/05 | 8531 | macros/latex-dev/base/source2edoc.cls
+2021/06/05 | 85099 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+2021/06/05 | 8496 | macros/latex-dev/base/texpert.txt
+2021/06/05 | 847077 | macros/latex/contrib/suftesi/suftesi.pdf
+2021/06/05 | 8409 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty
+2021/06/05 | 83804 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/06/05 | 837 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty
+2021/06/05 | 83759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/06/05 | 830650 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma
+2021/06/05 | 8259 | macros/latex-dev/base/ltnews.tex
+2021/06/05 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
+2021/06/05 | 819 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty
+2021/06/05 | 818898 | macros/latex-dev/base/ltshipout-code.pdf
+2021/06/05 | 816250 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/06/05 | 815295 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/06/05 | 80965 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/06/05 | 80762 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/06/05 | 80670 | macros/latex-dev/base/ltfssbas.dtx
+2021/06/05 | 795607 | macros/latex-dev/base/ltfilehook-code.pdf
+2021/06/05 | 78863 | macros/latex/contrib/eq-pin2corr/examples/get-hash-string.pdf
+2021/06/05 | 78752 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/06/05 | 78723 | systems/win32/miktex/tm/packages/miktex-png-bin-2.9.tar.lzma
+2021/06/05 | 78305 | macros/latex-dev/base/ltshipout.dtx
+2021/06/05 | 77940 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/06/05 | 77907 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/06/05 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
+2021/06/05 | 7717 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/06/05 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html
+2021/06/05 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html
+2021/06/05 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
+2021/06/05 | 7687 | systems/win32/miktex/tm/packages/miktex-md5-bin-2.9.tar.lzma
+2021/06/05 | 76879 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/06/05 | 76849 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/06/05 | 76725 | macros/latex-dev/base/ltfssini.dtx
+2021/06/05 | 76075 | macros/latex-dev/required/tools/longtable.dtx
+2021/06/05 | 75963 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/06/05 | 75685 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/06/05 | 7524 | macros/latex-dev/base/ltxguide.cls
+2021/06/05 | 748786 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/06/05 | 748542 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-2.9.tar.lzma
+2021/06/05 | 74210 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/06/05 | 74183 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/06/05 | 740 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty
+2021/06/05 | 73674 | macros/latex-dev/required/tools/tools-overview.pdf
+2021/06/05 | 7348926 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
+2021/06/05 | 7325 | macros/latex-dev/base/ltnews20.tex
+2021/06/05 | 73179 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/06/05 | 73143 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/06/05 | 72990 | systems/win32/miktex/tm/packages/miktex-fonts-bin-2.9.tar.lzma
+2021/06/05 | 72925 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/06/05 | 7266745 | macros/latex-dev/required/tools.zip
+2021/06/05 | 72479 | macros/latex-dev/base/ltfsstrc.dtx
+2021/06/05 | 7221 | macros/latex-dev/base/exscale.dtx
+2021/06/05 | 72190 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/06/05 | 72176 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/06/05 | 72141 | macros/latex-dev/required/tools/verbatim.dtx
+2021/06/05 | 7200 | macros/latex-dev/base/sample2e.tex
+2021/06/05 | 71873 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-2.9.tar.lzma
+2021/06/05 | 71708 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/06/05 | 7109 | macros/latex-dev/base/alltt.dtx
+2021/06/05 | 70487 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/06/05 | 70434 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
+2021/06/05 | 70176 | macros/latex-dev/required/graphics/graphics.dtx
+2021/06/05 | 69959 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/06/05 | 69898 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/06/05 | 69732 | macros/latex-dev/required/amsmath/amstex.sty
+2021/06/05 | 6965 | macros/latex/contrib/bjfuthesis/bjfuthesis.cls
+2021/06/05 | 693284 | macros/latex-dev/base/ltcmdhooks-code.pdf
+2021/06/05 | 69050 | macros/latex-dev/base/clsguide.tex
+2021/06/05 | 69007 | macros/latex-dev/base/ltpictur.dtx
+2021/06/05 | 687 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty
+2021/06/05 | 6871 | macros/latex-dev/base/ltnews13.tex
+2021/06/05 | 685911 | systems/win32/miktex/tm/packages/babel__source.tar.lzma
+2021/06/05 | 68435 | macros/latex-dev/base/usrguide.tex
+2021/06/05 | 684097 | macros/latex-dev/base/lthooks-doc.pdf
+2021/06/05 | 681691 | macros/latex/contrib/suftesi/templates.zip
+2021/06/05 | 680993 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/06/05 | 680955 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/06/05 | 68041 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/06/05 | 67972 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/06/05 | 6794 | macros/latex-dev/required/tools/delarray.dtx
+2021/06/05 | 67887 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/06/05 | 67739 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-2.9.tar.lzma
+2021/06/05 | 676731 | macros/latex-dev/base/doc.pdf
+2021/06/05 | 67610 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/06/05 | 6760 | macros/latex-dev/base/slides.ins
+2021/06/05 | 67588 | systems/win32/miktex/tm/packages/miktex-lzma-bin-2.9.tar.lzma
+2021/06/05 | 67372 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/06/05 | 6735 | macros/latex-dev/required/amsmath/changes.txt
+2021/06/05 | 67357 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-2.9.tar.lzma
+2021/06/05 | 67263 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/06/05 | 6714 | macros/latex-dev/base/latexsym.dtx
+2021/06/05 | 668 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty
+2021/06/05 | 664749 | macros/latex-dev/base/ltpara-code.pdf
+2021/06/05 | 663128 | systems/win32/miktex/tm/packages/ltxbase__source.tar.lzma
+2021/06/05 | 65521 | systems/win32/miktex/tm/packages/miktex-web-bin-2.9.tar.lzma
+2021/06/05 | 65504 | macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
+2021/06/05 | 65467 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/06/05 | 65385 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
+2021/06/05 | 64748 | macros/latex-dev/base/ltluatex.dtx
+2021/06/05 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
+2021/06/05 | 64402 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/06/05 | 64369 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-2.9.tar.lzma
+2021/06/05 | 64033 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/06/05 | 63977 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-2.9.tar.lzma
+2021/06/05 | 63751 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/06/05 | 63673 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-2.9.tar.lzma
+2021/06/05 | 6362 | macros/latex-dev/base/newlfont.dtx
+2021/06/05 | 63283 | macros/latex-dev/base/letter.dtx
+2021/06/05 | 63255 | macros/latex-dev/base/ltfilehook.dtx
+2021/06/05 | 629823 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/06/05 | 629495 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/06/05 | 62748 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/06/05 | 6273 | macros/latex-dev/base/ltnews14.tex
+2021/06/05 | 62715 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/06/05 | 6223 | macros/latex-dev/required/tools/xr.dtx
+2021/06/05 | 6222 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty
+2021/06/05 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/06/05 | 62227 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/06/05 | 621334 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/06/05 | 620534 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
+2021/06/05 | 6160 | macros/latex-dev/base/ltpar.dtx
+2021/06/05 | 61460 | macros/latex-dev/required/tools/bm.dtx
+2021/06/05 | 61425 | macros/latex-dev/base/ltfssdcl.dtx
+2021/06/05 | 608746 | macros/latex/contrib/nicematrix/nicematrix.dtx
+2021/06/05 | 608452 | macros/latex/contrib/eq-pin2corr.zip
+2021/06/05 | 60618 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/06/05 | 60547 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/06/05 | 60326 | macros/latex-dev/base/fontdef.dtx
+2021/06/05 | 59933 | macros/latex-dev/required/tools/changes.txt
+2021/06/05 | 597491 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/06/05 | 59699 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/06/05 | 59627 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
+2021/06/05 | 596058 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/06/05 | 5917 | macros/latex-dev/base/latexrelease.ins
+2021/06/05 | 59145 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/06/05 | 59104 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/06/05 | 58703 | macros/latex-dev/base/ltmiscen.dtx
+2021/06/05 | 5864 | macros/latex-dev/base/ltidxglo.dtx
+2021/06/05 | 586416 | systems/win32/miktex/tm/packages/miktex-yap-bin-2.9.tar.lzma
+2021/06/05 | 586329 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/06/05 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
+2021/06/05 | 58556 | macros/latex-dev/base/ltfssaxes.dtx
+2021/06/05 | 5839 | macros/latex-dev/base/ltnews15.tex
+2021/06/05 | 580325 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/06/05 | 580167 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/06/05 | 5796 | macros/latex-dev/required/tools/somedefs.dtx
+2021/06/05 | 578291 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma
+2021/06/05 | 5776 | macros/latex-dev/base/ltnews16.tex
+2021/06/05 | 57634 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/06/05 | 57614 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/06/05 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty
+2021/06/05 | 5714 | macros/latex-dev/base/inputenc.ins
+2021/06/05 | 57110 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/06/05 | 57104 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin-x64.tar.lzma
+2021/06/05 | 5695 | macros/latex-dev/base/ltnews08.tex
+2021/06/05 | 56813 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/06/05 | 5680 | macros/latex-dev/required/tools/tools.ins
+2021/06/05 | 56784 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/06/05 | 567651 | systems/win32/miktex/tm/packages/aiaa__doc.tar.lzma
+2021/06/05 | 56763 | systems/win32/miktex/tm/packages/miktex-texify-bin-2.9.tar.lzma
+2021/06/05 | 56754 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/06/05 | 566460 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/06/05 | 5659 | macros/latex-dev/base/ltnews10.tex
+2021/06/05 | 565935 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/06/05 | 564834 | macros/latex-dev/base/ltshipout-doc.pdf
+2021/06/05 | 56473 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/06/05 | 56440 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/06/05 | 56384 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/06/05 | 56341 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/06/05 | 56322 | systems/win32/miktex/tm/packages/miktex-fmt-bin-2.9.tar.lzma
+2021/06/05 | 56310 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/06/05 | 56290 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/06/05 | 56272 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin.tar.lzma
+2021/06/05 | 5608 | macros/latex-dev/base/ltnews05.tex
+2021/06/05 | 560474 | macros/latex-dev/base/ltpara-doc.pdf
+2021/06/05 | 55523 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/06/05 | 55491 | systems/win32/miktex/tm/packages/miktex-xml2pmx-bin.tar.lzma
+2021/06/05 | 5529 | macros/latex-dev/base/ltnews11.tex
+2021/06/05 | 5514 | macros/latex-dev/base/graphpap.dtx
+2021/06/05 | 55087 | macros/latex-dev/base/ltfiles.dtx
+2021/06/05 | 5506 | macros/latex-dev/base/ltnews27.tex
+2021/06/05 | 5506 | macros/latex-dev/base/ltnews04.tex
+2021/06/05 | 550002 | macros/latex-dev/base/classes.pdf
+2021/06/05 | 5473 | macros/latex-dev/base/ltnews25.tex
+2021/06/05 | 54680 | macros/latex-dev/base/ltfloat.dtx
+2021/06/05 | 546176 | macros/latex-dev/base/ltfilehook-doc.pdf
+2021/06/05 | 546162 | macros/latex-dev/base/ltnews32.pdf
+2021/06/05 | 5425 | macros/latex-dev/base/ltnews07.tex
+2021/06/05 | 5400 | macros/latex-dev/base/ltnews12.tex
+2021/06/05 | 5390 | macros/latex-dev/base/ltnews06.tex
+2021/06/05 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
+2021/06/05 | 532269 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/06/05 | 532127 | systems/win32/miktex/tm/packages/miktex-libressl-bin-2.9.tar.lzma
+2021/06/05 | 53203 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/inc/bmstu.png
+2021/06/05 | 53199 | macros/latex-dev/base/ltplain.dtx
+2021/06/05 | 53172 | macros/latex-dev/required/tools/calc.dtx
+2021/06/05 | 5293 | macros/latex-dev/base/ltnews09.tex
+2021/06/05 | 5283 | macros/latex-dev/base/ltnews02.tex
+2021/06/05 | 52813 | macros/latex-dev/base/encguide.tex
+2021/06/05 | 5275548 | macros/latex-dev/base/source2e.pdf
+2021/06/05 | 5273 | macros/latex-dev/base/cmextra.ins
+2021/06/05 | 526312 | macros/latex-dev/base/ltnews31.pdf
+2021/06/05 | 52595 | systems/win32/miktex/tm/packages/miktex-cweb-bin-2.9.tar.lzma
+2021/06/05 | 52578 | macros/latex-dev/base/lb2.err
+2021/06/05 | 52542 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/06/05 | 5246 | macros/latex-dev/base/ltnews01.tex
+2021/06/05 | 52438 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/06/05 | 52399 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/06/05 | 522413 | macros/latex-dev/base/ltnews33.pdf
+2021/06/05 | 5211 | macros/latex-dev/required/tools/tools-overview.tex
+2021/06/05 | 5200 | macros/latex-dev/base/ltnews03.tex
+2021/06/05 | 51741 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/06/05 | 51737 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/06/05 | 51670 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/06/05 | 516568 | macros/latex-dev/required/tools/array.pdf
+2021/06/05 | 516238 | macros/latex-dev/required/tools/multicol.pdf
+2021/06/05 | 51456 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/06/05 | 51302 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-2.9.tar.lzma
+2021/06/05 | 51290 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/06/05 | 512668 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/06/05 | 511967 | systems/win32/miktex/tm/packages/fontawesome.tar.lzma
+2021/06/05 | 511855 | macros/latex-dev/base/ltnews30.pdf
+2021/06/05 | 51118 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/06/05 | 510964 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/06/05 | 51089 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/06/05 | 51085 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/06/05 | 51072 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-2.9.tar.lzma
+2021/06/05 | 509727 | systems/win32/miktex/doc/miktex.pdf
+2021/06/05 | 508231 | macros/latex-dev/required/amsmath/amsldoc.pdf
+2021/06/05 | 50810 | macros/latex-dev/required/graphics/drivers.dtx
+2021/06/05 | 5041 | macros/latex-dev/base/latexsym.ins
+2021/06/05 | 503401 | macros/latex-dev/base/docstrip.pdf
+2021/06/05 | 50274 | macros/latex/contrib/hyperref/hluatex.dtx
+2021/06/05 | 50031 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/06/05 | 50024 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-2.9.tar.lzma
+2021/06/05 | 4964 | macros/latex-dev/required/tools/fileerr.dtx
+2021/06/05 | 4950 | macros/latex-dev/base/lthyphen.dtx
+2021/06/05 | 493957 | macros/latex-dev/base/fntguide.pdf
+2021/06/05 | 4882 | systems/win32/miktex/tm/packages/miktex-config-2.9.tar.lzma
+2021/06/05 | 48746 | macros/latex-dev/base/ltpara.dtx
+2021/06/05 | 483594 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/06/05 | 4830593 | macros/latex/contrib/bjfuthesis/example/thesis.pdf
+2021/06/05 | 482836 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/06/05 | 48239 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/06/05 | 48226 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
+2021/06/05 | 479593 | macros/latex-dev/base/ltcmdhooks-doc.pdf
+2021/06/05 | 47901 | macros/latex-dev/base/lttab.dtx
+2021/06/05 | 477535 | macros/latex/contrib/hyperref/doc/hyperref-doc.html
+2021/06/05 | 476942 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-2.9.tar.lzma
+2021/06/05 | 476898 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/06/05 | 4762 | macros/latex-dev/base/ltlength.dtx
+2021/06/05 | 474 | macros/latex-dev/required/firstaid/README.md
+2021/06/05 | 470 | macros/latex/contrib/bmstu-iu8/README.md
+2021/06/05 | 46878 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/06/05 | 468043 | macros/latex-dev/base/latexchanges.pdf
+2021/06/05 | 467521 | systems/win32/miktex/tm/packages/todonotes.tar.lzma
+2021/06/05 | 46724 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/06/05 | 46493 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/06/05 | 462567 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
+2021/06/05 | 461825 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/06/05 | 461709 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
+2021/06/05 | 45952 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-2.9.tar.lzma
+2021/06/05 | 45940 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/06/05 | 45838 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-2.9.tar.lzma
+2021/06/05 | 454808 | macros/latex-dev/base/ltnews29.pdf
+2021/06/05 | 454662 | macros/latex-dev/required/amsmath/testmath.pdf
+2021/06/05 | 45374 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/06/05 | 45317 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/06/05 | 45245 | macros/latex-dev/base/ltspace.dtx
+2021/06/05 | 4479 | macros/latex/contrib/hyperref/README.md
+2021/06/05 | 44724 | macros/latex-dev/base/ltfinal.dtx
+2021/06/05 | 44612 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/06/05 | 44603 | systems/win32/miktex/tm/packages/miktex-psutils-bin-2.9.tar.lzma
+2021/06/05 | 44409 | macros/latex-dev/base/latexrelease.dtx
+2021/06/05 | 4390 | macros/latex-dev/base/ec.ins
+2021/06/05 | 43867 | macros/latex-dev/base/ltboxes.dtx
+2021/06/05 | 43636 | macros/latex-dev/base/cmfonts.fdd
+2021/06/05 | 43453 | macros/latex-dev/required/tools/theorem.dtx
+2021/06/05 | 4341 | macros/latex-dev/required/amsmath/amsxtra.dtx
+2021/06/05 | 43378 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/06/05 | 43358 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/06/05 | 4324 | macros/latex-dev/base/cmfonts.ins
+2021/06/05 | 430996 | macros/latex-dev/base/usrguide.pdf
+2021/06/05 | 43060 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/06/05 | 4303 | macros/latex-dev/base/ltalloc.dtx
+2021/06/05 | 43008 | systems/win32/miktex/tm/packages/miktex-expat-bin-2.9.tar.lzma
+2021/06/05 | 42990 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/06/05 | 42981 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/06/05 | 42886 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/06/05 | 42840 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-2.9.tar.lzma
+2021/06/05 | 42729 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/06/05 | 42708 | macros/latex-dev/base/changes.old.txt
+2021/06/05 | 42694 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/06/05 | 426537 | macros/latex/contrib/tabularray/tabularray.pdf
+2021/06/05 | 426168 | macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.pdf
+2021/06/05 | 4254 | macros/latex-dev/base/newdc.ins
+2021/06/05 | 4248289 | macros/latex/contrib/profcollege.zip
+2021/06/05 | 42373 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/06/05 | 42355 | systems/win32/miktex/tm/packages/miktex-synctex-bin-2.9.tar.lzma
+2021/06/05 | 422 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty
+2021/06/05 | 4221 | macros/latex-dev/base/docstrip.ins
+2021/06/05 | 4219 | macros/latex-dev/base/latex209.ins
+2021/06/05 | 41831 | macros/latex-dev/base/doc-v3beta.sty
+2021/06/05 | 417985 | macros/latex/contrib/tabularray.zip
+2021/06/05 | 4170 | macros/latex-dev/base/ltnews19.tex
+2021/06/05 | 41189 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/06/05 | 41157 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-2.9.tar.lzma
+2021/06/05 | 4113 | macros/latex-dev/required/graphics/epsfig.dtx
+2021/06/05 | 40970 | macros/latex-dev/base/ltcmdhooks.dtx
+2021/06/05 | 4093730 | install/macros/latex/contrib/hyperref.tds.zip
+2021/06/05 | 4087 | macros/latex-dev/base/classes.ins
+2021/06/05 | 4079 | macros/latex-dev/base/lablst.tex
+2021/06/05 | 40795 | macros/latex-dev/base/latexchanges.tex
+2021/06/05 | 4073 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty
+2021/06/05 | 40343 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/06/05 | 402779 | macros/latex-dev/base/clsguide.pdf
+2021/06/05 | 398817 | macros/latex-dev/required/amsmath/amsmath.pdf
+2021/06/05 | 39781 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
+2021/06/05 | 39701 | macros/latex-dev/required/tools/ftnright.dtx
+2021/06/05 | 3960 | macros/latex-dev/base/olddc.ins
+2021/06/05 | 39464 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
+2021/06/05 | 39431 | macros/latex-dev/base/ltmath.dtx
+2021/06/05 | 3937 | macros/latex-dev/required/graphics/lscape.dtx
+2021/06/05 | 392695 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/06/05 | 392536 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/06/05 | 3910214 | macros/latex/contrib/hyperref.zip
+2021/06/05 | 39019 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/06/05 | 387987 | macros/latex-dev/base/ltnews28.pdf
+2021/06/05 | 38735 | macros/latex-dev/base/latex209.dtx
+2021/06/05 | 3854 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty
+2021/06/05 | 383483 | macros/latex-dev/required/tools/varioref.pdf
+2021/06/05 | 382541 | macros/latex-dev/required/tools/longtable.pdf
+2021/06/05 | 38171 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/06/05 | 38153 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/06/05 | 38031 | macros/latex-dev/base/ltnews18.pdf
+2021/06/05 | 379735 | macros/latex-dev/base/ltnews26.pdf
+2021/06/05 | 3793 | macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
+2021/06/05 | 37864 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/06/05 | 37843 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-2.9.tar.lzma
+2021/06/05 | 3781 | macros/latex-dev/base/tulm.ins
+2021/06/05 | 376392 | macros/latex-dev/base/changes.txt
+2021/06/05 | 374051 | macros/latex-dev/base/slides.pdf
+2021/06/05 | 37363 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/06/05 | 373376 | systems/win32/miktex/tm/packages/aiaa__source.tar.lzma
+2021/06/05 | 3730 | macros/latex-dev/base/ltlogos.dtx
+2021/06/05 | 37294 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
+2021/06/05 | 37231 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
+2021/06/05 | 37229 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/06/05 | 37089 | macros/latex-dev/required/graphics/grfguide.tex
+2021/06/05 | 370414 | macros/latex-dev/required/tools/calc.pdf
+2021/06/05 | 369 | macros/latex-dev/required/amsmath/manifest.txt
+2021/06/05 | 369903 | macros/latex-dev/required/tools/ftnright.pdf
+2021/06/05 | 36605 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/06/05 | 36580 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/06/05 | 361715 | macros/latex-dev/base/utf8ienc.pdf
+2021/06/05 | 36157 | macros/latex-dev/base/ltlists.dtx
+2021/06/05 | 360596 | systems/win32/miktex/tm/packages/easybook.tar.lzma
+2021/06/05 | 35880 | macros/latex-dev/required/tools/tabularx.dtx
+2021/06/05 | 35699 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/06/05 | 3560 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty
+2021/06/05 | 35332 | systems/win32/miktex/tm/packages/miktex-patgen-bin.tar.lzma
+2021/06/05 | 35302 | macros/latex-dev/base/ltdirchk.dtx
+2021/06/05 | 3514 | macros/latex-dev/base/README.md
+2021/06/05 | 351417 | macros/latex-dev/required/tools/theorem.pdf
+2021/06/05 | 35069 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/06/05 | 35053 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/06/05 | 347819 | macros/latex/contrib/easybook.zip
+2021/06/05 | 34658 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/06/05 | 34650 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/06/05 | 345324 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/06/05 | 344921 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/06/05 | 3445146 | systems/win32/miktex/tm/packages/acrotex.tar.lzma
+2021/06/05 | 34390780 | install/macros/latex-dev/latex-base-dev.tds.zip
+2021/06/05 | 3434 | macros/latex-dev/base/makeindx.ins
+2021/06/05 | 3401 | macros/latex-dev/base/proc.ins
+2021/06/05 | 33916 | macros/latex-dev/required/graphics/changes.txt
+2021/06/05 | 33912 | macros/latex-dev/base/ltnews33.tex
+2021/06/05 | 33900390 | macros/latex-dev/base.zip
+2021/06/05 | 33863 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
+2021/06/05 | 3372 | macros/latex-dev/base/letter.ins
+2021/06/05 | 3367 | macros/latex-dev/base/ltoutenc.ins
+2021/06/05 | 33621 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/06/05 | 33609 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/06/05 | 33602 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/06/05 | 33420 | systems/win32/miktex/tm/packages/miktex-upmendex-bin.tar.lzma
+2021/06/05 | 3338 | macros/latex-dev/base/exscale.ins
+2021/06/05 | 33256 | macros/latex-dev/base/ltnews32.tex
+2021/06/05 | 331424 | macros/latex-dev/required/tools/bm.pdf
+2021/06/05 | 330815 | macros/latex-dev/required/tools/verbatim.pdf
+2021/06/05 | 330437 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/06/05 | 330373 | systems/win32/miktex/tm/packages/miktex-cairo-bin-2.9.tar.lzma
+2021/06/05 | 330071 | macros/latex-dev/required/graphics/grfguide.pdf
+2021/06/05 | 328949 | macros/latex-dev/base/letter.pdf
+2021/06/05 | 3284 | macros/latex-dev/required/tools/manifest.txt
+2021/06/05 | 3282 | macros/latex-dev/base/bugs.txt
+2021/06/05 | 32648 | macros/latex-dev/base/ltsect.dtx
+2021/06/05 | 32627 | systems/win32/miktex/tm/packages/miktex-chktex-bin-2.9.tar.lzma
+2021/06/05 | 32596 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/06/05 | 325299 | macros/latex-dev/base/usrguide3.pdf
+2021/06/05 | 325289 | macros/latex-dev/base/ltluatex.pdf
+2021/06/05 | 321706 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/06/05 | 321644 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/06/05 | 32034 | macros/latex-dev/required/tools/layout.dtx
+2021/06/05 | 318399 | macros/latex-dev/base/ltnews22.pdf
+2021/06/05 | 3181 | macros/latex-dev/base/unpack.ins
+2021/06/05 | 318168 | macros/latex-dev/base/inputenc.pdf
+2021/06/05 | 31659 | macros/latex-dev/required/graphics/color.dtx
+2021/06/05 | 31586 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/06/05 | 31570 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/06/05 | 31548 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/06/05 | 315305 | macros/latex/contrib/easybook/easybook.pdf
+2021/06/05 | 31496 | systems/win32/miktex/tm/packages/miktex-posix-bin-2.9.tar.lzma
+2021/06/05 | 31327 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/06/05 | 31326 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/06/05 | 31207 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/06/05 | 31181 | systems/win32/miktex/tm/packages/miktex-mspack-bin-2.9.tar.lzma
+2021/06/05 | 311356 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/06/05 | 311068 | systems/win32/miktex/tm/packages/miktex-xetex-bin-2.9.tar.lzma
+2021/06/05 | 310676 | macros/latex-dev/required/graphics/graphics.pdf
+2021/06/05 | 30808 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/06/05 | 30782 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/06/05 | 30456 | macros/latex-dev/base/ltnews31.tex
+2021/06/05 | 30185 | macros/latex-dev/required/graphics/graphicx.dtx
+2021/06/05 | 30037 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/06/05 | 30023 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/06/05 | 2994 | macros/latex-dev/required/graphics/graphics-drivers.ins
+2021/06/05 | 29923 | macros/latex-dev/base/usrguide3.tex
+2021/06/05 | 298609 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
+2021/06/05 | 2985 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty
+2021/06/05 | 29836 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/06/05 | 29819 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-2.9.tar.lzma
+2021/06/05 | 29712 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
+2021/06/05 | 297070 | macros/latex-dev/base/ltnews20.pdf
+2021/06/05 | 29657 | macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.tex
+2021/06/05 | 2963 | macros/latex/contrib/eq-pin2corr/examples/qz-p2c.tex
+2021/06/05 | 29569 | macros/latex-dev/required/tools/showkeys.dtx
+2021/06/05 | 295391 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/06/05 | 295146 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/06/05 | 292317 | macros/latex-dev/base/cmfonts.pdf
+2021/06/05 | 29191 | macros/latex-dev/base/ltfntcmd.dtx
+2021/06/05 | 29067 | systems/win32/miktex/tm/packages/miktex-autosp-bin-2.9.tar.lzma
+2021/06/05 | 290495 | macros/latex-dev/base/latexrelease.pdf
+2021/06/05 | 29046 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/06/05 | 2896 | macros/latex-dev/base/syntonly.ins
+2021/06/05 | 2893 | macros/latex-dev/base/nfssfont.ins
+2021/06/05 | 2892 | macros/latex-dev/base/graphpap.ins
+2021/06/05 | 2892 | macros/latex-dev/base/fix-cm.ins
+2021/06/05 | 289245 | macros/latex-dev/base/tlc2.pdf
+2021/06/05 | 2890 | macros/latex-dev/base/alltt.ins
+2021/06/05 | 2888 | macros/latex-dev/base/ifthen.ins
+2021/06/05 | 287672 | macros/latex-dev/base/fix-cm.pdf
+2021/06/05 | 287125 | macros/latex-dev/base/ltnews23.pdf
+2021/06/05 | 286309 | macros/latex-dev/required/graphics/drivers.pdf
+2021/06/05 | 284041 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/06/05 | 283930 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/06/05 | 28285 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/06/05 | 281965 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/06/05 | 281897 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/06/05 | 28162 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/06/05 | 28128 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/06/05 | 28108 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-2.9.tar.lzma
+2021/06/05 | 2794574 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/06/05 | 2793681 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/06/05 | 278041 | macros/latex-dev/required/tools/tabularx.pdf
+2021/06/05 | 27711 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/06/05 | 27700 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-2.9.tar.lzma
+2021/06/05 | 2763722 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
+2021/06/05 | 2740 | macros/latex-dev/required/firstaid/firstaid.ins
+2021/06/05 | 2738 | macros/latex-dev/base/tex2.txt
+2021/06/05 | 27344 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-2.9.tar.lzma
+2021/06/05 | 2733 | macros/latex-dev/base/ltpageno.dtx
+2021/06/05 | 2733515 | macros/latex-dev/required/amsmath.zip
+2021/06/05 | 2726 | macros/latex-dev/required/amsmath/README.md
+2021/06/05 | 27266 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/06/05 | 27259 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/06/05 | 27234 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/06/05 | 27186 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/06/05 | 27165 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-2.9.tar.lzma
+2021/06/05 | 27122 | macros/latex-dev/base/ltxcheck.tex
+2021/06/05 | 2705 | macros/latex-dev/base/idx.tex
+2021/06/05 | 27046882 | systems/win32/miktex/tm/packages/ltxbase__doc.tar.lzma
+2021/06/05 | 269292 | macros/latex-dev/required/graphics/rotating.pdf
+2021/06/05 | 267761 | macros/latex-dev/required/tools/layout.pdf
+2021/06/05 | 2670406 | systems/win32/miktex/tm/packages/miktex-texworks-bin-2.9.tar.lzma
+2021/06/05 | 2670400 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/06/05 | 2666197 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
+2021/06/05 | 265211 | macros/latex-dev/base/ltnews24.pdf
+2021/06/05 | 2632400 | macros/latex-dev/required/graphics.zip
+2021/06/05 | 262049 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
+2021/06/05 | 261911 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/06/05 | 260624 | macros/latex-dev/required/tools/showkeys.pdf
+2021/06/05 | 258870 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-2.9.tar.lzma
+2021/06/05 | 258840 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/06/05 | 2582857 | systems/win32/miktex/tm/packages/siunitx.tar.lzma
+2021/06/05 | 2580 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty
+2021/06/05 | 2576 | macros/latex-dev/required/tools/multicol.ins
+2021/06/05 | 256897 | macros/latex-dev/required/tools/xspace.pdf
+2021/06/05 | 2538 | macros/latex-dev/required/tools/longtable.ins
+2021/06/05 | 2538 | macros/latex-dev/required/tools/afterpage.ins
+2021/06/05 | 2535 | macros/latex-dev/required/tools/tabularx.ins
+2021/06/05 | 2531 | macros/latex-dev/required/tools/varioref.ins
+2021/06/05 | 25297 | systems/win32/miktex/tm/packages/miktex-teckit-bin-2.9.tar.lzma
+2021/06/05 | 25267 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/06/05 | 2524 | macros/latex-dev/required/tools/bm.ins
+2021/06/05 | 252432 | macros/latex-dev/base/ltnews27.pdf
+2021/06/05 | 252154 | macros/latex-dev/base/lb2.pdf
+2021/06/05 | 25151 | macros/latex-dev/required/tools/trace.dtx
+2021/06/05 | 250394 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/06/05 | 250208 | systems/win32/miktex/tm/packages/miktex-metapost-bin-2.9.tar.lzma
+2021/06/05 | 25007 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/06/05 | 24988 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-2.9.tar.lzma
+2021/06/05 | 24987 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/06/05 | 24964 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/06/05 | 247910 | macros/latex-dev/required/graphics/graphicx.pdf
+2021/06/05 | 245818 | macros/latex-dev/base/ltnews19.pdf
+2021/06/05 | 244 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty
+2021/06/05 | 244869 | macros/latex-dev/base/ltnews21.pdf
+2021/06/05 | 24441131 | systems/win32/miktex/tm/packages/pst-geo__source.tar.lzma
+2021/06/05 | 243601 | macros/latex-dev/base/modguide.pdf
+2021/06/05 | 243452 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/06/05 | 243392 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/06/05 | 242886 | macros/latex-dev/base/cfgguide.pdf
+2021/06/05 | 2427494 | macros/latex/contrib/hyperref/doc/hyperref.pdf
+2021/06/05 | 24015 | macros/latex-dev/base/lterror.dtx
+2021/06/05 | 239681 | macros/latex-dev/base/cyrguide.pdf
+2021/06/05 | 239654 | macros/latex-dev/required/graphics/keyval.pdf
+2021/06/05 | 239626 | systems/win32/miktex/tm/packages/miktex-console-bin-2.9.tar.lzma
+2021/06/05 | 239581 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/06/05 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/06/05 | 23870 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
+2021/06/05 | 238577 | macros/latex-dev/base/ltxdoc.pdf
+2021/06/05 | 23651 | macros/latex-dev/base/ltnews30.tex
+2021/06/05 | 23521 | macros/latex-dev/base/fix-cm.dtx
+2021/06/05 | 234008 | macros/latex-dev/base/slifonts.pdf
+2021/06/05 | 233995 | macros/latex-dev/base/proc.pdf
+2021/06/05 | 23386 | macros/latex-dev/base/lppl.tex
+2021/06/05 | 23369 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/06/05 | 233623 | install/macros/latex-dev/required/latex-firstaid-dev.tds.zip
+2021/06/05 | 23339 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/06/05 | 229713 | macros/latex-dev/required/tools/trace.pdf
+2021/06/05 | 229696 | macros/latex/contrib/suftesi/suftesi.dtx
+2021/06/05 | 228890 | macros/latex-dev/required/firstaid.zip
+2021/06/05 | 228673 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
+2021/06/05 | 228654 | macros/latex/required/firstaid.zip
+2021/06/05 | 22749 | macros/latex/contrib/tabularray/tabularray.tex
+2021/06/05 | 22676 | macros/latex-dev/base/ltcounts.dtx
+2021/06/05 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
+2021/06/05 | 225983 | macros/latex-dev/required/amsmath/amsmath.dtx
+2021/06/05 | 224 | macros/latex/contrib/bjfuthesis/example/thesis.tex
+2021/06/05 | 22456 | macros/latex-dev/base/cfgguide.tex
+2021/06/05 | 22350 | macros/latex/contrib/eq-pin2corr/eq-pin2corr.dtx
+2021/06/05 | 2232 | macros/latex/contrib/eq-pin2corr/examples/get-hash-string.tex
+2021/06/05 | 2225 | macros/latex-dev/required/tools/indentfirst.dtx
+2021/06/05 | 220689 | macros/latex-dev/required/tools/dcolumn.pdf
+2021/06/05 | 220417 | macros/latex-dev/base/ifthen.pdf
+2021/06/05 | 22024 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/06/05 | 22013 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/06/05 | 219354 | macros/latex-dev/base/ltx3info.pdf
+2021/06/05 | 218782 | macros/latex-dev/base/nfssfont.pdf
+2021/06/05 | 215693 | macros/latex-dev/required/amsmath/amstext.pdf
+2021/06/05 | 215355 | macros/latex-dev/required/tools/enumerate.pdf
+2021/06/05 | 215197 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/06/05 | 215174 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/06/05 | 215091 | macros/latex-dev/base/lgc2.pdf
+2021/06/05 | 215002 | macros/latex-dev/required/graphics/color.pdf
+2021/06/05 | 214921 | systems/win32/miktex/tm/packages/ltxbase.tar.lzma
+2021/06/05 | 214710 | macros/latex-dev/base/alltt.pdf
+2021/06/05 | 2146 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
+2021/06/05 | 213 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty
+2021/06/05 | 212307 | macros/latex-dev/base/exscale.pdf
+2021/06/05 | 21178 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/06/05 | 21139 | systems/win32/miktex/tm/packages/miktex-devnag-bin-2.9.tar.lzma
+2021/06/05 | 21072 | macros/latex-dev/required/graphics/rotating.dtx
+2021/06/05 | 210239 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/06/05 | 210221 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/06/05 | 2092 | macros/latex-dev/required/graphics/README.md
+2021/06/05 | 208783 | macros/latex/contrib/bjfuthesis/example/cover.pdf
+2021/06/05 | 208359 | macros/latex-dev/base/latexsym.pdf
+2021/06/05 | 208114 | systems/win32/miktex/tm/packages/miktex-pmx-bin-2.9.tar.lzma
+2021/06/05 | 207849 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/06/05 | 207299 | macros/latex-dev/required/graphics/trig.pdf
+2021/06/05 | 2065 | macros/latex-dev/required/firstaid/changes.txt
+2021/06/05 | 206392 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/06/05 | 206343 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/06/05 | 205344 | macros/latex-dev/required/tools/afterpage.pdf
+2021/06/05 | 205162 | macros/latex-dev/base/ltnews25.pdf
+2021/06/05 | 20486 | macros/latex-dev/base/lgc2.err
+2021/06/05 | 20469 | macros/latex-dev/base/ltnews.cls
+2021/06/05 | 204063 | macros/latex-dev/base/doc.dtx
+2021/06/05 | 202834 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/06/05 | 202702 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/06/05 | 20123 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/06/05 | 201172 | macros/latex/contrib/bmstu-iu8.zip
+2021/06/05 | 20105 | systems/win32/miktex/tm/packages/miktex-popt-bin-2.9.tar.lzma
+2021/06/05 | 2005871 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/06/05 | 1997952 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/06/05 | 199664 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-2.9.tar.lzma
+2021/06/05 | 199638 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/06/05 | 198815 | macros/latex/contrib/hyperref/doc/backref.pdf
+2021/06/05 | 198647 | macros/latex-dev/required/tools/delarray.pdf
+2021/06/05 | 198303 | systems/win32/miktex/tm/packages/miktex-pixman-bin-2.9.tar.lzma
+2021/06/05 | 198226 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/06/05 | 197409 | macros/latex-dev/base/syntonly.pdf
+2021/06/05 | 197090 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/06/05 | 196788 | systems/win32/miktex/tm/packages/miktex-metafont-bin-2.9.tar.lzma
+2021/06/05 | 195752 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/06/05 | 195600 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
+2021/06/05 | 195211 | macros/latex-dev/required/tools/fileerr.pdf
+2021/06/05 | 194079 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/06/05 | 193960 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-2.9.tar.lzma
+2021/06/05 | 1937 | macros/latex-dev/base/minimal.cls
+2021/06/05 | 19064 | macros/latex-dev/base/ltxdoc.dtx
+2021/06/05 | 19040 | macros/latex-dev/base/lppl.txt
+2021/06/05 | 189538 | macros/latex-dev/required/tools/hhline.pdf
+2021/06/05 | 18940 | macros/latex-dev/base/ltnews29.tex
+2021/06/05 | 188802 | macros/latex/contrib/hyperref/doc/nameref.pdf
+2021/06/05 | 187818 | macros/latex-dev/base/lthooks.dtx
+2021/06/05 | 1874676 | macros/latex/contrib/nicematrix.zip
+2021/06/05 | 1846 | macros/latex/contrib/eq-pin2corr/eq-pin2corr.ins
+2021/06/05 | 18404 | macros/latex-dev/base/nfssfont.dtx
+2021/06/05 | 183532 | macros/latex-dev/required/tools/shellesc.pdf
+2021/06/05 | 18303 | macros/latex-dev/base/ifthen.dtx
+2021/06/05 | 18299 | macros/latex-dev/base/ltx3info.tex
+2021/06/05 | 182354 | macros/latex-dev/required/tools/multicol.dtx
+2021/06/05 | 18168 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/06/05 | 18159 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/06/05 | 180 | macros/latex-dev/base/ltfilehook-doc.tex
+2021/06/05 | 180187 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/06/05 | 180175 | systems/win32/miktex/tm/packages/babel.tar.lzma
+2021/06/05 | 180079 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/06/05 | 179 | macros/latex-dev/base/ltshipout-doc.tex
+2021/06/05 | 179989 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/06/05 | 179827 | systems/win32/miktex/tm/packages/miktex-curl-bin-2.9.tar.lzma
+2021/06/05 | 17981 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/06/05 | 17963 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/06/05 | 17959 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+2021/06/05 | 178672 | macros/latex-dev/required/amsmath/amscd.pdf
+2021/06/05 | 17861 | macros/latex-dev/required/tools/xspace.dtx
+2021/06/05 | 178433 | language/japanese/pxbase.zip
+2021/06/05 | 177 | macros/latex-dev/base/lthooks-doc.tex
+2021/06/05 | 177 | macros/latex-dev/base/ltcmdhooks-doc.tex
+2021/06/05 | 177595 | macros/latex-dev/required/tools/xr.pdf
+2021/06/05 | 177037 | macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
+2021/06/05 | 176740 | macros/latex-dev/required/amsmath/amsgen.pdf
+2021/06/05 | 175645 | macros/latex-dev/base/ltoutput.dtx
+2021/06/05 | 175169 | macros/latex-dev/required/tools/somedefs.pdf
+2021/06/05 | 17495 | macros/latex-dev/base/cyrguide.tex
+2021/06/05 | 174488 | macros/latex-dev/base/ltnews05.pdf
+2021/06/05 | 173 | macros/latex-dev/base/ltpara-doc.tex
+2021/06/05 | 173746 | macros/latex-dev/required/amsmath/amsbsy.pdf
+2021/06/05 | 173682 | macros/latex-dev/base/makeindx.pdf
+2021/06/05 | 173323 | macros/latex-dev/base/ltnews13.pdf
+2021/06/05 | 172278 | macros/latex-dev/base/tlc2.err
+2021/06/05 | 172230 | macros/latex-dev/required/graphics/rotex.pdf
+2021/06/05 | 1719 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty
+2021/06/05 | 1708076 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/06/05 | 170529 | macros/latex-dev/base/tulm.pdf
+2021/06/05 | 170214 | macros/latex-dev/base/docstrip.dtx
+2021/06/05 | 1694 | macros/latex-dev/base/small2e.tex
+2021/06/05 | 1694 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty
+2021/06/05 | 169323 | macros/latex-dev/base/graphpap.pdf
+2021/06/05 | 169100 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/06/05 | 169043 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
+2021/06/05 | 1687549 | systems/win32/miktex/tm/packages/miktex-luatex-bin-2.9.tar.lzma
+2021/06/05 | 167686 | macros/latex-dev/required/graphics/epsfig.pdf
+2021/06/05 | 167628 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
+2021/06/05 | 1670 | macros/latex/contrib/suftesi/README
+2021/06/05 | 1666 | macros/latex-dev/required/tools/README.md
+2021/06/05 | 1666110 | systems/win32/miktex/tm/packages/platex.tar.lzma
+2021/06/05 | 166368 | macros/latex-dev/base/ltnews17.pdf
+2021/06/05 | 16447 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/06/05 | 16419 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/06/05 | 163799 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
+2021/06/05 | 163765 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/06/05 | 1635 | macros/latex/contrib/bjfuthesis/README.md
+2021/06/05 | 163584 | macros/latex-dev/required/graphics/lscape.pdf
+2021/06/05 | 16341 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/06/05 | 16326 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-2.9.tar.lzma
+2021/06/05 | 16233 | macros/latex-dev/base/modguide.tex
+2021/06/05 | 161518 | macros/latex-dev/base/ltnews01.pdf
+2021/06/05 | 1614 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty
+2021/06/05 | 161405 | macros/latex-dev/base/ltnews14.pdf
+2021/06/05 | 16105 | macros/latex-dev/base/ltbibl.dtx
+2021/06/05 | 160521 | macros/latex-dev/base/manual.pdf
+2021/06/05 | 159565 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/06/05 | 159544 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/06/05 | 159313 | macros/latex-dev/base/ltnews10.pdf
+2021/06/05 | 158209 | macros/latex/contrib/tabularray/tabularray.sty
+2021/06/05 | 1581691 | install/macros/latex/contrib/suftesi.tds.zip
+2021/06/05 | 157803 | macros/latex-dev/required/tools/indentfirst.pdf
+2021/06/05 | 15737 | macros/latex-dev/required/graphics/cat.eps
+2021/06/05 | 15699 | macros/latex-dev/base/slifonts.fdd
+2021/06/05 | 1564763 | macros/latex/contrib/suftesi.zip
+2021/06/05 | 15625 | macros/latex-dev/base/ltxref.dtx
+2021/06/05 | 156210 | macros/latex-dev/base/classes.dtx
+2021/06/05 | 155055 | macros/latex-dev/base/ltnews08.pdf
+2021/06/05 | 154807 | systems/win32/miktex/tm/packages/miktex-tex-bin-2.9.tar.lzma
+2021/06/05 | 154624 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/06/05 | 15429 | macros/latex-dev/required/graphics/graphics-2017-06-25.sty
+2021/06/05 | 154034 | macros/latex-dev/required/tools/fontsmpl.pdf
+2021/06/05 | 152685 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex
+2021/06/05 | 152526 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/06/05 | 152164 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/06/05 | 1520 | macros/latex/contrib/bmstu-iu8/bmstu-example.tex
+2021/06/05 | 15104 | macros/latex-dev/base/source2e.tex
+2021/06/05 | 1505 | macros/latex-dev/required/amsmath/amsbsy.ins
+2021/06/05 | 1504 | macros/latex-dev/required/amsmath/amsmath.ins
+2021/06/05 | 150493 | macros/latex-dev/base/ltnews03.pdf
+2021/06/05 | 150466 | macros/latex-dev/base/ltnews02.pdf
+2021/06/05 | 1492 | macros/latex-dev/required/amsmath/amsxtra.ins
+2021/06/05 | 1492 | macros/latex-dev/required/amsmath/amstext.ins
+2021/06/05 | 149221 | macros/latex-dev/base/ltoutenc.dtx
+2021/06/05 | 1490 | macros/latex-dev/required/amsmath/amsopn.ins
+2021/06/05 | 14891 | macros/latex-dev/base/ltnews28.tex
+2021/06/05 | 1487 | macros/latex-dev/required/amsmath/amscd.ins
+2021/06/05 | 1484 | macros/latex-dev/required/amsmath/amsgen.ins
+2021/06/05 | 147719 | systems/win32/miktex/tm/packages/miktex-mo-bin-2.9.tar.lzma
+2021/06/05 | 147714 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/06/05 | 147587 | macros/latex-dev/base/ltnews12.pdf
+2021/06/05 | 147408 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/06/05 | 147334 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-2.9.tar.lzma
+2021/06/05 | 146534 | macros/latex-dev/required/tools/rawfonts.pdf
+2021/06/05 | 146533 | macros/latex-dev/base/ltnews16.pdf
+2021/06/05 | 146200 | macros/latex-dev/base/webcomp.pdf
+2021/06/05 | 14575 | macros/latex-dev/required/graphics/rotex.tex
+2021/06/05 | 145610 | macros/latex-dev/required/amsmath/technote.pdf
+2021/06/05 | 14515 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
+2021/06/05 | 14421 | macros/latex-dev/base/lppl-1-2.txt
+2021/06/05 | 1437 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty
+2021/06/05 | 143686 | macros/latex-dev/base/ltnews04.pdf
+2021/06/05 | 14345 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/06/05 | 14341 | macros/latex-dev/base/lppl-1-1.txt
+2021/06/05 | 14325 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/06/05 | 142909 | macros/latex-dev/base/ltnews06.pdf
+2021/06/05 | 1429092 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/06/05 | 142843 | macros/latex-dev/base/ltcmd.dtx
+2021/06/05 | 1428172 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/06/05 | 1423058 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/06/05 | 1422445 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/06/05 | 141525 | macros/latex/contrib/eq-pin2corr/examples/qz-p2c.pdf
+2021/06/05 | 14077 | macros/latex-dev/required/tools/afterpage.dtx
+2021/06/05 | 13979 | macros/latex/contrib/bjfuthesis/example/bibliography.bib
+2021/06/05 | 13920 | macros/latex-dev/base/ltexpl.dtx
+2021/06/05 | 13901 | macros/latex-dev/base/ltvers.dtx
+2021/06/05 | 138991 | macros/latex-dev/required/amsmath/amsopn.pdf
+2021/06/05 | 13880 | macros/latex-dev/required/graphics/keyval.dtx
+2021/06/05 | 138044 | macros/latex-dev/base/ltnews07.pdf
+2021/06/05 | 136576 | macros/latex-dev/base/ltclass.dtx
+2021/06/05 | 136507 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/06/05 | 136254 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/06/05 | 134795 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/06/05 | 134544 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-2.9.tar.lzma
+2021/06/05 | 13453 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
+2021/06/05 | 13447 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/06/05 | 13447 | macros/latex-dev/required/amsmath/amsgen.dtx
+2021/06/05 | 1341 | macros/latex-dev/base/ltnews18.tex
+2021/06/05 | 13301 | macros/latex-dev/base/proc.dtx
+2021/06/05 | 132373 | macros/latex-dev/base/lppl.pdf
+2021/06/05 | 131650 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/06/05 | 1316472 | macros/latex-dev/base/encguide.pdf
+2021/06/05 | 1315 | macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty
+2021/06/05 | 131581 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/06/05 | 13105 | macros/latex/contrib/eq-pin2corr/doc/install_jsfiles.tex
+2021/06/05 | 1308120 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/06/05 | 1307281 | systems/win32/miktex/tm/packages/miktex-runtime-bin-2.9.tar.lzma
+2021/06/05 | 1305091 | macros/latex/contrib/nicematrix/nicematrix.pdf
+2021/06/05 | 130447 | macros/latex-dev/base/ltnews15.pdf
+2021/06/05 | 1301832 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/06/05 | 1300400 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/06/05 | 12946 | macros/latex-dev/base/manual.err
+2021/06/05 | 1294236 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/06/05 | 129032 | macros/latex-dev/base/ltnews09.pdf
+2021/06/05 | 1285949 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/06/05 | 128428 | macros/latex/contrib/easybook/easybook.dtx
+2021/06/05 | 1279 | macros/latex-dev/base/legal.txt
+2021/06/05 | 127986 | macros/latex-dev/required/tools/array.dtx
+2021/06/05 | 1276249 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/06/05 | 1275463 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/06/05 | 12714 | macros/latex-dev/required/tools/dcolumn.dtx
+2021/06/05 | 12559 | macros/latex-dev/required/tools/array-2020-02-10.sty
+2021/06/05 | 12520 | macros/latex-dev/base/testpage.tex
+2021/06/05 | 124618 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/06/05 | 124440 | systems/win32/miktex/tm/packages/miktex-mktex-bin-2.9.tar.lzma
+2021/06/05 | 12443 | systems/win32/miktex/tm/packages/pst-geo.tar.lzma
+2021/06/05 | 12224 | macros/latex-dev/base/ltnews24.tex
+2021/06/05 | 12133 | macros/latex-dev/required/tools/longtable-2020-01-07.sty
+2021/06/05 | 12119 | macros/latex-dev/base/tulm.fdd
+2021/06/05 | 12005 | macros/latex-dev/required/amsmath/technote.tex
+2021/06/05 | 1191810 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/06/05 | 1191650 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/06/05 | 118359511 | systems/win32/miktex/tm/packages/pst-geo__doc.tar.lzma
+2021/06/05 | 117737 | macros/latex/contrib/hyperref/ChangeLog.txt
+2021/06/05 | 11749 | macros/latex-dev/required/tools/array-2016-10-06.sty
+2021/06/05 | 117479 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/06/05 | 117382 | systems/win32/miktex/tm/packages/miktex-dvips-bin-2.9.tar.lzma
+2021/06/05 | 1170758 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/06/05 | 1170060 | systems/win32/miktex/tm/packages/miktex-poppler-bin-2.9.tar.lzma
+2021/06/05 | 11590 | macros/latex-dev/base/ltpage.dtx
+2021/06/05 | 115598 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/06/05 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/06/05 | 115121 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/06/05 | 114211 | macros/latex-dev/required/tools/varioref.dtx
+2021/06/05 | 11403 | macros/latex-dev/required/amsmath/amstext.dtx
+2021/06/05 | 1128 | macros/latex-dev/required/graphics/graphics.ins
+2021/06/05 | 11289 | macros/latex-dev/required/amsmath/amscd.dtx
+2021/06/05 | 112815 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/06/05 | 112809 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/06/05 | 112556 | macros/latex-dev/required/amsmath/amsxtra.pdf
+2021/06/05 | 112233 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
+2021/06/05 | 112166 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/06/05 | 111955 | macros/latex-dev/base/ltnews11.pdf
+2021/06/05 | 11153 | macros/latex-dev/required/tools/hhline.dtx
+2021/06/05 | 1110 | macros/latex/contrib/eq-pin2corr/README.md
+2021/06/05 | 109 | systems/win32/miktex/setup/rpm/fedora-34.repo
+2021/06/05 | 109737 | macros/latex-dev/required/amsmath/subeqn.pdf
+2021/06/05 | 108988 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/06/05 | 108933 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/06/05 | 10871 | macros/latex-dev/base/manifest.txt
+2021/06/05 | 10817711 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma
+2021/06/05 | 10776 | macros/latex-dev/required/tools/fontsmpl.dtx
+2021/06/05 | 1076850 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/06/05 | 1076117 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/06/05 | 1074372 | macros/latex-dev/base/ltnews.pdf
+2021/06/05 | 10697 | macros/latex-dev/base/ltnews26.tex
+2021/06/05 | 106908 | macros/latex-dev/base/inputenc.dtx
+2021/06/05 | 10687 | macros/latex-dev/base/ltnews23.tex
+2021/06/05 | 106859 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/06/05 | 10682 | macros/latex-dev/required/graphics/trig.dtx
+2021/06/05 | 10668 | macros/latex-dev/base/ltnews22.tex
+2021/06/05 | 10649 | macros/latex-dev/required/tools/enumerate.dtx
+2021/06/05 | 10603 | macros/latex-dev/base/makeindx.dtx
+2021/06/05 | 105 | macros/latex-dev/base/ltfilehook-code.tex
+2021/06/05 | 105114 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
+2021/06/05 | 104 | macros/latex-dev/base/ltshipout-code.tex
+2021/06/05 | 104675 | macros/latex-dev/required/amsmath/amsldoc.tex
+2021/06/05 | 103 | macros/latex-dev/base/ltcmdhooks-code.tex
+2021/06/05 | 10375 | macros/latex-dev/base/ltfsscmp.dtx
+2021/06/05 | 103518 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/06/05 | 103437 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/06/05 | 103395 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/06/05 | 103340 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/06/05 | 102 | macros/latex-dev/base/lthooks-code.tex
+2021/06/05 | 1029365 | macros/latex-dev/base/lthooks-code.pdf
+2021/06/05 | 101085 | macros/latex/contrib/eq-pin2corr/doc/eq-pin2corr.pdf
+2021/06/05 | 10105 | macros/latex-dev/base/webcomp.err
+2021/06/05 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
+2021/06/05 | 100461 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/06/05 | 100336 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-2.9.tar.lzma
2021/06/04 | 990 | fonts/fontawesome5/README.md
-2021/06/04 | 98266 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
2021/06/04 | 980 | fonts/fontawesome5/tex/ufontawesomefree3.fd
2021/06/04 | 980 | fonts/fontawesome5/tex/ufontawesomefree2.fd
2021/06/04 | 980 | fonts/fontawesome5/tex/ufontawesomefree1.fd
2021/06/04 | 980 | fonts/fontawesome5/tex/ufontawesomefree0.fd
-2021/06/04 | 97982 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2021/06/04 | 97866 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2021/06/04 | 97489 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/06/04 | 971285 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
2021/06/04 | 966920 | systems/texlive/tlnet/archive/newtx.doc.r59446.tar.xz
2021/06/04 | 964 | macros/latex/contrib/siunitx/README.md
-2021/06/04 | 96475 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
2021/06/04 | 9561182 | systems/win32/miktex/tm/packages/bjfuthesis.tar.lzma
-2021/06/04 | 95448 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2021/06/04 | 9533004 | systems/texlive/tlnet/archive/bjfuthesis.doc.r59445.tar.xz
-2021/06/04 | 94773 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/06/04 | 94383 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2021/06/04 | 908004 | systems/texlive/tlnet/archive/tex4ht.r59459.tar.xz
+2021/06/04 | 90221 | macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
2021/06/04 | 8804 | systems/texlive/tlnet/archive/lua-typo.r59457.tar.xz
2021/06/04 | 877313 | systems/win32/miktex/tm/packages/tex4ht.tar.lzma
-2021/06/04 | 8771 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/06/04 | 87677 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
2021/06/04 | 876418 | language/japanese/platex/pldoc.pdf
2021/06/04 | 8762 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2021/06/04 | 8650216 | systems/win32/w32tex/uptex-w32.tar.xz
2021/06/04 | 861 | language/japanese/platex/pl209.ins
2021/06/04 | 8604 | systems/texlive/tlnet/archive/derivative.r59453.tar.xz
2021/06/04 | 8540 | macros/latex/contrib/kdpbook/images/volume-1.pdf
-2021/06/04 | 842 | systems/win32/miktex/tm/packages/pr.ini
-2021/06/04 | 83760 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/06/04 | 840381 | systems/win32/w32tex/ChangeLog
2021/06/04 | 8363 | language/japanese/platex/plnewsc14.tex
2021/06/04 | 825261 | systems/win32/miktex/tm/packages/uplatex.tar.lzma
-2021/06/04 | 816250 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
2021/06/04 | 8150 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2021/06/04 | 80965 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2021/06/04 | 796388 | systems/texlive/tlnet/archive/optex.r59458.tar.xz
-2021/06/04 | 78751 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
2021/06/04 | 7818 | language/japanese/platex/plnewsc01.tex
-2021/06/04 | 77942 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
2021/06/04 | 77894 | macros/latex/contrib/todonotes/todonotes.dtx
2021/06/04 | 776324 | systems/texlive/tlnet/archive/uplatex.doc.r59450.tar.xz
-2021/06/04 | 7716 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/06/04 | 76879 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2021/06/04 | 762 | macros/latex/contrib/todonotes/examples/externalize.tex
2021/06/04 | 7614 | language/japanese/platex/pl209.dtx
-2021/06/04 | 75962 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/06/04 | 748787 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
2021/06/04 | 745088 | fonts/fontawesome5/doc/fontawesome5.pdf
2021/06/04 | 7431 | fonts/fontawesome5/tex/fontawesome5.sty
-2021/06/04 | 74209 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/06/04 | 73139 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/06/04 | 72923 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
2021/06/04 | 7256 | macros/latex/contrib/kdpbook/images/signature.pdf
-2021/06/04 | 72176 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/06/04 | 71706 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/06/04 | 718715 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
+2021/06/04 | 717008 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
2021/06/04 | 7156 | macros/latex/contrib/kdpbook/images/volume-3.pdf
2021/06/04 | 71447 | language/japanese/platex/platex.dtx
-2021/06/04 | 70487 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
2021/06/04 | 6995 | language/japanese/platex/jltxdoc.dtx
-2021/06/04 | 69897 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2021/06/04 | 697 | language/japanese/platex/platexrelease.ins
2021/06/04 | 6812418 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/06/04 | 680953 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/06/04 | 67972 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/06/04 | 67885 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/06/04 | 67610 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/06/04 | 67373 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/06/04 | 67262 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/06/04 | 6797948 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2021/06/04 | 6723 | macros/latex/contrib/kdpbook/images/volume-4.pdf
2021/06/04 | 6717 | language/japanese/platex/plnewsc06.tex
2021/06/04 | 668 | macros/latex/contrib/todonotes/examples/saveColorByUsingLayers.tex
2021/06/04 | 66197 | macros/latex/contrib/todonotes/examples/alterAppearenceOfListOfTodos.pdf
2021/06/04 | 6562387 | systems/win32/miktex/tm/packages/newtx.tar.lzma
-2021/06/04 | 65467 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
2021/06/04 | 6504 | macros/latex/contrib/kdpbook/images/volume-2.pdf
-2021/06/04 | 64401 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/06/04 | 64033 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/06/04 | 63751 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
2021/06/04 | 6351 | macros/latex/contrib/acrotex/README.md
2021/06/04 | 634770 | macros/latex/contrib/siunitx/siunitx.pdf
-2021/06/04 | 629822 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/06/04 | 62715 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/06/04 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/06/04 | 621338 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2021/06/04 | 6088 | systems/texlive/tlnet/archive/ocgx2.doc.r59455.tar.xz
2021/06/04 | 6069 | language/japanese/platex/plnews06.tex
-2021/06/04 | 60618 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/06/04 | 59698 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/06/04 | 596060 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/06/04 | 59144 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/06/04 | 586329 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
2021/06/04 | 58496 | fonts/fontawesome5/type1/FontAwesome5Free-Regular.pfb
-2021/06/04 | 577473 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/06/04 | 576828 | systems/win32/miktex/tm/packages/files.csv.lzma
-2021/06/04 | 57634 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/06/04 | 57112 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/06/04 | 56814 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/06/04 | 56755 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/06/04 | 570771 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2021/06/04 | 565 | language/japanese/platex/pldocs.ins
-2021/06/04 | 565936 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/06/04 | 56472 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/06/04 | 56341 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/06/04 | 56314 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/06/04 | 56288 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
2021/06/04 | 5604400 | systems/texlive/tlnet/archive/newtx.r59446.tar.xz
-2021/06/04 | 55523 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
2021/06/04 | 55124 | fonts/fontawesome5/opentype/FontAwesome5Free-Regular-400.otf
2021/06/04 | 5492 | language/japanese/platex/Makefile
+2021/06/04 | 545702 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
2021/06/04 | 54376 | language/japanese/platex/plext.dtx
2021/06/04 | 543494 | macros/latex/contrib/acrotex/doc/aeb_man.tex
-2021/06/04 | 532271 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/06/04 | 52879420 | systems/win32/w32tex/latex-dev.tar.xz
2021/06/04 | 5272 | fonts/fontawesome5/tex/fontawesome5-utex-helper.sty
-2021/06/04 | 52543 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/06/04 | 52439 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/06/04 | 51741 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2021/06/04 | 516 | systems/texlive/tlnet/archive/dtk-bibliography.r59447.tar.xz
2021/06/04 | 5163 | language/japanese/platex/plnewsc04.tex
-2021/06/04 | 51457 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
2021/06/04 | 512 | systems/texlive/tlnet/archive/tex-nutshell.r59448.tar.xz
-2021/06/04 | 51290 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/06/04 | 512666 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/06/04 | 51117 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/06/04 | 51089 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/06/04 | 508974 | macros/latex/contrib/bjfuthesis/example/figures/general-details.png
2021/06/04 | 50744 | systems/texlive/tlnet/archive/uplatex.source.r59450.tar.xz
2021/06/04 | 503116 | systems/win32/miktex/tm/packages/expkv.tar.lzma
-2021/06/04 | 50030 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/06/04 | 50065400 | systems/win32/w32tex/ltxpkgs.tar.xz
2021/06/04 | 497831 | macros/latex/contrib/acrotex/examples/webeqtst.pdf
-2021/06/04 | 4903 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
2021/06/04 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/06/04 | 487115 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.png
2021/06/04 | 48536 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2021/06/04 | 482835 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/06/04 | 48237 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/06/04 | 476899 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2021/06/04 | 4760 | systems/texlive/tlnet/archive/expkv.r59452.tar.xz
2021/06/04 | 475888 | macros/latex/contrib/siunitx/siunitx-table.pdf
2021/06/04 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
2021/06/04 | 470104 | systems/texlive/tlnet/archive/expkv.doc.r59452.tar.xz
2021/06/04 | 4685 | language/japanese/platex/plnews02.tex
2021/06/04 | 467974 | macros/latex/contrib/todonotes.zip
-2021/06/04 | 46723 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/06/04 | 46493 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
2021/06/04 | 4629 | macros/latex/contrib/siunitx/siunitx-locale.dtx
2021/06/04 | 4618 | macros/latex/contrib/kdpbook/kdpcover.cls
-2021/06/04 | 461825 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
2021/06/04 | 4606 | language/japanese/platex/plnewsc15.tex
-2021/06/04 | 45940 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
2021/06/04 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
2021/06/04 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2021/06/04 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
2021/06/04 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2021/06/04 | 45318 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2021/06/04 | 4490 | fonts/fontawesome5/doc/fulllist.tex
2021/06/04 | 4488 | systems/texlive/tlnet/archive/expkv-cs.r59451.tar.xz
-2021/06/04 | 44611 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/06/04 | 43357 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/06/04 | 43060 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/06/04 | 42982 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2021/06/04 | 42908 | systems/texlive/tlnet/archive/tuda-ci.r59456.tar.xz
-2021/06/04 | 42887 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/06/04 | 42728 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/06/04 | 42374 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2021/06/04 | 4153 | language/japanese/platex/plnewsc08.tex
2021/06/04 | 41505 | macros/latex/contrib/siunitx/CHANGELOG.md
2021/06/04 | 414908 | systems/win32/miktex/tm/packages/dtk-bibliography.tar.lzma
2021/06/04 | 412992 | systems/texlive/tlnet/archive/dtk-bibliography.doc.r59447.tar.xz
-2021/06/04 | 41188 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2021/06/04 | 4047 | language/japanese/platex/plexpl3.dtx
-2021/06/04 | 40342 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
2021/06/04 | 397652 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59443.tar.xz
2021/06/04 | 3949742 | macros/latex/contrib/acrotex.zip
-2021/06/04 | 392695 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/06/04 | 39019 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
2021/06/04 | 3877 | language/japanese/platex/plnews08.tex
2021/06/04 | 3835 | fonts/fontawesome5/doc/fontawesome5.tex
-2021/06/04 | 38171 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/06/04 | 382656 | macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.png
2021/06/04 | 3796 | language/japanese/platex/plnewsc05.tex
-2021/06/04 | 37865 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
2021/06/04 | 3778 | language/japanese/platex/plnews07.tex
2021/06/04 | 376907 | systems/win32/miktex/tm/packages/expkv-cs.tar.lzma
2021/06/04 | 3754 | language/japanese/platex/plnewsc16.tex
-2021/06/04 | 37363 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/06/04 | 37230 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
2021/06/04 | 3713 | language/japanese/platex/plnewsc02.tex
2021/06/04 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2021/06/04 | 36605 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/06/04 | 360702 | systems/win32/miktex/tm/packages/easybook.tar.lzma
2021/06/04 | 358366 | macros/latex/contrib/acrotex/examples/jquiztst.pdf
-2021/06/04 | 35699 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
2021/06/04 | 353196 | systems/texlive/tlnet/archive/expkv-cs.doc.r59451.tar.xz
-2021/06/04 | 35069 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2021/06/04 | 3484 | language/japanese/platex/plnewsc11.tex
-2021/06/04 | 347620 | macros/latex/contrib/easybook.zip
-2021/06/04 | 34650 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/06/04 | 345323 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/06/04 | 3446616 | systems/win32/w32tex/tex4htk-w32.tar.xz
2021/06/04 | 3390 | macros/latex/contrib/kdpbook/kdpcover.tex
2021/06/04 | 336972 | macros/latex/contrib/todonotes/todonotes.pdf
-2021/06/04 | 33622 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/06/04 | 33601 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
2021/06/04 | 33332 | macros/latex/contrib/siunitx/siunitx-compound.dtx
2021/06/04 | 3321 | language/japanese/platex/plnewsc03.tex
-2021/06/04 | 330436 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/06/04 | 32597 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2021/06/04 | 322528 | systems/texlive/tlnet/archive/pxchfon.doc.r59449.tar.xz
-2021/06/04 | 321644 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2021/06/04 | 320578 | macros/latex/contrib/acrotex/examples/jtxttst.pdf
2021/06/04 | 3197 | language/japanese/platex/plnewsc13.tex
2021/06/04 | 3194 | language/japanese/platex/plnews.cls
2021/06/04 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2021/06/04 | 31569 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/06/04 | 31548 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/06/04 | 315303 | macros/latex/contrib/easybook/easybook.pdf
2021/06/04 | 314636 | systems/texlive/tlnet/archive/easybook.doc.r59454.tar.xz
-2021/06/04 | 31329 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/06/04 | 31208 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/06/04 | 311356 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
2021/06/04 | 30840 | systems/texlive/tlnet/archive/easybook.source.r59454.tar.xz
2021/06/04 | 3083 | fonts/fontawesome5/enc/fa5free0.enc
-2021/06/04 | 30806 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2021/06/04 | 30792 | macros/latex/contrib/siunitx/siunitx-print.dtx
2021/06/04 | 3042 | fonts/fontawesome5/enc/fa5free1.enc
2021/06/04 | 303000 | fonts/fontawesome5/opentype/FontAwesome5Free-Solid-900.otf
-2021/06/04 | 30037 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2021/06/04 | 2999 | language/japanese/platex/plnewsc09.tex
-2021/06/04 | 29834 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
2021/06/04 | 295383 | fonts/fontawesome5/type1/FontAwesome5Free-Solid.pfb
-2021/06/04 | 295145 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2021/06/04 | 2948 | language/japanese/platex/plnewsc10.tex
2021/06/04 | 29488 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2021/06/04 | 293686 | macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.png
2021/06/04 | 2931 | language/japanese/platex/plnews04.tex
2021/06/04 | 29246 | macros/latex/contrib/todonotes/examples/externalize.pdf
2021/06/04 | 2920 | fonts/fontawesome5/enc/fa5brands0.enc
2021/06/04 | 2906 | fonts/fontawesome5/enc/fa5free2.enc
2021/06/04 | 2905 | fonts/fontawesome5/enc/fa5free3.enc
-2021/06/04 | 29044 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/06/04 | 29034 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
2021/06/04 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
2021/06/04 | 285872 | systems/texlive/tlnet/archive/tex-nutshell.doc.r59448.tar.xz
-2021/06/04 | 284038 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/06/04 | 28285 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/06/04 | 281963 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/06/04 | 28162 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/06/04 | 2793680 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/06/04 | 27710 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/06/04 | 2784308 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
2021/06/04 | 2763 | language/japanese/platex/plnews03.tex
2021/06/04 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2021/06/04 | 27265 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/06/04 | 27258 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/06/04 | 27185 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2021/06/04 | 2710742 | install/macros/latex/contrib/siunitx.tds.zip
2021/06/04 | 27036 | systems/texlive/tlnet/archive/expkv.source.r59452.tar.xz
2021/06/04 | 26848 | macros/latex/contrib/todonotes/examples/saveColorByUsingLayers.pdf
2021/06/04 | 2673049 | macros/latex/contrib/siunitx.zip
-2021/06/04 | 2670400 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/06/04 | 261909 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2021/06/04 | 2612 | fonts/fontawesome5/enc/fa5brands1.enc
-2021/06/04 | 258840 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
2021/06/04 | 25717 | macros/latex/contrib/siunitx/siunitx-complex.dtx
2021/06/04 | 25584621 | systems/texlive/tlnet/install-tl.zip
2021/06/04 | 253 | language/japanese/platex/platex.ini
2021/06/04 | 253604 | language/japanese/platex/platex.pdf
-2021/06/04 | 25267 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/06/04 | 250393 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/06/04 | 25006 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/06/04 | 24988 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2021/06/04 | 2488 | systems/texlive/tlnet/archive/bjfuthesis.r59445.tar.xz
-2021/06/04 | 243392 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2021/06/04 | 2426 | macros/latex/contrib/siunitx/siunitx-code.tex
2021/06/04 | 2421 | language/japanese/platex/plnewsc12.tex
-2021/06/04 | 239580 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/06/04 | 23882 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/06/04 | 23369 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/06/04 | 23766 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
2021/06/04 | 23253 | language/japanese/platex/plvers.dtx
2021/06/04 | 2313 | language/japanese/platex/plnews05.tex
2021/06/04 | 2310352 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/06/04 | 23085 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
2021/06/04 | 22768 | systems/texlive/tlnet/archive/lua-typo.source.r59457.tar.xz
2021/06/04 | 2259587 | macros/latex/contrib/acrotex/doc/aeb_man.pdf
2021/06/04 | 2248888 | systems/texlive/tlnet/archive/circuit-macros.doc.r59444.tar.xz
-2021/06/04 | 22022 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2021/06/04 | 2200754 | systems/win32/miktex/tm/packages/optex.tar.lzma
-2021/06/04 | 215196 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2021/06/04 | 214628 | systems/texlive/tlnet/archive/lua-typo.doc.r59457.tar.xz
-2021/06/04 | 21177 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/06/04 | 209783 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/06/04 | 209714 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/06/04 | 21078 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
2021/06/04 | 20808844 | systems/texlive/tlnet/install-tl-windows.exe
-2021/06/04 | 2079 | macros/latex/contrib/bjfuthesis/README.md
-2021/06/04 | 207854 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
2021/06/04 | 206554 | language/japanese/platex/plfonts.dtx
-2021/06/04 | 206343 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
2021/06/04 | 205247 | systems/win32/miktex/tm/packages/derivative.tar.lzma
2021/06/04 | 203772 | fonts/fontawesome5/type1/FontAwesome5Brands-Regular.pfb
2021/06/04 | 2034 | language/japanese/platex/README.md
-2021/06/04 | 202702 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/06/04 | 20122 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/06/04 | 2005871 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/06/04 | 199636 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/06/04 | 19959 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
2021/06/04 | 19936 | systems/texlive/tlnet/archive/pxchfon.r59449.tar.xz
2021/06/04 | 19845 | systems/win32/miktex/tm/packages/ocgx2.tar.lzma
-2021/06/04 | 198226 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
2021/06/04 | 1979 | macros/latex/contrib/todonotes/todonotes.ins
2021/06/04 | 197272 | macros/latex/contrib/acrotex/doc/eformman.tex
-2021/06/04 | 197090 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
2021/06/04 | 196092 | systems/texlive/tlnet/archive/derivative.doc.r59453.tar.xz
-2021/06/04 | 195752 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2021/06/04 | 19542 | macros/latex/contrib/siunitx/siunitx.dtx
-2021/06/04 | 194079 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2021/06/04 | 18820 | systems/texlive/tlnet/archive/expkv-cs.source.r59451.tar.xz
2021/06/04 | 1878 | fonts/fontawesome5/tex/fontawesome5.lua
2021/06/04 | 183060 | fonts/fontawesome5/opentype/FontAwesome5Brands-Regular-400.otf
2021/06/04 | 1828838 | install/language/japanese/platex.tds.zip
-2021/06/04 | 18167 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/06/04 | 180187 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/06/04 | 180078 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/06/04 | 17981 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
2021/06/04 | 1796 | fonts/fontawesome5/tex/fontawesome5-generic-helper.sty
2021/06/04 | 17567 | language/japanese/platex/platexrelease.dtx
2021/06/04 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
2021/06/04 | 17269645 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2021/06/04 | 1724 | macros/latex/contrib/kdpbook/README.md
-2021/06/04 | 1708077 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
2021/06/04 | 1703973 | language/japanese/platex.zip
-2021/06/04 | 169102 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2021/06/04 | 1685003 | fonts/fontawesome5.zip
+2021/06/04 | 1684520 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
2021/06/04 | 16529 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2021/06/04 | 16447 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/06/04 | 163765 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/06/04 | 16341 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2021/06/04 | 1631 | macros/latex/contrib/todonotes/README
-2021/06/04 | 159545 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2021/06/04 | 158330 | language/japanese/platex/jclasses.dtx
2021/06/04 | 1553 | language/japanese/platex/LICENSE
-2021/06/04 | 154624 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
2021/06/04 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/06/04 | 15317 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
2021/06/04 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/06/04 | 152162 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2021/06/04 | 149 | macros/latex/contrib/kdpbook/DEPENDS.txt
2021/06/04 | 1496 | systems/texlive/tlnet/archive/circuit-macros.r59444.tar.xz
2021/06/04 | 1488 | language/japanese/platex/plcls.ins
@@ -339,81 +1094,52 @@
2021/06/04 | 148274 | language/japanese/platex/platex-en.pdf
2021/06/04 | 1482618 | macros/latex/contrib/siunitx/siunitx-code.pdf
2021/06/04 | 14820 | systems/texlive/tlnet/archive/ocgx2.r59455.tar.xz
-2021/06/04 | 147714 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/06/04 | 147409 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2021/06/04 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2021/06/04 | 145224 | macros/latex/contrib/siunitx/siunitx.tex
2021/06/04 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2021/06/04 | 14351 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2021/06/04 | 14346 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2021/06/04 | 1429094 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/06/04 | 1423057 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2021/06/04 | 1418780 | systems/texlive/tlnet/archive/optex.doc.r59458.tar.xz
2021/06/04 | 14184 | systems/texlive/tlnet/archive/easybook.r59454.tar.xz
2021/06/04 | 13987 | macros/latex/contrib/acrotex/examples/webeqtst.tex
2021/06/04 | 1380 | fonts/fontawesome5/tfm/fa5brands0.tfm
2021/06/04 | 137664 | language/japanese/platex/exppl2e.pdf
2021/06/04 | 13656 | language/japanese/platex/exppl2e.sty
-2021/06/04 | 136506 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2021/06/04 | 136388 | systems/texlive/tlnet/archive/tex4ht.doc.r59459.tar.xz
2021/06/04 | 1361 | fonts/fontawesome5/tex/tufontawesomepro.fd
2021/06/04 | 135101 | macros/latex/contrib/kdpbook.zip
-2021/06/04 | 134795 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/06/04 | 13447 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
2021/06/04 | 1340 | fonts/fontawesome5/tfm/fa5free2solid.tfm
2021/06/04 | 1328 | fonts/fontawesome5/tfm/fa5free0solid.tfm
2021/06/04 | 1316 | fonts/fontawesome5/tfm/fa5free1solid.tfm
-2021/06/04 | 131581 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/06/04 | 1308118 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/06/04 | 1300399 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/06/04 | 1294236 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/06/04 | 128029 | macros/latex/contrib/easybook/easybook.dtx
-2021/06/04 | 1274462 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/06/04 | 1274451 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
2021/06/04 | 1252 | fonts/fontawesome5/tex/tufontawesomebrands.fd
-2021/06/04 | 124613 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2021/06/04 | 1236 | fonts/fontawesome5/tfm/fa5free3solid.tfm
+2021/06/04 | 123061647 | macros/context/latest/cont-tmf.zip
2021/06/04 | 1206 | fonts/fontawesome5/tex/ufontawesomebrands1.fd
2021/06/04 | 1206 | fonts/fontawesome5/tex/ufontawesomebrands0.fd
2021/06/04 | 1206324 | systems/texlive/tlnet/archive/tex4ht.source.r59459.tar.xz
2021/06/04 | 1204 | fonts/fontawesome5/tfm/fa5free1regular.tfm
2021/06/04 | 1191 | language/japanese/platex/plfmt.ins
-2021/06/04 | 1190290 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2021/06/04 | 1190140 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2021/06/04 | 118624 | language/japanese/platex/plcore.dtx
-2021/06/04 | 117480 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/06/04 | 1170759 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
2021/06/04 | 1164175 | systems/win32/miktex/tm/packages/tuda-ci.tar.lzma
-2021/06/04 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2021/06/04 | 115119 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2021/06/04 | 114975 | macros/latex/contrib/siunitx/siunitx-number.dtx
2021/06/04 | 1144 | fonts/fontawesome5/tfm/fa5brands1.tfm
2021/06/04 | 1132 | fonts/fontawesome5/tfm/fa5free0regular.tfm
-2021/06/04 | 112815 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2021/06/04 | 1121940 | systems/texlive/tlnet/archive/tuda-ci.doc.r59456.tar.xz
-2021/06/04 | 112165 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
2021/06/04 | 1108 | fonts/fontawesome5/tfm/fa5free2regular.tfm
-2021/06/04 | 108934 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2021/06/04 | 1082 | fonts/fontawesome5/map/fontawesome5.map
2021/06/04 | 1080 | fonts/fontawesome5/tfm/fa5free3regular.tfm
2021/06/04 | 107952 | systems/texlive/tlnet/archive/texlive-scripts.r59443.tar.xz
2021/06/04 | 107888 | fonts/fontawesome5/tex/fontawesome5-mapping.def
2021/06/04 | 107850 | language/japanese/platex/platexrelease.pdf
-2021/06/04 | 1076117 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
2021/06/04 | 1075 | fonts/fontawesome5/tex/tufontawesomefree.fd
-2021/06/04 | 106859 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2021/06/04 | 104845 | macros/latex/contrib/kdpbook/kdpcover.pdf
2021/06/04 | 10430 | language/japanese/platex/plnewsc07.tex
2021/06/04 | 10426 | language/japanese/platex/plnews01.tex
+2021/06/04 | 10369920 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz
2021/06/04 | 10363 | macros/latex/contrib/acrotex/examples/jquiztst.tex
-2021/06/04 | 103517 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
2021/06/04 | 1034 | macros/latex/contrib/todonotes/examples/alterAppearenceOfListOfTodos.tex
-2021/06/04 | 103436 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
2021/06/04 | 10168 | language/japanese/platex/kinsoku.dtx
2021/06/04 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2021/06/04 | 100463 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
2021/06/04 | 1000084 | macros/latex/contrib/acrotex/doc/eformman.pdf
-2021/06/03 | 9796467 | macros/latex/contrib/bjfuthesis.zip
2021/06/03 | 967 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__color_set_definition_simple.snap
2021/06/03 | 9622 | macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
2021/06/03 | 9462 | support/texlab/src/features/cursor.rs
@@ -434,14 +1160,12 @@
2021/06/03 | 8705 | support/texlab/src/label.rs
2021/06/03 | 8703 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
2021/06/03 | 869 | support/texlab/src/workspace.rs
-2021/06/03 | 8651112 | systems/win32/w32tex/uptex-w32.tar.xz
2021/06/03 | 862 | info/dtk-bibliography/dtk-bibliography.tex
2021/06/03 | 85 | support/texlab/src/syntax/bibtex/snapshots/texlab__syntax__bibtex__parser__tests__empty.snap
2021/06/03 | 855 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__color_set_definition_error1.snap
2021/06/03 | 855 | support/texlab/src/syntax/bibtex/kind.rs
2021/06/03 | 843 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__biblatex_include_options.snap
2021/06/03 | 8414 | support/texlab/src/citation/name.rs
-2021/06/03 | 840044 | systems/win32/w32tex/ChangeLog
2021/06/03 | 839 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__equation_missing_end.snap
2021/06/03 | 8397894 | fonts/newtx.zip
2021/06/03 | 833 | support/texlab/src/syntax/latex.rs
@@ -484,7 +1208,6 @@
2021/06/03 | 685752 | systems/texlive/tlnet/archive/babel.source.r59439.tar.xz
2021/06/03 | 6843 | support/texlab/src/features/reference/entry.rs
2021/06/03 | 682661 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
-2021/06/03 | 6797896 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2021/06/03 | 677 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__structure_siblings.snap
2021/06/03 | 676 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__svg_include_options.snap
2021/06/03 | 6764 | macros/latex/contrib/ocgx2/ChangeLog
@@ -554,7 +1277,6 @@
2021/06/03 | 5381 | macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
2021/06/03 | 5361 | support/texlab/src/features/completion/component_command.rs
2021/06/03 | 5296 | support/texlab/src/features/definition/string.rs
-2021/06/03 | 52885348 | systems/win32/w32tex/latex-dev.tar.xz
2021/06/03 | 5267 | support/texlab/src/features/completion/color_model.rs
2021/06/03 | 521 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__structure_invalid_nesting.snap
2021/06/03 | 5217 | support/texlab/src/features/completion/include.rs
@@ -725,7 +1447,6 @@
2021/06/03 | 281 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__brace_group_missing_end.snap
2021/06/03 | 2801 | support/texlab/src/config.rs
2021/06/03 | 279 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__package_include_empty.snap
-2021/06/03 | 27928662 | systems/win32/miktex/tm/packages/ltxbase.tar.lzma
2021/06/03 | 277 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__lexer__tests__command_with_star.snap
2021/06/03 | 2773 | support/texlab/tests/integration/snapshots/integration__completion__latex__package_command.snap
2021/06/03 | 27577780 | systems/texlive/tlnet/archive/latex.doc.r59440.tar.xz
@@ -745,7 +1466,6 @@
2021/06/03 | 2586 | support/texlab/texlab.tex
2021/06/03 | 258588 | info/tex-nutshell/tex-nutshell.pdf
2021/06/03 | 2564 | support/texlab/src/workspace/children_expand.rs
-2021/06/03 | 2559837 | systems/win32/miktex/tm/packages/siunitx.tar.lzma
2021/06/03 | 25592 | systems/texlive/tlnet/archive/hep-paper.source.r59436.tar.xz
2021/06/03 | 2537816 | graphics/circuit_macros.zip
2021/06/03 | 2516989 | systems/win32/miktex/tm/packages/changes.tar.lzma
@@ -818,7 +1538,6 @@
2021/06/03 | 17408 | macros/latex/contrib/tuda-ci/tex/tudaposter.cls
2021/06/03 | 17242 | support/texlab/src/syntax/latex/cst.rs
2021/06/03 | 170 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__generic_command_empty.snap
-2021/06/03 | 1705213 | systems/win32/miktex/tm/packages/babel.tar.lzma
2021/06/03 | 1691220 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
2021/06/03 | 1687 | support/texlab/tests/integration/snapshots/integration__document_symbol__enumerate_flat.snap
2021/06/03 | 1686 | macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -833,7 +1552,6 @@
2021/06/03 | 166 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__generic_command_escape.snap
2021/06/03 | 16688 | macros/latex/contrib/tuda-ci/tex/tudaletter.cls
2021/06/03 | 1662 | support/texlab/src/syntax/bibtex/lexer.rs
-2021/06/03 | 1662190 | systems/win32/miktex/tm/packages/platex.tar.lzma
2021/06/03 | 16613 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
2021/06/03 | 1658914 | systems/win32/miktex/tm/packages/circuitikz.tar.lzma
2021/06/03 | 16188 | support/texlab/src/citation/ris.rs
@@ -884,7 +1602,6 @@
2021/06/03 | 1210 | support/texlab/tests/integration/snapshots/integration__completion__latex__citation.snap
2021/06/03 | 1209 | support/texlab/tests/integration/snapshots/integration__completion__latex__color_model_define_color_set.snap
2021/06/03 | 117 | support/texlab/src/features/formatting/snapshots/texlab__features__formatting__bibtex_internal__tests__command.snap
-2021/06/03 | 11573094 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
2021/06/03 | 11519 | support/texlab/tests/integration/document_symbol.rs
2021/06/03 | 114 | support/texlab/src/features/formatting/snapshots/texlab__features__formatting__bibtex_internal__tests__trailing_comma.snap
2021/06/03 | 114 | support/texlab/src/features/formatting/snapshots/texlab__features__formatting__bibtex_internal__tests__insert_braces.snap
@@ -920,7 +1637,6 @@
2021/06/03 | 10438 | support/texlab/src/features/semantic/bibtex.rs
2021/06/03 | 104160 | systems/texlive/tlnet/archive/siunitx.source.r59437.tar.xz
2021/06/03 | 1038 | support/texlab/src/syntax/bibtex/snapshots/texlab__syntax__bibtex__parser__tests__string_concatenation.snap
-2021/06/03 | 10369348 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz
2021/06/03 | 103642 | macros/latex/contrib/derivative/derivative.tex
2021/06/03 | 1035 | support/texlab/tests/integration/snapshots/integration__workspace_symbol__filter_type_item.snap
2021/06/03 | 102 | support/texlab/src/features/formatting/snapshots/texlab__features__formatting__bibtex_internal__tests__parens.snap
@@ -970,7 +1686,6 @@
2021/06/02 | 893 | graphics/circuit_macros/examples/MoreTable.m4
2021/06/02 | 893 | graphics/circuit_macros/doc/MoreTableMan.m4
2021/06/02 | 893291 | graphics/circuit_macros/examples/examples.pdf
-2021/06/02 | 88861 | macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
2021/06/02 | 886 | graphics/circuit_macros/examples/svg/quickSVG.m4
2021/06/02 | 8863 | macros/latex/base/ltnews17.tex
2021/06/02 | 8736 | macros/latex/base/ltthm.dtx
@@ -994,7 +1709,6 @@
2021/06/02 | 810 | graphics/circuit_macros/examples/svg/GroundsSVG.m4
2021/06/02 | 807 | graphics/circuit_macros/examples/Resistors.m4
2021/06/02 | 80670 | macros/latex/base/ltfssbas.dtx
-2021/06/02 | 802 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-abstract.tex
2021/06/02 | 801 | graphics/circuit_macros/doc/Potentiometers.m4
2021/06/02 | 8006 | graphics/circuit_macros/examples/svg/controlSVG.m4
2021/06/02 | 795324 | macros/latex/base/ltfilehook-code.pdf
@@ -1010,8 +1724,6 @@
2021/06/02 | 76725 | macros/latex/base/ltfssini.dtx
2021/06/02 | 7670 | graphics/circuit_macros/examples/Chuck.m4
2021/06/02 | 764 | graphics/circuit_macros/examples/mf/cct.tfm
-2021/06/02 | 762316 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
-2021/06/02 | 75 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-acknowledge.tex
2021/06/02 | 7546 | graphics/circuit_macros/examples/svg/RectifiersSVG.m4
2021/06/02 | 7533 | graphics/circuit_macros/doc/Logic.tex
2021/06/02 | 7524 | macros/latex/base/ltxguide.cls
@@ -1033,7 +1745,6 @@
2021/06/02 | 7221 | macros/latex/base/exscale.dtx
2021/06/02 | 7203 | graphics/circuit_macros/examples/svg/lcctSVG.m4
2021/06/02 | 7200 | macros/latex/base/sample2e.tex
-2021/06/02 | 716372 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
2021/06/02 | 715 | graphics/circuit_macros/examples/svg/ConnectorsSVG.m4
2021/06/02 | 715 | graphics/circuit_macros/examples/psfrag/examplespsfrag.tex
2021/06/02 | 7127 | graphics/circuit_macros/examples/lcct.m4
@@ -1071,7 +1782,6 @@
2021/06/02 | 6498 | graphics/circuit_macros/examples/Escher.m4
2021/06/02 | 64748 | macros/latex/base/ltluatex.dtx
2021/06/02 | 645 | graphics/circuit_macros/examples/Floor.m4
-2021/06/02 | 64462 | macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
2021/06/02 | 64171 | macros/luatex/latex/lua-typo/doc/lua-typo-fr.pdf
2021/06/02 | 6413 | graphics/circuit_macros/examples/svg/CanLogicSVG.m4
2021/06/02 | 63 | graphics/circuit_macros/examples/svg/local_init.m4
@@ -1098,7 +1808,6 @@
2021/06/02 | 5917 | macros/latex/base/latexrelease.ins
2021/06/02 | 5890 | graphics/circuit_macros/examples/Csource.m4
2021/06/02 | 58703 | macros/latex/base/ltmiscen.dtx
-2021/06/02 | 586912 | macros/latex/contrib/bjfuthesis/example/figures/ripplenet-framework.png
2021/06/02 | 5864 | macros/latex/base/ltidxglo.dtx
2021/06/02 | 58556 | macros/latex/base/ltfssaxes.dtx
2021/06/02 | 5847 | graphics/circuit_macros/examples/svg/GeometrySVG.m4
@@ -1128,7 +1837,6 @@
2021/06/02 | 546162 | macros/latex/base/ltnews32.pdf
2021/06/02 | 545 | graphics/circuit_macros/examples/svg/RotboxSVG.m4
2021/06/02 | 545883 | macros/latex/base/ltfilehook-doc.pdf
-2021/06/02 | 545274 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
2021/06/02 | 5425 | macros/latex/base/ltnews07.tex
2021/06/02 | 5412 | graphics/circuit_macros/examples/svg/roseSVG.m4
2021/06/02 | 5400 | macros/latex/base/ltnews12.tex
@@ -1155,19 +1863,15 @@
2021/06/02 | 5200 | macros/latex/base/ltnews03.tex
2021/06/02 | 518 | graphics/circuit_macros/examples/Rotbox.m4
2021/06/02 | 5171 | graphics/circuit_macros/examples/svg/FlowSVG.m4
-2021/06/02 | 515568 | macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.png
2021/06/02 | 5137 | graphics/circuit_macros/doc/NPDT.tex
2021/06/02 | 511855 | macros/latex/base/ltnews30.pdf
2021/06/02 | 5106 | graphics/circuit_macros/examples/svg/Makefile
2021/06/02 | 50 | graphics/circuit_macros/doc/bitr.m4
2021/06/02 | 5041 | macros/latex/base/latexsym.ins
-2021/06/02 | 503309 | macros/latex/contrib/bjfuthesis/example/figures/general-details.png
2021/06/02 | 503186 | macros/latex/base/docstrip.pdf
-2021/06/02 | 50059200 | systems/win32/w32tex/ltxpkgs.tar.xz
2021/06/02 | 499 | graphics/circuit_macros/examples/NLG.m4
2021/06/02 | 499 | graphics/circuit_macros/doc/NLGMan.m4
2021/06/02 | 4964 | graphics/circuit_macros/doc/Multiplexer.tex
-2021/06/02 | 4957 | macros/latex/contrib/bjfuthesis/bjfuthesis.cls
2021/06/02 | 4950 | macros/latex/base/lthyphen.dtx
2021/06/02 | 494 | graphics/circuit_macros/examples/AmpTable.m4
2021/06/02 | 494 | graphics/circuit_macros/doc/AmpTableMan.m4
@@ -1178,7 +1882,6 @@
2021/06/02 | 482 | graphics/circuit_macros/examples/clock.m4
2021/06/02 | 4828 | graphics/circuit_macros/doc/Makefile
2021/06/02 | 4817 | graphics/circuit_macros/doc/Demultiplexer.tex
-2021/06/02 | 4808696 | macros/latex/contrib/bjfuthesis/example/thesis.pdf
2021/06/02 | 479331 | macros/latex/base/ltcmdhooks-doc.pdf
2021/06/02 | 47901 | macros/latex/base/lttab.dtx
2021/06/02 | 4789 | graphics/circuit_macros/doc/Fuses.tex
@@ -1186,6 +1889,7 @@
2021/06/02 | 4762 | macros/latex/base/ltlength.dtx
2021/06/02 | 4751 | graphics/circuit_macros/examples/Shaky.m4
2021/06/02 | 4751 | graphics/circuit_macros/examples/Flow.m4
+2021/06/02 | 474 | macros/latex/required/firstaid/README.md
2021/06/02 | 4683 | graphics/circuit_macros/examples/psfrag/Makefile
2021/06/02 | 468043 | macros/latex/base/latexchanges.pdf
2021/06/02 | 4666 | graphics/circuit_macros/doc/Nport.tex
@@ -1202,7 +1906,6 @@
2021/06/02 | 44864 | systems/texlive/tlnet/archive/l3packages.source.r59425.tar.xz
2021/06/02 | 44724 | macros/latex/base/ltfinal.dtx
2021/06/02 | 4459 | graphics/circuit_macros/examples/Lyap.m4
-2021/06/02 | 445624 | macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.png
2021/06/02 | 44409 | macros/latex/base/latexrelease.dtx
2021/06/02 | 442 | graphics/circuit_macros/examples/Wheat.m4
2021/06/02 | 4390 | macros/latex/base/ec.ins
@@ -1254,7 +1957,6 @@
2021/06/02 | 4079 | graphics/circuit_macros/INSTALL
2021/06/02 | 40795 | macros/latex/base/latexchanges.tex
2021/06/02 | 404 | graphics/circuit_macros/doc/Series.m4
-2021/06/02 | 4030 | macros/latex/contrib/bjfuthesis/documentation/contents/doc-mainbody.tex
2021/06/02 | 402779 | macros/latex/base/clsguide.pdf
2021/06/02 | 4023 | graphics/circuit_macros/examples/Euro.m4
2021/06/02 | 4015 | graphics/circuit_macros/doc/SwitchesMan.m4
@@ -1276,7 +1978,6 @@
2021/06/02 | 3785 | graphics/circuit_macros/examples/Mixer.m4
2021/06/02 | 3781 | macros/latex/base/tulm.ins
2021/06/02 | 3778 | graphics/circuit_macros/examples/svg/PushPullSVG.m4
-2021/06/02 | 3776 | macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
2021/06/02 | 376392 | macros/latex/base/changes.txt
2021/06/02 | 3756 | graphics/circuit_macros/examples/svg/randomSVG.m4
2021/06/02 | 374051 | macros/latex/base/slides.pdf
@@ -1296,7 +1997,6 @@
2021/06/02 | 35302 | macros/latex/base/ltdirchk.dtx
2021/06/02 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx
2021/06/02 | 3522 | graphics/circuit_macros/examples/svg/ex12SVG.m4
-2021/06/02 | 35149 | macros/latex/contrib/bjfuthesis/LICENSE
2021/06/02 | 3509 | graphics/circuit_macros/examples/Buttons.m4
2021/06/02 | 3500 | macros/latex/base/README.md
2021/06/02 | 3489 | graphics/circuit_macros/examples/svg/MixerSVG.m4
@@ -1377,6 +2077,7 @@
2021/06/02 | 2792 | graphics/circuit_macros/examples/OpAmpFilter.m4
2021/06/02 | 2761 | graphics/circuit_macros/examples/sfg.m4
2021/06/02 | 2744 | fonts/newtx/vf/ntxbmi.vf
+2021/06/02 | 2740 | macros/latex/required/firstaid/firstaid.ins
2021/06/02 | 2740 | fonts/newtx/vf/ntxbmi1.vf
2021/06/02 | 2740 | fonts/newtx/vf/ntxbmi0.vf
2021/06/02 | 2738 | macros/latex/base/tex2.txt
@@ -1434,7 +2135,6 @@
2021/06/02 | 242886 | macros/latex/base/cfgguide.pdf
2021/06/02 | 24141 | graphics/circuit_macros/examples/svg/UNOSVG.m4
2021/06/02 | 2412 | graphics/circuit_macros/examples/ex00.m4
-2021/06/02 | 240 | macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.tex
2021/06/02 | 2402 | graphics/circuit_macros/examples/Adder.m4
2021/06/02 | 24015 | macros/latex/base/lterror.dtx
2021/06/02 | 239681 | macros/latex/base/cyrguide.pdf
@@ -1449,13 +2149,14 @@
2021/06/02 | 233 | graphics/circuit_macros/examples/Ccurve.m4
2021/06/02 | 233995 | macros/latex/base/proc.pdf
2021/06/02 | 23386 | macros/latex/base/lppl.tex
+2021/06/02 | 233275 | install/macros/latex/required/latex-firstaid.tds.zip
2021/06/02 | 2323 | macros/luatex/latex/lua-typo/README.md
2021/06/02 | 2304 | graphics/circuit_macros/examples/Loglog.m4
+2021/06/02 | 228448 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
2021/06/02 | 2279 | graphics/circuit_macros/examples/ex01.m4
2021/06/02 | 227884 | systems/texlive/tlnet/archive/tools.source.r59424.tar.xz
2021/06/02 | 22676 | macros/latex/base/ltcounts.dtx
2021/06/02 | 2262 | graphics/circuit_macros/examples/Geometry.m4
-2021/06/02 | 224 | macros/latex/contrib/bjfuthesis/example/thesis.tex
2021/06/02 | 22456 | macros/latex/base/cfgguide.tex
2021/06/02 | 2241 | graphics/circuit_macros/examples/svg/LoglogSVG.m4
2021/06/02 | 2225 | graphics/circuit_macros/doc/SourcesMan.m4
@@ -1488,9 +2189,9 @@
2021/06/02 | 2086 | graphics/circuit_macros/doc/relaycoilMan.m4
2021/06/02 | 2085 | graphics/circuit_macros/pgf.m4
2021/06/02 | 208359 | macros/latex/base/latexsym.pdf
-2021/06/02 | 207622 | macros/latex/contrib/bjfuthesis/example/cover.pdf
2021/06/02 | 2069 | graphics/circuit_macros/examples/svg/relaycoilSVG.m4
2021/06/02 | 2068 | graphics/circuit_macros/examples/I2L.m4
+2021/06/02 | 2065 | macros/latex/required/firstaid/changes.txt
2021/06/02 | 2051 | graphics/circuit_macros/examples/svg/JackSVG.m4
2021/06/02 | 205162 | macros/latex/base/ltnews25.pdf
2021/06/02 | 20486 | macros/latex/base/lgc2.err
@@ -1555,8 +2256,8 @@
2021/06/02 | 1807932 | systems/texlive/tlnet/archive/l3packages.doc.r59425.tar.xz
2021/06/02 | 1802 | graphics/circuit_macros/examples/Pconn.m4
2021/06/02 | 1802 | graphics/circuit_macros/doc/PconnMan.m4
-2021/06/02 | 180215 | macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.png
2021/06/02 | 179 | macros/latex/base/ltshipout-doc.tex
+2021/06/02 | 17959 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
2021/06/02 | 179141 | macros/latex/contrib/biblatex-contrib/biblatex-cv.zip
2021/06/02 | 177 | macros/latex/base/lthooks-doc.tex
2021/06/02 | 177 | macros/latex/base/ltcmdhooks-doc.tex
@@ -1641,7 +2342,6 @@
2021/06/02 | 1464 | graphics/circuit_macros/doc/Taps.m4
2021/06/02 | 146200 | macros/latex/base/webcomp.pdf
2021/06/02 | 1458 | graphics/circuit_macros/examples/header.tex
-2021/06/02 | 145720 | macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
2021/06/02 | 144 | graphics/circuit_macros/doc/Thermal.m4
2021/06/02 | 144867572 | systems/win32/w32tex/context.tar.xz
2021/06/02 | 1444 | graphics/circuit_macros/examples/svg/ThreeSVG.m4
@@ -1740,10 +2440,8 @@
2021/06/02 | 10971144 | systems/texlive/tlnet/archive/l3kernel.doc.r59425.tar.xz
2021/06/02 | 1093 | graphics/circuit_macros/examples/svg/ex02SVG.m4
2021/06/02 | 1090 | graphics/circuit_macros/examples/svg/AntennasSVG.m4
-2021/06/02 | 10909 | macros/latex/contrib/bjfuthesis/example/bibliography.bib
2021/06/02 | 10871 | macros/latex/base/manifest.txt
2021/06/02 | 1086052 | systems/win32/w32tex/win64/extractpdfmark-w64.tar.xz
-2021/06/02 | 108191 | macros/latex/contrib/bjfuthesis/example/figures/enhanced-recommendation.png
2021/06/02 | 1076 | graphics/circuit_macros/examples/mf/mftest
2021/06/02 | 1075 | graphics/circuit_macros/examples/bistable.m4
2021/06/02 | 1074 | graphics/circuit_macros/doc/CapacitorsMan.m4
@@ -1942,7 +2640,6 @@
2021/06/01 | 3522 | fonts/musixtex-fonts/doc/musixtex-fonts-install.tex
2021/06/01 | 351189 | macros/latex/required/tools/theorem.pdf
2021/06/01 | 34691 | graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex
-2021/06/01 | 3437520 | systems/win32/w32tex/tex4htk-w32.tar.xz
2021/06/01 | 33916 | macros/latex/required/graphics/changes.txt
2021/06/01 | 33863 | macros/latex/required/tools/varioref-2016-02-16.sty
2021/06/01 | 3374 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex
@@ -2126,7 +2823,6 @@
2021/06/01 | 12348 | graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
2021/06/01 | 123018 | graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex
2021/06/01 | 1228 | macros/latex/contrib/l3packages/l3keys2e.ins
-2021/06/01 | 122813741 | macros/context/latest/cont-tmf.zip
2021/06/01 | 122713 | macros/latex/contrib/l3kernel/l3news01.pdf
2021/06/01 | 12133 | macros/latex/required/tools/longtable-2020-01-07.sty
2021/06/01 | 12005 | macros/latex/required/amsmath/technote.tex
@@ -2427,6 +3123,7 @@
2021/05/31 | 251 | language/japanese/uplatex/uplatex.ini
2021/05/31 | 2500 | language/japanese/uptex-base/samples/simple-sjis.tex
2021/05/31 | 2493 | language/japanese/uptex-base/samples/simple-euc.tex
+2021/05/31 | 2397 | language/japanese/pxbase/README.md
2021/05/31 | 2384 | language/japanese/uptex-base/samples/00readme_uptex_samples.txt
2021/05/31 | 237 | language/japanese/uptex-base/samples/jstr-uptex.mp
2021/05/31 | 2375 | macros/latex/contrib/thuthesis/thuthesis-example.tex
@@ -2441,6 +3138,7 @@
2021/05/31 | 22237 | macros/latex/contrib/translator/translator.tex
2021/05/31 | 221 | language/japanese/uptex-base/samples/jstr-sjis.mp
2021/05/31 | 221 | language/japanese/uptex-base/samples/jstr-euc.mp
+2021/05/31 | 21625 | language/japanese/pxbase/pxbabel.tex
2021/05/31 | 2145 | language/japanese/uptex-base/README_uptex.txt
2021/05/31 | 2110 | language/japanese/pxjahyper/README.md
2021/05/31 | 209864 | macros/latex/contrib/translator/translator.pdf
@@ -2511,6 +3209,7 @@
2021/05/31 | 1565 | macros/latex/contrib/translator/translator-months-dictionary-Greek.dict
2021/05/31 | 1554 | language/japanese/ptex-base/LICENSE
2021/05/31 | 1534860 | support/TeX4ht/source/tex4ht-fonts-noncjk.tex
+2021/05/31 | 151912 | language/japanese/pxbase/pxbabel.pdf
2021/05/31 | 150413 | language/japanese/plautopatch.zip
2021/05/31 | 1501 | macros/latex/contrib/translator/translator-months-dictionary-Russian.dict
2021/05/31 | 1500 | language/japanese/plautopatch/LICENSE
@@ -2584,6 +3283,7 @@
2021/05/31 | 1066 | language/japanese/platex-tools/plextcolortbl.sty
2021/05/31 | 10559 | fonts/newpx/afm/pxsys.afm
2021/05/31 | 10491 | language/japanese/uptex-base/samples/misc-check-v-utf8.tex
+2021/05/31 | 10329 | language/japanese/pxbase/README-ja.md
2021/05/31 | 1029 | macros/latex/contrib/translator/translator-bibliography-dictionary-Czech.dict
2021/05/31 | 10230540 | systems/texlive/tlnet/archive/reledmac.doc.r59398.tar.xz
2021/05/31 | 1001 | macros/latex/contrib/translator/translator-bibliography-dictionary-Croatian.dict
@@ -2675,6 +3375,7 @@
2021/05/30 | 75270 | macros/latex/contrib/changes/examples/changes.example.packageoptions.ulem.pdf
2021/05/30 | 74370 | macros/latex/contrib/changes/examples/changes.example.authormarkup.brackets.pdf
2021/05/30 | 73913 | macros/latex/contrib/changes/examples/changes.example.authormarkup.none.pdf
+2021/05/30 | 7352 | language/japanese/pxbase/pxjsfenc.def
2021/05/30 | 720848 | systems/texlive/tlnet/archive/schulschriften.doc.r59388.tar.xz
2021/05/30 | 68141 | macros/latex/contrib/changes/examples/changes.example.final.pdf
2021/05/30 | 6716 | systems/texlive/tlnet/archive/keyfloat.r59389.tar.xz
@@ -2714,6 +3415,7 @@
2021/05/30 | 454516 | macros/latex/contrib/changes/changes.english.withcode.pdf
2021/05/30 | 442128 | systems/texlive/tlnet/archive/lwarp.source.r59390.tar.xz
2021/05/30 | 43 | macros/latex/contrib/changes/userdoc/usepackage_defaultcolor_changes_in.tex
+2021/05/30 | 434 | language/japanese/pxbase/pxbase.sty
2021/05/30 | 42 | macros/latex/contrib/changes/userdoc/usepackage_todonotes_changes_in.tex
2021/05/30 | 42081 | macros/latex/contrib/changes/userdoc/changes.de.tex
2021/05/30 | 41 | macros/latex/contrib/changes/userdoc/usepackage_truncate_changes_in.tex
@@ -2736,6 +3438,7 @@
2021/05/30 | 32047 | macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
2021/05/30 | 31 | macros/latex/contrib/changes/userdoc/setauthormarkup_in.tex
2021/05/30 | 31448 | macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
+2021/05/30 | 3129 | language/japanese/pxbase/upkcat.sty
2021/05/30 | 30 | macros/latex/contrib/changes/userdoc/setsocextension_in.tex
2021/05/30 | 30 | macros/latex/contrib/changes/userdoc/setlocextension_in.tex
2021/05/30 | 30 | macros/latex/contrib/changes/userdoc/setaddedmarkup_in.tex
@@ -2773,6 +3476,7 @@
2021/05/30 | 221703 | macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
2021/05/30 | 21 | macros/latex/contrib/changes/userdoc/usepackage_changes_in.tex
2021/05/30 | 210267 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+2021/05/30 | 20907 | language/japanese/pxbase/pxbabel.sty
2021/05/30 | 209050 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
2021/05/30 | 208756 | macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
2021/05/30 | 205460 | systems/texlive/tlnet/archive/lwarp.r59390.tar.xz
@@ -2793,6 +3497,7 @@
2021/05/30 | 196243 | macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
2021/05/30 | 195653 | macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
2021/05/30 | 192572 | macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
+2021/05/30 | 19112 | language/japanese/pxbase/pxbasenc.def
2021/05/30 | 190129 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
2021/05/30 | 189772 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
2021/05/30 | 189364 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
@@ -2815,6 +3520,7 @@
2021/05/30 | 154407 | language/japanese/pxjahyper.zip
2021/05/30 | 151 | macros/latex/contrib/changes/userdoc/usepackage_commentmarkup_changes_ex.tex
2021/05/30 | 147 | macros/latex/contrib/changes/userdoc/usepackage_deletedmarkup_changes_ex.tex
+2021/05/30 | 145720 | macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
2021/05/30 | 143467 | macros/latex/contrib/changes/examples/changes.example.screenshot.pdf
2021/05/30 | 142 | macros/latex/contrib/changes/userdoc/usepackage_addedmarkup_changes_ex.tex
2021/05/30 | 13309241 | macros/latex/contrib/reledmac.zip
@@ -2833,192 +3539,3 @@
2021/05/30 | 104166 | macros/latex/contrib/changes/examples/changes.example.packageoptions.todonotes.pdf
2021/05/30 | 10321 | macros/latex/contrib/changes/changes.ins
2021/05/30 | 1004380 | systems/texlive/tlnet/archive/keyfloat.doc.r59389.tar.xz
-2021/05/29 | 99972418 | systems/win32/w32tex/TLW64/tl-win64.zip
-2021/05/29 | 998647 | fonts/schulschriften/doc/schulschriften.pdf
-2021/05/29 | 9801927 | systems/win32/miktex/tm/packages/noto-emoji.tar.lzma
-2021/05/29 | 9790 | fonts/schulschriften/source/wesa/wesa14_gr.mf
-2021/05/29 | 96709 | systems/win32/miktex/tm/packages/minimalist.tar.lzma
-2021/05/29 | 942 | fonts/schulschriften/tex/wesu/t1wesu.fd
-2021/05/29 | 9373 | fonts/schulschriften/source/wela/wela14_gr.mf
-2021/05/29 | 9079 | fonts/schulschriften/source/wedn/wedn14_kl.mf
-2021/05/29 | 9001 | fonts/schulschriften/source/wedn/wedn14_gr.mf
-2021/05/29 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
-2021/05/29 | 8779 | fonts/schulschriften/source/wela/wela14_kl.mf
-2021/05/29 | 8706 | fonts/schulschriften/source/wesu/wesu14_gr.mf
-2021/05/29 | 8655 | fonts/schulschriften/source/wesu/wesu14_kl.mf
-2021/05/29 | 8208 | systems/texlive/tlnet/archive/jlreq.source.r59376.tar.xz
-2021/05/29 | 8060 | systems/texlive/tlnet/archive/fei.r59380.tar.xz
-2021/05/29 | 79 | fonts/schulschriften/source/wela/welasl14.mf
-2021/05/29 | 7997 | fonts/newpx/tex/newpxtext.sty
-2021/05/29 | 7978 | fonts/schulschriften/source/wesa/wesa14_kl.mf
-2021/05/29 | 796 | fonts/schulschriften/tex/weva/t1weva.fd
-2021/05/29 | 761 | fonts/schulschriften/tex/wela/t1wela.fd
-2021/05/29 | 75465 | systems/win32/miktex/tm/packages/polexpr.tar.lzma
-2021/05/29 | 752 | fonts/schulschriften/tex/wedn/t1wedn.fd
-2021/05/29 | 749 | fonts/schulschriften/tex/wesa/t1wesa.fd
-2021/05/29 | 73 | fonts/schulschriften/source/wedn/wednsl14.mf
-2021/05/29 | 72 | fonts/schulschriften/source/wesa/wesasl14.mf
-2021/05/29 | 729868 | systems/texlive/tlnet/archive/translation-biblatex-de.doc.r59382.tar.xz
-2021/05/29 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
-2021/05/29 | 68725 | systems/win32/miktex/tm/packages/ot-tableau.tar.lzma
-2021/05/29 | 655370 | systems/win32/miktex/tm/packages/jlreq.tar.lzma
-2021/05/29 | 636766 | systems/win32/miktex/tm/packages/huawei.tar.lzma
-2021/05/29 | 635404 | fonts/schulschriften/tex/wesu/wesu_fonttabelle.eps
-2021/05/29 | 630443 | fonts/schulschriften/tex/wedn/wedn_fonttabelle.eps
-2021/05/29 | 6296 | systems/texlive/tlnet/archive/tokcycle.r59377.tar.xz
-2021/05/29 | 5912 | fonts/schulschriften/source/weva/weva14_lig.mf
-2021/05/29 | 587478 | fonts/schulschriften/tex/wela/wela_fonttabelle.eps
-2021/05/29 | 585861 | fonts/schulschriften/tex/wesa/wesa_fonttabelle.eps
-2021/05/29 | 5839 | fonts/schulschriften/source/weva/weva14_gr.mf
-2021/05/29 | 5777 | fonts/schulschriften/source/weva/weva14_kl.mf
-2021/05/29 | 5569 | language/japanese/pxjahyper/README-ja.md
-2021/05/29 | 54 | fonts/schulschriften/source/weva/wevaubsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/weva/wevaebsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/wesu/wesuubsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/wesu/wesuebsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/wesa/wesaubsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/wesa/wesaebsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/wela/welaubsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/wela/welaebsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/wedn/wednubsl14.mf
-2021/05/29 | 54 | fonts/schulschriften/source/wedn/wednebsl14.mf
-2021/05/29 | 5456 | macros/latex/contrib/keyfloat/images/image.pdf
-2021/05/29 | 53 | fonts/schulschriften/source/weva/wevasbsl14.mf
-2021/05/29 | 53 | fonts/schulschriften/source/wesu/wesusbsl14.mf
-2021/05/29 | 53 | fonts/schulschriften/source/wesa/wesasbsl14.mf
-2021/05/29 | 53 | fonts/schulschriften/source/wela/welasbsl14.mf
-2021/05/29 | 53 | fonts/schulschriften/source/wedn/wednsbsl14.mf
-2021/05/29 | 5303 | fonts/schulschriften/tex/schulschriften_ltx.sty
-2021/05/29 | 521692 | systems/win32/miktex/tm/packages/fei.tar.lzma
-2021/05/29 | 521097 | systems/win32/miktex/tm/packages/translations.tar.lzma
-2021/05/29 | 504148 | systems/texlive/tlnet/archive/jlreq.doc.r59376.tar.xz
-2021/05/29 | 49 | fonts/schulschriften/source/wesa/wesabxsl14.mf
-2021/05/29 | 48 | fonts/schulschriften/source/weva/wevabxsl14.mf
-2021/05/29 | 48 | fonts/schulschriften/source/wesu/wesubxsl14.mf
-2021/05/29 | 48 | fonts/schulschriften/source/wela/welabxsl14.mf
-2021/05/29 | 48 | fonts/schulschriften/source/wedn/wednbxsl14.mf
-2021/05/29 | 48698 | fonts/schulschriften/source/wela/wela14_lig.mf
-2021/05/29 | 4868 | fonts/schulschriften/README
-2021/05/29 | 482757 | systems/win32/miktex/tm/packages/beaulivre.tar.lzma
-2021/05/29 | 481928 | systems/texlive/tlnet/archive/fei.doc.r59380.tar.xz
-2021/05/29 | 4806814 | systems/win32/miktex/tm/packages/tcolorbox.tar.lzma
-2021/05/29 | 48010 | fonts/schulschriften/source/wesa/wesa14_lig.mf
-2021/05/29 | 476872 | systems/win32/miktex/tm/packages/sr-vorl.tar.lzma
-2021/05/29 | 47213 | fonts/schulschriften/source/wedn/wedn14_lig.mf
-2021/05/29 | 4700 | macros/latex/contrib/keyfloat/images/image2.pdf
-2021/05/29 | 466972 | fonts/schulschriften/tex/weva/weva_fonttabelle.eps
-2021/05/29 | 45894 | language/japanese/pxjahyper/pxjahyper.sty
-2021/05/29 | 453076 | systems/win32/miktex/tm/packages/simplivre.tar.lzma
-2021/05/29 | 452 | systems/texlive/tlnet/archive/translation-biblatex-de.r59382.tar.xz
-2021/05/29 | 450140 | systems/win32/miktex/tm/packages/lebhart.tar.lzma
-2021/05/29 | 4421 | fonts/schulschriften/tex/schulschriften_lin.sty
-2021/05/29 | 441 | fonts/schulschriften/tex/schulschriften_xpl.tex
-2021/05/29 | 43 | fonts/schulschriften/source/weva/wevaub14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/weva/wevaeb14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/wesu/wesuub14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/wesu/wesueb14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/wesa/wesaub14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/wesa/wesaeb14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/wela/welaub14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/wela/welaeb14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/wedn/wednub14.mf
-2021/05/29 | 43 | fonts/schulschriften/source/wedn/wedneb14.mf
-2021/05/29 | 42 | fonts/schulschriften/source/weva/wevasl14.mf
-2021/05/29 | 42 | fonts/schulschriften/source/weva/wevasb14.mf
-2021/05/29 | 42 | fonts/schulschriften/source/wesu/wesusb14.mf
-2021/05/29 | 42 | fonts/schulschriften/source/wesa/wesasb14.mf
-2021/05/29 | 42 | fonts/schulschriften/source/wela/welasb14.mf
-2021/05/29 | 42 | fonts/schulschriften/source/wedn/wednsb14.mf
-2021/05/29 | 4249491 | install/macros/latex/contrib/lwarp.tds.zip
-2021/05/29 | 42250 | fonts/schulschriften/doc/schulschriften.tex
-2021/05/29 | 418975 | systems/win32/miktex/tm/packages/expkv-def.tar.lzma
-2021/05/29 | 393866 | systems/win32/miktex/tm/packages/fontsize.tar.lzma
-2021/05/29 | 38 | fonts/schulschriften/source/wesa/wesabx14.mf
-2021/05/29 | 384523 | systems/win32/miktex/tm/packages/einfart.tar.lzma
-2021/05/29 | 37 | fonts/schulschriften/source/weva/wevabx14.mf
-2021/05/29 | 37 | fonts/schulschriften/source/wesu/wesubx14.mf
-2021/05/29 | 37 | fonts/schulschriften/source/wela/welabx14.mf
-2021/05/29 | 37 | fonts/schulschriften/source/wedn/wednbx14.mf
-2021/05/29 | 37229 | fonts/schulschriften/source/wesu/wesu14_lig.mf
-2021/05/29 | 3668624 | macros/latex/contrib/lwarp.zip
-2021/05/29 | 366257 | systems/win32/miktex/tm/packages/projlib.tar.lzma
-2021/05/29 | 3638528 | systems/win32/miktex/tm/packages/acmart.tar.lzma
-2021/05/29 | 362691 | systems/win32/miktex/tm/packages/tabularray.tar.lzma
-2021/05/29 | 34876 | systems/win32/miktex/tm/packages/ninecolors.tar.lzma
-2021/05/29 | 3480065 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
-2021/05/29 | 3368466 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma
-2021/05/29 | 3327259 | systems/win32/miktex/tm/packages/acrotex.tar.lzma
-2021/05/29 | 3307 | language/japanese/pxjahyper/pxjahyper-enc.sty
-2021/05/29 | 33073 | macros/latex/contrib/lwarp/lwarp.ins
-2021/05/29 | 3203770 | macros/latex/contrib/lwarp/lwarp.pdf
-2021/05/29 | 318658 | systems/win32/miktex/tm/packages/xetexko.tar.lzma
-2021/05/29 | 3160492 | systems/win32/miktex/tm/packages/kpfonts-otf.tar.lzma
-2021/05/29 | 30760 | systems/texlive/tlnet/archive/fei.source.r59380.tar.xz
-2021/05/29 | 3075881 | systems/win32/miktex/tm/packages/beamer.tar.lzma
-2021/05/29 | 306 | fonts/schulschriften/tex/wela/wela.sty
-2021/05/29 | 301 | fonts/schulschriften/tex/wedn/wedn.sty
-2021/05/29 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt
-2021/05/29 | 293 | fonts/schulschriften/tex/wesa/wesa.sty
-2021/05/29 | 29001 | macros/latex/contrib/lwarp/lwarpmk.lua
-2021/05/29 | 2848 | language/japanese/pxjahyper/pxjahyper-uni.def
-2021/05/29 | 280 | fonts/schulschriften/tex/wesu/wesu.sty
-2021/05/29 | 274 | fonts/schulschriften/tex/weva/weva.sty
-2021/05/29 | 2731136 | macros/latex/contrib/lwarp/lwarp.dtx
-2021/05/29 | 271335 | systems/win32/miktex/tm/packages/ltximg.tar.lzma
-2021/05/29 | 2684280 | info/biblio/sgml.bib
-2021/05/29 | 263566 | systems/win32/miktex/tm/packages/pbalance.tar.lzma
-2021/05/29 | 2624826 | systems/win32/miktex/tm/packages/xint.tar.lzma
-2021/05/29 | 240250 | systems/win32/miktex/tm/packages/bmstu-iu8.tar.lzma
-2021/05/29 | 23852 | language/japanese/pxjahyper/pxjahyper-ajm.def
-2021/05/29 | 22687686 | systems/win32/miktex/tm/packages/newcomputermodern.tar.lzma
-2021/05/29 | 222183 | systems/win32/miktex/tm/packages/babel-spanish.tar.lzma
-2021/05/29 | 217598 | systems/win32/miktex/tm/packages/lualibs.tar.lzma
-2021/05/29 | 216 | fonts/schulschriften/source/wela/wela14_end.mf
-2021/05/29 | 211 | fonts/schulschriften/source/wedn/wedn14_end.mf
-2021/05/29 | 210 | fonts/schulschriften/source/wesa/wesa14_end.mf
-2021/05/29 | 208174 | systems/win32/miktex/tm/packages/mindflow.tar.lzma
-2021/05/29 | 201 | fonts/schulschriften/source/wesu/wesu14_end.mf
-2021/05/29 | 199926 | systems/win32/miktex/tm/packages/suppose.tar.lzma
-2021/05/29 | 188218 | systems/win32/miktex/tm/packages/aalok.tar.lzma
-2021/05/29 | 1878488 | fonts/schulschriften.zip
-2021/05/29 | 186 | fonts/schulschriften/source/wesu/wesubsl14.mf
-2021/05/29 | 1821936 | systems/texlive/tlnet/archive/luatex.win32.r59375.tar.xz
-2021/05/29 | 1790 | fonts/xcharter/tex/OT1XCharterTH-osf.fd
-2021/05/29 | 1789 | fonts/xcharter/tex/LY1XCharterTH-osf.fd
-2021/05/29 | 1766 | fonts/xcharter/tex/T1XCharterTH-osf.fd
-2021/05/29 | 17156 | fonts/schulschriften/source/wedn/wedn14_def.mf
-2021/05/29 | 170 | fonts/schulschriften/source/wesu/wesub14.mf
-2021/05/29 | 1669 | fonts/schulschriften/source/wesu/wesu14.mf
-2021/05/29 | 1653 | fonts/schulschriften/tex/schulschriften_ltx.tex
-2021/05/29 | 1644 | macros/latex/contrib/keyfloat/keyfloat.ins
-2021/05/29 | 1624 | macros/latex/contrib/lwarp/README.txt
-2021/05/29 | 1622 | fonts/schulschriften/source/wela/wela14.mf
-2021/05/29 | 158283 | systems/win32/miktex/tm/packages/pxbase.tar.lzma
-2021/05/29 | 1579417 | systems/win32/miktex/tm/packages/fithesis.tar.lzma
-2021/05/29 | 1565 | fonts/schulschriften/source/wedn/wedn14.mf
-2021/05/29 | 1556 | systems/texlive/tlnet/archive/collection-publishers.r59378.tar.xz
-2021/05/29 | 1556 | fonts/schulschriften/source/wesa/wesa14.mf
-2021/05/29 | 15555 | fonts/schulschriften/source/wela/wela14_def.mf
-2021/05/29 | 154 | fonts/schulschriften/source/wesu/wesusl14.mf
-2021/05/29 | 14884 | fonts/schulschriften/source/wesa/wesa14_def.mf
-2021/05/29 | 143734 | macros/latex/contrib/keyfloat/keyfloat.dtx
-2021/05/29 | 14180 | fonts/schulschriften/source/wedn/wedn14_sz.mf
-2021/05/29 | 14175 | fonts/schulschriften/source/wela/wela14_sz.mf
-2021/05/29 | 14155 | fonts/schulschriften/source/wesa/wesa14_sz.mf
-2021/05/29 | 13587 | language/japanese/pxjahyper/pxjahyper.tex
-2021/05/29 | 135864 | systems/texlive/tlnet/archive/jlreq.r59376.tar.xz
-2021/05/29 | 1356 | fonts/schulschriften/source/weva/weva14.mf
-2021/05/29 | 1278120 | systems/win32/miktex/tm/packages/econ-bst.tar.lzma
-2021/05/29 | 12746 | fonts/schulschriften/source/wesu/wesu14_def.mf
-2021/05/29 | 127370 | language/japanese/pxjahyper/pxjahyper.pdf
-2021/05/29 | 1158849 | systems/win32/miktex/tm/packages/tokcycle.tar.lzma
-2021/05/29 | 11566 | fonts/schulschriften/source/weva/weva14_def.mf
-2021/05/29 | 1151308 | systems/texlive/tlnet/archive/tokcycle.doc.r59377.tar.xz
-2021/05/29 | 1144 | macros/latex/contrib/keyfloat/README.txt
-2021/05/29 | 1110294 | systems/win32/miktex/tm/packages/luaotfload.tar.lzma
-2021/05/29 | 1096137 | systems/win32/miktex/tm/packages/suftesi.tar.lzma
-2021/05/29 | 10516 | fonts/schulschriften/source/wesu/wesu14_sz.mf
-2021/05/29 | 1036953 | macros/latex/contrib/keyfloat.zip
-2021/05/29 | 1008908 | macros/latex/contrib/keyfloat/keyfloat.pdf
-2021/05/29 | 10042 | fonts/schulschriften/source/weva/weva14_sz.mf
-2021/05/29 | 100175 | systems/win32/miktex/tm/packages/colorist.tar.lzma
diff --git a/language/japanese/pxbase/README-ja.md b/language/japanese/pxbase/README-ja.md
index b15ea3336e..53bf41f4fc 100644
--- a/language/japanese/pxbase/README-ja.md
+++ b/language/japanese/pxbase/README-ja.md
@@ -165,6 +165,12 @@ upLaTeX ã®å ´åˆï¼š
更新履歴
--------
+ * Version 1.3 〈2021/05/31〉
+ - pxbabel: japanese-otf ã®ã‚³ãƒ¼ãƒ‰å…¥åŠ›å‘½ä»¤ï¼ˆ`\UTF` 等)ã«ã¤ã„ã¦ã€
+ éžæ¨™æº–ã®å’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®é©ç”¨æ™‚ã§ã‚‚動作ã™ã‚‹ã‚ˆã†ã«ãƒ‘ッãƒã‚’
+ é©ç”¨ã™ã‚‹ã€‚
+ - pxbabel: (試験的) `(no)patchutfcmds` オプションを追加。
+
* Version 1.2 〈2021/05/22〉
- pxbabel: CJK 言語ã®ãƒ•ã‚©ãƒ³ãƒˆåˆ‡æ›¿ã‚’ japanese-otf ã§å¤šã‚¦ã‚§ã‚¤ãƒˆæ‹¡å¼µ
(`deluxe`)を指定ã—ãŸå ´åˆã«å¯¾å¿œã•ã›ãŸã€‚
diff --git a/language/japanese/pxbase/README.md b/language/japanese/pxbase/README.md
index 5dee4dac83..5c61ff9728 100644
--- a/language/japanese/pxbase/README.md
+++ b/language/japanese/pxbase/README.md
@@ -67,6 +67,7 @@ README-ja.md).
Revision History
----------------
+ * Version 1.3 〈2021/05/31〉
* Version 1.2 〈2021/05/22〉
* Version 1.1b 〈2017/07/03〉
* Version 1.1a 〈2017/06/19〉
diff --git a/language/japanese/pxbase/pxbabel.pdf b/language/japanese/pxbase/pxbabel.pdf
index 7d9d7b272f..602077c000 100644
--- a/language/japanese/pxbase/pxbabel.pdf
+++ b/language/japanese/pxbase/pxbabel.pdf
Binary files differ
diff --git a/language/japanese/pxbase/pxbabel.sty b/language/japanese/pxbase/pxbabel.sty
index 345e2c9000..1ef550c54a 100644
--- a/language/japanese/pxbase/pxbabel.sty
+++ b/language/japanese/pxbase/pxbabel.sty
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxbabel}[2021/05/22 v1.2 PX Babel interface for CJK]
+\ProvidesPackage{pxbabel}[2021/05/31 v1.3 PX Babel interface for CJK]
\def\pxbb@pkgname{pxbabel}
%--------------------------------------- general
@@ -97,6 +97,9 @@
\bxIfExpToEqualX{\mcdefault}{mc}{}{\pxbb@stdjaencodingtrue}% default
\DeclareOption{stdjaencoding}{\pxbb@stdjaencodingtrue}
\DeclareOption{nostdjaencoding}{\pxbb@stdjaencodingfalse}
+\newbool{pxbb@patchutfcmds}\pxbb@patchutfcmdstrue
+\DeclareOption{patchutfcmds}{\pxbb@patchutfcmdstrue}
+\DeclareOption{nopatchutfcmds}{\pxbb@patchutfcmdsfalse}
\newbool{pxbb@forcedeluxemulti}
\DeclareOption{forcedeluxemulti}{\pxbb@forcedeluxemultitrue}
\DeclareOption{noforcedeluxemulti}{\pxbb@forcedeluxemultifalse}
@@ -127,10 +130,13 @@
%--------------------------------------- Resolving settings
+%% \ifpxbb@otf
%% \ifpxbb@otfmulti
%% \ifpxbb@pxotf
+\newbool{pxbb@otf}
\newbool{pxbb@otfmulti}
\newbool{pxbb@pxotf}
+\@ifpackageloaded{otf}{\pxbb@otftrue}{}
\@ifpackageloaded{mlutf}{\pxbb@otfmultitrue}{}
\@ifpackageloaded{pxotf}{\pxbb@otfmultitrue\pxbb@pxotftrue}{}
@@ -148,8 +154,18 @@
\ifpxbb@otfmulti\else
\ifupTeX\else
\pxbb@warn@nocjk
+ \pxbb@switchfontfalse
\fi\fi\fi
-
+% Check if 'patchutfcmds' is available.
+\if \ifpxbb@switchfont
+ \ifupTeX
+ \ifpxbb@otf
+ \ifx\patchcmd\@undefined F\else T\fi
+ \else F\fi
+ \else F\fi
+ \else F\fi F%
+ \pxbb@patchutfcmdsfalse
+\fi
% Check if 'forcedeluxemulti' is available.
\ifpxbb@forcedeluxemulti
\ifupTeX\else
@@ -521,6 +537,33 @@
\fi %----</upTeX>
+%--------------------------------------- Patch to '\UTF' etc.
+\ifpxbb@patchutfcmds
+
+%% \pxbb@set@encoding
+\edef\pxbb@set@encoding{%
+ \noexpand\iftdir \noexpand\kanjiencoding{\cy@encoding}%
+ \noexpand\else \noexpand\kanjiencoding{\ct@encoding}%
+ \noexpand\fi
+}
+
+%% apply the patch
+\@for\pxbb@tmpa:={%
+ UTF,UTFK,UTFC,UTFT,UTFM,CID,CIDK,CIDC,CIDT%
+}\do{%
+ \ifcsdef{\pxbb@tmpa\space}{%then
+ \expandafter\patchcmd\csname \pxbb@tmpa\space\endcsname{%from
+ \begingroup\edef\reserved@a
+ }{%to
+ \begingroup\pxbb@set@encoding\edef\reserved@a
+ }{}{%failure
+ \PackageWarningNoLine\pxbb@pkgname
+ {Cannot patch to '\@backslashchar\pxbb@tmpa_'}%
+ }%
+ }{}%
+}
+
+\fi
%--------------------------------------- Other user commands
%%<*> \cjklanguagename{<lang_id>}
diff --git a/language/japanese/pxbase/pxbabel.tex b/language/japanese/pxbase/pxbabel.tex
index 065607a97a..3482bc161a 100644
--- a/language/japanese/pxbase/pxbabel.tex
+++ b/language/japanese/pxbase/pxbabel.tex
@@ -1,6 +1,7 @@
% 文字コード㯠UTF-8
% uplatex ã§çµ„版ã™ã‚‹
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
+\renewcommand{\headfont}{\gtfamily\romanseries{sbc}\sffamily}
\usepackage[T1]{fontenc}
\usepackage{lmodern,textcomp}
\usepackage{color}
@@ -15,8 +16,8 @@
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.2}
-\newcommand{\PkgDate}{2021/05/22}
+\newcommand{\PkgVersion}{1.3}
+\newcommand{\PkgDate}{2021/05/31}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -40,7 +41,7 @@
\label{sec:Overview}
{(u)\pLaTeX}ã«ãŠã‘る日本語・簡体字中国語・ç¹ä½“字中国語・
-韓国語(以下ã“ã®4ã¤ã‚’「CJK言語ã€ã¨ç·ç§°ã™ã‚‹ï¼‰ã®é–“ã®
+韓国語ã®é–“ã®
「和文(CJK)フォントã€ã®åˆ‡ã‚Šæ›¿ãˆã‚’Babelã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã‚’
用ã„ã¦è¡Œãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã€‚
@@ -63,6 +64,9 @@
\label{ssec:terminology}
\begin{itemize}
+\item CJK言語\Means
+「日本語ã€ã€Œç°¡ä½“字中国語ã€ã€Œç¹ä½“字中国語ã€ã€ŒéŸ“国語ã€ã®ç·ç§°ã€‚%
+\footnote{普通ã®æ„味ã§ã€Œè¨€èªžã€ã®åŒºåˆ¥ã¨ã„ãˆã‚‹ã‹ã¯å•é¡Œã«ã—ãªã„。}
\item CJK言語識別å­\Means
本パッケージã«ãŠã„ã¦CJK言語を指ã—示ã™ã€ä»¥ä¸‹ã®æ–‡å­—列。
\begin{itemize}
@@ -130,12 +134,11 @@ CJK言語をéžä»®æƒ³è¨€èªžã¨ã—ã¦æ‰±ã„ã€å®Ÿéš›ã«ä½¿ç”¨ã™ã‚‹Babelã®è¨€èªž
\item Babelã®æœ‰åŠ¹ãªè¨€èªžå\Means
ãã®è¨€èªžã®å®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€ã€‚
-\Note ç¾çŠ¶ã§ã¯ã€åˆ†é›¢èª­è¾¼ãƒ¢ãƒ¼ãƒ‰ã§ã‚‚ã“ã®æ©Ÿèƒ½ã¯æœ‰åŠ¹ã§ã‚ã‚‹ãŒã€
-確実ã«å‹•ä½œã•ã›ã‚‹ã®ãŒå›°é›£ã§ã‚ã‚‹ãŸã‚ã€å°†æ¥çš„ã«
-「分離読込モードã§ã¯CJK言語ã®ã¿ãŒæŒ‡å®šå¯èƒ½
-\footnote{ã¤ã¾ã‚Šã€CJK言語以外ã¯\texttt{babel}ã®ã‚ªãƒ—ションã¨ã—ã¦
-指定ã™ã‚‹å¿…è¦ãŒã‚る。}ã€
-ã¨ãªã‚‹å¯èƒ½æ€§ãŒã‚る。
+\Note 分離読込モードã§ã®éžCJK言語ã®èª­è¾¼ã«ã¤ã„ã¦ã¯
+確実ã«å‹•ä½œã•ã›ã‚‹ã®ãŒå›°é›£ã§ã‚ã‚‹ãŸã‚ã€
+1.3版ã«ãŠã„ã¦\textbf{éžæŽ¨å¥¨}ã®æ‰±ã„ã¨ã™ã‚‹ã€‚
+ã™ãªã‚ã¡ã€åˆ†é›¢èª­è¾¼ãƒ¢ãƒ¼ãƒ‰ã§ã¯CJK言語ã®ã¿ãŒæŒ‡å®šå¯èƒ½ã¨ãªã‚Šã€
+CJK言語以外ã¯\texttt{babel}ã®ã‚ªãƒ—ションã¨ã—ã¦æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚る。
\item |main=|\Meta{言語å}\Means
文書開始時ã«æœ‰åŠ¹ã¨ãªã‚‹åŸºåº•è¨€èªžã‚’ã€è¨€èªžå
@@ -159,8 +162,7 @@ CJK言語をéžä»®æƒ³è¨€èªžã¨ã—ã¦æ‰±ã„ã€å®Ÿéš›ã«ä½¿ç”¨ã™ã‚‹Babelã®è¨€èªž
(Babelã®æ—¢å®šå‹•ä½œã€‚)
\item |auto|(既定値)\Means
文書開始時ã®åŸºåº•è¨€èªžãŒ
- 「言語オプション定義ファイルã®èª­è¾¼ã‚’ä¼´ã‚ãªã„CJK言語ã€
- (仮ã«ã€Œä»®æƒ³è¨€èªžè¨­å®šã€ã¨å‘¼ã¶ï¼‰ã®å ´åˆã¯ |default|ã€
+ 仮想言語ã®å ´åˆã¯ |default|ã€
ãれ以外㯠|switch|。
\end{itemize}
\Note 詳細ã¯\ref{sec:Caption-Lang}節をå‚照。
@@ -176,7 +178,18 @@ CJK言語をéžä»®æƒ³è¨€èªžã¨ã—ã¦æ‰±ã„ã€å®Ÿéš›ã«ä½¿ç”¨ã™ã‚‹Babelã®è¨€èªž
CJK言語ã§ãƒ•ã‚©ãƒ³ãƒˆã‚’切り替ãˆã‚‹æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã€‚
\item |noswitchfont|\Means
-|switchfont| ã®å¦å®šã€‚
+|switchfont|ã®å¦å®šã€‚
+
+\item |stdjaencoding|\Means
+入力言語ãŒæ—¥æœ¬èªžã®å ´åˆã«ã¯{\upLaTeX}標準ã®ã€Œå’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€ã‚’
+é©ç”¨ã™ã‚‹ã€‚
+\Note 詳細ã¯\ref{ssec:switch-jafont}節をå‚照。
+{\upLaTeX}ã§ã®ã¿æ„味をもã¤ã€‚
+
+\item |nostdjaencoding|(既定)\Means
+|nostdjaencoding|ã®å¦å®šã€‚
+\Note \Pkg{japanese-otf}パッケージãŒèª­è¾¼æ¸ˆã®å ´åˆã«ã¯
+既定ãŒ|stdjaencoding|ã«å¤‰æ›´ã•ã‚Œã‚‹ã€‚
\item |forcedeluxemulti|\Means
{\upLaTeX}ã§\Pkg{japanese-otf}パッケージを
@@ -192,6 +205,16 @@ CJK言語ã§ãƒ•ã‚©ãƒ³ãƒˆã‚’切り替ãˆã‚‹æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã€‚
\Note 約物ã®å‘¨ã‚Šã®ç©ºã調整ãŒæ­£å¸¸ã«è¡Œã‚れる。
\Note (|no|)|forcedeluxemulti|ã¯è©¦é¨“çš„ãªæ©Ÿèƒ½ã§ã‚ã‚Šã€
å°†æ¥çš„ã«å»ƒæ­¢ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚る。
+
+\item |patchutfcmds|(既定値)\Means
+\Pkg{japanese-otf}パッケージã®ã‚³ãƒ¼ãƒ‰å…¥åŠ›å‘½ä»¤ï¼ˆ\XS|\UTF|命令等)
+ã«ã¤ã„ã¦ã€ã€Œéžæ¨™æº–ã®å’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãŒé©ç”¨ã•ã‚Œã‚‹å ´åˆã«ã‚‚
+正常動作ã™ã‚‹ã€ã‚ˆã†ã«ãƒ‘ッãƒã‚’é©ç”¨ã™ã‚‹ã€‚
+
+\item |nopatchutfcmds|\Means
+|patchutfcmds|ã®å¦å®šã€‚
+\Note (|no|)|patchutfcmds|ã¯è©¦é¨“çš„ãªæ©Ÿèƒ½ã§ã‚ã‚Šã€
+å°†æ¥çš„ã«å»ƒæ­¢ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚る。
\end{itemize}
%===========================================================
@@ -223,17 +246,31 @@ CJK言語ã§ãƒ•ã‚©ãƒ³ãƒˆã‚’切り替ãˆã‚‹æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã€‚
\begin{itemize}
\item |\cjklanguagename{|\Meta{CJK言語識別å­}|}|\Means
-ãã®CJK言語ã«å¯¾ã™ã‚‹è¨€èªžå。
+ãã®CJK言語ã«å¯¾ã™ã‚‹Babel言語å。
+\Note 完全展開å¯èƒ½ã§ã‚る。
\Note 例ãˆã°ã€ãƒ‘ッケージオプションã§|schinese=chinesesimp|ã¨æŒ‡å®šã—ãŸå ´åˆã€
|\cjklanguagename|\hspace{0pt}|{schinese}|\XS ã¯
「|chinesesimp|ã€ã«å±•é–‹ã•ã‚Œã‚‹ã€‚
+
+\item |\UTFJ{|\Meta{Unicode符å·å€¤}|}|\Means
+常ã«ã€Œæœ¬æ¥ã®\XS|\UTF|命令ã€ã®å‹•ä½œã‚’ã™ã‚‹ã€‚
+\Note 本パッケージã§|switchfont|ãŒæœ‰åŠ¹ã§ã€ã‹ã¤\Pkg{japanese-otf}ãŒ
+|multi|付ã§èª­ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹å ´åˆã«å®šç¾©ã•ã‚Œã‚‹ã€‚%
+\footnote{ãŸã ã—ã€|\UTFJ|命令ã¯æ–‡æ›¸æœ¬ä½“開始時ã«å®šç¾©ã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„。
+プリアンブルã§ã¯|\UTF|命令ã®åˆ‡æ›¿ã¯ã¾ã ç™ºç”Ÿã—ãªã„ã®ã§ã€
+日本語用ã«ã¯|\UTF|命令を使ãˆã°ã‚ˆã„。}%
+ã“ã®å ´åˆã€å…¥åŠ›è¨€èªžãŒæ—¥æœ¬èªžä»¥å¤–ã®CJK言語ã®ã¨ãã«\XS|\UTF|命令ã®å‹•ä½œãŒ
+他言語用(|\UTFK|等)ã«åˆ‡ã‚Šæ›¿ã‚ã‚‹ã®ã§ã€æœ¬æ¥ã®æ—¥æœ¬èªžç”¨ã®\XS|\UTF|命令ãŒ
+å¿…è¦ãªã¨ãã«ã¯\XS|\UTFJ|を利用ã™ã‚Œã°ã‚ˆã„。
+\Note 詳細ã¯\ref{ssec:switch-utffont}節をå‚照。
+
\end{itemize}
%===========================================================
\section{キャプション言語ã®å›ºå®šã«é–¢ã™ã‚‹è¨­å®š}
\label{sec:Caption-Lang}
-Babelã§ã¯è¨€èªžã®åˆ‡æ›¿ã«é–¢ã—ã¦ã€å…¥åŠ›è¨€èªžã®ã¿ã‚’切り替ãˆã‚‹ã‚‚ã®
+Babelã«ãŠã‘る言語切替ã®æŒ‡å®šã¯å¤§åˆ¥ã™ã‚‹ã¨ã€å…¥åŠ›è¨€èªžã®ã¿ã‚’切り替ãˆã‚‹ã‚‚ã®
(|\foreignlanguage|命令ã€|otherlanguage*|\XS 環境)
ã¨åŸºåº•è¨€èªžã‚’切り替ãˆã‚‹ã‚‚ã®
(|\selectlanguage|命令ã€|otherlanguage|環境)
@@ -241,16 +278,18 @@ Babelã§ã¯è¨€èªžã®åˆ‡æ›¿ã«é–¢ã—ã¦ã€å…¥åŠ›è¨€èªžã®ã¿ã‚’切り替ãˆã‚‹ã‚‚
(|caption=switch|指定時ã¨åŒã˜ï¼‰ã€‚
ã¨ã“ã‚ãŒã€å®Ÿéš›ã®è¨€èªžå®šç¾©ã‚’ä¼´ã‚ãªã„仮想言語ã«ãŠã„ã¦ã¯ã€
-キャプション文字列ã®è¨­å®šã¯åƒã‹ãªã„。
+キャプション文字列ã®è¨­å®šã¯è¡Œã‚ã‚Œãªã„。
ã“ã®ãŸã‚ã€åŸºåº•è¨€èªžã‚’仮想言語ã«åˆ‡ã‚Šæ›¿ãˆãŸå ´åˆã«ã¯
-キャプション言語ãŒæ­£ã—ããªã„事態ãŒç”Ÿã˜ã‚‹ã“ã¨ã«ãªã‚‹ã€‚%
-\footnote{ãŸã ã—「文書開始時以外ã«åŸºåº•è¨€èªžã‚’仮想言語ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã€
+キャプション言語ãŒæ­£ã—ããªã„事態ãŒç”Ÿã˜ãˆã‚‹ã€‚%
+\footnote{ãŸã ã—「文書開始時以外ã«ï¼ˆå…¥åŠ›è¨€èªžã§ãªã)
+ 基底言語を仮想言語ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã€
ã“ã¨ã‚’ã—ãªã‘ã‚Œã°å•é¡Œã¯èµ·ã“らãªã„。
特ã«ã€ã€Œæ—¥æœ¬èªžã®æ–‡æ›¸ã‚¯ãƒ©ã‚¹ã‚’用ã„ã¦ã€ã‹ã¤Babelã«ãŠã„ã¦
仮想言語扱ã„ã®æ—¥æœ¬èªžã‚’文書全体ã§åŸºåº•è¨€èªžã«ã™ã‚‹ã€
- å ´åˆã¯ã€ã‚­ãƒ£ãƒ—ションã¯æ–‡æ›¸ã‚¯ãƒ©ã‚¹ã§å®šã‚ãŸã‚‚ã®ã«å›ºå®šã•ã‚Œã‚‹ã€‚}
+ å ´åˆã¯ã€ã‚­ãƒ£ãƒ—ションã¯æ–‡æ›¸ã‚¯ãƒ©ã‚¹ã§å®šã‚ãŸã‚‚ã®ã«å›ºå®šã•ã‚Œã‚‹ã€‚
+ 多ãã®å ´åˆã“ã‚Œã¯å¥½éƒ½åˆãªå‹•ä½œã ã‚ã†ã€‚}
ã“ã‚Œã«ã‚ˆã‚‹æ··ä¹±ã‚’é¿ã‘ã‚‹ãŸã‚ã«ã€|caption|オプションã«ã‚ˆã‚‹
-キャプション言語ã®å›ºå®šãŒæœ‰ç”¨ã§ã‚ã‚‹å ´åˆãŒã‚る。
+キャプション言語ã®å›ºå®šãŒæœ‰ç”¨ã‹ã‚‚ã—ã‚Œãªã„。
特ã«ã€ã€ŒBabelã«ã‚ˆã‚‹ã‚­ãƒ£ãƒ—ション文字列ã®å¤‰æ›´ã‚’抑止ã—ã¦æ–‡æ›¸ã‚¯ãƒ©ã‚¹ã§
定ã‚ãŸæ–‡å­—列を常ã«æœ‰åŠ¹ã«ã—ãŸã„ã€ã¨ã„ã†å ´åˆã¯ã€
@@ -260,12 +299,12 @@ Babelã§ã¯è¨€èªžã®åˆ‡æ›¿ã«é–¢ã—ã¦ã€å…¥åŠ›è¨€èªžã®ã¿ã‚’切り替ãˆã‚‹ã‚‚
(Babelã®æ—¢å®šå‹•ä½œã«ç›¸å½“ã™ã‚‹|switch|ã§ã¯ãªã)
|default|ã¨ã—ã¦ã„る。
-\Note 0.9版よりå‰ã¯å¸¸ã«|default|を既定値ã¨ã—ã¦ã„ãŸã€‚
+\Note 0.9版よりå‰ã¯å¸¸ã«|default|を既定値ã¨ã—ã¦ã„ãŒã€
+既定言語ãŒä»®æƒ³è¨€èªžã§ãªã„å ´åˆã¯|default|ã«ã™ã‚‹å¿…然性ãŒå°‘ãªã„ãŸã‚ã€
+Babelã®æ—¢å®šå‹•ä½œã«åˆã‚ã›ã‚‹ç›®çš„ã§ä»•æ§˜ãŒå¤‰æ›´ã•ã‚ŒãŸã€‚
ゆãˆã«ã€|caption|(ãŠã‚ˆã³(|no|)|switchcaption|)オプション
-指定ãŒãªã基底言語ãŒä»®æƒ³è¨€èªžã§ãªã„å ´åˆã®|caption|設定ã¯ã€
+指定ãŒãªãã‹ã¤åŸºåº•è¨€èªžãŒä»®æƒ³è¨€èªžã§ãªã„å ´åˆã®|caption|設定ã¯ã€
0.9版よりå‰ã¯|default|ã€ä»¥é™ã¯|switch|ã¨ç•°ãªã‚‹ã“ã¨ã«ãªã‚‹ã€‚
-仮想言語設定ã§ãªã„å ´åˆã¯|default|ã«ã™ã‚‹å¿…然性ãŒå°‘ãªã„ã®ã§ã€
-Babelã®æ—¢å®šå‹•ä½œã«åˆã‚ã›ã‚‹ç›®çš„ã§ä»•æ§˜ãŒå¤‰æ›´ã•ã‚ŒãŸã€‚
\Note \Pkg{bxbase}パッケージã®\XS|\fixcaptiopnlanguage|命令ã«ã‚ˆã‚‹
キャプション言語固定ã®è¨­å®šã¯ã€å¸¸ã«æœ¬ãƒ‘ッケージã§ã®è¨­å®šã‚ˆã‚Šå„ªå…ˆã•ã‚Œã‚‹ã€‚
@@ -276,7 +315,10 @@ Babelã®æ—¢å®šå‹•ä½œã«åˆã‚ã›ã‚‹ç›®çš„ã§ä»•æ§˜ãŒå¤‰æ›´ã•ã‚ŒãŸã€‚
\section{CJKフォント切替機能ã®åŽŸç†}
\label{sec:Switch-Font}
-\subsection{{\upLaTeX}ã«ãŠã„ã¦}
+次ã®2ã¤ã®ä»•çµ„を用æ„ã—ã¦ã„る。
+
+\subsection{標準和文フォントã®åˆ‡æ›¿ï¼ˆ{\upLaTeX}ã®ã¿ï¼‰}
+\label{ssec:switch-jafont}
{\upTeX}ã¯æ¨™æº–ã§ã€CJK言語ã®{\TeX}フォント(和文TFM)を用æ„ã—ã¦ã„る。
本パッケージã¯Babelã«ãŠã„ã¦CJK言語ã®åˆ‡æ›¿å‡¦ç†ï¼ˆ|\extras...|\XS マクロ)
@@ -288,30 +330,53 @@ Babelã®æ—¢å®šå‹•ä½œã«åˆã‚ã›ã‚‹ç›®çš„ã§ä»•æ§˜ãŒå¤‰æ›´ã•ã‚ŒãŸã€‚
%フォントã®åˆ‡æ›¿ã®ã¿ã‚’ã™ã‚‹ç°¡æ˜“ã®è¨€èªžã‚ªãƒ—ション(仮想言語設定)
%ã‚’ãã®å ´ã§ç”Ÿæˆã™ã‚‹ã€‚
-\subsection{{\pLaTeX}ã«ãŠã„ã¦}
-
-\Pkg{japanese-otf}パッケージã®|multi|オプションã¯{\pLaTeX}ã«ãŠã„ã¦
+\Note 標準和文フォントã®åˆ‡æ›¿ã¯ã€å†…部的ã«ã¯ã€Œå’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€
+を切り替ãˆã‚‹ã“ã¨ã§å®Ÿç¾ã—ã¦ã„る。
+ã¨ã“ã‚ãŒã€æ¨™æº–以外ã®ã€Œå’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€ãŒæŒ‡å®šã•ã‚Œã¦ã„る状態ã§ã¯ã€
+他パッケージã®ï¼ˆå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«é–¢ã™ã‚‹ï¼‰æ©Ÿèƒ½ã«ä¸å…·åˆãŒç”Ÿã˜ã‚‹å¯èƒ½æ€§ãŒã‚る。
+ã“ã‚Œã¯æ—¥æœ¬èªžä»¥å¤–ã®CJK言語を使ã†å ´åˆã«ã¯ã‚る程度ã¯ä»•æ–¹ãŒãªã„ã§ã‚ã‚ã†ã€‚
+ãŸã ã—ã€ç¾çŠ¶ã®æ—¢å®šã§ã¯å…¥åŠ›è¨€èªžãŒæ—¥æœ¬èªžã§ã‚ã‚‹å ´åˆã«ã‚‚éžæ¨™æº–ã®
+「和文エンコーディングã€ãŒé©ç”¨ã•ã‚Œã‚‹ã€‚%
+\footnote{標準ã®æ¨ªçµ„ï¼ç¸¦çµ„ã®ã€Œå’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€ã¯|JY2|/|JT2|ã§
+ ã‚ã‚‹ãŒã€ãƒ•ã‚©ãƒ³ãƒˆåˆ‡æ›¿ã‚’有効ã«ã—ã¦å…¥åŠ›è¨€èªžã‚’日本語ã«ã—ãŸå ´åˆã«ã¯
+ |J20|/|J30|(|jis2004|有効時ã«ã¯|J24|/|J34|)ãŒé©ç”¨ã•ã‚Œã‚‹ã€‚}%
+|stdjaencoding| オプションを指定ã™ã‚‹ã¨
+「入力言語ãŒæ—¥æœ¬èªžã®å ´åˆã«ã¯æ¨™æº–ã®å’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’使ã†ã€
+動作ã«åˆ‡ã‚Šæ›¿ã‚ã‚‹ã®ã§ã€ä¸å…·åˆãŒå›žé¿ã§ãã‚‹å¯èƒ½æ€§ãŒã‚る。%
+\footnote{最近ã®{\upLaTeX}ã®æ¨™æº–設定ã§ã¯ã€å®Ÿã¯éžæ¨™æº–ã®
+「和文エンコーディングã€ã‚’使ã†ãƒ¡ãƒªãƒƒãƒˆãŒã»ã¼ãªããªã£ã¦ã„る。
+従ã£ã¦ã€Œå¸¸ã«|stdjaencoding|を指定ã™ã‚‹ã€ã¨ã„ã†æ–¹é‡ã§ã‚‚構ã‚ãªã„。
+ç¾åœ¨ã€|stdjaencoding|ã®æ—¢å®šå€¤ã®å¤‰æ›´ã‚’検討ã—ã¦ã„る。}
+
+\subsection{{\textbackslash UTF}命令ã«å¯¾ã™ã‚‹èª¿æ•´}
+\label{ssec:switch-utffont}
+
+\Pkg{japanese-otf}パッケージã®|multi|オプションã¯
韓国語・中国語を扱ã†ãŸã‚ã®ã‚‚ã®ã§ã€
-ã“れを使ã†ã¨\XS|\UTFK|ï¼|\UTFC|ï¼|\UTFT|ã®å„命令ã§
-韓国語ï¼ç°¡ä½“字中国語ï¼ç¹ä½“字中国語ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’用ã„ã¦
-文字ãŒå‡ºåŠ›ã•ã‚Œã‚‹
-(ã“れらã®å‘½ä»¤ã®å¼•æ•°ã¯\XS|\UTF|ã¨åŒã˜ã§16進表記ã®Unicode符å·å€¤ï¼‰ã€‚
-
-{\pLaTeX}ã«ãŠã‘る本パッケージã®å‹•ä½œã¯æ¬¡ã®ã‚ˆã†ã§ã‚る。
-%ã¾ãšã€{\upLaTeX}ã®å ´åˆã¨åŒã˜ã‚ˆã†ã«CJK言語ã®ãŸã‚ã®
-%Babel言語オプションを生æˆã™ã‚‹ã€‚
-Babelã®è¨€èªžãŒCJK言語ã«åˆ‡ã‚Šæ›¿ã‚ã£ãŸå ´åˆã«ã¯ã€
-|\UTF|ã®å‹•ä½œã‚’「本æ¥ã®\XS|\UTF|ã€ï¼|\UTFK|ï¼|\UTFC|ï¼|\UTFT|
-ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã€‚
+ã“れを有効ã«ã™ã‚‹ã¨\XS|\UTFK|ï¼|\UTFC|ï¼|\UTFT|ã®å„命令
+\footnote{\XS|\UTF|ã¨åŒæ§˜ã«ã€ã“れらã®å‘½ä»¤ã®å¼•æ•°ã«ã¯Unicode符å·å€¤ã‚’
+ 16進表記ã§æŒ‡å®šã™ã‚‹ã€‚}%
+ã§éŸ“国語ï¼ç°¡ä½“字中国語ï¼ç¹ä½“字中国語ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’用ã„ã¦
+文字を出力ã™ã‚‹ã“ã¨ãŒã§ãる。
+
+本パッケージを読ã¿è¾¼ã‚€ã¨ã€
+Babelã®å…¥åŠ›è¨€èªžãŒCJK言語ã«åˆ‡ã‚Šæ›¿ã‚ã£ãŸå ´åˆã«è¨€èªžã«å¿œã˜ã¦\XS
+|\UTF|ã®å‹•ä½œã‚’「本æ¥ã®\XS|\UTF|ã€\<ï¼|\UTFK|ï¼|\UTFC|ï¼|\UTFT|
+ã®ä½•ã‚Œã‹ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã‚ˆã†ã«ãªã‚‹ã€‚
+ã¾ãŸã€ã€Œæœ¬æ¥ã®\XS|\UTF|ã€ã®å‹•ä½œã‚’ã™ã‚‹å‘½ä»¤\XS|\UTFJ|ãŒæä¾›ã•ã‚Œã‚‹ã®ã§ã€
+入力言語ãŒæ—¥æœ¬èªžä»¥å¤–ã®ã¨ãã«æ—¥æœ¬èªžã®æ–‡å­—を入力ã—ãŸã„
+å ´åˆã«ã¯\XS|\UTFJ|を利用ã™ã‚Œã°ã‚ˆã„。
+
ã“ã®æ©Ÿèƒ½ã¯å˜ç‹¬ã§ã¯ã‚ã¾ã‚Šæœ‰ç”¨ã¨ã¯ã„ãˆãªã„ãŒã€
-\Pkg{bxutf8}入力エンコーディング
+{\pLaTeX}ã«ãŠã„ã¦\Pkg{bxutf8}入力エンコーディング
ã¨ä½µç”¨ã—ã¦CJK言語ã®UTF-8直接入力を行ã†æ™‚ã«æœ‰ç”¨ã¨ãªã‚‹ã€‚
-ã™ãªã‚ã¡ç›´æŽ¥å…¥åŠ›ã•ã‚ŒãŸCJK文字ã¯\XS|\UTF|ã«å¸°ç€ã™ã‚‹ã®ã§ã€
-çµæžœçš„ã«{\upLaTeX}ã®æ™‚ã¨åŒã˜ã‚ˆã†ã«ã€Babelã§åˆ‡ã‚Šæ›¿ãˆãŸè¨€èªžç”¨ã®
-フォントã§å‡ºåŠ›ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã¨ãªã‚‹ã€‚
+ã™ãªã‚ã¡ã€ç›´æŽ¥å…¥åŠ›ã•ã‚ŒãŸCJK文字ã¯\XS|\UTF|ã«å¸°ç€ã™ã‚‹ã®ã§ã€
+çµæžœçš„ã«{\upLaTeX}ã®æ™‚ã¨åŒã˜ã‚ˆã†ã«ã€ç¾åœ¨ã®å…¥åŠ›è¨€èªžç”¨ã®
+フォントã§å‡ºåŠ›ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ã€‚
-\Note ãŸã ã—ã€ã“ã®æ©Ÿæ§‹ã«ã¯ã€
-「JIS X~0208ã«ã‚る文字ã¯ãã‚‚ãã‚‚\XS|\UTF|ã«å¤‰æ›ã•ã‚Œãªã„ã®ã§
+\Note ãŸã ã—ã€ã“ã®æ–¹ç­–ã¯ã€
+「({\pLaTeX}ã§ã¯ï¼‰
+JIS X~0208ã«ã‚る文字ã¯ãã‚‚ãã‚‚\XS|\UTF|ã«å¤‰æ›ã•ã‚Œãªã„ã®ã§
常ã«æ—¥æœ¬èªžãƒ•ã‚©ãƒ³ãƒˆã§å‡ºåŠ›ã•ã‚Œã¦ã—ã¾ã†ã€
ã¨ã„ã†æ¬ ç‚¹ã‚’ã‚‚ã¤ã€‚
ã“れを解決ã™ã‚‹ã«ã¯\Pkg{pxfltsrc}パッケージ等ã®æ©Ÿèƒ½ã‚’用ã„ã¦
diff --git a/language/japanese/pxbase/pxbase.sty b/language/japanese/pxbase/pxbase.sty
index 56dbb1d053..0078547e4f 100644
--- a/language/japanese/pxbase/pxbase.sty
+++ b/language/japanese/pxbase/pxbase.sty
@@ -8,7 +8,7 @@
%% This package is distributed under the MIT License.
%%
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxbase}[2021/05/22 v1.2 PX base library]
+\ProvidesPackage{pxbase}[2021/05/31 v1.3 PX base library]
% The pxbase package now does the same thing as the bxbase package.
\RequirePackageWithOptions{bxbase}[2017/05/29]
\endinput
diff --git a/language/japanese/pxbase/pxbasenc.def b/language/japanese/pxbase/pxbasenc.def
index 3168617933..df54e082bf 100644
--- a/language/japanese/pxbase/pxbasenc.def
+++ b/language/japanese/pxbase/pxbasenc.def
@@ -4,7 +4,7 @@
%% file declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxbasenc.def}[2021/05/22 v1.2 PX encoding library]
+\ProvidesFile{pxbasenc.def}[2021/05/31 v1.3 PX encoding library]
\def\pxec@pkgname{PXbase} % bundle name
%% code guards
diff --git a/language/japanese/pxbase/pxjsfenc.def b/language/japanese/pxbase/pxjsfenc.def
index 44ef99b3b1..52210eabec 100644
--- a/language/japanese/pxbase/pxjsfenc.def
+++ b/language/japanese/pxbase/pxjsfenc.def
@@ -4,7 +4,7 @@
%% file declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjsfenc.def}[2021/05/22 v1.2 PX JSF encoding]
+\ProvidesFile{pxjsfenc.def}[2021/05/31 v1.3 PX JSF encoding]
%% code guards
\edef\pxec@jsf@restore@codes{%
diff --git a/language/japanese/pxbase/upkcat.sty b/language/japanese/pxbase/upkcat.sty
index 4f95a26d7b..721bddd2e2 100644
--- a/language/japanese/pxbase/upkcat.sty
+++ b/language/japanese/pxbase/upkcat.sty
@@ -35,7 +35,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{upkcat}[2021/05/22 v1.2 safe kcatcode access]
+\ProvidesPackage{upkcat}[2021/05/31 v1.3 safe kcatcode access]
%--------------------------------------- main
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index 4997754b3c..0ebb2a67e7 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2021-06-01 pre-release 3
+Release 2021-12-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index b763b6bda8..1ed2d7cf4f 100644
--- a/macros/latex-dev/base/alltt.pdf
+++ b/macros/latex-dev/base/alltt.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf
index dea65fdbf8..496657f44e 100644
--- a/macros/latex-dev/base/cfgguide.pdf
+++ b/macros/latex-dev/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/changes.txt b/macros/latex-dev/base/changes.txt
index 75e7d04a2f..634eb0e351 100644
--- a/macros/latex-dev/base/changes.txt
+++ b/macros/latex-dev/base/changes.txt
@@ -6,6 +6,50 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
================================================================================
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2020-06-01 Release
+#########################
+
+2021-05-31 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltclass.dtx: Initialise \@raw@classoptionslist to \relax to
+ match \@classoptionslist
+
+2021-05-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx (subsection{Macros for the `documentation parts'}):
+ Use same error message text as in format
+
+2021-05-26 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltdefns.dtx (subsection{Robust commands and protect}):
+ Normalize error message in \MakeRobust
+
+2021-05-26 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * lthooks.dtx:
+ Remove deprecated \DeclareDefaultHookLabel for good.
+
+2021-05-25 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx, ltfilehook.dtx:
+ Normalized some error message texts
+
+2021-05-24 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltcmd.dtx, ltcmdhooks.dtx, ltfilehook.dtx, lthooks.dtx, ltpara.dtx:
+ Use \msg_... instead of \__kernel_msg... commands for normalized
+ error and warning commands.
+
+2021-05-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltoutput.dtx: normalize the error commands, always use
+ \@latex@error not \@latexerr
+
2021-04-29 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* lthooks.dtx (subsection{\LaTeXe{} package interface commands}):
@@ -16,7 +60,6 @@ are not part of the distribution.
* lthooks.dtx, ltfilehook.dtx:
Switch to kernel (not package) errors.
-
2021-04-29 Marcel Krüger <Marcel.Krueger@latex-project.org>
* ltoutenc.dtx (subsection{Definitions for the TU encoding}):
@@ -359,11 +402,6 @@ are not part of the distribution.
* ltmiscen.dtx (subsection{Environments}):
\enddocument should always start out in vmode (gh/385)
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
-
#########################
# 2020-10-01 PL 4 Release
#########################
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index cf7d562b56..ba722ade83 100644
--- a/macros/latex-dev/base/classes.pdf
+++ b/macros/latex-dev/base/classes.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf
index d41d2f7dc7..1be79a4d94 100644
--- a/macros/latex-dev/base/clsguide.pdf
+++ b/macros/latex-dev/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf
index 65eada2d18..661a4f3547 100644
--- a/macros/latex-dev/base/cmfonts.pdf
+++ b/macros/latex-dev/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf
index b81d5740dd..8b411f291a 100644
--- a/macros/latex-dev/base/cyrguide.pdf
+++ b/macros/latex-dev/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc.dtx b/macros/latex-dev/base/doc.dtx
index c1a96948a8..fb3412f21f 100644
--- a/macros/latex-dev/base/doc.dtx
+++ b/macros/latex-dev/base/doc.dtx
@@ -35,7 +35,7 @@
%<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01]
%<+package> \ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb> [2020/11/23 v2.1m
+%<+package|shortvrb> [2021/05/28 v2.1n
%<+package|shortvrb> Standard LaTeX documentation package (FMi)]
%\catcode`\<=12
%
@@ -2117,6 +2117,7 @@
% \begin{macro}{\verb@eol@error}
% \changes{v1.8b}{1993/09/21}{Renamed \cs{verb@err} to
% \cs{verb@eol@error}, as in new LaTeX verbatim.}
+% \changes{v2.1n}{2021/05/28}{Use same error message text as in format}
% \begin{macrocode}
\let\verb@balance@group\@empty
@@ -2126,7 +2127,7 @@
\obeylines%
\gdef\verb@eol@error{\obeylines%
\def^^M{\verb@egroup\@latex@error{%
- Text for \noexpand\verb command ended by end of line}\@ehc}}%
+ \noexpand\verb ended by end of line}\@ehc}}%
\endgroup
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index b4b752d02f..e40bac6c17 100644
--- a/macros/latex-dev/base/doc.pdf
+++ b/macros/latex-dev/base/doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf
index 1f93adfd24..535c38f3f0 100644
--- a/macros/latex-dev/base/docstrip.pdf
+++ b/macros/latex-dev/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf
index 2682e5e3a1..7174fe634d 100644
--- a/macros/latex-dev/base/encguide.pdf
+++ b/macros/latex-dev/base/encguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf
index c15633e2c5..d814296c9e 100644
--- a/macros/latex-dev/base/exscale.pdf
+++ b/macros/latex-dev/base/exscale.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf
index d8149b7da8..5353d938f3 100644
--- a/macros/latex-dev/base/fix-cm.pdf
+++ b/macros/latex-dev/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf
index c498f9f449..b773b23001 100644
--- a/macros/latex-dev/base/fntguide.pdf
+++ b/macros/latex-dev/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf
index df0b482d62..223c4fc9d8 100644
--- a/macros/latex-dev/base/graphpap.pdf
+++ b/macros/latex-dev/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf
index a756833b7e..cb731ce0ec 100644
--- a/macros/latex-dev/base/ifthen.pdf
+++ b/macros/latex-dev/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf
index ca53fac3a5..d91193b109 100644
--- a/macros/latex-dev/base/inputenc.pdf
+++ b/macros/latex-dev/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexchanges.pdf b/macros/latex-dev/base/latexchanges.pdf
index 3e4f2aaa9d..fa0be13cc9 100644
--- a/macros/latex-dev/base/latexchanges.pdf
+++ b/macros/latex-dev/base/latexchanges.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index cdce0fb74f..f2e104646e 100644
--- a/macros/latex-dev/base/latexrelease.pdf
+++ b/macros/latex-dev/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf
index 5fb4a09541..c5f5f7ccab 100644
--- a/macros/latex-dev/base/latexsym.pdf
+++ b/macros/latex-dev/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf
index 6cc60fec76..ff53c048ee 100644
--- a/macros/latex-dev/base/lb2.pdf
+++ b/macros/latex-dev/base/lb2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf
index 2431b6d81f..069855100a 100644
--- a/macros/latex-dev/base/letter.pdf
+++ b/macros/latex-dev/base/letter.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf
index 2a58b0470e..fce107fd9a 100644
--- a/macros/latex-dev/base/lgc2.pdf
+++ b/macros/latex-dev/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf
index dfccc5d5eb..4e5547d356 100644
--- a/macros/latex-dev/base/lppl.pdf
+++ b/macros/latex-dev/base/lppl.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltclass.dtx b/macros/latex-dev/base/ltclass.dtx
index 06b0e1cf43..a0ab0fa354 100644
--- a/macros/latex-dev/base/ltclass.dtx
+++ b/macros/latex-dev/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2021/03/27 v1.4a LaTeX Kernel (Class & Package Interface)]
+ [2021/05/18 v1.4b LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -505,6 +505,14 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@raw@classoptionslist}
+% List of options of the main class (unprocessed).
+% \changes{v1.4b}{2021/05/18}{Initialise to \cs{relax} to match \cs{@classoptionslist}}
+% \begin{macrocode}
+\let\@raw@classoptionslist\relax
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@unusedoptionlist}
% \changes{v1.0u}{1996/07/26}{made only preamble}
% List of options of the main class that haven't been declared or
@@ -1910,7 +1918,7 @@
% \begin{macrocode}
\ifx\@nnil##1\relax\else
% \end{macrocode}
-% If |\ifx\@nnil##1\n@nil| is true then |#1| is (presumably) empty
+% If |\ifx\@nnil##1\@nnil| is true then |#1| is (presumably) empty
% (Older code used |\relax| which is slightly easier to get into |#1|
% by mistake, which would spoil this test.)
% \begin{macrocode}
diff --git a/macros/latex-dev/base/ltcmd.dtx b/macros/latex-dev/base/ltcmd.dtx
index fee555586d..806161d538 100644
--- a/macros/latex-dev/base/ltcmd.dtx
+++ b/macros/latex-dev/base/ltcmd.dtx
@@ -34,8 +34,8 @@
%%% From File: ltcmd.dtx
%
% \begin{macrocode}
-\def\ltcmdversion{v1.0d}
-\def\ltcmddate{2021-04-19}
+\def\ltcmdversion{v1.0e}
+\def\ltcmddate{2021-05-24}
% \end{macrocode}
%
%<*driver>
@@ -80,6 +80,9 @@
% \end{macrocode}
%
% \changes{v1.0b}{2021/03/18}{Use \cs{NewModuleRelease}.}
+% \changes{v1.0e}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
+%
% \pkg{ltcmd} code contains an |^^@| character, which usually has
% catcode~15, so \cs{IncludeInRelease} will break when this code is
% being skipped, so we'll save the catcode of |^^@| to restore later:
@@ -328,7 +331,12 @@
% switched off by default, unless the |log-declarations| package
% option was used, so here we'll switch that off as well.
% \begin{macrocode}
-\msg_redirect_module:nnn { LaTeX / ltcmd } { info } { none }
+\msg_redirect_module:nnn { cmd } { info } { none }
+% \end{macrocode}
+%
+% Also add \pkg{cmd} to the \pkg{LaTeX} messages.
+% \begin{macrocode}
+\prop_gput:Nnn \g_msg_module_type_prop { cmd } { LaTeX }
% \end{macrocode}
%
% \subsection{Declaring commands and environments}
@@ -358,7 +366,7 @@
{
\cs_if_exist:NTF #1
{
- \__kernel_msg_info:nnxx { ltcmd } { redefine-command }
+ \msg_info:nnxx { cmd } { redefine-command }
{ \token_to_str:N #1 } { \tl_to_str:n {#2} }
}
{
@@ -366,10 +374,10 @@
{ \cs_if_exist_p:c { \cs_to_str:N #1 ~ code } }
{ \cs_if_exist_p:c { \cs_to_str:N #1 ~ defaults } }
{
- \__kernel_msg_warning:nnx { ltcmd } { unsupported-let }
+ \msg_warning:nnx { cmd } { unsupported-let }
{ \token_to_str:N #1 }
}
- \__kernel_msg_info:nnxx { ltcmd } { define-command }
+ \msg_info:nnxx { cmd } { define-command }
{ \token_to_str:N #1 } { \tl_to_str:n {#2} }
}
\bool_set_false:N \l_@@_environment_bool
@@ -528,11 +536,11 @@
{ \tl_trim_spaces:o { \l_@@_environment_str } }
\cs_if_exist:cTF { \l_@@_environment_str }
{
- \__kernel_msg_info:nnxx { ltcmd } { redefine-environment }
+ \msg_info:nnxx { cmd } { redefine-environment }
{ \l_@@_environment_str } { \tl_to_str:n {#2} }
}
{
- \__kernel_msg_info:nnxx { ltcmd } { define-environment }
+ \msg_info:nnxx { cmd } { define-environment }
{ \l_@@_environment_str } { \tl_to_str:n {#2} }
}
\bool_set_false:N \l_@@_expandable_bool
@@ -685,7 +693,7 @@
}
\cs_new_protected:Npn \@@_defaults_error:w \q_recursion_stop
{
- \__kernel_msg_error:nnx { ltcmd } { loop-in-defaults }
+ \msg_error:nnx { cmd } { loop-in-defaults }
{ \@@_environment_or_command: }
}
% \end{macrocode}
@@ -813,8 +821,7 @@
\@@_end_expandable_defaults:nnnNNn {#1} { } {#1} #2#3
{ } { } { } { } { } { } { } { } { } { }
{
- \__kernel_msg_expandable_error:nnf
- { ltcmd } { loop-in-defaults }
+ \msg_expandable_error:nnf { cmd } { loop-in-defaults }
{ \exp_args:Nf \tl_trim_spaces:n { \token_to_str:N #4 } }
\use_iv:nnnn
}
@@ -912,7 +919,7 @@
\q_recursion_tail \q_recursion_tail \q_recursion_tail \q_recursion_stop
\int_compare:nNnT \l_@@_current_arg_int > 9
{
- \__kernel_msg_error:nnxx { ltcmd } { too-many-arguments }
+ \msg_error:nnxx { cmd } { too-many-arguments }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -920,7 +927,7 @@
{
\tl_if_empty:NF \l_@@_last_delimiters_tl
{
- \__kernel_msg_error:nnxx { ltcmd } { expandable-ending-optional }
+ \msg_error:nnxx { cmd } { expandable-ending-optional }
{ \iow_char:N \\ \l_@@_function_tl } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -944,11 +951,11 @@
{ \str_if_eq_p:nn {#1} { u } }
}
{
- \__kernel_msg_error:nnxx { ltcmd } { xparse-argument-type }
+ \msg_error:nnxx { cmd } { xparse-argument-type }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
}
{
- \__kernel_msg_error:nnxx { ltcmd } { unknown-argument-type }
+ \msg_error:nnxx { cmd } { unknown-argument-type }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
}
\@@_bad_def:wn
@@ -1020,7 +1027,7 @@
\quark_if_recursion_tail_stop_do:nn {#2} { \@@_bad_arg_spec:wn }
\bool_if:NT \l_@@_expandable_bool
{
- \__kernel_msg_error:nnxx { ltcmd } { processor-in-expandable }
+ \msg_error:nnxx { cmd } { processor-in-expandable }
{ \iow_char:N \\ \l_@@_function_tl } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -1034,7 +1041,7 @@
\quark_if_recursion_tail_stop_do:nn {#1} { \@@_bad_arg_spec:wn }
\bool_if:NT \l_@@_long_bool
{
- \__kernel_msg_error:nnxx { ltcmd } { two-markers }
+ \msg_error:nnxx { cmd } { two-markers }
{ \@@_environment_or_command: } { + }
\@@_bad_def:wn
}
@@ -1047,7 +1054,7 @@
\quark_if_recursion_tail_stop_do:nn {#1} { \@@_bad_arg_spec:wn }
\bool_if:NT \l_@@_obey_spaces_bool
{
- \__kernel_msg_error:nnxx { ltcmd } { two-markers }
+ \msg_error:nnxx { cmd } { two-markers }
{ \@@_environment_or_command: } { ! }
\@@_bad_def:wn
}
@@ -1179,15 +1186,14 @@
{
\bool_if:NF \l_@@_environment_bool
{
- \__kernel_msg_error:nnxx
- { ltcmd } { invalid-command-arg }
+ \msg_error:nnxx { cmd } { invalid-command-arg }
{ \@@_environment_or_command: } { b }
\@@_bad_def:wn
}
\tl_clear:N \l_@@_last_delimiters_tl
\@@_add_arg_spec:n { b }
\quark_if_recursion_tail_stop:n {#1}
- \__kernel_msg_error:nnxx { ltcmd } { arg-after-body }
+ \msg_error:nnxx { cmd } { arg-after-body }
{ \@@_environment_or_command: }
{ \tl_to_str:n {#1} }
\@@_bad_def:wn
@@ -1203,7 +1209,7 @@
{
\tl_trim_spaces_apply:nN {#1} \tl_if_single_token:nF
{
- \__kernel_msg_error:nnxx { ltcmd } { not-single-token }
+ \msg_error:nnxx { cmd } { not-single-token }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -1235,8 +1241,7 @@
{ \use_none:n }
}
{
- \__kernel_msg_error:nnxxx
- { ltcmd } { forbidden-implicit-group-token }
+ \msg_error:nnxxx { cmd } { forbidden-implicit-group-token }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
{
\token_if_eq_meaning:NNTF #1 \c_group_begin_token
@@ -1256,8 +1261,7 @@
{
\bool_if:NT \l_@@_expandable_bool
{
- \__kernel_msg_error:nnxx
- { ltcmd } { invalid-expandable-argument-type }
+ \msg_error:nnxx { cmd } { invalid-expandable-argument-type }
{ \iow_char:N \\ \l_@@_function_tl } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -1269,8 +1273,7 @@
{
\tl_if_empty:NF \l_@@_last_delimiters_tl
{
- \__kernel_msg_error:nnxx
- { ltcmd } { invalid-after-optional-expandably }
+ \msg_error:nnxx { cmd } { invalid-after-optional-expandably }
{ \iow_char:N \\ \l_@@_function_tl } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -1291,7 +1294,7 @@
{
\tl_if_eq:nnT {##1} {#1}
{
- \__kernel_msg_warning:nnxx { ltcmd } { optional-mandatory }
+ \msg_warning:nnxx { cmd } { optional-mandatory }
{#2} {#3}
}
}
@@ -1305,7 +1308,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_bad_arg_spec:wn #1 \@@_break_point:n #2
{
- \__kernel_msg_error:nnxx { ltcmd } { bad-arg-spec }
+ \msg_error:nnxx { cmd } { bad-arg-spec }
{ \@@_environment_or_command: } { \tl_to_str:n {#2} }
}
\cs_new_protected:Npn \@@_bad_def:wn #1 \@@_break_point:n #2 { }
@@ -1331,7 +1334,7 @@
{
\bool_if:NT \l_@@_expandable_bool
{
- \__kernel_msg_error:nnx { ltcmd } { inconsistent-long }
+ \msg_error:nnx { cmd } { inconsistent-long }
{ \iow_char:N \\ \l_@@_function_tl }
\@@_bad_def:wn
}
@@ -1353,7 +1356,7 @@
{
\bool_if:NT \l_@@_some_obey_spaces_bool
{
- \__kernel_msg_error:nnxx { ltcmd } { non-trailing-obey-spaces }
+ \msg_error:nnxx { cmd } { non-trailing-obey-spaces }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -2331,7 +2334,7 @@
\@@_peek_nonspace_remove:NTF #1
{ \@@_grab_D_call:Nw #1 }
{
- \__kernel_msg_error:nnxx { ltcmd } { missing-required }
+ \msg_error:nnxx { cmd } { missing-required }
{ \@@_environment_or_command: }
{ \token_to_str:N #1 }
\@@_add_arg:o \c_novalue_tl
@@ -2584,14 +2587,14 @@
\exp_after:wN \exp_after:wN \exp_after:wN
\peek_meaning_remove:NTF \char_generate:nn { \tex_endlinechar:D } { 6 }
{
- \__kernel_msg_error:nnxxx { ltcmd } { verbatim-newline }
+ \msg_error:nnxxx { cmd } { verbatim-newline }
{ \@@_environment_or_command: }
{ \tl_to_str:N \l_@@_v_arg_tl }
{ \tl_to_str:n {#1} }
\@@_add_arg:o \c_novalue_tl
}
{
- \__kernel_msg_error:nnxxx { ltcmd } { verbatim-tokenized }
+ \msg_error:nnxxx { cmd } { verbatim-tokenized }
{ \@@_environment_or_command: }
{ \tl_to_str:N \l_@@_v_arg_tl }
{ \tl_to_str:n {#1} }
@@ -2942,8 +2945,7 @@
\q_nil { } ##2 \ERROR \q_@@ \ERROR
}
{
- \__kernel_msg_expandable_error:nnff
- { ltcmd } { missing-required }
+ \msg_expandable_error:nnff { cmd } { missing-required }
{ \exp_args:Nf \tl_trim_spaces:n { \token_to_str:N ##5 } }
{ \tl_to_str:n {##2} }
##4 {#1} \q_@@ ##5 ##6 {##7}
@@ -2980,8 +2982,7 @@
##6 \ERROR
}
{
- \__kernel_msg_expandable_error:nnff
- { ltcmd } { missing-required }
+ \msg_expandable_error:nnff { cmd } { missing-required }
{ \exp_args:Nf \tl_trim_spaces:n { \token_to_str:N ##4 } }
{ \tl_to_str:n {##2} }
##3 {#1} \q_@@ ##4 ##5 {##6}
@@ -3114,7 +3115,7 @@
\ProcessedArgument
\q_stop
}
- \__kernel_msg_error:nnxxx { ltcmd } { split-excess-tokens }
+ \msg_error:nnxxx { cmd } { split-excess-tokens }
{ \tl_to_str:n {#3} } { \int_eval:n { #2 + 1 } }
{ \tl_to_str:n {#4} }
}
@@ -3177,11 +3178,11 @@
{
#1
{
- \__kernel_msg_error:nnx { ltcmd } { non-xparse }
+ \msg_error:nnx { cmd } { non-xparse }
{ \@@_environment_or_command: }
}
{
- \__kernel_msg_error:nnx { ltcmd } { unknown }
+ \msg_error:nnx { cmd } { unknown }
{ \@@_environment_or_command: }
}
}
@@ -3305,11 +3306,11 @@
}
{ \group_end: \use_ii:nnn }
{
- \__kernel_msg_error:nnxx { ltcmd } { not-definable }
+ \msg_error:nnxx { cmd } { not-definable }
{ \tl_to_str:n {#1} } { \token_to_str:N #2 }
}
{
- \__kernel_msg_error:nnxx { ltcmd } { not-one-token }
+ \msg_error:nnxx { cmd } { not-one-token }
{ \tl_to_str:n {#1} } { \token_to_str:N #2 }
}
}
@@ -3504,49 +3505,49 @@
%
% Some messages intended as errors when defining commands/environments.
% \begin{macrocode}
-\__kernel_msg_new:nnnn { ltcmd } { arg-after-body }
+\msg_new:nnnn { cmd } { arg-after-body }
{ In~the~definition~of~#1,~b~(body)~argument~must~be~last. }
{
The~'body'~argument~type~is~followed~by~'#2'~in~the~argument~
specification~of~the~#1.~This~is~not~allowed.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { bad-arg-spec }
+\msg_new:nnnn { cmd } { bad-arg-spec }
{ Bad~argument~specification~'#2'~for~#1. }
{
The~argument~specification~provided~was~not~valid:~
one~or~more~mandatory~pieces~of~information~were~missing.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { command-already-defined }
+\msg_new:nnnn { cmd } { command-already-defined }
{ Command~'#1'~already~defined! }
{
You~have~used~#2~
with~a~command~that~already~has~a~definition. \\ \\
The~existing~definition~of~'#1'~will~not~be~altered.
}
-\__kernel_msg_new:nnnn { ltcmd } { command-not-yet-defined }
+\msg_new:nnnn { cmd } { command-not-yet-defined }
{ Command ~'#1'~not~yet~defined! }
{
You~have~used~#2~
with~a~command~that~was~never~defined.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { environment-already-defined }
+\msg_new:nnnn { cmd } { environment-already-defined }
{ Environment~'#1'~already~defined! }
{
You~have~used~\NewDocumentEnvironment
with~an~environment~that~already~has~a~definition. \\ \\
The~existing~definition~of~'#1'~will~not~be~altered.
}
-\__kernel_msg_new:nnnn { ltcmd } { environment-not-yet-defined }
+\msg_new:nnnn { cmd } { environment-not-yet-defined }
{ Environment~'#1'~not~yet~defined! }
{
You~have~used~\RenewDocumentEnvironment
with~an~environment~that~was~never~defined.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { expandable-ending-optional }
+\msg_new:nnnn { cmd } { expandable-ending-optional }
{
Argument~specification~'#2'~for~expandable~command~'#1'~
ends~with~optional~argument.
@@ -3556,13 +3557,13 @@
(or~no~arguments~at~all).~You~cannot~have~a~terminal~optional~
argument~with~expandable~commands.
}
-\__kernel_msg_new:nnnn { ltcmd } { inconsistent-long }
+\msg_new:nnnn { cmd } { inconsistent-long }
{ Inconsistent~long~arguments~for~expandable~command~'#1'. }
{
The~arguments~for~an~expandable~command~must~not~involve~short~
arguments~after~long~arguments.~You~have~tried~to~mix~the~two~types.
}
-\__kernel_msg_new:nnnn { ltcmd } { invalid-command-arg }
+\msg_new:nnnn { cmd } { invalid-command-arg }
{ Argument~type~'#2'~not~available~for~#1. }
{
The~letter~'#2'~can~only~be~used~in~environment~argument~
@@ -3570,14 +3571,14 @@
\\ \\
LaTeX~will~ignore~this~entire~definition.
}
-\__kernel_msg_new:nnnn { ltcmd } { invalid-expandable-argument-type }
+\msg_new:nnnn { cmd } { invalid-expandable-argument-type }
{ Argument~type~'#2'~not~available~for~expandable~command~'#1'. }
{
The~letter~'#2'~specifies~an~argument~type~which~cannot~be~used~
in~an~expandable~command.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { invalid-after-optional-expandably }
+\msg_new:nnnn { cmd } { invalid-after-optional-expandably }
{
Argument~type~'#2'~not~available~after~optional~argument~
for~expandable~command~'#1'.
@@ -3587,13 +3588,13 @@
in~an~expandable~command~after~an~optional~argument.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { non-trailing-obey-spaces }
+\msg_new:nnnn { cmd } { non-trailing-obey-spaces }
{ Prefix~'!'~used~before~mandatory~argument~'#2'~of~#1. }
{
The~prefix~'!'~can~only~apply~to~trailing~optional~arguments.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { not-definable }
+\msg_new:nnnn { cmd } { not-definable }
{ First~argument~of~'#2'~must~be~a~command. }
{
The~first~argument~of~'#2'~should~be~the~document~command~that~will~
@@ -3601,7 +3602,7 @@
backslash~is~missing?
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { not-one-token }
+\msg_new:nnnn { cmd } { not-one-token }
{ First~argument~of~'#2'~must~be~a~command. }
{
The~first~argument~of~'#2'~should~be~the~document~command~that~will~
@@ -3609,7 +3610,7 @@
token.~Perhaps~a~backslash~is~missing?
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { not-single-token }
+\msg_new:nnnn { cmd } { not-single-token }
{
Argument~delimiter~'#2'~for~the~#1~should~be~
a~single~non-space~token.
@@ -3619,40 +3620,40 @@
where~a~single~token~is~required,~LaTeX~found~'#2'.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { forbidden-implicit-group-token }
+\msg_new:nnnn { cmd } { forbidden-implicit-group-token }
{ Argument~delimiter~'#2'~for~the~#1~is~not~allowed. }
{
The~argument~specification~provided~was~not~valid:~the~implicit~
#3-group~token~'#2'~is~not~allowed~as~an~argument~delimiter.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { processor-in-expandable }
+\msg_new:nnnn { cmd } { processor-in-expandable }
{ Argument~processor~'>{#2}'~cannot~be~used~for~the~expandable~command~'#1'. }
{
The~argument~specification~for~#1~contains~a~processor~function:~
this~is~only~supported~for~standard~robust~commands.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { too-many-arguments }
+\msg_new:nnnn { cmd } { too-many-arguments }
{ Too~many~arguments~in~argument~specification~'#2'~of~#1. }
{
The~argument~specification~provided~has~more~than~9~arguments.~
This~cannot~be~implemented.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { two-markers }
+\msg_new:nnnn { cmd } { two-markers }
{ Two~'#2'~apply~to~the~same~argument~in~argument~specification~of~#1. }
{
The~argument~specification~provided~has~two~markers~'#2'~applying~
to~the~same~argument;~these~are~redundant.
}
-\__kernel_msg_new:nnnn { ltcmd } { unknown-argument-type }
+\msg_new:nnnn { cmd } { unknown-argument-type }
{ Unknown~argument~type~'#2'~for~the~#1. }
{
The~letter~'#2'~does~not~specify~a~known~argument~type.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { xparse-argument-type }
+\msg_new:nnnn { cmd } { xparse-argument-type }
{ Deprecated~argument~type~'#2'~for~the~#1~requires~xparse. }
{
The~letter~'#2'~specifies~a~known~argument~type~that~requires~
@@ -3666,40 +3667,40 @@
% \texttt{loop-in-defaults} and \texttt{missing-required} messages can
% be expandable or not expandable.
% \begin{macrocode}
-\__kernel_msg_new:nnn { ltcmd } { if-boolean }
+\msg_new:nnn { cmd } { if-boolean }
{ Invalid~use~\iow_char:N\\IfBooleanTF~{#1} }
-\__kernel_msg_new:nnnn { ltcmd } { loop-in-defaults }
+\msg_new:nnnn { cmd } { loop-in-defaults }
{ Defaults~of~#1~have~circular~dependency. }
{
The~default~values~of~two~or~more~arguments~of~the~#1~
depend~on~each~other~in~a~way~that~cannot~be~resolved.
}
-\__kernel_msg_new:nnnn { ltcmd } { missing-required }
+\msg_new:nnnn { cmd } { missing-required }
{ Missing~required~argument~for~#1. }
{
The~current~#1~expects~an~argument~starting~with~'#2'.~
LaTeX~did~not~find~it,~and~will~insert~a~default~value~to~be~processed.
}
-\__kernel_msg_new:nnnn { ltcmd } { non-xparse }
+\msg_new:nnnn { cmd } { non-xparse }
{ \str_uppercase:n #1~not~defined~using~xparse. }
{
You~have~asked~for~the~argument~specification~for~the~#1,~
but~this~was~not~defined~using~xparse.
}
-\__kernel_msg_new:nnnn { ltcmd } { split-excess-tokens }
+\msg_new:nnnn { cmd } { split-excess-tokens }
{ Too~many~'#1'~tokens~when~trying~to~split~argument. }
{
LaTeX~was~asked~to~split~the~input~'#3'~
at~each~occurrence~of~the~token~'#1',~up~to~a~maximum~of~#2~parts.~
There~were~too~many~'#1'~tokens.
}
-\__kernel_msg_new:nnnn { ltcmd } { unknown }
+\msg_new:nnnn { cmd } { unknown }
{ Unknown~document~#1. }
{
You~have~asked~for~the~argument~specification~for~the~#1,~
but~it~is~not~defined.
}
-\__kernel_msg_new:nnnn { ltcmd } { verbatim-newline }
+\msg_new:nnnn { cmd } { verbatim-newline }
{ Verbatim~argument~of~#1~ended~by~end~of~line. }
{
The~verbatim~argument~of~the~#1~cannot~contain~more~than~one~line,~
@@ -3709,7 +3710,7 @@
\\ \\
LaTeX~will~ignore~'#2'.
}
-\__kernel_msg_new:nnnn { ltcmd } { verbatim-tokenized }
+\msg_new:nnnn { cmd } { verbatim-tokenized }
{ The~verbatim~#1~cannot~be~used~inside~an~argument. }
{
The~#1~takes~a~verbatim~argument.~
@@ -3722,33 +3723,33 @@
%
% Intended more for information.
% \begin{macrocode}
-\__kernel_msg_new:nnn { ltcmd } { define-command }
+\msg_new:nnn { cmd } { define-command }
{
Defining~command~#1~
with~sig.~'#2'~\msg_line_context:.
}
-\__kernel_msg_new:nnn { ltcmd } { define-environment }
+\msg_new:nnn { cmd } { define-environment }
{
Defining~environment~'#1'~
with~sig.~'#2'~\msg_line_context:.
}
-\__kernel_msg_new:nnn { ltcmd } { redefine-command }
+\msg_new:nnn { cmd } { redefine-command }
{
Redefining~command~#1~
with~sig.~'#2'~\msg_line_context:.
}
-\__kernel_msg_new:nnn { ltcmd } { redefine-environment }
+\msg_new:nnn { cmd } { redefine-environment }
{
Redefining~environment~'#1'~
with~sig.~'#2'~\msg_line_context:.
}
-\__kernel_msg_new:nnn { ltcmd } { optional-mandatory }
+\msg_new:nnn { cmd } { optional-mandatory }
{
Since~the~mandatory~argument~'#1'~has~the~same~delimiter~'#2'~
as~a~previous~optional~argument,~it~will~not~be~possible~to~
omit~all~optional~arguments~when~calling~this~command.
}
-\__kernel_msg_new:nnn { ltcmd } { unsupported-let }
+\msg_new:nnn { cmd } { unsupported-let }
{
The~command~'#1'~was~undefined~but~not~the~associated~commands~
'#1~code'~and/or~'#1~defaults'.~Maybe~you~tried~using~
@@ -3786,7 +3787,7 @@
{
\cs_if_exist:NTF #1
{
- \__kernel_msg_error:nnxx { ltcmd } { command-already-defined }
+ \msg_error:nnxx { cmd } { command-already-defined }
{ \use:nnn \token_to_str:N #1 { } }
{ \token_to_str:N \NewDocumentCommand }
}
@@ -3800,7 +3801,7 @@
\cs_if_exist:NTF #1
{ \@@_declare_cmd:Nnn #1 {#2} {#3} }
{
- \__kernel_msg_error:nnxx { ltcmd } { command-not-yet-defined }
+ \msg_error:nnxx { cmd } { command-not-yet-defined }
{ \use:nnn \token_to_str:N #1 { } }
{ \token_to_str:N \RenewDocumentCommand }
}
@@ -3831,14 +3832,14 @@
\cs_new_protected:Npn \NewDocumentEnvironment #1#2#3#4
{
\cs_if_exist:cTF {#1}
- { \__kernel_msg_error:nnx { ltcmd } { environment-already-defined } {#1} }
+ { \msg_error:nnx { cmd } { environment-already-defined } {#1} }
{ \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
}
\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
{
\cs_if_exist:cTF {#1}
{ \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
- { \__kernel_msg_error:nnx { ltcmd } { environment-not-yet-defined } {#1} }
+ { \msg_error:nnx { cmd } { environment-not-yet-defined } {#1} }
}
\cs_new_protected:Npn \ProvideDocumentEnvironment #1#2#3#4
{ \cs_if_exist:cF {#1} { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} } }
@@ -3865,7 +3866,7 @@
{
\cs_if_exist:NTF #1
{
- \__kernel_msg_error:nnxx { ltcmd } { command-already-defined }
+ \msg_error:nnxx { cmd } { command-already-defined }
{ \use:nnn \token_to_str:N #1 { } }
{ \token_to_str:N \NewExpandableDocumentCommand }
}
@@ -3879,7 +3880,7 @@
\cs_if_exist:NTF #1
{ \@@_declare_expandable_cmd:Nnn #1 {#2} {#3} }
{
- \__kernel_msg_error:nnxx { ltcmd } { command-not-yet-defined }
+ \msg_error:nnxx { cmd } { command-not-yet-defined }
{ \use:nnn \token_to_str:N #1 { } }
{ \token_to_str:N \RenewExpandableDocumentCommand }
}
@@ -3931,7 +3932,7 @@
\prg_break:n { \use:n }
\prg_break_point:
{
- \__kernel_msg_expandable_error:nnn { ltcmd } { if-boolean } {#1}
+ \msg_expandable_error:nnn { cmd } { if-boolean } {#1}
\use_ii:nn
}
}
diff --git a/macros/latex-dev/base/ltcmdhooks-code.pdf b/macros/latex-dev/base/ltcmdhooks-code.pdf
index ccc055e33b..9c523ad313 100644
--- a/macros/latex-dev/base/ltcmdhooks-code.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks-doc.pdf b/macros/latex-dev/base/ltcmdhooks-doc.pdf
index 86cc6e3e96..dd70bd2240 100644
--- a/macros/latex-dev/base/ltcmdhooks-doc.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks.dtx b/macros/latex-dev/base/ltcmdhooks.dtx
index cc67f5eaa7..40cd55e52c 100644
--- a/macros/latex-dev/base/ltcmdhooks.dtx
+++ b/macros/latex-dev/base/ltcmdhooks.dtx
@@ -13,8 +13,8 @@
%
%%% From File: ltcmdhooks.dtx
%
-\def\ltcmdhooksversion{v1.0a}
-\def\ltcmdhooksdate{2021/04/30}
+\def\ltcmdhooksversion{v1.0b}
+\def\ltcmdhooksdate{2021/05/26}
%
%
%
@@ -323,10 +323,13 @@
% throw an error.
% \end{enumerate}
%
+%
% \begin{macrocode}
%<@@=hook>
% \end{macrocode}
%
+% \changes{v1.0b}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
% \begin{macrocode}
%<*2ekernel|latexrelease>
\ExplSyntaxOn
@@ -413,7 +416,7 @@
\str_case:nnTF {#3}
{ { before } { } { after } { } }
{ \exp_args:Nc \@@_patch_cmd_or_delay:Nnn {#2} {#2} {#3} }
- { \__kernel_msg_error:nnn { hooks } { wrong-cmd-hook } {#2} {#3} }
+ { \msg_error:nnnn { hooks } { wrong-cmd-hook } {#2} {#3} }
}
% \end{macrocode}
% \end{macro}
@@ -520,7 +523,7 @@
{
#1 #2 {#4}
{
- \__kernel_msg_error:nnxx { hooks } { cant-patch }
+ \msg_error:nnxx { hooks } { cant-patch }
{ \token_to_str:N #2 } {#3}
}
}
@@ -833,7 +836,7 @@
% command isn't changed in any way in that case.
% \begin{macrocode}
{
- \__kernel_msg_error:nnxx { hooks } { cant-patch }
+ \msg_error:nnxx { hooks } { cant-patch }
{ \c_backslash_str #2 } { retok }
}
}
@@ -1036,24 +1039,22 @@
% \subsection{Messages}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { wrong-cmd-hook }
+\msg_new:nnnn { hooks } { wrong-cmd-hook }
{
- Command~hook~`cmd/#1/#2'~invalid.\\
- The~hook~should~be~`cmd/#1/before'~or~`cmd/#1/after'.
+ Generic~hook~`cmd/#1/#2'~is~invalid.
+% The~hook~should~be~`cmd/#1/before'~or~`cmd/#1/after'.
}
{
- You~tried~to~add~a~hook~to~command~\iow_char:N \\#1,~but~`#2'~
- is~an~invalid~position.~Only~`before'~or~`after'~are~allowed.
+ You~tried~to~add~a~generic~hook~to~command~\iow_char:N \\#1,~but~`#2'~
+ is~an~invalid~component.~Only~`before'~or~`after'~are~allowed.
}
-\__kernel_msg_new:nnnn { hooks } { cant-patch }
+\msg_new:nnnn { hooks } { cant-patch }
{
- Command~`#1'~cannot~have~hooks~because~it~
- \@@_unpatchable_cases:n {#2} .
+ Generic~hooks~cannot~be~added~to~'#1'.
}
{
- You~tried~to~add~a~hook~to~`#1',~but~LaTeX~was~not~able~to~
- add~the~hook~to~that~command~because~`#1'~
- \@@_unpatchable_cases:n {#2} .
+ You~tried~to~add~a~hook~to~'#1',~but~LaTeX~was~unable~to~
+ patch~the~command~because~it~\@@_unpatchable_cases:n {#2}.
}
\cs_new:Npn \@@_unpatchable_cases:n #1
{
diff --git a/macros/latex-dev/base/ltdefns.dtx b/macros/latex-dev/base/ltdefns.dtx
index 7236083dfa..4f39d922cc 100644
--- a/macros/latex-dev/base/ltdefns.dtx
+++ b/macros/latex-dev/base/ltdefns.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdefns.dtx}
- [2021/04/19 v1.5o LaTeX Kernel (definition commands)]
+ [2021/05/27 v1.5p LaTeX Kernel (definition commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdefns.dtx}
@@ -1222,6 +1222,7 @@
%
% The macro firstly checks if the control sequence in question exists
% at all.
+% \changes{v1.5p}{2021/05/26}{Normalize error message in \cs{MakeRobust}}
% \begin{macrocode}
%</2ekernel>
%<latexrelease>\IncludeInRelease{2020/10/01}{\MakeRobust}{\MakeRobust}%
@@ -1230,7 +1231,7 @@
\count@=\escapechar
\escapechar=`\\
\@ifundefined{\expandafter\@gobble\string#1}{%
- \@latex@error{The control sequence `\string#1' is undefined!%
+ \@latex@error{Command `\string#1' is undefined!%
\MessageBreak There is nothing here to make robust}%
\@eha
}%
@@ -1259,7 +1260,7 @@
\noexpand\protect\expandafter\noexpand
\csname\expandafter\@gobble\string#1\space\endcsname}%
}%
- {\@latex@info{The control sequence `\string#1' is already robust}}%
+ {\@latex@info{Command `\string#1' is already robust}}%
}%
\escapechar=\count@
}%
diff --git a/macros/latex-dev/base/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf
index ef767fa207..c17d10e276 100644
--- a/macros/latex-dev/base/ltfilehook-code.pdf
+++ b/macros/latex-dev/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf
index 28e0f8a5f2..211e7f8549 100644
--- a/macros/latex-dev/base/ltfilehook-doc.pdf
+++ b/macros/latex-dev/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook.dtx b/macros/latex-dev/base/ltfilehook.dtx
index e9309c41f7..5d0acc8fdf 100644
--- a/macros/latex-dev/base/ltfilehook.dtx
+++ b/macros/latex-dev/base/ltfilehook.dtx
@@ -31,8 +31,8 @@
%%% From File: ltfilehook.dtx
%
% \begin{macrocode}
-\providecommand\ltfilehookversion{v1.0j}
-\providecommand\ltfilehookdate{2021/04/29}
+\providecommand\ltfilehookversion{v1.0k}
+\providecommand\ltfilehookdate{2021/05/25}
% \end{macrocode}
%
%<*driver>
@@ -454,6 +454,7 @@
%
%
% \section{The Implementation}
+%
% \begin{macrocode}
%<*2ekernel>
% \end{macrocode}
@@ -462,6 +463,8 @@
%<@@=filehook>
% \end{macrocode}
%
+% \changes{v1.0k}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
%
% \subsection{Document and package-level commands}
%
@@ -605,7 +608,7 @@
\seq_gpop:NNTF \g_@@_input_file_seq \l_@@_internal_tl
{ \exp_after:wN \@@_file_pop_assign:nnnn \l_@@_internal_tl }
{
- \__kernel_msg_error:nnn { hooks } { should-not-happen }
+ \msg_error:nnn { kernel } { should-not-happen }
{ Tried~to~pop~from~an~empty~file~name~stack. }
}
}
diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf
index b50be3475f..a97b1e1923 100644
--- a/macros/latex-dev/base/lthooks-code.pdf
+++ b/macros/latex-dev/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf
index 369fa25069..6446eaa88e 100644
--- a/macros/latex-dev/base/lthooks-doc.pdf
+++ b/macros/latex-dev/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks.dtx b/macros/latex-dev/base/lthooks.dtx
index 45d6a78aba..20e172a57f 100644
--- a/macros/latex-dev/base/lthooks.dtx
+++ b/macros/latex-dev/base/lthooks.dtx
@@ -31,8 +31,8 @@
%%% From File: lthooks.dtx
%
% \begin{macrocode}
-\def\lthooksversion{v1.0m}
-\def\lthooksdate{2021/04/29}
+\def\lthooksversion{v1.0n}
+\def\lthooksdate{2021/05/26}
% \end{macrocode}
%
%<*driver>
@@ -1807,8 +1807,9 @@
%<@@=hook>
% \end{macrocode}
%
-% \changes{v1.0i}{2021/03/18}
-% {Use \cs{NewModuleRelease}.}
+% \changes{v1.0i}{2021/03/18}{Use \cs{NewModuleRelease}.}
+% \changes{v1.0n}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
% \begin{macrocode}
%<*2ekernel|latexrelease>
\ExplSyntaxOn
@@ -2230,7 +2231,7 @@
% \cs{hook_new:n} is used.
% \begin{macrocode}
\@@_if_declared:nTF {#1}
- { \__kernel_msg_error:nnn { hooks } { exists } {#1} }
+ { \msg_error:nnn { hooks } { exists } {#1} }
{
\tl_new:c { g_@@_#1_declared_tl }
\@@_make_usable:n {#1}
@@ -2484,7 +2485,7 @@
% may change).
% \begin{macrocode}
\@@_if_disabled:nTF {#1}
- { \__kernel_msg_warning:nnn { hooks } { provide-disabled } {#1} }
+ { \msg_warning:nnn { hooks } { provide-disabled } {#1} }
% \end{macrocode}
% Otherwise we check if it was already declared.
% \begin{macrocode}
@@ -2496,7 +2497,7 @@
% the already existing one is not (or vice versa).
% \begin{macrocode}
\str_if_eq:eeF { \tl_use:c { g_@@_#1_reversed_tl } } {#2}
- { \__kernel_msg_error:nnn { hooks } { provide-error } {#1} }
+ { \msg_error:nnn { hooks } { provide-error } {#1} }
}
% \end{macrocode}
% If it wasn't declared, we declared as a normal or reversed hook
@@ -2572,7 +2573,7 @@
{
\tl_if_empty:nTF {#1}
{
- \__kernel_msg_expandable_error:nn { hooks } { empty-label }
+ \msg_expandable_error:nn { hooks } { empty-label }
\@@_currname_or_default:
}
{
@@ -2609,7 +2610,7 @@
{
\tl_if_empty:NTF \@currname
{
- \__kernel_msg_expandable_error:nnn { hooks } { should-not-happen }
+ \msg_expandable_error:nnn { kernel } { should-not-happen }
{ Empty~default~label. }
\@@_make_name:n { label-missing }
}
@@ -2750,7 +2751,7 @@
% \begin{macrocode}
{
\@@_if_disabled:nTF {#1}
- { \__kernel_msg_error:nnn { hooks } { hook-disabled } {#1} }
+ { \msg_error:nnn { hooks } { hook-disabled } {#1} }
{ \@@_try_declaring_generic_hook:nnn {#1} {#2} {#3} }
}
}
@@ -2793,7 +2794,7 @@
\@@_init_structure:n {#1}
\@@_tl_gput_right:cn { @@_toplevel~#1 } {#3}
}
- { \__kernel_msg_error:nnn { hooks } { misused-top-level } {#1} }
+ { \msg_error:nnn { hooks } { misused-top-level } {#1} }
}
{
\prop_get:cnNTF { g_@@_#1_code_prop } {#2} \l_@@_return_tl
@@ -3279,7 +3280,7 @@
{#1} {#2} {#4}
\@@_update_hook_code:n {#1}
}
- { \__kernel_msg_error:nnnnnn { hooks } { unknown-rule }
+ { \msg_error:nnnnnn { hooks } { unknown-rule }
{#1} {#2} {#3} {#4} }
}
% \end{macrocode}
@@ -3887,7 +3888,7 @@
\cs_new_protected:cpn { @@_apply_rule_xE:nnn } #1#2#3
{
\@@_debug:n { \@@_msg_pair_found:nnn {#1} {#2} {#3} }
- \__kernel_msg_error:nnnnnn { hooks } { labels-incompatible }
+ \msg_error:nnnnnn { hooks } { labels-incompatible }
{#1} {#2} {#3} { 1 }
\use:c { @@_apply_rule_->:nnn } {#1} {#2} {#3}
\use:c { @@_apply_rule_<-:nnn } {#1} {#2} {#3}
@@ -3895,7 +3896,7 @@
\cs_new_protected:cpn { @@_apply_rule_xW:nnn } #1#2#3
{
\@@_debug:n { \@@_msg_pair_found:nnn {#1} {#2} {#3} }
- \__kernel_msg_warning:nnnnnn { hooks } { labels-incompatible }
+ \msg_warning:nnnnnn { hooks } { labels-incompatible }
{#1} {#2} {#3} { 0 }
}
% \end{macrocode}
@@ -4239,7 +4240,7 @@
\cs_new_protected:Npn \@@_gput_next_code:nn #1 #2
{
\@@_if_disabled:nTF {#1}
- { \__kernel_msg_error:nnn { hooks } { hook-disabled } {#1} }
+ { \msg_error:nnn { hooks } { hook-disabled } {#1} }
{
\@@_init_structure:n {#1}
\@@_if_usable:nTF {#1}
@@ -4537,8 +4538,18 @@
%
% \subsection{Messages}
%
+% Hook errors are LaTeX kernel errors:
+% \begin{macrocode}
+\prop_gput:Nnn \g_msg_module_type_prop { hooks } { LaTeX }
+% \end{macrocode}
+% And so are kernel errors (this should move elsewhere eventually).
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { labels-incompatible }
+\prop_gput:Nnn \g_msg_module_type_prop { kernel } { LaTeX }
+%\prop_gput:Nnn \g_msg_module_name_prop { kernel } { } % <-- currently not working
+% \end{macrocode}
+%
+% \begin{macrocode}
+\msg_new:nnnn { hooks } { labels-incompatible }
{
Labels~'#1'~and~'#2'~are~incompatible
\str_if_eq:nnF {#3} {??} { ~in~hook~'#3' } .~
@@ -4551,7 +4562,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { exists }
+\msg_new:nnnn { hooks } { exists }
{ Hook~'#1'~ has~ already~ been~ declared. }
{ There~ already~ exists~ a~ hook~ declaration~ with~ this~
name.\\
@@ -4560,7 +4571,7 @@
%
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { hook-disabled }
+\msg_new:nnnn { hooks } { hook-disabled }
{ Cannot~add~code~to~disabled~hook~'#1'. }
{
The~hook~'#1'~you~tried~to~add~code~to~was~previously~disabled~
@@ -4570,7 +4581,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { empty-label }
+\msg_new:nnn { hooks } { empty-label }
{
Empty~code~label~\msg_line_context:.~
Using~'\@@_currname_or_default:'~instead.
@@ -4578,7 +4589,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { no-default-label }
+\msg_new:nnn { hooks } { no-default-label }
{
Missing~(empty)~default~label~\msg_line_context:. \\
This~command~was~ignored.
@@ -4586,7 +4597,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { unknown-rule }
+\msg_new:nnnn { hooks } { unknown-rule }
{ Unknown~ relationship~ '#3'~
between~ labels~ '#2'~ and~ '#4'~
\str_if_eq:nnF {#1} {??} { ~in~hook~'#1' }. ~
@@ -4604,9 +4615,9 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { misused-top-level }
+\msg_new:nnnn { hooks } { misused-top-level }
{
- Illegal~\iow_char:N \\AddToHook{#1}[top-level]{...}.\\
+ Illegal~use~of~\iow_char:N \\AddToHook{#1}[top-level]{...}.\\
'top-level'~is~reserved~for~the~user's~document.
}
{
@@ -4618,7 +4629,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { set-top-level }
+\msg_new:nnn { hooks } { set-top-level }
{
You~cannot~change~the~default~label~#1~'top-level'.~Illegal \\
\use:nn { ~ } { ~ } \iow_char:N \\#2{#3} \\
@@ -4627,21 +4638,12 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { ddhl-deprecated }
- {
- \iow_char:N \\DeclareDefaultHookLabel~is~deprecated.\\
- Use~\iow_char:N \\SetDefaultHookLabel~instead.\\ \\
- The~deprecated~name~will~be~removed~in~the~next~release.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { extra-pop-label }
+\msg_new:nnn { hooks } { extra-pop-label }
{
Extra~\iow_char:N \\PopDefaultHookLabel. \\
This~command~will~be~ignored.
}
-\__kernel_msg_new:nnn { hooks } { missing-pop-label }
+\msg_new:nnn { hooks } { missing-pop-label }
{
Missing~\iow_char:N \\PopDefaultHookLabel. \\
The~label~'#1'~was~pushed~but~never~popped.~Something~is~wrong.
@@ -4649,9 +4651,9 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { should-not-happen }
+\msg_new:nnn { kernel } { should-not-happen }
{
- ERROR!~This~should~not~happen.~#1 \\
+ This~should~not~happen.~#1 \\
Please~report~at~https://github.com/latex3/latex2e.
}
% \end{macrocode}
@@ -4659,14 +4661,14 @@
%
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { provide-disabled }
+\msg_new:nnn { hooks } { provide-disabled }
{
- Can't~ provide~ hook~ '#1'~ because~ it~ is~ disabled!
+ Cannot~ provide~ hook~ '#1'~ because~ it~ is~ disabled!
}
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { provide-error }
+\msg_new:nnnn { hooks } { provide-error }
{
Hook~'#1'~ already~ declared~ as~ a~
\@@_if_reversed:nTF {#1} { reversed } { normal }~ hook!
@@ -4764,10 +4766,9 @@
% \begin{macro}{\SetDefaultHookLabel}
% \begin{macro}{\PushDefaultHookLabel}
% \begin{macro}{\PopDefaultHookLabel}
-% \begin{macro}{\DeclareDefaultHookLabel}
%
% \fmiinline{Docu task: At some point this code for this should be moved to the
-% label section earlier and here we should keep only the interface commands.}
+% label section earlier and here we should keep only the interface commands.}
%
% \begin{macro}{\@@_curr_name_push:n,\@@_curr_name_push_aux:n}
% \begin{macro}{\@@_curr_name_pop:}
@@ -4829,11 +4830,11 @@
\cs_new_protected:Npn \@@_curr_name_push_aux:n #1
{
\tl_if_blank:nTF {#1}
- { \__kernel_msg_error:nn { hooks } { no-default-label } }
+ { \msg_error:nn { hooks } { no-default-label } }
{
\str_if_eq:nnTF {#1} { top-level }
{
- \__kernel_msg_error:nnnnn { hooks } { set-top-level }
+ \msg_error:nnnnn { hooks } { set-top-level }
{ to } { PushDefaultHookLabel } {#1}
}
{
@@ -4851,7 +4852,7 @@
{
\seq_gpop:NNTF \g_@@_name_stack_seq \l_@@_return_tl
{ \tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl }
- { \__kernel_msg_error:nn { hooks } { extra-pop-label } }
+ { \msg_error:nn { hooks } { extra-pop-label } }
}
% \end{macrocode}
%
@@ -4866,7 +4867,7 @@
{
\seq_gpop:NNT \g_@@_name_stack_seq \l_@@_return_tl
{
- \__kernel_msg_error:nnx { hooks } { missing-pop-label }
+ \msg_error:nnx { hooks } { missing-pop-label }
{ \g_@@_hook_curr_name_tl }
\tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl
\@@_end_document_label_check:
@@ -4884,7 +4885,7 @@
{
\seq_if_empty:NTF \g_@@_name_stack_seq
{
- \__kernel_msg_error:nnnnn { hooks } { set-top-level }
+ \msg_error:nnnnn { hooks } { set-top-level }
{ for } { SetDefaultHookLabel } {#1}
}
{ \exp_args:Nx \@@_set_default_label:n { \@@_make_name:n {#1} } }
@@ -4893,16 +4894,11 @@
{
\str_if_eq:nnTF {#1} { top-level }
{
- \__kernel_msg_error:nnnnn { hooks } { set-top-level }
+ \msg_error:nnnnn { hooks } { set-top-level }
{ to } { SetDefaultHookLabel } {#1}
}
{ \tl_gset:Nn \g_@@_hook_curr_name_tl {#1} }
}
-\NewDocumentCommand \DeclareDefaultHookLabel { m }
- {
- \__kernel_msg_error:nn { hooks } { ddhl-deprecated }
- \SetDefaultHookLabel {#1}
- }
% \end{macrocode}
%
% The label is only automatically updated with \cs{@onefilewithoptions}
@@ -4942,7 +4938,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
%
%
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index 3b803f3383..84af40d945 100644
--- a/macros/latex-dev/base/ltluatex.pdf
+++ b/macros/latex-dev/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index 02b805b97d..fd05f9537f 100644
--- a/macros/latex-dev/base/ltnews.pdf
+++ b/macros/latex-dev/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf
index 0f16508cc2..e91726a6dd 100644
--- a/macros/latex-dev/base/ltnews01.pdf
+++ b/macros/latex-dev/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf
index 718558863a..afbca53625 100644
--- a/macros/latex-dev/base/ltnews02.pdf
+++ b/macros/latex-dev/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf
index be857e7ee4..11ab1ee093 100644
--- a/macros/latex-dev/base/ltnews03.pdf
+++ b/macros/latex-dev/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf
index 005348dff7..bcf06e380c 100644
--- a/macros/latex-dev/base/ltnews04.pdf
+++ b/macros/latex-dev/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf
index 7008d76f68..f9343d862b 100644
--- a/macros/latex-dev/base/ltnews05.pdf
+++ b/macros/latex-dev/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf
index 538c9768f3..b6b42938fc 100644
--- a/macros/latex-dev/base/ltnews06.pdf
+++ b/macros/latex-dev/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf
index d6b706b906..23f3bebaec 100644
--- a/macros/latex-dev/base/ltnews07.pdf
+++ b/macros/latex-dev/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf
index 9931ddee80..5dbe32de57 100644
--- a/macros/latex-dev/base/ltnews08.pdf
+++ b/macros/latex-dev/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf
index 616c594eb8..9158a8a6de 100644
--- a/macros/latex-dev/base/ltnews09.pdf
+++ b/macros/latex-dev/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf
index 7e0f03f1cc..5c583fa62e 100644
--- a/macros/latex-dev/base/ltnews10.pdf
+++ b/macros/latex-dev/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf
index 6ef42aca9f..b7b4299fee 100644
--- a/macros/latex-dev/base/ltnews11.pdf
+++ b/macros/latex-dev/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf
index 3ea3f11d6a..7d483314d2 100644
--- a/macros/latex-dev/base/ltnews12.pdf
+++ b/macros/latex-dev/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf
index a94411b8c2..bcc2ebf91c 100644
--- a/macros/latex-dev/base/ltnews13.pdf
+++ b/macros/latex-dev/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf
index 79be2aab4d..ebb1a11b88 100644
--- a/macros/latex-dev/base/ltnews14.pdf
+++ b/macros/latex-dev/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf
index aa4ef31e3e..422230b891 100644
--- a/macros/latex-dev/base/ltnews15.pdf
+++ b/macros/latex-dev/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf
index a11d785c60..33b870c2c5 100644
--- a/macros/latex-dev/base/ltnews16.pdf
+++ b/macros/latex-dev/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf
index b25ec2b3b4..e426d8f803 100644
--- a/macros/latex-dev/base/ltnews17.pdf
+++ b/macros/latex-dev/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf
index 7e926718fb..1b9d9720a8 100644
--- a/macros/latex-dev/base/ltnews18.pdf
+++ b/macros/latex-dev/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf
index 96f3be4711..ee9d4d9faf 100644
--- a/macros/latex-dev/base/ltnews19.pdf
+++ b/macros/latex-dev/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf
index 5b2ed0ee07..91ffd73c53 100644
--- a/macros/latex-dev/base/ltnews20.pdf
+++ b/macros/latex-dev/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf
index e8dfbc7c0f..2d6f14527f 100644
--- a/macros/latex-dev/base/ltnews21.pdf
+++ b/macros/latex-dev/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf
index 240c83b6c6..7e75b681d7 100644
--- a/macros/latex-dev/base/ltnews22.pdf
+++ b/macros/latex-dev/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf
index 9807ac1a7a..638b76a2c8 100644
--- a/macros/latex-dev/base/ltnews23.pdf
+++ b/macros/latex-dev/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf
index 0aa98e091e..f3be86d42e 100644
--- a/macros/latex-dev/base/ltnews24.pdf
+++ b/macros/latex-dev/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf
index 3393251fb8..f88b90f53e 100644
--- a/macros/latex-dev/base/ltnews25.pdf
+++ b/macros/latex-dev/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf
index b6da2cc18d..1f27e49641 100644
--- a/macros/latex-dev/base/ltnews26.pdf
+++ b/macros/latex-dev/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf
index d3f0ab919f..a2037f6688 100644
--- a/macros/latex-dev/base/ltnews27.pdf
+++ b/macros/latex-dev/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf
index d6670e6a43..72d813e6ac 100644
--- a/macros/latex-dev/base/ltnews28.pdf
+++ b/macros/latex-dev/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf
index 60644a30e4..ca2747c438 100644
--- a/macros/latex-dev/base/ltnews29.pdf
+++ b/macros/latex-dev/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf
index 87651bc456..4cb04aceef 100644
--- a/macros/latex-dev/base/ltnews30.pdf
+++ b/macros/latex-dev/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf
index f50f366566..445abc7e11 100644
--- a/macros/latex-dev/base/ltnews31.pdf
+++ b/macros/latex-dev/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf
index 51c980520e..d4494fdd6c 100644
--- a/macros/latex-dev/base/ltnews32.pdf
+++ b/macros/latex-dev/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews33.pdf b/macros/latex-dev/base/ltnews33.pdf
index 486fd7b9ab..305c7aed93 100644
--- a/macros/latex-dev/base/ltnews33.pdf
+++ b/macros/latex-dev/base/ltnews33.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews33.tex b/macros/latex-dev/base/ltnews33.tex
index 7f23e9d853..88bce82055 100644
--- a/macros/latex-dev/base/ltnews33.tex
+++ b/macros/latex-dev/base/ltnews33.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 2019-2020
+% Copyright 2019-2021
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
@@ -33,6 +33,16 @@
\NeedsTeXFormat{LaTeX2e}[2020-02-02]
\documentclass{ltnews}
+
+%%CCC Temporary definitions:
+\providecommand\Dash {\unskip ---}
+
+
+
+%% NOTE: Chris' preferred hyphens!
+%%\showhyphens{parameters}
+\hyphenation{because para-me-ters}
+
\usepackage[T1]{fontenc}
\usepackage{lmodern,url,hologo}
@@ -85,12 +95,25 @@
\vbadness=1400 % accept slightly empty columns
+\makeatletter
+% maybe not the greatest design but normally we wouldn't have subsubsections
+\renewcommand{\subsubsection}{%
+ \@startsection {subsubsection}{2}{0pt}{1.5ex \@plus 1ex \@minus .2ex}%
+ {-1em}{\@subheadingfont\colonize}%
+}
+\newcommand\colonize[1]{#1:}
+\makeatother
+
+\let\finalvspace\vspace % for document layout fixes
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand\tubcommand[1]{}
\tubcommand{\input{tubltmac}}
\publicationmonth{June}
-\publicationyear{2021 --- Draft Version}
+\publicationyear{2021} %% --- Draft Version 3p
\publicationissue{33}
@@ -109,15 +132,17 @@
\section{Introduction}
-The focus of the June 2020 release is to provide further important
-building blocks for producing reliable tagged PDF output in the future
-(see \cite{33:blueprint}), they are discussed in the next two
-sections. In addition we included a number of smaller enhancement and
-fixes that are outlined on the next pages. As usual, more detail can
-on individual changes can be found in the \texttt{changes.txt} files
-in the distribution and, of course, in the documented
-sources~\cite{33:source2e}.
+The focus of the June 2021 release is to provide further important
+building blocks for the future production of
+reliable tagged PDF output
+(see \cite{33:blueprint}); these enhancements
+are discussed in the next two
+sections.
+Subsequent sections describe quite a number of recent smaller
+enhancements and fixes. As usual, more detail on individual changes
+can be found in the \texttt{changes.txt} files in the distribution
+and, of course, in the documented sources~\cite{33:source2e}.
@@ -125,534 +150,716 @@ sources~\cite{33:source2e}.
Largely triggered by the need for better control of paragraph text
processing, in particular when producing tagged PDF output, we have
-extended the paragraph processing of \LaTeX{} so that the kernel gains
-control both at the start and the end of each paragraph. This is done
-in a manner that is (or should be) transparent to packages and user
-documents.
+changed \LaTeX{} so that the kernel gains control both at the start
+and at the end of each paragraph. This is done in a manner that is (or
+should be) transparent to both packages and documents.
-Beside the internal control points for exclusive use of the \LaTeX{}
-kernel we also implemented four public hooks that can be used by
-packages or user via the hook management declarations to achieve
-special effects or implement manipulations that in the past were only
-possible through redefinitions of \cs{everypar} or \cs{par} with the
-usual issue that such changes would conflict with changes in other
-packages.
+Besides the addition of internal control points for the exclusive use
+of the \LaTeX{} kernel, we also implemented four public hooks that can
+be used in packages or documents (via the normal hook management
+declarations) to achieve special effects, etc. Until now, such
+enhancements required redefinitions of \cs{everypar} or \cs{par},
+which led to the usual issues since such changes can easily conflict
+with changes made by other packages.
-The documentation of the hooks together with a few examples is
-provided in \file{ltpara-doc.pdf} and for those who want to study the
-(quite interesting) code is found in
-\file{ltpara-code.pdf}. Additionally it is included as part of the
-full kernel documentation in \file{source2e.pdf}.
+The documentation of these new \enquote{paragraph hooks}, together
+with a few examples, is in \file{ltpara-doc.pdf} and, for those who
+want to study it, the (quite interesting) code can be found in
+\file{ltpara-code.pdf}. Additionally, both of these files are included
+as part of the full kernel documentation in \file{source2e.pdf}.
\section{Extending the hook concept to commands}
-Up to now the hook management covered hooks for a few core areas, such
-as hooks for the \cs{shipout} process or those in the \env{document}
-environment, as well as generic hooks for file loading (helpful for
-patching) and for arbitrary environments (executed by \cs{begin} and
-\cs{end}).
+Up to now, hook management covered hooks for only a few core areas,
+such as the hooks for the \cs{shipout} process or those in the
+\env{document} environment, as well as some \enquote {generic} hooks,
+both for file loading (helpful for patching such files) and for
+arbitrary environments (the hooks executed within \cs{begin} and
+\cs{end}). This concept of \enquote{generic hooks} has now been
+extended to provide \hook{/before} and \hook{/after} hooks for any
+(document-level) command\Dash in theory at least.
-This has now been extended to add \hook{/before} and \hook{/after}
-hooks to any (document-level) command---in theory at that is. In
-practice the new generic \hook{cmd} hooks, especially the
-\hook{cmd/.../after} hooks may fail with commands that are too complex
-to be automatically patched and break them if the hook is filled with
-code. The restrictions are documented in \texttt{ltcmdhooks-doc.pdf}.
-However, given that these hooks are mainly meant for package
-developers to provide a better interoperability between different
-packages and between packages and the \LaTeX{} kernel, these
-restrictions are of minor importance: for commands where the mechanism
-can't be applied, one is in the same situation as before and for all
-others there will be a noticeable improvement. This is especially
-important for our big project providing accessible and tagged PDF
-output~\cite{33:blueprint}, because for this we will eventually have
-to patch many third-party packages and this is only feasible, if it can
-be done in controlled and standardized ways.
+In practice, these new generic \hook{cmd} hooks, especially the
+\hook{cmd/.../after}, hooks may fail with commands that are too
+complex to be automatically patched, breaking if the hook contains any
+code. These restrictions are documented in
+\texttt{ltcmdhooks-doc.pdf}.
+%
+However, given that these hooks are mainly meant for developers who
+wish to provide better interoperability between different packages,
+and between packages and the \LaTeX{} kernel, these restrictions are,
+we hope, of minor importance. Indeed, for commands where this
+mechanism can't be applied, one is in the same situation as before;
+and for all others there will be a noticeable improvement.
+These hooks will be especially important for our current project to
+provide accessible and tagged PDF output~\cite{33:blueprint} because
+we will eventually have to patch many third-party packages, and this
+must be done in controlled and standardized ways.
-\section{Other changes to the \LaTeX{} kernel}
-\subsection{Adjusting \env{itemize} labels with \cs{labelitemfont}}
+\section{Other hook business}
-The command \cs{labelitemfont} was in fact already introduced with the
-\LaTeX\ release 2020-02-02, but back then we forgot to describe it, so
-we do this now. Its purpose is to resolve some bad formatting issues
-with the \env{itemize} environment and at the same time make it easier
-to adjust its layout if necessary. What could happen in the past was the
-\env{itemize} labels, e.g., the \textbullet{}, would sometimes react to
-surrounding font changes and could suddenly change shape, for example
-to \textit{\textbullet}.
-
-Now \cs{labelitemfont} is applied to each
-label defaulting to \cs{normalfont} which will prevent this behavior.
-By choosing a different settings other effects can be achieved, for example
-\begin{verbatim}
- \renewcommand\labelitemfont
- {\normalfont\fontfamily{lmss}\selectfont}
- \renewcommand\labelitemfont
- {\rmfamily\normalshape}
-\end{verbatim}
-The first will take the symbols from Latin Modern Sans so that you get
-%
-\def\myfont#1{{\let\labelitemfont\empty\fontfamily{lmss}\selectfont#1}}
-%
-\myfont\labelitemi, \myfont\labelitemii, \myfont\labelitemiii\ and
-\myfont\labelitemiv, while the second variant freezes the font family
-and shape, but leave the series variable, so that an \env{itemize} in
-a bold context would show bolder symbols. Making it empty would give
-you the buggy old behavior back.
-%
-\githubissue{497}
+\subsection{Shipping out a page while bypassing hooks}
-\subsection{A note on file names with spaces, dots or UTF-8 characters}
+In the 2020 October release, several hooks were added to control the
+process of constructing and shipping out a page box: these support,
+for example, the addition of background or foreground material
+to some or all pages.
+
+
+We have now added a command, called \cs{RawShipout}, which does not do
+any rebuilding of the page box and so does not run most of these
+hooks. When using this new command, essential internal book-keeping
+is still carried out, such as updating the \texttt{totalpages} counter
+and adding \texttt{shipout/firstpage} or \texttt{shipout/lastpage}
+material when appropriate.
+
+
+\subsection{A new Lua callback in \pkg{ltshipout},
+for custom attributes}
+
+For use just before shipping out a page, there is now a \LuaTeX{}
+callback \texttt{pre\_shipout\_filter} to contain final adjustments to
+the box being shipped out. This is particularly useful for
+Lua\TeX\ packages which flag (using, for example, attributes or
+properties) elements on a page in order to apply effects (such as the
+insertion of \enquote{color commands}) to these elements at shipout.
+
+
+
+\section{Improved handling of file names}
+
+\subsection[File names with spaces, multiple dots or\\
+ \acro{utf-8} characters]
+ {File names with spaces, multiple dots or \acro{utf-8} characters}
In one of the recent \LaTeX{} releases we improved the interface
for specifying file names so that they can now safely contain spaces
-(as is common on Windows but also elsewhere), UTF-8 characters
-outside the \acro{ascii} range as well as names with several dots in
-it. In the past this was only possible by applying a special syntax
-(in cases of spaces), not at all for most UTF-8 characters and
-not in all circumstances for files with several dots.
-
-However, \TeX{} has a built-in rule saying that you can leave out the
-extension if it is \texttt{.tex}. Because of that \verb=\input{file}=
-or \verb=\input{file.tex}= both load \file{file.tex} if it
-exists. While this is convenient most of the time it is a little
-awkward in some scenarios (for example, when both \file{file} and
-\file{file.tex} exist) and also when you manually try to implement
-that rule.
+(as is common these days),
+more than one dot character, and also \acro{utf-8} characters
+outside the \acro{ascii} range.
+In the past this was only possible by applying a special syntax
+in the case of spaces,
+while file names with several dots often failed,
+as did most \acro{utf-8} characters.
-\LaTeX{} therefore had one special syntax for \cs{include} and
-\cs{includeonly}: they always expected that their arguments contains a
-file name\footnote{In case of \cs{includeonly} a comma separated list
- of such names.} without its extension, which had to be
-\texttt{.tex}. Thus when you mistakenly wrote
-\verb=\include{mychap.tex}= (for example, when you changed from \cs{input}
-to \cs{include} somewhere), \LaTeX{} went ahead and looked for the
-file \file{mychap.tex.tex} for inclusion and tried to write support
-information to the file \file{mychap.tex.aux}. The reason was that
-\cs{include} had to construct both physical file names from the
-argument and it didn't bother to do something special about the
-extension \texttt{.tex}.
-As a side effect of the new implementation this has now changed and
-the argument of \cs{include} now gets the extension \texttt{.tex}
-removed if it was used. Thus \verb=\include{mychap.tex}= now loads
-\file{mychap.tex} and no longer looks for \file{mychap.tex.tex}.
-%
-\githubissue{486}
+\subsubsection{Consequences for file names in \cs{include}}
+\TeX{} has a built-in rule saying that you can normally leave out the
+extension if it is \texttt{.tex}. Thus \verb=\input{file}= and
+\verb=\input{file.tex}= both load \file{file.tex} (if it exists).
+While this is convenient most of the time, it is a little awkward in
+some scenarios (for example, when both \file{file} and \file{file.tex}
+exist) and also when you manually try to implement the rule.
-\subsection{\cs{end}\texttt{\textbraceleft document\textbraceright}
- should always start in v-mode}
+\LaTeX{} therefore had one special syntax for \cs{include} and
+\cs{includeonly}: they always expected that
+their arguments contain a
+file name\footnote{In the case of \cs{includeonly}, a comma-separated list of such names.}
+with no extension given,
+ so that it had to be \texttt{.tex}. Thus,
+ when you mistakenly wrote
+\verb=\include{mychap.tex}= (for example,
+because you changed from \cs{input}
+to \cs{include}),
+\LaTeX{} went ahead and looked for the
+file \file{mychap.tex.tex} for inclusion and tried to
+use the file \file{mychap.tex.aux} for internal (auxiliary) information. The reason was that
+\cs{include} had to construct both
+of these file names from the given
+argument and it didn't bother to do
+anything special
+with the supplied
+extension \texttt{.tex}.
-Until now \verb=\end{document}= executed the code from the
-\cs{AtEndDocument} hook as its first action. This meant that it was
-executed in horizontal mode if the user left no empty line after the
-last paragraph. As a result one could get a spurious space added, for
-example, when that code contained a \cs{write} statement. This was
-fixed and now \cs{enddocument} first issues a \cs{par} to ensure that
-it always starts out in vertical mode.
+With the new implementation this has
+changed:
+the extension \texttt{.tex}
+now gets removed/ignored if it was
+supplied.
+Thus \verb=\include{mychap.tex}= now
+no longer looks for \file{mychap.tex.tex}
+but loads
+\file{mychap.tex}
+and uses \file{mychap.aux}.
%
-\githubissue{385}
+\githubissue{486}
-\subsection{Allow extra space between name and address in \pkg{letter} class}
+\subsection{Normalization of robust commands in file names}
-The \cs{opening} command in the \pkg{letter} class expects the
-name and address to be separated by \verb=\\= but it didn't allow to
-use an optional argument at this point to add some extra space after
-the name. The coding has now been slightly altered to allow for this.
+The handling of file names has been modified so that \verb|\string| is
+applied to normalize robust commands within the file name.
+Previously, for example, \verb|\input{\sqrt{2}}| would cause
+\LaTeX\ to loop indefinitely whereas with
+the new normalization
+it looks for the file named \verb|sqrt {2}.tex|
+(and therefore very likely reports ``file not found'').
%
-\githubissue{427}
+\githubissue{481}
-\subsection[Add a Lua callback to \pkg{ltshipout} to provide
- a uniform location for applying custom attributes]
- {Add a Lua callback to \pkg{ltshipout} to provide
- a uniform
- \mbox\quad location for applying custom attributes}
-Just before shipping out a page, a new \LuaTeX{} callback
-\texttt{pre\_shipout\_filter} is now called to allow final
-adjustments to the box to be shipped out. This is particularly for
-Lua\TeX\ packages which flag certain elements of the page (e.g. using
-attributes or properties) in order to apply certain effects to these
-elements at shipout. An example for this is the \pkg{luacolor}
-package which could insert the color commands using this callback.
+\subsection{Fix for \env{filecontents} with \acro{utf-8}
+ chars in the file name}
+Since a few releases back, the \env{filecontents} environment has
+allowed \acro{utf-8} characters in the file name. There was, however,
+a bug that would not allow \emph{over}writing a file with \acro{utf-8}
+characters in its name. This has been fixed and now
+\env{filecontents} allows any characters in the file name.
+%
+\githubissue{415}
-\subsection{Improved copy\,\&\,paste support for \pdfTeX{} documents}
-When compiling with \pdfTeX{}, additional information is added to the
-PDF file to improve copying from and searching in text. This especially
-allows ligatures to copy correctly from \pdfTeX{} generated PDF files in
-most cases.
-Since this has been integrated into the kernel, most documents should no
-longer need to load the \pkg{cmap} package or input \texttt{glyphtounicode}.
-%
-\githubissue{465}
+\section{Updates to the font selection scheme}
-\subsection{Provide a hook in \cs{selectfont}}
+\subsection{A new hook in \cs{selectfont}}
-After \cs{selectfont} has altered the font we run a hook so that
-packages can make final adjustments. This functionality was originally
-provided by the \pkg{everysel} package, the new implementation is
-slightly different and uses the standard hook management.
+After \cs{selectfont} has changed the font, we now run a hook (\hook{selectfont})
+so that packages can make final \mbox{adjustments}. This functionality was
+originally provided by the \pkg{everysel} package but our
+implementation is slightly different and uses the standard hook
+management.
%
\githubissue{444}
-\subsection{Delay change of font series and shape to \cs{selectfont} call}
+\subsection{Change of font series/shape delayed until \cs{selectfont}}
-With the NFSS extensions introduced in 2020 the font series and shape
-settings can be influenced by changes to the font family. The setting
-is therefore delayed until \cs{selectfont} is executed to avoid
-unnecessary or incorrect substitutions that may otherwise happen due
-to the order of declarations.
+With the NFSS extensions introduced in 2020, the font series and shape
+settings can be influenced by changes to the font family. The
+settings of these two are now therefore delayed until \cs{selectfont}
+is executed; this avoids unnecessary or incorrect substitutions that
+may otherwise happen due to the order of declarations.
%
\githubissue{444}
-\subsection{Allow \cs{nocite} in preamble}
+\section{Glyphs, characters \& encodings}
-A natural place for \verb=\nocite{*}= would be the preamble of the
-document, but for historical reasons \LaTeX{} issued an error message
-if it was placed there. From the new release on it is now allowed in
-the preamble.
+\subsection{Improved copy\,\&\,paste for \pdfTeX{} documents}
+
+When compiling with \pdfTeX{}, additional information
+(from the file \texttt{glyphtounicode.tex}) is now added automatically
+to the PDF file in order to improve copying from, and searching in,
+text.
+
+In particular, this allows the most common ligatures to be copied as
+intended from all generated PDF files without the need to explicitly
+load the package \pkg{cmap}.
%
-\githubissue{424}
+\githubissue{465}
-\subsection{Shipping out a page while bypassing hooks}
-In the 2020 October release several hooks were added to the page
-shipout process, e.g., to add some background or foreground material
-to some or all pages. We now also added a \cs{RawShipout} command that
-bypasses most of these hooks during the shipout. Some essential
-internal bookkeeping still takes place such as updating the
-\texttt{totalpages} counter or adding \texttt{shipout/firstpage} or
-\texttt{shipout/lastpage} material if the page happens to be the first
-or last.
-
-\subsection{Robust commands in filename arguments}
-The filename handling has been modified so that \verb|\string| is
-applied while normalizing robust commands while determining the file
-name. Previously \verb|\input{\sqrt{2}}| would cause \LaTeX\ to loop indefinitely.
-With the new behavior it accesses \verb|sqrt {2}.tex|.
-%
-\githubissue{481}
+\subsection{Support for more Unicode characters}
-\subsection[Additional support for Unicode characters from the
- Latin Extended Additional block]
- {Additional support for Unicode characters from the Latin\\
- \mbox\quad Extended Additional block}
\LaTeX\ is quite capable of typesetting characters such as
-\enquote{\d{m}}, but until now it lacked the Unicode mappings for some
-characters that are used to write Sanskrit words in Latin
-transliteration (as seen in books about yoga, Buddhist philosophy,
-etc.). These have now been added so that such characters can be
-entered directly instead of resorting to \verb=\d{m}= and so forth.
+\enquote{\d{m}}, but until now it could not access some Unicode
+characters from the Latin Extended Additional block. This meant that,
+for example, there were no Unicode mappings for some characters that
+are used to write Sanskrit words in Latin transliteration (as seen in
+books about yoga, Buddhist philosophy, etc.).
+%
+These characters have now been added so that they can be entered
+directly instead of using \verb=\d{m}=, etc.
%
\githubissue{484}
-\subsection{Always have color groups set up}
-To use color in \LaTeX{} certain constructs, especially boxes, need an
-extra layer of groups to ensure that the color setting does not
-\emph{escape} and continue outside the box when it shouldn't. To
-arrange for this the \LaTeX{} kernel defined a number of commands, e.g.,
-\cs{color@begingroup} to be used in such places. They have been
-initially no-ops and only the color packages redefined them to become
-real groups. This arrangement complicates the coding as one has to
-account for a group being there (or not there) depending of what is
-loaded in the document. So now the kernel already adds the groups.
+
+\subsection{More ``dashes'' in encodings \texttt{OT1},
+ \texttt{T1} and \texttt{TU}}
+
+When pasting in text from external sources, one can encounter these
+three Unicode characters
%
-\githubissue{488}
+\texttt{"2011} (non-breaking hyphen),
+\texttt{"2012} (figure dash) and
+\texttt{"2015} (horizontal bar),
+%
+in addition to the more common
+%
+\texttt{"2013} (en-dash) and \texttt{"2014} (em-dash).
+%
+In the past, these first three produced an error message when used
+with \pdfTeX{} (since they are not available in \texttt{OT1} or
+\texttt{T1} encoded fonts). They now typeset an approximation to the
+glyph: e.g., the ``figure dash'' is approximated by an en-dash.
+With Unicode engines they either work (when the glyph is contained in
+the selected Unicode font) or they typeset nothing, producing a
+``Missing character'' warning in the log file.
-\subsection{Execute \cs{par} at the end of \cs{marginpar} arguments}
+With all engines these characters can also now be accessed using the
+command names \cs{textnonbreakinghyphen}, \cs{textfiguredash} and
+\cs{texthorizontalbar}, respectively.
+%
+\githubissue{404}
-In preparation for tagged PDF it is important to properly tag all
-paragraphs and this requires running code at the beginning and end of
-each. At the end of a paragraph this is done inside the \cs{par}
-command, but the way \cs{marginpar} was coded, \LaTeX{} ended the
-marginal note without ever explicitly calling \cs{par}. This has now
-been changed.
-Another case where this issue caused problems was the \pkg{lineno}
-package where the last line was not numbered if the \cs{marginpar}
-ended without a \cs{par} in the document.
+\subsection{Poor man's \cs{textasteriskcentered}}
+
+The \cs{textasteriskcentered} symbol, used as part of the set of
+footnote symbols in \LaTeX{}, is assumed to be implemented by every
+font with the \texttt{TS1} encoding (when \pdfTeX{} is used) or with
+the \texttt{TU} encoding for the Unicode engines. That assumption is
+unfortunately not correct for all fonts since, for example, the
+\texttt{stix2} fonts don't provide this glyph. A result is that one
+gets missing glyph messages when using \cs{thanks}, etc.
+
+Therefore \cs{textasteriskcentered} now checks whether there is such a
+glyph and, if not, uses a normal \enquote{*}, but slightly enlarged
+and lowered. This may not be perfect in all cases, but it is
+certainly better than no glyph showing up.
%
-\githubissue{489}
+\githubissue{502}
+
+\subsection {The characters from \pkg{textcomp} are in the kernel}
+
+A couple of releases back, the functionality of the \pkg{textcomp}
+package was integrated into the \LaTeX{} kernel. Thus it is no longer
+necessary to load this package in order to access glyphs such as
+\cs{textcopyright}, \cs{texteuro} or \cs{textyen}.
+
+
+At this time the opportunity was also taken to bring some order to the
+chaos surrounding the question: \enquote{which glyphs from the
+ \texttt{TS1} encoding are available in a given font?}. This was
+done using an approach based on font families and collections, with
+the differing glyph coverage of the \enquote*{text symbols} being
+indicated by assigning to a font family or collection a ``sub-encoding
+number'' that indicates which glyphs from the \texttt{TS1} encoding are
+guaranteed to be available when using a font from that family or
+collection. This assignment ensures that \LaTeX{} always errs on the
+side of caution, possibly claiming that a glyph is not available even
+when it in fact is.
+
+\iffalse %%FMi but drop that
+
+The documented code for this can be found now in the file
+\file{lttextcomp.dtx} but we hope to publish a full explanation of
+the approach very soon now.
+
+\fi %% FMi potential drop
+
+
+
+\subsubsection
+ [A note on the history of ``text symbols'']
+ {A note on the history of ``text symbols'' and
+ the \texttt{TS1} encoding}
+
+
+The \enquote{text symbol encoding} (\texttt{TS1}) was originally
+designed at the Cork Conference as a companion to the \texttt{T1}
+encoding. In it various symbols that are not subject to hyphenation
+got assembled and the \pkg{textcomp} package was developed to make
+them accessible. Unfortunately the \TeX{} community was a bit too
+enthusiastic and included several symbols only available in a few
+\TeX{} fonts and some, such as the capital accents, not available at
+all but developed as part of the reference font implementation.
+
+In hindsight that was a very bad idea because it meant that other
+existing fonts (at the time) and later new fonts that got developed
+were unable to provide the full set of glyphs that made up the
+\texttt{TS1} encoding. For existing free PostScript fonts people
+took the extra effort and produced virtual fonts that faked (some) of
+the missing glyphs. But this was and is a time-consuming effort so it
+was done for only a few basic fonts. But even then, only some fonts
+included all glyphs from \texttt{TS1} so the \pkg{textcomp} already
+back then contained a long list, dividing fonts into 5 categories
+according to which glyphs were implemented and which were missing.
+
+
+When we recently integrated the functionality of the \pkg{textcomp}
+into the \LaTeX{} kernel
+many new free fonts had appeared and
+unfortunately the chaos around the question \enquote{which glyphs of
+ the \texttt{TS1} encoding are implemented by which font} had
+increased with it. Not only did one find many new holes, it was next to
+impossible to order the set of fonts into a reasonable set of
+sub-encodings that are contained in each other in a single sequence.
+
+In the end we decided on nine or ten sub-encodings with a reasonable
+number of fonts in each so that all fonts implemented all glyphs of the
+sub-encoding they got mapped to. Thus when typesetting with a font one
+could be sure that a command like \cs{textcopyleft} would either
+typeset the requested character (if the glyph was part of the
+sub-encoding the font belonged to) or it would raise an error, saying
+that the glyph is unavailable in that font. The mapping would ensure
+that \LaTeX{} always errs on the side of caution, because it might
+claim a glyph is unavailable even though in fact it is.\looseness-1
+
+For example, the old \texttt{pcr} (PostScript Courier) font (as well
+as most other older PS fonts) is mapped to sub-encoding 5 and
+therefore claims that \cs{textasciigrave} is unavailable even though
+in fact for Courier this is not true. If one uses such a font and this
+becomes an issue then there are a couple (suboptimal) possibilities.
+For one, one can alter the mapping of Courier and pretend that belongs
+to a fuller sub-encoding, e.g.
+\begin{verbatim}
+ \DeclareEncodingSubset{TS1}{pcr}{2}
+\end{verbatim}
+The downside is, that \LaTeX{} then believes other glyphs that are in fact
+unavailable are also there, so that it is important to check that the
+final document doesn't have some missing glyphs.
+
+An alternative is to pretend that \cs{textasciigrave} can always be
+taken from the \texttt{TS1} encoding (no questions asked):
+\begin{verbatim}
+ \DeclareTextSymbolDefault{\textasciigrave}{TS1}
+\end{verbatim}
+Again there is a danger that this is not true when it is used with a
+different font and would then generate a missing glyph.
+
+Finally, and possibly the best solution, if not impossible for other
+reasons, is to simply use a different font, for example, to use the
+\TeX{} Gyre Cursor font (a reimplementation of Courier with a
+much more complete glyph set).
-\subsection{Producing several footnote marks to one footnote}
+
+\section{New or improved commands}
+
+\subsection{Adjusting \env{itemize} labels with \cs{labelitemfont}}
+
+The command \cs{labelitemfont} was introduced already with the
+\LaTeX\ release 2020-02-02, but back then we forgot to describe it, so
+we do this now. Its purpose is to resolve some bad formatting issues
+with the \env{itemize} environment and also to make it easier to
+adjust the layout when necessary. What could happen in the past was
+that the \env{itemize} labels (e.g., the \textbullet{}) would
+sometimes react to surrounding font changes and could then suddenly
+change shape, for example to \textit{\textbullet}.
+
+This new command \cs{labelitemfont}, which defaults to \cs{normalfont},
+can be used to provide additional control in the typesetting of
+each label. Thus by choosing
+different settings other effects can be achieved. Here are two
+examples:
+\begin{verbatim}
+ \renewcommand\labelitemfont
+ {\normalfont\fontfamily{lmss}\selectfont}
+ \renewcommand\labelitemfont
+ {\rmfamily\normalshape}
+\end{verbatim}
+The first definition will take the symbols from the font Latin Modern
+Sans, so that you get
+%
+\def\myfont#1{{\let\labelitemfont\empty\fontfamily{lmss}\selectfont#1}}%
+%
+\myfont\labelitemi, \myfont\labelitemii, \myfont\labelitemiii\ and
+\!\!\myfont\labelitemiv\,; while the second variant freezes the font family
+and shape, but leaves the series as a variable quantity, so that an
+\env{itemize} in a bold context would show bolder symbols. Making
+\cs{labelitemfont} empty would give you back the buggy old behavior.
+%
+\githubissue{497}
+
+
+\subsection{Producing several marks for one footnote}
It is sometimes necessary to reference the same footnote several
-times, i.e., produce several footnote marks with the same number or
-symbol. This is now always possible by placing a \cs{label} into the
-\cs{footnote} and reference it with the command \cs{footref}
-elsewhere. This way marks referring to footnotes anywhere on the page
-(including those in \texttt{minipage}s) can be generated. In the past
-this command was only available with certain classes or when loading
-the \pkg{footmisc} package.
+times: i.e., to produce several footnote marks using the same number
+or symbol. This is now easily possible by placing a \cs{label} within
+the referenced \cs{footnote} and referencing this label by using the
+new command \cs{footref}. This means that footnote marks can be
+generated to refer to arbitrary footnotes (including those in
+\texttt{minipage}s).
+
+This \cs{footref} command has previously been available, but only when
+using certain classes or the \pkg{footmisc} package.
%
\githubissue{482}
+\subsection{Allow \cs{nocite} in the preamble}
-\subsection[Providing the raw option list of packages or documentclass
- to key/value handlers]
- {Providing the raw option list of packages or documentclass\\
- \mbox\quad to key/value handlers}
+A natural place for \verb=\nocite{*}= would be the preamble of the
+document, but for historical reasons \LaTeX{} issued an error message
+if it was placed there. This command is now allowed in the preamble.
+%
+\githubissue{424}
-\LaTeXe{} has always normalized space in option lists so\\
-\verb|\documentclass[ a4paper , 12pt ]{article}|\\
-processed the intended options \texttt{a4paper} and \texttt{12pt}.
-Unfortunately the mechanism used was designed for the simple option
-names of the standard option processing. Many classes and packages
-now use extended \emph{keyval} processing, however this white space
-normalization makes this difficult:
-\verb|[bb=1 2 3 4]|
-which might be expected to pass a bounding box of four numbers is
-normalized to \texttt{bb=1234} and
-\verb|[bb={1 2 3 4}]|\\
-which might be expected to quote the spaces results in low level \TeX{}
-parsing errors.
+\subsection{Made \cs{\textbackslash} generally robust}
+In 2018 most \LaTeX{} user-level commands were made robust, including
+the \cs{\textbackslash} command. However, \cs{\textbackslash} gets
+redefined in various environments and not all these cases were caught:
+such as, in particular, its use as the row delimiter in \env{tabular}
+structures. This has been corrected so that \cs{\textbackslash}
+should now be robust in all circumstances.
-For compatibility reasons, the standard option processing has not been
-changed however the original un-normalized package and class option lists
-are now saved. They are not used in the standard processing, however
-extended package option systems may use these \enquote{raw} option list
-macros if they are defined.
-The one change affecting the standard processing is that the low level
-error mentioned above is now avoided as values (any tokens to the
-right of an = sign) are removed from consideration from the
-\enquote{unused option list}. In this release \texttt{clip=true} and
-\texttt{clip=false} both contribute \texttt{clip} to the list of
-options that have been used.
+This change also fixed one anomaly present in the past:
+in a tabular preamble of the form
+\finalvspace*{-.3\baselineskip}
+\begin{quote}
+ \hspace*{-.15em}\verb={l=\texttt{\string>}\verb={\raggedright}p{10cm}r}= % stupid class
+\end{quote}
+\finalvspace*{-.3\baselineskip}
+a \cs{\textbackslash} in the second column would have the definition
+used within \cs{raggedright} and so it would not indicate the
+(premature) end of the \env{tabular}. Thus, for example,%
+\finalvspace*{-.3\baselineskip}
+\begin{quote}
+ \verb=a & b1 \\ b2 & c \\=
+\end{quote}
+\finalvspace*{-.3\baselineskip}
+was interpreted as a single row of the \env{tabular} (as intended),
+whereas
+\finalvspace*{-.3\baselineskip}
+\begin{quote}
+ \verb=a & \\ b2 & c \\=
+\end{quote}
+\finalvspace*{-.3\baselineskip}
+resulted in two rows! This happened because the \cs{\textbackslash}
+directly following the \verb=&= got interpreted while it still had the
+\enquote{end the row} meaning and not yet the \enquote{start a new
+ line within the second column} meaning.
+
+With \cs{\textbackslash} now being robust, the special scanning mode
+initiated by the \verb=&= ends immediately when this command is seen:
+the second column is therefore then started, which results in the
+\cs{\textbackslash} being interpreted as being within that column and
+hence as having its expected, within-column, meaning.
+
+We have restored consistency here: now both of the above lines
+produce a single \env{tabular} row.
+%
+As before, you can
+put \cs{raggedright}\cs{arraybackslash} in the \env{tabular}'s
+preamble for a column to ensure that \cs{\textbackslash} is always
+interpreted as a tabular row separator when used in that column. And
+you can use \cs{tabularnewline} to explicitly ask for a new table row,
+even when \cs{\textbackslash} has a different meaning within the
+current column.
%
-\githubissue{85}
+\githubissue{548}
-\subsection{Poor man's \cs{textasteriskcentered} if missing}
-The \cs{textasteriskcentered} symbol, used as part of the set of
-footnote symbols in \LaTeX{}, is assumed to be implemented by
-every font in the \texttt{TS1} encoding (when \pdfTeX{} is used) or
-in the \texttt{TU} encoding for the Unicode engines. Unfortunately,
-that assumption is not correct for all fonts, for example, for the
-\texttt{stix2} fonts don't offer the glyph, with the result that one
-gets missing glyphs when using \cs{thanks} etc.
-
-For that reason the definition for \cs{textasteriskcentered} was
-altered to check if there is a glyph in the right position and if not
-a normal \enquote{*} is used, slightly enlarged and lowered. That may
-not be perfect in all cases, but certainly better than nothing show
-up.
+\subsection{Allow extra space between name and address in \pkg{letter} class}
+
+The \cs{opening} command in the \pkg{letter} class expects the name
+and address to be separated by \verb=\\=, but it didn't allow the use
+of an optional argument to add some extra space after the name. The
+code has now been slightly altered to allow this.
%
-\githubissue{502}
+\githubissue{427}
-\subsection{Provide more ``dashes'' in encodings \texttt{OT1},
- \texttt{T1} and \texttt{TU}}
+\subsection{Additions to \cs{tracingall}}
-When pasting in text from external sources one sometimes encounters
-the Unicode characters
-%
-\texttt{"2011} (non-breaking hyphen),
-\texttt{"2012} (figure dash) and
-\texttt{"2015} (horizontal bar)
-%
-in addition to the common \texttt{"2013} (en-dash) and \texttt{"2014}
-(em-dash). In the past the first three characters produced an error
-message when used with \pdfTeX{}. Now they typeset an approximation
-(as they are unavailable in \texttt{OT1} or \texttt{T1} encoded fonts
-used by \pdfTeX{}), e.g., the figure dash is approximated by an en-dash.
+In July 2020 David Jones suggested an extension to \TeX{} engines,
+that added the possibility to set \cs{tracinglostchars}\texttt{=3} in
+order to generate an error message in case some character is missing
+from a font. In previous years, a warning about a missing character
+was silently printed to the \texttt{.log} file\linebreak
+(if $\cs{tracinglostchars}>0$) and to the terminal\linebreak
+ (if ${}>1$). This extension was added for \TL{} and \MiKTeX{}
+(except in Knuth's \TeX, of course),
+so that with $\cs{tracinglostchars}>2$ you now also get an
+error message for each missing glyph.
-In Unicode engines they either work (if contained in the selected
-Unicode font) or typeset nothing and produce a ``Missing character''
-warning in the log file.
+Later, in January 2021, Petr Olšák suggested yet another extension:
+a new primitive
+\mbox{parameter}
+%
+\cs{tracingstacklevels} that, when both it and \cs{tracingmacros} are
+positive, will add to the \mbox{tracing} information for each
+macro a visual indication (using dots) of
+its nesting level in the macro expansion stack.
-However, what works in all engines now, is to access the characters
-via the command names \cs{textnonbreakinghyphen}, \cs{textfiguredash}
-and \cs{texthorizontalbar}, respectively.
+These changes have both now been added to \LaTeX's debugging macros
+\cs{tracingall} and \cs{tracingnone}, so that these two new extensions
+are activated/deactivated as appropriate, so long as the \TeX{} engine
+supports them. An example document demonstrating these parameters is
+in the linked GitHub issue.
%
-\githubissue{404}
+\githubissue{524}
-\subsection{\env{filecontents} with \acro{utf-8} characters in file name}
-Since a few releases back, the \env{filecontents} environment allows writing a
-file with \acro{utf-8} characters in its name. However there was a bug that
-would not allow \emph{over}writing a file with \acro{utf-8} characters in the
-name. This has been fixed and now \env{filecontents} allows any characters in
-the file name.
-%
-\githubissue{415}
+\section{Code improvements}
+
+\subsection{Execute \cs{par} at the end of \cs{marginpar}}
+Previously, \LaTeX{} ended a \cs{marginpar} without ever explicitly
+calling \cs{par}. This command is now explicitly added because it is
+essential to the correct working of the paragraph hooks.
+Another case where this issue caused problems was the \pkg{lineno}
+package, where the last line was not numbered if the \cs{marginpar}
+ended without an explicit \cs{par}.
+%
+\githubissue{489}
-\subsection{Extending \pkg{latexrelease} to declare an entire module}
-In the 2020-10-01 release, \LaTeX's new hook management system was added to the
-kernel (see \cite{33:ltnews32}) and, as with all changes to the kernel, it was
-added to \pkg{latexrelease}, so that it is possible to roll back to a date where
-such module didn't exist yet, or roll forward from an older release and have the
-hook management system by loading the \pkg{latexrelease} package.
-However rolling back from a later release to the 2020-10-01 release didn't quite
-work because it would try to define all the commands from \pkg{lthooks} again,
-and that would result in errors, as usual with commands defined with
-\cs{newcommand} or in the case of \pkg{lthooks}, \cs{cs\_new:Npn}.
+\subsection{Execute \cs{AtEndDocument} hook in vertical mode}
-To solve this issue, now completely new modules can be defined in
-\pkg{latexrelease} using \cs{NewModuleRelease}
-and then when rolling back or forward it will know if the code
-of the module has to be read or completely ignored. More details can be
-found in the \pkg{latexrelease} documentation (\verb|texdoc latexrelease|).
+Until now \verb=\end{document}= executed the code from the
+\cs{AtEndDocument} hook as its first action. This meant that this
+hook was executed in horizontal mode if the user left no empty line
+after the last paragraph. As a result, one could get a spurious space
+added when, for example, that code contained a \cs{write}
+statement. This was fixed and now \cs{enddocument} first issues a
+\cs{par} to ensure that it always goes into vertical mode.
%
-\githubissue{479}
+\githubissue{385}
+\subsection{Color groups made permanent}
+
+The use of color in certain \LaTeX{} constructs, especially boxes,
+needs an extra layer of grouping to ensure that the color setting does
+not \emph{escape} and continue outside the box when it shouldn't.
+%
+To support this, the \LaTeX{} kernel defines a number of commands,
+e.g., \cs{color@begingroup} to be used in such places.
-\subsection{Small fix for rolling back prior to 2020-02-02}
-Whereas the \pkg{latexrelease} package can usually emulate an older \LaTeX{}
-kernel without much problem, rolling back to before the 2020-02-02 release
-didn't work properly because the management of the \cs{ExplSyntaxOn/Off} status
-for packages cannot be removed by the rollback without messing up catcodes after
-an \pkg{expl3}-based package is loaded. This has been fixed and now rollback is
-more careful not to leave \pkg{ExplSyntaxOn} after a package ends.
+Until now, these commands were initially set as no-ops and only the
+color packages redefined them to become real groups; this methodology
+complicates the coding as one has to account for a group being present
+or not (\mbox{depending} on what is loaded in the document).
%
-\githubissue{504}
+The kernel therefore now permanently adds these \enquote{color groups}.
+%
+\githubissue{488}
+\subsection{Provide the raw option list to key/value option handlers}
-\subsection[Add \cs{tracingstacklevels}
- and \cs{tracinglostchars}\texttt{=3} to \cs{tracingall}]
- {Add \cs{tracingstacklevels}
- and \cs{tracinglostchars}\texttt{=3}\\
- \mbox\quad to \cs{tracingall}}
+Before any further processing of the option list, the original
+(un-normalized, \enquote{raw} and unchanged) list of package or class
+options is now saved, as \cs{@raw@opt@...}; this list is not used by
+the standard option processing code but it is now available for use by
+extended class/package processing systems. Note that, for
+compatibility reasons, the standard option processing code has not
+been changed.
-In July 2020 David Jones suggested an extension to \TeX{} engines, that
-added the possibility to set \cs{tracinglostchars}\texttt{=3} to have an
-error in case some character is missing from a font. In previous years,
-the warning for a missing character would be silently printed to the
-\texttt{.log} file (if $\cs{tracinglostchars}>0$) and to the terminal
-(if ${}>1$). This extension was added for \TL{} and \MiKTeX{} (except
-in Knuth's \TeX, of course) and now with $\cs{tracinglostchars}>2$ you
-get an error on a missing glyph.
-Later, in January 2021, Petr Olšák suggested yet another extension, a
-new primitive parameter \cs{tracingstacklevels} that, when positive (and
-when \cs{tracingmacros} is also positive), will print a visual
-indication of the macro nesting level in \TeX's tracing information.
-Both these changes were incorporated to \LaTeX's debugging macros
-\cs{tracingall} and \cs{tracingnone}, so when you use them, the new
-extensions are automatically activated/deactivated if your \TeX{}
-distributions has a recent enough engine. An example document
-demonstrating these parameters is available in the linked GitHub issue.
+One
+aspect of this
+change does affect the standard \mbox{processing}: any tokens to the
+right of an \texttt{=}
+sign are \mbox{removed}
+from consideration
+when constructing
+the \enquote{\mbox{unused} option list}.
+For example, in
+this release \texttt{clip=true} and
+\texttt{clip=false} both contribute \texttt{clip} to the list of
+options that have been used.
%
-\githubissue{524}
+\githubissue{85}
-\subsection{Make \cs{\textbackslash} generally robust}
+\subsection{New for \pkg{latexrelease}\,: \cs{NewModuleRelease}}
+
+To explain the need for this new feature, we shall consider the
+following example: in the 2020-10-01 release, \LaTeX's new hook
+management system was added to the kernel (see \cite{33:ltnews32})
+and, as with all changes to the kernel, it was added to
+\pkg{latexrelease}; this made it possible to roll back to a date where
+this module didn't yet exist, or to roll forward from an older
+\LaTeX{} release to get the hook management system (by loading the
+\pkg{latexrelease} package).
+%
+However, this method of rolling back from a later release to the
+2020-10-01 release didn't quite work because it would try to define
+all the commands from \pkg{lthooks} again; and this would of course
+result in the expected errors from commands defined with
+\cs{newcommand} or (as in \pkg{lthooks}) \cs{cs\_new:Npn}.
+
+To solve such issues, we now provide \cs{NewModuleRelease} so that
+completely new modules can be defined using the facilities of
+\pkg{latexrelease} in such a way that, when rolling back or forward,
+the system will know whether the code of the new module has to be read
+or completely ignored. More details on this can be found in the
+\pkg{latexrelease} documentation (get this with
+\verb|texdoc latexrelease|).
+%
+\githubissue{479}
-In 2018 most \LaTeX{} user-level commands were made robust including
-\cs{\textbackslash}. However, \cs{\textbackslash} is redefined in
-various environments and not all cases were caught, in particular its use as row
-delimiter in \env{tablular} structures. This has now been corrected and
-\cs{\textbackslash} should be robust in all standard
-circumstances. Doing that also fixed one anomaly present in the past:
-in a tabular preamble of the form
-\begin{quote}
- \verb={l=\texttt{\string>}\verb={raggedright}p{10cm}r}= % stupid class
-\end{quote}
-a \cs{\textbackslash} in the second column would have the definition
-used by \cs{raggedright} and would not indicate the (premature) end of
-the \env{tabular}, e.g.,
-\begin{quote}
- \verb=a & b1 \\ b2 & c \\=
-\end{quote}
-would be a single row in that \env{tabular}. However, writing
-\begin{quote}
- \verb=a & \\ b2 & c \\=
-\end{quote}
-would give you two rows: due to the scanning process the
-\cs{\textbackslash} directly following the \verb=&= still had
-the \enquote{end the row} meaning and not the \enquote{start a new
- line in the second column} meaning.
-With \cs{\textbackslash} now robust, the scanning after \verb=&= ends
-when the command is seen and the second column is started and so now
-both lines above consistently produce a single \env{tabular} row.
+\subsection{Small fix for rolling back prior to 2020-02-02}
-As before, you can use \cs{raggedright} \cs{arraybackslash} in the
-\env{tabular} preamble to ensure that \cs{\textbackslash} is always
-interpreted as a row separator when used in the column or you could
-use \cs{tabularnewline} to explicitly ask for a new row even when
-\cs{\textbackslash} has a different meaning in the current column.
+Whereas the \pkg{latexrelease} package can usually emulate an older
+\LaTeX{} kernel without much problem, rolling back to before the
+2020-02-02 release didn't work properly: this is because the
+management of the \cs{ExplSyntaxOn/Off} status for packages (after an
+\pkg{expl3}-based package is loaded) cannot be removed by the rollback
+without messing up the catcodes. This has been fixed so that rollback
+is now more careful not to leave \cs{ExplSyntaxOn} after a package
+ends.
%
-\githubissue{548}
+\githubissue{504}
\section{Changes to packages in the \pkg{graphics} category}
-\subsection{Removed spurious warning for generic graphics rules}
+\subsection{Removed warning when loading graphics files}
-A previous release mistakenly caused a warning to appear when loading a graphics
-file with an unknown extension through a generic graphics rule. The warning
-would incorrectly say that the file was not found, whereas the file would be
-included correctly. The warning now doesn't show up in that case.
+A previous release sometimes mistakenly caused a (false) warning
+message to appear when \mbox{using} a generic graphics rule to find
+and load a graphics file with an unknown \mbox{extension}.
+%%CCC removing hyphenation here makes this one line longer.
+This warning would incorrectly say that the file was not found,
+whereas the file would in fact be correctly loaded. The warning now
+doesn't show up in that case.
%
\githubissue{516}
-\subsection{Fixed loading \texttt{gzip}ped PostScript graphics files}
+\subsection{Fixed loading of \texttt{gzip}ped
+ PostScript files}
-A previous release mistakenly changed the file searching mechanism and
-compressed graphics files would raise an error when being loaded with
-\cs{includegraphics}. This has been fixed and now \texttt{gzip}ped graphics
-load correctly.
+A previous release mistakenly changed the file searching mechanism so
+that compressed PostScript graphics files would raise an error when
+being loaded with \cs{includegraphics}. This has been fixed so that
+\texttt{gzip}ped graphics files now load correctly.
%
\githubissue{519}
-
\section{Changes to packages in the \pkg{tools} category}
-\subsection{\pkg{layout}: Support extra language options}
-The package now recognizes \texttt{japanese} and \texttt{romanian} as
+\subsection{\pkg{layout}: Added language options}
+
+This package now recognizes \texttt{japanese} and \texttt{romanian} as
language options.
%
\githubissue[s]{353 and 529}
@@ -660,71 +867,64 @@ language options.
\subsection{\pkg{array} and \pkg{longtable}: Make \cs{\textbackslash} generally robust}
-The fix for this issue was also applied to these packages, see above.
+The fix for this issue was also applied to these packages; see above.
%
\githubissue{548}
\subsection{\pkg{longtable}: General bug fix update}
-Minor update to \pkg{longtable} to fix bugs reported. Notably the
-possibility of incorrect page breaks if floats appear on the same page
-that a \env{longtable} starts. As this may affect page breaking in
-existing documents, a rollback to \pkg{longtable 4.13}
-(\file{longtable-2020-01-07.sty}) is supported.
+
+This is a minor update to the \pkg{longtable} package that fixes several
+reported bugs: notably the possibility of incorrect page breaks when
+floats appear on the page where a \env{longtable} starts. As this may
+affect page breaking in existing documents, a rollback to
+\pkg{longtable 4.13} (\file{longtable-2020-01-07.sty}) is supported.
%
\gnatsissue{tools}{2914 3396 3512}
-\githubissue{133 183 464}
+\githubissue{133 137 183 464 561}
-\subsection[\pkg{trace}: Add \cs{tracingstacklevels}
- and \cs{tracinglostchars}\texttt{=3} to \cs{traceon}]
- {\pkg{trace}: Add \cs{tracingstacklevels} and\\
- \mbox\quad \cs{tracinglostchars}\texttt{=3} to \cs{traceon}}
+\subsection{\pkg{trace}: Additions to \cs{traceon}}
-The enhancement mentioned earlier was also added to the \pkg{trace} package.
-%
-\iffalse
-The \cs{tracingstacklevels} and \cs{tracinglostchars} extensions
-mentioned earlier for \cs{tracingall} were also added for
-\cs{traceon} in the \pkg{trace} package, so if you're using that you
-can also benefit from these new debugging tools.
-\fi
-%
+The \cs{tracingstacklevels} and \cs{tracinglostchars} extensions to
+\cs{tracingall} (see above) were also added to \cs{traceon} in the
+\pkg{trace} package, so its users can also benefit from these new
+debugging possibilities.
%
\githubissue{524}
-
-
\subsection{\pkg{bm}: Better support for commands with optional arguments}
-Some uses of optional arguments that were supported by \cs{bm} stopped
-being supported (in 2004) when \cs{kernel@ifnextchar} was used
-internally by the format instead of \cs{@ifnextchar}. This update
-handles both versions of this command and restores the original
-behaviour.
-In addition package options for guiding the use of \enquote{poor man's
- bold} in fallback situations were added.
+Some uses of optional arguments in \cs{bm} stopped being supported (in
+2004) when \cs{kernel@ifnextchar} was used internally by the format
+instead of \cs{@ifnextchar}. This update handles both versions of this
+command and restores the original \mbox{behavior}.
+
+In addition, package options for guiding the use of \enquote{poor
+ man's bold} in fallback situations were added.
%
\githubissue{554}
-\section{Changes to packages in the \pkg{amsmath} category}
-%\subsection{\pkg{amsmath}: Make \cs{\textbackslash} generally robust}
-The fix for issue 548 was also applied in \pkg{amsmath}, see above.
+\section{Changes to packages in the \pkg{amsmath} category}
+
+The fix for issue 548 was also applied in \pkg{amsmath}; see above.
%
\githubissue{548}
-%\medskip
+
+
+\medskip
\begin{thebibliography}{9}
\fontsize{9.3}{11.3}\selectfont
\bibitem{33:blueprint} Frank Mittelbach and Chris Rowley:
- \emph{\LaTeX{} Tagged PDF — A blueprint for a large project}.\\
+ \emph{\LaTeX{} Tagged PDF \Dash A blueprint for a large project}.\\
\url{https://latex-project.org/publications/indexbyyear/2020/}
\bibitem{33:source2e}
diff --git a/macros/latex-dev/base/ltoutput.dtx b/macros/latex-dev/base/ltoutput.dtx
index 69bfa1f036..b1b3a24096 100644
--- a/macros/latex-dev/base/ltoutput.dtx
+++ b/macros/latex-dev/base/ltoutput.dtx
@@ -37,7 +37,7 @@
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2020/12/06 v1.4f LaTeX Kernel (Output Routine)]
+ [2021/05/05 v1.4g LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -1134,7 +1134,7 @@
\global \advance \@colht \@tempdima
\ifx \@dbltoplist \@empty
\else
- \@latexerr{Float(s) lost}\@ehb
+ \@latex@error{Float(s) lost}\@ehb
\let \@dbltoplist \@empty
\fi
\@cons \@dbltoplist \@currbox
@@ -1525,7 +1525,7 @@
\global \@colroom \@colht
\ifx \@currlist\@empty
\else
- \@latexerr{Float(s) lost}\@ehb
+ \@latex@error{Float(s) lost}\@ehb
\global \let \@currlist \@empty
\fi
\@makefcolumn\@deferlist
@@ -3920,9 +3920,9 @@
%</trace>
\@tempskipa#2\relax
\ifdim \@tempskipa>.5\maxdimen
- \@latexerr{Suggested\space extra\space height\space
- (\the\@tempskipa)\space dangerously\space
- large}\@eha
+ \@latex@error{Suggested\space extra\space height\space
+ (\the\@tempskipa)\space dangerously\space
+ large}\@eha
\else
\ifdim \vsize<.5\maxdimen
%<*trace>
@@ -3940,8 +3940,8 @@
\fi
%</trace>
\else
- \@latexerr{Page\space height\space already\space
- too\space large}\@eha
+ \@latex@error{Page\space height\space already\space
+ too\space large}\@eha
\fi
\fi
}
diff --git a/macros/latex-dev/base/ltpara-code.pdf b/macros/latex-dev/base/ltpara-code.pdf
index 8984f1ccb5..a9b55237f1 100644
--- a/macros/latex-dev/base/ltpara-code.pdf
+++ b/macros/latex-dev/base/ltpara-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara-doc.pdf b/macros/latex-dev/base/ltpara-doc.pdf
index c8bff05546..f383268f22 100644
--- a/macros/latex-dev/base/ltpara-doc.pdf
+++ b/macros/latex-dev/base/ltpara-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara.dtx b/macros/latex-dev/base/ltpara.dtx
index ad503b68e2..5ab52a5e9b 100644
--- a/macros/latex-dev/base/ltpara.dtx
+++ b/macros/latex-dev/base/ltpara.dtx
@@ -14,8 +14,8 @@
%%% From File: ltpara.dtx
%
% \begin{macrocode}
-\def\ltparaversion{v1.0f}
-\def\ltparadate{2021/04/16}
+\def\ltparaversion{v1.0g}
+\def\ltparadate{2021/05/27}
% \end{macrocode}
%<*driver>
\documentclass{l3doc}
@@ -672,6 +672,8 @@
%<@@=para>
% \end{macrocode}
%
+% \changes{v1.0g}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
%
% \begin{macrocode}
%<*2ekernel|latexrelease>
@@ -751,7 +753,7 @@
% we can detect and report if the \hook{para/before} hook illegally
% changed out of vmode.
% \begin{macrocode}
- \tex_everypar:D { \__kernel_msg_error:nnnn {para}{mode}{before}{vertical} }
+ \tex_everypar:D { \msg_error:nnnn { hooks }{ para-mode }{before}{vertical} }
\@kernel@before@para@before
\hook_use:n {para/before}
% \end{macrocode}
@@ -785,7 +787,7 @@
% If we aren't in horizontal mode any longer the hooks above misbehaved.
% \begin{macrocode}
\if_mode_horizontal: \else:
- \__kernel_msg_error:nnnn {para}{mode}{begin}{vertical} \fi:
+ \msg_error:nnnn { hooks }{ para-mode }{begin}{vertical} \fi:
% \end{macrocode}
% Finally we reinsert the indentation box (unless suppressed) and
% then call \cs{everypar} the way legacy \LaTeX\ code expects it.
@@ -1047,7 +1049,7 @@
% If we haven't been in horizontal mode then the earlier hook
% \hook{para/end} is at fault and we report that.
% \begin{macrocode}
- { \__kernel_msg_error:nnnn {para}{mode}{end}{horizontal} }
+ { \msg_error:nnnn { hooks }{ para-mode }{end}{horizontal} }
% \end{macrocode}
% Finally close out the nested conditionals.
% \begin{macrocode}
@@ -1088,7 +1090,7 @@
\@@_handle_indent:
\the\everypar }
}
- { \__kernel_msg_error:nn {para}{raw} }
+ { \msg_error:nn { kernel }{ raw-para } }
\tex_indent:D
}
% \end{macrocode}
@@ -1101,7 +1103,7 @@
\tex_everypar:D { \g_@@_standard_everypar_tl }
\the\everypar }
}
- { \__kernel_msg_error:nn {para}{raw} }
+ { \msg_error:nn { kernel }{ raw-para } }
\tex_noindent:D
}
% \end{macrocode}
@@ -1158,8 +1160,9 @@
% paragraph.
% The first argument is the hook name second the mode
% it should have stayed in but didn't.
-% \begin{macrocode}
-\__kernel_msg_new:nnnn {para} {mode}
+%
+% \begin{macrocode}
+\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
Hook~ code~ did~ not~ remain~ in~ #2~ mode.
@@ -1168,21 +1171,23 @@
Paragraph~ hooks~ cannot~ change~ the~ TeX~ mode~ without~ causing~
endless~ recursion.~ The~ hook~ code~ in~ 'para/#1'~ needs~ to~ stay~
in~ #2~ mode,~ but~ it~ didn't.~ Examine~ the~ hook~
- code~ with~ \ShowHook~ to~ find~ the~ issue.
+ code~ with~ \iow_char:N \\ShowHook~ to~ find~ the~ issue.
}
% \end{macrocode}
%
% And here is one used in the \enquote{raw} commands when they are
% used outside of vertical mode.
% \begin{macrocode}
-\__kernel_msg_new:nnnn {para} {raw}
+\msg_new:nnnn { kernel } { raw-para }
{
- Paragraph started while not in vertical mode.
+ Not~ in~ vertical~ mode.
}
{
- Starting a paragraph with \RawIndent or \RawNoindent
- (or \para_raw_indent: or \para_raw_noindent:) is only
- allowed if LaTeX is in vertical mode.
+ Starting~ a~ paragraph~ with~ \iow_char:N \\RawIndent~ or~
+ \iow_char:N \\RawNoindent \\
+ (or~ \iow_char:N \\para_raw_indent:~ or~
+ \iow_char:N \\para_raw_noindent:)~ is~ only~ allowed \\
+ if~ LaTeX~ is~ in~ vertical~ mode.
}
% \end{macrocode}
diff --git a/macros/latex-dev/base/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf
index 828e444c2f..2572de0e02 100644
--- a/macros/latex-dev/base/ltshipout-code.pdf
+++ b/macros/latex-dev/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf
index 4c8457428f..7fece645c8 100644
--- a/macros/latex-dev/base/ltshipout-doc.pdf
+++ b/macros/latex-dev/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx
index fe50d75a8f..20efb4509e 100644
--- a/macros/latex-dev/base/ltvers.dtx
+++ b/macros/latex-dev/base/ltvers.dtx
@@ -112,10 +112,10 @@
%</2ekernel>
%<latexrelease>\edef\latexreleaseversion
%<*2ekernel|latexrelease>
- {2021-06-01}
+ {2021-12-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{-3}
+\def\patch@level{0}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf
index 2788cb0a36..eac1bd7868 100644
--- a/macros/latex-dev/base/ltx3info.pdf
+++ b/macros/latex-dev/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf
index aa2a071366..7ee087bfd9 100644
--- a/macros/latex-dev/base/ltxdoc.pdf
+++ b/macros/latex-dev/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf
index 42d3a434e9..bcc83fe99d 100644
--- a/macros/latex-dev/base/makeindx.pdf
+++ b/macros/latex-dev/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex-dev/base/manual.pdf b/macros/latex-dev/base/manual.pdf
index cb9024f559..af10de35fc 100644
--- a/macros/latex-dev/base/manual.pdf
+++ b/macros/latex-dev/base/manual.pdf
Binary files differ
diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf
index 0edb139e19..9fed1a2afa 100644
--- a/macros/latex-dev/base/modguide.pdf
+++ b/macros/latex-dev/base/modguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf
index 8e6a4987f3..cd1c7a0cb6 100644
--- a/macros/latex-dev/base/nfssfont.pdf
+++ b/macros/latex-dev/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf
index b0d4032019..fe4a87ed37 100644
--- a/macros/latex-dev/base/proc.pdf
+++ b/macros/latex-dev/base/proc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf
index 3116ccc852..2880f7e621 100644
--- a/macros/latex-dev/base/slides.pdf
+++ b/macros/latex-dev/base/slides.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf
index faa2053db2..88753cd798 100644
--- a/macros/latex-dev/base/slifonts.pdf
+++ b/macros/latex-dev/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf
index fbc7f5ac41..1be35a8dfd 100644
--- a/macros/latex-dev/base/source2e.pdf
+++ b/macros/latex-dev/base/source2e.pdf
Binary files differ
diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf
index 2156a292b9..72a10a0a10 100644
--- a/macros/latex-dev/base/syntonly.pdf
+++ b/macros/latex-dev/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf
index dd55f4b589..a4fd67964c 100644
--- a/macros/latex-dev/base/tlc2.pdf
+++ b/macros/latex-dev/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf
index 34f1ca3ce0..a9acd70daf 100644
--- a/macros/latex-dev/base/tulm.pdf
+++ b/macros/latex-dev/base/tulm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf
index 80d5bc6a1e..0546617e22 100644
--- a/macros/latex-dev/base/usrguide.pdf
+++ b/macros/latex-dev/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide3.pdf b/macros/latex-dev/base/usrguide3.pdf
index 3e2c599b39..84266a6d86 100644
--- a/macros/latex-dev/base/usrguide3.pdf
+++ b/macros/latex-dev/base/usrguide3.pdf
Binary files differ
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index 625decf88d..6b0881842c 100644
--- a/macros/latex-dev/base/utf8ienc.pdf
+++ b/macros/latex-dev/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf
index 7267cc5344..d0e4064414 100644
--- a/macros/latex-dev/base/webcomp.pdf
+++ b/macros/latex-dev/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/README.md b/macros/latex-dev/required/amsmath/README.md
index dd71ffef61..d543380614 100644
--- a/macros/latex-dev/required/amsmath/README.md
+++ b/macros/latex-dev/required/amsmath/README.md
@@ -1,7 +1,7 @@
The amsmath bundle for LaTeX
============================
-Release 2021-05-01 pre-release 0
+Release 2021-12-01 pre-release 0
Overview
--------
@@ -77,5 +77,5 @@ version 1.3c or later.
-----
<p>Copyright (C) 2001-2004, 2007, 2008, 2010, 2011, 2013 American Mathematical Society. <br />
-<p>Copyright (C) 2016-2020 The LaTeX Project and American Mathematical Society. <br />
+<p>Copyright (C) 2016-2021 The LaTeX Project and American Mathematical Society. <br />
diff --git a/macros/latex-dev/required/amsmath/amsbsy.dtx b/macros/latex-dev/required/amsmath/amsbsy.dtx
index 1174784278..8557c6534a 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.dtx
+++ b/macros/latex-dev/required/amsmath/amsbsy.dtx
@@ -2,7 +2,8 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021
+% LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +15,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amsbsy.ins b/macros/latex-dev/required/amsmath/amsbsy.ins
index 07707907e9..9194608622 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.ins
+++ b/macros/latex-dev/required/amsmath/amsbsy.ins
@@ -1,6 +1,7 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021
+% LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +13,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +25,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -37,7 +38,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsbsy.pdf b/macros/latex-dev/required/amsmath/amsbsy.pdf
index 1cc7898f92..999a16ba0b 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.pdf
+++ b/macros/latex-dev/required/amsmath/amsbsy.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amscd.dtx b/macros/latex-dev/required/amsmath/amscd.dtx
index 12e94a11dc..f3528dd7c1 100644
--- a/macros/latex-dev/required/amsmath/amscd.dtx
+++ b/macros/latex-dev/required/amsmath/amscd.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amscd.ins b/macros/latex-dev/required/amsmath/amscd.ins
index 5890ca06c1..30b2f28177 100644
--- a/macros/latex-dev/required/amsmath/amscd.ins
+++ b/macros/latex-dev/required/amsmath/amscd.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amscd.pdf b/macros/latex-dev/required/amsmath/amscd.pdf
index a69b03715c..4f885d5b9c 100644
--- a/macros/latex-dev/required/amsmath/amscd.pdf
+++ b/macros/latex-dev/required/amsmath/amscd.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsgen.dtx b/macros/latex-dev/required/amsmath/amsgen.dtx
index 92df548f12..10ac58b18e 100644
--- a/macros/latex-dev/required/amsmath/amsgen.dtx
+++ b/macros/latex-dev/required/amsmath/amsgen.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amsgen.ins b/macros/latex-dev/required/amsmath/amsgen.ins
index be7720bc89..aacb6e0c39 100644
--- a/macros/latex-dev/required/amsmath/amsgen.ins
+++ b/macros/latex-dev/required/amsmath/amsgen.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsgen.pdf b/macros/latex-dev/required/amsmath/amsgen.pdf
index 7af209fae9..6282db6a6e 100644
--- a/macros/latex-dev/required/amsmath/amsgen.pdf
+++ b/macros/latex-dev/required/amsmath/amsgen.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsldoc.pdf b/macros/latex-dev/required/amsmath/amsldoc.pdf
index ba52c32f76..373af4649a 100644
--- a/macros/latex-dev/required/amsmath/amsldoc.pdf
+++ b/macros/latex-dev/required/amsmath/amsldoc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsldoc.tex b/macros/latex-dev/required/amsmath/amsldoc.tex
index b29a8b8468..26ea6cf808 100644
--- a/macros/latex-dev/required/amsmath/amsldoc.tex
+++ b/macros/latex-dev/required/amsmath/amsldoc.tex
@@ -1,6 +1,6 @@
%
% Copyright (C) 1995, 2000, 2013 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
\documentclass[leqno,titlepage,openany]{amsldoc}[1999/12/13]
@@ -63,7 +63,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% End definitions for amsldoc.cls
\title{User's Guide for the \nipkg{amsmath} Package (Version~2.1)}
-\author{American Mathematical Society, \LaTeX3 Project}
+\author{American Mathematical Society, \LaTeX\ Project}
\date{1999-12-13\\(revised 2002-02-25, 2016-11-14, 2018-04-05, 2019-10-14, 2020-02-18)}
\makeatletter
\def\@thanks{\bigskip\MaintainedByLaTeXTeam{amslatex}}
diff --git a/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty b/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
index 6bcb03e217..ab45172a32 100644
--- a/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+++ b/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
@@ -6,8 +6,8 @@
%%
%% amsmath.dtx
%%
-%% Copyright 1995, 1999, 2000, 2013 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 1995, 1999, 2000, 2013 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -19,7 +19,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must be December 1994 or later
diff --git a/macros/latex-dev/required/amsmath/amsmath.dtx b/macros/latex-dev/required/amsmath/amsmath.dtx
index 7f324700f6..8857861101 100644
--- a/macros/latex-dev/required/amsmath/amsmath.dtx
+++ b/macros/latex-dev/required/amsmath/amsmath.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 2000, 2013 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
@@ -86,7 +86,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesPackage{amsmath}[2020/09/23 v2.17i AMS math features]
+\ProvidesPackage{amsmath}[2021/04/20 v2.17j AMS math features]
% \end{macrocode}
%
% \section{Catcode defenses}
@@ -2752,8 +2752,9 @@ ill-advised in LaTeX.%
% \textit{u} template of the current column if the author ended the
% current row with an empty column (i.e., the mathcr was immediately
% preceded by an ampersand).
+% \changes{v2.17j}{2021/04/20}{Use \cs{protected} for \cs{\bslash} variant (gh/548)}
% \begin{macrocode}
-\def\math@cr{\relax\iffalse{\fi\ifnum0=`}\fi
+\protected\def\math@cr{\relax\iffalse{\fi\ifnum0=`}\fi
% \end{macrocode}
% The first step is now to check whether an asterisk follows.
% \cs{@eqpen} is used to hold the penalty value to be put on
diff --git a/macros/latex-dev/required/amsmath/amsmath.ins b/macros/latex-dev/required/amsmath/amsmath.ins
index 55e4089804..1bb73101bb 100644
--- a/macros/latex-dev/required/amsmath/amsmath.ins
+++ b/macros/latex-dev/required/amsmath/amsmath.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999, 2000, 2013 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999, 2000, 2013 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsmath.pdf b/macros/latex-dev/required/amsmath/amsmath.pdf
index 58751777c9..74b242c29a 100644
--- a/macros/latex-dev/required/amsmath/amsmath.pdf
+++ b/macros/latex-dev/required/amsmath/amsmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsopn.dtx b/macros/latex-dev/required/amsmath/amsopn.dtx
index 35c3b1605b..a71c13d6c8 100644
--- a/macros/latex-dev/required/amsmath/amsopn.dtx
+++ b/macros/latex-dev/required/amsmath/amsopn.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amsopn.ins b/macros/latex-dev/required/amsmath/amsopn.ins
index 84aff6243b..72c649c340 100644
--- a/macros/latex-dev/required/amsmath/amsopn.ins
+++ b/macros/latex-dev/required/amsmath/amsopn.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsopn.pdf b/macros/latex-dev/required/amsmath/amsopn.pdf
index a25d472d9a..4df94fefcc 100644
--- a/macros/latex-dev/required/amsmath/amsopn.pdf
+++ b/macros/latex-dev/required/amsmath/amsopn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amstex.sty b/macros/latex-dev/required/amsmath/amstex.sty
index 6ce36f52c9..e620746a54 100644
--- a/macros/latex-dev/required/amsmath/amstex.sty
+++ b/macros/latex-dev/required/amsmath/amstex.sty
@@ -1,8 +1,8 @@
%
% \iffalse meta-comment
%
-% Copyright 1995, 1999 American Mathematical Society.
-% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 1995, 1999 American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amstext.dtx b/macros/latex-dev/required/amsmath/amstext.dtx
index 5e7e6ca672..d6475561fb 100644
--- a/macros/latex-dev/required/amsmath/amstext.dtx
+++ b/macros/latex-dev/required/amsmath/amstext.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amstext.ins b/macros/latex-dev/required/amsmath/amstext.ins
index 5f9a5c4076..5578a7e947 100644
--- a/macros/latex-dev/required/amsmath/amstext.ins
+++ b/macros/latex-dev/required/amsmath/amstext.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amstext.pdf b/macros/latex-dev/required/amsmath/amstext.pdf
index 479942cd74..f3e0dab818 100644
--- a/macros/latex-dev/required/amsmath/amstext.pdf
+++ b/macros/latex-dev/required/amsmath/amstext.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsxtra.dtx b/macros/latex-dev/required/amsmath/amsxtra.dtx
index 9cc0b71027..aaa5fd1a2d 100644
--- a/macros/latex-dev/required/amsmath/amsxtra.dtx
+++ b/macros/latex-dev/required/amsmath/amsxtra.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amsxtra.ins b/macros/latex-dev/required/amsmath/amsxtra.ins
index bbcd08e3f7..7eca6e065a 100644
--- a/macros/latex-dev/required/amsmath/amsxtra.ins
+++ b/macros/latex-dev/required/amsmath/amsxtra.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsxtra.pdf b/macros/latex-dev/required/amsmath/amsxtra.pdf
index b0e0f66d37..c379472faf 100644
--- a/macros/latex-dev/required/amsmath/amsxtra.pdf
+++ b/macros/latex-dev/required/amsmath/amsxtra.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/changes.txt b/macros/latex-dev/required/amsmath/changes.txt
index eb87a6e666..63bea7e727 100644
--- a/macros/latex-dev/required/amsmath/changes.txt
+++ b/macros/latex-dev/required/amsmath/changes.txt
@@ -3,12 +3,21 @@ All changes above are only part of the development branch for the next release.
================================================================================
#########################
+# 2021-06-01 Release
+#########################
+
+2021-04-20 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * amsmath.dtx (subsection{Preliminary macros}):
+ Use \protected for \\ variant (gh/548)
+
+#########################
# 2020-10-01 Release
#########################
2020/09/23 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* amsmath.dtx (subsection{Fractions}):
- added \cs{Ustack} to \cs{frac} and \cs{genfrac} for luatex
+ added \Ustack to \frac and \genfrac for luatex
(moved patch from lualatex-math)
* amsmath.dtx (section{Array-related environments})
changed subarray for luatex: moved to version from lualatex-math
diff --git a/macros/latex-dev/required/amsmath/subeqn.pdf b/macros/latex-dev/required/amsmath/subeqn.pdf
index 31caecf259..b8ad174232 100644
--- a/macros/latex-dev/required/amsmath/subeqn.pdf
+++ b/macros/latex-dev/required/amsmath/subeqn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/technote.pdf b/macros/latex-dev/required/amsmath/technote.pdf
index d3403770f0..375db6b423 100644
--- a/macros/latex-dev/required/amsmath/technote.pdf
+++ b/macros/latex-dev/required/amsmath/technote.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/testmath.pdf b/macros/latex-dev/required/amsmath/testmath.pdf
index 15fa991ee9..f11b508170 100644
--- a/macros/latex-dev/required/amsmath/testmath.pdf
+++ b/macros/latex-dev/required/amsmath/testmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/firstaid/changes.txt b/macros/latex-dev/required/firstaid/changes.txt
index 24b6eae4f6..d7823c21a1 100644
--- a/macros/latex-dev/required/firstaid/changes.txt
+++ b/macros/latex-dev/required/firstaid/changes.txt
@@ -1,3 +1,11 @@
+2021-03-15 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ bigfoot incorrectly assumes insertions being ordered, so this is
+ enforced for now.
+ We also fix \FN@allmarks which can blow as it loops using the
+ wrong counter (so the loops runs a random number of times)
+
2021-01-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* latex2e-first-aid-for-external-files.dtx:
diff --git a/macros/latex-dev/required/firstaid/firstaid.ins b/macros/latex-dev/required/firstaid/firstaid.ins
index 6a1dbaa853..cd5ea2006d 100644
--- a/macros/latex-dev/required/firstaid/firstaid.ins
+++ b/macros/latex-dev/required/firstaid/firstaid.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright (C) 2020,2021
+%% Copyright (C) 2020-2021
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
index a74cb79a78..7eb108418c 100644
--- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -1,6 +1,7 @@
% \iffalse meta-comment
%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020,2021
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2021
+%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%
@@ -110,8 +111,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2021/02/24}
-\def\LaTeXFirstAidVersion{v1.0k}
+\def\LaTeXFirstAidDate{2021/03/15}
+\def\LaTeXFirstAidVersion{v1.0l}
% \end{macrocode}
%
% \begin{macrocode}
@@ -507,6 +508,44 @@
% \end{macrocode}
%
%
+%
+%
+%
+% \subsection{The \pkg{bigfoot} first aid}
+%
+% The \pkg{bigfoot} packages makes the assumption that two
+% \cs{newinsert} allocations have a recognisable order in their
+% numbers, the second one has a lower number. This was correct in
+% the classic \TeX{} implementation but with the extended
+% allocation possibilities of all modern engines is no longer the
+% case and there is a point where the allocations take a ``jump''
+% breaking the odering assumption. These days we are fairly close
+% to that point and depending on how many packages are loaded
+% before \pkg{bigfoot} the package breaks.
+%
+% This firstaid therefore jumps over the problematical point by
+% pushing the count allocation to a safe value if necessary.
+% \begin{macrocode}
+\AddToHook{file/after/bigfoot.sty}{%
+ \ifnum\count10<\insc@unt
+ \global\count10=\insc@unt
+ \fi
+% \end{macrocode}
+% We also correct a bug that \pkg{bigfoot} tries to shift mark
+% registers, but in \LaTeX{} (at least since 2015) the allocation
+% number is not 266, so it does that to a random number of mark
+% registers (which sometimes blows up depending on the value in 266).
+% \begin{macrocode}
+ \def\FN@allmarks#1{\@elt{#1}%
+ \ifnum#1<\count256 %<--- problem: 266 isn't the counter for marks
+ \expandafter\FN@allmarks\expandafter{\number\numexpr#1+\@ne}%
+ \fi}%
+}
+% \end{macrocode}
+%
+%
+%
+%
% \subsection[Temporary fixes for the kernel (until the next
% patch-level release)]
% {Temporary fixes for the kernel \\
diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
index eecccbc8f6..eaf6567b15 100644
--- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
+++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/README.md b/macros/latex-dev/required/graphics/README.md
index b9d06376c6..c91e2aeab0 100644
--- a/macros/latex-dev/required/graphics/README.md
+++ b/macros/latex-dev/required/graphics/README.md
@@ -1,7 +1,7 @@
The LaTeX `graphics` bundle
===========================
-Release 2021-06-01 pre-release 1
+Release 2021-12-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/required/graphics/changes.txt b/macros/latex-dev/required/graphics/changes.txt
index 980d2b33e4..0616e3b692 100644
--- a/macros/latex-dev/required/graphics/changes.txt
+++ b/macros/latex-dev/required/graphics/changes.txt
@@ -4,6 +4,14 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2021-16-01 Release
+#########################
+
2021-03-04 Phelype Oleinik <phelype.oleinik@latex-project.org>
* graphics.dtx: fix loading gzipped .(e)ps graphics files.
@@ -20,10 +28,6 @@ are not part of the distribution.
* graphics.dtx: Avoid warning when loading a file using a generic rule (gh/516).
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
2020-12-05 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* graphics.dtx: fix missing default in quiet key.
diff --git a/macros/latex-dev/required/graphics/color.pdf b/macros/latex-dev/required/graphics/color.pdf
index b4d0a03cd8..dd3985df0d 100644
--- a/macros/latex-dev/required/graphics/color.pdf
+++ b/macros/latex-dev/required/graphics/color.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/drivers.pdf b/macros/latex-dev/required/graphics/drivers.pdf
index 617f4f8ec3..c6af822ebb 100644
--- a/macros/latex-dev/required/graphics/drivers.pdf
+++ b/macros/latex-dev/required/graphics/drivers.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/epsfig.pdf b/macros/latex-dev/required/graphics/epsfig.pdf
index 7cdd87b5d0..fb40d308a9 100644
--- a/macros/latex-dev/required/graphics/epsfig.pdf
+++ b/macros/latex-dev/required/graphics/epsfig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphics.pdf b/macros/latex-dev/required/graphics/graphics.pdf
index 7dea8f5a99..df54344b4b 100644
--- a/macros/latex-dev/required/graphics/graphics.pdf
+++ b/macros/latex-dev/required/graphics/graphics.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphicx.pdf b/macros/latex-dev/required/graphics/graphicx.pdf
index 56d9451077..6b1f0cccdb 100644
--- a/macros/latex-dev/required/graphics/graphicx.pdf
+++ b/macros/latex-dev/required/graphics/graphicx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/grfguide.pdf b/macros/latex-dev/required/graphics/grfguide.pdf
index c6a4b2a5ca..49b150e493 100644
--- a/macros/latex-dev/required/graphics/grfguide.pdf
+++ b/macros/latex-dev/required/graphics/grfguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/keyval.pdf b/macros/latex-dev/required/graphics/keyval.pdf
index 41cbbcb3f8..b4ff7dbfd1 100644
--- a/macros/latex-dev/required/graphics/keyval.pdf
+++ b/macros/latex-dev/required/graphics/keyval.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/lscape.pdf b/macros/latex-dev/required/graphics/lscape.pdf
index 4caf895c6b..654015f72a 100644
--- a/macros/latex-dev/required/graphics/lscape.pdf
+++ b/macros/latex-dev/required/graphics/lscape.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotating.pdf b/macros/latex-dev/required/graphics/rotating.pdf
index b57235b7fe..a65a2c0f0b 100644
--- a/macros/latex-dev/required/graphics/rotating.pdf
+++ b/macros/latex-dev/required/graphics/rotating.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotex.pdf b/macros/latex-dev/required/graphics/rotex.pdf
index 9659ba3101..5f4321501f 100644
--- a/macros/latex-dev/required/graphics/rotex.pdf
+++ b/macros/latex-dev/required/graphics/rotex.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/trig.pdf b/macros/latex-dev/required/graphics/trig.pdf
index 5c1f68dffc..789a62c69a 100644
--- a/macros/latex-dev/required/graphics/trig.pdf
+++ b/macros/latex-dev/required/graphics/trig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/README.md b/macros/latex-dev/required/tools/README.md
index 5ff7b0d1e0..0b1b308799 100644
--- a/macros/latex-dev/required/tools/README.md
+++ b/macros/latex-dev/required/tools/README.md
@@ -1,7 +1,7 @@
The LaTeX `tools` bundle
========================
-Release 2021-06-01 pre-release 2
+Release 2021-12-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/required/tools/afterpage.pdf b/macros/latex-dev/required/tools/afterpage.pdf
index 918b9bbe27..4a7e94d148 100644
--- a/macros/latex-dev/required/tools/afterpage.pdf
+++ b/macros/latex-dev/required/tools/afterpage.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/array.pdf b/macros/latex-dev/required/tools/array.pdf
index 175a0b8dfe..2a0e38ba62 100644
--- a/macros/latex-dev/required/tools/array.pdf
+++ b/macros/latex-dev/required/tools/array.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/bm.pdf b/macros/latex-dev/required/tools/bm.pdf
index 125a480d07..7973845ac7 100644
--- a/macros/latex-dev/required/tools/bm.pdf
+++ b/macros/latex-dev/required/tools/bm.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/calc.pdf b/macros/latex-dev/required/tools/calc.pdf
index ec12e97f64..8024058852 100644
--- a/macros/latex-dev/required/tools/calc.pdf
+++ b/macros/latex-dev/required/tools/calc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/changes.txt b/macros/latex-dev/required/tools/changes.txt
index 005a3ed4bc..17278e4a54 100644
--- a/macros/latex-dev/required/tools/changes.txt
+++ b/macros/latex-dev/required/tools/changes.txt
@@ -6,6 +6,19 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2021-06-01 Release
+#########################
+
+2021-05-07 David Carlisle <David.Carlisle@latex-project.org>
+
+ * longtable.dtx: write lists of tables entry to the file with
+ extension \ext@table, not force .lot github/561
+
2021-04-25 David Carlisle <David.Carlisle@latex-project.org>
* bm.dtx: guard \kernel@ifnextchar (gh/554)
@@ -68,11 +81,6 @@ are not part of the distribution.
* layout.dtx: (subsection{Options}):
Option japanese added (gh/353)
-
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
#########################
# 2020-10-01 Release
#########################
diff --git a/macros/latex-dev/required/tools/dcolumn.pdf b/macros/latex-dev/required/tools/dcolumn.pdf
index 2293c86e99..ed97229255 100644
--- a/macros/latex-dev/required/tools/dcolumn.pdf
+++ b/macros/latex-dev/required/tools/dcolumn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/delarray.pdf b/macros/latex-dev/required/tools/delarray.pdf
index 951882d630..6f00a67dd9 100644
--- a/macros/latex-dev/required/tools/delarray.pdf
+++ b/macros/latex-dev/required/tools/delarray.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/enumerate.pdf b/macros/latex-dev/required/tools/enumerate.pdf
index f6be172ebf..9e48d4a087 100644
--- a/macros/latex-dev/required/tools/enumerate.pdf
+++ b/macros/latex-dev/required/tools/enumerate.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fileerr.pdf b/macros/latex-dev/required/tools/fileerr.pdf
index 298c7ba4d6..7a5eab8cf4 100644
--- a/macros/latex-dev/required/tools/fileerr.pdf
+++ b/macros/latex-dev/required/tools/fileerr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fontsmpl.pdf b/macros/latex-dev/required/tools/fontsmpl.pdf
index 6a66ff7089..eafd38abd1 100644
--- a/macros/latex-dev/required/tools/fontsmpl.pdf
+++ b/macros/latex-dev/required/tools/fontsmpl.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/ftnright.pdf b/macros/latex-dev/required/tools/ftnright.pdf
index a3addcfc41..8a7c4c4c94 100644
--- a/macros/latex-dev/required/tools/ftnright.pdf
+++ b/macros/latex-dev/required/tools/ftnright.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/hhline.pdf b/macros/latex-dev/required/tools/hhline.pdf
index ee80fb369b..23fde95eb4 100644
--- a/macros/latex-dev/required/tools/hhline.pdf
+++ b/macros/latex-dev/required/tools/hhline.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/indentfirst.pdf b/macros/latex-dev/required/tools/indentfirst.pdf
index 3e93185eae..3ee72ae32b 100644
--- a/macros/latex-dev/required/tools/indentfirst.pdf
+++ b/macros/latex-dev/required/tools/indentfirst.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/layout.pdf b/macros/latex-dev/required/tools/layout.pdf
index 98bb6ab28c..adab2be7a1 100644
--- a/macros/latex-dev/required/tools/layout.pdf
+++ b/macros/latex-dev/required/tools/layout.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/longtable.dtx b/macros/latex-dev/required/tools/longtable.dtx
index 5569ae3d5c..457891dac7 100644
--- a/macros/latex-dev/required/tools/longtable.dtx
+++ b/macros/latex-dev/required/tools/longtable.dtx
@@ -37,7 +37,7 @@
%<driver> \ProvidesFile{longtable.drv}
% \fi
% \ProvidesFile{longtable.dtx}
- [2021-04-21 v4.15 Multi-page Table package (DPC)]
+ [2021-05-07 v4.16 Multi-page Table package (DPC)]
%
% \iffalse
%<*driver>
@@ -1970,13 +1970,15 @@
% {Call \cs{LT@makecaption} not \cs{LT@mkcaption}}
% \changes{v3.14}{1995/05/24}
% {Add new control argument}
+% \changes{v4.16}{2021/05/07}
+% {use \cs{ext@table} gh/561}
% \begin{macrocode}
\def\LT@c@ption#1[#2]#3{%
\LT@makecaption#1\fnum@table{#3}%
\def\@tempa{#2}%
\ifx\@tempa\@empty\else
{\let\\\space
- \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
+ \addcontentsline{\ext@table}{table}{\protect\numberline{\thetable}{#2}}}%
\fi}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex-dev/required/tools/longtable.pdf b/macros/latex-dev/required/tools/longtable.pdf
index c503bd9123..a6459b2ecd 100644
--- a/macros/latex-dev/required/tools/longtable.pdf
+++ b/macros/latex-dev/required/tools/longtable.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/multicol.pdf b/macros/latex-dev/required/tools/multicol.pdf
index 556603f749..ba15c5c6a9 100644
--- a/macros/latex-dev/required/tools/multicol.pdf
+++ b/macros/latex-dev/required/tools/multicol.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/rawfonts.pdf b/macros/latex-dev/required/tools/rawfonts.pdf
index 424fb693b0..50b8f778f9 100644
--- a/macros/latex-dev/required/tools/rawfonts.pdf
+++ b/macros/latex-dev/required/tools/rawfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/shellesc.pdf b/macros/latex-dev/required/tools/shellesc.pdf
index 94dea41431..63bd149aed 100644
--- a/macros/latex-dev/required/tools/shellesc.pdf
+++ b/macros/latex-dev/required/tools/shellesc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/showkeys.pdf b/macros/latex-dev/required/tools/showkeys.pdf
index c558d2fbd2..1b100e1f20 100644
--- a/macros/latex-dev/required/tools/showkeys.pdf
+++ b/macros/latex-dev/required/tools/showkeys.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/somedefs.pdf b/macros/latex-dev/required/tools/somedefs.pdf
index 7dc1936536..df44c3acbe 100644
--- a/macros/latex-dev/required/tools/somedefs.pdf
+++ b/macros/latex-dev/required/tools/somedefs.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tabularx.pdf b/macros/latex-dev/required/tools/tabularx.pdf
index 574096cd7a..b4cb4713f3 100644
--- a/macros/latex-dev/required/tools/tabularx.pdf
+++ b/macros/latex-dev/required/tools/tabularx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/theorem.pdf b/macros/latex-dev/required/tools/theorem.pdf
index 196dc13cce..37a4b9b86c 100644
--- a/macros/latex-dev/required/tools/theorem.pdf
+++ b/macros/latex-dev/required/tools/theorem.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tools-overview.pdf b/macros/latex-dev/required/tools/tools-overview.pdf
index 6fd1756018..74171e9aa5 100644
--- a/macros/latex-dev/required/tools/tools-overview.pdf
+++ b/macros/latex-dev/required/tools/tools-overview.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/trace.pdf b/macros/latex-dev/required/tools/trace.pdf
index 35d766b041..fdee99e72e 100644
--- a/macros/latex-dev/required/tools/trace.pdf
+++ b/macros/latex-dev/required/tools/trace.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/varioref.pdf b/macros/latex-dev/required/tools/varioref.pdf
index d8fa68c00b..9f1a0a94da 100644
--- a/macros/latex-dev/required/tools/varioref.pdf
+++ b/macros/latex-dev/required/tools/varioref.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/verbatim.pdf b/macros/latex-dev/required/tools/verbatim.pdf
index 9ad8bc66e3..f3a67abf25 100644
--- a/macros/latex-dev/required/tools/verbatim.pdf
+++ b/macros/latex-dev/required/tools/verbatim.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xr.pdf b/macros/latex-dev/required/tools/xr.pdf
index cf60d6ef58..e8cdf21a7a 100644
--- a/macros/latex-dev/required/tools/xr.pdf
+++ b/macros/latex-dev/required/tools/xr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xspace.pdf b/macros/latex-dev/required/tools/xspace.pdf
index d1540186ef..d8335ddee4 100644
--- a/macros/latex-dev/required/tools/xspace.pdf
+++ b/macros/latex-dev/required/tools/xspace.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/README.md b/macros/latex/contrib/bjfuthesis/README.md
index fa2538417a..a05d7929a8 100644
--- a/macros/latex/contrib/bjfuthesis/README.md
+++ b/macros/latex/contrib/bjfuthesis/README.md
@@ -1,10 +1,12 @@
# 北京林业大学 (BJFU) æ¯•ä¸šè®ºæ–‡æ¨¡æ¿ (LaTeX)
Copyright (C) 2021 Liu Changxin
-Version 1.0.1 (2021-06-03)
+Version 1.0.2 (2021-06-05)
## Abstract
-The bjfuthesis class is a LaTeX document class intended for students in Beijing Forestry University (BJFU) to write their theses. It follows the thesis specification of Beijing Forestry University.
+This is a class file for producing dissertations and theses according to the Beijing Forestry University (BJFU) Guidelines for Undergraduate Theses and Dissertations.
+
+The class should meet all current requirements and is updated whenever the university guidelines change.
## 简介
bjfuthesis是北京林业大学 (BJFU) 毕业生撰写毕业论文使用的LaTeX模æ¿ã€‚使用该模æ¿å¯ä»¥å¿«é€Ÿç¼–写出符åˆè®ºæ–‡æ ¼å¼è¦æ±‚的论文。该模æ¿ç²¾å¿ƒç¼–写,具有使用简å•ã€ä¾¿æ·ã€å¯é çš„优点。
@@ -12,16 +14,10 @@ bjfuthesis是北京林业大学 (BJFU) 毕业生撰写毕业论文使用的LaTeX
## 使用方法
1. 下载并安装MiKTeX:https://miktex.org/download
1. 下载并安装Perl:macOS与Linuxæ“作系统已内置Perl,无需安装。使用Windows的用户需下载并安装:https://strawberryperl.com
-1. 下载并安装TeXstudio:https://www.texstudio.org
-1. é…ç½®TeXstudio:
- 1. 点击 Options -> Configure TeXstudio 以打开设置界é¢
- 1. 在 General -> Language 中选择 zh_CN (Chinese) 将界é¢è®¾ä¸ºä¸­æ–‡
- 1. 点击 OK 使设置生效
- 1. å†æ¬¡æ‰“开设置
- 1. 勾选左下角的 显示高级选项
- 1. 在 构建 -> 默认编译器 中输入值 txs:///latexmk -xelatex
- 1. 点击绿色三角形的构建按钮(有两个构建按钮,左侧的是构建并查看,å³ä¾§çš„是仅构建。请根æ®éœ€è¦è‡ªè¡Œé€‰æ‹©ï¼‰
- 1. 当底部的消æ¯æ ä¸­æ˜¾ç¤ºå®Œæˆæ—¶ï¼Œä½ åº”该便å¯ä»¥çœ‹åˆ°ç”Ÿæˆçš„PDF文件了
+1. 下载并安装LyX:https://www.lyx.org/Download
+1. é…ç½®LyX:
+ 1. 点击 文件 -> 打开 以
+ 1. 在工具æ ä¸­
## Contribute
You can contribute to the template in
diff --git a/macros/latex/contrib/bjfuthesis/bjfuthesis.cls b/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
index ed02764f98..ef1690a7b2 100644
--- a/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
+++ b/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
@@ -23,7 +23,7 @@
\def\keywords@label@zh{关键è¯ï¼š}
\def\keywords@label@en{Keywords: }
\def\chartnote@label{注:}
-\ProvidesClass{bjfuthesis}[2021/05/30 LaTeX document style for BJFU thesis]
+\ProvidesClass{bjfuthesis}[2021/06/05 A thesis class for Beijing Forestry University]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}}
\ProcessOptions*
\LoadClass[a4paper,oneside,fontset=none]{ctexbook}
@@ -69,6 +69,8 @@
\renewcommand\headrulewidth{.5pt}
\fancypagestyle{plain}{\fancyhead[C]{\fontsize{9}{12}\selectfont\header@text}\renewcommand\headrulewidth{.5pt}}
\renewcommand\floatpagefraction{1}
+\RequirePackage[style=gb7714-2015]{biblatex}
+\addbibresource{bibliography.bib}
\RequirePackage{titlesec}
\titleformat{\chapter}{\centering\fontsize{16}{30}\bfseries}{\thechapter}{.5em}{}
\titleformat{\section}{\fontsize{14}{37}\bfseries}{\thesection}{.5em}{}
@@ -82,12 +84,88 @@
\titlecontents{chapter}[0em]{\fontsize{10.5}{21}\bfseries}{\thecontentslabel~}{\thecontentslabel}{\hspace{.5em}\titlerule*{.}\contentspage}
\titlecontents{section}[1em]{\fontsize{10.5}{21}}{\thecontentslabel~}{\thecontentslabel}{\hspace{.5em}\titlerule*{.}\contentspage}
\titlecontents{subsection}[2em]{\fontsize{10.5}{21}}{\thecontentslabel~}{\thecontentslabel}{\hspace{.5em}\titlerule*{.}\contentspage}
-\RequirePackage[hidelinks]{hyperref}
-\RequirePackage[gbpub=false,style=gb7714-2015]{biblatex}
-\addbibresource{bibliography.bib}
\renewcommand\topfraction{1}
\renewcommand\bottomfraction{1}
\renewcommand\textfraction{0}
+\RequirePackage{xpatch}
+\RequirePackage[hidelinks]{hyperref}
+
+\letbibmacro{oldtitle}{title}
+\renewbibmacro*{title}{%
+\ifentrytype{inproceedings}{
+ \ifboolexpr{
+ test {\iffieldundef{title}}
+ and
+ test {\iffieldundef{subtitle}}
+ }
+ {}
+ \printtext[title]{%
+ \printfield[titlecase]{title}}}{\usebibmacro{oldtitle}}}
+\letbibmacro{oldbooktitle}{booktitle}
+\renewbibmacro*{booktitle}{%
+\ifentrytype{inproceedings}{
+ \ifboolexpr{
+ test {\iffieldundef{booktitle}}
+ and
+ test {\iffieldundef{booksubtitle}}
+ }
+ {}
+ {\printtext[booktitle]{\bibtitlefont%
+ \printfield[titlecase]{booktitle}\printtext{[C]}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{booksubtitle}}%
+ \newunit%标点æ¢æˆä¸‹ä¸€å¥
+ \setunit{\subtitlepunct}}%
+ \printfield{booktitleaddon}}{\usebibmacro{oldbooktitle}}}
+\DeclareBibliographyDriver{inproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}\printtext{[A]}
+ \unspace
+% \nobreak
+% \setunit{[A]}
+ \usebibmacro{in:}%
+ \usebibmacro{editor}%
+ \newunit\newblock
+ \usebibmacro{maintitle+booktitle}%%
+ \newunit\newblock
+ \usebibmacro{event+venue+date}%
+ \newunit\newblock
+% \iffieldundef{maintitle}
+ % {\printfield{volume}%
+ % \printfield{part}}
+ % {}%
+ \newunit
+ \printfield{volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
\newenvironment{abstract}{\kaiti}{\vskip \baselinestretch\baselineskip\par}
\newcommand\keywordscn[1]{\noindent\fontsize{12}{21}\selectfont\textbf{\keywords@label@zh}#1\par}
\newcommand\keywordsen[1]{\noindent\fontsize{12}{21}\selectfont\textbf{\keywords@label@en}#1\par}
diff --git a/macros/latex/contrib/bjfuthesis/example/bibliography.bib b/macros/latex/contrib/bjfuthesis/example/bibliography.bib
index ad383a0c4e..58cb349066 100644
--- a/macros/latex/contrib/bjfuthesis/example/bibliography.bib
+++ b/macros/latex/contrib/bjfuthesis/example/bibliography.bib
@@ -1,317 +1,367 @@
-@article{su2009survey,
- title={A survey of collaborative filtering techniques},
- author={Su, Xiaoyuan and Khoshgoftaar, Taghi M},
- journal={Advances in artificial intelligence},
- volume={2009},
- year={2009},
- publisher={Hindawi}
+@inproceedings{he2017neural,
+ title = {Neural collaborative filtering},
+ author = {He, Xiangnan and Liao, Lizi and Zhang, Hanwang and Nie, Liqiang and Hu, Xia and Chua, Tat-Seng},
+ booktitle = {Proceedings of the 26th international conference on world wide web},
+ pages = {173--182},
+ year = {2017},
+ editor = {Rick Barrett},
+ publisher = {Association for Computing Machinery},
+ location = {New York City}
}
@article{sun2017collaborative,
- title={Collaborative intent prediction with real-time contextual data},
- author={Sun, Yu and Yuan, Nicholas Jing and Xie, Xing and McDonald, Kieran and Zhang, Rui},
- journal={ACM Transactions on Information Systems (TOIS)},
- volume={35},
- number={4},
- pages={1--33},
- year={2017},
- publisher={ACM New York, NY, USA}
+ title = {Collaborative intent prediction with real-time contextual data},
+ author = {Sun, Yu and Yuan, Nicholas Jing and Xie, Xing and McDonald, Kieran and Zhang, Rui},
+ journal = {ACM Transactions on Information Systems (TOIS)},
+ volume = {35},
+ number = {4},
+ pages = {1--33},
+ year = {2017},
+ publisher = {ACM New York, NY, USA}
}
@inproceedings{zou2020survey,
- title={A survey on application of knowledge graph},
- author={Zou, Xiaohan},
- booktitle={Journal of Physics: Conference Series},
- volume={1487},
- number={1},
- pages={012016},
- year={2020},
- organization={IOP Publishing}
-}
-
-@misc{karlgren1990algebra,
- title={An algebra for recommendations: Using reader data as a basis for measuring document proximity},
- author={Karlgren, Jussi},
- year={1990},
- publisher={Department of Computer and Systems Sciences, Stockholm University}
-}
-
-@book{karlgren1994newsgroup,
- title={Newsgroup clustering based on user behavior-a recommendation algebra},
- author={Karlgren, Jussi},
- year={1994},
- publisher={Swedish Institute of Computer Science}
+ title = {A survey on application of knowledge graph},
+ author = {Zou, Xiaohan},
+ booktitle = {Journal of Physics: Conference Series},
+ volume = {1487},
+ number = {1},
+ pages = {12--16},
+ year = {2020},
+ publisher = {IOP Publishing},
+ location = {Bristol},
+ editor = {JPCS}
}
@article{jafarkarimi2012naive,
- title={A naive recommendation model for large databases},
- author={Jafarkarimi, Hosein and Sim, Alex Tze Hiang and Saadatdoost, Robab},
- journal={International Journal of Information and Education Technology},
- volume={2},
- number={3},
- pages={216},
- year={2012},
- publisher={IACSIT Press}
+ title = {A naive recommendation model for large databases},
+ author = {Jafarkarimi, Hosein and Sim, Alex Tze Hiang and Saadatdoost, Robab},
+ journal = {International Journal of Information and Education Technology},
+ volume = {2},
+ number = {3},
+ pages = {216--219},
+ year = {2012},
+ publisher = {IACSIT Press}
}
@article{singhal2012introducing,
- title={Introducing the knowledge graph: things, not strings},
- author={Singhal, Amit},
- journal={Official google blog},
- volume={5},
- pages={16},
- year={2012}
+ title = {Introducing the knowledge graph: things, not strings},
+ author = {Singhal, Amit},
+ journal = {Official google blog},
+ volume = {5},
+ pages = {1--16},
+ year = {2012}
}
@inproceedings{bordes2013translating,
- title={Translating embeddings for modeling multi-relational data},
- author={Bordes, Antoine and Usunier, Nicolas and Garcia-Duran, Alberto and Weston, Jason and Yakhnenko, Oksana},
- booktitle={Neural Information Processing Systems (NIPS)},
- pages={1--9},
- year={2013}
+ title = {Translating embeddings for modeling multi-relational data},
+ author = {Bordes, Antoine and Usunier, Nicolas and Garcia-Duran, Alberto and Weston, Jason and Yakhnenko, Oksana},
+ booktitle = {Neural Information Processing Systems (NIPS)},
+ pages = {1--9},
+ year = {2013},
+ location = {Lake Tahoe},
+ publisher = {Curran},
+ editor = { Burges, C}
}
@inproceedings{wang2014knowledge,
- title={Knowledge graph embedding by translating on hyperplanes},
- author={Wang, Zhen and Zhang, Jianwen and Feng, Jianlin and Chen, Zheng},
- booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
- volume={28},
- number={1},
- year={2014}
-}
-
-@inproceedings{lin2015learning,
- title={Learning entity and relation embeddings for knowledge graph completion},
- author={Lin, Yankai and Liu, Zhiyuan and Sun, Maosong and Liu, Yang and Zhu, Xuan},
- booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
- volume={29},
- number={1},
- year={2015}
+ title = {Knowledge graph embedding by translating on hyperplanes},
+ author = {Wang, Zhen and Zhang, Jianwen and Feng, Jianlin and Chen, Zheng},
+ booktitle = {Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence},
+ pages = {1112--1119},
+ volume = {28},
+ number = {1},
+ year = {2014},
+ publisher = {AAAI Press},
+ editor = {AAAI},
+ location = {Menlo Park}
+}
+
+@article{lin2017learning,
+ title = {Learning Entity and Relation Embeddings for Knowledge Resolution},
+ author = {Lin, Hailun and Liu, Yong and Wang, Weiping and Yue, Yinliang and Lin, Zheng},
+ journal = {Procedia Computer Science},
+ volume = {108},
+ pages = {345--354},
+ year = {2017},
+ publisher = {Elsevier}
}
@article{yang2014embedding,
- title={Embedding entities and relations for learning and inference in knowledge bases},
- author={Yang, Bishan and Yih, Wen-tau and He, Xiaodong and Gao, Jianfeng and Deng, Li},
- journal={arXiv preprint arXiv:1412.6575},
- year={2014}
+ title = {Embedding Entities and Relations for Learning and Inference in Knowledge Bases},
+ author = {Yang, Bishan and Yih, Wen-tau and He, Xiaodong and Gao, Jianfeng and Deng, Li},
+ journal = {arXiv e-prints},
+ pages = {1412--1423},
+ year = {2014}
}
@article{lin2015modeling,
- title={Modeling relation paths for representation learning of knowledge bases},
- author={Lin, Yankai and Liu, Zhiyuan and Luan, Huanbo and Sun, Maosong and Rao, Siwei and Liu, Song},
- journal={arXiv preprint arXiv:1506.00379},
- year={2015}
+ title = {Modeling Relation Paths for Representation Learning of Knowledge Bases},
+ author = {Lin, Yankai and Liu, Zhiyuan and Luan, Huanbo and Sun, Maosong and Rao, Siwei and Liu, Song},
+ journal = {arXiv e-prints},
+ pages = {1506--1515},
+ year = {2015}
}
-@article{guu2015traversing,
- title={Traversing knowledge graphs in vector space},
- author={Guu, Kelvin and Miller, John and Liang, Percy},
- journal={arXiv preprint arXiv:1506.01094},
- year={2015}
+@inproceedings{guu2015traversing,
+ title = {Traversing Knowledge Graphs in Vector Space},
+ author = {Guu, Kelvin and Miller, John and Liang, Percy},
+ booktitle = {Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing},
+ pages = {318--327},
+ year = {2015},
+ publisher = {Association for Computational Linguistics},
+ location = {Lisbon},
+ editor = {Lluís Màrquez, Chris Callison-Burch, Jian Su}
}
@inproceedings{toutanova2016compositional,
- title={Compositional learning of embeddings for relation paths in knowledge base and text},
- author={Toutanova, Kristina and Lin, Xi Victoria and Yih, Wen-tau and Poon, Hoifung and Quirk, Chris},
- booktitle={Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
- pages={1434--1444},
- year={2016}
+ title = {Compositional learning of embeddings for relation paths in knowledge base and text},
+ author = {Toutanova, Kristina and Lin, Xi Victoria and Yih, Wen-tau and Poon, Hoifung and Quirk, Chris},
+ booktitle = {Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
+ pages = {1434--1444},
+ year = {2016},
+ location = {Berlin},
+ editor = {Katrin Erk},
+ publisher = {Association for Computational Linguistics}
}
@book{fielding2000architectural,
- title={Architectural styles and the design of network-based software architectures},
- author={Fielding, Roy T},
- volume={7},
- year={2000},
- publisher={University of California, Irvine Irvine}
+ title = {Architectural styles and the design of network-based software architectures},
+ author = {Fielding, Roy T},
+ volume = {7},
+ year = {2000},
+ publisher = {University of California, Irvine Irvine},
+ pages = {1--4},
+ location = {Berkeley},
}
@inproceedings{koren2008factorization,
- title={Factorization meets the neighborhood: a multifaceted collaborative filtering model},
- author={Koren, Yehuda},
- booktitle={Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining},
- pages={426--434},
- year={2008}
+ title = {Factorization meets the neighborhood: a multifaceted collaborative filtering model},
+ author = {Koren, Yehuda},
+ booktitle = {Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining},
+ pages = {426--434},
+ year = {2008},
+ publisher = {Association for Computing Machinery},
+ editor = {Ying Li},
+ location = {New York}
}
@inproceedings{wang2018shine,
- title={Shine: Signed heterogeneous information network embedding for sentiment link prediction},
- author={Wang, Hongwei and Zhang, Fuzheng and Hou, Min and Xie, Xing and Guo, Minyi and Liu, Qi},
- booktitle={Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining},
- pages={592--600},
- year={2018}
+ title = {Shine: Signed heterogeneous information network embedding for sentiment link prediction},
+ author = {Wang, Hongwei and Zhang, Fuzheng and Hou, Min and Xie, Xing and Guo, Minyi and Liu, Qi},
+ booktitle = {Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining},
+ pages = {592--600},
+ year = {2018},
+ publisher = {Association for Computing Machinery},
+ editor = {Yi Chang},
+ location = {New York}
}
@inproceedings{wang2018dkn,
- title={DKN: Deep knowledge-aware network for news recommendation},
- author={Wang, Hongwei and Zhang, Fuzheng and Xie, Xing and Guo, Minyi},
- booktitle={Proceedings of the 2018 world wide web conference},
- pages={1835--1844},
- year={2018}
+ title = {DKN: Deep knowledge-aware network for news recommendation},
+ author = {Wang, Hongwei and Zhang, Fuzheng and Xie, Xing and Guo, Minyi},
+ booktitle = {Proceedings of the 2018 world wide web conference},
+ pages = {1835--1844},
+ year = {2018},
+ publisher = {
+International World Wide Web Conferences Steering Committee},
+ location = {Republic and Canton of Geneva},
+ editor = {Pierre-Antoine Champin}
}
@article{sun2017collaborative,
- title={Collaborative intent prediction with real-time contextual data},
- author={Sun, Yu and Yuan, Nicholas Jing and Xie, Xing and McDonald, Kieran and Zhang, Rui},
- journal={ACM Transactions on Information Systems (TOIS)},
- volume={35},
- number={4},
- pages={1--33},
- year={2017},
- publisher={ACM New York, NY, USA}
+ title = {Collaborative intent prediction with real-time contextual data},
+ author = {Sun, Yu and Yuan, Nicholas Jing and Xie, Xing and McDonald, Kieran and Zhang, Rui},
+ journal = {ACM Transactions on Information Systems (TOIS)},
+ volume = {35},
+ number = {4},
+ pages = {1--33},
+ year = {2017},
+ publisher = {ACM New York, NY, USA}
}
@inproceedings{zhang2016collaborative,
- title={Collaborative knowledge base embedding for recommender systems},
- author={Zhang, Fuzheng and Yuan, Nicholas Jing and Lian, Defu and Xie, Xing and Ma, Wei-Ying},
- booktitle={Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining},
- pages={353--362},
- year={2016}
+ title = {Collaborative knowledge base embedding for recommender systems},
+ author = {Zhang, Fuzheng and Yuan, Nicholas Jing and Lian, Defu and Xie, Xing and Ma, Wei-Ying},
+ booktitle = {Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining},
+ pages = {353--362},
+ year = {2016},
+ editor = {Balaji Krishnapuram},
+ location = {New York},
+ publisher = {Association for Computing Machinery}
}
@inproceedings{wang2018shine,
- title={Shine: Signed heterogeneous information network embedding for sentiment link prediction},
- author={Wang, Hongwei and Zhang, Fuzheng and Hou, Min and Xie, Xing and Guo, Minyi and Liu, Qi},
- booktitle={Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining},
- pages={592--600},
- year={2018}
+ title = {Shine: Signed heterogeneous information network embedding for sentiment link prediction},
+ author = {Wang, Hongwei and Zhang, Fuzheng and Hou, Min and Xie, Xing and Guo, Minyi and Liu, Qi},
+ booktitle = {Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining},
+ pages = {592--600},
+ year = {2018}
}
@inproceedings{yu2014personalized,
- title={Personalized entity recommendation: A heterogeneous information network approach},
- author={Yu, Xiao and Ren, Xiang and Sun, Yizhou and Gu, Quanquan and Sturt, Bradley and Khandelwal, Urvashi and Norick, Brandon and Han, Jiawei},
- booktitle={Proceedings of the 7th ACM international conference on Web search and data mining},
- pages={283--292},
- year={2014}
+ title = {Personalized entity recommendation: A heterogeneous information network approach},
+ author = {Yu, Xiao and Ren, Xiang and Sun, Yizhou and Gu, Quanquan and Sturt, Bradley and Khandelwal, Urvashi and Norick, Brandon and Han, Jiawei},
+ booktitle = {Proceedings of the 7th ACM international conference on Web search and data mining},
+ pages = {283--292},
+ year = {2014},
+ editor = {Yi Chang},
+ location = {New York},
+ publisher = {Association for Computing Machinery}
}
@article{rendle2012factorization,
- title={Factorization machines with libfm},
- author={Rendle, Steffen},
- journal={ACM Transactions on Intelligent Systems and Technology (TIST)},
- volume={3},
- number={3},
- pages={1--22},
- year={2012},
- publisher={ACM New York, NY, USA}
+ title = {Factorization machines with libfm},
+ author = {Rendle, Steffen},
+ journal = {ACM Transactions on Intelligent Systems and Technology (TIST)},
+ volume = {3},
+ number = {3},
+ pages = {1--22},
+ year = {2012},
+ publisher = {ACM New York, NY, USA}
}
@inproceedings{cheng2016wide,
- title={Wide \& deep learning for recommender systems},
- author={Cheng, Heng-Tze and Koc, Levent and Harmsen, Jeremiah and Shaked, Tal and Chandra, Tushar and Aradhye, Hrishi and Anderson, Glen and Corrado, Greg and Chai, Wei and Ispir, Mustafa and others},
- booktitle={Proceedings of the 1st workshop on deep learning for recommender systems},
- pages={7--10},
- year={2016}
+ title = {Wide \& deep learning for recommender systems},
+ author = {Cheng, Heng-Tze and Koc, Levent and Harmsen, Jeremiah and Shaked, Tal and Chandra, Tushar and Aradhye, Hrishi and Anderson, Glen and Corrado, Greg and Chai, Wei and Ispir, Mustafa and others},
+ booktitle = {Proceedings of the 1st workshop on deep learning for recommender systems},
+ pages = {7--10},
+ year = {2016},
+ editor = {Alexandros Karatzoglou},
+ location = {New York},
+ publisher = {Association for Computing Machinery}
}
@inproceedings{wang2018dkn,
- title={DKN: Deep knowledge-aware network for news recommendation},
- author={Wang, Hongwei and Zhang, Fuzheng and Xie, Xing and Guo, Minyi},
- booktitle={Proceedings of the 2018 world wide web conference},
- pages={1835--1844},
- year={2018}
+ title = {DKN: Deep knowledge-aware network for news recommendation},
+ author = {Wang, Hongwei and Zhang, Fuzheng and Xie, Xing and Guo, Minyi},
+ booktitle = {Proceedings of the 2018 world wide web conference},
+ pages = {1835--1844},
+ year = {2018},
+ editor = {Pierre-Antoine Champin},
+ location = {Republic and Canton of Geneva},
+ publisher = {International World Wide Web Conferences Steering Committee}
}
@article{漆桂林2017知识图谱研究进展,
- title={知识图谱研究进展},
- author={漆桂林 and 高桓 and å´å¤©æ˜Ÿ},
- journal={情报工程},
- volume={3},
- number={1},
- pages={004--025},
- year={2017}
+ title = {知识图谱研究进展},
+ author = {漆桂林 and 高桓 and å´å¤©æ˜Ÿ},
+ journal = {情报工程},
+ volume = {3},
+ number = {1},
+ pages = {004--025},
+ year = {2017}
}
@article{å¾å¢žæž—2016知识图谱技术综述,
- title={知识图谱技术综述},
- author={å¾å¢žæž— and 盛泳潘 and è´ºä¸½è£ and 王雅芳},
- year={2016},
- publisher={电å­ç§‘技大学学报自然版}
+ title = {知识图谱技术综述},
+ author = {å¾å¢žæž—,盛泳潘,贺丽è£,王雅芳},
+ journal = {电å­ç§‘技大学学报},
+ volume = {1},
+ number = {4},
+ pages = {589-606}
}
@article{æŽæ¶“å­2017知识图谱研究综述,
- title={知识图谱研究综述},
- author={æŽæ¶“å­ and 侯磊 and others},
- journal={山西大学学报 (自然科学版)},
- number={2017 å¹´ 03},
- pages={454--459},
- year={2017},
- publisher={山西大学}
+ title = {知识图谱研究综述},
+ author = {æŽæ¶“å­ and 侯磊 and others},
+ journal = {山西大学学报 (自然科学版)},
+ number = {03},
+ pages = {454--459},
+ year = {2017},
+ publisher = {山西大学}
}
@article{曹倩2015知识图谱的技术实现æµç¨‹åŠç›¸å…³åº”用,
- title={知识图谱的技术实现æµç¨‹åŠç›¸å…³åº”用},
- author={曹倩 and 赵一鸣},
- journal={情报ç†è®ºä¸Žå®žè·µ},
- volume={38},
- number={12},
- pages={13--18},
- year={2015}
+ title = {知识图谱的技术实现æµç¨‹åŠç›¸å…³åº”用},
+ author = {曹倩 and 赵一鸣},
+ journal = {情报ç†è®ºä¸Žå®žè·µ},
+ volume = {38},
+ number = {12},
+ pages = {13--18},
+ year = {2015}
}
@inproceedings{tang2019akupm,
- title={AKUPM: Attention-enhanced knowledge-aware user preference model for recommendation},
- author={Tang, Xiaoli and Wang, Tengyun and Yang, Haizhi and Song, Hengjie},
- booktitle={Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining},
- pages={1891--1899},
- year={2019}
+ title = {AKUPM: Attention-enhanced knowledge-aware user preference model for recommendation},
+ author = {Tang, Xiaoli and Wang, Tengyun and Yang, Haizhi and Song, Hengjie},
+ booktitle = {Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining},
+ pages = {1891--1899},
+ year = {2019},
+ editor = {Ankur Teredesai},
+ publisher = {Association for Computing Machinery},
+ location = {New York}
}
@inproceedings{cao2019unifying,
- title={Unifying knowledge graph learning and recommendation: Towards a better understanding of user preferences},
- author={Cao, Yixin and Wang, Xiang and He, Xiangnan and Hu, Zikun and Chua, Tat-Seng},
- booktitle={The world wide web conference},
- pages={151--161},
- year={2019}
+ title = {Unifying knowledge graph learning and recommendation: Towards a better understanding of user preferences},
+ author = {Cao, Yixin and Wang, Xiang and He, Xiangnan and Hu, Zikun and Chua, Tat-Seng},
+ booktitle = {The world wide web conference},
+ pages = {151--161},
+ year = {2019},
+ editor = {Ling Liu},
+ publisher = {Association for Computing Machinery},
+ location = {New York}
}
@inproceedings{zhao2017meta,
- title={Meta-graph based recommendation fusion over heterogeneous information networks},
- author={Zhao, Huan and Yao, Quanming and Li, Jianda and Song, Yangqiu and Lee, Dik Lun},
- booktitle={Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining},
- pages={635--644},
- year={2017}
+ title = {Meta-graph based recommendation fusion over heterogeneous information networks},
+ author = {Zhao, Huan and Yao, Quanming and Li, Jianda and Song, Yangqiu and Lee, Dik Lun},
+ booktitle = {Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining},
+ pages = {635--644},
+ year = {2017},
+ editor = {Stan Matwin},
+ publisher = {Association for Computing Machinery},
+ location = {New York}
}
@inproceedings{sun2018recurrent,
- title={Recurrent knowledge graph embedding for effective recommendation},
- author={Sun, Zhu and Yang, Jie and Zhang, Jie and Bozzon, Alessandro and Huang, Long-Kai and Xu, Chi},
- booktitle={Proceedings of the 12th ACM Conference on Recommender Systems},
- pages={297--305},
- year={2018}
+ title = {Recurrent knowledge graph embedding for effective recommendation},
+ author = {Sun, Zhu and Yang, Jie and Zhang, Jie and Bozzon, Alessandro and Huang, Long-Kai and Xu, Chi},
+ booktitle = {Proceedings of the 12th ACM Conference on Recommender Systems},
+ pages = {297--305},
+ year = {2018},
+ editor = {Sole Pera},
+ publisher = {Association for Computing Machinery},
+ location = {New York}
}
@inproceedings{wang2018ripplenet,
- title={Ripplenet: Propagating user preferences on the knowledge graph for recommender systems},
- author={Wang, Hongwei and Zhang, Fuzheng and Wang, Jialin and Zhao, Miao and Li, Wenjie and Xie, Xing and Guo, Minyi},
- booktitle={Proceedings of the 27th ACM International Conference on Information and Knowledge Management},
- pages={417--426},
- year={2018}
+ title = {Ripplenet: Propagating user preferences on the knowledge graph for recommender systems},
+ author = {Wang, Hongwei and Zhang, Fuzheng and Wang, Jialin and Zhao, Miao and Li, Wenjie and Xie, Xing and Guo, Minyi},
+ booktitle = {Proceedings of the 27th ACM International Conference on Information and Knowledge Management},
+ pages = {417--426},
+ year = {2018},
+ editor = {Alfredo Cuzzocrea},
+ publisher = {Association for Computing Machinery},
+ location = {New York}
}
@article{黄立å¨2018基于深度学习的推è系统研究综述,
- title={基于深度学习的推è系统研究综述},
- author={é»„ç«‹å¨ and 江碧涛 and å•å®ˆä¸š and åˆ˜è‰³åš and æŽå¾·æ¯…},
- journal={计算机学报},
- volume={41},
- number={7},
- pages={1619--1647},
- year={2018}
+ title = {基于深度学习的推è系统研究综述},
+ author = {é»„ç«‹å¨ and 江碧涛 and å•å®ˆä¸š and åˆ˜è‰³åš and æŽå¾·æ¯…},
+ journal = {计算机学报},
+ volume = {41},
+ number = {7},
+ pages = {1619--1647},
+ year = {2018}
}
@article{常亮2019知识图谱的推è系统综述,
- title={知识图谱的推è系统综述},
- author={常亮 and 张伟涛 and å¤å¤©é¾™ and 孙文平 and 宾辰忠 and others},
- journal={智能系统学报},
- volume={14},
- number={2},
- pages={207--216},
- year={2019}
-}
-
-@mastersthesis{王一鸣2018基于知识图谱的推è技术研究åŠåº”用,
- title={基于知识图谱的推è技术研究åŠåº”用},
- author={王一鸣},
- year={2018},
- school={电å­ç§‘技大学}
+ title = {知识图谱的推è系统综述},
+ author = {常亮 and 张伟涛 and å¤å¤©é¾™ and 孙文平 and 宾辰忠 and others},
+ journal = {智能系统学报},
+ volume = {14},
+ number = {2},
+ pages = {207--216},
+ year = {2019}
+}
+
+@article{秦å·2020基于知识图谱的推è系统研究综述,
+ title = {基于知识图谱的推è系统研究综述},
+ author = {ç§¦å· and ç¥æ’书 and 庄ç¦æŒ¯ and 郭庆宇 and å¼ ç¦ and å¼ ä¹ and 王超 and 陈æ©çº¢ and 熊辉},
+ journal = {中国科学:ä¿¡æ¯ç§‘å­¦},
+ number = {7},
+ pages = {937-956},
+ year = {2020}
}
diff --git a/macros/latex/contrib/bjfuthesis/example/contents/abstract.tex b/macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
index 7e116d91e5..12c5ecc161 100644
--- a/macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
+++ b/macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
@@ -2,13 +2,13 @@
\begin{abstract}
éšç€åœ¨çº¿ç”µå½±æ•°é‡ä¸æ–­å¢žåŠ ï¼Œç”¨æˆ·é€‰æ‹©ç”µå½±çš„时间æˆæœ¬ä¸æ–­ä¸Šå‡ï¼Œå‡†ç¡®çš„推è算法æˆä¸ºäº†å¿…然è¦æ±‚。为解决ååŒè¿‡æ»¤æŽ¨è算法中的稀缺性问题与冷å¯åŠ¨é—®é¢˜ï¼Œç ”究人员用商å“属性或社交网络等信æ¯æ¥è¾…助推è算法。现有的将知识图谱作为辅助信æ¯çš„推è算法包括基于嵌入的方法和基于路径的方法,但这两ç§æ–¹æ³•å‡å­˜åœ¨ä¸€äº›ç¼ºé™·ï¼Œæ²¡æœ‰å……分有效地利用知识图谱中的相关信æ¯ï¼ŒæŽ¨è的准确度较低。
- 本文实现了基于“涟漪网络â€çŸ¥è¯†å›¾è°±çš„推è算法。“涟漪网络â€ç®—法的核心是利用现实生活中雨滴产生的涟漪在水é¢ä¸Šä¸æ–­æ‰©æ•£çš„æ€è·¯ï¼Œæ¥æ¨¡æ‹Ÿç”¨æˆ·å好的扩散。对于æ¯ä¸€ä¸ªç”¨æˆ·ï¼Œæ¶Ÿæ¼ªç½‘络将其过往å好作为知识图谱中的一个ç§å­é›†ï¼Œç„¶åŽæ²¿çŸ¥è¯†å›¾è°±ä¸­çš„关系路径ä¸æ–­åœ°æ‹“展用户å好,进而å‘现该用户对æŸä¸ªå€™é€‰ç‰©å“以等级划分的潜在兴趣,其中多个“涟漪â€é‡å å½¢æˆçŸ¥è¯†å›¾è°±ä¸­çš„用户å好分布。该算法的实验结果和以往的CKEã€DKNã€PER等模型结果相比,表现出更优的性能。利用该算法,本文设计并实现了一个基于知识图谱的电影推è系统,该系统包括管ç†å‘˜ç”¨æˆ·å’Œæ™®é€šç”¨æˆ·ï¼Œç®¡ç†å‘˜èƒ½æ–°å¢žã€ç¼–辑和删除电影与用户,普通用户能æµè§ˆã€æ”¶è—与购买电影。该系统å¯ä»¥é«˜æ•ˆå‡†ç¡®åœ°ä¸ºç”¨æˆ·æŽ¨è电影,方便用户选择满足自己å好的电影。
+ 本文实现了基于知识图谱的“涟漪网络â€æŽ¨è算法。“涟漪网络â€ç®—法的核心是利用现实生活中雨滴产生的涟漪在水é¢ä¸Šä¸æ–­æ‰©æ•£çš„æ€è·¯ï¼Œæ¥æ¨¡æ‹Ÿç”¨æˆ·å好的扩散。对于æ¯ä¸€ä¸ªç”¨æˆ·ï¼Œæ¶Ÿæ¼ªç½‘络将其过往å好作为知识图谱中的一个ç§å­é›†ï¼Œç„¶åŽæ²¿çŸ¥è¯†å›¾è°±ä¸­çš„关系路径ä¸æ–­åœ°æ‹“展用户å好,进而å‘现该用户对æŸä¸ªå€™é€‰ç‰©å“以等级划分的潜在兴趣,其中多个“涟漪â€é‡å å½¢æˆçŸ¥è¯†å›¾è°±ä¸­çš„用户å好分布。该算法的实验结果和以往的CKEã€DKNã€PER等模型结果相比,表现出更优的性能。利用该算法,本文设计并实现了一个基于知识图谱的电影推è系统,该系统包括管ç†å‘˜ç”¨æˆ·å’Œæ™®é€šç”¨æˆ·ï¼Œç®¡ç†å‘˜èƒ½æ–°å¢žã€ç¼–辑和删除电影与用户,普通用户能æµè§ˆã€æ”¶è—与购买电影。该系统å¯ä»¥é«˜æ•ˆå‡†ç¡®åœ°ä¸ºç”¨æˆ·æŽ¨è电影,方便用户选择满足自己å好的电影。
\end{abstract}
\keywordscn{知识图谱,推è系统,涟漪网络,用户å好,电影商店}
\chapter*{Abstract}
\begin{abstract}
- As the number of online movies continues to increase and the time cost for users to choose movies continues to rise, accurate recommendation algorithms have become an inevitable requirement. In order to address the scarcity and cold start problem of collaborative filtering, researchers usually make use of side information, such as product attributes or social networks as side information to assist the recommendation. The existing recommendation algorithms that use knowledge graph as side information include embedding-based methods and path-based methods, but both methods have some shortcomings. They do not make full and effective use of the relevant information in the knowledge graph, and the accuracy of recommendation is relatively low.
+ As the number of online movies continues to increase and the time cost for users to choose movies continues to rise, accurate recommendation algorithms have become an necessary requirement. In order to address the scarcity and cold start problem of collaborative filtering, researchers usually make use of side information, such as product attributes or social networks as side information to assist the recommendation. The existing recommendation algorithms that use knowledge graph as side information include embedding-based methods and path-based methods, but both methods have some shortcomings. They do not make full and effective use of the relevant information in the knowledge graph, and the accuracy of recommendation is relatively low.
- This paper implements a recommendation algorithm based on Ripple Network. The core of the Ripple Network algorithm is to use the idea that the ripples produced by raindrops in real life continue to spread on the water surface to stimulate the spread of user preferences. For each user, Ripple Network uses its past preference as a seed set in the knowledge graph, and then continuously expands the user’s preferences along the relationship path in the knowledge graph, and then discovers his hierarchical potential interests concerning a certain candidate item. Multiple ``ripples" overlap to form the user preference distribution in the knowledge graph. Compared with previous model results of CKE, DKN, PER, etc., the experimental results of this algorithm show better performance. Using this algorithm, this paper designs and implements a recommendation system based on the movie knowledge graph. The system includes administrator users and general users. The administrator can add, edit and delete movies and users, and general users can browse, collect and purchase films. The system can provide users with an efficient movie recommendation function, which is convenient for users to choose movies that suit their preferences.
+ This paper implements a recommendation algorithm, ``Ripple Network", based on knowledge graph. The core of the Ripple Network algorithm is to use the idea that the ripples produced by raindrops in real life continue to spread on the water surface to stimulate the spread of user preferences. For each user, Ripple Network uses its past preference as a seed set in the knowledge graph, and then continuously expands the user's preferences along the relationship path in the knowledge graph, and then discovers his hierarchical potential interests concerning a certain candidate item. Multiple ``ripples'' overlap to form the user preference distribution in the knowledge graph. Compared with previous model results of CKE, DKN, PER, etc., the experimental results of this algorithm show better performance. Using this algorithm, this paper designs and implements a recommendation system based on the movie knowledge graph. The system includes administrator users and general users. The administrator can add, edit and delete movies and users, and general users can browse, collect and purchase films. The system can provide users with an efficient movie recommendation function, which is convenient for users to choose movies that match their preferences.
\end{abstract}
-\keywordsen{Knowledge graph, recommendation system, Ripple Network, user preferences, movie store}
+\keywordsen{Knowledge graph, recommender system, Ripple Network, user preferences, movie store}
diff --git a/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex b/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
index 2b8ff0cb50..54bbd920ca 100644
--- a/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
+++ b/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
@@ -1,6 +1,6 @@
\chapter{绪论}
\section{研究背景与æ„义}
-一直以æ¥ï¼Œç”µå½±æŽ¨è都是在线æµåª’体播放平å°å‘展中的一个é‡è¦é—®é¢˜ï¼Œåšå¥½ç”µå½±æŽ¨èå¯ä»¥ä½¿ç”¨æˆ·èƒ½åœ¨æµ·é‡ç”µå½±ä¸­é€‰æ‹©æ»¡è¶³å…¶å好的电影,æ高用户满æ„度,从而æ高在线æµåª’体播放平å°çš„æµé‡è½¬åŒ–率åŠè´­ä¹°çŽ‡ï¼Œå¹¶æœ€ç»ˆæ高在线æµåª’体播放平å°çš„ç»æµŽæ”¶ç›Šã€‚è¿‘å¹´æ¥ï¼Œéšç€ç”µå½±è¡Œä¸šåŠäº’è”网行业的ä¸æ–­å‘展,在线电影数é‡ä¸æ–­å¢žåŠ ï¼Œç”¨æˆ·åœ¨æµ·é‡ç”µå½±ä¸­é€‰æ‹©æ»¡è¶³å…¶å好的电影的难度ä¸æ–­ä¸Šå‡ï¼Œæ€§èƒ½ä¼˜å¼‚的推è算法æˆä¸ºäº†å¿…然è¦æ±‚。自从在线æµåª’体播放平å°å‡ºçŽ°ä»¥æ¥ï¼Œäººä»¬ä¾¿å¼€å§‹å°è¯•åˆ©ç”¨æŽ¨è算法æ¥æ高平å°æµé‡è½¬åŒ–率,出现了诸如ååŒè¿‡æ»¤çš„推è算法\cite{su2009survey}。但这些算法未能解决数æ®ç¨€ç¼ºæ€§åŠå†·å¯åŠ¨é—®é¢˜ï¼Œå¹¶ä¸èƒ½ä¸ºåœ¨çº¿æµåª’体播放平å°æ供良好的推è性能。为此,人们å°è¯•å°†è¾…助信æ¯èžå…¥æŽ¨è算法中以解决数æ®ç¨€ç¼ºæ€§åŠå†·å¯åŠ¨é—®é¢˜\cite{sun2017collaborative},并æ高推è性能。
+一直以æ¥ï¼Œç”µå½±æŽ¨è都是在线æµåª’体播放平å°å‘展中的一个é‡è¦é—®é¢˜ï¼Œåšå¥½ç”µå½±æŽ¨èå¯ä»¥ä½¿ç”¨æˆ·èƒ½åœ¨æµ·é‡ç”µå½±ä¸­é€‰æ‹©æ»¡è¶³å…¶å好的电影,æ高用户满æ„度,从而æ高在线æµåª’体播放平å°çš„æµé‡è½¬åŒ–率åŠè´­ä¹°çŽ‡ï¼Œå¹¶æœ€ç»ˆæ高在线æµåª’体播放平å°çš„ç»æµŽæ”¶ç›Šã€‚è¿‘å¹´æ¥ï¼Œéšç€ç”µå½±è¡Œä¸šåŠäº’è”网行业的ä¸æ–­å‘展,在线电影数é‡ä¸æ–­å¢žåŠ ï¼Œç”¨æˆ·åœ¨æµ·é‡ç”µå½±ä¸­é€‰æ‹©æ»¡è¶³å…¶å好的电影的难度ä¸æ–­ä¸Šå‡ï¼Œæ€§èƒ½ä¼˜å¼‚的推è算法æˆä¸ºäº†å¿…然è¦æ±‚。自从在线æµåª’体播放平å°å‡ºçŽ°ä»¥æ¥ï¼Œäººä»¬ä¾¿å¼€å§‹å°è¯•åˆ©ç”¨æŽ¨è算法æ¥æ高平å°æµé‡è½¬åŒ–率,出现了诸如ååŒè¿‡æ»¤çš„推è算法\cite{he2017neural}。但这些算法未能解决数æ®ç¨€ç¼ºæ€§åŠå†·å¯åŠ¨é—®é¢˜ï¼Œå¹¶ä¸èƒ½ä¸ºåœ¨çº¿æµåª’体播放平å°æ供良好的推è性能。为此,人们å°è¯•å°†è¾…助信æ¯èžå…¥æŽ¨è算法中以解决数æ®ç¨€ç¼ºæ€§åŠå†·å¯åŠ¨é—®é¢˜\cite{sun2017collaborative},并æ高推è性能。
知识图谱是一ç§ç»“构化的语义知识库,被用于迅速æ供对物ç†ä¸–界中的概念和相互关系的æ述,为解决推è问题æ供了新的方法\cite{zou2020survey},近年æ¥å—到国内外研究人员的广泛关注,æˆä¸ºäº†å½“å‰çš„研究热点。知识图谱通过对å¤æ‚的原始数æ®è¿›è¡ŒåŠ å·¥ã€å¤„ç†åŠæ•´åˆï¼Œè½¬åŒ–æˆç®€å•å¯é ã€æ¸…晰明了的“实体,关系,实体â€ä¸‰å…ƒç»„,汇èšäº†å¤§é‡çš„知识信æ¯ï¼Œä»Žè€Œèƒ½å®žçŽ°åŸºäºŽçŸ¥è¯†ä¿¡æ¯çš„å“应和推ç†ã€‚
@@ -11,7 +11,7 @@
对于海é‡çš„电影数æ®ï¼Œä¸ºäº†å®žçŽ°å‡†ç¡®åœ°æŽ¨è给用户其感兴趣的电影,基于ååŒè¿‡æ»¤çš„传统推è算法是满足了ä¸ç”¨æˆ·éœ€æ±‚的,特别是对新注册用户,推è的准确度无法得到ä¿è¯ã€‚所以,本文旨在以知识图谱作为辅助信æ¯ï¼Œæž„建一个åˆé€‚的电影推è系统,并利用知识图谱中包å«çš„丰富的辅助信æ¯ï¼Œæœ€ç»ˆå®žçŽ°ä¸€ä¸ªç”µå½±æŽ¨è系统,为用户æ供有效的ã€å‡†ç¡®çš„电影推è,从而æ高用户满æ„度,æ高平å°æ”¶ç›Šã€‚
\section{国内外研究现状}
\subsection{推è系统研究现状}
-推è系统由Jussi Karlgren于哥伦比亚大学在一份技术报告中以“数字书架â€çš„å称被首次æåŠ\cite{karlgren1990algebra},而åŽè‡ª1994年起被在SICSçš„Jussi Karlgren\cite{karlgren1994newsgroup}ã€ç”±Pattie Maes于MIT领导的研究团队ã€ä½äºŽBellcoreçš„Will Hill以åŠåŒæ ·ä½äºŽMITçš„Paul Resnick大规模实现并在技术性报告åŠå‡ºç‰ˆç‰©å¤§é‡å‡ºçŽ°ï¼Œä»¥ä¸Šäººå‘˜ä¸ŽGroupLens的工作被授予了2010å¹´ACM软件系统奖。
+推è系统由Jussi Karlgren于哥伦比亚大学在一份技术报告中以“数字书架â€çš„å称被首次æåŠï¼Œè€ŒåŽè‡ª1994年起被在SICSçš„Jussi Karlgrenã€ç”±Pattie Maes于MIT领导的研究团队ã€ä½äºŽBellcoreçš„Will Hill以åŠåŒæ ·ä½äºŽMITçš„Paul Resnick大规模实现并在技术性报告åŠå‡ºç‰ˆç‰©å¤§é‡å‡ºçŽ°ï¼Œä»¥ä¸Šäººå‘˜ä¸ŽGroupLens的工作被授予了2010å¹´ACM软件系统奖。
自从在90年代中期首批有关ååŒè¿‡æ»¤çš„论文出现åŽæŽ¨è系统便æˆä¸ºäº†é‡è¦çš„研究领域。工业界与学术界出现了众多有关建设新的推è系统的工作。由于该领域包å«ä¼—多的研究问题åŠå…¶èƒ½å¸®åŠ©ç”¨æˆ·è§£å†³åœ¨è¿‡å¤šä¿¡æ¯ä¸­æ供个性化推è的实际应用,因此研究人员对该领域的兴趣ä¾æ—§å¾ˆé«˜ã€‚
@@ -41,7 +41,7 @@
事实学习分为有监ç£çš„事实学习ã€åŠç›‘ç£çš„事实学习以åŠæ— ç›‘ç£çš„事实学习。有监ç£çš„事实学习通过人为标注的语料信æ¯è¾“入以åŠæ·±åº¦å­¦ä¹ æ–¹æ³•æ¥å®ŒæˆçŸ¥è¯†å›¾è°±çš„构建,而åŠç›‘ç£çš„事实学习方法使用å¯å‘å¼åœ°è‡ªåŠ¨æ ‡æ³¨æ–‡æœ¬ï¼Œä½†ç¼ºé™·æ˜¯è®­ç»ƒæ•°æ®é›†ä¸­å¯èƒ½å«æœ‰å¤§é‡çš„噪声数æ®ã€‚而无监ç£çš„学习方法主è¦ä½¿ç”¨åŸºäºŽæ·±åº¦å­¦ä¹ æ¨¡åž‹çš„自然语言处ç†ï¼ˆNLP)的方法,无须人为干预,由训练模型自动完æˆä¿¡æ¯æŠ½å–ã€ä¿¡æ¯æ•´åˆã€‚éšç€æ·±åº¦å­¦ä¹ ç®—法的å‘展,目å‰åŸºäºŽæ— ç›‘ç£çš„事实学习é€æ¸æˆä¸ºä¸»æµ\cite{æŽæ¶“å­2017知识图谱研究综述}。
-ç›®å‰å‡ºçŽ°äº†è¯¸å¤šä½¿ç”¨ä»¥ä¸Šç†è®ºæ–¹æ³•è®¾è®¡çš„知识图谱嵌入算法:基于翻译的TransE\cite{bordes2013translating}ã€TransH\cite{wang2014knowledge}ã€TransR\cite{lin2015learning}和基于语义分æžçš„DistMult\cite{yang2014embedding}等。
+ç›®å‰å‡ºçŽ°äº†è¯¸å¤šä½¿ç”¨ä»¥ä¸Šç†è®ºæ–¹æ³•è®¾è®¡çš„知识图谱嵌入算法:基于翻译的TransE\cite{bordes2013translating}ã€TransH\cite{wang2014knowledge}ã€TransR\cite{lin2017learning}和基于语义分æžçš„DistMult\cite{yang2014embedding}等。
ç›®å‰ï¼ŒçŸ¥è¯†å›¾è°±åœ¨ä¸šç•Œçš„应用已ç»å–得了巨大æˆåŠŸ\cite{曹倩2015知识图谱的技术实现æµç¨‹åŠç›¸å…³åº”用}:
@@ -53,7 +53,7 @@
\subsection{基于知识图谱的推è系统研究现状}
由于传统的推è系统无法解决稀缺性问题和冷å¯åŠ¨é—®é¢˜ï¼Œå› æ­¤ç ”究人员ä¼å›¾å°†è¾…助信æ¯åŠ å…¥åˆ°æŽ¨è算法中以改善推è性能。而这类辅助信æ¯æœ‰ç¤¾äº¤ç½‘络ã€ç”¨æˆ·/物å“属性ã€å›¾åƒä¸Žä¸Šä¸‹æ–‡ç­‰ã€‚
-在数ç§ç±»åž‹çš„辅助信æ¯ä¸­ï¼ŒçŸ¥è¯†å›¾è°±é€šå¸¸åŒ…å«æœ‰æ›´ä¸°å¯Œçš„ä¿¡æ¯ä»¥åŠç‰©å“é—´çš„è”系。图~\ref{fig:enhanced-recommendation}中说明了知识图谱æ供丰富的信æ¯ä¸Žç‰©å“间的连接,有利于æ高推è结果的准确性ã€å¤šæ ·æ€§å’Œå¯è§£é‡Šæ€§ã€‚知识图谱å¯ä»¥ä»Žä»¥ä¸‹ä¸‰ä¸ªæ–¹é¢æ高推è性能:
+在数ç§ç±»åž‹çš„辅助信æ¯ä¸­ï¼ŒçŸ¥è¯†å›¾è°±é€šå¸¸åŒ…å«æœ‰æ›´ä¸°å¯Œçš„ä¿¡æ¯ä»¥åŠç‰©å“é—´çš„è”系。图\ref{fig:enhanced-recommendation}中说明了知识图谱æ供丰富的信æ¯ä¸Žç‰©å“间的连接,有利于æ高推è结果的准确性ã€å¤šæ ·æ€§å’Œå¯è§£é‡Šæ€§ã€‚知识图谱å¯ä»¥ä»Žä»¥ä¸‹ä¸‰ä¸ªæ–¹é¢æ高推è性能:
\begin{figure}
\includegraphics[width=\textwidth]{enhanced-recommendation}
\bicaption{基于知识图谱的电影推è系统}{Knowledge graph enhanced movie recommendation system}\label{fig:enhanced-recommendation}
@@ -81,7 +81,7 @@ SHINE设计深度自编ç å™¨æ¥åµŒå…¥è¯­ä¹‰ç½‘络,社交网络并进行推è
(1)对推è系统所需的数æ®è¿›è¡Œé‡‡é›†å’Œå¤„ç†ï¼Œä½¿ç”¨â€œMovieLens 1M Datasetâ€ä½œä¸ºæ•°æ®é›†ï¼Œæ­¤å¤–还从IMDbåŠè±†ç“£ç½‘爬å–了相关电影数æ®å¹¶è¿›è¡Œå¤„ç†ï¼Œä½œä¸ºæœ¬æ–‡çš„研究对象。
-(2)根æ®æ–‡çŒ®\parencite{wang2018ripplenet}æ出的算法,实现了基于知识图谱的涟漪网络推è算法,该算法能根æ®ç”¨æˆ·çš„历å²è¡Œä¸ºä¸ºç”¨æˆ·è¿›è¡Œç”µå½±æŽ¨è。此外,将涟漪网络算法与其他基于知识图谱的推è算法(DKN\cite{wang2018dkn}ã€CKE\cite{zhang2016collaborative} ã€PER\cite{yu2014personalized}ã€SHINE\cite{wang2018shine}ã€LibFM\cite{rendle2012factorization}å’ŒWide\&Deep\cite{cheng2016wide}等)进行了性能比较。
+(2)根æ®æ–‡çŒ®\parencite{wang2018ripplenet}æ出的算法,实现了基于知识图谱的涟漪网络推è算法,此算法能根æ®ç”¨æˆ·çš„历å²è¡Œä¸ºä¸ºç”¨æˆ·è¿›è¡Œç”µå½±æŽ¨è。ä¸åŒäºŽæ–‡çŒ®\parencite{wang2018ripplenet}中仅使用用户评分计算用户å好,本文在用户å好的计算过程中还结åˆäº†ç”¨æˆ·æ”¶è—,这在一定程度上缓解了冷å¯åŠ¨é—®é¢˜å¹¶æ”¹è¿›äº†æŽ¨è性能。此外,将涟漪网络算法与其他基于知识图谱的推è算法(DKN\cite{wang2018dkn}ã€CKE\cite{zhang2016collaborative} ã€PER\cite{yu2014personalized}ã€SHINE\cite{wang2018shine}ã€LibFM\cite{rendle2012factorization}å’ŒWide\&Deep\cite{cheng2016wide}等)进行了性能比较。
(3)实现了一个基于知识图谱的电影推è系统,该系统能够根æ®ç”¨æˆ·çš„历å²è¡Œä¸ºï¼ˆè¯„分ã€æ”¶è—等)æ¥ä¸ºç”¨æˆ·è¿›è¡Œç”µå½±æŽ¨è。该系统分为管ç†å‘˜ã€æœªç™»å½•ç”¨æˆ·ã€æ™®é€šç™»å½•ç”¨æˆ·ã€‚管ç†å‘˜èƒ½å¢žåŠ ã€ä¿®æ”¹å’Œåˆ é™¤ç”µå½±å’Œæ™®é€šç”¨æˆ·ï¼›æœªç™»å½•ç”¨æˆ·èƒ½æ ¹æ®ç”µå½±åˆ†ç±»æŸ¥çœ‹ç”µå½±åˆ—表以åŠæŸ¥çœ‹ç”µå½±è¯¦æƒ…;普通登录用户除了能进行未登录用户的所有æ“作外,还能购买ã€æ”¶è—åŠä¸ºç”µå½±è¯„分。
\section{论文结构}
@@ -125,7 +125,7 @@ SHINE设计深度自编ç å™¨æ¥åµŒå…¥è¯­ä¹‰ç½‘络,社交网络并进行推è
基于内容的推è与基于ååŒè¿‡æ»¤çš„推èå„有优缺点。潘多拉音ä¹æ‰€ä½¿ç”¨çš„基于内容推è的推è算法是根æ®ç‰©å“本身的性质æ¥è¿›è¡ŒæŽ¨è的,因此ä¸éœ€è¦ç”¨æˆ·ä¿¡æ¯å°±å¯ä»¥æœ‰è¾ƒå¥½çš„准确度。但该算法严é‡ä¾èµ–物å“本身的特性,因此局é™æ€§è¾ƒå¤§ï¼ŒæŽ¨è的内容都是与ç§å­é›†ç›¸å…³çš„,推è结果的多样性较低。而“终级fmâ€ä½¿ç”¨çš„ååŒè¿‡æ»¤ç®—法需è¦æ ¹æ®ç”¨æˆ·ä¸Žç‰©å“的交互æ¥ç”ŸæˆæŽ¨è结果,因此需è¦å¤§é‡çš„用户数æ®ï¼Œå­˜åœ¨æ•°æ®ç¨€ç¼ºæ€§é—®é¢˜ä¸Žå†·å¯åŠ¨é—®é¢˜ã€‚
\subsection{基于知识图谱的推è系统}
-基于内容推è与ååŒè¿‡æ»¤æŽ¨è两者å‡å­˜åœ¨ä¸€äº›å±€é™æ€§ï¼Œä¸ºäº†æ高推è的准确性,解决传统推è算法的数æ®ç¨€ç¼ºæ€§ä¸Žå†·å¯åŠ¨é—®é¢˜ï¼Œç ”究者将一些辅助信æ¯åŠ å…¥è‡³æŽ¨è算法中,通常这些辅助信æ¯åŒ…括上下文信æ¯ã€ç”¨æˆ·æˆ–物å“的属性ã€å›¾ç‰‡å’Œç¤¾äº¤ç½‘络\cite{常亮2019知识图谱的推è系统综述}\cite{王一鸣2018基于知识图谱的推è技术研究åŠåº”用}。
+基于内容推è与ååŒè¿‡æ»¤æŽ¨è两者å‡å­˜åœ¨ä¸€äº›å±€é™æ€§ï¼Œä¸ºäº†æ高推è的准确性,解决传统推è算法的数æ®ç¨€ç¼ºæ€§ä¸Žå†·å¯åŠ¨é—®é¢˜ï¼Œç ”究者将一些辅助信æ¯åŠ å…¥è‡³æŽ¨è算法中,通常这些辅助信æ¯åŒ…括上下文信æ¯ã€ç”¨æˆ·æˆ–物å“的属性ã€å›¾ç‰‡å’Œç¤¾äº¤ç½‘络\cite{常亮2019知识图谱的推è系统综述}\cite{秦å·2020基于知识图谱的推è系统研究综述}。
而éšç€çŸ¥è¯†å›¾è°±çš„å‘展,将知识图谱作为辅助信æ¯æ¥æ高推è系统的性能已ç»æˆä¸ºäº†çƒ­é—¨çš„研究方å‘。将知识图谱作为辅助信æ¯åŠ å…¥æŽ¨è算法的优点有:
@@ -135,7 +135,7 @@ SHINE设计深度自编ç å™¨æ¥åµŒå…¥è¯­ä¹‰ç½‘络,社交网络并进行推è
ç›®å‰ä¸»è¦çš„基于知识图谱的推è算法有基于嵌入的方法ã€åŸºäºŽè·¯å¾„的方法以åŠæ··åˆå¼æ–¹æ³•ï¼š
-(1)基于嵌入的方法。基于嵌入的方法使用知识图谱的信æ¯æ¥å®Œå–„实体的嵌入表示。为了将知识图谱中的信æ¯æ·»åŠ è‡³æŽ¨è算法中æ¥è¾…助推è,需è¦ä½¿ç”¨çŸ¥è¯†å›¾è°±åµŒå…¥è¡¨ç¤ºç®—法(Knowledge Graph Embedding, KGE)表计算实体嵌入(实体嵌入指由知识图谱中的信æ¯å¾—到的在低维å‘é‡ç©ºé—´ä¸­çš„å‘é‡è¡¨ç¤ºï¼‰ã€‚KGE算法有TransE\cite{bordes2013translating}ã€TransH\cite{wang2014knowledge}ã€TransR\cite{lin2015learning}å’ŒDistMult\cite{yang2014embedding}等。而推è算法利用该嵌入表示æ¥è¿›è¡Œç›¸å…³è®¡ç®—,从而对用户进行物å“推è。
+(1)基于嵌入的方法。基于嵌入的方法使用知识图谱的信æ¯æ¥å®Œå–„实体的嵌入表示。为了将知识图谱中的信æ¯æ·»åŠ è‡³æŽ¨è算法中æ¥è¾…助推è,需è¦ä½¿ç”¨çŸ¥è¯†å›¾è°±åµŒå…¥è¡¨ç¤ºç®—法(Knowledge Graph Embedding, KGE)表计算实体嵌入(实体嵌入指由知识图谱中的信æ¯å¾—到的在低维å‘é‡ç©ºé—´ä¸­çš„å‘é‡è¡¨ç¤ºï¼‰ã€‚KGE算法有TransE\cite{bordes2013translating}ã€TransH\cite{wang2014knowledge}ã€TransR\cite{lin2017learning}å’ŒDistMult\cite{yang2014embedding}等。而推è算法利用该嵌入表示æ¥è¿›è¡Œç›¸å…³è®¡ç®—,从而对用户进行物å“推è。
(2)基于路径的方法\cite{lin2015modeling}\cite{guu2015traversing}\cite{toutanova2016compositional}。基于路径的方法将知识图谱视为异构信æ¯ç½‘络。而推è系统利用该异构信æ¯ç½‘络寻找实体间的关系,从而完æˆæŽ¨è。
@@ -161,7 +161,8 @@ MongoDB是一个新兴的éžå…³ç³»åž‹å­˜å‚¨çš„分布å¼å­˜å‚¨æ•°æ®çš„æ•°æ®åº“ï
Neo4j是一个具有高性能的图数æ®åº“,它将结构化的数æ®ä¿¡æ¯å‚¨å­˜åœ¨ç½‘络上而ä¸æ˜¯å­˜å‚¨åœ¨è¡¨ä¸­ã€‚它具有å¥å£®å’Œæˆç†Ÿçš„æ•°æ®åº“的所有特点。虽然Neo4j是一个新兴的数æ®åº“,但它已在具有超过1亿节点ã€å…³ç³»å’Œå±žæ€§çš„产å“中得到了应用,充分体现了其高性能ã€é«˜å¯é æ€§çš„特点。
-在本系统中,知识图谱的有关信æ¯è¢«å­˜å‚¨åœ¨Neo4j中,由于知识图谱本身图的特性,这充分利用了Neo4j作为图数æ®åº“的特点,å¯ä»¥æ供良好的性能支æŒã€‚
+在本系统中,最终需存储的图结点有182011个,需存储的边有1241995æ¡ã€‚如果将它们存储在传统的关系型数æ®åº“中,会因大é‡çš„连接查询导致æžå¤§çš„性能开销,表现为查询耗时久。Neo4j对图数æ®å¤„ç†åšäº†ä¼˜åŒ–,因此查询等æ“作å¯ä»¥åœ¨è¾ƒçŸ­çš„时间内完æˆï¼Œæ•…本系统将知识图谱数æ®å­˜å‚¨åœ¨Neo4j中而ä¸æ˜¯å…³ç³»åž‹æ•°æ®åº“中。
+
\subsection{åŽç«¯æŠ€æœ¯}
本系统使用Flask框架作为网站åŽç«¯æ¡†æž¶ã€‚Flask是一个Python编写的轻é‡çº§å¾®æ¡†æž¶ã€‚它具有轻é‡ã€ä¾¿æ·ã€å¯æ‰©å±•ç­‰ç‰¹ç‚¹ã€‚系统使用Flask框架充分利用了其便æ·ã€å¯æ‰©å±•ä»¥åŠå¼€å‘便æ·çš„特点,与本系统è¦æ±‚相符。
@@ -176,7 +177,7 @@ Neo4j是一个具有高性能的图数æ®åº“,它将结构化的数æ®ä¿¡æ¯å‚¨
\label{ch:offline-recommendation}
\section{涟漪网络}
\subsection{架构}
-涟漪网络的总体架构如图~\ref{fig:ripplenet-framework}所示,图上方的知识图谱中展示了由用户交互产生的涟漪。涟漪网络以一个用户$u$和一个电影$v$作为输入,并输出用户$u$与电影$v$之间产生交互的概率。对输入用户$u$而言,其历å²äº¤äº’记录$V_u$是知识图谱中的ç§å­é›†ï¼Œè€ŒåŽæ²¿ç€çŸ¥è¯†å›¾è°±ä¸­çš„关系边形æˆå¤šä¸ªæ¶Ÿæ¼ªé›†$S_u^{k}\ (k=1, 2, \dots, H)$。第k个涟漪集是ç§å­é›†$V_u$ç»è¿‡$k$跳得到的知识三元组。然åŽè¿­ä»£åœ°åˆ©ç”¨è¿™äº›æ¶Ÿæ¼ªé›†ä¸Žç”µå½±$v$的嵌入表示(黄色的å—)计算出用户$u$对电影$v$çš„çš„å“应(绿色的å—),最åŽç»“åˆå¾—到用户的最终嵌入表示(ç°è‰²çš„å—)。最终,利用用户$u$与电影$v$的嵌入表示计算出用户$u$对电影$v$感兴趣的预测概率$y_{uv}$。
+涟漪网络的总体架构如图\ref{fig:ripplenet-framework}所示,图上方的知识图谱中展示了由用户交互产生的涟漪。涟漪网络以一个用户$u$和一个电影$v$作为输入,并输出用户$u$与电影$v$之间产生交互的概率。对输入用户$u$而言,其历å²äº¤äº’记录$V_u$是知识图谱中的ç§å­é›†ï¼Œè€ŒåŽæ²¿ç€çŸ¥è¯†å›¾è°±ä¸­çš„关系边形æˆå¤šä¸ªæ¶Ÿæ¼ªé›†$S_u^{k}\ (k=1, 2, \dots, H)$。第k个涟漪集是ç§å­é›†$V_u$ç»è¿‡$k$跳得到的知识三元组。然åŽè¿­ä»£åœ°åˆ©ç”¨è¿™äº›æ¶Ÿæ¼ªé›†ä¸Žç”µå½±$v$的嵌入表示(黄色的å—)计算出用户$u$对电影$v$çš„çš„å“应(绿色的å—),最åŽç»“åˆå¾—到用户的最终嵌入表示(ç°è‰²çš„å—)。最终,利用用户$u$与电影$v$的嵌入表示计算出用户$u$对电影$v$感兴趣的预测概率$y_{uv}$。
\begin{figure}
\includegraphics[width=\textwidth]{ripplenet-framework}
\bicaption{涟漪网络的总体架构}{The overall framework of the Ripple Network}\label{fig:ripplenet-framework}
@@ -186,7 +187,7 @@ Neo4j是一个具有高性能的图数æ®åº“,它将结构化的数æ®ä¿¡æ¯å‚¨
\includegraphics[width=\textwidth]{illustration-of-ripple-sets}
\bicaption{电影知识图谱中由“阿甘正传â€æ¿€å‘的涟漪集}{Sets of ripples of “Forest Gump†in Knowledge Graph of movies}\label{fig:illustration-of-ripple-sets}
\end{figure}
-知识图谱常常å«æœ‰ä¸°å¯Œçš„事实信æ¯ä¸Žå®žä½“é—´çš„è”系。比如,图~\ref{fig:illustration-of-ripple-sets}(图中ä¸åŒé¢œè‰²çš„圆圈表示ä¸åŒè·³æ•°çš„涟漪集,越浅的è“色代表ç§å­é›†ä¸Žè¯¥åŒºåŸŸå†…实体的关è”程度越低)中电影“阿甘正传â€ä¸Žâ€œç½—伯特·泽米å‰æ–¯â€ç›¸è¿žï¼Œå®ƒä»¬ä¹‹é—´çš„è”系为“罗伯特·泽米å‰æ–¯â€æ˜¯ç”µå½±â€œé˜¿ç”˜æ­£ä¼ â€çš„导演。而“回到未æ¥â€ä¹Ÿä¸Žâ€œç½—伯特·泽米å‰æ–¯â€ç›¸è¿žã€‚因此,如果一个用户与电影“阿甘正传â€äº¤äº’过,则他很有å¯èƒ½ä¹Ÿå¯¹â€œå›žåˆ°æœªæ¥â€æ„Ÿå…´è¶£ã€‚为了æ述用户在知识图谱中分层次的潜在å好集,递归定义用户$u$çš„$k$跳相关实体如下:
+知识图谱常常å«æœ‰ä¸°å¯Œçš„事实信æ¯ä¸Žå®žä½“é—´çš„è”系。比如,图\ref{fig:illustration-of-ripple-sets}(图中ä¸åŒé¢œè‰²çš„圆圈表示ä¸åŒè·³æ•°çš„涟漪集,越浅的è“色代表ç§å­é›†ä¸Žè¯¥åŒºåŸŸå†…实体的关è”程度越低)中电影“阿甘正传â€ä¸Žâ€œç½—伯特·泽米å‰æ–¯â€ç›¸è¿žï¼Œå®ƒä»¬ä¹‹é—´çš„è”系为“罗伯特·泽米å‰æ–¯â€æ˜¯ç”µå½±â€œé˜¿ç”˜æ­£ä¼ â€çš„导演。而“回到未æ¥â€ä¹Ÿä¸Žâ€œç½—伯特·泽米å‰æ–¯â€ç›¸è¿žã€‚因此,如果一个用户与电影“阿甘正传â€äº¤äº’过,则他很有å¯èƒ½ä¹Ÿå¯¹â€œå›žåˆ°æœªæ¥â€æ„Ÿå…´è¶£ã€‚为了æ述用户在知识图谱中分层次的潜在å好集,递归定义用户$u$çš„$k$跳相关实体如下:
\textbf{定义1(相关实体集) } 给定交互矩阵$\Upsilon$与知识图谱$G$,则用户$u$çš„$k$跳相关实体集的定义为å¼\eqref{relevant-entities}。
@@ -204,7 +205,7 @@ Neo4j是一个具有高性能的图数æ®åº“,它将结构化的数æ®ä¿¡æ¯å‚¨
S_u^k = \{(h, r, t)|(h, r, t)\in G \text{且} h\in E^{k-1}_u\}, k = 1, 2, \dots, H\label{ripple-set}
\end{equation}
-“涟漪â€è¿™ä¸ªè¯æœ‰ä¸¤é‡æ„æ€ï¼šï¼ˆ1)对由多个雨点产生的真实涟漪的模拟,用户对电影的潜在兴趣集在知识图谱中由近åŠè¿œåœ°ä¼ é€’。这一过程如图~\ref{fig:illustration-of-ripple-sets}所示。(2)用户的潜在兴趣éšç€çŸ¥è¯†å›¾è°±ä¸­ä¼ é€’的跳数$k$的增大é€æ¸é€’å‡ã€‚图~\ref{fig:illustration-of-ripple-sets}中è“色的å˜æµ…显示了潜在兴趣递å‡çš„过程。
+“涟漪â€è¿™ä¸ªè¯æœ‰ä¸¤é‡æ„æ€ï¼šï¼ˆ1)对由多个雨点产生的真实涟漪的模拟,用户对电影的潜在兴趣集在知识图谱中由近åŠè¿œåœ°ä¼ é€’。这一过程如图\ref{fig:illustration-of-ripple-sets}所示。(2)用户的潜在兴趣éšç€çŸ¥è¯†å›¾è°±ä¸­ä¼ é€’的跳数$k$的增大é€æ¸é€’å‡ã€‚图\ref{fig:illustration-of-ripple-sets}中è“色的å˜æµ…显示了潜在兴趣递å‡çš„过程。
一个å¯èƒ½å‡ºçŽ°çš„问题是在跳数$k$增加的过程中涟漪集的大å°å¯èƒ½è¿‡å¤§ã€‚为了解决这个问题,注æ„到:
@@ -219,7 +220,7 @@ Neo4j是一个具有高性能的图数æ®åº“,它将结构化的数æ®ä¿¡æ¯å‚¨
\label{sec:osum}
传统的ååŒè¿‡æ»¤ç®—法是通过学习用户与物å“间的潜在è”ç³»æ¥å®ŒæˆæŽ¨è,而在涟漪网络算法中,这一过程是通过å好扩散完æˆçš„:对æ¯ä¸ªç”¨æˆ·ï¼Œæ¶Ÿæ¼ªç½‘络将他的过往兴趣视为知识图谱中的ç§å­é›†ï¼Œç„¶åŽæ²¿çŸ¥è¯†å›¾è°±ä¸­çš„路径ä¸æ–­åœ°æ‹“展用户的潜在兴趣集,进而得到按等级划分的关于候选物å“的潜在兴趣集。我们利用现实生活中的由雨滴产生的涟漪在水é¢ä¸Šæ‰©æ•£æ¥æ¨¡æ‹Ÿå好扩散的过程,其中多个“涟漪â€é‡å å½¢æˆåŸºäºŽçŸ¥è¯†å›¾è°±çš„用户å好分布。
-如图~\ref{fig:ripplenet-framework},æ¯éƒ¨ç”µå½±éƒ½æœ‰ä¸€ä¸ªåµŒå…¥è¡¨ç¤º$v$,$v\in \mathbb{R}^{d}$,其中$\mathbb{R}$是实数集,$d$是嵌入表示å‘é‡çš„维数。给定电影的嵌入表示$v$以åŠç”¨æˆ·$1$跳涟漪集$S_u^{1}$,å¯ä»¥åˆ©ç”¨ç”µå½±$v$ã€$S_u^{1}$中的三元组中头节点$head_i$以åŠè¯¥ä¸‰å…ƒç»„中的关系$r_i$æ¥è®¡ç®—出电影$v$和实体$head_i$之间的相关度,如å¼\eqref{eq:item-entity-relevance}所示。
+如图\ref{fig:ripplenet-framework},æ¯éƒ¨ç”µå½±éƒ½æœ‰ä¸€ä¸ªåµŒå…¥è¡¨ç¤º$v$,$v\in \mathbb{R}^{d}$,其中$\mathbb{R}$是实数集,$d$是嵌入表示å‘é‡çš„维数。给定电影的嵌入表示$v$以åŠç”¨æˆ·$1$跳涟漪集$S_u^{1}$,å¯ä»¥åˆ©ç”¨ç”µå½±$v$ã€$S_u^{1}$中的三元组中头节点$head_i$以åŠè¯¥ä¸‰å…ƒç»„中的关系$r_i$æ¥è®¡ç®—出电影$v$和实体$head_i$之间的相关度,如å¼\eqref{eq:item-entity-relevance}所示。
\begin{equation}
p_i=softmax(v^TR_ih_i)=\frac{exp(v^TR_ih_i)}{\sum_{(h, r, t)\in S_u^1} exp(v^TRh)}\label{eq:item-entity-relevance}
@@ -292,9 +293,9 @@ Neo4j是一个具有高性能的图数æ®åº“,它将结构化的数æ®ä¿¡æ¯å‚¨
直接求解上å¼æ¥å¾—到å‚æ•°$\Gamma$是ä¸å¯èƒ½çš„,因此å¯ä»¥ä½¿ç”¨éšæœºæ¢¯åº¦ä¸‹é™ç®—法递归地优化æŸå¤±å‡½æ•°æ¥æ±‚解模型å‚数,而åŽå†è®¡ç®—å‚æ•°$\Gamma$çš„æŸå¤±å‡½æ•°çš„梯度,并根æ®é‡‡æ ·å¾—到的一å°æ‰¹æ•°æ®åå‘传递,然åŽæ›´æ–°å‚数并最终得到å‚æ•°$\Gamma$。
\section{分æž}
\subsection{å¯è§£é‡Šæ€§}
-å¯è§£é‡Šçš„推è系统旨在é˜é‡Šä¸ºä»€ä¹ˆç”¨æˆ·ä¼šå¯¹ä¸€ä»¶ç‰©å“感兴趣,这帮助æå‡ç”¨æˆ·å¯¹æŽ¨è结果的满æ„度以åŠå¯¹æŽ¨è系统的信任。对推è结果的解释通常基于标签ã€è¯­ä¹‰åˆ†æžç­‰ã€‚因为涟漪网络探索用户基于知识图谱的兴趣,因此它æ供了一ç§åŸºäºŽçŸ¥è¯†å›¾è°±ä¸­çš„关系路径æ¥é˜è¿°æŽ¨è结果的全新方å¼ã€‚比如,在图~\ref{fig:illustration-of-ripple-sets}中,当用户对“幸ç¦ç»ˆç‚¹ç«™â€æ„Ÿå…´è¶£ï¼Œåˆ™è¯¥ç”¨æˆ·ä¹Ÿå¯èƒ½å¯¹â€œè’岛余生â€æ„Ÿå…´è¶£ã€‚因为在知识图谱中,“汤姆·汉克斯â€ä¸Žâ€œå¹¸ç¦ç»ˆç‚¹ç«™â€ç›¸è¿žï¼Œå…³ç³»æ˜¯æ¼”员,而“汤姆·汉克斯â€ä¸Žâ€œè’岛余生â€ä¹Ÿç›¸è¿žï¼Œå…³ç³»ä¹Ÿæ˜¯æ¼”员,æ¢å¥è¯è¯´ï¼Œâ€œè’岛余生â€ä¸Žâ€œå¹¸ç¦ç»ˆç‚¹ç«™â€æœ‰ç›¸åŒçš„演员。这便解释了用户对“幸ç¦ç»ˆç‚¹ç«™â€å’Œâ€œè’岛余生â€åŒæ—¶æ„Ÿå…´è¶£çš„原因。涟漪网络算法通过在知识图谱中寻找与用户交互过的电影(ç§å­é›†ï¼‰ç›¸è¿žçš„物å“,并ä¸æ–­æ‰©æ•£ï¼Œæœ€ç»ˆç¡®ä¿æŽ¨è结果具有较高的准确性。
+å¯è§£é‡Šçš„推è系统旨在é˜é‡Šä¸ºä»€ä¹ˆç”¨æˆ·ä¼šå¯¹ä¸€ä»¶ç‰©å“感兴趣,这帮助æå‡ç”¨æˆ·å¯¹æŽ¨è结果的满æ„度以åŠå¯¹æŽ¨è系统的信任。对推è结果的解释通常基于标签ã€è¯­ä¹‰åˆ†æžç­‰ã€‚因为涟漪网络探索用户基于知识图谱的兴趣,因此它æ供了一ç§åŸºäºŽçŸ¥è¯†å›¾è°±ä¸­çš„关系路径æ¥é˜è¿°æŽ¨è结果的全新方å¼ã€‚比如,在图\ref{fig:illustration-of-ripple-sets}中,当用户对“幸ç¦ç»ˆç‚¹ç«™â€æ„Ÿå…´è¶£ï¼Œåˆ™è¯¥ç”¨æˆ·ä¹Ÿå¯èƒ½å¯¹â€œè’岛余生â€æ„Ÿå…´è¶£ã€‚因为在知识图谱中,“汤姆·汉克斯â€ä¸Žâ€œå¹¸ç¦ç»ˆç‚¹ç«™â€ç›¸è¿žï¼Œå…³ç³»æ˜¯æ¼”员,而“汤姆·汉克斯â€ä¸Žâ€œè’岛余生â€ä¹Ÿç›¸è¿žï¼Œå…³ç³»ä¹Ÿæ˜¯æ¼”员,æ¢å¥è¯è¯´ï¼Œâ€œè’岛余生â€ä¸Žâ€œå¹¸ç¦ç»ˆç‚¹ç«™â€æœ‰ç›¸åŒçš„演员。这便解释了用户对“幸ç¦ç»ˆç‚¹ç«™â€å’Œâ€œè’岛余生â€åŒæ—¶æ„Ÿå…´è¶£çš„原因。涟漪网络算法通过在知识图谱中寻找与用户交互过的电影(ç§å­é›†ï¼‰ç›¸è¿žçš„物å“,并ä¸æ–­æ‰©æ•£ï¼Œæœ€ç»ˆç¡®ä¿æŽ¨è结果具有较高的准确性。
\subsection{涟漪é‡å }
-在涟漪网络中,一个å¯èƒ½çš„问题是涟漪集中的电影éžå¸¸å¤šï¼Œä»Žè€Œåœ¨å好传递的过程中ä¸å¯é¿å…地导致用户的真实潜在å好信æ¯è¢«ç¨€é‡Šã€‚然而,用户点击记录中ä¸åŒçš„电影常常高度é‡å ï¼ˆä»Žç§å­é›†å‡ºå‘到达一部电影常常有ä¸æ­¢ä¸€æ¡è·¯å¾„),这在很大程度上é¿å…了真实潜在å好信æ¯è¢«ç¨€é‡Šçš„问题。比如,在图~\ref{fig:illustration-of-ripple-sets}中,如果一个用户喜欢“阿甘正传â€ï¼Œåˆ™ä»–也å¯èƒ½å–œæ¬¢â€œè’岛余生â€ã€‚在该知识图谱中,从“阿甘正传â€åˆ°â€œè’岛余生â€æœ‰ä¸¤æ¡è·¯å¾„:“阿甘正传-U.S.-è’岛余生â€ä¸Žâ€œé˜¿ç”˜æ­£ä¼ -汤姆·汉克斯-è’岛余生â€ï¼Œè¿™æ­£æ˜¯æ¶Ÿæ¼ªé‡å çš„表现。
+在涟漪网络中,一个å¯èƒ½çš„问题是涟漪集中的电影éžå¸¸å¤šï¼Œä»Žè€Œåœ¨å好传递的过程中ä¸å¯é¿å…地导致用户的真实潜在å好信æ¯è¢«ç¨€é‡Šã€‚然而,用户点击记录中ä¸åŒçš„电影常常高度é‡å ï¼ˆä»Žç§å­é›†å‡ºå‘到达一部电影常常有ä¸æ­¢ä¸€æ¡è·¯å¾„),这在很大程度上é¿å…了真实潜在å好信æ¯è¢«ç¨€é‡Šçš„问题。比如,在图\ref{fig:illustration-of-ripple-sets}中,如果一个用户喜欢“阿甘正传â€ï¼Œåˆ™ä»–也å¯èƒ½å–œæ¬¢â€œè’岛余生â€ã€‚在该知识图谱中,从“阿甘正传â€åˆ°â€œè’岛余生â€æœ‰ä¸¤æ¡è·¯å¾„:“阿甘正传-U.S.-è’岛余生â€ä¸Žâ€œé˜¿ç”˜æ­£ä¼ -汤姆·汉克斯-è’岛余生â€ï¼Œè¿™æ­£æ˜¯æ¶Ÿæ¼ªé‡å çš„表现。
\section{测试}
\subsection{æ•°æ®é›†}
本测试使用“MovieLens 1M Datasetâ€æ•°æ®é›†ã€‚该数æ®é›†ç”±ç”µå½±ä¿¡æ¯ã€ç”¨æˆ·ä¿¡æ¯ä»¥åŠç”¨æˆ·å¯¹ç”µå½±çš„评分三部分组æˆã€‚其中,å«æœ‰ç”µå½±æ•°æ®3883æ¡ã€ç”¨æˆ·æ•°æ®6040æ¡ä»¥åŠ1000209æ¡ç”¨æˆ·å¯¹ç”µå½±çš„评分数æ®ã€‚因该数æ®é›†æ•°æ®é‡é€‚中,数æ®å‡†ç¡®å¯é ï¼Œå› æ­¤åœ¨æŽ¨è系统的性能测试中被广泛使用。
@@ -305,7 +306,7 @@ Neo4j是一个具有高性能的图数æ®åº“,它将结构化的数æ®ä¿¡æ¯å‚¨
DKN\cite{wang2018dkn}是由微软团队在WWW2018会议上å‘表的。它是一个主è¦é’ˆå¯¹æ–°é—»ä»»åŠ¡æ出的框架,知识图谱用于辅助计算新闻标题的嵌入表示。DKNæ出对新闻标题内æ¯ä¸€ä¸ªå…³é”®å®žä½“,在知识图谱内找到其实体嵌入和上下文嵌入。
-CKE\cite{zhang2016collaborative}是微软在KDD2016å¹´å‘表的,其模型结构在原有系统过滤得到 $U$,$V$å‘é‡çš„基础上,将物å“的嵌入与其他æè¿°ä¿¡æ¯ç›¸ç»“åˆï¼Œè¿™äº›ä¿¡æ¯ä¸»è¦æœ‰:
+CKE\cite{zhang2016collaborative}是微软在KDD2016å¹´å‘表的,其模型结构在原有系统过滤得到$U$,$V$å‘é‡çš„基础上,将物å“的嵌入与其他æè¿°ä¿¡æ¯ç›¸ç»“åˆï¼Œè¿™äº›ä¿¡æ¯ä¸»è¦æœ‰:
采用TransR算法计算知识图谱嵌入表示,知识图谱内æ¯ä¸ªå®žä½“嵌入表示被æå–为物å“的结构化å‘é‡ä¿¡æ¯ã€‚
采用SDAE模型得到物å“æ述性文本的文本性嵌入表示。
采用SCAE模型得到物å“相关图åƒçš„视觉嵌入表示。
@@ -320,7 +321,7 @@ Wide\&Deep\cite{cheng2016wide}是一个结åˆçº¿æ€§è·¯å¾„的推è模型。类ä¼
\subsection{测试步骤}
在涟漪网络中,设置跳数$H=2$。根æ®å®žéªŒç»“果,较大的跳数几乎无法æ高性能å´ä¼šé€ æˆè¾ƒå¤§çš„计算开销。我们将数æ®åˆ’分为训练集ã€è¯„估集与测试集,按照6:2:2的比例进行分é…。实验进行5次,计算准确度以åŠAUC然åŽå–å¹³å‡å€¼ã€‚
\subsection{结果}
-测试结果如表~\ref{tab:acc-auc}中所示,总体上涟漪网络算法的性能最佳,其次是Wide\&Deep算法,说明他们å¯ä»¥å……分利用知识图谱中的有效信æ¯æ¥è¾…助推è算法。而表现最差的是PER算法,这å¯èƒ½æ˜¯å› ä¸ºæ‰‹å·¥å®šä¹‰çš„元路径在电影推èæ–¹é¢æ•ˆæžœè¾ƒå·®ã€‚
+测试结果如表\ref{tab:acc-auc}中所示,总体上涟漪网络算法的性能最佳,其次是Wide\&Deep算法,说明他们å¯ä»¥å……分利用知识图谱中的有效信æ¯æ¥è¾…助推è算法。而表现最差的是PER算法,这å¯èƒ½æ˜¯å› ä¸ºæ‰‹å·¥å®šä¹‰çš„元路径在电影推èæ–¹é¢æ•ˆæžœè¾ƒå·®ã€‚
\begin{table}
\bicaption{在兴趣预测计算中的AUC和准确度}{AUC and ACC in interest prediction}\label{tab:acc-auc}
\begin{tabular}{lcl}
@@ -404,14 +405,14 @@ Wide\&Deep\cite{cheng2016wide}是一个结åˆçº¿æ€§è·¯å¾„的推è模型。类ä¼
}
\end{verbatim}
-Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“æž„å¯è¡¨ç¤ºä¸ºï¼š
+Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,å«æœ‰182011个结点ã€1241995æ¡è¾¹ï¼Œå…¶æ•°æ®ç»“æž„å¯è¡¨ç¤ºä¸ºï¼š
\begin{verbatim}
- node: actor | country | director | film | genre | language
- | person_or_entity_appearing_in_film | rating | star
+ node: actor | country | director | film | genre | language
+ | person_or_entity_appearing_in_film | rating | star
| writer
relationship: actor.film | director.film | film.country
- film.director | film.genre | film.language | film.rating
- film.star | film.writer | genre.film
+ | film.director | film.genre | film.language | film.rating
+ | film.star | film.writer | genre.film
| person_or_entity_appearing_in_film.film | writer.film
edge = (node) - [relationship] -> (node)
\end{verbatim}
@@ -420,9 +421,9 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\includegraphics{use-case}
\bicaption{系统功能用例图}{Use case diagram for the system }\label{fig:use-case}
\end{figure}
-本系统用户角色分为未登录用户ã€æ™®é€šç”¨æˆ·ä¸Žç®¡ç†å‘˜ç”¨æˆ·ï¼Œå…¶ç”¨ä¾‹è¯´æ˜Žå¦‚图~\ref{fig:use-case}。
+本系统用户角色分为未登录用户ã€æ™®é€šç”¨æˆ·ä¸Žç®¡ç†å‘˜ç”¨æˆ·ï¼Œå…¶ç”¨ä¾‹è¯´æ˜Žå¦‚图\ref{fig:use-case}。
\subsection{系统导航}
-本系统使用浮动侧边æ ä½œä¸ºå¯¼èˆªæ–¹å¼ï¼Œå¦‚图~\ref{fig:admin-navigation}。点击侧导航æ å³ä¸‹è§’的固定的按钮å¯ä»¥å°†æµ®åŠ¨ä¾§è¾¹æ è®¾ä¸ºå›ºå®šï¼Œå†æ¬¡ç‚¹å‡»åŽå°†å–消固定。
+本系统使用浮动侧边æ ä½œä¸ºå¯¼èˆªæ–¹å¼ï¼Œå¦‚图\ref{fig:admin-navigation}。点击侧导航æ å³ä¸‹è§’的固定的按钮å¯ä»¥å°†æµ®åŠ¨ä¾§è¾¹æ è®¾ä¸ºå›ºå®šï¼Œå†æ¬¡ç‚¹å‡»åŽå°†å–消固定。
\begin{figure}
\fbox{\includegraphics[width=.94\textwidth]{admin-navigation}}
\bicaption{系统侧导航æ ï¼ˆç®¡ç†å‘˜ï¼‰}{Side navigation panel of the system (for administrators)}\label{fig:admin-navigation}
@@ -433,7 +434,7 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\noindent (1)接收éšæœºçš„电影推è
-未登录用户首页éšæœºæ˜¾ç¤º50部电影,如图~\ref{fig:anonymous-index}。
+未登录用户首页éšæœºæ˜¾ç¤º50部电影,如图\ref{fig:anonymous-index}。
\begin{figure}
\fbox{\includegraphics[width=.94\textwidth]{anonymous-index}}
\bicaption{未登录用户首页}{Index page for anonymous user }\label{fig:anonymous-index}
@@ -441,7 +442,7 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\noindent (2)按分类查看电影
-未登录用户å¯ä»¥æ ¹æ®ç”µå½±çš„分类æ¥æŸ¥çœ‹ç”µå½±ï¼Œå¦‚图~\ref{fig:anonymous-category}。
+未登录用户å¯ä»¥æ ¹æ®ç”µå½±çš„分类æ¥æŸ¥çœ‹ç”µå½±ï¼Œå¦‚图\ref{fig:anonymous-category}。
\begin{figure}
\fbox{\includegraphics[width=.94\textwidth]{anonymous-category}}
\bicaption{未登录用户分类页é¢}{Category page for anonymous user }\label{fig:anonymous-category}
@@ -449,7 +450,7 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\noindent (3)查看电影详情
-未登录用户å¯ä»¥æŸ¥çœ‹ç”µå½±è¯¦æƒ…,如图~\ref{fig:anonymous-details}。点击页é¢ä¸Šçš„“添加至心愿å•â€å’Œâ€œè´­ä¹°â€ä¼šè·³è½¬è‡³ç™»å½•ç•Œé¢ã€‚
+未登录用户å¯ä»¥æŸ¥çœ‹ç”µå½±è¯¦æƒ…,如图\ref{fig:anonymous-details}。点击页é¢ä¸Šçš„“添加至心愿å•â€å’Œâ€œè´­ä¹°â€ä¼šè·³è½¬è‡³ç™»å½•ç•Œé¢ã€‚
\begin{figure}
\fbox{\includegraphics[height=.7\textheight]{anonymous-details}}
\bicaption{未登录用户电影详情页é¢}{Movie details page for anonymous user }\label{fig:anonymous-details}
@@ -457,7 +458,7 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\noindent (4)æœç´¢ç”µå½±
-未登录用户å¯ä»¥åœ¨åº”用æ å³éƒ¨çš„æœç´¢æ¡†æœç´¢ç”µå½±ï¼Œå¦‚图~\ref{fig:anonymous-search}。本系统支æŒæ¨¡ç³Šæœç´¢ï¼Œä¸Žæ­¤åŒæ—¶ï¼Œéšç€ç”¨æˆ·æœç´¢å†…容的ä¸æ–­è¾“入,系统会在æœç´¢æ¡†ä¸‹æ–¹æ˜¾ç¤ºå€™é€‰çš„匹é…è¯æ¡ï¼Œæ–¹ä¾¿ç”¨æˆ·ç›´æŽ¥ç‚¹å‡»æŸ¥çœ‹ï¼Œæ­¤å¤–,用户也能通过回车跳转至完整的æœç´¢ç»“果页é¢ã€‚
+未登录用户å¯ä»¥åœ¨åº”用æ å³éƒ¨çš„æœç´¢æ¡†æœç´¢ç”µå½±ï¼Œå¦‚图\ref{fig:anonymous-search}。本系统支æŒæ¨¡ç³Šæœç´¢ï¼Œä¸Žæ­¤åŒæ—¶ï¼Œéšç€ç”¨æˆ·æœç´¢å†…容的ä¸æ–­è¾“入,系统会在æœç´¢æ¡†ä¸‹æ–¹æ˜¾ç¤ºå€™é€‰çš„匹é…è¯æ¡ï¼Œæ–¹ä¾¿ç”¨æˆ·ç›´æŽ¥ç‚¹å‡»æŸ¥çœ‹ï¼Œæ­¤å¤–,用户也能通过回车跳转至完整的æœç´¢ç»“果页é¢ã€‚
\begin{figure}
\fbox{\includegraphics[width=.94\textwidth]{anonymous-search}}
\bicaption{未登录用户电影æœç´¢ç•Œé¢ï¼ˆä¾§å¯¼èˆªæ å·²å›ºå®šï¼‰}{Movie search page for anonymous user (side navigation panel pinned)}\label{fig:anonymous-search}
@@ -483,7 +484,7 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\noindent (3)评分
-已登录用户能在电影详情页é¢ç»™ç”µå½±è¯„分。电影评分功能ä½äºŽç”µå½±è¯¦æƒ…页é¢ï¼Œå¦‚图~\ref{fig:general-details}所示。
+已登录用户能在电影详情页é¢ç»™ç”µå½±è¯„分。电影评分功能ä½äºŽç”µå½±è¯¦æƒ…页é¢ï¼Œå¦‚图\ref{fig:general-details}所示。
\begin{figure}
\fbox{\includegraphics[width=.94\textwidth]{general-details}}
@@ -500,7 +501,7 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\subsection{管ç†å‘˜ç”¨æˆ·}
\noindent (1)管ç†ç”µå½±ä¿¡æ¯
-管ç†å‘˜èƒ½å¢žåŠ ç”µå½±ã€åˆ é™¤ç”µå½±ä¸Žä¿®æ”¹ç”µå½±ä¿¡æ¯ï¼Œå¦‚图~\ref{fig:admin-movie}所示。
+管ç†å‘˜èƒ½å¢žåŠ ç”µå½±ã€åˆ é™¤ç”µå½±ä¸Žä¿®æ”¹ç”µå½±ä¿¡æ¯ï¼Œå¦‚图\ref{fig:admin-movie}所示。
\begin{figure}
\fbox{\includegraphics[width=.94\textwidth]{admin-movie}}
\bicaption{管ç†ç”µå½±é¡µé¢}{Movie administration page}\label{fig:admin-movie}
@@ -512,20 +513,21 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\noindent (3)管ç†çŸ¥è¯†å›¾è°±
-管ç†å‘˜èƒ½å¢žåŠ ã€åˆ é™¤ã€ä¿®æ”¹ä»¥åŠæŸ¥æ‰¾çŸ¥è¯†å›¾è°±ä¸­çš„结点与关系,如图~\ref{fig:admin-knowledge-graph}所示。该界é¢ä¸­çš„结点åŠå…³ç³»å¯ä»¥ä»¥åŠ¨æ€çš„æ–¹å¼å‘ˆçŽ°ï¼ŒåŒæ—¶æ”¯æŒä»¥å¡«å†™é€‰é¡¹çš„æ–¹å¼ä»¥åŠä½¿ç”¨Cypher语å¥çš„æ–¹å¼æ¥å¢žåŠ ã€åˆ é™¤ã€ä¿®æ”¹ä»¥åŠæŸ¥æ‰¾çŸ¥è¯†å›¾è°±ä¸­çš„结点与关系。当鼠标悬浮于æŸä¸€èŠ‚点或关系之上时,将显示有关这一节点或关系的有关信æ¯ã€‚
+管ç†å‘˜èƒ½å¢žåŠ ã€åˆ é™¤ã€ä¿®æ”¹ä»¥åŠæŸ¥æ‰¾çŸ¥è¯†å›¾è°±ä¸­çš„结点与关系,如图\ref{fig:admin-knowledge-graph}所示。该界é¢ä¸­çš„结点åŠå…³ç³»å¯ä»¥ä»¥åŠ¨æ€çš„æ–¹å¼å‘ˆçŽ°ï¼ŒåŒæ—¶æ”¯æŒä»¥å¡«å†™é€‰é¡¹çš„æ–¹å¼ä»¥åŠä½¿ç”¨Cypher语å¥çš„æ–¹å¼æ¥å¢žåŠ ã€åˆ é™¤ã€ä¿®æ”¹ä»¥åŠæŸ¥æ‰¾çŸ¥è¯†å›¾è°±ä¸­çš„结点与关系。当鼠标悬浮于æŸä¸€èŠ‚点或关系之上时,将显示有关这一节点或关系的有关信æ¯ã€‚
\begin{figure}
\fbox{\includegraphics[width=.94\textwidth]{admin-knowledge-graph}}
\bicaption{管ç†çŸ¥è¯†å›¾è°±é¡µé¢}{Knowledge graph administration page}\label{fig:admin-knowledge-graph}
\end{figure}
\section{电影推èæµç¨‹}
-本系统的推èæµç¨‹åˆ†ä¸ºç¦»çº¿æŽ¨è与实时推è,如图~\ref{fig:recommendation-procedure}所示。
+本系统的推èæµç¨‹åˆ†ä¸ºç¦»çº¿æŽ¨è与实时推è,如图\ref{fig:recommendation-procedure}所示。
\begin{figure}
\includegraphics{recommendation-procedure}
\bicaption{电影推èæµç¨‹}{Movie recommendation procedure }\label{fig:recommendation-procedure}
\end{figure}
-其中,离线推è使用第\ref{ch:offline-recommendation}章中所述的涟漪网络算法,而实时推è机制作为补充,æ述如下:
+其中,离线推è使用第\ref{ch:offline-recommendation}章所述的涟漪网络算法,此算法是基于文献\parencite{wang2018ripplenet}实现的。ä¸åŒäºŽæ–‡çŒ®\parencite{wang2018ripplenet}中仅使用用户评分计算用户å好,本推è系统在用户å好的计算过程中还结åˆäº†ç”¨æˆ·æ”¶è—,这在一定程度上缓解了冷å¯åŠ¨é—®é¢˜å¹¶æ”¹è¿›äº†æŽ¨è性能。
+此外,本推è系统还结åˆäº†å®žæ—¶æŽ¨è机制作为补充,æ述如下:
(1)离线推èæœåŠ¡å™¨å®šæœŸè¿è¡Œæ¶Ÿæ¼ªç½‘络算法。离线推èæœåŠ¡å™¨ä»ŽMongoDBæ•°æ®åº“æœåŠ¡å™¨èŽ·å–用户信æ¯ä¸Žç”µå½±è¯„分ã€ç”µå½±æ˜¯å¦åŠ å…¥å¿ƒæ„¿å•ç­‰æ•°æ®ä»¥åŠä»ŽNeo4jæ•°æ®åº“æœåŠ¡å™¨èŽ·å–知识图谱数æ®ä¿¡æ¯ã€‚然åŽæ‰§è¡Œæ¶Ÿæ¼ªç½‘络算法。最åŽç¦»çº¿æŽ¨èæœåŠ¡å™¨å°†è®¡ç®—得到的å„用户推è列表存入MongoDBæ•°æ®åº“中,等待用户访问时将该结果推è给用户。
@@ -533,7 +535,7 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
上述步骤中,(1)中的离线推è准确度高,但算法è¿ç®—时间长,无法åšåˆ°å³æ—¶å“应用户请求。(2)中的实时推è方法准确度低,但算法è¿ç®—快,å¯ä»¥åšåˆ°å®žæ—¶å“应请求并å³æ—¶å‘出å“应。两者相互补充组æˆäº†æœ¬ç³»ç»Ÿçš„电影推è算法。
\section{系统安全性}
-本系统对已登录普通用户与管ç†å‘˜åœ¨å‰åŽç«¯äº¤äº’过程中使用JSON网络令牌(JSON Web Token, JWT)实现授æƒä¸Žè®¤è¯ï¼ˆAuthorization and Authentication),以此ä¿è¯ç³»ç»Ÿçš„安全性,本系统的总体安全性设计如图~\ref{fig:jwt}所示。
+本系统对已登录普通用户与管ç†å‘˜åœ¨å‰åŽç«¯äº¤äº’过程中使用JSON网络令牌(JSON Web Token, JWT)实现授æƒä¸Žè®¤è¯ï¼ˆAuthorization and Authentication),以此ä¿è¯ç³»ç»Ÿçš„安全性,本系统的总体安全性设计如图\ref{fig:jwt}所示。
\begin{figure}
\includegraphics{jwt}
@@ -555,7 +557,7 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
(1)使用基于Scrapy框架的爬虫从IMDb和豆瓣网上爬å–了3684æ¡ç”µå½±æ•°æ®ã€‚其中,从IMDb爬å–了3494æ¡ç”µå½±æ•°æ®ï¼Œä»Žè±†ç“£ç½‘爬å–了190æ¡ç”µå½±æ•°æ®ï¼ˆç”±äºŽè±†ç“£ç½‘é™åˆ¶äº†æ¯IP访问é‡æ•…爬å–çš„æ•°æ®è¾ƒå°‘)。这些电影数æ®åŒ…括电影å°é¢å›¾ç‰‡ã€ç”µå½±æƒ…节介ç»ã€ç”µå½±é¢„告片图片ã€ç”µå½±æ¼”员列表ã€å¯¼æ¼”以åŠå‰§æœ¬ä½œå®¶ç­‰ä¿¡æ¯ã€‚
-(2)根æ®æ–‡çŒ®\parencite{wang2018ripplenet}实现了基于知识图谱的涟漪网络推è算法,通过使用“MovieLens 1M Datasetâ€æ•°æ®é›†ä»¥åŠä»ŽIMDb和豆瓣网上爬å–的电影数æ®ï¼Œå®žçŽ°äº†åŸºäºŽç”¨æˆ·å¿ƒæ„¿å•å’Œç”¨æˆ·è¯„分并以知识图谱为辅助信æ¯çš„推è算法。并对实现的推è算法进行了试验,计算了其AUC和准确度两个关键的性能指标,将该指标与DKN\cite{wang2018dkn}ã€CKE\cite{zhang2016collaborative}ã€PER\cite{yu2014personalized}ã€SHINE\cite{wang2018shine}ã€LibFM\cite{rendle2012factorization}以åŠWide\&Deep\cite{cheng2016wide}算法的进行了对比。并以此å‘现,涟漪网络算法的性能最优。
+(2)根æ®æ–‡çŒ®\parencite{wang2018ripplenet}实现了基于知识图谱的涟漪网络推è算法,通过使用“MovieLens 1M Datasetâ€æ•°æ®é›†ä»¥åŠä»ŽIMDb和豆瓣网上爬å–的电影数æ®ï¼Œå®žçŽ°äº†åŸºäºŽç”¨æˆ·å¿ƒæ„¿å•å’Œç”¨æˆ·è¯„分并以知识图谱为辅助信æ¯çš„推è算法。ä¸åŒäºŽæ–‡çŒ®\parencite{wang2018ripplenet}中仅使用用户评分计算用户å好,本文在用户å好的计算过程中还结åˆäº†ç”¨æˆ·æ”¶è—,这在一定程度上缓解了冷å¯åŠ¨é—®é¢˜å¹¶æ”¹è¿›äº†æŽ¨è性能。并对实现的推è算法进行了实验,计算了其AUC和准确度两个关键的性能指标,将该指标与DKN\cite{wang2018dkn}ã€CKE\cite{zhang2016collaborative}ã€PER\cite{yu2014personalized}ã€SHINE\cite{wang2018shine}ã€LibFM\cite{rendle2012factorization}以åŠWide\&Deep\cite{cheng2016wide}算法的进行了对比。并以此å‘现,涟漪网络算法的性能最优。
(3)基于涟漪网络算法实现了基于知识图谱的电影推è系统。该系统为未登录用户æ供按分类查看电影ã€æŸ¥çœ‹ç”µå½±è¯¦æƒ…的功能;为普通用户æ供电影推èã€æŒ‰åˆ†ç±»æŸ¥çœ‹ç”µå½±ã€æŸ¥çœ‹ç”µå½±è¯¦æƒ…ã€ç”µå½±è¯„分ã€å°†ç”µå½±åŠ å…¥å¿ƒæ„¿å•ä»¥åŠè´­ä¹°ç”µå½±åŠŸèƒ½ï¼›ä¸ºç®¡ç†å‘˜æ供增加ã€åˆ é™¤ã€ä¿®æ”¹ã€æŸ¥æ‰¾ç”µå½±åŠç”¨æˆ·çš„功能。åŒæ—¶ä½¿ç”¨JSON网络令牌ã€HTTPS以åŠå“ˆå¸ŒåŒ–密ç ç­‰æ‰‹æ®µä¿éšœç³»ç»Ÿçš„安全性。
\section{工作展望}
@@ -567,6 +569,6 @@ Neo4jæ•°æ®åº“用于存储推è算法使用的知识图谱,其中的数æ®ç»“
\noindent (2)涟漪网络算法有待进一步改进
-涟漪网络算法目å‰ä»…适用于离线推è,而无法用于实时推è,这使它的适用场景å—到了é™åˆ¶ã€‚未æ¥å¯è€ƒè™‘改造该算法,使其能满足实时推è的需求。
+尽管涟漪网络算法相比于传统的推è算法在准确度上有所æå‡ï¼Œä½†æ¶Ÿæ¼ªç½‘络算法目å‰ä»…适用于离线推è,而无法用于实时推è,这使它的适用场景å—到了é™åˆ¶ã€‚未æ¥å¯è€ƒè™‘改造该算法,使其能满足实时推è的需求。
对于以上æåŠçš„问题,未æ¥è¿˜éœ€è¦æ›´æ·±å…¥åœ°å­¦ä¹ æœ‰å…³çŸ¥è¯†å›¾è°±ã€æŽ¨è算法ã€æ·±åº¦å­¦ä¹ çš„有关知识,对系统进行改进,从而使其更完善。
diff --git a/macros/latex/contrib/bjfuthesis/example/cover.pdf b/macros/latex/contrib/bjfuthesis/example/cover.pdf
index 6ab70639e4..ad03632921 100644
--- a/macros/latex/contrib/bjfuthesis/example/cover.pdf
+++ b/macros/latex/contrib/bjfuthesis/example/cover.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.png b/macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.png
index 9603818183..72deea5c06 100644
--- a/macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/admin-knowledge-graph.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png b/macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
index 938bb9f6f1..12b2c1a961 100644
--- a/macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.png b/macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.png
index 2f03defee7..ef2ef0d66c 100644
--- a/macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/admin-navigation.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
index 0e7e85fb23..947c99499d 100644
--- a/macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
index d493e7d33c..59778b77ed 100644
--- a/macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
index 51128da916..092a222810 100644
--- a/macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.png b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.png
index 003d373cc9..ff5de424a2 100644
--- a/macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-search.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/figures/general-details.png b/macros/latex/contrib/bjfuthesis/example/figures/general-details.png
index e462e58ebb..f099fc18bf 100644
--- a/macros/latex/contrib/bjfuthesis/example/figures/general-details.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/general-details.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/thesis.pdf b/macros/latex/contrib/bjfuthesis/example/thesis.pdf
index af8b072dc1..cb1aabbe44 100644
--- a/macros/latex/contrib/bjfuthesis/example/thesis.pdf
+++ b/macros/latex/contrib/bjfuthesis/example/thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/bmstu-iu8/LICENSE b/macros/latex/contrib/bmstu-iu8/LICENSE
deleted file mode 100644
index b9a8428a7d..0000000000
--- a/macros/latex/contrib/bmstu-iu8/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2021 CatInCosmicSpace/latex-template repo contributors
-
-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, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/macros/latex/contrib/bmstu-iu8/README.md b/macros/latex/contrib/bmstu-iu8/README.md
index 4fb70940ea..2520f3d40c 100644
--- a/macros/latex/contrib/bmstu-iu8/README.md
+++ b/macros/latex/contrib/bmstu-iu8/README.md
@@ -1,3 +1,13 @@
# IU8 package
-This package consist of class file and style files for writing reports at the IU8 department of IU faculty of BMSTU (Bauman Moscow State Technical University).
+This package consist of class file and style files for writing
+reports at the IU8 department of IU faculty of BMSTU
+(Bauman Moscow State Technical University).
+
+This class defines all headings, structure elements and other things
+in respect of russian standard GOST 7.32-2017. But there are
+correctives to be compatible with our local IU8 department
+requirements.
+
+The package and any later version of this package is published under the MIT
+license.
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf b/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
new file mode 100644
index 0000000000..05d3aa0669
--- /dev/null
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/bmstu-iu8/example.tex b/macros/latex/contrib/bmstu-iu8/bmstu-example.tex
index 0d2499d7bd..0d2499d7bd 100644
--- a/macros/latex/contrib/bmstu-iu8/example.tex
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-example.tex
diff --git a/macros/latex/contrib/bmstu-iu8/BMSTU-IU8.cls b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
index e3c4748c0d..63c4d910d9 100644
--- a/macros/latex/contrib/bmstu-iu8/BMSTU-IU8.cls
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
@@ -25,7 +25,6 @@
\RequirePackage[utf8]{inputenc}
\RequirePackage[russian]{babel}
\RequirePackage{hyphsubst}
-\RequirePackage{csquotes}
\RequirePackage{01-IU8-base}
\RequirePackage{02-IU8-construction}
@@ -50,4 +49,6 @@
\RequirePackage{21-IU8-math}
\RequirePackage{22-IU8-algorithms}
+\RequirePackage{csquotes}
+
\makeglossaries
diff --git a/macros/latex/contrib/bmstu-iu8/inc/bmstu.png b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/inc/bmstu.png
index 469c7d9797..469c7d9797 100644
--- a/macros/latex/contrib/bmstu-iu8/inc/bmstu.png
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/inc/bmstu.png
Binary files differ
diff --git a/macros/latex/contrib/bmstu-iu8/styles/01-IU8-base.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty
index 2ade498ef7..07b54647a3 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/01-IU8-base.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{01-IU8-base}[2021/03/21 v1.0 Общие требованиÑ]
+\ProvidesPackage{01-IU8-base}[2021/03/21 v1.1 Общие требованиÑ]
% 6.1.1 Изложение текÑта и оформление отчета выполнÑÑŽÑ‚ в ÑоответÑтвии Ñ
% требованиÑми наÑтоÑщего Ñтандарта. Страницы текÑта отчета о ÐИР и включенные в
@@ -15,6 +15,7 @@
% Цвет шрифта должен быть черным, размер шрифта - не менее 12 пт.
% Рекомендуемый тип шрифта Ð´Ð»Ñ Ð¾Ñновного текÑта отчета - Times New Roman.
+\RequirePackage{anyfontsize}
\RequirePackage[fontsize=14pt]{scrextend}
% Ðо у Times New Roman нет открытой реализации, так что будет Ñтандартный
% Или можете попробовать xelatex:
diff --git a/macros/latex/contrib/bmstu-iu8/styles/02-IU8-construction.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty
index ebf8957a62..a8cb987208 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/02-IU8-construction.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{02-IU8-construction}[2021/03/21 v1.0 ПоÑтроение отчета]
+\ProvidesPackage{02-IU8-construction}[2021/03/21 v1.1 ПоÑтроение отчета]
% 6.2.1 ÐÐ°Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтруктурных Ñлементов отчета:
% "СПИСОК ИСПОЛÐИТЕЛЕЙ", % у Ð½Ð°Ñ Ð½Ðµ иÑпользуетÑÑ
diff --git a/macros/latex/contrib/bmstu-iu8/styles/03-IU8-numbering.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty
index b9ebc5b699..2cfb8b4f82 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/03-IU8-numbering.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{03-IU8-numbering}[2021/03/21 v1.0 ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраниц отчета]
+\ProvidesPackage{03-IU8-numbering}[2021/03/21 v1.1 ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраниц отчета]
% 6.3.1 Страницы отчета Ñледует нумеровать арабÑкими цифрами, ÑÐ¾Ð±Ð»ÑŽÐ´Ð°Ñ Ñквозную
% нумерацию по вÑему текÑту отчета, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ. Ðомер Ñтраницы
diff --git a/macros/latex/contrib/bmstu-iu8/styles/04-IU8-section-numbering.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty
index de614468c4..efd706e2d1 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/04-IU8-section-numbering.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{04-IU8-section-numbering}[2021/03/21 v1.0 ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð², подразделов, пунктов, подпунктов и книг отчета]
+\ProvidesPackage{04-IU8-section-numbering}[2021/03/21 v1.1 ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð², подразделов, пунктов, подпунктов и книг отчета]
% 6.4.1 Разделы должны иметь порÑдковые номера в пределах вÑего отчета,
% обозначенные арабÑкими цифрами без точки и раÑположенные Ñ Ð°Ð±Ð·Ð°Ñ†Ð½Ð¾Ð³Ð¾ отÑтупа.
diff --git a/macros/latex/contrib/bmstu-iu8/styles/05-IU8-figures.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty
index c0f50267de..4875fdec8e 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/05-IU8-figures.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{05-IU8-figures}[2021/03/21 v1.0 ИллюÑтрации]
+\ProvidesPackage{05-IU8-figures}[2021/03/21 v1.1 ИллюÑтрации]
% 6.5.1 ИллюÑтрации (чертежи, графики, Ñхемы, компьютерные раÑпечатки, диаграммы,
% фотоÑнимки) Ñледует раÑполагать в отчете непоÑредÑтвенно поÑле текÑта отчета,
diff --git a/macros/latex/contrib/bmstu-iu8/styles/06-IU8-tables.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty
index fd08b71fb9..28ffc3cd97 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/06-IU8-tables.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{06-IU8-tables}[2021/03/21 v1.0 Таблицы]
+\ProvidesPackage{06-IU8-tables}[2021/03/21 v1.1 Таблицы]
% Пакеты, которые Ñкорее вÑего пригодÑÑ‚ÑÑ
\RequirePackage{tabularx}
diff --git a/macros/latex/contrib/bmstu-iu8/styles/07-IU8-footnotes.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty
index a485d0d0af..f7abd6cce9 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/07-IU8-footnotes.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{07-IU8-footnotes}[2021/03/21 v1.0 ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¸ ÑноÑки]
+\ProvidesPackage{07-IU8-footnotes}[2021/03/21 v1.1 ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¸ ÑноÑки]
% 6.7.1 ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð²Ð¾Ð´ÑÑ‚ в отчете, еÑли необходимы поÑÑÐ½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ñправочные
% данные к Ñодержанию текÑта, таблиц или графичеÑкого материала.
diff --git a/macros/latex/contrib/bmstu-iu8/styles/08-IU8-formulas.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty
index 5370ea82a6..26ec05640d 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/08-IU8-formulas.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty
@@ -1,5 +1,5 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{08-IU8-formulas}[2021/03/21 v1.0 Формулы]
+\ProvidesPackage{08-IU8-formulas}[2021/03/21 v1.1 Формулы]
% ÐаÑтройки по умолчанию в целом ÑоответÑтвуют ГОСТ \ No newline at end of file
diff --git a/macros/latex/contrib/bmstu-iu8/styles/09-IU8-cites.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty
index 8a42ee23f6..7343648925 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/09-IU8-cites.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{09-IU8-cites}[2021/03/21 v1.0 СÑылки]
+\ProvidesPackage{09-IU8-cites}[2021/03/21 v1.1 СÑылки]
% 6.9.1 Ð’ отчете о ÐИР рекомендуетÑÑ Ð¿Ñ€Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÑылки на иÑпользованные
% иÑточники. При нумерации ÑÑылок на документы, иÑпользованные при ÑоÑтавлении
diff --git a/macros/latex/contrib/bmstu-iu8/styles/10-IU8-titlepage.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty
index 1d1cc37751..2d52ce93e1 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/10-IU8-titlepage.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{10-IU8-titlepage}[2021/03/21 v1.0 Титульный лиÑÑ‚]
+\ProvidesPackage{10-IU8-titlepage}[2021/03/21 v1.1 Титульный лиÑÑ‚]
% ÐŸÐ¾Ð»Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð’ÐšÐ 
\def\student#1{\gdef\@student{#1}}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty
new file mode 100644
index 0000000000..5fab88f372
--- /dev/null
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty
@@ -0,0 +1,5 @@
+% Author: CatInCosmicSpace
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{11-IU8-performers}[2021/03/21 v1.1 СпиÑок иÑполниетелей]
+
+% Т.к. у Ð½Ð°Ñ Ñто не иÑпользуетÑÑ, Ñ Ð¾ÑтавлÑÑŽ Ñто пуÑтымы \ No newline at end of file
diff --git a/macros/latex/contrib/bmstu-iu8/styles/12-IU8-abstract.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty
index c674c5efac..ab068e8c49 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/12-IU8-abstract.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{12-IU8-abstract}[2021/03/21 v1.0 Реферат]
+\ProvidesPackage{12-IU8-abstract}[2021/03/21 v1.1 Реферат]
% 6.12.1 Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± общем объеме отчета, количеÑтве книг отчета, иллюÑтраций,
% таблиц, иÑпользованных иÑточников, приложений ÑвлÑÑŽÑ‚ÑÑ Ð¿ÐµÑ€Ð²Ð¾Ð¹ компонентой
@@ -17,7 +17,7 @@
\RequirePackage{lastpage}
\renewcommand{\abstract}{
- \structure*{РЕФЕРÐТ}
+ \structure{РЕФЕРÐТ}
Отчёт Ñодержит \pageref{LastPage} ÑÑ‚Ñ€.\ifnum
\TotalValue{totalfigures}>0, \TotalValue{totalfigures} риÑ.\fi\ifnum
diff --git a/macros/latex/contrib/bmstu-iu8/styles/13-IU8-contents.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty
index 4bba4deb7e..3fa1170610 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/13-IU8-contents.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{13-IU8-contents}[2021/03/21 v1.0 Содержание]
+\ProvidesPackage{13-IU8-contents}[2021/03/21 v1.1 Содержание]
% Каждую запиÑÑŒ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÑÑŽÑ‚ как отдельный абзац, выровненный влево.
% Ðомера Ñтраниц указывают выровненными по правому краю Ð¿Ð¾Ð»Ñ Ð¸ ÑоединÑÑŽÑ‚
diff --git a/macros/latex/contrib/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty
index ea679bd6c5..0d19fcc37d 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{14-IU8-terms-and-definitions}[2021/03/21 v1.0 Содержание]
+\ProvidesPackage{14-IU8-terms-and-definitions}[2021/03/21 v1.1 Содержание]
\RequirePackage[
acronym,
@@ -33,12 +33,3 @@
nonumberlist
]
}
-
-% \newglossarystyle{definitions}{%
-% \renewenvironment{theglossary}{}{}
-% \renewcommand*{\glossentry}[2]{
-% \noindent\glstarget{##1}{\glossentryname{##1}}~\textemdash~\glossentrydesc{##1}
-% \newline
-% }
-% \renewcommand*{\glsgroupskip}{}%
-% }
diff --git a/macros/latex/contrib/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty
index 8440aac950..2e7931ccb7 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{15-IU8-list-of-abbreviations}[2021/03/21 v1.0 Содержание]
+\ProvidesPackage{15-IU8-list-of-abbreviations}[2021/03/21 v1.1 Содержание]
\RequirePackage[abbreviations]{glossaries-extra}
diff --git a/macros/latex/contrib/bmstu-iu8/styles/16-IU8-references.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty
index 65c710c41f..6d441e098c 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/16-IU8-references.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{16-IU8-references}[2021/03/21 v1.0 СпиÑок иÑпользованных иÑточников]
+\ProvidesPackage{16-IU8-references}[2021/03/21 v1.1 СпиÑок иÑпользованных иÑточников]
% Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± иÑточниках Ñледует раÑполагать в порÑдке поÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑÑылок на
% иÑточники в текÑте отчета и нумеровать арабÑкими цифрами Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ и печатать
@@ -8,6 +8,7 @@
\usepackage[
backend=biber,
style=gost-numeric,
+ sorting=none,
% refsection=structure,
% sorting=ynt,
]{biblatex}
@@ -15,13 +16,3 @@
\addto{\captionsrussian}{%
\renewcommand{\contentsname}{СОДЕРЖÐÐИЕ}
}
-
-% \bibliographystyle{ugost2008}
-% \renewcommand{\@biblabel}[1]{#1.}
-
- % \usepackage{natbib}
-% \renewcommand\bibsection{%
-% \structure*{{\normalsize\underline{\refname}}\@mkboth{\MakeUppercase{\refname}}{\MakeUppercase{\refname}}}%
-% }%
-% \def\bibheading{bibliography}{\section*{Bibliography}}
-% \usepackage[nottoc,numbib]{tocbibind} \ No newline at end of file
diff --git a/macros/latex/contrib/bmstu-iu8/styles/17-IU8-appendices.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty
index 26f692b165..58556e4987 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/17-IU8-appendices.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{17-IU8-appendices}[2021/03/21 v1.0 ПриложениÑ]
+\ProvidesPackage{17-IU8-appendices}[2021/03/21 v1.1 ПриложениÑ]
\newcommand{\appendixsection}[1]{
\stepcounter{apps}
@@ -17,7 +17,9 @@
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{equation}{0}
+ \setcounter{lstlisting}{0}
\renewcommand\thefigure{\Asbuk{apps}.\arabic{figure}}
- \renewcommand\thetable{\Asbuk{apps}.\arabic{figure}}
- \renewcommand\theequation{\Asbuk{apps}.\arabic{figure}}
+ \renewcommand\thetable{\Asbuk{apps}.\arabic{table}}
+ \renewcommand\theequation{\Asbuk{apps}.\arabic{equation}}
+ \renewcommand\thelstlisting{\Asbuk{apps}.\arabic{lstlisting}}
}
diff --git a/macros/latex/contrib/bmstu-iu8/styles/18-IU8-extra.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty
index c456e8e8fd..6548337ceb 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/18-IU8-extra.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty
@@ -1,11 +1,9 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{18-IU8-extra}[2021/03/21 v1.0 Разные улучшениÑ]
+\ProvidesPackage{18-IU8-extra}[2021/03/21 v1.1 Разные улучшениÑ]
\RequirePackage{graphicx}
-\RequirePackage[none]{hyphenat} % Отключим переноÑÑ‹, так краÑивее
-
\RequirePackage[all, defaultlines=4]{nowidow} % Запрет "виÑÑчих" Ñлов
\sloppy % Запретить выход текÑта за полÑ
diff --git a/macros/latex/contrib/bmstu-iu8/styles/19-IU8-counters.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty
index 35253a1b2d..f0eb7762d1 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/19-IU8-counters.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{19-IU8-counters}[2021/03/21 v1.0 Счётчики]
+\ProvidesPackage{19-IU8-counters}[2021/03/21 v1.1 Счётчики]
\RequirePackage{calc}
\RequirePackage{xassoccnt}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty
new file mode 100644
index 0000000000..e0e7f96251
--- /dev/null
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty
@@ -0,0 +1,38 @@
+% Author: CatInCosmicSpace
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{20-IU8-listing}[2021/03/21 v1.1 ЛиÑтинги]
+
+\RequirePackage{listings}
+\RequirePackage{xcolor}
+
+% http://latexcolor.com/
+\definecolor{seashell}{rgb}{1.0, 0.96, 0.93}
+
+\lstdefinestyle{IU8}{
+ frame=single,
+ backgroundcolor=\color{seashell},
+ commentstyle=\color{blue},
+ keywordstyle=\color{magenta},
+ basicstyle=\ttfamily\footnotesize,
+ breakatwhitespace=false,
+ breaklines=true,
+ captionpos=tl,
+ keepspaces=false,
+ showspaces=false,
+ showstringspaces=false,
+ showtabs=false,
+ extendedchars=\true,
+ tabsize=2,
+}
+\lstset{style=IU8}
+
+\DeclareCaptionFormat{listing}{#1#2#3}
+\captionsetup[lstlisting]{
+ format=listing,
+ singlelinecheck=false,
+ labelsep=endash,
+}
+
+\newcommand{\listing}[2][]{%
+ \lstinputlisting[caption={\texttt{\detokenize{#2}}},#1]{#2}%
+}
diff --git a/macros/latex/contrib/bmstu-iu8/styles/21-IU8-math.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty
index 00b85e1c24..13b0e75ab1 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/21-IU8-math.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{21-IU8-math}[2021/03/21 v1.0 Математика]
+\ProvidesPackage{21-IU8-math}[2021/03/21 v1.1 Математика]
\RequirePackage{amsthm}
\theoremstyle{definition}
diff --git a/macros/latex/contrib/bmstu-iu8/styles/22-IU8-algorithms.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty
index e7ede15997..9733ec195e 100644
--- a/macros/latex/contrib/bmstu-iu8/styles/22-IU8-algorithms.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{22-IU8-algorithms}[2021/03/21 v1.0 Ðлгоритмы]
+\ProvidesPackage{22-IU8-algorithms}[2021/03/21 v1.1 Ðлгоритмы]
\RequirePackage[linesnumbered,boxruled]{algorithm2e}
\SetAlCapSty{}
diff --git a/macros/latex/contrib/bmstu-iu8/example.pdf b/macros/latex/contrib/bmstu-iu8/example.pdf
deleted file mode 100644
index bbf0887362..0000000000
--- a/macros/latex/contrib/bmstu-iu8/example.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/bmstu-iu8/styles/11-IU8-performers.sty b/macros/latex/contrib/bmstu-iu8/styles/11-IU8-performers.sty
deleted file mode 100644
index 8ba0ce8458..0000000000
--- a/macros/latex/contrib/bmstu-iu8/styles/11-IU8-performers.sty
+++ /dev/null
@@ -1,5 +0,0 @@
-% Author: CatInCosmicSpace
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{10-IU8-performes}[2021/03/21 v1.0 СпиÑок иÑполниетелей]
-
-% Т.к. у Ð½Ð°Ñ Ñто не иÑпользуетÑÑ, Ñ Ð¾ÑтавлÑÑŽ Ñто пуÑтымы \ No newline at end of file
diff --git a/macros/latex/contrib/bmstu-iu8/styles/20-IU8-listing.sty b/macros/latex/contrib/bmstu-iu8/styles/20-IU8-listing.sty
deleted file mode 100644
index a2d817a0fb..0000000000
--- a/macros/latex/contrib/bmstu-iu8/styles/20-IU8-listing.sty
+++ /dev/null
@@ -1,43 +0,0 @@
-% Author: CatInCosmicSpace
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{20-IU8-listing}[2021/03/21 v1.0 ЛиÑтинги]
-
-\RequirePackage{listings}
-\RequirePackage{xcolor}
-
-\definecolor{codegreen}{rgb}{0,0.6,0}
-\definecolor{codegray}{rgb}{0.5,0.5,0.5}
-\definecolor{codepurple}{rgb}{0.58,0,0.82}
-\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
-
-\lstdefinestyle{IU8}{
- % backgroundcolor=\color{backcolour},
- % commentstyle=\color{codegreen},
- % keywordstyle=\color{magenta},
- numberstyle=\tiny\color{black},
- % stringstyle=\color{codepurple},
- basicstyle=\ttfamily\footnotesize,
- breakatwhitespace=false,
- breaklines=true,
- captionpos=tl,
- xleftmargin=0.5\parindent,
- keepspaces=true,
- numbers=left,
- numbersep=5pt,
- showspaces=false,
- showstringspaces=false,
- showtabs=false,
- tabsize=2,
-}
-\lstset{style=IU8}
-
-\DeclareCaptionFormat{listing}{#1#2#3}
-\captionsetup[lstlisting]{
- format=listing,
- singlelinecheck=false,
- labelsep=endash,
-}
-
-\newcommand{\listing}[2][]{%
- \lstinputlisting[caption={\texttt{\detokenize{#2}}},#1]{#2}%
-}
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index c1a4a44dc4..f1143d2b36 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -23,12 +23,12 @@
%
% \changes{v1.20}{2021/01/09}{修改和完善用户文档。}
% \changes{v1.20}{2021/01/09}{模æ¿æ›´æ”¹ä¸ºä½¿ç”¨ CC-BY 许å¯å议。}
-% \changes{v1.25s}{2021/05/03}{å–消附带的示例文件,å¯æŸ¥çœ‹åŽ†å²ç‰ˆæœ¬åŠå…¶å®ƒæ¥æºçš„使用样例。}
-% \changes{v1.25s}{2021/06/02}{将模å—的代ç ç‹¬ç«‹å‡ºæ¥ä¸º \pkg{easybase} å®åŒ…,适用于 \CTeX 文档类。}
+% \changes{v1.25t}{2021/05/03}{å–消附带的示例文件,å¯æŸ¥çœ‹åŽ†å²ç‰ˆæœ¬åŠå…¶å®ƒæ¥æºçš„使用样例。}
+% \changes{v1.25t}{2021/06/02}{将模å—的代ç ç‹¬ç«‹å‡ºæ¥ä¸º \pkg{easybase} å®åŒ…,适用于 \CTeX 文档类。}
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/06/04\hskip\ccwd\relax v1.25s\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/06/05\hskip\ccwd\relax v1.25t\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -134,7 +134,7 @@
% \end{syntax}
% 传递给 \cls{ctexbook} 设置字体,最好ä¸è¦ä½¿ç”¨åŽŸæœ‰çš„ \opt{fontset} 选项,默认情况下使用自定义字体而ä¸å¼€å¯è¿™ä¸ªé€‰é¡¹ï¼Œå¯æ ¹æ®å®‰è£…的字体åŠç”µè„‘系统选å–。\opt{noto} 与 \opt{none} 选项的相关æè¿°è§å°èŠ‚ \ref{subsec:font settings},\opt{overleaf} 是一个å„系统通用选项,会检测系统环境选å–对应字体。
% \changes{v1.21}{2021/01/12}{默认字体与 \CTeX 一致,ä¸å†æ˜¯è‡ªå®šä¹‰å­—体。}
-% \changes{v1.25s}{2021/05/04}{ä¿®å¤ä½¿ç”¨ \pkg{xeCJK} 与 \pkg{fontspec} å®åŒ…的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
+% \changes{v1.25t}{2021/05/04}{ä¿®å¤ä½¿ç”¨ \pkg{xeCJK} 与 \pkg{fontspec} å®åŒ…的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
% \end{function}
%
% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper}
@@ -184,7 +184,7 @@
% \tn{listoflstlistings*+}\oarg{键值列表}
% \end{syntax}
% \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflstlistings} 输出代ç ç›®å½•ã€‚带有星å·çš„目录命令ä¸å°†æ ‡é¢˜æ·»åŠ è¿›ä¸»æ–‡æ¡£ç›®å½•ï¼Œå¸¦æœ‰+å·çš„目录命令å¯ä»¥ä½¿å½“å‰æ ‡é¢˜ç¼–å·ã€‚\tn{tableofcontents+} 与其它命令ä¸åŒæ˜¯ç”¨äºŽè¾“出åŒè¯­ç›®å½•ï¼Œéœ€è¦ä¸ŽåŒè¯­ç›®å½•æ ‡é¢˜å‘½ä»¤ \tn{bichapter} 等或设置图片ã€è¡¨æ ¼å’Œä»£ç ç­‰è‹±æ–‡ç›®å½•çš„标题é…åˆä½¿ç”¨ï¼Œé™„加代ç æ˜¯ä¸­æ–‡ä¸Žè‹±æ–‡ç›®å½•ä¹‹é—´çš„代ç ï¼Œå¯ä»¥æ’入文本和æ¢é¡µå‘½ä»¤ç­‰ã€‚目录的键值列表选项如下
-% \changes{v1.25s}{2021/05/05}{命令 \tn{tableofcontents} å¯ä»¥è¾“出åŒè¯­ç›®å½•ã€‚}
+% \changes{v1.25t}{2021/05/05}{命令 \tn{tableofcontents} å¯ä»¥è¾“出åŒè¯­ç›®å½•ã€‚}
% \end{function}
%
% \begin{function}{multoc,columns,title,format,aftertitle,pagestyle,book,article}
@@ -201,7 +201,7 @@
% 在书ç±æ¨¡å¼ä¸” \opt{book} 选项开å¯æˆ–者文章模å¼çš„情况下,\opt{format} 用于设置目录标题的格å¼ï¼Œ\opt{aftertitle} 选项的代ç å°†è¢«æ’入到目录标题内容之åŽï¼Œ\opt{pagestyle} 是目录标题所在页的页é¢æ ¼å¼ï¼Œé™¤æ­¤ä¹‹å¤–è¿˜æ”¯æŒ \opt{ctexset/chapter} 或 \opt{ctexset/section} 所有的章节标题样å¼é€‰é¡¹ã€‚\opt{book} 选项使目录标题按照 chapter 级别输出,\opt{article} 选项使目录标题按照 section 级别输出,默认为 chapter 级别。
% \changes{v1.23}{2021/03/15}{为几个目录增加键值列表的选项,å¯è®¾ç½®æ ‡é¢˜è¾“出级别以åŠæ˜¯å¦åŠ å…¥ä¸»ç›®å½•ã€‚}
% \changes{v1.24}{2021/04/04}{目录命令的å¯é€‰å‚数增加标题键值。}
-% \changes{v1.25s}{2021/06/02}{目录å¯è®¾ç½®å¤šæ ï¼Œå¹¶åœ¨ article 模å¼ä»ç„¶ç”Ÿæ•ˆã€‚}
+% \changes{v1.25t}{2021/06/02}{目录å¯è®¾ç½®å¤šæ ï¼Œå¹¶åœ¨ article 模å¼ä»ç„¶ç”Ÿæ•ˆã€‚}
% \end{function}
%
% \subsubsection{标题命令}
@@ -217,7 +217,7 @@
% åŒè¯­ç›®å½•çš„标题命令目å‰è®¾ç½®äº†å¸¸ç”¨çš„三个级别,它们将中文标题正常输出,并使中英文标题加入åŒè¯­ç›®å½•ï¼Œè¿™ä¸ªåŠŸèƒ½æ˜¯ä¸ºå›½å†…一些大学的学ä½è®ºæ–‡æ¨¡æ¿çš„è¦æ±‚设计,在一般情况和英文模å¼ä¸‹ä¸éœ€è¦ä½¿ç”¨ã€‚
%
% 它们的星å·å˜ä½“命令使文中标题ä¸ç¼–å·ï¼Œä½†æ˜¯ä»ç„¶åŠ å…¥åŒè¯­ç›®å½•ï¼Œè‹¥è‹±æ–‡æ ‡é¢˜å‚数空置那么仅加入中文目录而ä¸åŠ å…¥è‹±æ–‡ç›®å½•ï¼Œè¿™ä¸€ç‰¹ç‚¹ä¸Ž \tn{chapter*} 等命令的行为ä¸å¤ªä¸€æ ·ï¼Œåœ¨ä¸€äº›æƒ…况下会用到。å¯é€‰å‚数是目录中的中文标题,默认与中文标题一致,正文标题过长时å¯ç”¨å®ƒè®¾ç½®åœ¨ç›®å½•ä¸­æ˜¾ç¤ºçš„标题。åŒè¯­ç›®å½•çš„æ ¼å¼æ˜¯ä¸€è‡´çš„,共享使用 \tn{tocset} 的设置,英文目录的章级别标题ååŠç¼–å·çš„修改方å¼å¦‚下
-% \changes{v1.25s}{2021/05/05}{增加与åŒè¯­ç›®å½•é…åˆçš„标题命令。}
+% \changes{v1.25t}{2021/05/05}{增加与åŒè¯­ç›®å½•é…åˆçš„标题命令。}
% \end{function}
%
% \begin{function}{biname,binmuber}
@@ -317,7 +317,7 @@
% \changes{v1.10}{2021/01/08}{ä¿®å¤äº† \opt{linktopage} 选项关闭时目录中标题编å·æ— è¶…链接的问题。}
% \changes{v1.23}{2021/03/19}{ä¿®å¤åœ¨ \pkg{ctex} v2.5.6 æ›´æ–°åŽ \cls{easybook} 与 \pkg{hyperref} 冲çªé—®é¢˜ã€‚}
% \changes{v1.24}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支æŒã€‚}
-% \changes{v1.25s}{2021/05/06}{模å—å \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性ä¿ç•™ã€‚}
+% \changes{v1.25t}{2021/05/06}{模å—å \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性ä¿ç•™ã€‚}
% \end{function}
%
% \begin{optdesc}
@@ -374,7 +374,7 @@
% \ding{229} 以上选项路径为 \opt{subfont/...}
% \changes{v1.10}{2021/01/08}{加入自定义éžæ­£æ–‡å­—体选项。}
% \changes{v1.23}{2021/02/08}{ä¿®å¤ä½¿ç”¨ \tn{zihao} 命令设置字体失效的问题。}
-% \changes{v1.25s}{2021/05/31}{其它字体模å—åç”± \opt{elsefont} 改为 \opt{subfont},并增加数学字体的选项 \opt{subfont/math}。}
+% \changes{v1.25t}{2021/05/31}{其它字体模å—åç”± \opt{elsefont} 改为 \opt{subfont},并增加数学字体的选项 \opt{subfont/math}。}
% \end{function}
%
% \begin{optdesc}
@@ -399,7 +399,7 @@
% \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,å¯ä»¥ä½¿ç”¨ \hologo{BibTeX} 或 \hologo{biber} 编译å‚考文献。}
% \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时å¯è®¾ç½®æ ‡æ³¨é£Žæ ¼ã€‚}
% \changes{v1.24}{2021/04/09}{å¯ä»¥ä¸è½½å…¥å‚考文献包手动é…ç½®å‚考文献格å¼ã€‚}
-% \changes{v1.25s}{2021/05/12}{å–消 \opt{bib-loadpkg} 选项,由是å¦è®¾ç½®å‚考文献数æ®åº“æ¥å†³å®šè½½å…¥å®åŒ…。}
+% \changes{v1.25t}{2021/05/12}{å–消 \opt{bib-loadpkg} 选项,由是å¦è®¾ç½®å‚考文献数æ®åº“æ¥å†³å®šè½½å…¥å®åŒ…。}
% \end{function}
%
% \begin{optdesc}
@@ -605,7 +605,7 @@
% 上é¢å‡ ä¸ªé€‰é¡¹ç”¨äºŽè®¾ç½®è„šæ³¨æ ¼å¼ï¼Œ\opt{fnparskip} å’Œ \opt{fnparindent} 选项仅在 \opt{fnhang = true} 时有效。\opt{fnhang} 用于将脚注设置为悬挂缩进的格å¼ï¼Œ\opt{fnmark-pos} 选项设置脚注编å·çš„ä½ç½®ï¼Œæ­£å¸¸æ–‡æœ¬æˆ–是上标形å¼ã€‚\opt{fnmark-num} 选项设置脚注编å·çš„æ ¼å¼ï¼Œé»˜è®¤ä¸ºåŽŸç”Ÿæ ·å¼ \opt{plain},还å¯ä»¥æ”¹ä¸º \opt{pifont} çš„å„个版本,从左往å³ä¾æ¬¡ä¸ºæ™®é€šç‰ˆã€é˜´æ–‡è¡¬çº¿ç‰ˆã€é˜³æ–‡æ— è¡¬çº¿ç‰ˆå’Œé˜´æ–‡æ— è¡¬çº¿ç‰ˆï¼Œç¼ºç‚¹æ˜¯å®ƒä»¬çš„ç¼–å·ä»…包括1-10。
%
% \opt{fnmark-form} 是脚注标记的格å¼ï¼Œåœ¨æ­¤è®¾ç½®å­—体命令会覆盖 \opt{subfont/footnote} 的设置,最åŽä¸€ä¸ªæ ¼å¼å‘½ä»¤å¯ä»¥å¸¦æœ‰ä¸€ä¸ªå‚数,这个å‚数接å—脚注编å·ï¼Œä¸€èˆ¬é…åˆ \opt{fnmark-num = plain} 使用。\opt{afterfnmark} 是脚注标记åŽçš„代ç ï¼Œä¸€èˆ¬ç”¨äºŽè®¾ç½®æ ‡è®°ä¸Žæ–‡æœ¬é—´çš„è·ç¦»ã€‚
-% \changes{v1.25s}{2021/05/12}{增加脚注样å¼è®¾ç½®é€‰é¡¹ã€‚}
+% \changes{v1.25t}{2021/05/12}{增加脚注样å¼è®¾ç½®é€‰é¡¹ã€‚}
% \end{function}
%
% \subsection{目录样å¼}
@@ -624,7 +624,7 @@
% \opt{format} 是目录中标题的格å¼ï¼Œå¯ä»¥è®¾ç½®å­—体和加入垂直间è·ç­‰ï¼Œåž‚ç›´é—´è·æœ€å¥½ä½¿ç”¨æ— é—´è·é‡åˆçš„ \tn{addvspace} 命令,带有加å·çš„ \opt{format+} 选项用于在已有的格å¼å‘½ä»¤åŽé™„加内容。\opt{indent} 是目录中标题在页é¢å·¦ä¾§çš„缩进è·ç¦»ï¼Œåº”该有长度å•ä½ã€‚\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下æ¥ä»‹ç»ã€‚\opt{numsep} 是有编å·çš„标题在目录中编å·ä¸Žæ ‡é¢˜çš„é—´è·ã€‚
% \changes{v1.21}{2021/01/13}{增加é…置目录样å¼çš„选项。}
% \changes{v1.24}{2021/04/20}{增加目录中编å·ä¸Žæ ‡é¢˜çš„é—´è·é€‰é¡¹ \opt{numsep}。}
-% \changes{v1.25s}{2021/05/14}{å¯ä»¥åˆ†åˆ«è®¾ç½®å›¾ç‰‡ã€è¡¨æ ¼å’Œä»£ç ç›®å½•çš„æ ¼å¼ã€‚}
+% \changes{v1.25t}{2021/05/14}{å¯ä»¥åˆ†åˆ«è®¾ç½®å›¾ç‰‡ã€è¡¨æ ¼å’Œä»£ç ç›®å½•çš„æ ¼å¼ã€‚}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberLine}
@@ -709,7 +709,7 @@
% \tn{end}\marg{环境å}
% \end{syntax}
% \pkg{tabularray} 是一个较新的å®åŒ…,ä¸ä»…æ供了 \pkg{tabularx}ã€\pkg{multirow}ã€å’Œ \pkg{booktabs} å®åŒ…的功能,并且ä¸ä¾èµ–其它å®åŒ…与它们åŒæ—¶ä½¿ç”¨ä¸ä¼šäº§ç”Ÿå†²çªï¼Œè¿˜å®žçŽ°äº†ç”¨ç®€ä¾¿çš„键值列表方å¼è®¾ç½®è¡¨æ ¼æ ·å¼ã€‚ç›®å‰é™¤äº†è¡¨å¤´æ–œçº¿ä»¥åŠè·¨é¡µåŠŸèƒ½å­˜åœ¨ä¸è¶³ï¼Œå…¶å®ƒæ–¹é¢å·²æ»¡è¶³å¯¹è¡¨æ ¼ç»å¤§å¤šæ•°æ ¼å¼çš„需求,具体用法å¯è§å®åŒ…的说明文档。
-% \changes{v1.25s}{2021/05/17}{使用功能更便æ·é½å…¨çš„ \pkg{tabularray} å®åŒ…设置表格样å¼ã€‚}
+% \changes{v1.25t}{2021/05/17}{使用功能更便æ·é½å…¨çš„ \pkg{tabularray} å®åŒ…设置表格样å¼ã€‚}
% \end{function}
%
% \subsection{列表}
@@ -873,7 +873,7 @@
% \tn{qtyrange}\oarg{键值列表}\marg{æ•°å­—1}\marg{æ•°å­—2}\marg{å•ä½}
% \end{syntax}
% \pkg{siunitx} å®åŒ…çš„ \tn{num} 命令å¯ä»¥è¾“出以科学计数法表示的数值,å•ä½æ ¼å¼åŒ–命令 \tn{unit} 包å«æ–‡å­—项目(例如字æ¯æˆ–数字)时,使用 . å’Œ \~{} 放置在å•å…ƒä¹˜ç§¯ä¸­é—´ï¼Œå¹¶ä½¿ç”¨ \_ å’Œ \^{} 正确放置指定的下标和上标。格å¼åŒ–方法å¯åœ¨æ•°å­¦å’Œæ–‡æœ¬æ¨¡å¼ä¸‹ä½¿ç”¨ã€‚而 \tn{qty} 命令å¯ç”¨æ¥è¾“出带有å•ä½çš„é‡ï¼Œ\tn{qtyrange} å¯ä»¥è¾“出带有范围和å•ä½çš„é‡ã€‚
-% \changes{v1.25s}{2021/05/18}{\pkg{siunitx} å®åŒ… v3.0.0 æ›´æ–°åŽç”¨æ³•æ”¹å˜ï¼Œä¿®æ”¹ç›¸å…³é…置选项。}
+% \changes{v1.25t}{2021/05/18}{\pkg{siunitx} å®åŒ… v3.0.0 æ›´æ–°åŽç”¨æ³•æ”¹å˜ï¼Œä¿®æ”¹ç›¸å…³é…置选项。}
% \end{function}
%
% \begin{ctexexam}
@@ -1011,7 +1011,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/06/04}{1.25s}{beta}
+\ProvidesExplClass{easybook}{2021/06/05}{1.25t}{beta}
\bool_set_false:N \l__eb_compile_draft_bool
\bool_set_false:N \l__eb_title_newline_bool
@@ -1255,7 +1255,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2021/06/04}{1.25s}{beta}
+\ProvidesExplPackage{easybase}{2021/06/05}{1.25t}{beta}
\cs_generate_variant:Nn \eb_ctex_define:nn { nx }
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1288,12 +1288,24 @@
}
\NewDocumentCommand{\eb@package@load}{O{}m}
{
- \seq_set_from_clist:No \l__eb_package_name_seq {#2}
+ \seq_set_split:Nnn \l__eb_package_name_seq { + } {#2}
\int_compare:oNnT
{ \seq_count:N \l__eb_package_name_seq } = { 1 }
{ \PassOptionsToPackage{#1}{#2} }
\seq_map_inline:Nn \l__eb_package_name_seq
- { \@ifpackageloaded{##1}{}{\RequirePackage{##1}} }
+ {
+ \regex_match:nnTF { [^\w] } {##1}
+ {
+ \regex_split:nnNT { \[ } {##1} \l_tmpa_seq
+ { \seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl }
+ \@ifpackageloaded{\l_tmpa_tl}{}
+ {
+ \exp_last_unbraced:Nx \RequirePackage
+ { [\seq_use:Nn \l_tmpa_seq { , } }{\l_tmpa_tl}
+ }
+ }
+ { \@ifpackageloaded{##1}{}{\RequirePackage{##1}} }
+ }
}
\cs_new_protected:Npn \eb_at_end_preamble:n
{ \ctex_gadd_ltxhook:nn { env/document/before } }
@@ -1323,12 +1335,8 @@
\clist_map_inline:nn
{
- { svgnames } { xcolor },
- { stable,bottom } { footmisc },
- { normalem } { ulem },
{ protrusion = false } { microtype },
{ list = off } { bicaption },
- { shortlabels,inline } { enumitem },
{ many } { tcolorbox },
{ xindy } { imakeidx },
{ CJKmath } { xeCJK },
@@ -1401,15 +1409,17 @@
\eb@package@load
{
- xcolor,
- footmisc,setspace,
- amsmath,amsthm,thmtools,
- chemformula,siunitx,ulem,pifont,
- geometry,marginnote,nccfoots,
- pdfpages,graphicx,multicol,
- fancyhdr,titletoc,caption,
- tabularray,
- enumitem,
+ xcolor[svgnames]+
+ footmisc[stable,bottom]+
+ ulem[normalem]+
+ enumitem[shortlabels,inline]+
+ amsmath+amsthm+thmtools+
+ chemformula+siunitx+pifont+
+ geometry+marginnote+nccfoots+
+ pdfpages+multicol+
+ fancyhdr+titletoc+caption+
+ tabularray+
+ setspace+
listings
}
\cs_new_protected:Npn \eb_package_later_bool:nn #1#2
@@ -1759,14 +1769,14 @@
\ctex_define:n { tocset/#1 .meta:nn = { ctex/tocset/#1 } {##1} }
\eb_ctex_define:nn { tocset }
{
- #1/format .tl_set:c = l__eb_toc_#1_format_tl,
- #1/format+ .code:n =
+ #1/format .tl_set:c = l__eb_toc_#1_format_tl,
+ #1/format+ .code:n =
{ \tl_put_right:cn { l__eb_toc_#1_format_tl } {##1} },
- #1/format~+ .code:n =
+ #1/format~+ .code:n =
{ \tl_put_right:cn { l__eb_toc_#1_format_tl } {##1} },
- #1/indent .tl_set:c = l__eb_toc_#1_indent_tl,
- #1/rule .tl_set:c = l__eb_toc_#1_rule_tl,
- #1/numsep .tl_set:c = eb@toc@#1@numsep
+ #1/indent .dim_set:c = l__eb_toc_#1_indent_dim,
+ #1/rule .tl_set:c = l__eb_toc_#1_rule_tl,
+ #1/numsep .tl_set:c = eb@toc@#1@numsep
}
\seq_if_in:NnF \c__eb_toc_heading_level_seq { subsection }
{
@@ -1775,8 +1785,8 @@
}
\seq_pop:NN \c__eb_toc_heading_level_seq \l_tmpa_tl
\titlecontents{#1}
- [\use:c { l__eb_toc_#1_indent_tl }]
- {\use:c { l__eb_toc_#1_format_tl }}
+ [\dim_use:c { l__eb_toc_#1_indent_dim }]
+ {\tl_use:c { l__eb_toc_#1_format_tl }}
{
\ifbool{eb@titletoc@hang@fix}
{
@@ -1789,7 +1799,7 @@
}
}{}
}{}
- {\use:c { l__eb_toc_#1_rule_tl }}
+ {\tl_use:c { l__eb_toc_#1_rule_tl }}
}
\seq_map_function:NN
\c__eb_toc_heading_level_seq \eb_toc_assign_keys:n
@@ -2108,8 +2118,8 @@
{ \bisection{\eb@toc@title}{\eb@bitoc@title} }
}{
\IfBooleanTF{#2}
- {\eb_title_mark_notoc:n {\eb@toc@title}}
- {\eb_title_mark_intoc:n {\eb@toc@title}}
+ {\eb_title_mark_notoc:n { \eb@toc@title }}
+ {\eb_title_mark_intoc:n { \eb@toc@title }}
}
}
\cs_new_protected:Npn \eb_biber_title_level_bool:n #1
@@ -2310,7 +2320,7 @@
\c__eb_subfont_math_charter_tl
{ \eb_put_newtxmath:n { charter,noOT1 } }
}
- { \eb@package@load{newtxmath,bm} }
+ { \eb@package@load{newtxmath+bm} }
}
\fp_new:N \l__eb_spread_line_fp
@@ -2407,10 +2417,10 @@
}
\skip_set:Nn \parskip { 0pt plus 2pt minus 1pt }
-\skip_set:Nn \floatsep { 12pt plus 2pt minus 2pt }
\skip_set:Nn \intextsep { 14pt plus 2pt minus 2pt }
\skip_set:Nn \textfloatsep { 16pt plus 2pt minus 4pt }
\skip_set:Nn \multicolsep { 10pt plus 4pt minus 3pt }
+\skip_set:Nn \dbltextfloatsep { 16pt plus 2pt minus 4pt }
\setcounter{topnumber}{4}
\setcounter{bottomnumber}{4}
\setcounter{totalnumber}{8}
@@ -2418,6 +2428,7 @@
\tl_gset:Nn \topfraction { 0.8 }
\tl_gset:Nn \bottomfraction { 0.8 }
\tl_gset:Nn \floatpagefraction { 0.9 }
+\tl_gset:Nn \dblfloatpagefraction { 0.9 }
\tl_gset:Nn \ULthickness { 0.75pt }
\allowdisplaybreaks[4]
\DeclareGraphicsExtensions{.pdf,.png,.jpg,.eps,.tif}
@@ -2534,7 +2545,7 @@
\eb_at_end_preamble:n
{
\exp_last_unbraced:No
- \declaretheoremstyle{\c__eb_thmtools_keyval_tl}{easy-theorem}
+ \declaretheoremstyle { \c__eb_thmtools_keyval_tl }{easy-theorem}
\eb_thmname_set:nnn { exercise } { Exercise } { 练习 }
\cs_undefine:N \proof
\clist_map_inline:nn
@@ -2753,7 +2764,7 @@
{
standard~jigsaw,
nobeforeafter,tcbox~raise~base,
- top = 1.25st,bottom = 1.25st,left = 1.25st,right = 1.25st,
+ top = 1.25tt,bottom = 1.25tt,left = 1.25tt,right = 1.25tt,
boxrule = 0.75pt,arc = 1pt,
colback = #1,opacityback = 0.12,colframe = #1,#3
}{#2}
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 58e5a92952..35cf9e4b5a 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/eq-pin2corr/README.md b/macros/latex/contrib/eq-pin2corr/README.md
index 78c08c4d5f..7e20ddd9d4 100644
--- a/macros/latex/contrib/eq-pin2corr/README.md
+++ b/macros/latex/contrib/eq-pin2corr/README.md
@@ -1,6 +1,6 @@
The eq-pin2corr package
Author: D. P. Story
-Dated: 2021-02-20
+Dated: 2021-05-29
This package is an add-on to the quiz environment of the exerquiz
package (part of the acrotex bundle). It adds PIN security to a quiz created by
@@ -11,6 +11,15 @@ the students effort on that quiz.
The package works for a the usual workflows
+What's New (2021-05-29) Added (optional) PIN security to the Begin Quiz button.
+ Added (an optional) `warn and freeze' feature to a quiz. Added (an optional)
+ \qzResetTally field that holds the number of times a student retakes any given
+ quiz. Add (an optional) feature where the document author can set the maximum
+ number of times a student can retake a quiz. Demo files for these
+ features are found on the AcroTeX Blog site:
+ http://www.acrotex.net/blog/?p=1516
+ http://www.acrotex.net/blog/?p=1519
+
D. P. Story
www.acrotex.net
blog.acrotex.net
diff --git a/macros/latex/contrib/eq-pin2corr/doc/eq-pin2corr.pdf b/macros/latex/contrib/eq-pin2corr/doc/eq-pin2corr.pdf
index 92c3cec32b..bd008ba7f1 100644
--- a/macros/latex/contrib/eq-pin2corr/doc/eq-pin2corr.pdf
+++ b/macros/latex/contrib/eq-pin2corr/doc/eq-pin2corr.pdf
Binary files differ
diff --git a/macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.pdf b/macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.pdf
index 0103c028ca..55e7438520 100644
--- a/macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.pdf
+++ b/macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.pdf
Binary files differ
diff --git a/macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.tex b/macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.tex
index aa2f13dbc9..a660f2c3bb 100644
--- a/macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.tex
+++ b/macros/latex/contrib/eq-pin2corr/doc/eqpin2corrman.tex
@@ -6,16 +6,27 @@
\documentclass[10pt]{article}
\usepackage[fleqn]{amsmath}
%\usepackage{hyperref}
-\usepackage[
- web={centertitlepage,designv,forcolorpaper,latextoc,pro},
+\usepackage[%
+ web={centertitlepage,
+ designv,
+ forcolorpaper,
+ latextoc,
+% uselatexparts,
+ extended
+ },
exerquiz,
% linktoattachments,
aebxmp
]{aeb_pro}
+\usepackage{aeb_mlink}
\usepackage[!showscore]{eq-pin2corr}
%\previewOn\pmpvOn
+%\tocPartTitle{\protect\makebox[0pt][r]{\thepart\hspace{.5em}}#1}
+\tocPartTitle{\tops{\protect\makebox[0pt][r]{\thepart\hspace{.5em}}}{\thepart\space}#1}
+
+
\useBeginQuizButton[\CA{Begin}]
\useEndQuizButton[\CA{End}]
\useMCCircles
@@ -115,8 +126,8 @@
email={dpstory@acrotex.net},
subject={Documentation for the eq-pin2corr package from AcroTeX: Apply PIN security to quizzes},
talksite={\url{www.acrotex.net}},
- version={0.5, 2021/15/06},
- Keywords={AcroTeX, mini-toc},
+ version={2.0, 2021/05/29},
+ Keywords={AcroTeX, PIN security},
copyrightStatus=True,
copyrightNotice={Copyright (C) \the\year, D. P. Story},
copyrightInfoURL={http://www.acrotex.net}
@@ -146,7 +157,7 @@
if (resp != null) {
var f=this.getField("txt");
f.value=Collab.hashString(resp);
- }
+ }
\end{defineJS}
@@ -204,6 +215,13 @@ _path=_path.substring(0,pos)+"/"+manualfilename;
\hypersetup{linktocpage}
+\part{Version 1.0}\label{prt:One}
+
+In this part of the manual, we document the features of the \pkg{eq-pin2corr} package
+as they originally appeared. In addition to the features documented here, version~2.0
+adds a number of features, some of which were suggested by Tahir Y. These additional features
+are documented in \hyperref[prt:Two]{Part~\ref*{prt:Two}} on page~\pageref{prt:Two} of this manual.
+
\section{Introduction}
This package is an add-on to the \env{quiz} environment of the \pkg{exerquiz}
@@ -297,7 +315,7 @@ The minimal preamble for documents that use the \pkg{eq-pin2corr} package.
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
!1\documentclass{article}
!2\usepackage[!ameta(options)]{web}
-\usepackage[!ameta(options)]{exerquiz}!textbf([2021/02/17])
+\usepackage[!ameta(options)]{exerquiz}!textbf([2021/04/27])
\usepackage[!ameta(options)]{eq-pin2corr}
...
\declPINId{!ameta(pin-num)}{!ameta(hash-string)}
@@ -305,14 +323,14 @@ The minimal preamble for documents that use the \pkg{eq-pin2corr} package.
...
\begin{document}
\end{Verbatim}
-\eVerb A recent version of \pkg{exerquiz} (2021/02/17 or later) is required;
-\pkg{eq-pin2corr} brings in the \pkg{eq-save} package (2021/02/17 or later).
+\eVerb A recent version of \pkg{exerquiz} (2021/05/29 or later) is required;
+\pkg{eq-pin2corr} brings in the \pkg{eq-save} package (2021/04/27 or later).
\section{Package options}
There are two options for this package: \opt{showscore} and \opt{!showscore}.
If you took the test on page~3, you will have noticed that when \uif{End
-Quiz} control is pressed the phase \textsf{"Success! Now save and send to the
+Quiz} control is pressed the phrase \textsf{"Success! Now save and send to the
instructor"} appears in the \cs{ScoreField} or the \cs{PointsField}, this is
the default behavior. Passing \FmtMP{\opt{showscore}}\opt{showscore} in the
optional argument list of \pkg{eq-key2corr} causes the actual score to appear
@@ -330,24 +348,32 @@ Refer to the \texttt{eformsman.pdf} for a discussion of \cs{flJSStr}.
\paragraph*{Local controls.} The two options can be turned off and on locally with \FmtMP{\cs{showScoreOff}}\cs{showScoreOff} and
\FmtMP{\cs{showScoreOn}}\cs{showScoreOn} commands.
-\section{Setting the pin-hash values}
+\section{Setting the pin-hash values}\label{s:pin-hash}
In the preamble, as indicated above, are two commands, the first is required,
the second is optional.
\bVerb\takeMeasure{\string\declPINId\darg{\ameta{pin-num}}\darg{\ameta{hash-string}}}%
%\setlength{\dimen0}{\wd\webtempboxi+2\fboxsep+2\fboxrule}%
-\def\1{\rlap{\sffamily\hskip\linewidth(optional)}}
+%\def\1{\rlap{\sffamily\hskip\linewidth(\cs{numPINId} expands to \ameta{pin-num})}}
+\def\2{\rlap{\sffamily\hskip\linewidth(optional)}}
\begin{dCmd}[commandchars=!()]{\bxSize}
\declPINId{!ameta(pin-num)}{!ameta(hash-string)}
-!1\classPINVar{!ameta(class-pin-var)}
+\numPINId
+!2\classPINVar{!ameta(class-pin-var)}
\end{dCmd}
-\eVerb It is through the \cs{declPINId} command that the PIN security is set up.
-
-\paragraph*{\cs{declPINId\darg{\ameta{pin-num}}\darg{\ameta{hash-string}}}} The \ameta{pin-num} is a number, perhaps four digits,
-that is used to pass through the security of the \uif{Correct} button.\footnote{The \ameta{pin-num} does not have to be a number,
-it can be any password (passcode) that is easy to remember. I prefer a four digit number.} Once you decide on the
-PIN number, you need to generate the corresponding \emph{hash-string}. The hash-string is obtained from the demo file
-\texttt{get-hash-string.pdf}, the contents of that files is reproduced below.
+\eVerb It is through the \cs{declPINId} command that the PIN security is set
+up. The command \cs{numPINId} expands to \ameta{pin-num} is not normally
+typeset into the document, but is used for documentation or demonstration
+purposes, such as in this document.
+
+\paragraph*{\cs{declPINId\darg{\ameta{pin-num}}\darg{\ameta{hash-string}}}}
+The \ameta{pin-num} is a number, perhaps four digits, that is used to pass
+through the security of the \uif{Correct} button.\footnote{The
+\ameta{pin-num} does not have to be a number, it can be any password
+(passcode) that is easy to remember. I prefer a four digit number.} Once you
+decide on the PIN number, you need to generate the corresponding
+\emph{hash-string}. The hash-string is obtained from the demo file
+\texttt{get-hash-string.pdf}, the contents of that file is reproduced below.
\begin{aebQuote}
\pushButton[\CA{Push}\AAmouseup{\btnAct}]{btn}{}{11bp}\olBdry
\textField[\textSize{8}]{txt}{2in}{11bp}\olBdry
@@ -416,6 +442,318 @@ commands.
\eVerb These can placed anywhere outside a \env{quiz} environment. The
commands take effect beginning at the next quiz in the document.
+\part{Version 2.0}\label{prt:Two}
+
+\section{Introduction}
+
+Version~2 of this package provides additional security options for the
+document author (instructor or professor).
+
+\newtopic\noindent The source files (TEX) for the working examples in this
+part of the manual may be found on the {\AcroTeX} Blog web site:
+\begin{itemize}
+ \item \href{http://www.acrotex.net/blog/?p=1516}{\pkg{eq-pin2corr}: PIN security with warning and freezing}\footnote
+ {\url{http://www.acrotex.net/blog/?p=1516}}
+ \item \href{http://www.acrotex.net/blog/?p=1519}{\protect\pkg{eq-pin2corr}:
+ PIN security on \protect\uif{Begin Quiz} and tracking retakes of a quiz}\footnote
+ {\url{http://www.acrotex.net/blog/?p=1519}}
+\end{itemize}
+
+\section{Security with warn and freeze on \tops{\protect\uif}{}{End Quiz}}
+
+When the student presses the \uif{End Quiz} control, an alert dialog box
+opens which warns\FmtMP{warn and freeze} the user that quiz will be `frozen'
+which means active form fields are made readonly, except for the \uif{Ans}
+button. The user has a choice of responding \uif{Yes} or \uif{No}, in the
+later case, the student can continue with the quiz. If the student presses
+\uif{Yes}, the quiz is frozen, all the student can do is to save the file and
+to send it to the instructor.
+\bVerb\takeMeasure{\uif{Click 'Yes' to end the quiz or 'No' to continue working on the quiz.}\}}%
+\settowidth{\eflength}{\cs{useWarnEndQuiz}}
+\def\1{\leavevmode\rlap{\hspace{\eflength} \%\sffamily{ use with \cs{usePINCorrBtn}}}}%
+\def\2{\leavevmode\rlap{\sffamily\hskip\linewidth(Turn off PIN security)}}%
+\begin{dCmd}[commandchars=!()]{\bxSize}
+!1\useWarnEndQuiz
+\restoreEndQuiz
+\flJSStr{\EndQuizG@te@Msg}{!uif(Warning:)
+!uif(Are you sure you want to end this quiz?)\r\r
+!uif(The quiz will be frozen and no more changes will be allowed.)
+!uif(Click 'Yes' to end the quiz or 'No' to continue working on the quiz.)}
+\end{dCmd}
+\eVerb Expand \cs{useWarnEndQuiz} prior to the quiz for which the `warn and
+freeze' security is to be employed. After the quiz, optionally expand
+\cs{restoreEndQuiz} to its original definition.
+
+\useWarnEndQuiz
+
+\newtopic\noindent
+Prior to the following quiz, \cs{usePINCorrBtn}\cs{useWarnEndQuiz} are
+expanded.
+\begin{quiz*}{qz2}
+Solve each, passing is 100\%.
+\begin{questions}
+ \item The sum of 1 and 1 is \dots
+\begin{answers}{8}
+\bChoices
+ \Ans0 0\eAns
+ \Ans0 1\eAns
+ \Ans1 2\eAns
+ \Ans0 3\eAns
+ \Ans0 4\eAns
+\eChoices
+\end{answers}
+ \item $ \cos(\pi) = \RespBoxMath{-1}{1}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{-1} $
+
+\item $\displaystyle\frac{d}{dx}{\sin(x)}=\RespBoxMath{cos(x)}{4}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{cos(x)} $
+\end{questions}
+\end{quiz*}\quad\ScoreField[\rectW{2.25in}]\currQuiz\olBdry\CorrButton{\currQuiz} (PIN: \numPINId)
+
+\noindent
+Answers: \AnswerField\currQuiz
+
+\section{PIN security with freeze on \tops{\protect\uif}{}{Correct}}
+
+In the previous section, the quiz is made readonly (frozen) when the student
+presses the \uif{End Quiz} control. We can also freeze the quiz when the
+\uif{Correct} control is pressed.
+
+This strategy allows the student to take and retake the quiz if the score is
+not to his liking; assuming the \texttt{showscore} option is in effect.
+Freezing the quiz on the \uif{Correct} control allows the quiz to be marked
+up and returned to the student, without fear the student will later modify
+his answers and complain to the teacher that the score is incorrect.
+
+\newtopic\noindent To freeze the quiz when the \uif{Correct} control is pressed,
+expand \cs{FreezeThisQuiz}.
+\bVerb\takeMeasure{\string\FreezeThisQuizNot}%
+\def\1{\rlap{\sffamily\hskip\linewidth(use with \cs{usePINCorrBtn})}}
+\begin{dCmd}[commandchars=!()]{\bxSize}
+!1\FreezeThisQuiz
+\FreezeThisQuizNot
+\end{dCmd}
+\eVerb There are two methods of expanding \cs{FreezeThisQuiz}: (1) expand
+prior to the quiz (and expand \cs{FreezeThisQuizNot} following the quiz); or
+(2) pass \cs{FreezeThisQuiz} through the optional argument of the
+\cs{CorrButton} (the \uif{Correct} control) using the syntax
+\verb|\CorrButton[\cmd{\FreezeThisQuiz}]{\currQuiz}|. The latter method make
+the change local, hence \cs{FreezeThisQuizNot} is not needed following the
+quiz.
+
+\showScoreOn
+\restoreEndQuiz
+
+\newtopic\noindent
+The following quiz uses \verb|\CorrButton[\cmd{\FreezeThisQuiz}]{\currQuiz}|
+at the end of the quiz. Prior to this quiz, \cs{showScoreOn} and
+\cs{restoreEndQuiz} are expanded, the later to recover from `warn and freeze'
+of the previous quiz.
+\begin{quiz*}{qz3}
+Solve each, passing is 100\%.
+\begin{questions}
+ \item The sum of 1 and 1 is \dots
+\begin{answers}{8}
+\bChoices
+ \Ans0 0\eAns
+ \Ans0 1\eAns
+ \Ans1 2\eAns
+ \Ans0 3\eAns
+ \Ans0 4\eAns
+\eChoices
+\end{answers}
+ \item $ \cos(\pi) = \RespBoxMath{-1}{1}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{-1} $
+
+\item $\displaystyle\frac{d}{dx}{\sin(x)}=\RespBoxMath{cos(x)}{4}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{cos(x)} $
+\end{questions}
+\end{quiz*}\quad\ScoreField[\rectW{2.25in}]\currQuiz\olBdry\CorrButton[\cmd{\FreezeThisQuiz}]{\currQuiz} (PIN: \numPINId)
+
+\noindent
+Answers: \AnswerField\currQuiz
+
+\section{Tallying the number of retakes of a quiz}
+
+One problem with digital PDF quizzes (\`a la Acro\negthinspace\TeX) is a
+student takes and retakes a quiz until a desired score of 100\% is attained,
+assuming no PIN security is on the \uif{Correct} control. This problem is
+partially mitigated by the PIN security on the \uif{Correct} control, but
+still, teachers, when administering an exam for credit, do not like to see
+student retaking the quiz multiple times. The \pkg{eq-pin2corr} package now offers
+the following commands:
+\bVerb\takeMeasure{\string\qzResetTally[\ameta{options}]}%
+\def\1{\rlap{\sffamily\hskip\linewidth(optionally, use with \cs{usePINCorrBtn})}}
+\begin{dCmd}[commandchars=!()]{\bxSize}
+!1\useBeginQuizCnt
+\restorBeginQuiz
+\qzResetTally[!ameta(options)]
+\end{dCmd}
+\eVerb Expanding \cs{useBeginQuizCnt} modifies the action of the \uif{Begin
+Quiz} control to count the number of times the student as retaken the same
+quiz. The count show up in the readonly text field created by
+\cs{qzResetTally}. Restore the original action of the \uif{Begin Quiz} control
+by expanding \cs{restorBeginQuiz}.
+
+This next quiz has PIN security with freeze on the \uif{Correct} control. The
+\uif{Begin Quiz} controls tracks the number of times the student
+\emph{re-takes the quiz}. Prior to the quiz we expand
+\cs{showScoreOn}\cs{useBeginQuizPIN}\cs{useBeginQuizCnt}. The
+\cs{qzResetTally} field is place to the right of the \cs{CorrButton} command.
+Speaking of the \cs{CorrButton}, \verb|\cmd{\FreezeThisQuiz}| is passed to
+this command through its optional argument so that the quiz is frozen when
+the instructor presses the \uif{Correct} control and successfully enters the
+PIN.
+
+\showScoreOn
+\useBeginQuizPIN
+\useBeginQuizCnt
+%\restorBeginQuiz
+
+\begin{quiz*}{qz4}
+\textbf{Instructions:} Take and retake this quiz until you obtain 100\%.
+\begin{questions}
+ \item The sum of 1 and 1 is \dots
+\begin{answers}{8}
+\bChoices
+ \Ans0 0\eAns
+ \Ans0 1\eAns
+ \Ans1 2\eAns
+ \Ans0 3\eAns
+ \Ans0 4\eAns
+\eChoices
+\end{answers}
+ \item $ \cos(\pi) = \RespBoxMath{-1}{1}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{-1} $
+
+\item $\displaystyle\frac{d}{dx}{\sin(x)}=\RespBoxMath{cos(x)}{4}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{cos(x)} $
+\end{questions}
+\end{quiz*}\quad\ScoreField[\rectW{2.25in}]\currQuiz\olBdry\CorrButton[\cmd{\FreezeThisQuiz}]{\currQuiz} (PIN: \numPINId)\hfill\qzResetTally
+
+\noindent
+Answers: \AnswerField\currQuiz
+
+\section{Setting the maximum number of retakes}
+
+This quiz has PIN security on the \uif{Correct} control. The \uif{Begin Quiz} controls
+tracks the number of times the student \emph{re-takes the quiz}. It also sets the maximum
+number of times the student retake the quiz.
+\bVerb\takeMeasure{\string\setMaxRetakes\darg{\ameta{qz-name}\darg{\ameta{num}}}}%
+\def\1{\rlap{\sffamily\hskip\linewidth(use with \cs{usePINCorrBtn})}}
+\begin{dCmd}[commandchars=!()]{\bxSize}
+\setMaxRetakes{!ameta(qz-name)}{!ameta(num)}
+\nMaxRetakes{!ameta(qz-name)}
+\end{dCmd}
+\eVerb When declared prior to the quiz whose name is \ameta{qz-name},
+\cs{setMaxRetakes} sets the maximum of times a student can \emph{retake the same
+quiz} to \ameta{num}, where \ameta{num} is a nonnegative integer. Declaring
+\cs{setMaxRetakes\darg{\ameta{qz-name}}\darg{0}} means the student may only
+take the quiz once (no retakes allowed); \cs{setMaxRetakes\darg{\ameta{qz-name}}\darg{2}} means he
+can retake the quiz twice (for a total of three times).
+
+The command \cs{nMaxRetakes\darg{\ameta{qz-name}}} is a way of typesetting
+the number \ameta{num} into the document as part of the instructions for the
+quiz, for example.
+
+\showScoreOn
+\useBeginQuizCnt
+\setMaxRetakes{qz5}{2}
+
+\newtopic\noindent The following quiz has PIN security with freeze under the \uif{Correct} control and it
+allows the student to retake the quiz at most \nMaxRetakes{qz5}~times.
+
+\begin{quiz*}{qz5}
+Solve each, passing is 100\%. Be aware that you will be allowed to
+\emph{retake} this quiz at most \nMaxRetakes{qz5}~times.
+\begin{questions}
+ \item The sum of 1 and 1 is \dots
+\begin{answers}{8}
+\bChoices
+ \Ans0 0\eAns
+ \Ans0 1\eAns
+ \Ans1 2\eAns
+ \Ans0 3\eAns
+ \Ans0 4\eAns
+\eChoices
+\end{answers}
+ \item $ \cos(\pi) = \RespBoxMath{-1}{1}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{-1} $
+
+\item $\displaystyle\frac{d}{dx}{\sin(x)}=\RespBoxMath{cos(x)}{4}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{cos(x)} $
+\end{questions}
+\end{quiz*}\quad\ScoreField[\rectW{2.25in}]\currQuiz\olBdry\CorrButton[\cmd{\FreezeThisQuiz}]{\currQuiz} (PIN: \numPINId)\hfill\qzResetTally
+
+\noindent
+Answers: \AnswerField\currQuiz
+
+\section{PIN Security for \tops{\protect\uif}{}{Begin Quiz} and \tops{\protect\uif}{}{Correct}}
+
+For this final example, the student can see his quiz score (which can be
+optionally changed by expanding \cs{showScoreOff}); however, to retake the
+quiz a PIN must be entered when the \uif{Begin Quiz} button is pressed. The
+PIN under the \uif{Begin Quiz} control is (usually) different from the PIN
+under the \uif{Correct} button.
+\bVerb\takeMeasure{\string\flJSStr\darg{\string\BeginQuizG@te@Msgii}\{\uif{Press the Begin Quiz}}%
+%\def\1{\rlap{\sffamily\hskip\linewidth(\cs{numRePINId} expands to \ameta{pin-num})}}
+\begin{dCmd}[commandchars=!()]{\bxSize}
+\declRePINId{!ameta(pin-num)}{!ameta(hash-string)}
+\numRePINId
+\flJSStr{\BeginQuizG@te@Msgi}{!uif(Enter the PIN number)
+!uif(to retake this quiz)}
+\flJSStr{\BeginQuizG@te@Msgii}{!uif(Press the Begin Quiz)
+!uif(control to begin the quiz again)}
+\end{dCmd}
+\eVerb \cs{declRePINId} is used to declare the PIN number for retaking the
+quiz, as well as the corresponding hash string. Refer to \cs{declPINId} above
+(\hyperref[s:pin-hash]{Section~\ref{s:pin-hash}}) for information of how to
+acquire the hash string for the PIN.
+
+The command \cs{numREPINId} expands to \ameta{pin-num} is not normally
+typeset into the document, but is used for documentation or demonstration
+purposes, such as in this document.
+
+The final two, \cs{BeginQuizG@te@Msgi} and \cs{BeginQuizG@te@Msgii} expand to
+the messages the respondent reads. These may be redefined as desired.
+
+\newtopic\noindent
+The PIN for the \uif{Begin Quiz} button is \numRePINId. The \uif{Begin Quiz}
+button does not need a PIN for the first time it is pressed. It requires a
+PIN after the first press.
+
+\showScoreOn
+\useBeginQuizPIN
+
+\begin{quiz*}{qz6}
+Solve each, passing is 100\%.
+\begin{questions}
+ \item The sum of 1 and 1 is \dots
+\begin{answers}{8}
+\bChoices
+ \Ans0 0\eAns
+ \Ans0 1\eAns
+ \Ans1 2\eAns
+ \Ans0 3\eAns
+ \Ans0 4\eAns
+\eChoices
+\end{answers}
+ \item $ \cos(\pi) = \RespBoxMath{-1}{1}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{-1} $
+
+\item $\displaystyle\frac{d}{dx}{\sin(x)}=\RespBoxMath{cos(x)}{4}{.0001}{[0,1]}\cgBdry[1bp]
+\CorrAnsButton{cos(x)} $
+\end{questions}
+\end{quiz*}\quad\ScoreField[\rectW{2.25in}]\currQuiz\olBdry\CorrButton{\currQuiz} (PIN: \numPINId)\hfill\qzResetTally
+
+\noindent
+Answers: \AnswerField\currQuiz\vcgBdry[6pt]
+
+This kind of security is best when the students are taking a quiz in a
+computer lab with a proctor in the room. The student can ask the proctor to
+reset the quiz. Note that we keep a tally on the number of requests as the
+proctor may not write it down or remember.
+
\medbreak\noindent
Now, I really must get back to retirement.\enspace\dps
diff --git a/macros/latex/contrib/eq-pin2corr/eq-pin2corr.dtx b/macros/latex/contrib/eq-pin2corr/eq-pin2corr.dtx
index 091ba8a94f..537bc48894 100644
--- a/macros/latex/contrib/eq-pin2corr/eq-pin2corr.dtx
+++ b/macros/latex/contrib/eq-pin2corr/eq-pin2corr.dtx
@@ -16,7 +16,7 @@
%</copyright>
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{eq-pin2corr}
-%<package> [2021/02/20 v1.0 Applies PIN security to quizzes]
+%<package> [2021/05/29 v2.0 Applies PIN security to quizzes]
%<*driver>
\documentclass{ltxdoc}
%\usepackage[colorlinks,hyperindex=false,linktocpage,bookmarksnumbered]{hyperref}
@@ -52,6 +52,19 @@
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
+\renewcommand{\subsection}
+ {\renewcommand{\@seccntformat}[1]{\thesubsection\quad}%
+ \@startsection {subsection}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\large\bfseries}}
+\renewcommand{\subsubsection}
+ {\renewcommand{\@seccntformat}[1]{\thesubsubsection\quad}%
+ \@startsection {subsubsection}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\large\bfseries}}
+%
\renewcommand{\paragraph}
{\renewcommand{\@seccntformat}[1]{\theparagraph\unskip\,}%
\@startsection{paragraph}{4}{0pt}{6pt}{-3pt}{\bfseries}}
@@ -63,8 +76,9 @@
{\list{}{\leftmargin\amtIndent}%
\item\relax}
{\endlist}
+\let\@latex@warning\@gobble
\makeatother
-\InputIfFileExists{aebdocfmt.def}{\PackageWarning{eq-pin2corr}{Inputting aebdocfmt.def}}
+\InputIfFileExists{aebdocfmt.def}{\PackageInfo{eq-pin2corr}{Inputting aebdocfmt.def}}
{\def\IndexOpt{\DescribeMacro}\def\IndexKey{\DescribeMacro}\let\setupFullwidth\relax
\PackageInfo{eq-pin2corr}{aebdocfmt.def cannot be found}}
\begin{document}
@@ -147,8 +161,8 @@
\DeclareOption{showscore}{\PINshowScoretrue}
\DeclareOption{!showscore}{\PINshowScorefalse}
\ProcessOptions\relax
-\RequirePackage{exerquiz}[2021/02/17]
-\RequirePackage{eq-save}[2021/02/17]
+\RequirePackage{exerquiz}[2021/05/21]
+\RequirePackage{eq-save}[2021/04/27]
% \end{macrocode}
% \section{Package commands}
% Implement local versions\DescribeMacro{\showScoreOn}\DescribeMacro{\showScoreOff}{} of the package options \opt{showscore} and \opt{!showscore},
@@ -157,37 +171,38 @@
\def\showScoreOn{\PINshowScoretrue}
\def\showScoreOff{\PINshowScorefalse}
% \end{macrocode}
+% \subsection{PIN security on the \textsf{Correct} control}
% Define \DescribeMacro{\SaveAndSendMsg} a message that appears on the console when the PIN entered is not correct.
% \begin{macrocode}
\flJSStr[noquotes]{\SaveAndSendMsg}{Success! %
Now save and send to the instructor}
% \end{macrocode}
-% Make changes to the \uif{End Quiz} control and to the \uif{Correct} control.
-% Begin by modifying the \DescribeMacro{\postSubmitQuiz}\cs{postSubmitQuiz} command, which is a hook within the executing
-% code of the \uif{End Quiz} control.
+% \DescribeMacro\postSubmitQuizPIN
+% Begin by modifying the \cs{postSubmitQuiz} command,
+% which is a hook within the executing code of the \uif{End Quiz} control.
% \begin{macrocode}
-\begin{defineJS*}[\makeesc\@\makecmt\%]{\postSubmitQuiz}
+\begin{defineJS*}[\makeesc\@\makecmt\%]{\postSubmitQuizPIN}
// Begin post submit quiz code%
@ifPINSecurity%
@ifPINshowScore@else
- var f = this.getField("ScoreField.@oField");
- if ( f!=null ) {
- f.textSize=0;
- f.value = "@SaveAndSendMsg";
- } else {
- var f = this.getField("PointsField.@oField");
- if (f!=null) {
+ var f = this.getField("ScoreField.@oField");
+ if ( f!=null ) {
f.textSize=0;
- f.value = "Success! Now save and send to instructor";
- }
- }@fi@fi
- oRecordOfQuizData["ScoreData.@oField"]=%
+ f.value = "@SaveAndSendMsg";
+ } else {
+ var f = this.getField("PointsField.@oField");
+ if (f!=null) {
+ f.textSize=0;
+ f.value = "@SaveAndSendMsg";
+ }
+ }@fi@fi
+ oRecordOfQuizData["ScoreData.@oField"]=%
[1*Score,1*NQuestions,1*ptScore,1*NPointTotal];
- oRecordOfQuizData["RightWrong.@oField"]=%
+ oRecordOfQuizData["RightWrong.@oField"]=%
eval(RightWrong.toSource());
- oRecordOfQuizData["ProbDist.@oField"]=%
+ oRecordOfQuizData["ProbDist.@oField"]=%
eval(ProbDist.toSource());
- cntCorrectResponses();
+ cntCorrectResponses();
\end{defineJS*}
% \end{macrocode}
% The command name for the action of the \uif{End Quiz} control is
@@ -195,10 +210,15 @@ eval(ProbDist.toSource());
% We save this and pre-pend a single code line, as needed.
% \begin{macrocode}
\let\eQzBtnActnsSave\eQzBtnActns
-\def\eQzBtnActns{\ifPINshowScore\else
+\def\makeEndQuizPIN{%
+ \let\eQzBtnActns\eQzBtnActnsPIN
+ \let\postSubmitQuiz\postSubmitQuizPIN
+}
+\def\eQzBtnActnsPIN{\ifPINshowScore\else
var bDisplaySilent=true;\r\fi
\eQzBtnActnsSave
}
+%\makeEndQuizPIN
% \end{macrocode}
% The command name for the action of the \uif{Correct} control is \cs{CorrBtnActionsJS}
% we save this and later modify it.
@@ -210,8 +230,10 @@ eval(ProbDist.toSource());
% \begin{macrocode}
\newif\ifPINSecurity \PINSecurityfalse
\def\usePINCorrBtn{\PINSecuritytrue
+ \makeEndQuizPIN % dps5-25
\let\CorrBtnActionsJS\CorrBtnActionsPwdJS}
\def\restoreCorrBtn{\PINshowScoretrue\PINSecurityfalse
+ \restoreEndQuiz % dps5-25
\let\CorrBtnActionsJS\CorrBtnActionsJSSave}
% \end{macrocode}
% The instructor can tediously press the \uif{Correction} button, or place
@@ -226,18 +248,31 @@ eval(ProbDist.toSource());
%and string hash values. The \DescribeMacro\classPINVar\cs{classPINVar} is a convenient
%way of declaring the PIN variable name; eg, if |\classPINVar{_PinCode1}| is declared
%prior to the \env{quiz} environment, the instructor need not manually enter the PIN.
+%\changes{v1.1}{2021/05/22}{Added \string\cs{ifFreezeQuiz} switch and \string\cs{FreezeThisQuiz}
+%convenience macro}
% \begin{macrocode}
\def\classPINVar#1{\def\PINclassPV{#1}}
\let\PINclassPV\@empty
% \end{macrocode}
+% \DescribeMacro\FreezeThisQuiz
+% Causes the interactive parts of a quiz to be readonly. This can be passed
+% into the \uif{End Quiz} control so that when the student presses \uif{End Quiz}
+% the quiz will be frozen (after a warning); or through the \uif{Correct} button,
+% then the returned quiz will be readonly.
+% \begin{macrocode}
+\newif\ifFreezeQuiz\FreezeQuizfalse
+\def\FreezeThisQuiz{\FreezeQuiztrue}
+\def\FreezeThisQuizNot{\FreezeQuizfalse}
+% \end{macrocode}
+% \DescribeMacro\CorrBtnActionsPwdJS
% The modified action for the \uif{Correct} button.
% we save this and later modify it.
% \begin{macrocode}
-\begin{defineJS*}[\makeesc\!\makecmt\%]{\CorrBtnActionsPwdJS}
-!ifx!PINclassPV!@empty%
-var userPIN = "";!else%
-var userPIN = "!PINclassPV";!fi
-if (userPIN == "" ) userPIN = undefined;
+\begin{defineJS*}[\makeesc\|\makecmt\%]{\CorrBtnActionsPwdJS}
+|ifx|PINclassPV|@empty%
+var userPIN = "";|else%
+var userPIN = "|PINclassPV";|fi
+if (userPIN == "") userPIN = undefined;
try {
if ( typeof eval(userPIN) == "undefined") userPIN = undefined;
} catch(e) { userPIN = undefined; }
@@ -247,34 +282,245 @@ if (typeof userPIN == "undefined") {
cTitle: "View Answers",
bPassword: true
});
- var _resp=Collab.hashString(resp);
- var _bQzResults = ( _resp ==_PinCode );
+ var _resp=Collab.hashString(resp);
+ if (resp != null) var _bQzResults = ( _resp ==_PinCode );
} else var _bQzResults = ( eval(userPIN) ==_PinCode );
if (_bQzResults) {
- RightWrong=eval("RightWrong.!currQuiz");
- ProbDist=eval("ProbDist.!currQuiz");
- correctQuiz("!currQuiz",3);
- DisplayQuizResults("!currQuiz",3,3);
- if (typeof correctSumryTbl == "function")
- correctSumryTbl("!currQuiz",3);
+% \end{macrocode}
+% (2021/05/24) Do nothing if no quiz data
+% \begin{macrocode}
+ if (typeof oRecordOfQuizData["ScoreData.|currQuiz"]!="undefined") {
+ RightWrong=eval("RightWrong.|currQuiz");
+ ProbDist=eval("ProbDist.|currQuiz");
+ correctQuiz("|currQuiz",3);
+ DisplayQuizResults("|currQuiz",3,3);
+ if (typeof correctSumryTbl == "function")
+ correctSumryTbl("|currQuiz",3);%
+% \end{macrocode}
+% (2021/05/22) If \cs{ifFreezeQuiz} is true, we add some code to freeze all operational
+% components of this quiz.
+% \begin{macrocode}
+|ifFreezeQuiz
+ var aFrzExt=new Array("obj.","grpobj.","essay.",%
+"beginQuiz.","endQuiz.");
+ for (var i=0; i<aFrzExt.length; i++) {
+ var f=this.getField(aFrzExt[i]+"|currQuiz");
+ if (f!=null) f.readonly=true;
+ }|fi
+ } else {
+ var retn=app.alert({%
+cMsg: "No quiz data, do you want to mark it anyway?",%
+cTitle: "AcroTeX", nIcon: 2, nType: 2});
+ if (retn==4) {
+ var bDisplaySilent=false;
+ InitializeQuiz("|currQuiz",1,0);
+ var f=this.getField("ScoreData.|currQuiz");
+ f.value="0;0;0;0";
+ cntCorrectResponses();
+ correctQuiz("|currQuiz",3);
+ DisplayQuizResults("|currQuiz",3,3,false);
+ if (typeof correctSumryTbl == "function")
+ correctSumryTbl("|currQuiz",3);
+ }
+ }
} else {
- console.println("Something went wrong, \\
-you entered an incorrect PIN Id, \\
+ if (resp != null) {
+ console.clear()
+ console.println("Something went wrong, %
+you entered an incorrect PIN Id, %
or the class PIN Id (\\\\classPINVar) was incorrect or undefined");
- console.show();
+ app.beep(0);
+ console.show();
+ }
}
\end{defineJS*}
% \end{macrocode}
-% \DescribeMacro\declPINId\hskip-\marginparsep\texttt{\darg{\ameta{PIN-Id}}\darg{\ameta{hash-str}}}
-% Set the basic parameters of this PIN security scheme: the pin-id and its corresponding hash-string.
+%
+% \subsection{Declare PIN for \textsf{Correction} and \textsf{Begin Quiz} controls}
+% Two PIN-related commands are defined: (1) \cs{declPINId} is for security on the
+% \uif{Correct} control; (2) \cs{declRePINId} is for security on the \uif{Begin Quiz}
+% control.\medskip
+%
+% \noindent\DescribeMacro\declPINId\hskip-\marginparsep\texttt{\darg{\ameta{PIN-Id}}\darg{\ameta{hash-str}}}
+% Set the basic parameters of this PIN security scheme for the \uif{Correct} control:
+% the pin-id and its corresponding hash-string.
% \begin{macrocode}
\def\declPINId#1#2{\def\numPINId{#1}\def\hashPINId{#2}}
\@onlypreamble\declPINId
\declPINId{5243}{02JRVZdRgYgCA-Rtje8VkD} % PIN Id, hash-str
+% \end{macrocode}
+% \DescribeMacro\declRePINId\hskip-\marginparsep\texttt{\darg{\ameta{PIN-Id}}\darg{\ameta{hash-str}}}
+% Set the basic parameters of this PIN security scheme on the \uif{Begin Quiz} control:
+% the pin-id and its corresponding hash-string.
+% \begin{macrocode}
+\def\declRePINId#1#2{\def\numRePINId{#1}\def\hashRePINId{#2}}
+\@onlypreamble\declRePINId
+\declRePINId{1234}{By9mbLF0NJMA2sN2x4D0VB}
\begin{insDLJS}{pin}{Pin Code}
var _PinCode = "\hashPINId";
+var _rePinCode = "\hashRePINId";
\end{insDLJS}
% \end{macrocode}
+% \subsection{Warn and Freeze on \textsf{End Quiz}}
+% \DescribeMacro\useWarnEndQuiz
+% (2021/05/22) Optional modifications to the \uif{End Quiz} control.
+% \changes{v1.1}{2021/05/22}{Define \string\cs{useWarnEndQuiz} and
+% \string\cs{EndQuizG@tePIN}}
+% \begin{macrocode}
+\def\useWarnEndQuiz{\let\EndQuizG@te\EndQuizG@tePIN}
+\flJSStr{\EndQuizG@te@Msg}{Warning:
+Are you sure you want to end this quiz?\r\r
+The quiz will be frozen and no more changes will be allowed.
+Click 'Yes' to end the quiz or 'No' to continue working on the quiz.}
+\def\PINgobii#1#2{}
+\begin{defineJS}[\makeesc\|\makecmt\%]{\EndQuizG@tePIN}
+// Begin insertion of new code
+ var retn=app.alert({cMsg: |EndQuizG@te@Msg,%
+cTitle: "AcroTeX", nIcon: 2, nType: 2});
+ if (retn==4) {
+% \end{macrocode}
+% Freeze this quiz; we make a relevant fields readonly.
+% \begin{macrocode}
+ var aFrzExt=new Array("mc.","obj.","grpobj.",%
+"beginQuiz.","endQuiz.");
+ for (var i=0; i<aFrzExt.length; i++) {
+ var f=this.getField(aFrzExt[i]+"|currQuiz");
+ if (f!=null) f.readonly=true;
+ }%
+|PINgobii
+\end{defineJS}
+% \end{macrocode}
+% The \cs{PINglobii} vacuums up `\verb*! {!', which appears in \cs{eQzBtnActns} of
+% \pkg{exerquiz}, in the line \verb*!*EndQuizG@te {!.
+%
+% \subsection{PIN Security on \textsf{Begin Quiz}}
+%
+% \DescribeMacro\useBeginQuizPIN (2021/05/29) This command redefines the \uif{Begin Quiz} control to
+% require PIN security to retake the quiz.
+% \changes{v2.0}{2021/05/29}{Define \string\cs{useBeginQuizPIN}}
+% \begin{macrocode}
+\def\useBeginQuizPIN{%
+ \ifx\BeginQuizG@te\BeginQuizG@tePIN\else
+ \let\BeginQuizG@te\BeginQuizG@tePIN\fi}
+% \end{macrocode}
+% \cs{restoreBeginQuiz} is defined in \pkg{exerquiz}, but because of a typo,
+% it was originally defined as \cs{restorBeginQuiz} (no `e'); until the changes trickle
+% through the system, we cover ourselves by \cs{let}ing \cs{restoreBeginQuiz}
+% to \cs{restorBeginQuiz}, if the correct spelling of the command does not already
+% exist.
+% \begin{macrocode}
+\@ifundefined{restoreBeginQuiz}{\let\restoreBeginQuiz\restorBeginQuiz}{}
+% \end{macrocode}
+% \begin{macrocode}
+\flJSStr{\BeginQuizG@te@Msgi}{Enter the PIN number
+to retake this quiz}
+\flJSStr{\BeginQuizG@te@Msgii}{Press the Begin Quiz control to begin
+the quiz again}
+\def\PINgobiii#1#2#3{}
+% \end{macrocode}
+% \begin{macrocode}
+\begin{defineJS}[\makeesc\|\makecmt\%]{\BeginQuizG@tePIN}
+if (typeof oRecordOfQuizData["ScoreData.|currQuiz"] != "undefined" ) {
+ var resp=app.response({
+ cQuestion: |BeginQuizG@te@Msgi,
+ cTitle: "AcroTeX",
+ bPassword: true
+ });
+ var _respHash=_resp=Collab.hashString(resp);
+ if (_resp == _rePinCode) {
+ oRecordOfQuizData["ScoreData.|currQuiz"]=undefined;
+ app.alert(|BeginQuizG@te@Msgii);
+ var f=this.getField("tallyresets.|currQuiz");
+ if (f!=null) f.value=1+f.value;
+ }
+} else {
+|PINgobiii
+\end{defineJS}
+% \end{macrocode}
+% \cs{PINglobiii} gobbles the three tokens `\verb*! {\jsR!', which appear in the definition of \cs{@initQuiz} in
+% \pkg{exerquiz}, in the line \verb*!\BeginQuizG@te\space\jsLB\jsR\jsT!.
+%
+% \section{Tracking the number of \textsf{Begin Quiz} events}
+% A command \cs{qzResetTally} is defined to hold the number of times a user has taken
+% the same quiz. This field is readonly, and does not reset, unless you have know how to do it.
+% \begin{macrocode}
+% \end{macrocode}
+% \DescribeMacro{\qzResetTally}\hskip-\marginparsep\texttt{[\ameta{options}]}
+% The \cs{qzResetTally} text field, similar to \cs{sqTallyTotal}, is used to
+% count the number of times a student needs to retake the same quiz.
+% \begin{macrocode}
+% \end{macrocode}
+% The default appearance of \cs{qzResetTally}
+% \begin{macrocode}
+\def\qzTallyTotalDefaults{%
+ \rawPDF{}\W{1}\BC{0 0 0}\S{I}\textColor{1 0 0 rg}
+ \Q{2}}
+% \end{macrocode}
+% The definition of \cs{qzResetTally}
+% \begin{macrocode}
+\newcommand\qzResetTally[1][]{%
+ \textField[\presets{\qzTallyTotalDefaults}#1\DV{0}\V{0}
+ \Ff{\FfReadOnly}
+ ]{tallyresets.\currQuiz}{\TBW}{\DefaultHeightOfWidget}}
+% \end{macrocode}
+% \subsection{Placing a maximum on the number of resets}
+% The next level of complication is to add a restriction onto the number of
+% times the user can retake the quiz.\medskip\par
+%
+% \noindent
+% \DescribeMacro\setMaxRetakes\hskip-\marginparsep\texttt{\darg{\ameta{qz-name}}\darg{\ameta{num}}}
+% A command that sets the maximum number of retakes \ameta{num} (nonneg integer) by declaring \cs{setMaxRetakes} prior
+% to the quiz \ameta{qz-name}. \DescribeMacro\nMaxRetakes\cs{nMaxRetakes\darg{\ameta{qz-name}}}
+% is a public macro that expands to the max number of retakes (\ameta{num}).
+% \begin{macrocode}
+\newcommand{\setMaxRetakes}[2]{\expandafter
+ \def\csname1MaxReset#1\endcsname{#2}}
+\def\nMaxRetakes#1{\@nameuse{1MaxReset#1}}
+% \end{macrocode}
+% \subsection{JavaScript support for tracking}
+% \DescribeMacro\useBeginQuizCnt Modifies \cs{BeginQuizG@te} (\pkg{exerquiz}, 2021/05/21 or later).
+% \cs{useBeginQuizPIN} also modifies \cs{BeginQuizG@te}. These two are incompatible;
+% one will overwrite the other. \cs{restoreBeginQuiz} retores \uif{Begin Quiz} to its default definition.
+% \changes{v2.0}{2021/05/29}{Define \string\cs{useBeginQuizCnt}}
+% \begin{macrocode}
+\def\useBeginQuizCnt{%
+ \ifx\BeginQuizG@te\BeginQuizG@teCNT\else
+ \let\BeginQuizG@te\BeginQuizG@teCNT\fi}
+% \end{macrocode}
+% \DescribeMacro\maxRetake@Msg The message that appears in an alert dialog box
+% after the student has started the quiz more than the max number, as set by
+% \cs{setMaxRetakes}.
+% \begin{macrocode}
+\flJSStr[noquotes]{\maxRetake@Msg}{You have taken the quiz the maximum
+number of times permitted ("+nMaxReset+"). You will not be allowed to
+continue to re-take this quiz. Move on with your life.}
+% \end{macrocode}
+% The action added to \uif{Begin Quiz}, it determines if \cs{qzResetTally} is present for the current quiz
+% and if so, increments the current value.
+% \begin{macrocode}
+\begin{defineJS}[\makeesc\|\makecmt\%]{\BeginQuizG@teCNT}
+if (typeof oRecordOfQuizData["ScoreData.|currQuiz"] != "undefined" )
+{
+ var _bOKReset=true;
+ var f=this.getField("tallyresets.|currQuiz");
+ if (f!=null) var value=1*f.value;%
+|expandafter|ifx|csname1MaxReset|currQuiz|endcsname|relax|else
+ var nMaxReset=|csname1MaxReset|currQuiz|endcsname;
+ if (f!=null && value==nMaxReset) {
+ app.alert("|maxRetake@Msg");
+ _bOKReset=false;
+ }|fi
+ if (_bOKReset) {
+ oRecordOfQuizData["ScoreData.|currQuiz"]=undefined;
+ app.alert(|BeginQuizG@te@Msgii);
+ if (f!=null) f.value=1+value;
+ }
+} else {
+|PINgobiii
+\end{defineJS}
+% \end{macrocode}
+% \cs{PINglobiii} gobbles the three tokens `\verb*! {\jsR!', which appear in the definition of \cs{@initQuiz} in
+% \pkg{exerquiz}, in the line \verb*!\BeginQuizG@te\space\jsLB\jsR\jsT!.
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/eq-pin2corr/examples/get-hash-string.pdf b/macros/latex/contrib/eq-pin2corr/examples/get-hash-string.pdf
index c1920bddba..20b55a7bd9 100644
--- a/macros/latex/contrib/eq-pin2corr/examples/get-hash-string.pdf
+++ b/macros/latex/contrib/eq-pin2corr/examples/get-hash-string.pdf
Binary files differ
diff --git a/macros/latex/contrib/eq-pin2corr/examples/get-hash-string.tex b/macros/latex/contrib/eq-pin2corr/examples/get-hash-string.tex
index 29422f836b..3e41710a69 100644
--- a/macros/latex/contrib/eq-pin2corr/examples/get-hash-string.tex
+++ b/macros/latex/contrib/eq-pin2corr/examples/get-hash-string.tex
@@ -3,6 +3,7 @@
\usepackage{eforms}
%\previewOn\pmpvOn
+\def\cs#1{\texttt{\eqbs#1}}
\begin{defineJS}{\btnHashStrAct}
var resp=app.response({
@@ -17,6 +18,10 @@ if (resp !=null) {
f.value=resp;
f=this.getField("txtdeclPINId");
f.value = "\\\\declPINId{"+resp+"}{"+hashStr+"}";
+ f=this.getField("txtdeclPINId");
+ var g=this.getField("txtdeclRePINId");
+ g.value = "\\\\declRePINId{"+resp+"}{"+hashStr+"}";
+
}
\end{defineJS}
@@ -30,10 +35,13 @@ if (resp !=null) {
Push the button and enter the four digit number you just created into the response box.
When you press the \textsf{OK} button,
the hash string of the PIN number you entered appears in the text field. The PIN number goes in as the
-first argument of \verb|\declPINId|, and the hash string is the second argument of \verb|\declPINId|; eg,
+first argument of \verb|\declPINId| (\verb|\declRePINId|), and the hash string is the second argument of
+\verb|\declPINId| (\verb|\declRePINId|); eg,
\begin{verbatim}
-\declPINId{5243}{02JRVZdRgYgCA-Rtje8VkD} % PIN number, hash string
+\declPINId{5243}{02JRVZdRgYgCA-Rtje8VkD} % PIN/hash string (default)
+\declRePINId{1234}{By9mbLF0NJMA2sN2x4D0VB} % PIN/hash string (default)
\end{verbatim}
+Normally, the PIN numbers for \cs{declPINId} and \cs{declRePINId} are different.\medskip
\textbf{Brief Instructions.} Press \textsf{Push}, enter your PIN, press \textsf{OK}.\medskip\par\noindent
\pushButton[\CA{Push}\AAmouseup{\btnHashStrAct}]{btn}{}{11bp}\olBdry
@@ -44,9 +52,13 @@ Save these two values as arguments of \verb|\declPINId| and place in the preambl
quiz document.\medskip
\noindent
-Copy to quiz document: \textField[\textSize{8}]{txtdeclPINId}{3in}{13bp}\olBdry
+For \cs{declPINId}, copy to quiz document:\\[6pt]\null
+ \hspace{15pt}\textField[\textSize{8}]{txtdeclPINId}{3in}{13bp}\vcgBdry[6pt]
+For \cs{declRePINId}, copy to quiz document:\\[6pt]\null
+ \hspace{15pt}\textField[\textSize{8}]{txtdeclRePINId}{3in}{13bp}\vcgBdry[6pt]
\pushButton[\CA{Reset}\AAmouseup{this.resetForm();}]{reset}{}{13bp}
+
\end{document}
diff --git a/macros/latex/contrib/eq-pin2corr/examples/qz-p2c.pdf b/macros/latex/contrib/eq-pin2corr/examples/qz-p2c.pdf
new file mode 100644
index 0000000000..18ec5466cb
--- /dev/null
+++ b/macros/latex/contrib/eq-pin2corr/examples/qz-p2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.tex b/macros/latex/contrib/eq-pin2corr/examples/qz-p2c.tex
index b084b55c5a..23642d4d6b 100644
--- a/macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.tex
+++ b/macros/latex/contrib/eq-pin2corr/examples/qz-p2c.tex
@@ -1,5 +1,5 @@
\documentclass{article}
-\usepackage[designv,forcolorpaper]{web}
+\usepackage[designv]{web} %,forcolorpaper
\usepackage{exerquiz}[2021/02/17]
\usepackage[!showscore]{eq-pin2corr}
@@ -27,8 +27,8 @@
\section*{PIN Security for Quizzes}
-This demo file implements a feature that prevents that student from
-correcting his/her own quiz. The \uif{Correct} button appears at the end of
+This demo file implements a feature that prevents students from
+correcting their own quiz. The \uif{Correct} button appears at the end of
the quiz, but a PIN number is needed for it to execute. For the purpose of
this demo files, the PIN number is given to the right of the \uif{Correct}
button; of course, the PIN is not given to the student. \verb~:-{)~ Test it
diff --git a/macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.pdf b/macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.pdf
deleted file mode 100644
index 1fca51e00a..0000000000
--- a/macros/latex/contrib/eq-pin2corr/examples/qz-pin-to-correct.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/hyperref/ChangeLog.txt b/macros/latex/contrib/hyperref/ChangeLog.txt
index 551ab35ccd..ba313e8abe 100644
--- a/macros/latex/contrib/hyperref/ChangeLog.txt
+++ b/macros/latex/contrib/hyperref/ChangeLog.txt
@@ -1,7 +1,12 @@
+2021-06-05 Ulrike Fischer/David Carlisle
+ * handle non-ascii labels, issue #185
+ * suppress break points after whatsits issue #187
+ * correct longtable check, issue #193
+
2021-02-27 Ulrike Fischer/David Carlisle
* rename puenc-greek.def to puenc-greekbasic.def to resolve
name conflict with a file in greek-fontenc, issue #177
- * some documentation improvements (PR #174)
+ * some documentation improvements (PR #174)
2021-02-10 Ulrike Fischer/David Carlisle
* moved the PU-declarations for greek to an extra file
diff --git a/macros/latex/contrib/hyperref/README.md b/macros/latex/contrib/hyperref/README.md
index 0bde5da6a8..7c883e7808 100644
--- a/macros/latex/contrib/hyperref/README.md
+++ b/macros/latex/contrib/hyperref/README.md
@@ -1,6 +1,6 @@
# README for hyperref bundle
-Version 2021-02-27 v7.00k
+Version 2021-06-05 v7.00l
## INTRODUCTION
diff --git a/macros/latex/contrib/hyperref/doc/backref.pdf b/macros/latex/contrib/hyperref/doc/backref.pdf
index ce167800fc..5d94d8f215 100644
--- a/macros/latex/contrib/hyperref/doc/backref.pdf
+++ b/macros/latex/contrib/hyperref/doc/backref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.html b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
index 04fc7b7c3b..83fa1d4537 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.html
+++ b/macros/latex/contrib/hyperref/doc/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">2021-02-27 v7.00k</span></div>
+class="ec-lmr-12">2021-06-05 v7.00l</span></div>
</div>
<h3 class="likesectionHead"><a
id="x1-1000"></a>Contents</h3>
@@ -228,38 +228,48 @@ href="hyperref-doc3.html#fn2x0"><sup class="textsuperscript">2</sup></a></span><
says that conformant viewers/translators must recognize the following set of <span
class="ec-lmvtt-10">\special </span>constructs:
<dl class="description"><dt class="description">
+ <!--l. 204--><p class="noindent" >
<span
class="ec-lmbx-10">href:</span> </dt><dd
-class="description"><span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 204--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">html:&#x003C;a</span><span
class="ec-lmvtt-10">&#x00A0;href</span><span
class="ec-lmvtt-10">&#x00A0;=</span><span
class="ec-lmvtt-10">&#x00A0;"href_string"&#x003E;</span></span></span>
</dd><dt class="description">
+ <!--l. 205--><p class="noindent" >
<span
class="ec-lmbx-10">name:</span> </dt><dd
-class="description"><span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 205--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">html:&#x003C;a</span><span
class="ec-lmvtt-10">&#x00A0;name</span><span
class="ec-lmvtt-10">&#x00A0;=</span><span
class="ec-lmvtt-10">&#x00A0;"name_string"&#x003E;</span></span></span>
</dd><dt class="description">
+ <!--l. 206--><p class="noindent" >
<span
class="ec-lmbx-10">end:</span> </dt><dd
-class="description"><span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 206--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">html:&#x003C;/a&#x003E;</span></span></span>
</dd><dt class="description">
+ <!--l. 207--><p class="noindent" >
<span
class="ec-lmbx-10">image:</span> </dt><dd
-class="description"><span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 207--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">html:&#x003C;img</span><span
class="ec-lmvtt-10">&#x00A0;src</span><span
class="ec-lmvtt-10">&#x00A0;=</span><span
class="ec-lmvtt-10">&#x00A0;"href_string"&#x003E;</span></span></span>
</dd><dt class="description">
+ <!--l. 208--><p class="noindent" >
<span
class="ec-lmbx-10">base_name:</span> </dt><dd
-class="description"><span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 208--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">html:&#x003C;base</span><span
class="ec-lmvtt-10">&#x00A0;href</span><span
class="ec-lmvtt-10">&#x00A0;=</span><span
@@ -272,7 +282,8 @@ between sections of documents. The <span
class="ec-lmri-10">image </span>command is intended (as with current HTML
viewers) to place an image of arbitrary graphical format on the page in the current location.
The <span
-class="ec-lmri-10">base_name </span>command is be used to communicate to the DVI viewer the full (URL)
+class="ec-lmri-10">base_name </span>command is be used to communicate to the DVI viewer the full (URL)
+
location of the current document so that files specified by relative URLs may be retrieved
correctly.
<!--l. 220--><p class="indent" > The <span
@@ -301,21 +312,21 @@ class="ec-lmvtt-10">"</span></span></span>&#8217;
characters should be escaped with a backslash (<span
class="lmsy-10">\</span>), and if it looks like a URL name it may cause
problems.
-
-
<!--l. 236--><p class="indent" > However, the drivers intended to produce <span
class="ec-lmri-10">only </span>PDF use literal PostScript or PDF <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span>
commands. The commands are defined in configuration files for different drivers, selected by package
options; at present, the following drivers are supported:
<dl class="description"><dt class="description">
+ <!--l. 242--><p class="noindent" >
<span
class="ec-lmbx-10">hypertex</span> </dt><dd
-class="description">DVI processors conforming to the HyperTeX&#x00A0;guidelines (i.e.&#x00A0;<span
+class="description">
+ <!--l. 242--><p class="noindent" >DVI processors conforming to the HyperTeX&#x00A0;guidelines (i.e.&#x00A0;<span
class="ec-lmss-10">xdvi</span>, <span
class="ec-lmss-10">dvips </span>(with the <span
-class="ec-lmss-10">-z</span>
- option), <span class="HoLogo-OzTeX"><span
+class="ec-lmss-10">-z </span>option),
+ <span class="HoLogo-OzTeX"><span
class="ec-lmss-10">O</span><span class="HoLogo-z"><span
class="ec-lmss-10">z</span></span><span class="HoLogo-TeX"><span
class="ec-lmss-10">T</span><span class="HoLogo-e"><span
@@ -323,74 +334,100 @@ class="ec-lmss-10">E</span></span><span
class="ec-lmss-10">X</span></span></span>, and <span
class="ec-lmss-10">Textures</span>)
</dd><dt class="description">
+ <!--l. 244--><p class="noindent" >
<span
class="ec-lmbx-10">dvips</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 244--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> commands tailored for <span
class="ec-lmss-10">dvips</span>
</dd><dt class="description">
+ <!--l. 245--><p class="noindent" >
<span
class="ec-lmbx-10">dvipsone</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 245--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> commands tailored for <span
class="ec-lmss-10">dvipsone</span>
</dd><dt class="description">
+ <!--l. 246--><p class="noindent" >
<span
class="ec-lmbx-10">ps2pdf</span> </dt><dd
-class="description">a special case of output suitable for processing by earlier versions of Ghostscript&#8217;s PDF
+class="description">
+ <!--l. 246--><p class="noindent" >a special case of output suitable for processing by earlier versions of Ghostscript&#8217;s PDF
writer; this is basically the same as that for <span
class="ec-lmss-10">dvips</span>, but a few variations remained before
version 5.21
</dd><dt class="description">
+ <!--l. 248--><p class="noindent" >
<span
class="ec-lmbx-10">tex4ht</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 248--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> commands for use with <span
class="ec-lmss-10">TeX4ht</span>
</dd><dt class="description">
+ <!--l. 249--><p class="noindent" >
<span
class="ec-lmbx-10">pdftex</span> </dt><dd
-class="description">pdfTeX, Hàn Th&#x1ebf; Thành&#8217;s TeX variant that writes PDF directly
+class="description">
+ <!--l. 249--><p class="noindent" >pdfTeX, Hàn Th&#x1ebf; Thành&#8217;s TeX variant that writes PDF directly
+
+
</dd><dt class="description">
+ <!--l. 250--><p class="noindent" >
<span
class="ec-lmbx-10">luatex</span> </dt><dd
-class="description">luaTeX, Unicode TeX variant that writes PDF directly
+class="description">
+ <!--l. 250--><p class="noindent" >luaTeX, Unicode TeX variant that writes PDF directly
</dd><dt class="description">
+ <!--l. 251--><p class="noindent" >
<span
class="ec-lmbx-10">dvipdfm</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 251--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> commands for Mark Wicks&#8217; DVI to PDF driver <span
class="ec-lmss-10">dvipdfm</span>
</dd><dt class="description">
+ <!--l. 252--><p class="noindent" >
<span
class="ec-lmbx-10">dvipdfmx</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 252--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> commands for driver <span
class="ec-lmss-10">dvipdfmx</span>, a successor of <span
class="ec-lmss-10">dvipdfm</span>
</dd><dt class="description">
+ <!--l. 254--><p class="noindent" >
<span
class="ec-lmbx-10">dviwindo</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
-class="ec-lmvtt-10">\special</span></span></span> commands that Y&amp;Y&#8217;s Windows previewer interprets as hypertext
- jumps within the previewer
+class="description">
+ <!--l. 254--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands that Y&amp;Y&#8217;s Windows previewer interprets as hypertext jumps
+ within the previewer
</dd><dt class="description">
+ <!--l. 255--><p class="noindent" >
<span
class="ec-lmbx-10">vtex</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 255--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> commands that MicroPress&#8217; HTML and PDF-producing TeX&#x00A0;variants
interpret as hypertext jumps within the previewer
</dd><dt class="description">
+ <!--l. 258--><p class="noindent" >
<span
class="ec-lmbx-10">textures</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
-class="ec-lmvtt-10">\special</span></span></span> commands that <span
-class="ec-lmss-10">Textures </span>interprets as hypertext jumps within the
+class="description">
+ <!--l. 258--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands that <span
+class="ec-lmss-10">Textures </span>interprets as hypertext jumps within the
previewer
</dd><dt class="description">
+ <!--l. 259--><p class="noindent" >
<span
class="ec-lmbx-10">xetex</span> </dt><dd
-class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 259--><p class="noindent" >produces <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> commands for XeTeX</dd></dl>
<!--l. 262--><p class="indent" > Output from <span
class="ec-lmss-10">dvips </span>or <span
@@ -405,13 +442,16 @@ class="ec-lmss-10">dvips -z</span>, but the DVI file is not portable. The main a
HyperTeX&#x00A0;<span
class="ec-lmvtt-10">\special </span>commands is that you can also use the document in hypertext DVI viewers, such as
<span
-class="ec-lmss-10">xdvi</span>.
+class="ec-lmss-10">xdvi</span>.
+
<dl class="description"><dt class="description">
+ <!--l. 273--><p class="noindent" >
<span
class="ec-lmbx-10">driverfallback</span> </dt><dd
-class="description">If a driver is not given and cannot be autodetected, then use the driver option, given as
- value to this option <span
+class="description">
+ <!--l. 273--><p class="noindent" >If a driver is not given and cannot be autodetected, then use the driver option, given as value to
+ this option <span
class="ec-lmss-10">driverfallback</span>. Example:
<blockquote class="quote">
<!--l. 278--><p class="noindent" ><span
@@ -476,7 +516,8 @@ in <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypersetup</span></span></span> as the option settings are processed as the package is read.
<!--l. 331--><p class="indent" > As an example, the behavior of a particular file could be controlled by:
<ul class="itemize1">
- <li class="itemize">a site-wide <span
+ <li class="itemize">
+ <!--l. 334--><p class="noindent" >a site-wide <span
class="ec-lmvtt-10">hyperref.cfg </span>setting up the look of links, adding backreferencing, and setting a
PDF display default:
@@ -488,7 +529,8 @@ class="ec-lmvtt-10">hyperref.cfg </span>setting up the look of links, adding bac
</pre>
<!--l. 341--><p class="nopar" >
</li>
- <li class="itemize">A global option in the file, which is passed down to <span
+ <li class="itemize">
+ <!--l. 343--><p class="noindent" >A global option in the file, which is passed down to <span
class="ec-lmss-10">hyperref</span>:
@@ -497,7 +539,8 @@ class="ec-lmss-10">hyperref</span>:
</pre>
<!--l. 348--><p class="nopar" >
</li>
- <li class="itemize">File-specific options in the <span
+ <li class="itemize">
+ <!--l. 350--><p class="noindent" >File-specific options in the <span
class="ec-lmvtt-10">\usepackage </span>commands, which override the ones set in
<span
class="ec-lmvtt-10">hyperref.cfg</span>:
@@ -624,16 +667,21 @@ by a dot. Example for the fourth chapter:
class="ec-lmvtt-10">chapter.4</span></span></span></blockquote>
<!--l. 409--><p class="noindent" >This scheme is used by:
<dl class="description"><dt class="description">
+ <!--l. 411--><p class="noindent" >
<span
class="ec-lmvtk-10">\autoref</span> </dt><dd
-class="description">displays the description label for the reference depending on the counter name.
+class="description">
+ <!--l. 411--><p class="noindent" >displays the description label for the reference depending on the counter name.
+
+
</dd><dt class="description">
+ <!--l. 413--><p class="noindent" >
<span
class="ec-lmvtk-10">\hyperpage</span> </dt><dd
-class="description">is used by the index to get page links. Page anchor setting (<span class="obeylines-h"><span class="verb"><span
-class="ec-lmvtt-10">pageanchor</span></span></span>) must not
- be turned off.</dd></dl>
-
+class="description">
+ <!--l. 413--><p class="noindent" >is used by the index to get page links. Page anchor setting (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pageanchor</span></span></span>) must not be turned
+ off.</dd></dl>
<!--l. 418--><p class="indent" > It is very important that the destination names are unique, because two destinations must not share
the same name. The counter value <span
class="ec-lmvtt-10">\the&#x003C;counter&#x003E; </span>is not always unique for the counter. For example,
@@ -939,20 +987,24 @@ wrong and displaced.
id="x1-80003.4"></a>Backend drivers</h4>
<!--l. 563--><p class="noindent" >If no driver is specified, the package tries to find a driver in the following order:
<ol class="enumerate1" >
- <li
- class="enumerate" id="x1-8002x1">Autodetection, some TeX&#x00A0;processors can be detected at TeX&#x00A0;macro level (pdfTeX, XeTeX,
+<li
+ class="enumerate" id="x1-8002x1">
+ <!--l. 566--><p class="noindent" >Autodetection, some TeX&#x00A0;processors can be detected at TeX&#x00A0;macro level (pdfTeX, XeTeX,
VTeX).
</li>
- <li
- class="enumerate" id="x1-8004x2">Option <span
+<li
+ class="enumerate" id="x1-8004x2">
+ <!--l. 568--><p class="noindent" >Option <span
class="ec-lmss-10">driverfallback</span>. If this option is set, its value is taken as driver option.
</li>
- <li
- class="enumerate" id="x1-8006x3">Macro <span
+<li
+ class="enumerate" id="x1-8006x3">
+ <!--l. 570--><p class="noindent" >Macro <span
class="ec-lmvtt-10">\Hy@defaultdriver</span>. The macro takes a driver file name (without file extension).
</li>
- <li
- class="enumerate" id="x1-8008x4">Package default is <span
+<li
+ class="enumerate" id="x1-8008x4">
+ <!--l. 572--><p class="noindent" >Package default is <span
class="ec-lmss-10">hypertex</span>.</li></ol>
<!--l. 574--><p class="noindent" >Many distributions are using a driver file <span
class="ec-lmvtt-10">hypertex.cfg </span>that define <span
@@ -968,6 +1020,8 @@ generation.
><colgroup id="TBL-5-1g"><col
id="TBL-5-1"><col
id="TBL-5-2"></colgroup>
+
+
<tr
style="vertical-align:baseline;" id="TBL-5-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-1-1"
class="td01"><span
@@ -1019,8 +1073,6 @@ class="td10">
<!--l. 586--><p class="noindent" >Sets up <span
class="ec-lmss-10">hyperref </span>for use with the <span
class="ec-lmss-10">dviwindo </span>Windows previewer. </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-5-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-8-1"
class="td01"><span
@@ -1358,33 +1410,30 @@ class="td10">
<!--l. 649--><p class="noindent" >Use small caps instead of color for links. </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-6-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-21-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-21-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-21-3"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-21-4"
-class="td10"></td></tr>
-<tr
- style="vertical-align:baseline;" id="TBL-6-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-22-1"
class="td01"><span
-class="ec-lmvtt-10">hidelinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-22-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-22-3"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-22-4"
+class="ec-lmvtt-10">hidelinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-21-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-21-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-21-4"
class="td10">
<!--l. 650--><p class="noindent" >Hide links (removing color and border). </td>
</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-22-1"
+class="td01"> </td>
+</tr><tr
style="vertical-align:baseline;" id="TBL-6-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-23-1"
-class="td01"> </td>
+class="td01"> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-6-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-24-1"
-class="td01"> </td>
+class="td01"> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-6-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-25-1"
-class="td01"> </td>
+class="td01"> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-6-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-26-1"
-class="td01"> </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-6-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-27-1"
-class="td01"> </td></tr>
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-26-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-26-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-26-4"
+class="td10"></td></tr>
</table></div>
<!--l. 653--><p class="noindent" >Note that all color names must be defined before use, following the normal system of the standard
LaTeX&#x00A0;<span
@@ -1625,7 +1674,7 @@ id="TBL-8-4"></colgroup>
<tr
style="vertical-align:baseline;" id="TBL-8-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-1-1"
class="td01"><span
-class="ec-lmvtt-10">baseurl </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-1-2"
+class="ec-lmvtt-10">baseurl </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-1-2"
class="td11">
<!--l. 716--><p class="noindent" >URL </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-1-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-1-4"
@@ -1634,7 +1683,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagemode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-2-2"
+class="ec-lmvtt-10">pdfpagemode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-2-2"
class="td11">
<!--l. 717--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-3"
class="td11"> <span
@@ -1657,7 +1706,7 @@ class="ec-lmvtt-10">UseOutlines</span></span></span> is used. </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
-class="ec-lmvtt-10">pdftitle </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-3-2"
+class="ec-lmvtt-10">pdftitle </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-3-2"
class="td11">
<!--l. 722--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-3-4"
@@ -1666,7 +1715,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-4-1"
class="td01"><span
-class="ec-lmvtt-10">pdfauthor </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-4-2"
+class="ec-lmvtt-10">pdfauthor </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-4-2"
class="td11">
<!--l. 723--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-4-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-4-4"
@@ -1675,7 +1724,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-5-1"
class="td01"><span
-class="ec-lmvtt-10">pdfsubject </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-5-2"
+class="ec-lmvtt-10">pdfsubject </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-5-2"
class="td11">
<!--l. 724--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-5-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-5-4"
@@ -1684,7 +1733,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-6-1"
class="td01"><span
-class="ec-lmvtt-10">pdfcreator </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-6-2"
+class="ec-lmvtt-10">pdfcreator </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-6-2"
class="td11">
<!--l. 725--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-6-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-6-4"
@@ -1693,7 +1742,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-7-1"
class="td01"><span
-class="ec-lmvtt-10">addtopdfcreator </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-7-2"
+class="ec-lmvtt-10">addtopdfcreator </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-7-2"
class="td11">
<!--l. 726--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-7-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-7-4"
@@ -1703,7 +1752,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-8-1"
class="td01"><span
-class="ec-lmvtt-10">pdfkeywords </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-8-2"
+class="ec-lmvtt-10">pdfkeywords </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-8-2"
class="td11">
<!--l. 727--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-8-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-8-4"
@@ -1712,7 +1761,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-9-1"
class="td01"><span
-class="ec-lmvtt-10">pdftrapped </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-9-2"
+class="ec-lmvtt-10">pdftrapped </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-9-2"
class="td11">
<!--l. 728--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-9-3"
class="td11"> <span
@@ -1727,7 +1776,7 @@ class="ec-lmvtt-10">Unknown</span></span></span>.
</tr><tr
style="vertical-align:baseline;" id="TBL-8-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-10-1"
class="td01"><span
-class="ec-lmvtt-10">pdfinfo </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-10-2"
+class="ec-lmvtt-10">pdfinfo </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-10-2"
class="td11">
<!--l. 731--><p class="noindent" >key
value
@@ -1740,7 +1789,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-11-1"
class="td01"><span
-class="ec-lmvtt-10">pdfview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-11-2"
+class="ec-lmvtt-10">pdfview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-11-2"
class="td11">
<!--l. 733--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-11-3"
class="td11"> <span
@@ -1750,7 +1799,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-12-1"
class="td01"><span
-class="ec-lmvtt-10">pdfstartpage </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-12-2"
+class="ec-lmvtt-10">pdfstartpage </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-12-2"
class="td11">
<!--l. 734--><p class="noindent" >integer </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-12-3"
class="td11"> <span
@@ -1762,7 +1811,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-13-1"
class="td01"><span
-class="ec-lmvtt-10">pdfstartview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-13-2"
+class="ec-lmvtt-10">pdfstartview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-13-2"
class="td11">
<!--l. 735--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-13-3"
class="td11"> <span
@@ -1772,17 +1821,19 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-14-1"
class="td01"><span
-class="ec-lmvtt-10">pdfremotestartview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-14-2"
+class="ec-lmvtt-10">pdfremotestartview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-14-2"
class="td11">
<!--l. 736--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-14-3"
class="td11"> <span
class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-14-4"
class="td10">
<!--l. 736--><p class="noindent" >Set the startup page view of remote PDF files</td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-8-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-15-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagescrop </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-15-2"
+class="ec-lmvtt-10">pdfpagescrop </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-15-2"
class="td11">
<!--l. 737--><p class="noindent" >n
n
@@ -1792,12 +1843,10 @@ class="td11"> </td><td style="white-space:normal; text-align:left;" i
class="td10">
<!--l. 737--><p class="noindent" >Sets the default PDF crop box for pages. This
should be a set of four numbers </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-8-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-16-1"
class="td01"><span
-class="ec-lmvtt-10">pdfcenterwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-16-2"
+class="ec-lmvtt-10">pdfcenterwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-16-2"
class="td11">
<!--l. 738--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-16-3"
class="td11"> <span
@@ -1808,7 +1857,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-17-1"
class="td01"><span
-class="ec-lmvtt-10">pdfdirection </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-17-2"
+class="ec-lmvtt-10">pdfdirection </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-17-2"
class="td11">
<!--l. 739--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-17-3"
class="td11"> <span
@@ -1821,7 +1870,7 @@ class="ec-lmvtt-10">R2L</span></span></span> (right to left)
</tr><tr
style="vertical-align:baseline;" id="TBL-8-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-18-1"
class="td01"><span
-class="ec-lmvtt-10">pdfdisplaydoctitle </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-18-2"
+class="ec-lmvtt-10">pdfdisplaydoctitle </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-18-2"
class="td11">
<!--l. 741--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-18-3"
class="td11"> <span
@@ -1832,7 +1881,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-8-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-19-1"
class="td01"><span
-class="ec-lmvtt-10">pdfduplex </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-19-2"
+class="ec-lmvtt-10">pdfduplex </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-19-2"
class="td11">
<!--l. 742--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-19-3"
class="td11"> <span
@@ -1850,7 +1899,7 @@ class="ec-lmvtt-10">DuplexFlipLongEdge</span></span></span> (duplex and flip on
</tr><tr
style="vertical-align:baseline;" id="TBL-8-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-20-1"
class="td01"><span
-class="ec-lmvtt-10">pdffitwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-20-2"
+class="ec-lmvtt-10">pdffitwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-20-2"
class="td11">
<!--l. 747--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-20-3"
class="td11"> <span
@@ -1859,49 +1908,43 @@ class="td10">
<!--l. 747--><p class="noindent" >resize document window to fit document size </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-8-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-21-1"
-class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-21-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-21-3"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-21-4"
-class="td10"></td></tr>
-<tr
- style="vertical-align:baseline;" id="TBL-8-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-22-1"
class="td01"><span
-class="ec-lmvtt-10">pdflang </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-22-2"
+class="ec-lmvtt-10">pdflang </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-21-2"
class="td11">
- <!--l. 748--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-22-3"
+ <!--l. 748--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-21-3"
class="td11"> <span
-class="ec-lmri-10">relax </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-22-4"
+class="ec-lmri-10">relax </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-21-4"
class="td10">
<!--l. 748--><p class="noindent" >PDF language identifier (RFC 3066) </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-23-1"
+ style="vertical-align:baseline;" id="TBL-8-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-22-1"
class="td01"><span
-class="ec-lmvtt-10">pdfmenubar </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-23-2"
+class="ec-lmvtt-10">pdfmenubar </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-22-2"
class="td11">
- <!--l. 749--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-23-3"
+ <!--l. 749--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-22-3"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-23-4"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-22-4"
class="td10">
<!--l. 749--><p class="noindent" >make PDF viewer&#8217;s menu bar visible </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-24-1"
+ style="vertical-align:baseline;" id="TBL-8-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-23-1"
class="td01"><span
-class="ec-lmvtt-10">pdfnewwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-24-2"
+class="ec-lmvtt-10">pdfnewwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-23-2"
class="td11">
- <!--l. 750--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-24-3"
+ <!--l. 750--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-23-3"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-24-4"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-23-4"
class="td10">
<!--l. 750--><p class="noindent" >make links that open another PDF file start a
new window </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-25-1"
+ style="vertical-align:baseline;" id="TBL-8-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-24-1"
class="td01"><span
-class="ec-lmvtt-10">pdfnonfullscreenpagemode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-25-2"
+class="ec-lmvtt-10">pdfnonfullscreenpagemode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-24-2"
class="td11">
- <!--l. 752--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-25-3"
+ <!--l. 752--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-24-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-25-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-24-4"
class="td10">
<!--l. 752--><p class="noindent" >page mode setting on exiting full-screen mode.
Possible values are <span class="obeylines-h"><span class="verb"><span
@@ -1911,23 +1954,23 @@ class="ec-lmvtt-10">UseOutlines</span></span></span>,
class="ec-lmvtt-10">UseThumbs</span></span></span>, and <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">UseOC</span></span></span> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-26-1"
+ style="vertical-align:baseline;" id="TBL-8-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-25-1"
class="td01"><span
-class="ec-lmvtt-10">pdfnumcopies </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-26-2"
+class="ec-lmvtt-10">pdfnumcopies </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-25-2"
class="td11">
- <!--l. 754--><p class="noindent" >integer </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-26-3"
+ <!--l. 754--><p class="noindent" >integer </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-25-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-26-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-25-4"
class="td10">
<!--l. 754--><p class="noindent" >number of printed copies </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-27-1"
+ style="vertical-align:baseline;" id="TBL-8-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-26-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagelayout </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-27-2"
+class="ec-lmvtt-10">pdfpagelayout </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-26-2"
class="td11">
- <!--l. 755--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-27-3"
+ <!--l. 755--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-26-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-27-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-26-4"
class="td10">
<!--l. 755--><p class="noindent" >set layout of PDF pages. Possible values:
<span class="obeylines-h"><span class="verb"><span
@@ -1940,23 +1983,23 @@ class="ec-lmvtt-10">TwoPageLeft</span></span></span>, and
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">TwoPageRight</span></span></span> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-28-1"
+ style="vertical-align:baseline;" id="TBL-8-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-27-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-28-2"
+class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-27-2"
class="td11">
- <!--l. 759--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-28-3"
+ <!--l. 759--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-27-3"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-28-4"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-27-4"
class="td10">
<!--l. 759--><p class="noindent" >set PDF page labels </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-29-1"
+ style="vertical-align:baseline;" id="TBL-8-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-28-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagetransition </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-29-2"
+class="ec-lmvtt-10">pdfpagetransition </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-28-2"
class="td11">
- <!--l. 760--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-29-3"
+ <!--l. 760--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-28-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-29-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-28-4"
class="td10">
<!--l. 760--><p class="noindent" >set PDF page transition style. Possible values
are <span class="obeylines-h"><span class="verb"><span
@@ -1978,24 +2021,26 @@ class="ec-lmvtt-10">Fade</span></span></span>.
class="ec-lmvtt-10">R</span></span></span>, which simply replaces the old page with
the new one. </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-30-1"
+ style="vertical-align:baseline;" id="TBL-8-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-29-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpicktraybypdfsize </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-30-2"
+class="ec-lmvtt-10">pdfpicktraybypdfsize </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-29-2"
class="td11">
- <!--l. 769--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-30-3"
+ <!--l. 769--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-29-3"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-30-4"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-29-4"
class="td10">
<!--l. 769--><p class="noindent" >specify whether PDF page size is used to select
input paper tray in print dialog </td>
+
+
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-31-1"
+ style="vertical-align:baseline;" id="TBL-8-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-30-1"
class="td01"><span
-class="ec-lmvtt-10">pdfprintarea </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-31-2"
+class="ec-lmvtt-10">pdfprintarea </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-30-2"
class="td11">
- <!--l. 770--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-31-3"
+ <!--l. 770--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-30-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-31-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-30-4"
class="td10">
<!--l. 770--><p class="noindent" >set /PrintArea of viewer preferences. Possible
values are <span class="obeylines-h"><span class="verb"><span
@@ -2007,16 +2052,14 @@ class="ec-lmvtt-10">TrimBox</span></span></span>, and <span class="obeylines-h">
class="ec-lmvtt-10">ArtBox</span></span></span>. The dafault according
to the PDF&#x00A0;Refence is <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">CropBox</span></span></span> </td>
-
-
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-32-1"
+ style="vertical-align:baseline;" id="TBL-8-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-31-1"
class="td01"><span
-class="ec-lmvtt-10">pdfprintclip </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-32-2"
+class="ec-lmvtt-10">pdfprintclip </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-31-2"
class="td11">
- <!--l. 774--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-32-3"
+ <!--l. 774--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-31-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-32-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-31-4"
class="td10">
<!--l. 774--><p class="noindent" >set /PrintClip of viewer preferences. Possible
values are <span class="obeylines-h"><span class="verb"><span
@@ -2029,26 +2072,26 @@ class="ec-lmvtt-10">ArtBox</span></span></span>. The dafault according
to the PDF&#x00A0;Refence is <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">CropBox</span></span></span> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-33-1"
+ style="vertical-align:baseline;" id="TBL-8-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-32-1"
class="td01"><span
-class="ec-lmvtt-10">pdfprintpagerange </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-33-2"
+class="ec-lmvtt-10">pdfprintpagerange </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-32-2"
class="td11">
<!--l. 778--><p class="noindent" >n
n
(n
- n)* </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-33-3"
+ n)* </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-32-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-33-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-32-4"
class="td10">
<!--l. 779--><p class="noindent" >set /PrintPageRange of viewer preferences </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-34-1"
+ style="vertical-align:baseline;" id="TBL-8-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-33-1"
class="td01"><span
-class="ec-lmvtt-10">pdfprintscaling </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-34-2"
+class="ec-lmvtt-10">pdfprintscaling </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-33-2"
class="td11">
- <!--l. 780--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-34-3"
+ <!--l. 780--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-33-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-34-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-33-4"
class="td10">
<!--l. 780--><p class="noindent" >page scaling option for print dialog (option
/PrintScaling of viewer preferences, PDF 1.6);
@@ -2056,23 +2099,23 @@ class="td10">
class="ec-lmvtt-10">None</span></span></span> and <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">AppDefault</span></span></span> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-35-1"
+ style="vertical-align:baseline;" id="TBL-8-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-34-1"
class="td01"><span
-class="ec-lmvtt-10">pdftoolbar </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-35-2"
+class="ec-lmvtt-10">pdftoolbar </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-34-2"
class="td11">
- <!--l. 785--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-35-3"
+ <!--l. 785--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-34-3"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-35-4"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-34-4"
class="td10">
<!--l. 785--><p class="noindent" >make PDF toolbar visible </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-36-1"
+ style="vertical-align:baseline;" id="TBL-8-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-35-1"
class="td01"><span
-class="ec-lmvtt-10">pdfviewarea </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-36-2"
+class="ec-lmvtt-10">pdfviewarea </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-35-2"
class="td11">
- <!--l. 786--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-36-3"
+ <!--l. 786--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-35-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-36-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-35-4"
class="td10">
<!--l. 786--><p class="noindent" >set /ViewArea of viewer preferences. Possible
values are <span class="obeylines-h"><span class="verb"><span
@@ -2085,13 +2128,13 @@ class="ec-lmvtt-10">ArtBox</span></span></span>. The dafault according
to the PDF&#x00A0;Refence is <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">CropBox</span></span></span> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-37-1"
+ style="vertical-align:baseline;" id="TBL-8-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-36-1"
class="td01"><span
-class="ec-lmvtt-10">pdfviewclip </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-37-2"
+class="ec-lmvtt-10">pdfviewclip </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-36-2"
class="td11">
- <!--l. 790--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-37-3"
+ <!--l. 790--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-36-3"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-37-4"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-36-4"
class="td10">
<!--l. 790--><p class="noindent" >set /ViewClip of viewer preferences Possible
values are <span class="obeylines-h"><span class="verb"><span
@@ -2104,26 +2147,29 @@ class="ec-lmvtt-10">ArtBox</span></span></span>. The dafault according
to the PDF&#x00A0;Refence is <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">CropBox</span></span></span> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-38-1"
+ style="vertical-align:baseline;" id="TBL-8-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-37-1"
class="td01"><span
-class="ec-lmvtt-10">pdfwindowui </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-38-2"
+class="ec-lmvtt-10">pdfwindowui </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-37-2"
class="td11">
- <!--l. 794--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-38-3"
+ <!--l. 794--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-37-3"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-38-4"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-37-4"
class="td10">
<!--l. 794--><p class="noindent" >make PDF user interface elements visible </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-8-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-39-1"
+ style="vertical-align:baseline;" id="TBL-8-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-38-1"
class="td01"><span
-class="ec-lmvtt-10">unicode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-39-2"
+class="ec-lmvtt-10">unicode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-38-2"
class="td11">
- <!--l. 795--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-39-3"
+ <!--l. 795--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-38-3"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-39-4"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-38-4"
class="td10">
<!--l. 795--><p class="noindent" >Unicode encoded PDF strings </td>
</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-39-1"
+class="td01"> </td>
+</tr><tr
style="vertical-align:baseline;" id="TBL-8-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-40-1"
class="td01"> </td>
</tr><tr
@@ -2131,16 +2177,16 @@ class="td01"> </td>
class="td01"> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-8-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-42-1"
-class="td01"> </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-8-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-43-1"
-class="td01"> </td></tr>
+class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-42-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-42-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-42-4"
+class="td10"></td></tr>
</table></div>
<!--l. 798--><p class="noindent" >Each link in Acrobat carries its own magnification level, which is set using PDF coordinate space, which
is not the same as TeX&#8217;s. The unit is bp and the origin is in the lower left corner. See also <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypercalcbp</span></span></span>
that is explained on page <a
-href="#x1-190004.3">47<!--tex4ht:ref: hypercalcbp --></a>. pdfTeX&#x00A0;works by supplying default values for <span
+href="#x1-190004.3">48<!--tex4ht:ref: hypercalcbp --></a>. pdfTeX&#x00A0;works by supplying default values for <span
class="ec-lmvtt-10">XYZ </span>(horizontal <span
class="lmsy-10">&#x00D7;</span>
vertical <span
@@ -2174,6 +2220,8 @@ class="ec-lmri-10">null null</span>
<span
class="ec-lmri-10">null </span>will give the same values as the current
page. </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-2-1"
class="td01"><span
@@ -2197,8 +2245,6 @@ class="td11"> <span
class="ec-lmri-10">left </span></td><td style="white-space:normal; text-align:left;" id="TBL-9-4-3"
class="td10">
<!--l. 815--><p class="noindent" >Fits the height of the page to the window. </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-9-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-5-1"
class="td01"><span
@@ -2348,6 +2394,8 @@ class="ec-lmvtt-10">Box </span></td><td style="white-space:nowrap; text-a
class="td11"> /M </td><td style="white-space:normal; text-align:left;" id="TBL-11-2-3"
class="td10">
<!--l. 843--><p class="noindent" >A box sweeps in or out. </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-3-1"
class="td01"><span
@@ -2364,8 +2412,6 @@ class="td11"> /Di </td><td style="white-space:normal; text-align:left;
class="td10">
<!--l. 845--><p class="noindent" >Similar to Dissolve, except the effect sweeps across the
screen. </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-5-1"
class="td01"><span
@@ -2493,14 +2539,14 @@ id="TBL-12-3"></colgroup>
<tr
style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-1-1"
class="td01"><span
-class="ec-lmvtt-10">allbordercolors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-1-2"
+class="ec-lmvtt-10">allbordercolors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-1-2"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-1-3"
class="td10">
<!--l. 894--><p class="noindent" >Set all border color options </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-2-1"
class="td01"><span
-class="ec-lmvtt-10">allcolors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-2-2"
+class="ec-lmvtt-10">allcolors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-2-2"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-2-3"
class="td10">
<!--l. 895--><p class="noindent" >Set all color options (without border and field
@@ -2508,7 +2554,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-3-1"
class="td01"><span
-class="ec-lmvtt-10">anchorcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-3-2"
+class="ec-lmvtt-10">anchorcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-3-2"
class="td11"> <span
class="ec-lmri-10">black </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-3-3"
class="td10">
@@ -2516,7 +2562,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-4-1"
class="td01"><span
-class="ec-lmvtt-10">backref </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-4-2"
+class="ec-lmvtt-10">backref </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-4-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-4-3"
class="td10">
@@ -2524,7 +2570,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-5-1"
class="td01"><span
-class="ec-lmvtt-10">baseurl </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-5-2"
+class="ec-lmvtt-10">baseurl </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-5-2"
class="td11"> <span
class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-5-3"
class="td10">
@@ -2532,7 +2578,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-6-1"
class="td01"><span
-class="ec-lmvtt-10">bookmarks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-6-2"
+class="ec-lmvtt-10">bookmarks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-6-2"
class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-6-3"
class="td10">
@@ -2540,7 +2586,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-7-1"
class="td01"><span
-class="ec-lmvtt-10">bookmarksnumbered </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-7-2"
+class="ec-lmvtt-10">bookmarksnumbered </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-7-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-7-3"
class="td10">
@@ -2548,7 +2594,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-8-1"
class="td01"><span
-class="ec-lmvtt-10">bookmarksopen </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-8-2"
+class="ec-lmvtt-10">bookmarksopen </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-8-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-8-3"
class="td10">
@@ -2556,7 +2602,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-9-1"
class="td01"><span
-class="ec-lmvtt-10">bookmarksopenlevel </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-9-2"
+class="ec-lmvtt-10">bookmarksopenlevel </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-9-2"
class="td11"> <span
class="ec-lmvtt-10">\maxdimen </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-9-3"
class="td10">
@@ -2564,7 +2610,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-10-1"
class="td01"><span
-class="ec-lmvtt-10">bookmarkstype </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-10-2"
+class="ec-lmvtt-10">bookmarkstype </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-10-2"
class="td11"> <span
class="ec-lmri-10">toc </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-10-3"
class="td10">
@@ -2572,7 +2618,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-11-1"
class="td01"><span
-class="ec-lmvtt-10">breaklinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-11-2"
+class="ec-lmvtt-10">breaklinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-11-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-11-3"
class="td10">
@@ -2580,7 +2626,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-12-1"
class="td01"><span
-class="ec-lmvtt-10">CJKbookmarks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-12-2"
+class="ec-lmvtt-10">CJKbookmarks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-12-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-12-3"
class="td10">
@@ -2588,7 +2634,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-13-1"
class="td01"><span
-class="ec-lmvtt-10">citebordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-13-2"
+class="ec-lmvtt-10">citebordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-13-2"
class="td11"> <span
class="ec-lmri-10">0 1 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-13-3"
class="td10">
@@ -2596,7 +2642,7 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-14-1"
class="td01"><span
-class="ec-lmvtt-10">citecolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-14-2"
+class="ec-lmvtt-10">citecolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-14-2"
class="td11"> <span
class="ec-lmri-10">green </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-14-3"
class="td10">
@@ -2604,35 +2650,35 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-15-1"
class="td01"><span
-class="ec-lmvtt-10">colorlinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-15-2"
+class="ec-lmvtt-10">colorlinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-15-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-15-3"
class="td10">
<!--l. 908--><p class="noindent" >color links </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-16-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-16-2"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-16-2"
class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-16-3"
class="td10">
<!--l. 909--><p class="noindent" >(<span
class="ec-lmss-10">tex4ht</span>, <span
class="ec-lmss-10">dviwindo</span>) </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-12-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-17-1"
class="td01"><span
-class="ec-lmvtt-10">debug </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-17-2"
+class="ec-lmvtt-10">debug </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-17-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-17-3"
class="td10">
<!--l. 910--><p class="noindent" >provide details of anchors defined; same as
verbose </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-12-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-18-1"
class="td01"><span
-class="ec-lmvtt-10">destlabel </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-18-2"
+class="ec-lmvtt-10">destlabel </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-18-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-18-3"
class="td10">
@@ -2642,7 +2688,7 @@ class="ec-lmvtt-10">\label</span></span></span>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-19-1"
class="td01"><span
-class="ec-lmvtt-10">draft </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-19-2"
+class="ec-lmvtt-10">draft </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-19-2"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-19-3"
class="td10">
@@ -2650,586 +2696,572 @@ class="td10">
</tr><tr
style="vertical-align:baseline;" id="TBL-12-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-20-1"
class="td01"><span
-class="ec-lmvtt-10">driverfallback </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-20-2"
+class="ec-lmvtt-10">driverfallback </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-20-2"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-20-3"
class="td10">
<!--l. 913--><p class="noindent" >default if no driver specified or detected </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-21-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-21-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-21-3"
-class="td10"></td></tr>
-<tr
- style="vertical-align:baseline;" id="TBL-12-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-22-1"
class="td01"><span
-class="ec-lmvtt-10">dvipdfm </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-22-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-22-3"
+class="ec-lmvtt-10">dvipdfm </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-21-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-21-3"
class="td10">
<!--l. 914--><p class="noindent" >use <span
class="ec-lmss-10">dvipdfm </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-23-1"
+ style="vertical-align:baseline;" id="TBL-12-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-22-1"
class="td01"><span
-class="ec-lmvtt-10">dvipdfmx </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-23-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-23-3"
+class="ec-lmvtt-10">dvipdfmx </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-22-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-22-3"
class="td10">
<!--l. 915--><p class="noindent" >use <span
class="ec-lmss-10">dvipdfmx </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-24-1"
+ style="vertical-align:baseline;" id="TBL-12-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-23-1"
class="td01"><span
-class="ec-lmvtt-10">dvips </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-24-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-24-3"
+class="ec-lmvtt-10">dvips </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-23-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-23-3"
class="td10">
<!--l. 916--><p class="noindent" >use <span
class="ec-lmss-10">dvips </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-25-1"
+ style="vertical-align:baseline;" id="TBL-12-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-24-1"
class="td01"><span
-class="ec-lmvtt-10">dvipsone </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-25-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-25-3"
+class="ec-lmvtt-10">dvipsone </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-24-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-24-3"
class="td10">
<!--l. 917--><p class="noindent" >use <span
class="ec-lmss-10">dvipsone </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-26-1"
+ style="vertical-align:baseline;" id="TBL-12-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-25-1"
class="td01"><span
-class="ec-lmvtt-10">dviwindo </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-26-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-26-3"
+class="ec-lmvtt-10">dviwindo </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-25-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-25-3"
class="td10">
<!--l. 918--><p class="noindent" >use <span
class="ec-lmss-10">dviwindo </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-27-1"
+ style="vertical-align:baseline;" id="TBL-12-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-26-1"
class="td01"><span
-class="ec-lmvtt-10">encap </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-27-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-27-3"
+class="ec-lmvtt-10">encap </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-26-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-26-3"
class="td10">
<!--l. 919--><p class="noindent" >to set encap character for hyperindex </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-28-1"
+ style="vertical-align:baseline;" id="TBL-12-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-27-1"
class="td01"><span
-class="ec-lmvtt-10">extension </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-28-2"
+class="ec-lmvtt-10">extension </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-27-2"
class="td11"> <span
-class="ec-lmri-10">dvi </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-28-3"
+class="ec-lmri-10">dvi </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-27-3"
class="td10">
<!--l. 920--><p class="noindent" >suffix of linked files </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-29-1"
+ style="vertical-align:baseline;" id="TBL-12-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-28-1"
class="td01"><span
-class="ec-lmvtt-10">filebordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-29-2"
+class="ec-lmvtt-10">filebordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-28-2"
class="td11"> <span
-class="ec-lmri-10">0 .5 .5 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-29-3"
+class="ec-lmri-10">0 .5 .5 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-28-3"
class="td10">
<!--l. 921--><p class="noindent" >color of border around file links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-30-1"
+ style="vertical-align:baseline;" id="TBL-12-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-29-1"
class="td01"><span
-class="ec-lmvtt-10">filecolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-30-2"
+class="ec-lmvtt-10">filecolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-29-2"
class="td11"> <span
-class="ec-lmri-10">cyan </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-30-3"
+class="ec-lmri-10">cyan </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-29-3"
class="td10">
<!--l. 922--><p class="noindent" >color of file links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-31-1"
+ style="vertical-align:baseline;" id="TBL-12-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-30-1"
class="td01"><span
-class="ec-lmvtt-10">final </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-31-2"
+class="ec-lmvtt-10">final </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-30-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-31-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-30-3"
class="td10">
<!--l. 923--><p class="noindent" >opposite of option draft </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-32-1"
+ style="vertical-align:baseline;" id="TBL-12-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-31-1"
class="td01"><span
-class="ec-lmvtt-10">frenchlinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-32-2"
+class="ec-lmvtt-10">frenchlinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-31-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-32-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-31-3"
class="td10">
<!--l. 924--><p class="noindent" >use small caps instead of color for links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-33-1"
+ style="vertical-align:baseline;" id="TBL-12-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-32-1"
class="td01"><span
-class="ec-lmvtt-10">hidelinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-33-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-33-3"
+class="ec-lmvtt-10">hidelinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-32-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-32-3"
class="td10">
<!--l. 925--><p class="noindent" >Hide links (removing color and border) </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-34-1"
+ style="vertical-align:baseline;" id="TBL-12-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-33-1"
class="td01"><span
-class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-34-2"
+class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-33-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-34-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-33-3"
class="td10">
<!--l. 926--><p class="noindent" >make figures hyper links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-35-1"
+ style="vertical-align:baseline;" id="TBL-12-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-34-1"
class="td01"><span
-class="ec-lmvtt-10">hyperfootnotes </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-35-2"
+class="ec-lmvtt-10">hyperfootnotes </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-34-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-35-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-34-3"
class="td10">
<!--l. 927--><p class="noindent" >set up hyperlinked footnotes </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-36-1"
+ style="vertical-align:baseline;" id="TBL-12-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-35-1"
class="td01"><span
-class="ec-lmvtt-10">hyperindex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-36-2"
+class="ec-lmvtt-10">hyperindex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-35-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-36-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-35-3"
class="td10">
<!--l. 928--><p class="noindent" >set up hyperlinked indices </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-37-1"
+ style="vertical-align:baseline;" id="TBL-12-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-36-1"
class="td01"><span
-class="ec-lmvtt-10">hypertex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-37-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-37-3"
+class="ec-lmvtt-10">hypertex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-36-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-36-3"
class="td10">
<!--l. 929--><p class="noindent" >use <span
class="ec-lmss-10">HyperTeX </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-38-1"
+ style="vertical-align:baseline;" id="TBL-12-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-37-1"
class="td01"><span
-class="ec-lmvtt-10">hypertexnames </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-38-2"
+class="ec-lmvtt-10">hypertexnames </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-37-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-38-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-37-3"
class="td10">
<!--l. 930--><p class="noindent" >use guessable names for links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-39-1"
+ style="vertical-align:baseline;" id="TBL-12-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-38-1"
class="td01"><span
-class="ec-lmvtt-10">implicit </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-39-2"
+class="ec-lmvtt-10">implicit </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-38-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-39-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-38-3"
class="td10">
<!--l. 931--><p class="noindent" >redefine LaTeX&#x00A0;internals </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-40-1"
+ style="vertical-align:baseline;" id="TBL-12-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-39-1"
class="td01"><span
-class="ec-lmvtt-10">latex2html </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-40-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-40-3"
+class="ec-lmvtt-10">latex2html </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-39-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-39-3"
class="td10">
<!--l. 932--><p class="noindent" >use <span
class="ec-lmss-10">LaTeX2HTML </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-41-1"
+ style="vertical-align:baseline;" id="TBL-12-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-40-1"
class="td01"><span
-class="ec-lmvtt-10">linkbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-41-2"
+class="ec-lmvtt-10">linkbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-40-2"
class="td11"> <span
-class="ec-lmri-10">1 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-41-3"
+class="ec-lmri-10">1 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-40-3"
class="td10">
<!--l. 933--><p class="noindent" >color of border around links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-42-1"
-class="td01"> </td></tr>
-<tr
- style="vertical-align:baseline;" id="TBL-12-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-43-1"
+ style="vertical-align:baseline;" id="TBL-12-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-41-1"
class="td01"><span
-class="ec-lmvtt-10">linkcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-43-2"
+class="ec-lmvtt-10">linkcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-41-2"
class="td11"> <span
-class="ec-lmri-10">red </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-43-3"
+class="ec-lmri-10">red </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-41-3"
class="td10">
<!--l. 934--><p class="noindent" >color of links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-44-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-44-1"
+ style="vertical-align:baseline;" id="TBL-12-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-42-1"
class="td01"><span
-class="ec-lmvtt-10">linktoc </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-44-2"
+class="ec-lmvtt-10">linktoc </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-42-2"
class="td11"> <span
-class="ec-lmri-10">section </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-44-3"
+class="ec-lmri-10">section </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-42-3"
class="td10">
<!--l. 935--><p class="noindent" >make text be link on TOC, LOF and LOT </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-45-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-45-1"
+ style="vertical-align:baseline;" id="TBL-12-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-43-1"
class="td01"><span
-class="ec-lmvtt-10">linktocpage </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-45-2"
+class="ec-lmvtt-10">linktocpage </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-43-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-45-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-43-3"
class="td10">
<!--l. 936--><p class="noindent" >make page number, not text, be link on TOC,
LOF and LOT </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-46-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-46-1"
+ style="vertical-align:baseline;" id="TBL-12-44-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-44-1"
class="td01"><span
-class="ec-lmvtt-10">menubordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-46-2"
+class="ec-lmvtt-10">menubordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-44-2"
class="td11"> <span
-class="ec-lmri-10">1 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-46-3"
+class="ec-lmri-10">1 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-44-3"
class="td10">
<!--l. 937--><p class="noindent" >color of border around menu links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-47-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-47-1"
+ style="vertical-align:baseline;" id="TBL-12-45-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-45-1"
class="td01"><span
-class="ec-lmvtt-10">menucolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-47-2"
+class="ec-lmvtt-10">menucolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-45-2"
class="td11"> <span
-class="ec-lmri-10">red </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-47-3"
+class="ec-lmri-10">red </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-45-3"
class="td10">
<!--l. 938--><p class="noindent" >color for menu links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-48-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-48-1"
+ style="vertical-align:baseline;" id="TBL-12-46-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-46-1"
class="td01"><span
-class="ec-lmvtt-10">nativepdf </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-48-2"
+class="ec-lmvtt-10">nativepdf </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-46-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-48-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-46-3"
class="td10">
<!--l. 939--><p class="noindent" >an alias for <span
class="ec-lmss-10">dvips</span> </td>
+
+
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-49-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-49-1"
+ style="vertical-align:baseline;" id="TBL-12-47-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-47-1"
class="td01"><span
-class="ec-lmvtt-10">naturalnames </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-49-2"
+class="ec-lmvtt-10">naturalnames </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-47-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-49-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-47-3"
class="td10">
<!--l. 940--><p class="noindent" >use LaTeX-computed names for links </td>
-
-
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-50-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-50-1"
+ style="vertical-align:baseline;" id="TBL-12-48-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-48-1"
class="td01"><span
-class="ec-lmvtt-10">nesting </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-50-2"
+class="ec-lmvtt-10">nesting </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-48-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-50-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-48-3"
class="td10">
<!--l. 941--><p class="noindent" >allow nesting of links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-51-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-51-1"
+ style="vertical-align:baseline;" id="TBL-12-49-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-49-1"
class="td01"><span
-class="ec-lmvtt-10">pageanchor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-51-2"
+class="ec-lmvtt-10">pageanchor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-49-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-51-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-49-3"
class="td10">
<!--l. 942--><p class="noindent" >put an anchor on every page </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-52-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-52-1"
+ style="vertical-align:baseline;" id="TBL-12-50-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-50-1"
class="td01"><span
-class="ec-lmvtt-10">pagebackref </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-52-2"
+class="ec-lmvtt-10">pagebackref </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-50-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-52-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-50-3"
class="td10">
<!--l. 943--><p class="noindent" >backreference by page number </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-53-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-53-1"
+ style="vertical-align:baseline;" id="TBL-12-51-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-51-1"
class="td01"><span
-class="ec-lmvtt-10">pdfauthor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-53-2"
+class="ec-lmvtt-10">pdfauthor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-51-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-53-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-51-3"
class="td10">
<!--l. 944--><p class="noindent" >text for PDF Author field </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-54-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-54-1"
+ style="vertical-align:baseline;" id="TBL-12-52-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-52-1"
class="td01"><span
-class="ec-lmvtt-10">pdfborder </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-54-2"
+class="ec-lmvtt-10">pdfborder </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-52-2"
class="td11"> <span
-class="ec-lmri-10">0 0 1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-54-3"
+class="ec-lmri-10">0 0 1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-52-3"
class="td10">
<!--l. 945--><p class="noindent" >width of PDF link border </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-55-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-55-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-55-2"
+ style="vertical-align:baseline;" id="TBL-12-53-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-53-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-53-2"
class="td11"> <span
-class="ec-lmri-10">0 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-55-3"
+class="ec-lmri-10">0 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-53-3"
class="td10">
<!--l. 946--><p class="noindent" >(<span
class="ec-lmvtt-10">colorlinks)</span> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-56-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-56-1"
+ style="vertical-align:baseline;" id="TBL-12-54-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-54-1"
class="td01"><span
-class="ec-lmvtt-10">pdfborderstyle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-56-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-56-3"
+class="ec-lmvtt-10">pdfborderstyle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-54-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-54-3"
class="td10">
<!--l. 947--><p class="noindent" >border style for links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-57-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-57-1"
+ style="vertical-align:baseline;" id="TBL-12-55-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-55-1"
class="td01"><span
-class="ec-lmvtt-10">pdfcenterwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-57-2"
+class="ec-lmvtt-10">pdfcenterwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-55-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-57-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-55-3"
class="td10">
<!--l. 948--><p class="noindent" >position the document window in the center
of the screen </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-58-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-58-1"
+ style="vertical-align:baseline;" id="TBL-12-56-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-56-1"
class="td01"><span
-class="ec-lmvtt-10">pdfcreator </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-58-2"
+class="ec-lmvtt-10">pdfcreator </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-56-2"
class="td11"> <span
-class="ec-lmri-10">LaTeX with </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-58-3"
+class="ec-lmri-10">LaTeX with </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-56-3"
class="td10">
<!--l. 949--><p class="noindent" >text for PDF Creator field </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-59-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-59-2"
+ style="vertical-align:baseline;" id="TBL-12-57-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-57-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-57-2"
class="td11"> <span
-class="ec-lmri-10">hyperref </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-59-3"
+class="ec-lmri-10">hyperref </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-57-3"
class="td10">
<!--l. 951--><p class="noindent" > </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-60-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-60-1"
+ style="vertical-align:baseline;" id="TBL-12-58-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-58-1"
class="td01"><span
-class="ec-lmvtt-10">pdfdirection </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-60-2"
+class="ec-lmvtt-10">pdfdirection </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-58-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-60-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-58-3"
class="td10">
<!--l. 951--><p class="noindent" >direction setting </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-61-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-61-1"
+ style="vertical-align:baseline;" id="TBL-12-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-59-1"
class="td01"><span
-class="ec-lmvtt-10">pdfdisplaydoctitle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-61-2"
+class="ec-lmvtt-10">pdfdisplaydoctitle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-59-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-61-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-59-3"
class="td10">
<!--l. 952--><p class="noindent" >display document title instead of file name in
title bar </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-62-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-62-1"
+ style="vertical-align:baseline;" id="TBL-12-60-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-60-1"
class="td01"><span
-class="ec-lmvtt-10">pdfduplex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-62-2"
+class="ec-lmvtt-10">pdfduplex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-60-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-62-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-60-3"
class="td10">
<!--l. 954--><p class="noindent" >paper handling option for print dialog </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-63-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-63-1"
-class="td01"> </td></tr>
-<tr
- style="vertical-align:baseline;" id="TBL-12-64-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-64-1"
+ style="vertical-align:baseline;" id="TBL-12-61-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-61-1"
class="td01"><span
-class="ec-lmvtt-10">pdffitwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-64-2"
+class="ec-lmvtt-10">pdffitwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-61-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-64-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-61-3"
class="td10">
<!--l. 956--><p class="noindent" >resize document window to fit document size </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-65-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-65-1"
+ style="vertical-align:baseline;" id="TBL-12-62-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-62-1"
class="td01"><span
-class="ec-lmvtt-10">pdfhighlight </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-65-2"
+class="ec-lmvtt-10">pdfhighlight </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-62-2"
class="td11"> <span
-class="ec-lmri-10">/I </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-65-3"
+class="ec-lmri-10">/I </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-62-3"
class="td10">
<!--l. 957--><p class="noindent" >set highlighting of PDF links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-66-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-66-1"
+ style="vertical-align:baseline;" id="TBL-12-63-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-63-1"
class="td01"><span
-class="ec-lmvtt-10">pdfinfo </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-66-2"
+class="ec-lmvtt-10">pdfinfo </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-63-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-66-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-63-3"
class="td10">
<!--l. 958--><p class="noindent" >alternative interface for setting document
information </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-67-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-67-1"
+ style="vertical-align:baseline;" id="TBL-12-64-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-64-1"
class="td01"><span
-class="ec-lmvtt-10">pdfkeywords </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-67-2"
+class="ec-lmvtt-10">pdfkeywords </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-64-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-67-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-64-3"
class="td10">
<!--l. 959--><p class="noindent" >text for PDF Keywords field </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-68-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-68-1"
+ style="vertical-align:baseline;" id="TBL-12-65-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-65-1"
class="td01"><span
-class="ec-lmvtt-10">pdflang </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-68-2"
+class="ec-lmvtt-10">pdflang </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-65-2"
class="td11"> <span
-class="ec-lmri-10">relax </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-68-3"
+class="ec-lmri-10">relax </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-65-3"
class="td10">
<!--l. 960--><p class="noindent" >PDF language identifier (RFC 3066) </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-69-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-69-1"
+ style="vertical-align:baseline;" id="TBL-12-66-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-66-1"
class="td01"><span
-class="ec-lmvtt-10">pdfmark </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-69-2"
+class="ec-lmvtt-10">pdfmark </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-66-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-69-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-66-3"
class="td10">
<!--l. 961--><p class="noindent" >an alias for <span
class="ec-lmss-10">dvips</span> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-70-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-70-1"
+ style="vertical-align:baseline;" id="TBL-12-67-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-67-1"
class="td01"><span
-class="ec-lmvtt-10">pdfmenubar </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-70-2"
+class="ec-lmvtt-10">pdfmenubar </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-67-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-70-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-67-3"
class="td10">
<!--l. 962--><p class="noindent" >make PDF viewer&#8217;s menu bar visible </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-71-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-71-1"
+ style="vertical-align:baseline;" id="TBL-12-68-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-68-1"
class="td01"><span
-class="ec-lmvtt-10">pdfnewwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-71-2"
+class="ec-lmvtt-10">pdfnewwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-68-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-71-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-68-3"
class="td10">
<!--l. 963--><p class="noindent" >make links that open another PDF </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-72-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-72-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-72-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-72-3"
+ style="vertical-align:baseline;" id="TBL-12-69-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-69-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-69-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-69-3"
class="td10">
<!--l. 964--><p class="noindent" >file start a new window </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-73-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-73-1"
+ style="vertical-align:baseline;" id="TBL-12-70-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-70-1"
class="td01"><span
-class="ec-lmvtt-10">pdfnonfullscreenpagemode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-73-2"
+class="ec-lmvtt-10">pdfnonfullscreenpagemode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-70-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-73-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-70-3"
class="td10">
<!--l. 966--><p class="noindent" >page mode setting on exiting full-screen mode</td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-74-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-74-1"
+ style="vertical-align:baseline;" id="TBL-12-71-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-71-1"
class="td01"><span
-class="ec-lmvtt-10">pdfnumcopies </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-74-2"
+class="ec-lmvtt-10">pdfnumcopies </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-71-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-74-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-71-3"
class="td10">
<!--l. 968--><p class="noindent" >number of printed copies </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-75-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-75-1"
+ style="vertical-align:baseline;" id="TBL-12-72-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-72-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-75-2"
+class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-72-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-75-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-72-3"
class="td10">
<!--l. 969--><p class="noindent" >set PDF page labels </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-76-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-76-1"
+ style="vertical-align:baseline;" id="TBL-12-73-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-73-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagelayout </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-76-2"
+class="ec-lmvtt-10">pdfpagelayout </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-73-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-76-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-73-3"
class="td10">
<!--l. 970--><p class="noindent" >set layout of PDF pages </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-77-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-77-1"
+ style="vertical-align:baseline;" id="TBL-12-74-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-74-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagemode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-77-2"
+class="ec-lmvtt-10">pdfpagemode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-74-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-77-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-74-3"
class="td10">
<!--l. 971--><p class="noindent" >set default mode of PDF display </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-78-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-78-1"
+ style="vertical-align:baseline;" id="TBL-12-75-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-75-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagescrop </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-78-2"
+class="ec-lmvtt-10">pdfpagescrop </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-75-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-78-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-75-3"
class="td10">
<!--l. 972--><p class="noindent" >set crop size of PDF document </td>
+
+
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-79-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-79-1"
+ style="vertical-align:baseline;" id="TBL-12-76-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-76-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpagetransition </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-79-2"
+class="ec-lmvtt-10">pdfpagetransition </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-76-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-79-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-76-3"
class="td10">
<!--l. 973--><p class="noindent" >set PDF page transition style </td>
-
-
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-80-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-80-1"
+ style="vertical-align:baseline;" id="TBL-12-77-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-77-1"
class="td01"><span
-class="ec-lmvtt-10">pdfpicktraybypdfsize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-80-2"
+class="ec-lmvtt-10">pdfpicktraybypdfsize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-77-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-80-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-77-3"
class="td10">
<!--l. 975--><p class="noindent" >set option for print dialog </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-81-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-81-1"
+ style="vertical-align:baseline;" id="TBL-12-78-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-78-1"
class="td01"><span
-class="ec-lmvtt-10">pdfprintarea </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-81-2"
+class="ec-lmvtt-10">pdfprintarea </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-78-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-81-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-78-3"
class="td10">
<!--l. 976--><p class="noindent" >set /PrintArea of viewer preferences </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-82-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-82-1"
+ style="vertical-align:baseline;" id="TBL-12-79-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-79-1"
class="td01"><span
-class="ec-lmvtt-10">pdfprintclip </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-82-2"
+class="ec-lmvtt-10">pdfprintclip </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-79-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-82-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-79-3"
class="td10">
<!--l. 977--><p class="noindent" >set /PrintClip of viewer preferences </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-83-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-83-1"
+ style="vertical-align:baseline;" id="TBL-12-80-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-80-1"
class="td01"><span
-class="ec-lmvtt-10">pdfprintpagerange </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-83-2"
+class="ec-lmvtt-10">pdfprintpagerange </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-80-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-83-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-80-3"
class="td10">
<!--l. 978--><p class="noindent" >set /PrintPageRange of viewer preferences </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-84-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-84-1"
-class="td01"> </td></tr>
-<tr
- style="vertical-align:baseline;" id="TBL-12-85-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-85-1"
+ style="vertical-align:baseline;" id="TBL-12-81-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-81-1"
class="td01"><span
-class="ec-lmvtt-10">pdfprintscaling </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-85-2"
+class="ec-lmvtt-10">pdfprintscaling </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-81-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-85-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-81-3"
class="td10">
<!--l. 979--><p class="noindent" >page scaling option for print dialog </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-86-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-86-1"
+ style="vertical-align:baseline;" id="TBL-12-82-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-82-1"
class="td01"><span
-class="ec-lmvtt-10">pdfproducer </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-86-2"
+class="ec-lmvtt-10">pdfproducer </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-82-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-86-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-82-3"
class="td10">
<!--l. 980--><p class="noindent" >text for PDF Producer field </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-87-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-87-1"
+ style="vertical-align:baseline;" id="TBL-12-83-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-83-1"
class="td01"><span
-class="ec-lmvtt-10">pdfremotestartview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-87-2"
+class="ec-lmvtt-10">pdfremotestartview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-83-2"
class="td11"> <span
-class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-87-3"
+class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-83-3"
class="td10">
<!--l. 981--><p class="noindent" >starting view of remote PDF documents </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-88-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-88-1"
+ style="vertical-align:baseline;" id="TBL-12-84-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-84-1"
class="td01"><span
-class="ec-lmvtt-10">pdfstartpage </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-88-2"
+class="ec-lmvtt-10">pdfstartpage </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-84-2"
class="td11"> <span
-class="ec-lmri-10">1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-88-3"
+class="ec-lmri-10">1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-84-3"
class="td10">
<!--l. 982--><p class="noindent" >page at which PDF document opens </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-89-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-89-1"
+ style="vertical-align:baseline;" id="TBL-12-85-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-85-1"
class="td01"><span
-class="ec-lmvtt-10">pdfstartview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-89-2"
+class="ec-lmvtt-10">pdfstartview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-85-2"
class="td11"> <span
-class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-89-3"
+class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-85-3"
class="td10">
<!--l. 983--><p class="noindent" >starting view of PDF document </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-90-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-90-1"
+ style="vertical-align:baseline;" id="TBL-12-86-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-86-1"
class="td01"><span
-class="ec-lmvtt-10">pdfsubject </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-90-2"
+class="ec-lmvtt-10">pdfsubject </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-86-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-90-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-86-3"
class="td10">
<!--l. 984--><p class="noindent" >text for PDF Subject field </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-91-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-91-1"
+ style="vertical-align:baseline;" id="TBL-12-87-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-87-1"
class="td01"><span
-class="ec-lmvtt-10">pdftex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-91-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-91-3"
+class="ec-lmvtt-10">pdftex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-87-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-87-3"
class="td10">
<!--l. 985--><p class="noindent" >use <span
class="ec-lmss-10">pdfTeX </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-92-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-92-1"
+ style="vertical-align:baseline;" id="TBL-12-88-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-88-1"
class="td01"><span
-class="ec-lmvtt-10">pdftitle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-92-2"
+class="ec-lmvtt-10">pdftitle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-88-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-92-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-88-3"
class="td10">
<!--l. 986--><p class="noindent" >text for PDF Title field </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-93-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-93-1"
+ style="vertical-align:baseline;" id="TBL-12-89-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-89-1"
class="td01"><span
-class="ec-lmvtt-10">pdftoolbar </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-93-2"
+class="ec-lmvtt-10">pdftoolbar </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-89-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-93-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-89-3"
class="td10">
<!--l. 987--><p class="noindent" >make PDF toolbar visible </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-94-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-94-1"
+ style="vertical-align:baseline;" id="TBL-12-90-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-90-1"
class="td01"><span
-class="ec-lmvtt-10">pdftrapped </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-94-2"
+class="ec-lmvtt-10">pdftrapped </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-90-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-94-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-90-3"
class="td10">
<!--l. 988--><p class="noindent" >Sets the document information Trapped entry.
Possible values are <span
@@ -3238,122 +3270,119 @@ class="ec-lmvtt-10">False </span>and <span
class="ec-lmvtt-10">Unknown</span>.
An empty value means, the entry is not set. </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-95-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-95-1"
+ style="vertical-align:baseline;" id="TBL-12-91-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-91-1"
class="td01"><span
-class="ec-lmvtt-10">pdfview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-95-2"
+class="ec-lmvtt-10">pdfview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-91-2"
class="td11"> <span
-class="ec-lmri-10">XYZ </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-95-3"
+class="ec-lmri-10">XYZ </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-91-3"
class="td10">
<!--l. 991--><p class="noindent" >PDF &#8216;view&#8217; when on link traversal </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-96-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-96-1"
+ style="vertical-align:baseline;" id="TBL-12-92-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-92-1"
class="td01"><span
-class="ec-lmvtt-10">pdfviewarea </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-96-2"
+class="ec-lmvtt-10">pdfviewarea </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-92-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-96-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-92-3"
class="td10">
<!--l. 992--><p class="noindent" >set /ViewArea of viewer preferences </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-97-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-97-1"
+ style="vertical-align:baseline;" id="TBL-12-93-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-93-1"
class="td01"><span
-class="ec-lmvtt-10">pdfviewclip </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-97-2"
+class="ec-lmvtt-10">pdfviewclip </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-93-2"
class="td11"> <span
-class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-97-3"
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-93-3"
class="td10">
<!--l. 993--><p class="noindent" >set /ViewClip of viewer preferences </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-98-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-98-1"
+ style="vertical-align:baseline;" id="TBL-12-94-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-94-1"
class="td01"><span
-class="ec-lmvtt-10">pdfwindowui </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-98-2"
+class="ec-lmvtt-10">pdfwindowui </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-94-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-98-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-94-3"
class="td10">
<!--l. 994--><p class="noindent" >make PDF user interface elements visible </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-99-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-99-1"
+ style="vertical-align:baseline;" id="TBL-12-95-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-95-1"
class="td01"><span
-class="ec-lmvtt-10">plainpages </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-99-2"
+class="ec-lmvtt-10">plainpages </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-95-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-99-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-95-3"
class="td10">
<!--l. 995--><p class="noindent" >do page number anchors as plain Arabic </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-100-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-100-1"
+ style="vertical-align:baseline;" id="TBL-12-96-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-96-1"
class="td01"><span
-class="ec-lmvtt-10">ps2pdf </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-100-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-100-3"
+class="ec-lmvtt-10">ps2pdf </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-96-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-96-3"
class="td10">
<!--l. 996--><p class="noindent" >use <span
class="ec-lmss-10">ps2pdf </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-101-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-101-1"
+ style="vertical-align:baseline;" id="TBL-12-97-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-97-1"
class="td01"><span
-class="ec-lmvtt-10">psdextra </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-101-2"
+class="ec-lmvtt-10">psdextra </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-97-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-101-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-97-3"
class="td10">
<!--l. 997--><p class="noindent" >define more short names for PDF string
commands </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-102-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-102-1"
+ style="vertical-align:baseline;" id="TBL-12-98-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-98-1"
class="td01"><span
-class="ec-lmvtt-10">raiselinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-102-2"
+class="ec-lmvtt-10">raiselinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-98-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-102-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-98-3"
class="td10">
<!--l. 998--><p class="noindent" >raise up links (for <span
class="ec-lmss-10">HyperTeX </span>backend) </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-103-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-103-1"
+ style="vertical-align:baseline;" id="TBL-12-99-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-99-1"
class="td01"><span
-class="ec-lmvtt-10">runbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-103-2"
+class="ec-lmvtt-10">runbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-99-2"
class="td11"> <span
-class="ec-lmri-10">0 .7 .7 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-103-3"
+class="ec-lmri-10">0 .7 .7 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-99-3"
class="td10">
<!--l. 999--><p class="noindent" >color of border around &#8216;run&#8217; links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-104-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-104-1"
+ style="vertical-align:baseline;" id="TBL-12-100-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-100-1"
class="td01"><span
-class="ec-lmvtt-10">runcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-104-2"
+class="ec-lmvtt-10">runcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-100-2"
class="td11"> <span
-class="ec-lmri-10">filecolor </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-104-3"
+class="ec-lmri-10">filecolor </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-100-3"
class="td10">
<!--l. 1000--><p class="noindent" >color of &#8216;run&#8217; links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-105-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-105-1"
-class="td01"> </td></tr>
-<tr
- style="vertical-align:baseline;" id="TBL-12-106-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-106-1"
+ style="vertical-align:baseline;" id="TBL-12-101-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-101-1"
class="td01"><span
-class="ec-lmvtt-10">setpagesize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-106-2"
+class="ec-lmvtt-10">setpagesize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-101-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-106-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-101-3"
class="td10">
<!--l. 1001--><p class="noindent" >set page size by special driver commands </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-107-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-107-1"
+ style="vertical-align:baseline;" id="TBL-12-102-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-102-1"
class="td01"><span
-class="ec-lmvtt-10">tex4ht </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-107-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-107-3"
+class="ec-lmvtt-10">tex4ht </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-102-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-102-3"
class="td10">
<!--l. 1002--><p class="noindent" >use <span
class="ec-lmss-10">TeX4ht </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-108-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-108-1"
+ style="vertical-align:baseline;" id="TBL-12-103-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-103-1"
class="td01"><span
-class="ec-lmvtt-10">textures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-108-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-108-3"
+class="ec-lmvtt-10">textures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-103-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-103-3"
class="td10">
<!--l. 1003--><p class="noindent" >use <span
class="ec-lmss-10">Textures </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-109-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-109-1"
+ style="vertical-align:baseline;" id="TBL-12-104-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-104-1"
class="td01"><span
-class="ec-lmvtt-10">unicode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-109-2"
+class="ec-lmvtt-10">unicode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-104-2"
class="td11"> <span
-class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-109-3"
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-104-3"
class="td10">
<!--l. 1004--><p class="noindent" >Unicode encoded pdf strings, starting with
version v7.00g set by default to true for all
@@ -3361,60 +3390,62 @@ class="td10">
puenc.def. It can be set to false for pdflatex,
but this is not recommended. </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-110-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-110-1"
+ style="vertical-align:baseline;" id="TBL-12-105-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-105-1"
class="td01"><span
-class="ec-lmvtt-10">urlbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-110-2"
+class="ec-lmvtt-10">urlbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-105-2"
class="td11"> <span
-class="ec-lmri-10">0 1 1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-110-3"
+class="ec-lmri-10">0 1 1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-105-3"
class="td10">
<!--l. 1005--><p class="noindent" >color of border around URL links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-111-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-111-1"
+ style="vertical-align:baseline;" id="TBL-12-106-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-106-1"
class="td01"><span
-class="ec-lmvtt-10">urlcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-111-2"
+class="ec-lmvtt-10">urlcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-106-2"
class="td11"> <span
-class="ec-lmri-10">magenta </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-111-3"
+class="ec-lmri-10">magenta </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-106-3"
class="td10">
<!--l. 1006--><p class="noindent" >color of URL links </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-112-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-112-1"
+ style="vertical-align:baseline;" id="TBL-12-107-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-107-1"
class="td01"><span
-class="ec-lmvtt-10">verbose </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-112-2"
+class="ec-lmvtt-10">verbose </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-107-2"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-112-3"
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-107-3"
class="td10">
<!--l. 1007--><p class="noindent" >be chatty </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-113-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-113-1"
+ style="vertical-align:baseline;" id="TBL-12-108-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-108-1"
class="td01"><span
-class="ec-lmvtt-10">vtex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-113-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-113-3"
+class="ec-lmvtt-10">vtex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-108-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-108-3"
class="td10">
<!--l. 1008--><p class="noindent" >use <span
class="ec-lmss-10">VTeX </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-114-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-114-1"
+ style="vertical-align:baseline;" id="TBL-12-109-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-109-1"
class="td01"><span
-class="ec-lmvtt-10">xetex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-114-2"
-class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-114-3"
+class="ec-lmvtt-10">xetex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-109-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-109-3"
class="td10">
<!--l. 1009--><p class="noindent" >use <span
class="ec-lmss-10">XeTeX </span>backend </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-115-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-115-1"
-class="td01"> </td>
+ style="vertical-align:baseline;" id="TBL-12-110-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-110-1"
+class="td01"> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-116-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-116-1"
-class="td01"> </td>
+ style="vertical-align:baseline;" id="TBL-12-111-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-111-1"
+class="td01"> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-117-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-117-1"
-class="td01"> </td>
+ style="vertical-align:baseline;" id="TBL-12-112-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-112-1"
+class="td01"> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-118-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-118-1"
-class="td01"> </td>
+ style="vertical-align:baseline;" id="TBL-12-113-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-113-1"
+class="td01"> </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-12-119-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-119-1"
-class="td01"> </td></tr>
+ style="vertical-align:baseline;" id="TBL-12-114-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-114-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-114-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-114-3"
+class="td10"></td></tr>
</table></div>
<!--l. 1012--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">4 </span> <a
@@ -3450,24 +3481,32 @@ class="ec-lmvtt-10">pdfremotestartview</span>, <span
class="ec-lmvtt-10">pdfnewwindow</span>
and the following key value options:
<dl class="description"><dt class="description">
+ <!--l. 1030--><p class="noindent" >
<span
class="ec-lmvtk-10">page</span><span
class="ec-lmbx-10">:</span> </dt><dd
-class="description">Specifies the start page number of remote PDF documents. First page is <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 1030--><p class="noindent" >Specifies the start page number of remote PDF documents. First page is <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">1</span></span></span>.
</dd><dt class="description">
+ <!--l. 1032--><p class="noindent" >
<span
class="ec-lmvtk-10">ismap</span><span
class="ec-lmbx-10">:</span> </dt><dd
-class="description">Boolean key, if set to <span class="obeylines-h"><span class="verb"><span
-class="ec-lmvtt-10">true</span></span></span>, the URL should appended by the coordinates as query
- parameters by the PDF viewer.
+class="description">
+ <!--l. 1032--><p class="noindent" >Boolean key, if set to <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">true</span></span></span>, the URL should appended by the coordinates as query parameters
+ by the PDF viewer.
</dd><dt class="description">
+ <!--l. 1035--><p class="noindent" >
<span
class="ec-lmvtk-10">nextactionraw</span><span
class="ec-lmbx-10">:</span> </dt><dd
-class="description">The value of key <span class="obeylines-h"><span class="verb"><span
+class="description">
+ <!--l. 1035--><p class="noindent" >The value of key <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">/Next</span></span></span> of action dictionaries, see PDF specification.</dd></dl>
+
+
<!--l. 1039--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-14" class="tabular"
@@ -3490,8 +3529,6 @@ class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}}</span></span></span>. Depending on the driver <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\href</span></span></span> also tries to detect the link
type. Thus the result can be a url link, file link, &#x2026;
-
-
<!--l. 1048--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-15" class="tabular"
@@ -3636,6 +3673,8 @@ class="ec-lmvtt-10">\hyperlink</span></span></span> has two arguments, the name
class="ec-lmvtt-10">\hypertarget</span></span></span>,
and the <span
class="ec-lmri-10">text </span>which be used as the link on the page.
+
+
<!--l. 1106--><p class="indent" > Note that in HTML parlance, the <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyperlink</span></span></span> command inserts a notional # in front of each link,
making it relative to the current testdocument; <span class="obeylines-h"><span class="verb"><span
@@ -3651,7 +3690,6 @@ class="ec-lmvtt-10">\phantomsection </span></td>
</tr></table> </div></span>
<!--l. 1114--><p class="noindent" >This sets an anchor at this location. It works similar to <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypertarget{}{}</span></span></span> with an automatically chosen
-
anchor name. Often it is used in conjunction with <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\addcontentsline</span></span></span> for sectionlike things (index,
bibliography, preface). <span class="obeylines-h"><span class="verb"><span
@@ -3972,29 +4010,35 @@ class="ec-lmvtt-10">\pdfstringdef </span>returns a macro containing the PDF stri
rely on it.) All the following tasks, definitions and redefinitions are made in a group to keep them
local:
<ul class="itemize1">
- <li class="itemize">Switching to PD1 or PU encoding
+ <li class="itemize">
+ <!--l. 1268--><p class="noindent" >Switching to PD1 or PU encoding
</li>
- <li class="itemize">Defining the &#8220;octal sequence commands&#8221; (<span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1269--><p class="noindent" >Defining the &#8220;octal sequence commands&#8221; (<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\345</span></span></span>): <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\edef\3{\string\3}</span></span></span>
</li>
- <li class="itemize">Special glyphs of TeX: <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1270--><p class="noindent" >Special glyphs of TeX: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\{</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\%</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\&amp;</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\space</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\dots</span></span></span>, etc.
</li>
- <li class="itemize">National glyphs (<span
+ <li class="itemize">
+ <!--l. 1271--><p class="noindent" >National glyphs (<span
class="ec-lmss-10">german.sty</span>, <span
class="ec-lmss-10">french.sty</span>, etc.)
</li>
- <li class="itemize">Logos: <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1272--><p class="noindent" >Logos: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\TeX</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\eTeX</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\MF</span></span></span>, etc.
</li>
- <li class="itemize">Disabling commands that do not provide useful functionality in bookmarks: <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1273--><p class="noindent" >Disabling commands that do not provide useful functionality in bookmarks: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\label</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\index</span></span></span>,
<span class="obeylines-h"><span class="verb"><span
@@ -4003,12 +4047,16 @@ class="ec-lmvtt-10">\discretionary</span></span></span>, <span class="obeylines-
class="ec-lmvtt-10">\def</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\let</span></span></span>, etc.
</li>
- <li class="itemize">LaTeX&#8217;s font commands like <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1275--><p class="noindent" >LaTeX&#8217;s font commands like <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\textbf</span></span></span>, etc.
</li>
- <li class="itemize">Support for <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1276--><p class="noindent" >Support for <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\xspace</span></span></span> provided by the <span
class="ec-lmss-10">xspace </span>package</li></ul>
+
+
<!--l. 1279--><p class="indent" > In addition, parentheses are protected to avoid the danger of unsafe unbalanced parentheses in
the PDF string. For further details, see Heiko Oberdiek&#8217;s EuroTeX&#x00A0;paper distributed with
<span
@@ -4030,8 +4078,6 @@ can put in manually, or include in a style file, which stops the hypertext funct
This is used, for instance, in the Elsevier classes, to stop <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">hyperref</span></span></span> playing havoc in the front
matter.
-
-
<!--l. 1292--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a
id="x1-150004.1"></a>Bookmark macros</h4>
@@ -4113,11 +4159,15 @@ class="ec-lmbx-10">Hint: </span>Package <span
class="ec-lmss-10">bookmark </span>replaces <span
class="ec-lmss-10">hyperref</span>&#8217;s bookmark organization by a new algorithm:
<ul class="itemize1">
- <li class="itemize">Usually only one LaTeX&#x00A0;run is needed.
+ <li class="itemize">
+ <!--l. 1326--><p class="noindent" >Usually only one LaTeX&#x00A0;run is needed.
+
</li>
- <li class="itemize">More control over the bookmark appearance (color, font).
+ <li class="itemize">
+ <!--l. 1327--><p class="noindent" >More control over the bookmark appearance (color, font).
</li>
- <li class="itemize">Different bookmark actions are supported (external file links, URLs, &#x2026;).</li></ul>
+ <li class="itemize">
+ <!--l. 1328--><p class="noindent" >Different bookmark actions are supported (external file links, URLs, &#x2026;).</li></ul>
<!--l. 1331--><p class="noindent" >Therefore I recommend using this package.
<!--l. 1333--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.1.2 </span> <a
@@ -4127,8 +4177,6 @@ class="ec-lmss-10">hyperref </span>takes the text for bookmarks from the argumen
class="ec-lmvtt-10">\section</span>, which can
contain things like math, colors, or font changes, none of which will display in bookmarks as
is.
-
-
<!--l. 1339--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-37" class="tabular"
@@ -4266,39 +4314,51 @@ href="hyperref-doc5.html#fn4x0"><sup class="textsuperscript">4</sup></a></span><
Default is 1 pt for supporting drivers.
<!--l. 1437--><p class="indent" >
<dl class="description"><dt class="description">
+ <!--l. 1438--><p class="noindent" >
<span
class="ec-lmbx-10">pdfTeX</span> </dt><dd
class="description">
+ <!--l. 1438--><p class="noindent" >
<ul class="itemize1">
- <li class="itemize">The link area also depends on the surrounding box.
+ <li class="itemize">
+ <!--l. 1440--><p class="noindent" >The link area also depends on the surrounding box.
</li>
- <li class="itemize">Settings have local effect.
+ <li class="itemize">
+ <!--l. 1441--><p class="noindent" >Settings have local effect.
</li>
- <li class="itemize">When a page is shipped out, pdfTeX uses the current setting of the link margin for all
+ <li class="itemize">
+ <!--l. 1442--><p class="noindent" >When a page is shipped out, pdfTeX uses the current setting of the link margin for all
links on the page.</li></ul>
</dd><dt class="description">
+ <!--l. 1446--><p class="noindent" >
<span
class="ec-lmbx-10">pdfmark</span> </dt><dd
class="description">
+ <!--l. 1446--><p class="noindent" >
+
<ul class="itemize1">
- <li class="itemize">Settings have global effect.</li></ul>
+ <li class="itemize">
+ <!--l. 1448--><p class="noindent" >Settings have global effect.</li></ul>
</dd><dt class="description">
+ <!--l. 1451--><p class="noindent" >
<span
class="ec-lmbx-10">xetex</span> </dt><dd
class="description">
-
-
+ <!--l. 1451--><p class="noindent" >
<ul class="itemize1">
- <li class="itemize">Settings must be done in the preamble or the first page and then have global effect.
+ <li class="itemize">
+ <!--l. 1453--><p class="noindent" >Settings must be done in the preamble or the first page and then have global effect.
The key inserts the new (x)dvipdfmx special <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special{dvipdfmx:config</span><span
class="ec-lmvtt-10">&#x00A0;g</span><span
class="ec-lmvtt-10">&#x00A0;#1}</span></span></span> (with
the unit removed).</li></ul>
</dd><dt class="description">
+ <!--l. 1457--><p class="noindent" >
<span
class="ec-lmbx-10">Other drivers</span> </dt><dd
-class="description">Unsupported.</dd></dl>
+class="description">
+ <!--l. 1457--><p class="noindent" >Unsupported.</dd></dl>
<!--l. 1462--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a
id="x1-220005.2"></a>Field option &#8216;calculatesortkey&#8217;</h4>
@@ -4556,19 +4616,24 @@ class="ec-lmvtt-10">\nohyperpage</span></span></span>.)
<!--l. 1712--><p class="indent" > A better implementation which hasn&#8217;t the disadvantage to prevent line breaks is in the ocgx2
package. Check its documentation for details how to use it.
<ul class="itemize1">
- <li class="itemize">The option must be given for package loading: <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1715--><p class="noindent" >The option must be given for package loading: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\usepackage[ocgcolorlinks]{hyperref}</span></span></span>
</li>
- <li class="itemize">Main disadvantage: Links cannot be broken across lines. PDF reference 1.7: 4.10.2 &#8220;Making
+ <li class="itemize">
+ <!--l. 1717--><p class="noindent" >Main disadvantage: Links cannot be broken across lines. PDF reference 1.7: 4.10.2 &#8220;Making
Graphical Content Optional&#8221;: Graphics state operations, such as setting the color, ..., are
still applied. Therefore the link text is put in a box and set twice, with and without color.
</li>
- <li class="itemize">The feature can be switched of by <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1723--><p class="noindent" >The feature can be switched of by <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypersetup{ocgcolorlinks=false}</span></span></span> inside the document.
</li>
- <li class="itemize">Supported drivers: pdftex, dvipdfm
+ <li class="itemize">
+ <!--l. 1725--><p class="noindent" >Supported drivers: pdftex, dvipdfm
</li>
- <li class="itemize">The PDF version should be at least 1.5. It is automatically set for pdfTeX, LuaTeX and
+ <li class="itemize">
+ <!--l. 1726--><p class="noindent" >The PDF version should be at least 1.5. It is automatically set for pdfTeX, LuaTeX and
dvipdfmx.</li></ul>
<!--l. 1730--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">5.12 </span> <a
@@ -4578,25 +4643,34 @@ result is usually not in PDF/A, because many features aren&#8217;t controlled by
fonts, colors, driver dependend low level stuff, ...).
<!--l. 1739--><p class="indent" > Currently, option &#8216;pdfa&#8217; sets and disables the following items:
<ul class="itemize1">
- <li class="itemize">Enabled annotation flags: Print, NoZoom, NoRotate [PDF/A 6.5.3].
+ <li class="itemize">
+ <!--l. 1741--><p class="noindent" >Enabled annotation flags: Print, NoZoom, NoRotate [PDF/A 6.5.3].
+
</li>
- <li class="itemize">Disabled annotation flags: Hidden, Invisible, NoView [PDF/A 6.5.3].
+ <li class="itemize">
+ <!--l. 1742--><p class="noindent" >Disabled annotation flags: Hidden, Invisible, NoView [PDF/A 6.5.3].
</li>
- <li class="itemize">Disabled: Launch action (<a
+ <li class="itemize">
+ <!--l. 1743--><p class="noindent" >Disabled: Launch action (<a
href="run:..." >[</a>PDF/A 6.6.1].
</li>
- <li class="itemize">Restricted: Named actions (NextPage, PrevPage, FirstPage, LastPage) [PDF/A 6.6.1].
-
+ <li class="itemize">
+ <!--l. 1744--><p class="noindent" >Restricted: Named actions (NextPage, PrevPage, FirstPage, LastPage) [PDF/A 6.6.1].
</li>
- <li class="itemize">Many things are disabled in PDF formulars:
+ <li class="itemize">
+ <!--l. 1746--><p class="noindent" >Many things are disabled in PDF formulars:
<ul class="itemize2">
- <li class="itemize">JavaScript actions [PDF/A 6.6.1]
+ <li class="itemize">
+ <!--l. 1748--><p class="noindent" >JavaScript actions [PDF/A 6.6.1]
</li>
- <li class="itemize">Trigger events (additional actions) [PDF/A 6.6.2]
+ <li class="itemize">
+ <!--l. 1749--><p class="noindent" >Trigger events (additional actions) [PDF/A 6.6.2]
</li>
- <li class="itemize">Push button (because of JavaScript)
+ <li class="itemize">
+ <!--l. 1750--><p class="noindent" >Push button (because of JavaScript)
</li>
- <li class="itemize">Interactive Forms: Flag NeedAppearances is the default &#8216;false&#8217; (Because of this,
+ <li class="itemize">
+ <!--l. 1751--><p class="noindent" >Interactive Forms: Flag NeedAppearances is the default &#8216;false&#8217; (Because of this,
hyperref&#8217;s implementation of Forms looks ugly). [PDF/A 6.9]</li></ul>
</li></ul>
<!--l. 1759--><p class="indent" > The default value of the new option &#8216;pdfa&#8217; is &#8216;false&#8217;. It influences the loading of the package and
@@ -4608,39 +4682,50 @@ class="ec-lmvtt-10">\usepackage{hyperref}</span></span></span>).
<!--l. 1767--><p class="noindent" >The new option &#8216;linktoc&#8217; allows more control which part of an entry in the table of contents is made into
a link:
<ul class="itemize1">
- <li class="itemize">&#8216;linktoc=none&#8217; (no links)
+ <li class="itemize">
+ <!--l. 1770--><p class="noindent" >&#8216;linktoc=none&#8217; (no links)
</li>
- <li class="itemize">&#8216;linktoc=section&#8217; (default behaviour, same as &#8216;linktocpage=false&#8217;)
+ <li class="itemize">
+ <!--l. 1771--><p class="noindent" >&#8216;linktoc=section&#8217; (default behaviour, same as &#8216;linktocpage=false&#8217;)
</li>
- <li class="itemize">&#8216;linktoc=page&#8217; (same as &#8216;linktocpage=true&#8217;)
+ <li class="itemize">
+ <!--l. 1772--><p class="noindent" >&#8216;linktoc=page&#8217; (same as &#8216;linktocpage=true&#8217;)
+
</li>
- <li class="itemize">&#8216;linktoc=all&#8217; (both the section and page part are links)</li></ul>
+ <li class="itemize">
+ <!--l. 1773--><p class="noindent" >&#8216;linktoc=all&#8217; (both the section and page part are links)</li></ul>
<!--l. 1776--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">5.14 </span> <a
id="x1-340005.14"></a>Option &#8216;pdfnewwindow&#8217; changed</h4>
<!--l. 1778--><p class="noindent" >Before 6.77b:
<ul class="itemize1">
- <li class="itemize">pdfnewwindow=true <span
+ <li class="itemize">
+ <!--l. 1780--><p class="noindent" >pdfnewwindow=true <span
class="lmsy-10">&#x2192; </span>/NewWindow true
</li>
- <li class="itemize">pdfnewwindow=false <span
+ <li class="itemize">
+ <!--l. 1781--><p class="noindent" >pdfnewwindow=false <span
class="lmsy-10">&#x2192; </span>(absent)
</li>
- <li class="itemize">unused pdfnewwindow <span
+ <li class="itemize">
+ <!--l. 1782--><p class="noindent" >unused pdfnewwindow <span
class="lmsy-10">&#x2192; </span>(absent)</li></ul>
<!--l. 1784--><p class="noindent" >Since 6.77b:
<ul class="itemize1">
- <li class="itemize">pdfnewwindow=true <span
-class="lmsy-10">&#x2192; </span>/NewWindow true
-
+ <li class="itemize">
+ <!--l. 1786--><p class="noindent" >pdfnewwindow=true <span
+class="lmsy-10">&#x2192; </span>/NewWindow true
</li>
- <li class="itemize">pdfnewwindow=false <span
+ <li class="itemize">
+ <!--l. 1787--><p class="noindent" >pdfnewwindow=false <span
class="lmsy-10">&#x2192; </span>/NewWindow false
</li>
- <li class="itemize">pdfnewwindow= <span
+ <li class="itemize">
+ <!--l. 1788--><p class="noindent" >pdfnewwindow= <span
class="lmsy-10">&#x2192; </span>(absent)
</li>
- <li class="itemize">unused pdfnewwindow <span
+ <li class="itemize">
+ <!--l. 1789--><p class="noindent" >unused pdfnewwindow <span
class="lmsy-10">&#x2192; </span>(absent)</li></ul>
<!--l. 1794--><p class="indent" > Rationale: There is a difference between setting to &#8216;false&#8217; and an absent entry. In the former case the
new document replaces the old one, in the latter case the PDF viewer application should respect the user
@@ -4659,8 +4744,11 @@ class="ec-lmvtt-10">http://www.adobe.com/devnet/pdf/pdf_reference.html</span></a
href="http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf" class="url" ><span
class="ec-lmvtt-10">http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf</span></a>
<!--l. 1810--><p class="indent" > Options (convert to lowercase) except flags in square brackets:
+
+
<ul class="itemize1">
- <li class="itemize">Table 8.16 Annotation flags (page 608):
+ <li class="itemize">
+ <!--l. 1813--><p class="noindent" >Table 8.16 Annotation flags (page 608):
<!--l. 1815--><p class="noindent" ><div class="obeylines-v">
1 Invisible
<br />2 Hidden (PDF 1.2)
@@ -4673,21 +4761,23 @@ class="ec-lmvtt-10">http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf</
<br />9 ToggleNoView (PDF 1.5)
<br />10 LockedContents (PDF 1.7)</div>
</li>
- <li class="itemize">Table 8.70 Field flags common to all field types (page 676):
+ <li class="itemize">
+ <!--l. 1827--><p class="noindent" >Table 8.70 Field flags common to all field types (page 676):
<!--l. 1829--><p class="noindent" ><div class="obeylines-v">
1 ReadOnly
<br />2 Required
<br />3 NoExport</div>
</li>
- <li class="itemize">Table 8.75 Field flags specific to button fields (page 686):
+ <li class="itemize">
+ <!--l. 1834--><p class="noindent" >Table 8.75 Field flags specific to button fields (page 686):
<!--l. 1836--><p class="noindent" ><div class="obeylines-v">
- 15 NoToggleToOff (Radio buttons only)
-
+ 15 NoToggleToOff (Radio buttons only)
<br />16 Radio (set: radio buttons, clear: check box, pushbutton: clear)
<br />17 Pushbutton
<br />26 RadiosInUniso (PDF 1.5)</div>
</li>
- <li class="itemize">Table 8.77 Field flags specific to text fields (page 691):
+ <li class="itemize">
+ <!--l. 1842--><p class="noindent" >Table 8.77 Field flags specific to text fields (page 691):
<!--l. 1844--><p class="noindent" ><div class="obeylines-v">
13 Multiline
<br />14 Password
@@ -4695,9 +4785,11 @@ class="ec-lmvtt-10">http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf</
<br />23 DoNotSpellCheck (PDF 1.4)
<br />24 DoNotScroll (PDF 1.4)
<br />25 Comb (PDF 1.5)
- <br />26 RichText (PDF 1.5)</div>
+ <br />26 RichText (PDF 1.5)</div>
+
</li>
- <li class="itemize">Table 8.79 Field flags specific to choice fields (page 693):
+ <li class="itemize">
+ <!--l. 1853--><p class="noindent" >Table 8.79 Field flags specific to choice fields (page 693):
<!--l. 1855--><p class="noindent" ><div class="obeylines-v">
18 Combo (set: combo box, clear: list box)
<br />19 Edit (only useful if Combo is set)
@@ -4706,7 +4798,8 @@ class="ec-lmvtt-10">http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf</
<br />23 DoNotSpellCheck (PDF 1.4) (only useful if Combo and Edit are set)
<br />27 CommitOnSelChange (PDF 1.5)</div>
</li>
- <li class="itemize">Table 8.86 Flags for submit-form actions (page 704):
+ <li class="itemize">
+ <!--l. 1863--><p class="noindent" >Table 8.86 Flags for submit-form actions (page 704):
<!--l. 1865--><p class="noindent" ><div class="obeylines-v">
[1 Include/Exclude] unsupported, use &#8216;noexport&#8217; (table 8.70) instead
<br />2 IncludeNoValueFields
@@ -4722,18 +4815,22 @@ class="ec-lmvtt-10">http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf</
<br />12 ExclFKey (PDF 1.4)
<br />14 EmbedForm (PDF 1.5)</div>
</li></ul>
-
-
<!--l. 1882--><p class="indent" > New option &#8216;export&#8217; sets the export format of a submit action. Valid values are (upper- or
lowercase):
<ul class="itemize1">
- <li class="itemize">FDF
+ <li class="itemize">
+ <!--l. 1885--><p class="noindent" >FDF
</li>
- <li class="itemize">HTML
+ <li class="itemize">
+ <!--l. 1886--><p class="noindent" >HTML
</li>
- <li class="itemize">XFDF
+ <li class="itemize">
+ <!--l. 1887--><p class="noindent" >XFDF
+
+
</li>
- <li class="itemize">PDF (not supported by Acrobat Reader)</li></ul>
+ <li class="itemize">
+ <!--l. 1888--><p class="noindent" >PDF (not supported by Acrobat Reader)</li></ul>
<!--l. 1891--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">5.16 </span> <a
id="x1-360005.16"></a>Option &#8216;pdfversion&#8217;</h4>
@@ -4745,20 +4842,24 @@ higher PDF versions.
class="ec-lmvtt-10">\usepackage{hyperref}</span></span></span>.
<!--l. 1907--><p class="indent" > In theory this option should also set the PDF version, but this is not generally supported.
<ul class="itemize1">
- <li class="itemize">pdfTeX below 1.10a: unsupported. pdfTeX <span
+ <li class="itemize">
+ <!--l. 1910--><p class="noindent" >pdfTeX below 1.10a: unsupported. pdfTeX <span
class="lmsy-10">&#x2265; </span>1.10a and &#x003C; 1.30: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\pdfoptionpdfminorversion</span></span></span>
pdfTeX <span
class="lmsy-10">&#x2265; </span>1.30: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\pdfminorversion</span></span></span>
</li>
- <li class="itemize">dvipdfm: configuration file, example: TeX Live 2007, texmf/dvipdfm/config/config, entry &#8216;V
+ <li class="itemize">
+ <!--l. 1913--><p class="noindent" >dvipdfm: configuration file, example: TeX Live 2007, texmf/dvipdfm/config/config, entry &#8216;V
2&#8217;.
</li>
- <li class="itemize">dvipdfmx: configuration file, example: TeX Live 2007, texmf/dvipdfm/dvipdfmx.cfg, entry
+ <li class="itemize">
+ <!--l. 1915--><p class="noindent" >dvipdfmx: configuration file, example: TeX Live 2007, texmf/dvipdfm/dvipdfmx.cfg, entry
&#8216;V 4&#8217;.
</li>
- <li class="itemize">Ghostscript: option -dCompatibilityLevel (this is set in &#8216;ps2pdf12&#8217;, &#8216;ps2pdf13&#8217;, &#8216;ps2pdf14&#8217;).</li></ul>
+ <li class="itemize">
+ <!--l. 1917--><p class="noindent" >Ghostscript: option -dCompatibilityLevel (this is set in &#8216;ps2pdf12&#8217;, &#8216;ps2pdf13&#8217;, &#8216;ps2pdf14&#8217;).</li></ul>
<!--l. 1922--><p class="indent" > The current PDF version is used as default if this version can be detected (only pdfTeX <span
class="lmsy-10">&#x2265; </span>1.10a).
Otherwise the lowest version 1.2 is assumed. Thus &#8216;hyperref&#8217; tries to avoid PDF code that breaks this
@@ -4768,14 +4869,16 @@ version, but is free to use ignorable higher PDF features.
id="x1-370005.17"></a>Field option &#8216;name&#8217;</h4>
<!--l. 1931--><p class="noindent" >Many form objects uses the label argument for several purposes:
<ul class="itemize1">
- <li class="itemize">Layouted label.
+ <li class="itemize">
+ <!--l. 1934--><p class="noindent" >Layouted label.
</li>
- <li class="itemize">As name in HTML structures.</li></ul>
-
-
+ <li class="itemize">
+ <!--l. 1935--><p class="noindent" >As name in HTML structures.</li></ul>
<!--l. 1937--><p class="noindent" >Code that is suitable for layouting with TeX can break in the structures of the output format. If option
&#8216;name&#8217; is given, then its value is used as name in the different output structures. Thus the value should
consist of letters only.
+
+
<!--l. 1944--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">5.18 </span> <a
id="x1-380005.18"></a>Option &#8216;pdfencoding&#8217;</h4>
@@ -4784,15 +4887,18 @@ PDFDocEncoding and Unicode as UTF-16BE. Option <span
class="ec-lmss-10">pdfencoding </span>selects between these
encodings:
<ul class="itemize1">
- <li class="itemize"><span
+ <li class="itemize">
+ <!--l. 1950--><p class="noindent" ><span
class="ec-lmss-10">pdfdoc </span>uses PDFDocEncoding. It uses just one byte per character, but the supported
characters are limited (244 in PDF-1.7).
</li>
- <li class="itemize"><span
+ <li class="itemize">
+ <!--l. 1952--><p class="noindent" ><span
class="ec-lmss-10">unicode </span>sets Unicode. It is encoded as UTF-16BE. Two bytes are used for most characters,
surrogates need four bytes.
</li>
- <li class="itemize"><span
+ <li class="itemize">
+ <!--l. 1954--><p class="noindent" ><span
class="ec-lmss-10">auto </span>PDFDocEncoding if the string does not contain characters outside the encoding (outside
ascii if an unicode engine is used) and Unicode otherwise. This option is not intended for
the unicode engines.</li></ul>
@@ -4834,34 +4940,42 @@ class="ec-lmvtt-10">&#x00A0;1}</span></span></span>
<ul class="itemize1">
- <li class="itemize">AR7/Linux seems to have a bug, that don&#8217;t use the default value <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 1989--><p class="noindent" >AR7/Linux seems to have a bug, that don&#8217;t use the default value <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">1</span></span></span> for the width, but zero,
thus that the underline is not visible without <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">/W</span><span
class="ec-lmvtt-10">&#x00A0;1</span></span></span>. The same applies for dashed boxes, eg.:
pdfborderstyle=/S/D/D[3 2]/W 1
</li>
- <li class="itemize">The syntax is described in the PDF specification, look for &#8220;border style&#8221;, eg. Table 8.13
+ <li class="itemize">
+ <!--l. 1995--><p class="noindent" >The syntax is described in the PDF specification, look for &#8220;border style&#8221;, eg. Table 8.13
&#8220;Entries in a border style dictionary&#8221; (specification for version 1.6)
</li>
- <li class="itemize">The border style is removed by pdfborderstyle= This is automatically done if option
+ <li class="itemize">
+ <!--l. 2000--><p class="noindent" >The border style is removed by pdfborderstyle= This is automatically done if option
colorlinks is enabled.
</li>
- <li class="itemize">Be aware that not all PDF viewers support this feature, not even Acrobat Reader itself:
+ <li class="itemize">
+ <!--l. 2004--><p class="noindent" >Be aware that not all PDF viewers support this feature, not even Acrobat Reader itself:
<!--l. 2007--><p class="noindent" >Some support:
<ul class="itemize2">
- <li class="itemize">AR7/Linux: <span
+ <li class="itemize">
+ <!--l. 2009--><p class="noindent" >AR7/Linux: <span
class="ec-lmss-10">underline </span>and <span
class="ec-lmss-10">dashed</span>, but the border width must be given.
</li>
- <li class="itemize">xpdf 3.00: <span
+ <li class="itemize">
+ <!--l. 2011--><p class="noindent" >xpdf 3.00: <span
class="ec-lmss-10">underline </span>and <span
class="ec-lmss-10">dashed</span></li></ul>
<!--l. 2014--><p class="noindent" >Unsupported:
<ul class="itemize2">
- <li class="itemize">AR5/Linux
+ <li class="itemize">
+ <!--l. 2016--><p class="noindent" >AR5/Linux
</li>
- <li class="itemize">ghostscript 8.50</li></ul>
+ <li class="itemize">
+ <!--l. 2017--><p class="noindent" >ghostscript 8.50</li></ul>
</li></ul>
<!--l. 2021--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">5.23 </span> <a
@@ -4871,16 +4985,21 @@ class="ec-lmss-10">bookmarksdepth</span></h4>
class="ec-lmss-10">bookmarksdepth</span>. The option acts
globally and distinguishes three cases:
<ul class="itemize1">
- <li class="itemize"><span
+ <li class="itemize">
+ <!--l. 2027--><p class="noindent" ><span
class="ec-lmss-10">bookmarksdepth </span>without value Then hyperref uses the current value of counter <span
class="ec-lmss-10">tocdepth</span>.
This is the compatible behaviour and the default.
+
+
</li>
- <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 2030--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">bookmarksdepth=&#x003C;number&#x003E;</span></span></span>, the value is number (also negative): The depth for the
bookmarks are set to this number.
</li>
- <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 2032--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">bookmarksdepth=&#x003C;name&#x003E;</span></span></span> The &#x003C;name&#x003E; is a document division name (part, chapter, ...). It must
not start with a digit or minus to avoid mixing up with the number case. Internally hyperref uses
the value of macro <span class="obeylines-h"><span class="verb"><span
@@ -4906,10 +5025,12 @@ be a pain to remove all the escaping, because an additional escaping layer can f
code.
<!--l. 2059--><p class="indent" > Therefore a new option pdfescapeform was introduced:
<ul class="itemize1">
- <li class="itemize">pdfescapeform=false Escaping for the formulars are disabled, this is the compatibility
+ <li class="itemize">
+ <!--l. 2061--><p class="noindent" >pdfescapeform=false Escaping for the formulars are disabled, this is the compatibility
behaviour, therefore this is the default.
</li>
- <li class="itemize">pdfescapeform=true Then the PS/PDF drivers do all the necessary escaping. This is the
+ <li class="itemize">
+ <!--l. 2064--><p class="noindent" >pdfescapeform=true Then the PS/PDF drivers do all the necessary escaping. This is the
logical choice and the recommended setting. For example, the user writes JavaScript as
JavaScript and do not care about escaping characters for PS/PDF output.</li></ul>
<!--l. 2072--><p class="noindent" >
@@ -5068,7 +5189,8 @@ class="ec-lmvtt-10">puenc.def </span>clash with other uses. To reduce the impact
class="ec-lmss-10">hyperref </span>uses
two strategies.
<ul class="itemize1">
- <li class="itemize">A number of command are only defined conditionally: The commands for the cyrillic block
+ <li class="itemize">
+ <!--l. 2216--><p class="noindent" >A number of command are only defined conditionally: The commands for the cyrillic block
if <span
class="ec-lmvtt-10">\CYRDZE </span>is defined, greek if <span
class="ec-lmvtt-10">\textBeta </span>is defined, and hebrew if <span
@@ -5076,7 +5198,8 @@ class="ec-lmvtt-10">\hebdalet </span>is defined.
<!--l. 2220--><p class="noindent" >The greek block is in an extra file, <span
class="ec-lmvtt-10">puenc-greek.def</span>, which can be loaded manually if needed.
</li>
- <li class="itemize">Other commands are moved to an extra file <span
+ <li class="itemize">
+ <!--l. 2223--><p class="noindent" >Other commands are moved to an extra file <span
class="ec-lmvtt-10">puenc-extra.def </span>which is not loaded
automatically, but can be loaded in the preamble if needed. Currently this file contains all
definitions for the accent <span
@@ -5631,84 +5754,85 @@ class="td01"><span
class="ec-lmvtt-10">accesskey </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-2"
class="td11"> key </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-4"
-class="td10"> (as per HTML) </td>
+class="td10"> (as per HTML) </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-1"
class="td01"><span
class="ec-lmvtt-10">align </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-2"
class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-3"
class="td11"> <span
-class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-4"
-class="td10"> alignment within text field; 0 is left-aligned, </td>
+class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-4"
+class="td10"> alignment within text field; 0 is left-aligned, </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-1"
class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-4"
-class="td10"> 1 is centered, 2 is right-aligned. </td>
+class="td10"> 1 is centered, 2 is right-aligned. </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-1"
class="td01"><span
class="ec-lmvtt-10">altname </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-2"
class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-4"
-class="td10"> alternative name, </td>
+class="td10"> alternative name, </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-1"
class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-4"
-class="td10"> the name shown in the user interface </td>
+class="td10"> the name shown in the user interface </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-1"
class="td01"><span
class="ec-lmvtt-10">backgroundcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-4"
-class="td10"> color of box </td>
+class="td10"> color of box </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-1"
class="td01"><span
class="ec-lmvtt-10">bordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-4"
-class="td10"> color of border </td>
+class="td10"> color of border </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-1"
class="td01"><span
class="ec-lmvtt-10">bordersep </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-4"
-class="td10"> box border gap </td>
+class="td10"> box border gap </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-57-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-1"
class="td01"><span
class="ec-lmvtt-10">borderwidth </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-3"
class="td11"> <span
-class="ec-lmri-10">1 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-4"
-class="td10"> width of box border, the value is a dimension </td>
-
+class="ec-lmri-10">1 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-4"
+class="td10"> width of box border, the value is a dimension </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-10-1"
class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-10-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-10-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-10-4"
-class="td10"> or a number with default unit bp </td>
+class="td10"> or a number with default unit bp </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-11-1"
class="td01"><span
class="ec-lmvtt-10">calculate </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-11-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-11-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-11-4"
-class="td10"> JavaScript code to calculate the value of the field</td>
+class="td10"> JavaScript code to calculate the value of the field </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-12-1"
class="td01"><span
class="ec-lmvtt-10">charsize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-12-2"
class="td11"> dimen </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-12-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-12-4"
-class="td10"> font size of field text </td>
+class="td10"> font size of field text </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-13-1"
class="td01"><span
@@ -5718,7 +5842,7 @@ class="td11"> <span
class="ec-lmri-10">4 (</span><span
class="pzdr-">&#x2714;</span><span
class="ec-lmri-10">) </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-13-4"
-class="td10"> symbol used for check boxes (ZapfDingbats), </td>
+class="td10"> symbol used for check boxes (ZapfDingbats), </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-14-1"
class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-14-2"
@@ -5728,7 +5852,7 @@ class="td10"> the value is a character or <span
class="ec-lmvtt-10">\ding</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">{</span></span></span><span
class="ec-lmvtto-10">number</span><span class="obeylines-h"><span class="verb"><span
-class="ec-lmvtt-10">}</span></span></span>, </td>
+class="ec-lmvtt-10">}</span></span></span>, </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-15-1"
class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-15-2"
@@ -5736,339 +5860,333 @@ class="td11"> </td><td style="white-space:nowrap; text-align:left;"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-15-4"
class="td10"> see package <span
class="ec-lmss-10">pifont </span>from bundle <span
-class="ec-lmss-10">psnfss </span></td>
+class="ec-lmss-10">psnfss </span></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-1"
class="td01"><span
class="ec-lmvtt-10">checked </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-2"
class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-3"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-4"
-class="td10"> whether option selected by default </td>
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-4"
+class="td10"> whether option selected by default </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-17-1"
class="td01"><span
class="ec-lmvtt-10">color </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-17-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-17-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-17-4"
-class="td10"> color of text in box </td>
+class="td10"> color of text in box </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-1"
class="td01"><span
class="ec-lmvtt-10">combo </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-2"
class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-3"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-4"
-class="td10"> choice list is &#8216;combo&#8217; style </td>
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-4"
+class="td10"> choice list is &#8216;combo&#8217; style </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-19-1"
class="td01"><span
class="ec-lmvtt-10">default </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-19-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-19-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-19-4"
-class="td10"> default value </td>
+class="td10"> default value </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-1"
class="td01"><span
class="ec-lmvtt-10">disabled </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-2"
class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-3"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-4"
-class="td10"> field disabled </td>
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-4"
+class="td10"> field disabled </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-4"
-class="td10"></td></tr>
-<tr
- style="vertical-align:baseline;" id="TBL-57-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-1"
class="td01"><span
-class="ec-lmvtt-10">format </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-4"
+class="ec-lmvtt-10">format </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-4"
class="td10"> JavaScript code to format the field </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-1"
+ style="vertical-align:baseline;" id="TBL-57-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-1"
class="td01"><span
-class="ec-lmvtt-10">height </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-2"
-class="td11"> dimen </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-4"
+class="ec-lmvtt-10">height </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-2"
+class="td11"> dimen </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-4"
class="td10"> height of field box </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-1"
+ style="vertical-align:baseline;" id="TBL-57-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-1"
class="td01"><span
-class="ec-lmvtt-10">hidden </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-2"
-class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-3"
+class="ec-lmvtt-10">hidden </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-3"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-4"
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-4"
class="td10"> field hidden </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-1"
+ style="vertical-align:baseline;" id="TBL-57-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-1"
class="td01"><span
-class="ec-lmvtt-10">keystroke </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-4"
+class="ec-lmvtt-10">keystroke </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-4"
class="td10"> JavaScript code to control the keystrokes on entry</td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-1"
+ style="vertical-align:baseline;" id="TBL-57-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-1"
class="td01"><span
-class="ec-lmvtt-10">mappingname </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-2"
-class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-4"
+class="ec-lmvtt-10">mappingname </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-2"
+class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-4"
class="td10"> the mapping name to be used when exporting </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-4"
+ style="vertical-align:baseline;" id="TBL-57-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-4"
class="td10"> the field data </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-1"
+ style="vertical-align:baseline;" id="TBL-57-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-1"
class="td01"><span
-class="ec-lmvtt-10">maxlen </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-2"
-class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-3"
+class="ec-lmvtt-10">maxlen </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-2"
+class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-3"
class="td11"> <span
-class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-4"
+class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-4"
class="td10"> number of characters allowed in text field </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-1"
+ style="vertical-align:baseline;" id="TBL-57-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-1"
class="td01"><span
-class="ec-lmvtt-10">menulength </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-2"
-class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-3"
+class="ec-lmvtt-10">menulength </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-2"
+class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-3"
class="td11"> <span
-class="ec-lmri-10">4 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-4"
+class="ec-lmri-10">4 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-4"
class="td10"> number of elements shown in list </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-1"
+ style="vertical-align:baseline;" id="TBL-57-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-1"
class="td01"><span
-class="ec-lmvtt-10">multiline </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-2"
-class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-3"
+class="ec-lmvtt-10">multiline </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-3"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-4"
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-4"
class="td10"> whether text box is multiline </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-1"
+ style="vertical-align:baseline;" id="TBL-57-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-1"
class="td01"><span
-class="ec-lmvtt-10">name </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-2"
-class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-4"
+class="ec-lmvtt-10">name </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-2"
+class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-4"
class="td10"> name of field (defaults to label) </td>
</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-1"
+class="td01"><span
+class="ec-lmvtt-10">onblur </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-4"
+class="td10"> JavaScript code </td>
+</tr><tr
style="vertical-align:baseline;" id="TBL-57-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-1"
class="td01"><span
-class="ec-lmvtt-10">onblur </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-2"
+class="ec-lmvtt-10">onchange </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-1"
class="td01"><span
-class="ec-lmvtt-10">onchange </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-2"
+class="ec-lmvtt-10">onclick </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-1"
class="td01"><span
-class="ec-lmvtt-10">onclick </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-2"
+class="ec-lmvtt-10">ondblclick </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-1"
class="td01"><span
-class="ec-lmvtt-10">ondblclick </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-2"
+class="ec-lmvtt-10">onfocus </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-1"
class="td01"><span
-class="ec-lmvtt-10">onfocus </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-2"
+class="ec-lmvtt-10">onkeydown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-1"
class="td01"><span
-class="ec-lmvtt-10">onkeydown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-2"
+class="ec-lmvtt-10">onkeypress </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-1"
class="td01"><span
-class="ec-lmvtt-10">onkeypress </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-2"
+class="ec-lmvtt-10">onkeyup </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-1"
class="td01"><span
-class="ec-lmvtt-10">onkeyup </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-2"
+class="ec-lmvtt-10">onmousedown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-1"
class="td01"><span
-class="ec-lmvtt-10">onmousedown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-2"
+class="ec-lmvtt-10">onmousemove </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-1"
class="td01"><span
-class="ec-lmvtt-10">onmousemove </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-2"
+class="ec-lmvtt-10">onmouseout </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-4"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-4"
class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-42-1"
-class="td01"> </td></tr>
-<tr
+class="td01"><span
+class="ec-lmvtt-10">onmouseover </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-42-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-42-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-42-4"
+class="td10"> JavaScript code </td>
+</tr><tr
style="vertical-align:baseline;" id="TBL-57-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-1"
class="td01"><span
-class="ec-lmvtt-10">onmouseout </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-2"
+class="ec-lmvtt-10">onmouseup </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-4"
-class="td10"> JavaScript code </td>
+class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-44-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-1"
class="td01"><span
-class="ec-lmvtt-10">onmouseover </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-2"
+class="ec-lmvtt-10">onselect </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-4"
-class="td10"> JavaScript code </td>
+class="td10"> JavaScript code </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-45-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-1"
class="td01"><span
-class="ec-lmvtt-10">onmouseup </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-4"
-class="td10"> JavaScript code </td>
+class="ec-lmvtt-10">password </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-4"
+class="td10"> text field is &#8216;password&#8217; style </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-46-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-1"
class="td01"><span
-class="ec-lmvtt-10">onselect </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-4"
-class="td10"> JavaScript code </td>
+class="ec-lmvtt-10">popdown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-4"
+class="td10"> choice list is &#8216;popdown&#8217; style </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-47-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-1"
class="td01"><span
-class="ec-lmvtt-10">password </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-2"
+class="ec-lmvtt-10">radio </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-2"
class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-3"
class="td11"> <span
class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-4"
-class="td10"> text field is &#8216;password&#8217; style </td>
+class="td10"> choice list is &#8216;radio&#8217; style </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-48-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-1"
class="td01"><span
-class="ec-lmvtt-10">popdown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-2"
-class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-3"
-class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-4"
-class="td10"> choice list is &#8216;popdown&#8217; style </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-57-49-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-1"
-class="td01"><span
-class="ec-lmvtt-10">radio </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-2"
-class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-3"
-class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-4"
-class="td10"> choice list is &#8216;radio&#8217; style </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-57-50-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-1"
-class="td01"><span
-class="ec-lmvtt-10">radiosymbol </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-2"
-class="td11"> char </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-3"
+class="ec-lmvtt-10">radiosymbol </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-2"
+class="td11"> char </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-3"
class="td11"> <span
class="ec-lmri-10">H (</span><span
class="pzdr-">&#x2605;</span><span
-class="ec-lmri-10">) </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-4"
-class="td10"> symbol used for radio fields (ZapfDingbats),</td>
+class="ec-lmri-10">) </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-4"
+class="td10"> symbol used for radio fields (ZapfDingbats), </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-51-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-4"
+ style="vertical-align:baseline;" id="TBL-57-49-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-4"
class="td10"> the value is a character or <span
class="ec-lmvtt-10">\ding</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">{</span></span></span><span
class="ec-lmvtto-10">number</span><span class="obeylines-h"><span class="verb"><span
-class="ec-lmvtt-10">}</span></span></span>, </td>
+class="ec-lmvtt-10">}</span></span></span>, </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-52-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-4"
+ style="vertical-align:baseline;" id="TBL-57-50-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-4"
class="td10"> see package <span
class="ec-lmss-10">pifont </span>from bundle <span
-class="ec-lmss-10">psnfss </span></td>
+class="ec-lmss-10">psnfss </span></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-53-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-1"
+ style="vertical-align:baseline;" id="TBL-57-51-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-1"
class="td01"><span
-class="ec-lmvtt-10">readonly </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-2"
-class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-3"
+class="ec-lmvtt-10">readonly </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-3"
class="td11"> <span
-class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-4"
-class="td10"> field is readonly </td>
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-4"
+class="td10"> field is readonly </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-57-54-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-1"
+ style="vertical-align:baseline;" id="TBL-57-52-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-1"
class="td01"><span
-class="ec-lmvtt-10">rotation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-2"
-class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-3"
+class="ec-lmvtt-10">rotation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-2"
+class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-3"
class="td11"> <span
-class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-4"
-class="td10"> rotation of the widget annotation </td>
+class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-4"
+class="td10"> rotation of the widget annotation </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-53-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-4"
+class="td10"> (degree, counterclockwise, multiple of 90) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-54-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-1"
+class="td01"><span
+class="ec-lmvtt-10">tabkey </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-4"
+class="td10"> (as per HTML) </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-55-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-1"
-class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-2"
+class="td01"><span
+class="ec-lmvtt-10">validate </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-4"
-class="td10"> (degree, counterclockwise, multiple of 90) </td>
+class="td10"> JavaScript code to validate the entry </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-56-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-1"
class="td01"><span
-class="ec-lmvtt-10">tabkey </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-2"
+class="ec-lmvtt-10">value </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-2"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-4"
-class="td10"> (as per HTML) </td>
+class="td10"> initial value </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-57-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-1"
class="td01"><span
-class="ec-lmvtt-10">validate </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-3"
+class="ec-lmvtt-10">width </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-2"
+class="td11"> dimen </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-3"
class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-4"
-class="td10"> JavaScript code to validate the entry </td>
+class="td10"> width of field box </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-58-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-58-1"
-class="td01"><span
-class="ec-lmvtt-10">value </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-58-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-58-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-58-4"
-class="td10"> initial value </td>
+class="td01"> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-59-1"
-class="td01"><span
-class="ec-lmvtt-10">width </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-59-2"
-class="td11"> dimen </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-59-3"
-class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-59-4"
-class="td10"> width of field box </td>
+class="td01"> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-60-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-60-1"
-class="td01"> </td>
+class="td01"> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-57-61-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-61-1"
-class="td01"> </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-57-62-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-62-1"
-class="td01"> </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-57-63-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-63-1"
-class="td01"> </td></tr>
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-61-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-61-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-61-4"
+class="td10"></td></tr>
</table></div>
<!--l. 2430--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">8 </span> <a
@@ -6084,10 +6202,9 @@ class="ec-lmvtt-10">\hyper@linkfile</span></span></span>
class="ec-lmvtt-10">\hyper@linkurl</span></span></span>
<!--l. 2442--><p class="noindent" >5. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@anchorstart</span></span></span>
-
-
<!--l. 2444--><p class="noindent" >6. <span class="obeylines-h"><span class="verb"><span
-class="ec-lmvtt-10">\hyper@anchorend</span></span></span>
+class="ec-lmvtt-10">\hyper@anchorend</span></span></span>
+
<!--l. 2446--><p class="noindent" >7. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@linkstart</span></span></span>
<!--l. 2448--><p class="noindent" >8. <span class="obeylines-h"><span class="verb"><span
@@ -6113,7 +6230,8 @@ class="ec-lmvtt-10">\hyper@linkend</span></span></span>
class="ec-lmss-10">hyperref </span>aims to cooperate with other packages, but there are several possible sources for
conflict, such as
<ul class="itemize1">
- <li class="itemize">Packages that manipulate the bibliographic mechanism. Peter William&#8217;s <span
+ <li class="itemize">
+ <!--l. 2470--><p class="noindent" >Packages that manipulate the bibliographic mechanism. Peter William&#8217;s <span
class="ec-lmss-10">harvard </span>package is
supported. However, the recommended package is Patrick Daly&#8217;s <span
class="ec-lmss-10">natbib </span>package that has
@@ -6122,7 +6240,8 @@ class="ec-lmss-10">hyperref </span>hooks to allow reliable interaction. This pac
of layouts and citation styles, all of which work with <span
class="ec-lmss-10">hyperref</span>.
</li>
- <li class="itemize">Packages that typeset the contents of the <span
+ <li class="itemize">
+ <!--l. 2477--><p class="noindent" >Packages that typeset the contents of the <span
class="ec-lmvtt-10">\label </span>and <span
class="ec-lmvtt-10">\ref </span>macros, such as <span
class="ec-lmss-10">showkeys</span>. Since the
@@ -6131,7 +6250,8 @@ class="ec-lmss-10">hyperref </span>package redefines these commands, you must se
class="ec-lmvtt-10">implicit=false </span>for these packages
to work.
</li>
- <li class="itemize">Packages that do anything serious with the index.</li></ul>
+ <li class="itemize">
+ <!--l. 2482--><p class="noindent" >Packages that do anything serious with the index.</li></ul>
<!--l. 2485--><p class="indent" > The <span
class="ec-lmss-10">hyperref </span>package is distributed with variants on two useful packages designed to work especially
well with it. These are <span
@@ -6150,8 +6270,7 @@ class="ec-lmvtt-10">\begin{document}</span></span></span>. Sometimes this is too
package must be loaded earlier.
<!--l. 2503--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.1 </span> <a
- id="x1-560009.1.1"></a>algorithm</h5>
-
+ id="x1-560009.1.1"></a>algorithm</h5>
<pre class="verbatim" id="verbatim-42">
&#x00A0;\usepackage{float}
@@ -6195,7 +6314,7 @@ thus the resulting package order is then:
<pre class="verbatim" id="verbatim-45">
&#x00A0;&#x00A0;\usepackage{longtable}
-&#x00A0;&#x00A0;\usepacakge{hyperref}
+&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;\usepackage{arydshln}
</pre>
<!--l. 2544--><p class="nopar" >
@@ -6334,10 +6453,12 @@ before):
</pre>
<!--l. 2662--><p class="nopar" >
<ul class="itemize1">
- <li class="itemize">Several <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 2664--><p class="noindent" >Several <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\caption</span></span></span> commands are not supported inside one float object.
</li>
- <li class="itemize">Anchor are set at top of the float object, if its style is controlled by float.sty.</li></ul>
+ <li class="itemize">
+ <!--l. 2665--><p class="noindent" >Anchor are set at top of the float object, if its style is controlled by float.sty.</li></ul>
<!--l. 2669--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.16 </span> <a
id="x1-710009.1.16"></a>endnotes</h5>
@@ -6638,11 +6759,13 @@ order:
varioref that breaks the hyperref support for varioref.
<!--l. 2933--><p class="indent" > Also unsupported:
<ul class="itemize1">
- <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 2935--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\Ref</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\Vref</span></span></span> do not uppercase the first letter.
</li>
- <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 2936--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\vpageref[]{...}</span></span></span> On the same page a previous space is not suppressed.</li></ul>
<!--l. 2940--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.41 </span> <a
@@ -6741,34 +6864,39 @@ href="hyperref-doc6.html#fn5x0"><sup class="textsuperscript">5</sup></a></span><
drivers lack this feature, e.g. dvips, dvipsone.
<!--l. 3025--><p class="indent" > Workarounds:
<ul class="itemize1">
- <li class="itemize">For long section or caption titles in the table of contents or list of figures/tables option
+ <li class="itemize">
+ <!--l. 3027--><p class="noindent" >For long section or caption titles in the table of contents or list of figures/tables option
<span
class="ec-lmss-10">linktocpage </span>can be used. Then the page number will be a link, and the overlong section title
is not forced into an one line link with overfull <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hbox</span></span></span> warning.
</li>
- <li class="itemize">&#8220;<span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 3032--><p class="noindent" >&#8220;<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\url</span></span></span>&#8221;s are caught by package <span
class="ec-lmss-10">breakurl</span>.
</li>
- <li class="itemize">The option <span
+ <li class="itemize">
+ <!--l. 3033--><p class="noindent" >The option <span
class="ec-lmss-10">breaklinks </span>is intended for internal use. But it can be used to force link wrapping,
e.g. when printing a document. However, when such a document is converted to PDF and
viewed with a PDF viewer, the active link area will be misplaced.
+
+
<!--l. 3039--><p class="noindent" >Another limitation: some penalties are &#8220;optimized&#8221; by TeX, thus there are missing break
points, especially within <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\url</span></span></span>. (See thread &#8220;hyperref.sty, breaklinks and url.sty 3.2&#8221; in
comp.text.tex 2005-09).</li></ul>
-
-
<!--l. 3045--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">10.2 </span> <a
id="x1-10100010.2"></a>Links across pages</h4>
<!--l. 3047--><p class="noindent" >In general they have problems:
<ul class="itemize1">
- <li class="itemize">Some driver doesn&#8217;t support them at all (see above).
+ <li class="itemize">
+ <!--l. 3049--><p class="noindent" >Some driver doesn&#8217;t support them at all (see above).
</li>
- <li class="itemize">The driver allows it, but the link result might include the footer and/or header, or an error
+ <li class="itemize">
+ <!--l. 3050--><p class="noindent" >The driver allows it, but the link result might include the footer and/or header, or an error
message can occur sometimes.</li></ul>
<!--l. 3055--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">10.3 </span> <a
@@ -6838,7 +6966,8 @@ class="ec-lmss-10">xsetkeys</span>).
<h4 class="subsectionHead"><span class="titlemark">11.2 </span> <a
id="x1-10500011.2"></a>Index with makeindex</h4>
<ul class="itemize1">
- <li class="itemize">Package hyperref adds <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 3102--><p class="noindent" >Package hyperref adds <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyperpage</span></span></span> commands by the encap mechanism (see documentation
of Makeindex), if option hyperindex is set (default). <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyperpage</span></span></span> uses the page anchors that
@@ -6850,7 +6979,8 @@ class="ec-lmvtt-10">\romannumbering</span></span></span>, ...), then the page an
option <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">plainpages=false</span></span></span> is recommended.
</li>
- <li class="itemize">The encap mechanism of Makeindex allows to use one command only (see documentation of
+ <li class="itemize">
+ <!--l. 3112--><p class="noindent" >The encap mechanism of Makeindex allows to use one command only (see documentation of
Makeindex). If the user sets such a command, hyperref suppresses its <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyperpage</span></span></span> command. With
logical markup this situation can easily be solved:
@@ -6866,9 +6996,11 @@ class="ec-lmvtt-10">\hyperpage</span></span></span> command. With
</pre>
<!--l. 3124--><p class="nopar" >
</li>
- <li class="itemize">Scientic Word/Scientific WorkPlace users can use package robustindex with hyperindex=false.
+ <li class="itemize">
+ <!--l. 3125--><p class="noindent" >Scientic Word/Scientific WorkPlace users can use package robustindex with hyperindex=false.
</li>
- <li class="itemize">Other encap characters can be set by option <span
+ <li class="itemize">
+ <!--l. 3127--><p class="noindent" >Other encap characters can be set by option <span
class="ec-lmss-10">encap</span>. Example for use of &#8220;?&#8221;:
@@ -6877,7 +7009,8 @@ class="ec-lmss-10">encap</span>. Example for use of &#8220;?&#8221;:
</pre>
<!--l. 3131--><p class="nopar" >
</li>
- <li class="itemize">Another possibility is the insertion of <span class="obeylines-h"><span class="verb"><span
+ <li class="itemize">
+ <!--l. 3132--><p class="noindent" >Another possibility is the insertion of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyperpage</span></span></span> by a style file for makeindex. For this case,
hyperref&#8217;s insertion will be disabled by <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">hyperindex=false</span></span></span>. <span class="obeylines-h"><span class="verb"><span
@@ -7287,78 +7420,92 @@ Modified Version to whoever possesses a copy of it. In addition, you must do the
Version:
<!--l. 3594--><p class="indent" >
<ol class="enumerate1" >
- <li
- class="enumerate" id="x1-117002x1">Use in the Title Page (and on the covers, if any) a title distinct from that of the Document,
+<li
+ class="enumerate" id="x1-117002x1">
+ <!--l. 3595--><p class="noindent" >Use in the Title Page (and on the covers, if any) a title distinct from that of the Document,
and from those of previous versions (which should, if there were any, be listed in the History
section of the Document). You may use the same title as a previous version if the original
publisher of that version gives permission.
</li>
- <li
- class="enumerate" id="x1-117004x2">List on the Title Page, as authors, one or more persons or entities responsible for authorship
+<li
+ class="enumerate" id="x1-117004x2">
+ <!--l. 3600--><p class="noindent" >List on the Title Page, as authors, one or more persons or entities responsible for authorship
of the modifications in the Modified Version, together with at least five of the principal
authors of the Document (all of its principal authors, if it has fewer than five), unless they
- release you from this requirement.
- </li>
- <li
- class="enumerate" id="x1-117006x3">State on the Title page the name of the publisher of the Modified Version, as the publisher.
-
+ release you from this requirement.
</li>
- <li
- class="enumerate" id="x1-117008x4">Preserve all the copyright notices of the Document.
+<li
+ class="enumerate" id="x1-117006x3">
+ <!--l. 3605--><p class="noindent" >State on the Title page the name of the publisher of the Modified Version, as the publisher.
</li>
- <li
- class="enumerate" id="x1-117010x5">Add an appropriate copyright notice for your modifications adjacent to the other copyright
+<li
+ class="enumerate" id="x1-117008x4">
+ <!--l. 3607--><p class="noindent" >Preserve all the copyright notices of the Document.
+ </li>
+<li
+ class="enumerate" id="x1-117010x5">
+ <!--l. 3608--><p class="noindent" >Add an appropriate copyright notice for your modifications adjacent to the other copyright
notices.
</li>
- <li
- class="enumerate" id="x1-117012x6">Include, immediately after the copyright notices, a license notice giving the public permission
+<li
+ class="enumerate" id="x1-117012x6">
+ <!--l. 3610--><p class="noindent" >Include, immediately after the copyright notices, a license notice giving the public permission
to use the Modified Version under the terms of this License, in the form shown in the
Addendum below.
</li>
- <li
- class="enumerate" id="x1-117014x7">Preserve in that license notice the full lists of Invariant Sections and required Cover Texts
+<li
+ class="enumerate" id="x1-117014x7">
+ <!--l. 3613--><p class="noindent" >Preserve in that license notice the full lists of Invariant Sections and required Cover Texts
given in the Document&#8217;s license notice.
</li>
- <li
- class="enumerate" id="x1-117016x8">Include an unaltered copy of this License.
+<li
+ class="enumerate" id="x1-117016x8">
+ <!--l. 3615--><p class="noindent" >Include an unaltered copy of this License.
</li>
- <li
- class="enumerate" id="x1-117018x9">Preserve the section Entitled &#8220;History&#8221;, Preserve its Title, and add to it an item stating at
+<li
+ class="enumerate" id="x1-117018x9">
+ <!--l. 3616--><p class="noindent" >Preserve the section Entitled &#8220;History&#8221;, Preserve its Title, and add to it an item stating at
least the title, year, new authors, and publisher of the Modified Version as given on the Title
Page. If there is no section Entitled &#8220;History&#8221; in the Document, create one stating the title,
year, authors, and publisher of the Document as given on its Title Page, then add an item
describing the Modified Version as stated in the previous sentence.
</li>
- <li
- class="enumerate" id="x1-117020x10">Preserve the network location, if any, given in the Document for public access to a
+<li
+ class="enumerate" id="x1-117020x10">
+ <!--l. 3623--><p class="noindent" >Preserve the network location, if any, given in the Document for public access to a
Transparent copy of the Document, and likewise the network locations given in the Document
for previous versions it was based on. These may be placed in the &#8220;History&#8221; section. You
may omit a network location for a work that was published at least four years before the
Document itself, or if the original publisher of the version it refers to gives permission.
+
+
</li>
- <li
- class="enumerate" id="x1-117022x11">For any section Entitled &#8220;Acknowledgements&#8221; or &#8220;Dedications&#8221;, Preserve the Title of the
+<li
+ class="enumerate" id="x1-117022x11">
+ <!--l. 3630--><p class="noindent" >For any section Entitled &#8220;Acknowledgements&#8221; or &#8220;Dedications&#8221;, Preserve the Title of the
section, and preserve in the section all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
</li>
- <li
- class="enumerate" id="x1-117024x12">Preserve all the Invariant Sections of the Document, unaltered in their text and in their
+<li
+ class="enumerate" id="x1-117024x12">
+ <!--l. 3634--><p class="noindent" >Preserve all the Invariant Sections of the Document, unaltered in their text and in their
titles. Section numbers or the equivalent are not considered part of the section titles.
</li>
- <li
- class="enumerate" id="x1-117026x13">Delete any section Entitled &#8220;Endorsements&#8221;. Such a section may not be included in the
+<li
+ class="enumerate" id="x1-117026x13">
+ <!--l. 3637--><p class="noindent" >Delete any section Entitled &#8220;Endorsements&#8221;. Such a section may not be included in the
Modified Version.
</li>
- <li
- class="enumerate" id="x1-117028x14">Do not retitle any existing section to be Entitled &#8220;Endorsements&#8221; or to conflict in title with
+<li
+ class="enumerate" id="x1-117028x14">
+ <!--l. 3639--><p class="noindent" >Do not retitle any existing section to be Entitled &#8220;Endorsements&#8221; or to conflict in title with
any Invariant Section.
</li>
- <li
- class="enumerate" id="x1-117030x15">Preserve any Warranty Disclaimers.
+<li
+ class="enumerate" id="x1-117030x15">
+ <!--l. 3641--><p class="noindent" >Preserve any Warranty Disclaimers.
</li></ol>
-
-
<!--l. 3645--><p class="indent" > If the Modified Version includes new front-matter sections or appendices that qualify as Secondary
Sections and contain no material copied from the Document, you may at your option designate some or
all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in
@@ -7376,6 +7523,8 @@ may replace the old one, on explicit permission from the previous publisher that
one.
<!--l. 3668--><p class="indent" > The author(s) and publisher(s) of the Document do not by this License give permission to use their
names for publicity for or to assert or imply endorsement of any Modified Version.
+
+
<!--l. 3673--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.5 </span> <a
id="x1-11800013.5"></a>Combining documents</h4>
@@ -7406,8 +7555,6 @@ of the documents in all other respects.
License, provided you insert a copy of this License into the extracted document, and follow this License
in all other respects regarding verbatim copying of that document.
<!--l. 3715--><p class="noindent" >
-
-
<h4 class="subsectionHead"><span class="titlemark">13.7 </span> <a
id="x1-12000013.7"></a>Aggregation with independent works</h4>
<!--l. 3718--><p class="noindent" >A compilation of the Document or its derivatives with other separate and independent documents or
@@ -7430,6 +7577,7 @@ under the terms of section&#x00A0;<a
href="#x1-11700013.4">13.4<!--tex4ht:ref: modifications --></a>. Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include translations of some or all Invariant
Sections in addition to the original versions of these Invariant Sections. You may include a translation of
+
this License, and all the license notices in the Document, and any Warranty Disclaimers,
provided that you also include the original English version of this License and the original
versions of those notices and disclaimers. In case of a disagreement between the translation
@@ -7460,8 +7608,6 @@ following the terms and conditions either of that specified version or of any la
published (not as a draft) by the Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not as a draft) by the Free Software
Foundation.
-
-
<!--l. 3791--><p class="noindent" >
<h4 class="likesubsectionHead"><a
id="x1-12400013.10"></a>Addendum: how to use this license for your documents</h4>
@@ -7479,6 +7625,8 @@ class="ts1-lmr10-">©</span>&#x00A0;YEAR YOUR NAME. Permission is granted to copy
line with this:
<!--l. 3810--><p class="indent" > with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and
with the Back-Cover Texts being LIST.
+
+
<!--l. 3813--><p class="indent" > If you have Invariant Sections without Cover Texts, or some other combination of the three, merge
those two alternatives to suit the situation.
<!--l. 3817--><p class="indent" > If your document contains nontrivial examples of program code, we recommend releasing these
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
index f39dbe3d0e..51a1372af1 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.tex b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
index f4b113db0d..ce9a213c8c 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
@@ -166,7 +166,7 @@
}
\makeatother
\title{Hypertext marks in \hologo{LaTeX}: a manual for \xpackage{hyperref}}
-\date{2021-02-27 v7.00k}
+\date{2021-06-05 v7.00l}
\begin{document}
@@ -2539,7 +2539,7 @@ earlier.
\begin{verbatim}
\usepackage{longtable}
- \usepacakge{hyperref}
+ \usepackage{hyperref}
\usepackage{arydshln}
\end{verbatim}
diff --git a/macros/latex/contrib/hyperref/doc/hyperref.pdf b/macros/latex/contrib/hyperref/doc/hyperref.pdf
index 94564ddfe3..509003fa47 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/nameref.pdf b/macros/latex/contrib/hyperref/doc/nameref.pdf
index 731298ac32..31cafb8c57 100644
--- a/macros/latex/contrib/hyperref/doc/nameref.pdf
+++ b/macros/latex/contrib/hyperref/doc/nameref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/hluatex.dtx b/macros/latex/contrib/hyperref/hluatex.dtx
index b1ad0653c7..e16c9e1d8e 100644
--- a/macros/latex/contrib/hyperref/hluatex.dtx
+++ b/macros/latex/contrib/hyperref/hluatex.dtx
@@ -1,6 +1,6 @@
% \iffalse
% Source File: hluatex.dtx
-% 2021-02-27 v7.00k
+% 2021-06-05 v7.00l
%
% Copyright
% 2016-2019 Oberdiek Package Support Group
@@ -31,7 +31,7 @@
%
% \begin{macrocode}
%<*luatex>
-%% 2021-02-27 v7.00k
+%% 2021-06-05 v7.00l
%% force unicode encoding, see issue #101
%% code mostly copied from hxetex.def
\HyPsd@LoadUnicode
diff --git a/macros/latex/contrib/hyperref/hyperref.dtx b/macros/latex/contrib/hyperref/hyperref.dtx
index 711fa59ea1..f07e832470 100644
--- a/macros/latex/contrib/hyperref/hyperref.dtx
+++ b/macros/latex/contrib/hyperref/hyperref.dtx
@@ -53,7 +53,7 @@
%<puarenc>\ProvidesFile{puarenc.def}
%<psdextra>\ProvidesFile{psdextra.def}
%<lang>\ProvidesFile{hyperref-langpatches.def}
-%<!none> [2021-02-27 v7.00k %
+%<!none> [2021-06-05 v7.00l %
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -4451,10 +4451,10 @@
\let\Hy@RestoreLastskip\relax
\ifvmode
\ifdim\lastskip=\z@
- \ifnum\lastnodetype=11 %
- \let\Hy@RestoreLastskip\nobreak
- \else
+ \ifnum\lastnodetype=1 %
\let\Hy@RestoreLastskip\relax
+ \else
+ \let\Hy@RestoreLastskip\nobreak
\fi
\else
\begingroup
@@ -7745,6 +7745,7 @@
\def\Hy@babelnormalise#1[#2]{%
\begingroup
\Hy@safe@activestrue
+ \let\protect\@unexpandableprotect
\edef\Hy@tempa{%
\endgroup
\noexpand#1[{#2}]%
@@ -11416,7 +11417,7 @@
% without valid anchor
% \begin{macrocode}
\@ifpackageloaded{longtable}{%
- \CheckCommand*{\LT@p@ftntext}[1]{%
+ \CheckCommand{\LT@p@ftntext}[1]{%
\edef\@tempa{%
\the\LT@p@ftn
\noexpand\footnotetext[\the\c@footnote]%
@@ -12979,6 +12980,7 @@
\def\HyRef@StarSetRef#1{%
\begingroup
\Hy@safe@activestrue
+ \let\protect\@unexpandableprotect
\edef\x{#1}%
\@onelevel@sanitize\x
\edef\x{\endgroup
diff --git a/macros/latex/contrib/hyperref/xr-hyper.sty b/macros/latex/contrib/hyperref/xr-hyper.sty
index 08bfac613a..25b2c24f83 100644
--- a/macros/latex/contrib/hyperref/xr-hyper.sty
+++ b/macros/latex/contrib/hyperref/xr-hyper.sty
@@ -61,7 +61,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xr-hyper}
- [2021-02-27 v7.00k eXternal References (DPC)]
+ [2021-06-05 v7.00l eXternal References (DPC)]
\def\externaldocument{\@testopt\XR@cite{}}
\let\externalcitedocument\externaldocument
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index 972985be67..646ec7e301 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index b9f2c80453..c80c13f352 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -4348,7 +4348,7 @@ a_p & &&a_0 & & &b_1 \\
\end{scope}
\vspace{2cm}
-Un exemple avec un système linéaire:\par\nobreak
+Un exemple avec un système linéaire:
\begin{Verbatim}
$\begin{pNiceArray}{*6c|c}[nullify-dots,last-col,code-for-last-col=\scriptstyle]
diff --git a/macros/latex/contrib/nicematrix/nicematrix.dtx b/macros/latex/contrib/nicematrix/nicematrix.dtx
index 0718d3cae5..32206348c0 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix.dtx
@@ -15,8 +15,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{5.15a}
-\def\myfiledate{2021/05/06}
+\def\myfileversion{5.15b}
+\def\myfiledate{2021/06/05}
%
%
%<*batchfile>
@@ -1665,7 +1665,7 @@ version 2005/12/01 or later.
%
% It's possible to access the preceding tools with a syntax close to the syntax
% of \pkg{colortbl}. For that, one must use the key |colortbl-like| in the
-% current environment.\footnote{As for now, this key is \emph{not} available in |\NiceMatrixOptions|.}
+% current environment.\footnote{Up to now, this key is \emph{not} available in |\NiceMatrixOptions|.}
%
% There are three commands available (they are inspired by \pkg{colortbl} but
% are \emph{independent} of \pkg{colortbl}):
@@ -4134,7 +4134,7 @@ version 2005/12/01 or later.
% \end{Verbatim}
%
% \bigskip
-% As for now, the package \pkg{nicematrix} is not compatible with
+% Up to now, the package \pkg{nicematrix} is not compatible with
% \cls{aastex63}. If you want to use \pkg{nicematrix} with \cls{aastex63}, send
% me an email and I will try to solve the incompatibilies.
%
@@ -5276,87 +5276,7 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
-% \medskip
-% The command |\NC@rewrite@S| is a LaTeX command created by \pkg{siunitx} in
-% connection with the |S| column. In the code of \pkg{siunitx}, this command is
-% defined by:
-% \begin{Verbatim}[commandchars=\~\!\+, formatcom = \small]
-% \renewcommand*{\NC@rewrite@S}[1][]
-% {
-% \@temptokena \exp_after:wN
-% {
-% \tex_the:D \@temptokena
-% > { \__siunitx_table_collect_begin: S {#1} }
-% c
-% < { \__siunitx_table_print: }
-% }
-% \NC@find
-% }
-% \end{Verbatim}
-% We want to patch this command (in the environments of \pkg{nicematrix}) in
-% order to have:
-% \begin{Verbatim}[commandchars=\~\!\+, formatcom = \small]
-% \renewcommand*{\NC@rewrite@S}[1][]
-% {
-% \@temptokena \exp_after:wN
-% {
-% \tex_the:D \@temptokena
-% > { ~emphase!\@@_Cell:+ \__siunitx_table_collect_begin: S {#1} }
-% ~emphase!\@@_true_c:+
-% < { \__siunitx_table_print: ~emphase!\@@_end_Cell:+ }
-% }
-% \NC@find
-% }
-% \end{Verbatim}
-% However, we don't want do use explicitly any private command of \pkg{siunitx}.
-% That's why we will extract the name of the two |\__siunitx...| commands by
-% their position in the code of |\NC@rewrite@S|.
-%
-% Since the command |\NC@rewrite@S| appends some tokens to the \emph{toks} list
-% |\@temptokena|, we use the LaTeX command |\NC@rewrite@S| in a group
-% (|\group_begin:|--|\group_end:|) and we extract the two command names which
-% are in the toks |\@temptokena|. However, this extraction can be done only
-% when \pkg{siunitx} is loaded (and it may be loaded after \pkg{nicematrix})
-% and, in fact, after the beginning of the document --- because some
-% instructions of \pkg{siunitx} are executed in a |\AtBeginDocument|). That's
-% why this extraction will be done only at the first use of an
-% environment of \pkg{nicematrix} with the command |\@@_adapt_S_column:|.
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_adapt_S_column:
- {
- \bool_if:NT \c_@@_siunitx_loaded_bool
- {
- \group_begin:
- \@temptokena = { }
-% \end{macrocode}
-% We protect |\NC@find| which is at the end of |\NC@rewrite@S|.
-% \begin{macrocode}
- \cs_set_eq:NN \NC@find \prg_do_nothing:
- \NC@rewrite@S { }
-% \end{macrocode}
-% Conversion of the \emph{toks} |\@temptokena| in a token list of \pkg{expl3}
-% (the toks are not supported by \pkg{expl3} but we can, nevertheless, use the
-% option |V| for |\tl_gset:NV|).
-% \begin{macrocode}
- \tl_gset:NV \g_tmpa_tl \@temptokena
- \group_end:
- \tl_new:N \c_@@_table_collect_begin_tl
- \tl_set:Nx \l_tmpa_tl { \tl_item:Nn \g_tmpa_tl 2 }
- \tl_gset:Nx \c_@@_table_collect_begin_tl { \tl_item:Nn \l_tmpa_tl 1 }
- \tl_new:N \c_@@_table_print_tl
- \tl_gset:Nx \c_@@_table_print_tl { \tl_item:Nn \g_tmpa_tl { -1 } }
-% \end{macrocode}
-% The token lists |\c_@@_table_collect_begin_tl| and |\c_@@_table_print_tl|
-% contain now the two commands of \pkg{siunitx}.
-%
-% \smallskip
-% If the adaptation has been done, the command |\@@_adapt_S_column:| becomes
-% no-op (globally).
-% \begin{macrocode}
- \cs_gset_eq:NN \@@_adapt_S_column: \prg_do_nothing:
- }
- }
-% \end{macrocode}
+%
%
% \bigskip
% The command |\@@_renew_NC@rewrite@S:| will be used in each environment of
@@ -5367,28 +5287,82 @@ version 2005/12/01 or later.
\bool_if:nTF { ! \c_@@_siunitx_loaded_bool }
{ \cs_set_eq:NN \@@_renew_NC@rewrite@S: \prg_do_nothing: }
{
- \cs_new_protected:Npn \@@_renew_NC@rewrite@S:
+% \end{macrocode}
+% For version of \pkg{siunitx} at least equal to 3.0, the adaptation is different
+% from previous ones. We test the version of \pkg{siunitx} by the existence of the
+% control sequence |\siunitx_cell_begin:w|.
+% \begin{macrocode}
+ \cs_if_exist:NTF \siunitx_cell_begin:w
{
- \renewcommand*{\NC@rewrite@S}[1][]
+ \cs_new_protected:Npn \@@_renew_NC@rewrite@S:
{
- \@temptokena \exp_after:wN
+ \renewcommand*{\NC@rewrite@S}[1][]
{
- \tex_the:D \@temptokena
- > { \@@_Cell: \c_@@_table_collect_begin_tl S {##1} }
+ \@temptokena \exp_after:wN
+ {
+ \tex_the:D \@temptokena
+ > {
+ \@@_Cell:
+ \keys_set:nn { siunitx } { ##1 }
+ \siunitx_cell_begin:w
+ }
% \end{macrocode}
% |\@@_true_c:| will be replaced statically by |c| at the end of the construction
% of the preamble.
% \begin{macrocode}
- \@@_true_c:
- < { \c_@@_table_print_tl \@@_end_Cell: }
+ \@@_true_c:
+ < { \siunitx_cell_end: \@@_end_Cell: }
+ }
+ \NC@find
}
- \NC@find
}
}
+ {
+ \cs_new_protected:Npn \@@_renew_NC@rewrite@S:
+ {
+ \renewcommand*{\NC@rewrite@S}[1][]
+ {
+ \@temptokena \exp_after:wN
+ {
+ \tex_the:D \@temptokena
+ > { \@@_Cell: \c_@@_table_collect_begin_tl S {##1} }
+ \@@_true_c:
+ < { \c_@@_table_print_tl \@@_end_Cell: }
+ }
+ \NC@find
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% The following code is used to define |\c_@@_table_collect_begin_tl| and
+% |\c_@@_table_print_tl| when the version of \pkg{siunitx} is prior to 3.0. The
+% command |\@@_adapt_S_column| is used in the environment |{NiceArrayWithDelims}|.
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_adapt_S_column:
+ {
+ \bool_if:NT \c_@@_siunitx_loaded_bool
+ {
+ \group_begin:
+ \@temptokena = { }
+ \cs_set_eq:NN \NC@find \prg_do_nothing:
+ \NC@rewrite@S { }
+ \tl_gset:NV \g_tmpa_tl \@temptokena
+ \group_end:
+ \tl_new:N \c_@@_table_collect_begin_tl
+ \tl_set:Nx \l_tmpa_tl { \tl_item:Nn \g_tmpa_tl 2 }
+ \tl_gset:Nx \c_@@_table_collect_begin_tl { \tl_item:Nn \l_tmpa_tl 1 }
+ \tl_new:N \c_@@_table_print_tl
+ \tl_gset:Nx \c_@@_table_print_tl { \tl_item:Nn \g_tmpa_tl { -1 } }
+ \cs_gset_eq:NN \@@_adapt_S_column: \prg_do_nothing:
}
}
% \end{macrocode}
%
+%
% \bigskip
% The following regex will be used to modify the preamble of the array when the
% key |colortbl-like| is used.
@@ -5416,6 +5390,7 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+% \bigskip
% \subsection*{Parameters}
%
% \bigskip
@@ -5864,11 +5839,7 @@ version 2005/12/01 or later.
%
% \medskip
% The following token list correspond to the key |color| of the command
-% |\Block|. However, as of now (v. 5.7 of \pkg{nicematrix}), the key |color|
-% linked to |fill| with an error. We will give to the key |color| of |\Block|
-% its new meaning in a few months (with its new definition, the key |color| will
-% draw the frame with the given color but also color the content of the block
-% (that is to say the text) as does the key |color| of a Tikz node).
+% |\Block|.
% \begin{macrocode}
\tl_new:N \l_@@_color_tl
% \end{macrocode}
@@ -7209,7 +7180,7 @@ version 2005/12/01 or later.
% \item we test the existence of these nodes in order to determine whether a
% cell is empty when we search the extremities of a dotted line.
% \end{itemize}
-% However, it's very difficult to determine whether a cell is empty. As for now,
+% However, it's very difficult to determine whether a cell is empty. Up to now
% we use the following technic:
% \begin{itemize}
% \item if the width of the box |\l_@@_cell_box| (created with the content of
@@ -8169,6 +8140,10 @@ version 2005/12/01 or later.
\bool_gset_false:N \g_@@_row_of_col_done_bool
\str_if_empty:NT \g_@@_name_env_str
{ \str_gset:Nn \g_@@_name_env_str { NiceArrayWithDelims } }
+% \end{macrocode}
+% The following line will be deleted when we will consider that only versions of
+% \pkg{siunitx} after v3.0 are compatible with \pkg{nicematrix}.
+% \begin{macrocode}
\@@_adapt_S_column:
\bool_if:NTF \l_@@_NiceTabular_bool
\mode_leave_vertical:
@@ -10157,12 +10132,19 @@ version 2005/12/01 or later.
% \begin{macrocode}
\seq_gclear:N \g_@@_submatrix_names_seq
% \end{macrocode}
+% \medskip
+% We compose the |code-after| in math mode in order to nullify the spaces put
+% by the user between instructions in the |code-after|.
+% \begin{macrocode}
+ % \bool_if:NT \l_@@_NiceTabular_bool \c_math_toggle_token
+% \end{macrocode}
% And here's the |\CodeAfter|. Since the |\CodeAfter| may begin with an
% ``argument'' between square brackets of the options, we extract and treat that
% potential ``argument'' with the command |\@@_CodeAfter_keys:|.
% \begin{macrocode}
\exp_last_unbraced:NV \@@_CodeAfter_keys: \g_nicematrix_code_after_tl
\scan_stop:
+ % \bool_if:NT \l_@@_NiceTabular_bool \c_math_toggle_token
\tl_gclear:N \g_nicematrix_code_after_tl
\group_end:
% \end{macrocode}
@@ -10661,8 +10643,8 @@ version 2005/12/01 or later.
% The following commmand (\emph{when it will be written}) will set the four
% counters |\l_@@_row_min_int|, |\l_@@_row_max_int|, |\l_@@_col_min_int| and
% |\l_@@_col_max_int| to the intersections of the sub-matrices which contains
-% the cell of row |#1| and column |#2|.
-% As of now, it's only the whole array (excepted exterior row and columns).
+% the cell of row |#1| and column |#2|. As of now, it's only the whole array
+% (excepted exterior rows and columns).
% \begin{macrocode}
\cs_new_protected:Npn \@@_adjust_to_submatrix:nn #1 #2
{
@@ -11571,9 +11553,6 @@ version 2005/12/01 or later.
% |\Iddots| in the environments |{NiceArray}| (the other environments of
% \pkg{nicematrix} rely upon |{NiceArray}|).
%
-% The starred versions of these commands are deprecated since version~3.1 but,
-% as of now, they are still available with an error.
-%
%
% \medskip
% The syntax of these commands uses the character |_| as embellishment and
@@ -12370,8 +12349,7 @@ version 2005/12/01 or later.
% The command |\@@_arraycolor| (linked to |\arraycolor| at the beginning of
% the |\CodeBefore|) will color the whole tabular (excepted the potential
% exterior rows and columns). The third argument is a optional argument which a
-% list of pairs key-value. As for now, there is only one key: |except-corners|.
-% When that key is used, the cells in the corners are not colored.
+% list of pairs key-value.
% \begin{macrocode}
\NewDocumentCommand \@@_arraycolor { O { } m O { } }
{
@@ -13627,7 +13605,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \medskip
-% As for now, we have no option to control the style of the lines drawn by
+% Up to now, we have no option to control the style of the lines drawn by
% |\hdottedline| and the specifier ``|:|'' in the preamble. That's why we impose
% the style |standard|.
% \begin{macrocode}
@@ -13695,7 +13673,7 @@ version 2005/12/01 or later.
\@@_qpoint:n { row - \@@_succ:n \c@iRow }
\dim_set:Nn \l_@@_y_final_dim { \pgf@y + 0.5 \l_@@_inter_dots_dim }
% \end{macrocode}
-% As for now, we have no option to control the style of the lines drawn by
+% Up to now, we have no option to control the style of the lines drawn by
% |\hdottedline| and the specifier ``|:|'' in the preamble. That's why we impose
% the style |standard|.
% \begin{macrocode}
@@ -13716,7 +13694,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% As for now, there is only one option available for the environment
+% Up to now, there is only one option available for the environment
% |{NiceMatrixBlock}|.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / NiceMatrixBlock }
@@ -15618,16 +15596,19 @@ version 2005/12/01 or later.
% \begin{macrocode}
\NewDocumentCommand \@@_SubMatrix_in_code_before { m m m m ! O { } }
{
- \@@_cut_on_hyphen:w #3 \q_stop
- \tl_clear_new:N \l_tmpc_tl
- \tl_clear_new:N \l_tmpd_tl
- \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_tmpd_tl \l_tmpb_tl
- \@@_cut_on_hyphen:w #2 \q_stop
- \seq_gput_right:Nx \g_@@_submatrix_seq
- { { \l_tmpa_tl } { \l_tmpb_tl } { \l_tmpc_tl } { \l_tmpd_tl } }
- \tl_gput_right:Nn \g_@@_internal_code_after_tl
- { \SubMatrix { #1 } { #2 } { #3 } { #4 } [ #5 ] }
+ \peek_remove_spaces:n
+ {
+ \@@_cut_on_hyphen:w #3 \q_stop
+ \tl_clear_new:N \l_tmpc_tl
+ \tl_clear_new:N \l_tmpd_tl
+ \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l_tmpd_tl \l_tmpb_tl
+ \@@_cut_on_hyphen:w #2 \q_stop
+ \seq_gput_right:Nx \g_@@_submatrix_seq
+ { { \l_tmpa_tl } { \l_tmpb_tl } { \l_tmpc_tl } { \l_tmpd_tl } }
+ \tl_gput_right:Nn \g_@@_internal_code_after_tl
+ { \SubMatrix { #1 } { #2 } { #3 } { #4 } [ #5 ] }
+ }
}
% \end{macrocode}
%
@@ -15644,6 +15625,13 @@ version 2005/12/01 or later.
% \begin{macrocode}
\NewDocumentCommand \@@_SubMatrix { m m m m O { } }
{
+ \peek_remove_spaces:n
+ { \@@_sub_matrix:nnnnn { #1 } { #2 } { #3 } { #4 } { #5 } }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_sub_matrix:nnnnn #1 #2 #3 #4 #5
+ {
\group_begin:
% \end{macrocode}
% The four following token lists correspond to the position of the |\SubMatrix|.
@@ -17490,8 +17478,9 @@ version 2005/12/01 or later.
% It's now possible to specify delimiters for submatrices in the preamble of an
% environment.
%
+% The version 5.15b is compatible with the version 3.0+ of \pkg{siunitx}
+% (previous versions were not).
%
-% \subsection*{Changes between versions 5.15 and 5.16}
%
% \PrintIndex
%
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index 9bae2b15ba..b096ea1e0f 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
index ee0a252f02..778b60dcfe 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex b/macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
index 38493f8996..b26d06486a 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
@@ -6,39 +6,43 @@
\ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide
\EquaDeuxComposition[#1]{#4}{#5}{#2}{#3}
\else%cas ax+b=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
}%
}{%ELSE
- \xintifboolexpr{#3=0}{%ax+b=d
+ \xintifboolexpr{#3==0}{%ax+b=d
\EquaBase[#1]{#2}{}{}{#5}%
}{%ax+b=d$ Ici
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{}
\begin{align*}
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{#5}}\tikzmark{E-\theNbequa}\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#5-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\\
- \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{#5}}\tikzmark{E-\theNbequa}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#5-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
\rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
\rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- }{%ICI ?
+ }{%
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
\rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
}
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -47,7 +51,7 @@
}{}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
}{}
}
}
@@ -64,45 +68,50 @@
\EquaTroisComposition[#1]{#4}{#5}{#2}{}%
\fi
\else
- \xintifboolexpr{#2=0}{%b=cx
+ \xintifboolexpr{#2==0}{%b=cx
\EquaBase[#1]{#4}{}{}{#3}
}{%
- \xintifboolexpr{#4=0}{%ax+b=0
+ \xintifboolexpr{#4==0}{%ax+b=0
\EquaDeuxComposition[#1]{#2}{#3}{}{0}
}{%ax+b=cx
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=0}{%ax=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==0}{%ax=ax
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
{%ax+b=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
}%
}{%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx avec a>c
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{}
\begin{align*}
- \tikzmark{A-\theNbequa}\mathcolor{Ccompo}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
- \mathcolor{Ccompo}{\num{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{+\num{#4}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{0}\tikzmark{F-\theNbequa}\\
- \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{0-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\tikzmark{F-\theNbequa}\\
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\mathcolor{Ccompo}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
+ \mathcolor{Ccompo}{\num{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{+\num{#4}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}&=0\tikzmark{F-\theNbequa}%\mathcolor{Ccompo}{0}\tikzmark{F-\theNbequa}%\\
+ \xintifboolexpr{#3==0}{}{\\
+ \xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{0-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\tikzmark{F-\theNbequa}\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
\rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -111,30 +120,35 @@
}{}
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
+ }
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
- }{%ax+b=cx+d avec a<c % Autre cas délicat
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
+ }{%ax+b=cx avec a<c % Autre cas délicat
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{}
\begin{align*}%
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\tikzmark{E-\theNbequa}\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#4-#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#2>0}{+\num{#2}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\
- \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa}
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\tikzmark{E-\theNbequa}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#4-#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#2>0}{+\num{#2}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa}
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -144,7 +158,7 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
}%
}%
}%
@@ -152,13 +166,12 @@
\fi
}%
-
\newcommand{\ResolEquationComposition}[5][]{%
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#4=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#4==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
@@ -168,56 +181,61 @@
\EquaDeuxComposition[#1]{#4}{#5}{#2}{#3}%
}%
}{%
- \xintifboolexpr{#4=0}{%ax+b=0x+d
+ \xintifboolexpr{#4==0}{%ax+b=0x+d
\EquaDeuxComposition[#1]{#2}{#3}{}{#5}%
}
{%ax+b=cx+d$
- \xintifboolexpr{#3=0}{%
- \xintifboolexpr{#5=0}{%ax=cx
+ \xintifboolexpr{#3==0}{%
+ \xintifboolexpr{#5==0}{%ax=cx
\EquaTroisComposition[#1]{#2}{0}{#4}{}%
}%
{%ax=cx+d
\EquaTroisComposition[#1]{#4}{#5}{#2}{}%
}%
}%
- {\xintifboolexpr{#5=0}{%ax+b=cx
+ {\xintifboolexpr{#5==0}{%ax+b=cx
\EquaTroisComposition[#1]{#2}{#3}{#4}{}%
}%
{%ax+b=cx+d -- ici
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=#5}{%b=d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==#5}{%b=d
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
{%b<>d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
}%
}{
%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{}
\begin{align*}
- \tikzmark{A-\theNbequa}\mathcolor{Ccompo}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
- \mathcolor{Ccompo}{\num{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{+\num{#4}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{#5}}\tikzmark{F-\theNbequa}\\
- \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#5-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\\
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\mathcolor{Ccompo}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
+ \mathcolor{Ccompo}{\num{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{+\num{#4}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{#5}}\tikzmark{F-\theNbequa}\\
+ \xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#5-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
\rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -227,34 +245,39 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{}%
\begin{align*}%
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#4-#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#2>0}{+\num{#2}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\
- \mathcolor{Ccompo}{\num{\fpeval{#3-#5}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#4-#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#2>0}{+\num{#2}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\mathcolor{Ccompo}{\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\
+ \mathcolor{Ccompo}{\num{\fpeval{#3-#5}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}%
\rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -264,7 +287,7 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex b/macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
index 8bce1eb7c8..a4be58b450 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
@@ -6,17 +6,22 @@
\ifx\bla#2\bla%on teste si le paramètre #2 est vide:
% si oui, on est dans le cas b=cx. Eh bien on échange :)
% Mais attention si les deux paramètres a et c sont vides...
- \EquaBase[#1]{#4}{}{}{#3}
+ \EquaBaseLaurent[#1]{#4}{}{}{#3}
\else
% si non, on est dans le cas ax=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#5=0}{%
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#5==0}{%
L'équation $0\useKV[ClesEquation]{ELettre}=0$ a une infinité de solutions.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}%
}{%\else
- \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
+ \xintifboolexpr{#5==0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
\begin{align*}%
- \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{#2}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{#2}}}}&=\xintifboolexpr{#2=1}{\num{#5}}{\color{Cdecomp}\frac{\color{black}\num{#5}}{\num{#2}}}
- \xintifboolexpr{#2=1}{}{\\\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}}%\\
+ \xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{#2}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{#2}}}}&=\xintifboolexpr{#2==1}{\num{#5}}{\color{Cdecomp}\frac{\color{black}\num{#5}}{\num{#2}}}
+ \xintifboolexpr{#2==1}{}{\\\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{#5/#2}}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{#5}{#2}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -24,7 +29,7 @@
}{}
}{}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.%
}{}
}
}
@@ -37,24 +42,29 @@
\ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide
\EquaDeuxLaurent[#1]{#4}{#5}{#2}{#3}
\else%cas ax+b=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
}%
}{%ELSE
- \xintifboolexpr{#3=0}{%ax+b=d
+ \xintifboolexpr{#3==0}{%ax+b=d
\EquaBaseLaurent[#1]{#2}{}{}{#5}%
}{%ax+b=d$ Ici
\begin{align*}
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\num{#5}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\num{#5}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\
\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}%\\
- \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{\Coeffa==1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa==1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -63,7 +73,7 @@
}{}
}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
}{}
}
}
@@ -79,29 +89,34 @@
\EquaTroisLaurent[#1]{#4}{#5}{#2}{}%
\fi
\else
- \xintifboolexpr{#2=0}{%b=cx
+ \xintifboolexpr{#2==0}{%b=cx
\EquaBaseLaurent[#1]{#4}{}{}{#3}
}{%
- \xintifboolexpr{#4=0}{%ax+b=0
+ \xintifboolexpr{#4==0}{%ax+b=0
\EquaDeuxLaurent[#1]{#2}{#3}{}{0}
}{%ax+b=cx
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=0}{%ax=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==0}{%ax=ax
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
{%ax+b=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
}%
}{%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx avec a>c
\begin{align*}
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
\xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{0-#3}}%\\
- \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{\Coeffa==1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa==1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -110,17 +125,22 @@
}{}
}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
}{%ax+b=cx avec a<c % Autre cas délicat
\begin{align*}%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\\
\xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{0-#3}}%\\
- \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=0\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\
- \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}}&=0\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}}\\
+ \xintifboolexpr{\Coeffa==1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa==1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -129,7 +149,7 @@
}{}
}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
}%
}%
}%
@@ -140,9 +160,9 @@
\newcommand{\ResolEquationLaurent}[5][]{%
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#4=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#4==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
@@ -152,39 +172,44 @@
\EquaDeuxLaurent[#1]{#4}{#5}{}{#3}%
}%
}{%
- \xintifboolexpr{#4=0}{%ax+b=0x+d
+ \xintifboolexpr{#4==0}{%ax+b=0x+d
\EquaDeuxLaurent[#1]{#2}{#3}{}{#5}%
}
{%ax+b=cx+d
- \xintifboolexpr{#3=0}{%
- \xintifboolexpr{#5=0}{%ax=cx
+ \xintifboolexpr{#3==0}{%
+ \xintifboolexpr{#5==0}{%ax=cx
\EquaTroisLaurent[#1]{#2}{0}{#4}{}%
}%
{%ax=cx+d
\EquaTroisLaurent[#1]{#4}{#5}{#2}{}%
}%
}%
- {\xintifboolexpr{#5=0}{%ax+b=cx
+ {\xintifboolexpr{#5==0}{%ax+b=cx
\EquaTroisLaurent[#1]{#2}{#3}{#4}{}%
}%
{%ax+b=cx+d -- ici
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=#5}{%b=d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==#5}{%b=d
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
{%b<>d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
}%
}{%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c
\begin{align*}
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\
\xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{#5-#3}}%\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{\Coeffb>0}{+\num{\Coeffb}}{-\num{\fpeval{0-\Coeffb}}}\\
- \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{\Coeffb>0}{+\num{\Coeffb}}{-\num{\fpeval{0-\Coeffb}}}\\
+ \xintifboolexpr{\Coeffa==1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa==1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -193,20 +218,25 @@
}{}
}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\begin{align*}%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}} {}}\stackText}%
- &=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}} {}}\stackText}
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}} {}}\stackText}%
+ &=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}} {}}\stackText}
\\
\xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{#5-#3}}%\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{\Coeffb>0}{+\num{\Coeffb}}{-\num{\fpeval{0-\Coeffb}}}\\
- \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{\Coeffb>0}{+\num{\Coeffb}}{-\num{\fpeval{0-\Coeffb}}}\\
+ \xintifboolexpr{\Coeffa==1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa==1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -215,7 +245,7 @@
}{}
}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex b/macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
index 1137140d28..8bc7bb339f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
@@ -9,28 +9,28 @@
\EquaBaseL[#1]{#4}{}{}{#3}
\else
% si non, on est dans le cas ax=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#5=0}{%
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#5==0}{%
L'équation $0\useKV[ClesEquation]{Lettre}=0$ a une infinité de solutions.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}%
}{%\else
- \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
+ \xintifboolexpr{#5==0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
\begin{align*}%
- \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\num{#2}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\
- \xintifboolexpr{#2=1}{}{%
+ \xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\num{#2}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\
+ \xintifboolexpr{#2==1}{}{%
\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\phantom{\useKV[ClesEquation]{Lettre}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\\}
\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}%\\
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{#5/#2}}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{#5}{#2}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\
}{}
}{}
- %\ifboolKV[ClesEquation]{Fleches}{%
- %\stepcounter{Nbequa}}%
- %{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}
- %}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.%
}{}
}
}
@@ -43,26 +43,30 @@
\ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide
\EquaDeuxL[#1]{#4}{#5}{#2}{#3}
\else%cas ax+b=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
}%
}{%ELSE
- \xintifboolexpr{#3=0}{%ax+b=d
+ \xintifboolexpr{#3==0}{%ax+b=d
\EquaBaseL[#1]{#2}{}{}{#5}%
}{%ax+b=d$ Ici
\begin{align*}
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\
- \phantom{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&\phantom{\mathrel{=}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
- \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\Coeffb}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\
+ \phantom{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&\phantom{\mathrel{=}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
+ \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\Coeffb}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\\
\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
}
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -72,7 +76,7 @@
}{}
}{}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
}{}
}
}
@@ -89,32 +93,36 @@
\EquaTroisL[#1]{#4}{#5}{#2}{}%
\fi
\else
- \xintifboolexpr{#2=0}{%b=cx
+ \xintifboolexpr{#2==0}{%b=cx
\EquaBaseL[#1]{#4}{}{}{#3}
}{%
- \xintifboolexpr{#4=0}{%ax+b=0
+ \xintifboolexpr{#4==0}{%ax+b=0
\EquaDeuxL[#1]{#2}{#3}{}{0}
}{%ax+b=cx
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=0}{%ax=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==0}{%ax=ax
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
{%ax+b=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
}%
}{%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx avec a>c
\begin{align*}
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\
\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\
- \xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\
- \phantom{\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}&\phantom{\mathrel{=}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}\\
- \xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\Coeffb}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{%
+ \xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\
+ \phantom{\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}&\phantom{\mathrel{=}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}\\
+ \xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\Coeffb}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\
\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
}
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -124,18 +132,22 @@
}{}
}{}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\begin{align*}%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\
\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\
- \xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{%
+ \xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\
\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\phantom{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\
- }
+ }
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\phantom{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -145,7 +157,7 @@
}{}
}{}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
}%
}%
}%
@@ -157,9 +169,9 @@
\newcommand{\ResolEquationL}[5][]{%
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#4=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#4==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
@@ -169,65 +181,73 @@
\EquaDeuxL[#1]{#4}{#5}{}{#3}%
}%
}{%
- \xintifboolexpr{#4=0}{%ax+b=0x+d
+ \xintifboolexpr{#4==0}{%ax+b=0x+d
\EquaDeuxL[#1]{#2}{#3}{}{#5}%
}
{%ax+b=cx+d$
- \xintifboolexpr{#3=0}{%
- \xintifboolexpr{#5=0}{%ax=cx
+ \xintifboolexpr{#3==0}{%
+ \xintifboolexpr{#5==0}{%ax=cx
\EquaTroisL[#1]{#2}{0}{#4}{}%
}%
{%ax=cx+d
\EquaTroisL[#1]{#4}{#5}{#2}{}%
}%
}%
- {\xintifboolexpr{#5=0}{%ax+b=cx
+ {\xintifboolexpr{#5==0}{%ax+b=cx
\EquaTroisL[#1]{#2}{#3}{#4}{}%
}%
{%ax+b=cx+d -- ici
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=#5}{%b=d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==#5}{%b=d
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
{%b<>d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
}%
}{
%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c
\begin{align*}
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{\phantom{{}={}}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\
- \xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{\phantom{{}+{}}\num{#5}}{-\num{\fpeval{0-#5}}}\\
- \mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}&\phantom{{}={}\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}\\
- \xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{\Coeffb>0}{\phantom{{}+{}}\num{\Coeffb}}{{}-{}\num{\fpeval{0-\Coeffb}}}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
- \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\
- \phantom{\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ \xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\phantom{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{\phantom{{}+{}}\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}&\phantom{{}={}\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}\\
+ \xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{\Coeffb>0}{\phantom{{}+{}}\num{\Coeffb}}{{}-{}\num{\fpeval{0-\Coeffb}}}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
+ \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\phantom{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\
+ \phantom{\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
}
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\%
- \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\SSimplifie{\Coeffb}{\Coeffa}%\\
+ \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\SSimplifie{\Coeffb}{\Coeffa}%\\
}{}
}{}
}{}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\begin{align*}%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\xintifboolexpr{#4<0}{\phantom{={}}}{}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\
- \xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
- \mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{{}-{}\num{#5}}{{}+{}\num{\fpeval{0-#5}}}}&\phantom{{}={}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}\\
- \xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{{}-{}\num{#5}}{{}+{}\num{\fpeval{0-#5}}}}&\phantom{{}={}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}\\
+ \xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}&\xintifboolexpr{\Coeffa<0}{\phantom{{}={}}}{\phantom{=}}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\
\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\
}
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -235,7 +255,7 @@
}{}
}{}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex b/macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
index f3ffd9453d..a03f2d7442 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
@@ -9,13 +9,13 @@
\EquaBase[#1]{#4}{}{}{#3}
\else
% si non, on est dans le cas ax=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#5=0}{%
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#5==0}{%
L'équation $0\useKV[ClesEquation]{ELettre}=0$ a une infinité de solutions.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}%
}{%\else
- \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
+ \xintifboolexpr{#5==0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
\begin{align*}%
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\num{#2}\useKV[ClesEquation]{Lettre}}&=\num{#5}\tikzmark{C-\theNbequa}\\
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\num{#2}\useKV[ClesEquation]{Lettre}}&=\num{#5}\tikzmark{C-\theNbequa}\\
\tikzmark{B-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}\tikzmark{D-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}%
@@ -26,6 +26,11 @@
\Rightcomment{C-\theNbequa}{D-\theNbequa}{D-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}%
}{}%
}%%
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{#5/#2}}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{#5}{#2}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -37,7 +42,7 @@
{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}
}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.%
}{}
}
}
@@ -50,29 +55,29 @@
\ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide
\EquaDeuxSoustraction[#1]{#4}{#5}{#2}{#3}
\else%cas ax+b=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
}%
}{%ELSE
- \xintifboolexpr{#3=0}{%ax+b=d
+ \xintifboolexpr{#3==0}{%ax+b=d
\EquaBase[#1]{#2}{}{}{#5}%
}{%ax+b=d$ Ici
\begin{align*}
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{E-\theNbequa}\\
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{E-\theNbequa}\\
\ifboolKV[ClesEquation]{Decomposition}{%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=\num{#5}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=\num{#5}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
}{}%
- \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}
- \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{}
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}
+ \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa==1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{}
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
\rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
@@ -85,6 +90,11 @@
}{}
}
}
+ %%decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -93,7 +103,7 @@
}{}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
}{}
}
}
@@ -110,41 +120,41 @@
\EquaTroisSoustraction[#1]{#4}{#5}{#2}{}%
\fi
\else
- \xintifboolexpr{#2=0}{%b=cx
+ \xintifboolexpr{#2==0}{%b=cx
\EquaBase[#1]{#4}{}{}{#3}
}{%
- \xintifboolexpr{#4=0}{%ax+b=0
+ \xintifboolexpr{#4==0}{%ax+b=0
\EquaDeuxSoustraction[#1]{#2}{#3}{}{0}
}{%ax+b=cx
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=0}{%ax=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==0}{%ax=ax
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
{%ax+b=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
}%
}{%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx avec a>c
\begin{align*}
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
\ifboolKV[ClesEquation]{Decomposition}{%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\
}{}
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\tikzmark{F-\theNbequa}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\tikzmark{F-\theNbequa}\\
\ifboolKV[ClesEquation]{Decomposition}{%
- \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=0\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\tikzmark{F-\theNbequa}\\
+ \xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=0\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\tikzmark{F-\theNbequa}\\
}{}%
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
%eric
- \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{}
+ \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa==1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{}
% eric
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
\rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
@@ -154,7 +164,12 @@
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
\rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
- }
+ }
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ % %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -164,23 +179,23 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\begin{align*}%
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
\ifboolKV[ClesEquation]{Decomposition}{%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\
}{}
- \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa}
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa}
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
}{}
% eric
- \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}&=\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}}}{}
+ \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa==1}{}{\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}&=\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}}}{}
% eric
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
@@ -191,6 +206,11 @@
\rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+ % %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -200,7 +220,7 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
}%
}%
}%
@@ -212,9 +232,9 @@
\newcommand{\ResolEquationSoustraction}[5][]{%
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#4=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#4==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
@@ -224,52 +244,52 @@
\EquaDeuxSoustraction[#1]{#4}{#5}{}{#3}%
}%
}{%
- \xintifboolexpr{#4=0}{%ax+b=0x+d
+ \xintifboolexpr{#4==0}{%ax+b=0x+d
\EquaDeuxSoustraction[#1]{#2}{#3}{}{#5}%
}
{%ax+b=cx+d$
- \xintifboolexpr{#3=0}{%
- \xintifboolexpr{#5=0}{%ax=cx
+ \xintifboolexpr{#3==0}{%
+ \xintifboolexpr{#5==0}{%ax=cx
\EquaTroisSoustraction[#1]{#2}{0}{#4}{}%
}%
{%ax=cx+d
\EquaTroisSoustraction[#1]{#4}{#5}{#2}{}%
}%
}%
- {\xintifboolexpr{#5=0}{%ax+b=cx
+ {\xintifboolexpr{#5==0}{%ax+b=cx
\EquaTroisSoustraction[#1]{#2}{#3}{#4}{}%
}%
{%ax+b=cx+d -- ici
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=#5}{%b=d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==#5}{%b=d
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
{%b<>d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
}%
}{
%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c
\begin{align*}
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
\ifboolKV[ClesEquation]{Decomposition}{%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
}{}
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{F-\theNbequa}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{F-\theNbequa}\\
\ifboolKV[ClesEquation]{Decomposition}{%
- \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=\num{#5}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
+ \xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=\num{#5}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
}{}%
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
% eric
- \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{}
+ \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa==1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{}
% eric
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
\rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
@@ -280,6 +300,11 @@
\rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ % %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -289,30 +314,30 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\begin{align*}%
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
\ifboolKV[ClesEquation]{Decomposition}{%
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
}{}
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\
\ifboolKV[ClesEquation]{Decomposition}{%
- \num{#3}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}\\
+ \num{#3}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}\\
}{}%
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\
% eric
- \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}&=\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}}}{}
+ \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa==1}{}{\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}&=\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}}}{}
% eric
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}%
\rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
@@ -323,6 +348,11 @@
\rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+ % %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -332,7 +362,7 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex b/macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
index 3cc345c524..f8313606e1 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
@@ -14,14 +14,19 @@
\fi
\else
% si non, on est dans le cas ax=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#5=0}{%
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#5==0}{%
L'équation $0\times\useKV[ClesEquation]{Lettre}=0$ a une infinité de solutions.}{L'équation $0\times\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}%
}{%\else
- \xintifboolexpr{#5=0}{L'équation $\num{#2}\times\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
+ \xintifboolexpr{#5==0}{L'équation $\num{#2}\times\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
\begin{align*}%
- \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\
+ \xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\
\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{#5/#2}}%
+ }{}%
+% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{#5}{#2}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -41,24 +46,29 @@
\ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide
\EquaDeuxSymbole[#1]{#4}{#5}{#2}{#3}
\else%cas ax+b=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
}%
}{%ELSE
- \xintifboolexpr{#3=0}{%ax+b=d
+ \xintifboolexpr{#3==0}{%ax+b=d
\EquaBaseSymbole[#1]{#2}{}{}{#5}%
}{%ax+b=d$ Ici
\begin{align*}
- \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\
- \ifboolKV[ClesEquation]{Bloc}{\Fdash{$\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\}{}%
- \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\
+ \ifboolKV[ClesEquation]{Bloc}{\Fdash{$\xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\}{}%
+ \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\\
\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -83,14 +93,14 @@
\EquaTroisSymbole[#1]{#4}{#5}{#2}{}%
\fi
\else
- \xintifboolexpr{#2=0}{%b=cx
+ \xintifboolexpr{#2==0}{%b=cx
\EquaBaseSymbole[#1]{#4}{}{}{#3}
}{%
- \xintifboolexpr{#4=0}{%ax+b=0
+ \xintifboolexpr{#4==0}{%ax+b=0
\EquaDeuxSymbole[#1]{#2}{#3}{}{0}
}{%ax+b=cx
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=0}{%ax=ax
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==0}{%ax=ax
L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}=\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
{%ax+b=ax
L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
@@ -103,8 +113,13 @@
\xdef\Coeffa{\fpeval{#2-#4}}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\
\ifboolKV[ClesEquation]{Bloc}{\Fdash{\mathcolor{Csymbole}{$\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\}{}
\xdef\Coeffb{\fpeval{0-#3}}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}%\\
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -118,8 +133,13 @@
\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\\
\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#4-#2}}{+\useKV[ClesEquation]{Lettre}}\\
\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}% \\
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\\\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -135,14 +155,13 @@
\fi
}%
-
\newcommand{\ResolEquationSymbole}[5][]{%
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
\setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false}
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#4=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#4==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
@@ -152,24 +171,24 @@
\EquaDeuxSymbole[#1]{#4}{#5}{#2}{#3}%
}%
}{%
- \xintifboolexpr{#4=0}{%ax+b=0x+d
+ \xintifboolexpr{#4==0}{%ax+b=0x+d
\EquaDeuxSymbole[#1]{#2}{#3}{}{#5}%
}
{%ax+b=cx+d$
- \xintifboolexpr{#3=0}{%
- \xintifboolexpr{#5=0}{%ax=cx
+ \xintifboolexpr{#3==0}{%
+ \xintifboolexpr{#5==0}{%ax=cx
\EquaTroisSymbole[#1]{#2}{0}{#4}{}%
}%
{%ax=cx+d
\EquaTroisSymbole[#1]{#4}{#5}{#2}{}%
}%
}%
- {\xintifboolexpr{#5=0}{%ax+b=cx
+ {\xintifboolexpr{#5==0}{%ax+b=cx
\EquaTroisSymbole[#1]{#2}{#3}{#4}{}%
}%
{%ax+b=cx+d -- ici
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
{%b<>d
L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
@@ -185,8 +204,13 @@
\Fdash{$\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\
}{}%
\xdef\Coeffb{\fpeval{#5-#3}}\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
- \\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
+ \\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -204,8 +228,13 @@
\num{#3}&=\Fdash{$\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}}$}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
}{}%
\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}%\\
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\\\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex b/macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
index 3b4cc18f27..80399dd3f4 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
@@ -6,39 +6,44 @@
\ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide
\EquaDeuxTerme[#1]{#4}{#5}{#2}{#3}
\else%cas ax+b=d
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
}%
}{%ELSE
- \xintifboolexpr{#3=0}{%ax+b=d
+ \xintifboolexpr{#3==0}{%ax+b=d
\EquaBase[#1]{#2}{}{}{#5}%
}{%ax+b=d$ Ici
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{}
\begin{align*}
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{E-\theNbequa}\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}&=\num{#5}\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
- \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{E-\theNbequa}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}&=\num{#5}\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
\rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{%
+ \xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
\rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- }{%ICI ?
+ }{%
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
\rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -47,7 +52,7 @@
}{}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.
}{}
}
}
@@ -64,46 +69,51 @@
\EquaTroisTerme[#1]{#4}{#5}{#2}{}%
\fi
\else
- \xintifboolexpr{#2=0}{%b=cx
+ \xintifboolexpr{#2==0}{%b=cx
\EquaBase[#1]{#4}{}{}{#3}
}{%
- \xintifboolexpr{#4=0}{%ax+b=0
+ \xintifboolexpr{#4==0}{%ax+b=0
\EquaDeuxTerme[#1]{#2}{#3}{}{0}
- }{%ax+b=cx
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=0}{%ax=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
- {%ax+b=ax
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
- }%
- }{%% Cas délicat
- \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c
- \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{}
- \begin{align*}
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\tikzmark{F-\theNbequa}\\
- \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=0\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
- \ifboolKV[ClesEquation]{Fleches}{%
- \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
- \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
- \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
- \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
- }{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
- \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
- \ifboolKV[ClesEquation]{Fleches}{%
- \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- }{
- \ifboolKV[ClesEquation]{FlecheDiv}{%
- \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- }{}
- }
- \ifboolKV[ClesEquation]{Entier}{%
+ }{%ax+b=cx
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==0}{%ax=ax
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
+ {%ax+b=ax
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
+ }%
+ }{%% Cas délicat
+ \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c
+ \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{}
+ \begin{align*}
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\tikzmark{F-\theNbequa}\\
+ \xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=0\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
+ \ifboolKV[ClesEquation]{Fleches}{%
+ \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
+ \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
+ \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
+ \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
+ }{}
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
+ \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
+ \ifboolKV[ClesEquation]{Fleches}{%
+ \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ }{%
+ \ifboolKV[ClesEquation]{FlecheDiv}{%
+ \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ }{}
+ }
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
+ \ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\
@@ -112,29 +122,34 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{}
\begin{align*}%
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
- \xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\
- \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa}
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\
+ \xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa}
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -144,7 +159,7 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}%
}%
}%
}%
@@ -155,9 +170,9 @@
\newcommand{\ResolEquationTerme}[5][]{%
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
- \xintifboolexpr{#2=0}{%
- \xintifboolexpr{#4=0}{%
- \xintifboolexpr{#3=#5}{%b=d
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#4==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
@@ -167,56 +182,61 @@
\EquaDeuxTerme[#1]{#4}{#5}{#2}{#3}%
}%
}{%
- \xintifboolexpr{#4=0}{%ax+b=0x+d
+ \xintifboolexpr{#4==0}{%ax+b=0x+d
\EquaDeuxTerme[#1]{#2}{#3}{}{#5}%
}
{%ax+b=cx+d$
- \xintifboolexpr{#3=0}{%
- \xintifboolexpr{#5=0}{%ax=cx
+ \xintifboolexpr{#3==0}{%
+ \xintifboolexpr{#5==0}{%ax=cx
\EquaTroisTerme[#1]{#2}{0}{#4}{}%
}%
{%ax=cx+d
\EquaTroisTerme[#1]{#4}{#5}{#2}{}%
}%
}%
- {\xintifboolexpr{#5=0}{%ax+b=cx
+ {\xintifboolexpr{#5==0}{%ax+b=cx
\EquaTroisTerme[#1]{#2}{#3}{#4}{}%
}%
{%ax+b=cx+d -- ici
- \xintifboolexpr{#2=#4}{%
- \xintifboolexpr{#3=#5}{%b=d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==#5}{%b=d
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
{%b<>d
- L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
}%
}{
%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{}
\begin{align*}
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
- \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#5>0}{\num{#5}}{-\num{\fpeval{0-#5}}}\\
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{F-\theNbequa}\tikzmark{F-\theNbequa}\\
- \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{#5}\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
+ \xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#5>0}{\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{F-\theNbequa}\tikzmark{F-\theNbequa}\\
+ \xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{#5}\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$}
\leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
\rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -226,34 +246,39 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{}
\begin{align*}%
- \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
- \xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
- \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\
- \num{#3}\mathcolor{Cterme}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\\
- \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\
- \xintifboolexpr{\Coeffa=1}{}{\\}
+ \tikzmark{A-\theNbequa}\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\
+ \xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
+ \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\
+ \num{#3}\mathcolor{Cterme}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\\
+ \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\
+ \xintifboolexpr{\Coeffa==1}{}{\\}
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$}
\leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}%
\rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}%
}{}
- \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\
\ifboolKV[ClesEquation]{Fleches}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- }{
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ }{%
\ifboolKV[ClesEquation]{FlecheDiv}{%
\leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
- \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
+ \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}%
}{}
}
+ %% decimal
+ \ifboolKV[ClesEquation]{Decimal}{%
+ \\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
+ }{}%
+ %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
@@ -263,7 +288,7 @@
}
\ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}}
\end{align*}
- \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
+ \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.%
}{}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index 563ce3af32..e32797a1cf 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -3,7 +3,7 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfCollege}[2021/05/15 v0.99-b Aide pour l'utilisation de LaTeX au collège]
+\ProvidesPackage{ProfCollege}[2021/06/04 v0.99-d Aide pour l'utilisation de LaTeX au collège]
\RequirePackage{verbatim}
@@ -16,7 +16,7 @@
locale=FR,
detect-all,%
output-decimal-marker={,},%
- group-four-digits%
+ group-minimum-digits=4%
}
\DeclareSIUnit{\kmh}{\km\per\hour}
@@ -29,7 +29,7 @@
\DeclareSIUnit{\jour}{j}
\DeclareSIUnit{\quintal}{q}
\DeclareSIUnit{\octet}{o}
-\DeclareSIUnit{\fahrenheit}{\degree F}
+\DeclareSIUnit{\fahrenheit}{\text{\textdegree}F}
\DeclareSIUnit{\EuRo}{€}
\RequirePackage[table,svgnames]{xcolor}%Gestion des couleurs
@@ -139,7 +139,7 @@
%encadrer avec des "sommets arrondis"
\newsavebox{\logobox}
-\newcommand{\Logo}[2]{%
+\newcommand\Logo[2]{%
\setbox1=\hbox{\includegraphics[scale=#2]{#1}}
\begin{tikzpicture}%
\clip[rounded corners=5mm] (0,0) rectangle (\wd1,\ht1);
@@ -486,7 +486,7 @@
%%%
% Labyrinthe
%%%
-\setKVdefault[Labyrinthe]{Lignes=6,Colonnes=3,Longueur=4,Hauteur=2,Passages=false,EcartH=1,EcartV=1,CouleurF=gray!50,Texte=\color{black},SensImpose=false,Slop}
+\setKVdefault[Labyrinthe]{Lignes=6,Colonnes=3,Longueur=4,Hauteur=2,Passages=false,EcartH=1,EcartV=1,CouleurF=gray!50,Texte=\color{yellow},SensImpose=false,Slop}
\tikzset{FDirect/.style={-stealth}}
\tikzset{FIndirect/.style={stealth-}}
@@ -510,10 +510,10 @@
\xdef\TotalLaby{\fpeval{3*\useKV[Labyrinthe]{Colonnes}-2}}%
}%
\xdef\CouleurF{\useKV[Labyrinthe]{CouleurF}}%
- \xdef\MotifTexte{\useKV[Labyrinthe]{Texte}}%
- \xintifboolexpr{\ListeLabylen=\fpeval{\useKV[Labyrinthe]{Lignes}*\useKV[Labyrinthe]{Colonnes}}}{%
+ \xdef\MotifTexte{\noexpand\useKV[Labyrinthe]{Texte}}%
+ \xintifboolexpr{\ListeLabylen==\fpeval{\useKV[Labyrinthe]{Lignes}*\useKV[Labyrinthe]{Colonnes}}}{%
\begin{tikzpicture}[remember picture]%
- % on dessine les cadres
+% % on dessine les cadres
\foreach \compteurv in {1,...,\useKV[Labyrinthe]{Lignes}}{%
\foreach \compteurh in {1,...,\useKV[Labyrinthe]{Colonnes}}{%
\xdef\ColorFill{\ListeLaby[\fpeval{\useKV[Labyrinthe]{Colonnes}*(\compteurv-1)+\compteurh},2]}%
@@ -529,19 +529,19 @@
\foreach \compteurh in {1,...,\useKV[Labyrinthe]{Colonnes}}{%
\ifboolKV[Labyrinthe]{Passages}{%
\xdef\NomNode{\noexpand\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)},1]}%
- \xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)},2]>0}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)},2]=1}{\xdef\NomStyle{FDirect}}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)},2]=2}{\xdef\NomStyle{FIndirect}}{\xdef\NomStyle{FBidirect}}}%
+ \xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)},2]>0}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)},2]==1}{\xdef\NomStyle{FDirect}}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)},2]==2}{\xdef\NomStyle{FIndirect}}{\xdef\NomStyle{FBidirect}}}%
\draw[\CouleurF,line width=3pt,\NomStyle] (A-\compteurh-\compteurv) -- node[fill=white,midway,inner sep=2pt]{\MotifTexte\NomNode}(A-\compteurh-\fpeval{\compteurv+1});}{}%
}{%
\draw[\CouleurF,line width=3pt,FBidirect] (A-\compteurh-\compteurv) -- (A-\compteurh-\fpeval{\compteurv+1});%
}%
}%
}%
- % horizontales
+% % horizontales
\foreach \compteurv in {1,...,\useKV[Labyrinthe]{Lignes}}{%
\foreach \compteurh in {1,...,\fpeval{\useKV[Labyrinthe]{Colonnes}-1}}{%
\ifboolKV[Labyrinthe]{Passages}{%
\xdef\NomNode{\noexpand\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\compteurh},1]}%
- \xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\compteurh},2]>0}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\compteurh},2]=1}{\xdef\NomStyle{FDirect}}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\compteurh},2]=2}{\xdef\NomStyle{FIndirect}}{\xdef\NomStyle{FBidirect}}}%
+ \xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\compteurh},2]>0}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\compteurh},2]==1}{\xdef\NomStyle{FDirect}}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\compteurh},2]==2}{\xdef\NomStyle{FIndirect}}{\xdef\NomStyle{FBidirect}}}%
\draw[\CouleurF,line width=3pt,\NomStyle](A-\compteurh-\compteurv) -- node[fill=white,midway,\LabySlop,inner sep=2pt]{\MotifTexte\NomNode}(A-\fpeval{\compteurh+1}-\compteurv);}{}
}{%
\draw[\CouleurF,line width=3pt,FBidirect](A-\compteurh-\compteurv) -- (A-\fpeval{\compteurh+1}-\compteurv);%
@@ -553,7 +553,7 @@
\foreach \compteurh in {1,...,\fpeval{\useKV[Labyrinthe]{Colonnes}-1}}{%
\ifboolKV[Labyrinthe]{Passages}{%
\xdef\NomNode{\noexpand\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-2)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+2},1]}%
- \xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-2)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+2},2]>0}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-2)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+2},2]=1}{\xdef\NomStyle{FDirect}}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-2)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+2},2]=2}{\xdef\NomStyle{FIndirect}}{\xdef\NomStyle{FBidirect}}}%
+ \xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-2)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+2},2]>0}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-2)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+2},2]==1}{\xdef\NomStyle{FDirect}}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-2)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+2},2]==2}{\xdef\NomStyle{FIndirect}}{\xdef\NomStyle{FBidirect}}}%
\draw[\CouleurF,line width=3pt,\NomStyle] (A-\compteurh-\compteurv) -- node[fill=white,near start,\LabySlop,inner sep=2pt]{\MotifTexte\NomNode}(A-\fpeval{\compteurh+1}-\fpeval{\compteurv-1});
}{}
}{%
@@ -561,18 +561,17 @@
}%
}%
}%
-% % diagonales directes
+%% % diagonales directes
\foreach \compteurv in {1,...,\fpeval{\useKV[Labyrinthe]{Lignes}-1}}{%
\foreach \compteurh in {1,...,\fpeval{\useKV[Labyrinthe]{Colonnes}-1}}{%
\ifboolKV[Labyrinthe]{Passages}{%
\xdef\NomNode{\noexpand\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+1},1]}%
\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+1},2]>0}{%
- \xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+1},2]=1}{\xdef\NomStyle{FDirect}}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+1},2]=2}{\xdef\NomStyle{FIndirect}}{\xdef\NomStyle{FBidirect}}}
+ \xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+1},2]==1}{\xdef\NomStyle{FDirect}}{\xintifboolexpr{\ListeLabySol[\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+3*(\compteurh-1)+1},2]==2}{\xdef\NomStyle{FIndirect}}{\xdef\NomStyle{FBidirect}}}
\draw[\CouleurF,line width=3pt,\NomStyle] (A-\compteurh-\compteurv) -- node[fill=white,near start,\LabySlop,inner sep=2pt]{\MotifTexte\NomNode}(A-\fpeval{\compteurh+1}-\fpeval{\compteurv+1});
}{}%
}{%
\draw[\CouleurF,line width=3pt,FBidirect] (A-\compteurh-\compteurv) -- node[fill=white,near start,\LabySlop]{\MotifTexte\NomNode}(A-\fpeval{\compteurh+1}-\fpeval{\compteurv+1});
-% }{}%
}%
}%
}%
@@ -590,7 +589,7 @@
\foreach \compteurv in {1,...,\useKV[Labyrinthe]{Lignes}}{%
\foreach \compteurh in {1,...,\fpeval{\useKV[Labyrinthe]{Colonnes}-1}}{%
\ifboolKV[Labyrinthe]{Passages}{%
- \xdef\NomNode{\ListeLabySol[1,\fpeval{\TotalLaby*(\compteurv-1)+\compteurh}]}%
+ \xdef\NomNode{\noexpand\ListeLabySol[1,\fpeval{\TotalLaby*(\compteurv-1)+\compteurh}]}%
\draw[\CouleurF,line width=3pt,stealth-stealth]
(A-\compteurh-\compteurv) -- node[fill=white,midway]{\MotifTexte\NomNode}(A-\fpeval{\compteurh+1}-\compteurv);
}{%
@@ -607,18 +606,19 @@
\foreach \compteurv in {1,...,\fpeval{\useKV[Labyrinthe]{Lignes}-1}}{%
\foreach \compteurh in {1,...,\fpeval{\useKV[Labyrinthe]{Colonnes}-1}}{%
\ifboolKV[Labyrinthe]{Passages}{%
- \xdef\NomNode{\ListeLabySol[1,\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+2*(\compteurh-1)+1}]}%
+ \xdef\NomNode{\noexpand\ListeLabySol[1,\fpeval{\TotalLaby*(\compteurv-1)+\useKV[Labyrinthe]{Colonnes}+2*(\compteurh-1)+1}]}%
\draw[\CouleurF,line width=3pt,stealth-stealth] (A-\compteurh-\compteurv) -- node[fill=white,midway]{\MotifTexte\NomNode}(A-\fpeval{\compteurh+1}-\fpeval{\compteurv+1});
}{%
\draw[\CouleurF,line width=3pt,stealth-stealth] (A-\compteurh-\compteurv) -- (A-\fpeval{\compteurh+1}-\fpeval{\compteurv+1});
}%
}%
}%
- % fin des fl\`eches
+% % fin des fl\`eches
}
- \end{tikzpicture}
- }{\textbf{! Le nombre d'informations n'est pas compatible avec les
- d\'efinitions de {\ttfamily Colonnes} et {\ttfamily Lignes} !}}%
+ \end{tikzpicture}
+ }{
+ \textbf{! Le nombre d'informations n'est pas compatible avec les
+ d\'efinitions de {\ttfamily Colonnes} et {\ttfamily Lignes} !}}%
}
%%%
@@ -758,7 +758,7 @@
}{%
\setsepchar[*]{,*/}%
\readlist\ListeCalc{#2}%
- \foreachitem\compteur\in\ListeCalc{\xintifboolexpr{\listlen\ListeCalc[\compteurcnt]=2}{\Longstack{{\tiny\ListeCalc[\compteurcnt,1]} \KN{\ListeCalc[\compteurcnt,2]}}}{\Longstack{{\tiny\ListeCalc[\compteurcnt,2]} \KY{\ListeCalc[\compteurcnt,3]}}}%
+ \foreachitem\compteur\in\ListeCalc{\xintifboolexpr{\listlen\ListeCalc[\compteurcnt]==2}{\Longstack{{\tiny\ListeCalc[\compteurcnt,1]} \KN{\ListeCalc[\compteurcnt,2]}}}{\Longstack{{\tiny\ListeCalc[\compteurcnt,2]} \KY{\ListeCalc[\compteurcnt,3]}}}%
}%
}%
\setstackgap{L}{\baselineskip}%
@@ -991,11 +991,11 @@
\begin{tikzpicture}%
\begin{scope}[start chain=transition going right,node distance=-\pgflinewidth]%
\foreach \s in {1,...,\ListeFlashlen}{%
- \xintifboolexpr{\s = 1}{%
+ \xintifboolexpr{\s == 1}{%
\node[arrow,on chain] {\Huge\bfseries\ListeFlash[\s]};%
\ifboolKV[ClesFlash]{Pause}{\pause}{}%
}{%
- \xintifboolexpr{\s = \ListeFlashlen}{%
+ \xintifboolexpr{\s == \ListeFlashlen}{%
\node[arrow,on chain] {\Huge\bfseries?};%
}{%
\node[arrow,on chain] {\ListeFlash[\s]};%
@@ -2428,10 +2428,10 @@
%%%
% QCM
%%%
-\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=2cm,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false}
-\newlength{\LargeurQCM}
-\newcounter{QuestionQCM}
-\newcounter{TitreQCM}
+\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=2cm,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false}%
+\newlength{\LargeurQCM}%
+\newcounter{QuestionQCM}%
+\newcounter{TitreQCM}%
\newcommand\QCM[2][]{%
\useKVdefault[ClesQCM]%
\setKV[ClesQCM]{#1}%
@@ -2454,7 +2454,7 @@
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]=1}{$\boxtimes$}{$\square$}}{$\square$}%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
}\\
}%
\hline%
@@ -2471,7 +2471,7 @@
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2=\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
}\\
}%
\hline%
@@ -2489,7 +2489,7 @@
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}\xintifboolexpr{##2=\ListeQCM[##1,\NumeroReponse]}{\cellcolor{\useKV[ClesQCM]{Couleur}}}{}}{}\ListeQCM[##1,##2+1]%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}\xintifboolexpr{##2==\ListeQCM[##1,\NumeroReponse]}{\cellcolor{\useKV[ClesQCM]{Couleur}}}{}}{}\ListeQCM[##1,##2+1]%
}\\
}%
\hline%
@@ -2498,7 +2498,7 @@
}%
}
-\newcommand\QCMVar[2][]{%
+\newcommand\QCMPfC[2][]{%
\useKVdefault[ClesQCM]%
\setKV[ClesQCM]{#1}%
\setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
@@ -2520,7 +2520,7 @@
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]=1}{$\boxtimes$}{$\square$}}{$\square$}%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
}\\
}%
\hline%
@@ -2537,7 +2537,7 @@
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2=\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
}\\
}%
\hline%
@@ -2555,7 +2555,7 @@
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}\xintifboolexpr{##2=\ListeQCM[##1,\NumeroReponse]}{\cellcolor{\useKV[ClesQCM]{Couleur}}}{}}{}\ListeQCM[##1,##2+1]%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{gray!15}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}\xintifboolexpr{##2==\ListeQCM[##1,\NumeroReponse]}{\cellcolor{\useKV[ClesQCM]{Couleur}}}{}}{}\ListeQCM[##1,##2+1]%
}\\
}%
\hline%
@@ -3106,7 +3106,7 @@
\ifboolKV[ClesPythagore]{Perso}{\RedactionPythagore}{\ifboolKV[ClesPythagore]{Egalite}{Comme le triangle $#2$ est rectangle en $\NomB$, alors l'\'egalit\'e de Pythagore est v\'erifi\'ee :}{Dans le triangle $#2$ rectangle en $\NomB$, le th\'eor\`eme de Pythagore permet d'\'ecrire :%
}%
}%
- \xintifboolexpr{#3<#4 || #3=#4}{%\ifnum#3<#4%
+ \xintifboolexpr{#3<#4 || #3==#4}{%\ifnum#3<#4%
\xdef\ResultatPytha{\fpeval{round(sqrt(#3^2+#4^2),\useKV[ClesPythagore]{Precision})}}%
\xdef\ResultatPytha{\fpeval{round(sqrt(#3^2+#4^2),\useKV[ClesPythagore]{Precision})}}%
\begin{align*}
@@ -3138,7 +3138,7 @@
% On d\'emarre la r\'esolution
\ifboolKV[ClesPythagore]{Perso}{\RedactionPythagore}{\ifboolKV[ClesPythagore]{Egalite}{Comme le triangle $#2$ est rectangle en $\NomB$, alors l'\'egalit\'e de Pythagore est v\'erifi\'ee :}{Dans le triangle $#2$ rectangle en $\NomB$, le th\'eor\`eme de Pythagore permet d'\'ecrire :%
}}%
- \xintifboolexpr{#3<#4 || #3=#4}{%\ifnum#3<#4%
+ \xintifboolexpr{#3<#4 || #3==#4}{%\ifnum#3<#4%
\xdef\ResultatPytha{\fpeval{round(sqrt(#3^2+#4^2),\useKV[ClesPythagore]{Precision})}}%
\begin{align*}
\NomA\NomC^2&=\NomA\NomB^2+\NomB\NomC^2\\
@@ -3548,14 +3548,14 @@
\def\LETTRE{\useKV[ClesDistributivite]{Lettre}}%
\ensuremath{%
% partie du x^2
- \xintifboolexpr{#2=0}{}{\xintifboolexpr{#2=1}{}{\xintifboolexpr{#2=-1}{-}{\num{#2}}}\LETTRE^2}%
+ \xintifboolexpr{#2==0}{}{\xintifboolexpr{#2==1}{}{\xintifboolexpr{#2==-1}{-}{\num{#2}}}\LETTRE^2}%
% partie du x
- \xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{\xintifboolexpr{#2=0}{}{+}\xintifboolexpr{#3=1}{}{\num{#3}}}{%
- \xintifboolexpr{#2=0}{\xintifboolexpr{#3=-1}{-}{\num{#3}}}{\xintifboolexpr{#3=-1}{-}{-\num{\fpeval{abs(#3)}}}}%
+ \xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{\xintifboolexpr{#2==0}{}{+}\xintifboolexpr{#3==1}{}{\num{#3}}}{%
+ \xintifboolexpr{#2==0}{\xintifboolexpr{#3==-1}{-}{\num{#3}}}{\xintifboolexpr{#3==-1}{-}{-\num{\fpeval{abs(#3)}}}}%
}\LETTRE}%
% partie du nombre
- \xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{\xintifboolexpr{#2=0}{\xintifboolexpr{#3=0}{}{+}}{+}\num{#4}}{%
- \xintifboolexpr{#2=0}{\xintifboolexpr{#3=0}{\num{#4}}{-\num{\fpeval{abs(#4)}}}}{-\num{\fpeval{abs(#4)}}}}}%
+ \xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{\xintifboolexpr{#2==0}{\xintifboolexpr{#3==0}{}{+}}{+}\num{#4}}{%
+ \xintifboolexpr{#2==0}{\xintifboolexpr{#3==0}{\num{#4}}{-\num{\fpeval{abs(#4)}}}}{-\num{\fpeval{abs(#4)}}}}}%
%
}%
}%
@@ -3582,11 +3582,11 @@
\DistriEchange[#1]{#2}{#3}{#4}{#5}%
}{%
\ifboolKV[ClesDistributivite]{Remarquable}{%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=1}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==1}{%
\ifx\bla#4\bla(\Affichage{0}{#2}{#3})^2\else(\Affichage{0}{#2}{#3})(\Affichage{0}{#4}{#5})\fi%
}{}
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=2}{\ifx\bla#4\bla\xintifboolexpr{#3>0}{\xintifboolexpr{#2=1}{}{(\num{#2}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#2=1}{}{)}^2+2\times\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesDistributivite]{Lettre}\times\num{#3}+\num{#3}^2}{\xintifboolexpr{#2=1}{}{(\num{#2}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#2=1}{}{)}^2-2\times\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesDistributivite]{Lettre}\times\num{\fpeval{0-#3}}+\num{\fpeval{0-#3}}^2}\else\xintifboolexpr{#2=1}{}{(\num{#2}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#2=1}{}{)}^2-\num{#3}^2\fi}{}
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=3}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==2}{\ifx\bla#4\bla\xintifboolexpr{#3>0}{\xintifboolexpr{#2==1}{}{(\num{#2}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#2==1}{}{)}^2+2\times\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesDistributivite]{Lettre}\times\num{#3}+\num{#3}^2}{\xintifboolexpr{#2==1}{}{(\num{#2}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#2==1}{}{)}^2-2\times\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesDistributivite]{Lettre}\times\num{\fpeval{0-#3}}+\num{\fpeval{0-#3}}^2}\else\xintifboolexpr{#2==1}{}{(\num{#2}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#2==1}{}{)}^2-\num{#3}^2\fi}{}
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==3}{%
\xintifboolexpr{\theNbCalculDistri>1}{\setcounter{NbCalculDistri}{0}}{}%
\stepcounter{NbCalculDistri}%
\ifx\bla#4\bla%
@@ -3601,9 +3601,9 @@
\xdef\Multi{\fpeval{-\Multi}}%
\xdef\Multim{\fpeval{-\Multim}}%
\xdef\Multil{\fpeval{-\Multil}}%
- \xintifboolexpr{\Multi=0}{}{\xintifboolexpr{\Multi<0}{(}{}\Affichage{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
- \xintifboolexpr{\Multim=0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\Affichage{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
- \xintifboolexpr{\Multil=0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\Affichage{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
+ \xintifboolexpr{\Multi==0}{}{\xintifboolexpr{\Multi<0}{(}{}\Affichage{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
+ \xintifboolexpr{\Multim==0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\Affichage{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
+ \xintifboolexpr{\Multil==0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\Affichage{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
}{%
\Affichage{\Multi}{\Multim}{\Multil}%
}
@@ -3621,9 +3621,9 @@
\xdef\Multi{\fpeval{-\Multi}}%
\xdef\Multim{\fpeval{-\Multim}}%
\xdef\Multil{\fpeval{-\Multil}}%
- \xintifboolexpr{\Multi=0}{}{\xintifboolexpr{\Multi<0}{(}{}\Affichage{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
- \xintifboolexpr{\Multim=0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\Affichage{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
- \xintifboolexpr{\Multil=0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\Affichage{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
+ \xintifboolexpr{\Multi==0}{}{\xintifboolexpr{\Multi<0}{(}{}\Affichage{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
+ \xintifboolexpr{\Multim==0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\Affichage{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
+ \xintifboolexpr{\Multil==0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\Affichage{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
}{%
\Affichage{\Multi}{\Multim}{\Multil}%
}
@@ -3633,17 +3633,17 @@
}{}%
}{%
\ifboolKV[ClesDistributivite]{Numerique}{%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=0}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==0}{%
\num{\fpeval{#2+#3}}\times\num{\fpeval{#4+#5}}\multido{\i=2+1}{4}{=\Distri[Numerique,Etape=\i]{#2}{#3}{#4}{#5}}%
}{%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=-1}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==-1}{%
\Distri[Numerique,Etape=3]{#2}{#3}{#4}{#5}\multido{\i=2+-1}{2}{=\Distri[Numerique,Etape=\i]{#2}{#3}{#4}{#5}}=\num{\fpeval{(#2+#3)*(#4+#5)}}%
}{%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=1}{\num{\fpeval{#2+#3}}\times\num{\fpeval{#4+#5}}}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=2}{\num{\fpeval{#2+#3}}\times(\num{#4}\xintifboolexpr{#5>0}{+}{-}\num{\fpeval{abs(#5)}})}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=3}{\num{#3}\times\num{#4}\xintifboolexpr{#5>0}{+}{-}\num{#3}\times\num{\fpeval{abs(#5)}}}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=4}{\num{\fpeval{#3*#4}}\xintifboolexpr{#5>0}{+}{-}\num{\fpeval{abs(#3*#5)}}}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=5}{\num{\fpeval{#3*#4+#3*#5}}}{}%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==1}{\num{\fpeval{#2+#3}}\times\num{\fpeval{#4+#5}}}{}%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==2}{\num{\fpeval{#2+#3}}\times(\num{#4}\xintifboolexpr{#5>0}{+}{-}\num{\fpeval{abs(#5)}})}{}%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==3}{\num{#3}\times\num{#4}\xintifboolexpr{#5>0}{+}{-}\num{#3}\times\num{\fpeval{abs(#5)}}}{}%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==4}{\num{\fpeval{#3*#4}}\xintifboolexpr{#5>0}{+}{-}\num{\fpeval{abs(#3*#5)}}}{}%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==5}{\num{\fpeval{#3*#4+#3*#5}}}{}%
}%
}%
}{%
@@ -3655,58 +3655,58 @@
\NomLettre&=\Distri[Etape=\NomFin]{#2}{#3}{#4}{#5}%
}{%
% Etape 1
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=1}{%
- \xintifboolexpr{#2=0}{%
- }{\xintifboolexpr{#3=0}{}{(}}\Tikzmark{\Affichage[#1]{0}{#2}{0}}%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==1}{%
+ \xintifboolexpr{#2==0}{%
+ }{\xintifboolexpr{#3==0}{}{(}}\Tikzmark{\Affichage[#1]{0}{#2}{0}}%
\ifboolKV[ClesDistributivite]{AideAdda}{\mathcolor{DCAide}{+(}}{}%
- \xintifboolexpr{#3>0}{\xintifboolexpr{#2=0}{}{+}}{\xintifboolexpr{#3<0}{-}{}}\Tikzmark{\Affichage[#1]{0}{0}{\fpeval{abs(#3)}}}%
+ \xintifboolexpr{#3>0}{\xintifboolexpr{#2==0}{}{+}}{\xintifboolexpr{#3<0}{-}{}}\Tikzmark{\Affichage[#1]{0}{0}{\fpeval{abs(#3)}}}%
\ifboolKV[ClesDistributivite]{AideAdda}{\mathcolor{DCAide}{)}}{}%
- \xintifboolexpr{#2=0}{}{\xintifboolexpr{#3=0}{}{)}}%
+ \xintifboolexpr{#2==0}{}{\xintifboolexpr{#3==0}{}{)}}%
%
\ifboolKV[ClesDistributivite]{AideMul}{\times}{}%on aide dans le cas double
\xdef\Multi{\fpeval{#4*#5}}%affichage auto si (a+b)xk
%
- \xintifboolexpr{\Multi=0}{\times%
+ \xintifboolexpr{\Multi==0}{\times%
\xintifboolexpr{#4<0}{(}{\xintifboolexpr{#5<0}{(}{}}}{(}%
\Tikzmark{\Affichage[#1]{0}{#4}{0}}%
\ifboolKV[ClesDistributivite]{AideAddb}{\mathcolor{DCAide}{+(}}{}%
- \xintifboolexpr{#5>0}{\xintifboolexpr{#4=0}{}{+}}{\xintifboolexpr{#5<0}{\xintifboolexpr{#4=0}{{-}}{-}}{}}\Tikzmark{\Affichage[#1]{0}{0}{\fpeval{abs(#5)}}}%
+ \xintifboolexpr{#5>0}{\xintifboolexpr{#4==0}{}{+}}{\xintifboolexpr{#5<0}{\xintifboolexpr{#4==0}{{-}}{-}}{}}\Tikzmark{\Affichage[#1]{0}{0}{\fpeval{abs(#5)}}}%
\ifboolKV[ClesDistributivite]{AideAddb}{\mathcolor{DCAide}{)}}{}%
- \xintifboolexpr{\Multi=0}{%
+ \xintifboolexpr{\Multi==0}{%
\xintifboolexpr{#4<0}{)}{\xintifboolexpr{#5<0}{)}{}}}{)}%
\ifboolKV[ClesDistributivite]{Fleches}{%
\xdef\Multi{\fpeval{#2*#3*#4*#5}}%
- \xintifboolexpr{\Multi=0}{%
+ \xintifboolexpr{\Multi==0}{%
\xdef\Multij{\fpeval{#2*#3}}%\relax
- \xintifboolexpr{\Multij=0}{\xintifboolexpr{#2=0}{\DrawArrowSimple{1}}{\DrawArrowSimple{0}}}{\xintifboolexpr{#4=0}{\DrawArrowSimpleRenverse{3}}{\DrawArrowSimpleRenverse{2}}}%
+ \xintifboolexpr{\Multij==0}{\xintifboolexpr{#2==0}{\DrawArrowSimple{1}}{\DrawArrowSimple{0}}}{\xintifboolexpr{#4==0}{\DrawArrowSimpleRenverse{3}}{\DrawArrowSimpleRenverse{2}}}%
}{%
\DrawArrow%
}%
}{}\setcounter{NbDistri}{0}%
}{}
% Etape 2
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=2}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==2}{%
\xdef\Multi{\fpeval{#2*#4}}%
- \xintifboolexpr{\Multi=0}{}{%
+ \xintifboolexpr{\Multi==0}{}{%
\xintifboolexpr{#2<0}{(}{}\Affichage[#1]{0}{#2}{0}\xintifboolexpr{#2<0}{)}{}\times\xintifboolexpr{#4<0}{(}{}\Affichage[#1]{0}{#4}{0}\xintifboolexpr{#4<0}{)}{}%
}
\xdef\Multij{\fpeval{#2*#5}}%
- \xintifboolexpr{\Multij=0}{}{%
- \xintifboolexpr{\Multi=0}{}{+}%
+ \xintifboolexpr{\Multij==0}{}{%
+ \xintifboolexpr{\Multi==0}{}{+}%
\xintifboolexpr{#2<0}{(}{}\Affichage[#1]{0}{#2}{0}\xintifboolexpr{#2<0}{)}{}\times\xintifboolexpr{#5<0}{(}{}\Affichage[#1]{0}{0}{#5}\xintifboolexpr{#5<0}{)}{}%
}%
\xdef\Multik{\fpeval{#3*#4}}%
- \xintifboolexpr{\Multik=0}{}{%
- \xintifboolexpr{\Multi=0}{}{+}%
+ \xintifboolexpr{\Multik==0}{}{%
+ \xintifboolexpr{\Multi==0}{}{+}%
\xintifboolexpr{#3<0}{(}{}\Affichage[#1]{0}{0}{#3}\xintifboolexpr{#3<0}{)}{}\times\xintifboolexpr{#4<0}{(}{}\Affichage[#1]{0}{#4}{0}\xintifboolexpr{#4<0}{)}{}%
}%
\xdef\Multil{\fpeval{#3*#5}}%
- \xintifboolexpr{\Multil=0}{}{+%
+ \xintifboolexpr{\Multil==0}{}{+%
\xintifboolexpr{#3<0}{(}{}\Affichage[#1]{0}{0}{#3}\xintifboolexpr{#3<0}{)}{}\times\xintifboolexpr{#5<0}{(}{}\Affichage[#1]{0}{0}{#5}\xintifboolexpr{#5<0}{)}{}%
}%
}{}%
% Etape 3
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=3}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==3}{%
\stepcounter{NbCalculDistri}%
\xdef\Multi{\fpeval{#2*#4}}%
\xdef\Multij{\fpeval{#2*#5}}%
@@ -3716,17 +3716,17 @@
%% expressions \`a d\'evelopper
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multi<0}{(\Affichage{\Multi}{0}{0})}{\Affichage{\Multi}{0}{0}}}{\Affichage{\Multi}{0}{0}}%
\ifboolKV[ClesDistributivite]{Reduction}{\mathunderline{DCReduction}{%
- \xintifboolexpr{\Multij=0}{}{\xintifboolexpr{\Multi=0}{}{{}+}\xintifboolexpr{\Multij<0}{(}{}\Affichage{0}{\Multij}{0}\xintifboolexpr{\Multij<0}{)}{}}%
- \xintifboolexpr{\Multik=0}{}{\xintifboolexpr{\Multil=0}{\xintifboolexpr{#2=0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\Affichage{0}{\Multik}{0}\xintifboolexpr{\Multik<0}{)}{}}%
+ \xintifboolexpr{\Multij==0}{}{\xintifboolexpr{\Multi==0}{}{{}+}\xintifboolexpr{\Multij<0}{(}{}\Affichage{0}{\Multij}{0}\xintifboolexpr{\Multij<0}{)}{}}%
+ \xintifboolexpr{\Multik==0}{}{\xintifboolexpr{\Multil==0}{\xintifboolexpr{#2==0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\Affichage{0}{\Multik}{0}\xintifboolexpr{\Multik<0}{)}{}}%
}%
}{%
- \xintifboolexpr{\Multij=0}{}{\xintifboolexpr{\Multi=0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\Affichage{0}{\Multij}{0}\xintifboolexpr{\Multij<0}{)}{}}%
- \xintifboolexpr{\Multik=0}{}{\xintifboolexpr{\Multil=0}{\xintifboolexpr{#2=0}{}{+}}{\xintifboolexpr{#2=0}{}{+}}\xintifboolexpr{\Multik<0}{(}{}\Affichage{0}{\Multik}{0}\xintifboolexpr{\Multik<0}{)}{}}%
+ \xintifboolexpr{\Multij==0}{}{\xintifboolexpr{\Multi==0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\Affichage{0}{\Multij}{0}\xintifboolexpr{\Multij<0}{)}{}}%
+ \xintifboolexpr{\Multik==0}{}{\xintifboolexpr{\Multil==0}{\xintifboolexpr{#2==0}{}{+}}{\xintifboolexpr{#2==0}{}{+}}\xintifboolexpr{\Multik<0}{(}{}\Affichage{0}{\Multik}{0}\xintifboolexpr{\Multik<0}{)}{}}%
}%
- \xintifboolexpr{\Multil=0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\Affichage{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}%
+ \xintifboolexpr{\Multil==0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\Affichage{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}%
}{}%
% Etape 4
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=4}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==4}{%
\xdef\Multi{\fpeval{#2*#4}}%
\xdef\Multij{\fpeval{#2*#5}}%
\xdef\Multik{\fpeval{#3*#4}}%
@@ -3740,15 +3740,15 @@
\xdef\Multi{\fpeval{-\Multi}}%
\xdef\Multim{\fpeval{-\Multim}}%
\xdef\Multil{\fpeval{-\Multil}}%
- \xintifboolexpr{\Multi=0}{}{\xintifboolexpr{\Multi<0}{(}{}\Affichage{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
- \xintifboolexpr{\Multim=0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\Affichage{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
- \xintifboolexpr{\Multil=0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\Affichage{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
+ \xintifboolexpr{\Multi==0}{}{\xintifboolexpr{\Multi<0}{(}{}\Affichage{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
+ \xintifboolexpr{\Multim==0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\Affichage{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
+ \xintifboolexpr{\Multil==0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\Affichage{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
}{%
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multi<0}{(\Affichage{\Multi}{0}{0})}{\Affichage{\Multi}{0}{0}}}{\Affichage{\Multi}{0}{0}}%
- \xintifboolexpr{\Multim=0}{}{%
+ \xintifboolexpr{\Multim==0}{}{%
\xintifboolexpr{\Multim>0}{+\Affichage{0}{\Multim}{0}}{-\Affichage{0}{\fpeval{-\Multim}}{0}}%
}%
- \xintifboolexpr{\Multil=0}{}{\xintifboolexpr{\Multil<0}{-\Affichage{0}{0}{\fpeval{-\Multil}}}{+\Affichage{0}{0}{\Multil}}}%
+ \xintifboolexpr{\Multil==0}{}{\xintifboolexpr{\Multil<0}{-\Affichage{0}{0}{\fpeval{-\Multil}}}{+\Affichage{0}{0}{\Multil}}}%
}
\ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+#2*#4}}\xdef\SommeB{\fpeval{\SommeB+#2*#5+#3*#4}}\xdef\SommeC{\fpeval{\SommeC+#3*#5}}}{}%
\ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-#2*#4}}\xdef\SommeB{\fpeval{\SommeB-#2*#5-#3*#4}}\xdef\SommeC{\fpeval{\SommeC-#3*#5}}}{}%
@@ -3773,14 +3773,14 @@
\def\LETTRE{\useKV[ClesDistributivite]{Lettre}}%
\ensuremath{%
% partie du nombre
- \xintifboolexpr{#2=0}{}{\num{#2}}%
+ \xintifboolexpr{#2==0}{}{\num{#2}}%
% partie du x
- \xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{\xintifboolexpr{#2=0}{}{+}\xintifboolexpr{#3=1}{}{\num{#3}}}{%
- \xintifboolexpr{#2=0}{\xintifboolexpr{#3=-1}{-}{\num{#3}}}{\xintifboolexpr{#3=-1}{-}{-\num{\fpeval{abs(#3)}}}}
+ \xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{\xintifboolexpr{#2==0}{}{+}\xintifboolexpr{#3==1}{}{\num{#3}}}{%
+ \xintifboolexpr{#2==0}{\xintifboolexpr{#3==-1}{-}{\num{#3}}}{\xintifboolexpr{#3==-1}{-}{-\num{\fpeval{abs(#3)}}}}
}\LETTRE}%
% partie du x^2
- \xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{\xintifboolexpr{#2=0}{\xintifboolexpr{#3=0}{}{+}}{+}\xintifboolexpr{#4=1}{}{\num{#4}}}{%
- \xintifboolexpr{#2=0}{\xintifboolexpr{#3=0}{\num{#4}}{-\num{\fpeval{abs(#4)}}}}{-\num{\fpeval{abs(#4)}}}}\LETTRE^2}%
+ \xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{\xintifboolexpr{#2==0}{\xintifboolexpr{#3==0}{}{+}}{+}\xintifboolexpr{#4==1}{}{\num{#4}}}{%
+ \xintifboolexpr{#2==0}{\xintifboolexpr{#3==0}{\num{#4}}{-\num{\fpeval{abs(#4)}}}}{-\num{\fpeval{abs(#4)}}}}\LETTRE^2}%
}%
}%
@@ -3796,20 +3796,20 @@
\colorlet{DCFlechesh}{\useKV[ClesDistributivite]{CouleurFH}}%
\colorlet{DCFlechesb}{\useKV[ClesDistributivite]{CouleurFB}}%
\ifboolKV[ClesDistributivite]{Remarquable}{%
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=1}{\ifx\bla#4\bla(\AffichageEchange{#2}{#3}{0})^2\else(\AffichageEchange{#2}{#3}{0})(\AffichageEchange{#4}{#5}{0})\fi
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==1}{\ifx\bla#4\bla(\AffichageEchange{#2}{#3}{0})^2\else(\AffichageEchange{#2}{#3}{0})(\AffichageEchange{#4}{#5}{0})\fi
}{}
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=2}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==2}{%
\ifx\bla#4\bla\xintifboolexpr{#3>0}{%
- \num{#2}^2+2\times\num{#2}\times\xintifboolexpr{#3=1}{}{\num{#3}}\useKV[ClesDistributivite]{Lettre}+
- \xintifboolexpr{#3=1}{}{(\num{#3}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#3=1}{}{)}^2%
+ \num{#2}^2+2\times\num{#2}\times\xintifboolexpr{#3==1}{}{\num{#3}}\useKV[ClesDistributivite]{Lettre}+
+ \xintifboolexpr{#3==1}{}{(\num{#3}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#3==1}{}{)}^2%
}{%
- \num{#2}^2-2\times\num{#2}\times\xintifboolexpr{#3=-1}{}{\num{\fpeval{0-#3}}}\useKV[ClesDistributivite]{Lettre}+
- \xintifboolexpr{#3=-1}{}{(\num{\fpeval{0-#3}}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#3=-1}{}{)}^2%
+ \num{#2}^2-2\times\num{#2}\times\xintifboolexpr{#3==-1}{}{\num{\fpeval{0-#3}}}\useKV[ClesDistributivite]{Lettre}+
+ \xintifboolexpr{#3==-1}{}{(\num{\fpeval{0-#3}}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#3==-1}{}{)}^2%
}%
- \else\num{#2}^2-\xintifboolexpr{#3=1}{}{(\num{#3}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#3=1}{}{)}^2%
+ \else\num{#2}^2-\xintifboolexpr{#3==1}{}{(\num{#3}}\useKV[ClesDistributivite]{Lettre}\xintifboolexpr{#3==1}{}{)}^2%
\fi%
}{}
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=3}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==3}{%
\xintifboolexpr{\theNbCalculDistri>1}{\setcounter{NbCalculDistri}{0}}{}%
\stepcounter{NbCalculDistri}%
\ifx\bla#4\bla%
@@ -3824,9 +3824,9 @@
\xdef\Multi{\fpeval{-\Multi}}%
\xdef\Multim{\fpeval{-\Multim}}%
\xdef\Multil{\fpeval{-\Multil}}%
- \xintifboolexpr{\Multi=0}{}{\xintifboolexpr{\Multi<0}{(}{}\AffichageEchange{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
- \xintifboolexpr{\Multim=0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\AffichageEchange{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
- \xintifboolexpr{\Multil=0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\AffichageEchange{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
+ \xintifboolexpr{\Multi==0}{}{\xintifboolexpr{\Multi<0}{(}{}\AffichageEchange{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
+ \xintifboolexpr{\Multim==0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\AffichageEchange{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
+ \xintifboolexpr{\Multil==0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\AffichageEchange{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
}{%
\AffichageEchange{\Multi}{\Multim}{\Multil}%
}
@@ -3844,9 +3844,9 @@
\xdef\Multi{\fpeval{-\Multi}}%
\xdef\Multim{\fpeval{-\Multim}}%
\xdef\Multil{\fpeval{-\Multil}}%
- \xintifboolexpr{\Multi=0}{}{\xintifboolexpr{\Multi<0}{(}{}\AffichageEchange{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
- \xintifboolexpr{\Multim=0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\AffichageEchange{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
- \xintifboolexpr{\Multil=0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\AffichageEchange{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
+ \xintifboolexpr{\Multi==0}{}{\xintifboolexpr{\Multi<0}{(}{}\AffichageEchange{\Multi}{0}{0}\xintifboolexpr{\Multi<0}{)}{}}%
+ \xintifboolexpr{\Multim==0}{}{\xintifboolexpr{\Multim>0}{+}{+(}\AffichageEchange{0}{\Multim}{0}\xintifboolexpr{\Multim<0}{)}{}}%
+ \xintifboolexpr{\Multil==0}{}{\xintifboolexpr{\Multil>0}{+}{+(}\AffichageEchange{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}}%
}{%
\AffichageEchange{\Multi}{\Multim}{\Multil}%
}
@@ -3858,19 +3858,6 @@
}{}%
}{%
\ifboolKV[ClesDistributivite]{Numerique}{%
- % \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=0}{%
- % \num{\fpeval{#2+#3}}\times\num{\fpeval{#4+#5}}\multido{\i=2+1}{4}{=\Distri[Numerique,Etape=\i]{#2}{#3}{#4}{#5}}%
- % }{%
- % \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=-1}{%
- % \Distri[Numerique,Etape=3]{#2}{#3}{#4}{#5}\multido{\i=2+-1}{2}{=\Distri[Numerique,Etape=\i]{#2}{#3}{#4}{#5}}=\num{\fpeval{(#2+#3)*(#4+#5)}}%
- % }{%
- % \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=1}{\num{\fpeval{#2+#3}}\times\num{\fpeval{#4+#5}}}{}%
- % \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=2}{\num{\fpeval{#2+#3}}\times(\num{#4}\xintifboolexpr{#5>0}{+}{-}\num{\fpeval{abs(#5)}})}{}%
- % \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=3}{\num{#3}\times\num{#4}\xintifboolexpr{#5>0}{+}{-}\num{#3}\times\num{\fpeval{abs(#5)}}}{}%
- % \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=4}{\num{\fpeval{#3*#4}}\xintifboolexpr{#5>0}{+}{-}\num{\fpeval{abs(#3*#5)}}}{}%
- % \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=5}{\num{\fpeval{#3*#4+#3*#5}}}{}%
- % }%
- % }%
}{%
\ifboolKV[ClesDistributivite]{All}{%
\xdef\NomLettre{\useKV[ClesDistributivite]{NomExpression}}%
@@ -3881,126 +3868,126 @@
\NomLettre&=\DistriEchange[Echange=\ValeurEchange,Etape=\NomFin]{#2}{#3}{#4}{#5}%
}{%
% Etape 1
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=1}{%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=1||\useKV[ClesDistributivite]{Echange}=3}{%
- \xintifboolexpr{#2=0}{%
- }{\xintifboolexpr{#3=0}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==1}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==1||\useKV[ClesDistributivite]{Echange}==3}{%
+ \xintifboolexpr{#2==0}{%
+ }{\xintifboolexpr{#3==0}{%
}{(}}\Tikzmark{\Affichage[#1]{0}{0}{#2}}%
\ifboolKV[ClesDistributivite]{AideAdda}{\mathcolor{DCAide}{+(}}{}%
- \xintifboolexpr{#3>0}{\xintifboolexpr{#2=0}{}{+}}{\xintifboolexpr{#3<0}{-}{}}\Tikzmark{\Affichage[#1]{0}{\fpeval{abs(#3)}}{0}}%
+ \xintifboolexpr{#3>0}{\xintifboolexpr{#2==0}{}{+}}{\xintifboolexpr{#3<0}{-}{}}\Tikzmark{\Affichage[#1]{0}{\fpeval{abs(#3)}}{0}}%
\ifboolKV[ClesDistributivite]{AideAdda}{\mathcolor{DCAide}{)}}{}%
- \xintifboolexpr{#2=0}{%
- }{\xintifboolexpr{#3=0}{%
+ \xintifboolexpr{#2==0}{%
+ }{\xintifboolexpr{#3==0}{%
}{)}}%
}{
- \xintifboolexpr{#2=0}{%
- }{\xintifboolexpr{#3=0}{%
+ \xintifboolexpr{#2==0}{%
+ }{\xintifboolexpr{#3==0}{%
}{(}}\Tikzmark{\Affichage[#1]{0}{#2}{0}}%
\ifboolKV[ClesDistributivite]{AideAdda}{\mathcolor{DCAide}{+(}}{}%
- \xintifboolexpr{#3>0}{\xintifboolexpr{#2=0}{}{+}}{\xintifboolexpr{#3<0}{-}{}}\Tikzmark{\Affichage[#1]{0}{0}{\fpeval{abs(#3)}}}%
+ \xintifboolexpr{#3>0}{\xintifboolexpr{#2==0}{}{+}}{\xintifboolexpr{#3<0}{-}{}}\Tikzmark{\Affichage[#1]{0}{0}{\fpeval{abs(#3)}}}%
\ifboolKV[ClesDistributivite]{AideAdda}{\mathcolor{DCAide}{)}}{}%
- \xintifboolexpr{#2=0}{%
- }{\xintifboolexpr{#3=0}{%
+ \xintifboolexpr{#2==0}{%
+ }{\xintifboolexpr{#3==0}{%
}{)}}%
}%
%
\ifboolKV[ClesDistributivite]{AideMul}{\times}{}%on aide dans le cas double
\xdef\Multi{\fpeval{#4*#5}}%affichage auto si (a+b)xk
%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=2||\useKV[ClesDistributivite]{Echange}=3}{%
- \xintifboolexpr{\Multi=0}{\times%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==2||\useKV[ClesDistributivite]{Echange}==3}{%
+ \xintifboolexpr{\Multi==0}{\times%
\xintifboolexpr{#4<0}{(}{\xintifboolexpr{#5<0}{(}{}}}{(}%
\Tikzmark{\AffichageEchange[#1]{#4}{0}{0}}%
\ifboolKV[ClesDistributivite]{AideAddb}{\mathcolor{DCAide}{+(}}{}%
- \xintifboolexpr{#5>0}{\xintifboolexpr{#4=0}{}{+}}{\xintifboolexpr{#5<0}{-}{}}\Tikzmark{\AffichageEchange[#1]{0}{\fpeval{abs(#5)}}{0}}%
+ \xintifboolexpr{#5>0}{\xintifboolexpr{#4==0}{}{+}}{\xintifboolexpr{#5<0}{-}{}}\Tikzmark{\AffichageEchange[#1]{0}{\fpeval{abs(#5)}}{0}}%
\ifboolKV[ClesDistributivite]{AideAddb}{\mathcolor{DCAide}{)}}{}%
- \xintifboolexpr{\Multi=0}{%
+ \xintifboolexpr{\Multi==0}{%
\xintifboolexpr{#4<0}{)}{\xintifboolexpr{#5<0}{)}{}}}{)}%
}{%
- \xintifboolexpr{\Multi=0}{\times%
+ \xintifboolexpr{\Multi==0}{\times%
\xintifboolexpr{#4<0}{(}{\xintifboolexpr{#5<0}{(}{}}}{(}%
\Tikzmark{\Affichage[#1]{0}{#4}{0}}%
\ifboolKV[ClesDistributivite]{AideAddb}{\mathcolor{DCAide}{+(}}{}%
- \xintifboolexpr{#5>0}{\xintifboolexpr{#4=0}{}{+}}{\xintifboolexpr{#5<0}{\xintifboolexpr{#4=0}{{-}}{-}}{}}\Tikzmark{\Affichage[#1]{0}{0}{\fpeval{abs(#5)}}}%
+ \xintifboolexpr{#5>0}{\xintifboolexpr{#4==0}{}{+}}{\xintifboolexpr{#5<0}{\xintifboolexpr{#4==0}{{-}}{-}}{}}\Tikzmark{\Affichage[#1]{0}{0}{\fpeval{abs(#5)}}}%
\ifboolKV[ClesDistributivite]{AideAddb}{\mathcolor{DCAide}{)}}{}%
- \xintifboolexpr{\Multi=0}{%
+ \xintifboolexpr{\Multi==0}{%
\xintifboolexpr{#4<0}{)}{\xintifboolexpr{#5<0}{)}{}}}{)}%
}%
\ifboolKV[ClesDistributivite]{Fleches}{%
\xdef\Multi{\fpeval{#2*#3*#4*#5}}%
- \xintifboolexpr{\Multi=0}{%
+ \xintifboolexpr{\Multi==0}{%
\xdef\Multij{\fpeval{#2*#3}}%\relax
- \xintifboolexpr{\Multij=0}{\xintifboolexpr{#2=0}{\DrawArrowSimple{1}}{\DrawArrowSimple{0}}}{\xintifboolexpr{#4=0}{\DrawArrowSimpleRenverse{3}}{\DrawArrowSimpleRenverse{2}}}
+ \xintifboolexpr{\Multij==0}{\xintifboolexpr{#2==0}{\DrawArrowSimple{1}}{\DrawArrowSimple{0}}}{\xintifboolexpr{#4==0}{\DrawArrowSimpleRenverse{3}}{\DrawArrowSimpleRenverse{2}}}
}{%
\DrawArrow
}%
}{}\setcounter{NbDistri}{0}%
}{}%
% Etape 2
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=2}{%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=1}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==2}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==1}{%
\xdef\Multi{\fpeval{#2*#4}}%
- \xintifboolexpr{\Multi=0}{}{%
+ \xintifboolexpr{\Multi==0}{}{%
\xintifboolexpr{#2<0}{(}{}\AffichageEchange[#1]{#2}{0}{0}\xintifboolexpr{#2<0}{)}{}\times\xintifboolexpr{#4<0}{(}{}\Affichage[#1]{0}{#4}{0}\xintifboolexpr{#4<0}{)}{}%
}%
\xdef\Multij{\fpeval{#2*#5}}%
- \xintifboolexpr{\Multij=0}{}{%
- \xintifboolexpr{\Multi=0}{}{+}%
+ \xintifboolexpr{\Multij==0}{}{%
+ \xintifboolexpr{\Multi==0}{}{+}%
\xintifboolexpr{#2<0}{(}{}\AffichageEchange[#1]{#2}{0}{0}\xintifboolexpr{#2<0}{)}{}\times\xintifboolexpr{#5<0}{(}{}\Affichage[#1]{0}{0}{#5}\xintifboolexpr{#5<0}{)}{}%
}%
\xdef\Multik{\fpeval{#3*#4}}%
- \xintifboolexpr{\Multik=0}{}{%
- \xintifboolexpr{\Multi=0}{}{+}%
+ \xintifboolexpr{\Multik==0}{}{%
+ \xintifboolexpr{\Multi==0}{}{+}%
\xintifboolexpr{#3<0}{(}{}\AffichageEchange[#1]{0}{#3}{0}\xintifboolexpr{#3<0}{)}{}\times\xintifboolexpr{#4<0}{(}{}\Affichage[#1]{0}{#4}{0}\xintifboolexpr{#4<0}{)}{}%
}%
\xdef\Multil{\fpeval{#3*#5}}%
- \xintifboolexpr{\Multil=0}{}{+%
+ \xintifboolexpr{\Multil==0}{}{+%
\xintifboolexpr{#3<0}{(}{}\AffichageEchange[#1]{0}{#3}{0}\xintifboolexpr{#3<0}{)}{}\times\xintifboolexpr{#5<0}{(}{}\Affichage[#1]{0}{0}{#5}\xintifboolexpr{#5<0}{)}{}%
}%
}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=2}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==2}{%
\xdef\Multi{\fpeval{#2*#4}}%
- \xintifboolexpr{\Multi=0}{}{%
+ \xintifboolexpr{\Multi==0}{}{%
\xintifboolexpr{#2<0}{(}{}\Affichage[#1]{0}{#2}{0}\xintifboolexpr{#2<0}{)}{}\times\xintifboolexpr{#4<0}{(}{}\AffichageEchange[#1]{#4}{0}{0}\xintifboolexpr{#4<0}{)}{}%
}%
\xdef\Multij{\fpeval{#2*#5}}%
- \xintifboolexpr{\Multij=0}{}{%
- \xintifboolexpr{\Multi=0}{}{+}%
+ \xintifboolexpr{\Multij==0}{}{%
+ \xintifboolexpr{\Multi==0}{}{+}%
\xintifboolexpr{#2<0}{(}{}\Affichage[#1]{0}{#2}{0}\xintifboolexpr{#2<0}{)}{}\times\xintifboolexpr{#5<0}{(}{}\AffichageEchange[#1]{0}{#5}{0}\xintifboolexpr{#5<0}{)}{}%
}%
\xdef\Multik{\fpeval{#3*#4}}%
- \xintifboolexpr{\Multik=0}{}{%
- \xintifboolexpr{\Multi=0}{}{+}%
+ \xintifboolexpr{\Multik==0}{}{%
+ \xintifboolexpr{\Multi==0}{}{+}%
\xintifboolexpr{#3<0}{(}{}\Affichage[#1]{0}{0}{#3}\xintifboolexpr{#3<0}{)}{}\times\xintifboolexpr{#4<0}{(}{}\AffichageEchange[#1]{#4}{0}{0}\xintifboolexpr{#4<0}{)}{}%
}%
\xdef\Multil{\fpeval{#3*#5}}%
- \xintifboolexpr{\Multil=0}{}{+%
+ \xintifboolexpr{\Multil==0}{}{+%
\xintifboolexpr{#3<0}{(}{}\Affichage[#1]{0}{0}{#3}\xintifboolexpr{#3<0}{)}{}\times\xintifboolexpr{#5<0}{(}{}\AffichageEchange[#1]{0}{#5}{0}\xintifboolexpr{#5<0}{)}{}%
}%
}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=3}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==3}{%
\xdef\Multi{\fpeval{#2*#4}}%
- \xintifboolexpr{\Multi=0}{}{%
+ \xintifboolexpr{\Multi==0}{}{%
\xintifboolexpr{#2<0}{(}{}\AffichageEchange[#1]{#2}{0}{0}\xintifboolexpr{#2<0}{)}{}\times\xintifboolexpr{#4<0}{(}{}\AffichageEchange[#1]{#4}{0}{0}\xintifboolexpr{#4<0}{)}{}%
}%
\xdef\Multij{\fpeval{#2*#5}}%
- \xintifboolexpr{\Multij=0}{}{%
- \xintifboolexpr{\Multi=0}{}{+}%
+ \xintifboolexpr{\Multij==0}{}{%
+ \xintifboolexpr{\Multi==0}{}{+}%
\xintifboolexpr{#2<0}{(}{}\AffichageEchange[#1]{#2}{0}{0}\xintifboolexpr{#2<0}{)}{}\times\xintifboolexpr{#5<0}{(}{}\AffichageEchange[#1]{0}{#5}{0}\xintifboolexpr{#5<0}{)}{}%
}%
\xdef\Multik{\fpeval{#3*#4}}%
- \xintifboolexpr{\Multik=0}{}{%
- \xintifboolexpr{\Multi=0}{}{+}%
+ \xintifboolexpr{\Multik==0}{}{%
+ \xintifboolexpr{\Multi==0}{}{+}%
\xintifboolexpr{#3<0}{(}{}\AffichageEchange[#1]{0}{#3}{0}\xintifboolexpr{#3<0}{)}{}\times\xintifboolexpr{#4<0}{(}{}\AffichageEchange[#1]{#4}{0}{0}\xintifboolexpr{#4<0}{)}{}%
}%
\xdef\Multil{\fpeval{#3*#5}}%
- \xintifboolexpr{\Multil=0}{}{+%
+ \xintifboolexpr{\Multil==0}{}{+%
\xintifboolexpr{#3<0}{(}{}\AffichageEchange[#1]{0}{#3}{0}\xintifboolexpr{#3<0}{)}{}\times\xintifboolexpr{#5<0}{(}{}\AffichageEchange[#1]{0}{#5}{0}\xintifboolexpr{#5<0}{)}{}%
}%
}{}
}{}
% Etape 3
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=3}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==3}{%
\stepcounter{NbCalculDistri}%
\xdef\Multi{\fpeval{#2*#4}}%
\xdef\Multij{\fpeval{#2*#5}}%
@@ -4008,36 +3995,36 @@
\xdef\Multil{\fpeval{#3*#5}}%
%% ils sont red\'efinis pour pouvoir envisager la somme de deux
%% expressions \`a d\'evelopper
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=1}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==1}{%
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multi<0}{(\AffichageEchange{0}{\Multi}{0})}{\AffichageEchange{0}{\Multi}{0}}}{\AffichageEchange{0}{\Multi}{0}}%
- \xintifboolexpr{\Multij=0}{}{\xintifboolexpr{\Multi=0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\AffichageEchange{\Multij}{0}{0}\xintifboolexpr{\Multij<0}{)}{}}%
- \xintifboolexpr{\Multik=0}{}{\xintifboolexpr{\Multil=0}{\xintifboolexpr{#2=0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\AffichageEchange{0}{0}{\Multik}\xintifboolexpr{\Multik<0}{)}{}}%
- \xintifboolexpr{\Multil=0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\AffichageEchange{0}{\Multil}{0}\xintifboolexpr{\Multil<0}{)}{}%
+ \xintifboolexpr{\Multij==0}{}{\xintifboolexpr{\Multi==0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\AffichageEchange{\Multij}{0}{0}\xintifboolexpr{\Multij<0}{)}{}}%
+ \xintifboolexpr{\Multik==0}{}{\xintifboolexpr{\Multil==0}{\xintifboolexpr{#2=0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\AffichageEchange{0}{0}{\Multik}\xintifboolexpr{\Multik<0}{)}{}}%
+ \xintifboolexpr{\Multil==0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\AffichageEchange{0}{\Multil}{0}\xintifboolexpr{\Multil<0}{)}{}%
\xdef\Multim{\fpeval{#2*#4+#3*#5}}%
\ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+\Multik}}\xdef\SommeB{\fpeval{\SommeB+\Multim}}\xdef\SommeC{\fpeval{\SommeC+\Multij}}}{}%
\ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-\Multik}}\xdef\SommeB{\fpeval{\SommeB-\Multim}}\xdef\SommeC{\fpeval{\SommeC-\Multij}}}{}%
}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=2}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==2}{%
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multi<0}{(\AffichageEchange{0}{\Multi}{0})}{\AffichageEchange{0}{\Multi}{0}}}{\AffichageEchange{0}{\Multi}{0}}%
- \xintifboolexpr{\Multij=0}{}{\xintifboolexpr{\Multi=0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\AffichageEchange{0}{0}{\Multij}\xintifboolexpr{\Multij<0}{)}{}}%
- \xintifboolexpr{\Multik=0}{}{\xintifboolexpr{\Multil=0}{\xintifboolexpr{#2=0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\AffichageEchange{\Multik}{0}{0}\xintifboolexpr{\Multik<0}{)}{}}%
- \xintifboolexpr{\Multil=0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\AffichageEchange{0}{\Multil}{0}\xintifboolexpr{\Multil<0}{)}{}%
+ \xintifboolexpr{\Multij==0}{}{\xintifboolexpr{\Multi==0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\AffichageEchange{0}{0}{\Multij}\xintifboolexpr{\Multij<0}{)}{}}%
+ \xintifboolexpr{\Multik==0}{}{\xintifboolexpr{\Multil==0}{\xintifboolexpr{#2==0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\AffichageEchange{\Multik}{0}{0}\xintifboolexpr{\Multik<0}{)}{}}%
+ \xintifboolexpr{\Multil==0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\AffichageEchange{0}{\Multil}{0}\xintifboolexpr{\Multil<0}{)}{}%
\xdef\Multim{\fpeval{#2*#4+#3*#5}}%
\ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+\Multij}}\xdef\SommeB{\fpeval{\SommeB+\Multim}}\xdef\SommeC{\fpeval{\SommeC+\Multik}}}{}%
\ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-\Multij}}\xdef\SommeB{\fpeval{\SommeB-\Multim}}\xdef\SommeC{\fpeval{\SommeC-\Multik}}}{}%
}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=3}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==3}{%
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multi<0}{(\AffichageEchange{\Multi}{0}{0})}{\AffichageEchange{\Multi}{0}{0}}}{\AffichageEchange{\Multi}{0}{0}}%
- \xintifboolexpr{\Multij=0}{}{\xintifboolexpr{\Multi=0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\AffichageEchange{0}{\Multij}{0}\xintifboolexpr{\Multij<0}{)}{}}%
- \xintifboolexpr{\Multik=0}{}{\xintifboolexpr{\Multil=0}{\xintifboolexpr{#2=0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\AffichageEchange{0}{\Multik}{0}\xintifboolexpr{\Multik<0}{)}{}}%
- \xintifboolexpr{\Multil=0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\AffichageEchange{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}%
+ \xintifboolexpr{\Multij==0}{}{\xintifboolexpr{\Multi==0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\AffichageEchange{0}{\Multij}{0}\xintifboolexpr{\Multij<0}{)}{}}%
+ \xintifboolexpr{\Multik==0}{}{\xintifboolexpr{\Multil==0}{\xintifboolexpr{#2==0}{}{+}}{+}\xintifboolexpr{\Multik<0}{(}{}\AffichageEchange{0}{\Multik}{0}\xintifboolexpr{\Multik<0}{)}{}}%
+ \xintifboolexpr{\Multil==0}{}{+}\xintifboolexpr{\Multil<0}{(}{}\AffichageEchange{0}{0}{\Multil}\xintifboolexpr{\Multil<0}{)}{}%
\xdef\Multim{\fpeval{#2*#5+#3*#4}}%
\ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+\Multil}}\xdef\SommeB{\fpeval{\SommeB+\Multim}}\xdef\SommeC{\fpeval{\SommeC+\Multi}}}{}%
\ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-\Multil}}\xdef\SommeB{\fpeval{\SommeB-\Multim}}\xdef\SommeC{\fpeval{\SommeC-\Multi}}}{}%
}{}%
}{}%fin etape3
% Etape 4
- \xintifboolexpr{\useKV[ClesDistributivite]{Etape}=4}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Etape}==4}{%
\xdef\Multi{\fpeval{#2*#4}}%
\xdef\Multij{\fpeval{#2*#5}}%
\xdef\Multik{\fpeval{#3*#4}}%
@@ -4046,59 +4033,59 @@
%% expressions \`a d\'evelopper
\xintifboolexpr{\theNbCalculDistri>1}{\setcounter{NbCalculDistri}{0}}{}%
\stepcounter{NbCalculDistri}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=1}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==1}{%
\xdef\Multim{\fpeval{#2*#4+#3*#5}}%
\ifboolKV[ClesDistributivite]{Oppose}{%
\xdef\Multiko{\fpeval{-\Multik}}%
\xdef\Multimo{\fpeval{-\Multim}}%
\xdef\Multijo{\fpeval{-\Multij}}%
- \xintifboolexpr{\Multiko=0}{}{\xintifboolexpr{\Multiko<0}{(}{}\Affichage{\Multiko}{0}{0}\xintifboolexpr{\Multiko<0}{)}{}}%
- \xintifboolexpr{\Multimo=0}{}{\xintifboolexpr{\Multimo>0}{+}{+(}\Affichage{0}{\Multimo}{0}\xintifboolexpr{\Multimo<0}{)}{}}%
- \xintifboolexpr{\Multijo=0}{}{\xintifboolexpr{\Multijo>0}{+}{+(}\Affichage{0}{0}{\Multijo}\xintifboolexpr{\Multijo<0}{)}{}}%
+ \xintifboolexpr{\Multiko==0}{}{\xintifboolexpr{\Multiko<0}{(}{}\Affichage{\Multiko}{0}{0}\xintifboolexpr{\Multiko<0}{)}{}}%
+ \xintifboolexpr{\Multimo==0}{}{\xintifboolexpr{\Multimo>0}{+}{+(}\Affichage{0}{\Multimo}{0}\xintifboolexpr{\Multimo<0}{)}{}}%
+ \xintifboolexpr{\Multijo==0}{}{\xintifboolexpr{\Multijo>0}{+}{+(}\Affichage{0}{0}{\Multijo}\xintifboolexpr{\Multijo<0}{)}{}}%
}{%
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multik<0}{(\Affichage{\Multik}{0}{0})}{\Affichage{\Multik}{0}{0}}}{\Affichage{\Multik}{0}{0}}%
- \xintifboolexpr{\Multim=0}{}{%
+ \xintifboolexpr{\Multim==0}{}{%
\xintifboolexpr{\Multim>0}{+\Affichage{0}{\Multim}{0}}{-\Affichage{0}{\fpeval{-\Multim}}{0}}%
}%
- \xintifboolexpr{\Multij=0}{}{\xintifboolexpr{\Multij<0}{-\Affichage{0}{0}{\fpeval{-\Multij}}}{+\Affichage{0}{0}{\Multij}}}%
+ \xintifboolexpr{\Multij==0}{}{\xintifboolexpr{\Multij<0}{-\Affichage{0}{0}{\fpeval{-\Multij}}}{+\Affichage{0}{0}{\Multij}}}%
}%
\ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+\Multik}}\xdef\SommeB{\fpeval{\SommeB+\Multim}}\xdef\SommeC{\fpeval{\SommeC+\Multij}}}{}%
\ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-\Multik}}\xdef\SommeB{\fpeval{\SommeB-\Multim}}\xdef\SommeC{\fpeval{\SommeC-\Multij}}}{}%
}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=2}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==2}{%
\xdef\Multim{\fpeval{#2*#4+#3*#5}}%
\ifboolKV[ClesDistributivite]{Oppose}{%
\xdef\Multijo{\fpeval{-\Multij}}%
\xdef\Multimo{\fpeval{-\Multim}}%
\xdef\Multiko{\fpeval{-\Multik}}%
- \xintifboolexpr{\Multijo=0}{}{\xintifboolexpr{\Multijo<0}{(}{}\Affichage{\Multijo}{0}{0}\xintifboolexpr{\Multijo<0}{)}{}}%
- \xintifboolexpr{\Multimo=0}{}{\xintifboolexpr{\Multimo>0}{+}{+(}\Affichage{0}{\Multimo}{0}\xintifboolexpr{\Multimo<0}{)}{}}%
- \xintifboolexpr{\Multiko=0}{}{\xintifboolexpr{\Multiko>0}{+}{+(}\Affichage{0}{0}{\Multiko}\xintifboolexpr{\Multiko<0}{)}{}}%
+ \xintifboolexpr{\Multijo==0}{}{\xintifboolexpr{\Multijo<0}{(}{}\Affichage{\Multijo}{0}{0}\xintifboolexpr{\Multijo<0}{)}{}}%
+ \xintifboolexpr{\Multimo==0}{}{\xintifboolexpr{\Multimo>0}{+}{+(}\Affichage{0}{\Multimo}{0}\xintifboolexpr{\Multimo<0}{)}{}}%
+ \xintifboolexpr{\Multiko==0}{}{\xintifboolexpr{\Multiko>0}{+}{+(}\Affichage{0}{0}{\Multiko}\xintifboolexpr{\Multiko<0}{)}{}}%
}{%
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multij<0}{(\Affichage{\Multij}{0}{0})}{\Affichage{\Multij}{0}{0}}}{\Affichage{\Multij}{0}{0}}%
- \xintifboolexpr{\Multim=0}{}{%
+ \xintifboolexpr{\Multim==0}{}{%
\xintifboolexpr{\Multim>0}{+\Affichage{0}{\Multim}{0}}{-\Affichage{0}{\fpeval{-\Multim}}{0}}%
}%
- \xintifboolexpr{\Multik=0}{}{\xintifboolexpr{\Multik<0}{-\Affichage{0}{0}{\fpeval{-\Multik}}}{+\Affichage{0}{0}{\Multik}}}%
+ \xintifboolexpr{\Multik==0}{}{\xintifboolexpr{\Multik<0}{-\Affichage{0}{0}{\fpeval{-\Multik}}}{+\Affichage{0}{0}{\Multik}}}%
}%
\ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+\Multij}}\xdef\SommeB{\fpeval{\SommeB+\Multim}}\xdef\SommeC{\fpeval{\SommeC+\Multik}}}{}%
\ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-\Multij}}\xdef\SommeB{\fpeval{\SommeB-\Multim}}\xdef\SommeC{\fpeval{\SommeC-\Multik}}}{}%
}{}%
- \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=3}{%
+ \xintifboolexpr{\useKV[ClesDistributivite]{Echange}==3}{%
\xdef\Multim{\fpeval{#2*#5+#3*#4}}%
\ifboolKV[ClesDistributivite]{Oppose}{%
\xdef\Multilo{\fpeval{-\Multil}}%
\xdef\Multimo{\fpeval{-\Multim}}%
\xdef\Multio{\fpeval{-\Multi}}%
- \xintifboolexpr{\Multilo=0}{}{\xintifboolexpr{\Multilo<0}{(}{}\Affichage{\Multilo}{0}{0}\xintifboolexpr{\Multilo<0}{)}{}}%
- \xintifboolexpr{\Multimo=0}{}{\xintifboolexpr{\Multimo>0}{+}{+(}\Affichage{0}{\Multimo}{0}\xintifboolexpr{\Multimo<0}{)}{}}%
- \xintifboolexpr{\Multio=0}{}{\xintifboolexpr{\Multio>0}{+}{+(}\Affichage{0}{0}{\Multio}\xintifboolexpr{\Multio<0}{)}{}}%
+ \xintifboolexpr{\Multilo==0}{}{\xintifboolexpr{\Multilo<0}{(}{}\Affichage{\Multilo}{0}{0}\xintifboolexpr{\Multilo<0}{)}{}}%
+ \xintifboolexpr{\Multimo==0}{}{\xintifboolexpr{\Multimo>0}{+}{+(}\Affichage{0}{\Multimo}{0}\xintifboolexpr{\Multimo<0}{)}{}}%
+ \xintifboolexpr{\Multio==0}{}{\xintifboolexpr{\Multio>0}{+}{+(}\Affichage{0}{0}{\Multio}\xintifboolexpr{\Multio<0}{)}{}}%
}{%
\xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multil<0}{(\Affichage{\Multil}{0}{0})}{\Affichage{\Multil}{0}{0}}}{\Affichage{\Multil}{0}{0}}%
- \xintifboolexpr{\Multim=0}{}{%
+ \xintifboolexpr{\Multim==0}{}{%
\xintifboolexpr{\Multim>0}{+\Affichage{0}{\Multim}{0}}{-\Affichage{0}{\fpeval{-\Multim}}{0}}%
}%
- \xintifboolexpr{\Multi=0}{}{\xintifboolexpr{\Multi<0}{-\Affichage{0}{0}{\fpeval{-\Multi}}}{+\Affichage{0}{0}{\Multi}}}%
+ \xintifboolexpr{\Multi==0}{}{\xintifboolexpr{\Multi<0}{-\Affichage{0}{0}{\fpeval{-\Multi}}}{+\Affichage{0}{0}{\Multi}}}%
}
\ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+\Multil}}\xdef\SommeB{\fpeval{\SommeB+\Multim}}\xdef\SommeC{\fpeval{\SommeC+\Multi}}}{}%
\ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-\Multil}}\xdef\SommeB{\fpeval{\SommeB-\Multim}}\xdef\SommeC{\fpeval{\SommeC-\Multi}}}{}%
@@ -5646,7 +5633,7 @@ vardef Positions(expr Step)=
}%
% On choisit \'eventuellement le calcul \`a faire s'il y en a plusieurs.
\xdef\CompteurCalcul{\useKV[ClesThales]{ChoixCalcul}}%
- \xintifboolexpr{\CompteurCalcul>0}{\xintifboolexpr{\CompteurCalcul=1}{\xdef\cmya{0}\xdef\cmza{0}}{\xintifboolexpr{\CompteurCalcul=2}{\xdef\cmxa{0}\xdef\cmza{0}}{\xdef\cmxa{0}\xdef\cmya{0}}}}{}%
+ \xintifboolexpr{\CompteurCalcul>0}{\xintifboolexpr{\CompteurCalcul==1}{\xdef\cmya{0}\xdef\cmza{0}}{\xintifboolexpr{\CompteurCalcul==2}{\xdef\cmxa{0}\xdef\cmza{0}}{\xdef\cmxa{0}\xdef\cmya{0}}}}{}%
%%on fait les calculs
\begin{align*}
%Premier compteur \xxx
@@ -5863,7 +5850,7 @@ vardef Positions(expr Step)=
}%
% On choisit \'eventuellement le calcul \`a faire s'il y en a plusieurs.
\xdef\CompteurCalcul{\useKV[ClesThales]{ChoixCalcul}}%
- \xintifboolexpr{\CompteurCalcul>0}{\xintifboolexpr{\CompteurCalcul=1}{\xdef\cmya{0}\xdef\cmza{0}}{\xintifboolexpr{\CompteurCalcul=2}{\xdef\cmxa{0}\xdef\cmza{0}}{\xdef\cmxa{0}\xdef\cmya{0}}}}%
+ \xintifboolexpr{\CompteurCalcul>0}{\xintifboolexpr{\CompteurCalcul==1}{\xdef\cmya{0}\xdef\cmza{0}}{\xintifboolexpr{\CompteurCalcul==2}{\xdef\cmxa{0}\xdef\cmza{0}}{\xdef\cmxa{0}\xdef\cmya{0}}}}%
%%on fait les calculs
\begin{align*}
%Premier compteur \xxx
@@ -6121,7 +6108,7 @@ vardef Positions(expr Step)=
\begin{align*}
\num{#3}\times\num{#6}&=\num{\fpeval{#3*#6}}&&&\num{#4}\times\num{#5}&=\num{\fpeval{#4*#5}}
\end{align*}
- \xintifboolexpr{\NumA = \NumB}{Comme les produits en croix sont
+ \xintifboolexpr{\NumA == \NumB}{Comme les produits en croix sont
\'egaux, alors
$\dfrac{\NomA\NomM}{\NomA\NomB}=\dfrac{\NomA\NomN}{\NomA\NomC}$.\\[0.5em]%
}{%
@@ -6131,20 +6118,20 @@ vardef Positions(expr Step)=
}{%
\[\left.
\begin{array}{l}
- \dfrac{\NomA\NomM}{\NomA\NomB}=\dfrac{\num{#3}}{\num{#4}}\ifx\bla#7\bla\ifboolKV[ClesThales]{Simplification}{\PGCD{#3}{#4}\xintifboolexpr{\pgcd=1}{%il faut regarder si on doit continuer avec le PPCM...
- \PGCD{#5}{#6}\xintifboolexpr{\pgcd>1}{\xdef\DenomSimpaa{\fpeval{#6/\pgcd}}\PPCM{#4}{\DenomSimpaa}\xintifboolexpr{\ppcm=#4}{}{=\dfrac{#3\times\num{\fpeval{\ppcm/#4}}}{#4\times\num{\fpeval{\ppcm/#4}}}=\dfrac{\num{\fpeval{#3*\ppcm/#4}}}{\num{\fpeval{\ppcm}}}}}{}%
- }{=\displaystyle\Simplification[All]{#3}{#4}\PGCD{#3}{#4}\xdef\NumSimp{\fpeval{#3/\pgcd}}\xdef\DenomSimp{\fpeval{#4/\pgcd}}\PGCD{#5}{#6}\xdef\NumSimpa{\fpeval{#5/\pgcd}}\xdef\DenomSimpa{\fpeval{#6/\pgcd}}\PPCM{\DenomSimp}{\DenomSimpa}\xintifboolexpr{\fpeval{\the\ppcm/\DenomSimp}=1}{}{=\dfrac{\num{\NumSimp}\times\num{\fpeval{\the\ppcm/\DenomSimp}}}{\num{\DenomSimp}\times\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\the\ppcm/\DenomSimp}}}=\dfrac{\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\NumSimp*\the\ppcm/\DenomSimp}}}{\PPCM{\DenomSimp}{\DenomSimpa}\num{\the\ppcm}}}}}{\PPCM{#4}{#6}\xintifboolexpr{\fpeval{\the\ppcm/#4}=1}{}{=\dfrac{\num{#3}\times\num{\fpeval{\the\ppcm/#4}}}{\num{#4}\times\PPCM{#4}{#6}\num{\fpeval{\the\ppcm/#4}}}=\dfrac{\PPCM{#4}{#6}\num{\fpeval{#3*\the\ppcm/#4}}}{\PPCM{#4}{#6}\num{\the\ppcm}}}}\xdef\NumA{\fpeval{#3*#6}}\else%
- \xintifboolexpr{#7=1}{}{=\dfrac{\num{#3}\times\num{#7}}{\num{#4}\times\num{#7}}=\dfrac{\num{\fpeval{#3*#7}}}{\num{\fpeval{#4*#7}}}}\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\xintifboolexpr{\the\ppcm=\fpeval{#4*#7}}{}{=\dfrac{\num{\fpeval{#3*#7}}\times\num{\fpeval{\the\ppcm/(#4*#7)}}}{\num{\fpeval{#4*#7}}\times\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm/(#4*#7)}}}=\dfrac{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{#3*\the\ppcm/#4}}}{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm}}}}\xdef\NumA{\fpeval{#3*#7*#6*#8}}
+ \dfrac{\NomA\NomM}{\NomA\NomB}=\dfrac{\num{#3}}{\num{#4}}\ifx\bla#7\bla\ifboolKV[ClesThales]{Simplification}{\PGCD{#3}{#4}\xintifboolexpr{\pgcd==1}{%il faut regarder si on doit continuer avec le PPCM...
+ \PGCD{#5}{#6}\xintifboolexpr{\pgcd>1}{\xdef\DenomSimpaa{\fpeval{#6/\pgcd}}\PPCM{#4}{\DenomSimpaa}\xintifboolexpr{\ppcm==#4}{}{=\dfrac{#3\times\num{\fpeval{\ppcm/#4}}}{#4\times\num{\fpeval{\ppcm/#4}}}=\dfrac{\num{\fpeval{#3*\ppcm/#4}}}{\num{\fpeval{\ppcm}}}}}{}%
+ }{=\displaystyle\Simplification[All]{#3}{#4}\PGCD{#3}{#4}\xdef\NumSimp{\fpeval{#3/\pgcd}}\xdef\DenomSimp{\fpeval{#4/\pgcd}}\PGCD{#5}{#6}\xdef\NumSimpa{\fpeval{#5/\pgcd}}\xdef\DenomSimpa{\fpeval{#6/\pgcd}}\PPCM{\DenomSimp}{\DenomSimpa}\xintifboolexpr{\fpeval{\the\ppcm/\DenomSimp}==1}{}{=\dfrac{\num{\NumSimp}\times\num{\fpeval{\the\ppcm/\DenomSimp}}}{\num{\DenomSimp}\times\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\the\ppcm/\DenomSimp}}}=\dfrac{\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\NumSimp*\the\ppcm/\DenomSimp}}}{\PPCM{\DenomSimp}{\DenomSimpa}\num{\the\ppcm}}}}}{\PPCM{#4}{#6}\xintifboolexpr{\fpeval{\the\ppcm/#4}==1}{}{=\dfrac{\num{#3}\times\num{\fpeval{\the\ppcm/#4}}}{\num{#4}\times\PPCM{#4}{#6}\num{\fpeval{\the\ppcm/#4}}}=\dfrac{\PPCM{#4}{#6}\num{\fpeval{#3*\the\ppcm/#4}}}{\PPCM{#4}{#6}\num{\the\ppcm}}}}\xdef\NumA{\fpeval{#3*#6}}\else%
+ \xintifboolexpr{#7==1}{}{=\dfrac{\num{#3}\times\num{#7}}{\num{#4}\times\num{#7}}=\dfrac{\num{\fpeval{#3*#7}}}{\num{\fpeval{#4*#7}}}}\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\xintifboolexpr{\the\ppcm==\fpeval{#4*#7}}{}{=\dfrac{\num{\fpeval{#3*#7}}\times\num{\fpeval{\the\ppcm/(#4*#7)}}}{\num{\fpeval{#4*#7}}\times\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm/(#4*#7)}}}=\dfrac{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{#3*\the\ppcm/#4}}}{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm}}}}\xdef\NumA{\fpeval{#3*#7*#6*#8}}
\fi
\\
\\
\dfrac{\NomA\NomN}{\NomA\NomC}=\dfrac{\num{#5}}{\num{#6}}%
\ifx\bla#8\bla%
- \ifboolKV[ClesThales]{Simplification}{\PGCD{#5}{#6}\xintifboolexpr{\pgcd=1}{%il faut regarder si on doit continuer avec le PPCM...
- \PGCD{#3}{#4}\xintifboolexpr{\pgcd>1}{\xdef\DenomSimpaa{\fpeval{#4/\pgcd}}\PPCM{#6}{\DenomSimpaa}\xintifboolexpr{\ppcm=#6}{}{=\dfrac{#5\times\num{\fpeval{\ppcm/#6}}}{#6\times\num{\fpeval{\ppcm/#6}}}=\dfrac{\num{\fpeval{#5*\ppcm/#6}}}{\num{\fpeval{\ppcm}}}}}{}%
- }{=\displaystyle\Simplification[All]{#5}{#6}\PGCD{#5}{#6}\xdef\NumSimp{\fpeval{#5/\pgcd}}\xdef\DenomSimp{\fpeval{#6/\pgcd}}\PGCD{#3}{#4}\xdef\NumSimpa{\fpeval{#3/\pgcd}}\xdef\DenomSimpa{\fpeval{#4/\pgcd}}\PPCM{\DenomSimp}{\DenomSimpa}\xintifboolexpr{\fpeval{\the\ppcm/\DenomSimp}=1}{}{=\dfrac{\num{\NumSimp}\times\num{\fpeval{\the\ppcm/\DenomSimp}}}{\num{\DenomSimp}\times\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\the\ppcm/\DenomSimp}}}=\dfrac{\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\NumSimp*\the\ppcm/\DenomSimp}}}{\PPCM{\DenomSimp}{\DenomSimpa}\num{\the\ppcm}}}}}{\PPCM{#4}{#6}\xintifboolexpr{\fpeval{\the\ppcm/#6}=1}{}{=\dfrac{\num{#5}\times\num{\fpeval{\the\ppcm/#6}}}{\num{#6}\times\PPCM{#4}{#6}\num{\fpeval{\the\ppcm/#6}}}=\dfrac{\PPCM{#4}{#6}\num{\fpeval{#5*\the\ppcm/#6}}}{\PPCM{#4}{#6}\num{\the\ppcm}}}}\xdef\NumB{\fpeval{#5*#4}}%
+ \ifboolKV[ClesThales]{Simplification}{\PGCD{#5}{#6}\xintifboolexpr{\pgcd==1}{%il faut regarder si on doit continuer avec le PPCM...
+ \PGCD{#3}{#4}\xintifboolexpr{\pgcd>1}{\xdef\DenomSimpaa{\fpeval{#4/\pgcd}}\PPCM{#6}{\DenomSimpaa}\xintifboolexpr{\ppcm==#6}{}{=\dfrac{#5\times\num{\fpeval{\ppcm/#6}}}{#6\times\num{\fpeval{\ppcm/#6}}}=\dfrac{\num{\fpeval{#5*\ppcm/#6}}}{\num{\fpeval{\ppcm}}}}}{}%
+ }{=\displaystyle\Simplification[All]{#5}{#6}\PGCD{#5}{#6}\xdef\NumSimp{\fpeval{#5/\pgcd}}\xdef\DenomSimp{\fpeval{#6/\pgcd}}\PGCD{#3}{#4}\xdef\NumSimpa{\fpeval{#3/\pgcd}}\xdef\DenomSimpa{\fpeval{#4/\pgcd}}\PPCM{\DenomSimp}{\DenomSimpa}\xintifboolexpr{\fpeval{\the\ppcm/\DenomSimp}==1}{}{=\dfrac{\num{\NumSimp}\times\num{\fpeval{\the\ppcm/\DenomSimp}}}{\num{\DenomSimp}\times\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\the\ppcm/\DenomSimp}}}=\dfrac{\PPCM{\DenomSimp}{\DenomSimpa}\num{\fpeval{\NumSimp*\the\ppcm/\DenomSimp}}}{\PPCM{\DenomSimp}{\DenomSimpa}\num{\the\ppcm}}}}}{\PPCM{#4}{#6}\xintifboolexpr{\fpeval{\the\ppcm/#6}==1}{}{=\dfrac{\num{#5}\times\num{\fpeval{\the\ppcm/#6}}}{\num{#6}\times\PPCM{#4}{#6}\num{\fpeval{\the\ppcm/#6}}}=\dfrac{\PPCM{#4}{#6}\num{\fpeval{#5*\the\ppcm/#6}}}{\PPCM{#4}{#6}\num{\the\ppcm}}}}\xdef\NumB{\fpeval{#5*#4}}%
\else%
- \xintifboolexpr{#8=1}{}{=\dfrac{\num{#5}\times\num{#8}}{\num{#6}\times\num{#8}}=\dfrac{\num{\fpeval{#5*#8}}}{\num{\fpeval{#6*#8}}}}\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\xintifboolexpr{\the\ppcm=\fpeval{#6*#8}}{}{=\dfrac{\num{\fpeval{#5*#8}}\times\num{\fpeval{\the\ppcm/(#6*#8)}}}{\num{\fpeval{#6*#8}}\times\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm/(#6*#8)}}}=\dfrac{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{#5*\the\ppcm/#6}}}{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm}}}
+ \xintifboolexpr{#8==1}{}{=\dfrac{\num{#5}\times\num{#8}}{\num{#6}\times\num{#8}}=\dfrac{\num{\fpeval{#5*#8}}}{\num{\fpeval{#6*#8}}}}\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\xintifboolexpr{\the\ppcm==\fpeval{#6*#8}}{}{=\dfrac{\num{\fpeval{#5*#8}}\times\num{\fpeval{\the\ppcm/(#6*#8)}}}{\num{\fpeval{#6*#8}}\times\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm/(#6*#8)}}}=\dfrac{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{#5*\the\ppcm/#6}}}{\xdef\NumC{\fpeval{#4*#7}}\xdef\NumD{\fpeval{#6*#8}}\PPCM{\NumC}{\NumD}\num{\fpeval{\the\ppcm}}}
}\xdef\NumB{\fpeval{#5*#8*#4*#7}}
\fi\\
\end{array}
@@ -6164,7 +6151,7 @@ vardef Positions(expr Step)=
th\'eor\`eme de Thal\`es.\else%
Donc les droites $(\NomM\NomN)$ et $(\NomB\NomC)$ ne sont pas parall\`eles.\fi
}{%
- \xintifboolexpr{\NumA=\NumB}{%
+ \xintifboolexpr{\NumA==\NumB}{%
De plus, les points $\NomA$, $\NomM$, $\NomB$ sont align\'es dans
le m\^eme ordre que les points $\NomA$, $\NomN$, $\NomC$. Donc les
droites $(\NomM\NomN)$ et $(\NomB\NomC)$ sont parall\`eles d'apr\`es
@@ -6517,21 +6504,27 @@ vardef Positions(expr Step)=
label(btex #3 etex,1.15[O,C]);
label(btex ? etex,A+0.95u*unitvector(I-A));
decalage:=3mm;
+ if #6>0:
if angle(1/2[A,C]-B)>0:
label(btex \num{#6} etex,1.2[B,1/2[A,C]]);
else:
label(btex \num{#6} etex,1.2[B,1/2[A,C]]);
fi;
+ fi;
+ if #4>0:
if angle(1/2[B,C]-A)>0:
label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B)));
else:
label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B)));
- fi;
+ fi;
+ fi;
+ if #5>0:
if angle(1/2[A,B]-C)>0:
label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B)));
else:
label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B)));
fi;
+ fi;
\end{mplibcode}
\mplibcodeinherit{disable}
\else
@@ -6579,21 +6572,27 @@ vardef Positions(expr Step)=
label(btex #3 etex,1.15[O,C]);
label(btex ? etex,A+0.95u*unitvector(I-A));
decalage:=3mm;
+ if #6>0:
if angle(1/2[A,C]-B)>0:
label(btex \num{#6} etex,1.2[B,1/2[A,C]]);
else:
label(btex \num{#6} etex,1.2[B,1/2[A,C]]);
fi;
+ fi;
+ if #4>0:
if angle(1/2[B,C]-A)>0:
label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B)));
else:
label(btex \num{#4} etex,1/2[B,C]-decalage*(unitvector(A-B)));
- fi;
+ fi;
+ fi;
+ if #5>0:
if angle(1/2[A,B]-C)>0:
label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B)));
else:
label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B)));
fi;
+ fi;
\end{mpost}
\fi
}
@@ -6809,13 +6808,13 @@ vardef Positions(expr Step)=
\ifboolKV[ClesTrigo]{FigureSeule}{%
\ifx\bla#5\bla%
\ifboolKV[ClesTrigo]{Cosinus}{%
- \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{}{#3}{#4}{\useKV[ClesTrigo]{Angle}}
+ \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{-1}{#3}{#4}{\useKV[ClesTrigo]{Angle}}
}{}%
\ifboolKV[ClesTrigo]{Sinus}{%
- \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{}{#4}{\useKV[ClesTrigo]{Angle}}
+ \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{-1}{#4}{\useKV[ClesTrigo]{Angle}}
}{}%
\ifboolKV[ClesTrigo]{Tangente}{%
- \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{#4}{}{\useKV[ClesTrigo]{Angle}}
+ \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{#4}{-1}{\useKV[ClesTrigo]{Angle}}
}{}%
\else%}{%figure pour calculer une longueur
\ifboolKV[ClesTrigo]{Cosinus}{%
@@ -6847,17 +6846,17 @@ vardef Positions(expr Step)=
\ifx\bla#5\bla%
\ifboolKV[ClesTrigo]{Cosinus}{%
\begin{center}
- \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{}{#3}{#4}{\useKV[ClesTrigo]{Angle}}
+ \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{-1}{#3}{#4}{\useKV[ClesTrigo]{Angle}}
\end{center}
}{}%
\ifboolKV[ClesTrigo]{Sinus}{%
\begin{center}
- \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{}{#4}{\useKV[ClesTrigo]{Angle}}
+ \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{-1}{#4}{\useKV[ClesTrigo]{Angle}}
\end{center}
}{}%
\ifboolKV[ClesTrigo]{Tangente}{%
\begin{center}
- \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{#4}{}{\useKV[ClesTrigo]{Angle}}
+ \MPFigTrigoAngle{\NomA}{\NomB}{\NomC}{#3}{#4}{-1}{\useKV[ClesTrigo]{Angle}}
\end{center}
}{}%
\else%}{%figure pour calculer une longueur
@@ -6921,7 +6920,7 @@ vardef Positions(expr Step)=
FreqVide=false,AngVide=false,ECCVide=false,TotalVide=false,Sondage=false,%
Tableau=false,Stretch=1,Frequence=false,EffectifTotal=false,%
Etendue=false,Moyenne=false,SET=false,Mediane=false,Total=false,Concret=false,%
-Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angle=false,SemiAngle=false,Qualitatif=false,TableauVide=false,Graphique=false,Batons=true,Unitex=0.5,Unitey=0.5,Rayon=3cm,AffichageAngle=false,Liste=false,ECC=false,Coupure=10,CouleurTab=gray!15,ListeCouleurs={white},Hachures=false,Inverse=false,AbscisseRotation=false}
+Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Grille=false,Origine=0,Angle=false,SemiAngle=false,Qualitatif=false,TableauVide=false,Graphique=false,Batons=true,Pasx=1,Pasy=1,Unitex=0.5,Unitey=0.5,Rayon=3cm,AffichageAngle=false,Liste=false,ECC=false,Coupure=10,CouleurTab=gray!15,ListeCouleurs={white},Hachures=false,Inverse=false,AbscisseRotation=false,Representation=false}
% La construction du tableau
\def\addtotok#1#2{#1\expandafter{\the#1#2}}
@@ -7159,6 +7158,20 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
endfor;
enddef;
toto(#4);
+ boolean Grille;
+ Grille:=\useKV[ClesStat]{Grille};
+ Pasx:=\useKV[ClesStat]{Pasx};
+ Pasy:=\useKV[ClesStat]{Pasy};
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=0 step Pasx until ((maxx+1)):
+ trace (k*unitex,0)--(k*unitex,unitey*(maxy+1));
+ endfor;
+ for k=0 step Pasy until ((maxy+1)):
+ trace (0,k*unitey)--(unitex*(maxx+1),k*unitey);
+ endfor;
+ drawoptions();
+ fi;
for k=1 upto n:
draw A[k]--P[k] withpen pencircle scaled 2bp;
draw B[k]--P[k] dashed evenly;
@@ -7172,7 +7185,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\mpxcommands{%
\setKV[ClesStat]{#1}%
}
- \begin{mpost}
+ \begin{mpost}[mpsettings={boolean Grille; Grille:=\useKV[ClesStat]{Grille}; Pasx:=\useKV[ClesStat]{Pasx}; Pasy:=\useKV[ClesStat]{Pasy};}]
maxx:=0;
maxy:=0;
unitex:=#2*cm;
@@ -7202,6 +7215,16 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
endfor;
enddef;
toto(#4);
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=0 step Pasx until ((maxx+1)):
+ trace (k*unitex,0)--(k*unitex,unitey*(maxy+1));
+ endfor;
+ for k=0 step Pasy until ((maxy+1)):
+ trace (0,k*unitey)--(unitex*(maxx+1),k*unitey);
+ endfor;
+ drawoptions();
+ fi;
for k=1 upto n:
draw A[k]--P[k] withpen pencircle scaled 2bp;
draw B[k]--P[k] dashed evenly;
@@ -7245,6 +7268,20 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
endfor;
enddef;
toto(#4);
+ boolean Grille;
+ Grille:=\useKV[ClesStat]{Grille};
+ Pasx:=\useKV[ClesStat]{Pasx};
+ Pasy:=\useKV[ClesStat]{Pasy};
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=0 step Pasx until ((n+1)):
+ trace (k*unitex,0)--(k*unitex,unitey*(maxy+1));
+ endfor;
+ for k=0 step Pasy until ((maxy+1)):
+ trace (0,k*unitey)--(unitex*(n+1),k*unitey);
+ endfor;
+ drawoptions();
+ fi;
for k=0 upto n-1:
draw A[k]--P[k] withpen pencircle scaled 2bp;
draw B[k]--P[k] dashed evenly;
@@ -7258,7 +7295,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\mpxcommands{%
\setKV[ClesStat]{#1}%
}
- \begin{mpost}
+ \begin{mpost}[mpsettings={boolean Grille; Grille:=\useKV[ClesStat]{Grille}; Pasx:=\useKV[ClesStat]{Pasx}; Pasy:=\useKV[ClesStat]{Pasy};}]
maxy:=0;
unitex:=#2*cm;
unitey:=#3*cm;
@@ -7285,6 +7322,16 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
endfor;
enddef;
toto(#4);
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=0 step Pasx until ((n+1)):
+ trace (k*unitex,0)--(k*unitex,unitey*(maxy+1));
+ endfor;
+ for k=0 step Pasy until ((maxy+1)):
+ trace (0,k*unitey)--(unitex*(n+1),k*unitey);
+ endfor;
+ drawoptions();
+ fi;
for k=0 upto n-1:
draw A[k]--P[k] withpen pencircle scaled 2bp;
draw B[k]--P[k] dashed evenly;
@@ -7570,18 +7617,26 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\newcommand\Stat[2][]{%
\useKVdefault[ClesStat]%
\setKV[ClesStat]{#1}%
- \ifboolKV[ClesStat]{Liste}{%
- \setsepchar{,}\ignoreemptyitems%
- \readlist*\Liste{#2}%
- \xdef\foo{}%
- \setsepchar[*]{,*/}\ignoreemptyitems%
- \xintFor* ##1 in {\xintSeq {1}{\Listelen}}\do{%
- \xdef\foo{\foo 1/\Liste[##1],}%
- }%
- \readlist*\ListeComplete{\foo}%
- \setKV[ClesStat]{Qualitatif}%
+ \ifboolKV[ClesStat]{Representation}{%
+ \setKV[TraceG]{Xmin=0,Ymin=0}%
+ \setKV[TraceG]{#1}%
+ \readlist*\ListePointsPlaces{#2}%
+ \newtoks\toklistepoint%
+ \foreachitem\compteur\in\ListePointsPlaces{\expandafter\Updatetoks\compteur\nil}%
+ \MPPlacePoint[#1]{\the\toklistepoint}%
}{%
- \ifboolKV[ClesStat]{Sondage}{%
+ \ifboolKV[ClesStat]{Liste}{%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\Liste{#2}%
+ \xdef\foo{}%
+ \setsepchar[*]{,*/}\ignoreemptyitems%
+ \xintFor* ##1 in {\xintSeq {1}{\Listelen}}\do{%
+ \xdef\foo{\foo 1/\Liste[##1],}%
+ }%
+ \readlist*\ListeComplete{\foo}%
+ \setKV[ClesStat]{Qualitatif}%
+ }{%
+ \ifboolKV[ClesStat]{Sondage}{%
\setsepchar{,}\ignoreemptyitems%
\readlist*\Liste{#2}%
% "liste vide"
@@ -7750,7 +7805,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\begin{center}
\begin{minipage}{0.9\linewidth}
\DTLforeach*{mtdb}{\numeroDonnee=Numeric}{\num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\DTLiflastrow{.}{;
- }\nbdonnees=\fpeval{\nbdonnees+1}\modulo{\nbdonnees}{\useKV[ClesStat]{Coupure}}\xintifboolexpr{\remainder=0}{\\}{}}
+ }\nbdonnees=\fpeval{\nbdonnees+1}\modulo{\nbdonnees}{\useKV[ClesStat]{Coupure}}\xintifboolexpr{\remainder==0}{\\}{}}
\end{minipage}
\end{center}%
\medskip%
@@ -7890,6 +7945,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
}{}%
}%
}%
+}
%%%
% Radar
@@ -8116,7 +8172,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
%%%
% Equations
%%%
-\setKVdefault[ClesEquation]{Ecart=0.5,Fleches=false,FlecheDiv=false,Laurent=false,Decomposition=false,Terme=false,Composition=false,Symbole=false,Entier=false,Lettre=x,Solution=false,LettreSol=true,Bloc=false,Simplification=false,CouleurTerme=black,CouleurCompo=black,CouleurSous=red,CouleurSymbole=orange,Verification=false,Nombre=0,Egalite=false,Produit=false,Facteurs=false,Carre=false,Exact=false,Pose=false,Equivalence=false}
+\setKVdefault[ClesEquation]{Ecart=0.5,Fleches=false,FlecheDiv=false,Laurent=false,Decomposition=false,Terme=false,Composition=false,Symbole=false,Decimal=false,Entier=false,Lettre=x,Solution=false,LettreSol=true,Bloc=false,Simplification=false,CouleurTerme=black,CouleurCompo=black,CouleurSous=red,CouleurSymbole=orange,Verification=false,Nombre=0,Egalite=false,Produit=false,Facteurs=false,Carre=false,Exact=false,Pose=false,Equivalence=false}
\newcommand\rightcomment[4]%
{\begin{tikzpicture}[remember picture,overlay]
@@ -8285,7 +8341,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\setKV[ClesEquation]{#1}%
\xintifboolexpr{#2<0}{%
Comme $\num{#2}$ est n\'egatif, alors l'\'equation $\useKV[ClesEquation]{Lettre}^2=\num{#2}$ n'a aucune solution.%
- }{\xintifboolexpr{#2=0}{%
+ }{\xintifboolexpr{#2==0}{%
L'\'equation $\useKV[ClesEquation]{Lettre}^2=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.%
}{%
Comme \num{#2} est positif, alors l'\'equation $\useKV[ClesEquation]{Lettre}^2=\num{#2}$ a deux solutions :%
@@ -8305,24 +8361,24 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\ifboolKV[ClesEquation]{Equivalence}{%
\[\Distri{#2}{#3}{#4}{#5}=0\]
\begin{align*}%
- &\makebox[0pt]{$\Longleftrightarrow$}&\xintifboolexpr{#3=0}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}&=0&\quad&\makebox[0pt]{ou}\quad&\xintifboolexpr{#5=0}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}&=0\\
- &\makebox[0pt]{$\Longleftrightarrow$}&\xintifboolexpr{#3=0}{\xdef\Coeffa{1}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{#2=1}{&}{\useKV[ClesEquation]{Lettre}&=0}}{\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}}&&&\xintifboolexpr{#5=0}{\xdef\Coeffc{1}\xdef\Coeffd{\fpeval{0-#5}}\xintifboolexpr{#4=1}{&}{\useKV[ClesEquation]{Lettre}&=0}}{\xdef\Coeffc{#4}\xdef\Coeffd{\fpeval{0-#5}}\xintifboolexpr{\Coeffc=1}{}{\num{\Coeffc}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffd}}%\\
- \xintifboolexpr{\Coeffa=1 'and' \Coeffc=1}{}{\\%\ifnum\cmtd>1
- &\makebox[0pt]{$\Longleftrightarrow$}&\xintifboolexpr{\Coeffa=1}{&}{\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}}\xintifboolexpr{\Coeffc=1}{}{&&&\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffd}}{\num{\Coeffc}}}
+ &\makebox[0pt]{$\Longleftrightarrow$}&\xintifboolexpr{#3==0}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}&=0&\quad&\makebox[0pt]{ou}\quad&\xintifboolexpr{#5==0}{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}&=0\\
+ &\makebox[0pt]{$\Longleftrightarrow$}&\xintifboolexpr{#3==0}{\xdef\Coeffa{1}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{#2==1}{&}{\useKV[ClesEquation]{Lettre}&=0}}{\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}}&&&\xintifboolexpr{#5==0}{\xdef\Coeffc{1}\xdef\Coeffd{\fpeval{0-#5}}\xintifboolexpr{#4==1}{&}{\useKV[ClesEquation]{Lettre}&=0}}{\xdef\Coeffc{#4}\xdef\Coeffd{\fpeval{0-#5}}\xintifboolexpr{\Coeffc==1}{}{\num{\Coeffc}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffd}}%\\
+ \xintifboolexpr{\Coeffa==1 'and' \Coeffc==1}{}{\\%\ifnum\cmtd>1
+ &\makebox[0pt]{$\Longleftrightarrow$}&\xintifboolexpr{\Coeffa==1}{&}{\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}}\xintifboolexpr{\Coeffc==1}{}{&&&\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffd}}{\num{\Coeffc}}}
% accolade%\\
%%%%
\ifboolKV[ClesEquation]{Entier}{%
\xdef\TSimp{}%
- \SSimpliTest{\Coeffb}{\Coeffa}\ifthenelse{\boolean{Simplification}}{\xintifboolexpr{#3=0}{\xdef\TSimp{0}}{\xdef\TSimp{1}}}{\xdef\TSimp{0}}
- \SSimpliTest{\Coeffd}{\Coeffc}\ifthenelse{\boolean{Simplification}}{\xintifboolexpr{#5=0}{}{\xdef\TSimp{\fpeval{\TSimp+1}}}}{}
- \xintifboolexpr{\TSimp=0}{}{\\
+ \SSimpliTest{\Coeffb}{\Coeffa}\ifthenelse{\boolean{Simplification}}{\xintifboolexpr{#3==0}{\xdef\TSimp{0}}{\xdef\TSimp{1}}}{\xdef\TSimp{0}}
+ \SSimpliTest{\Coeffd}{\Coeffc}\ifthenelse{\boolean{Simplification}}{\xintifboolexpr{#5==0}{}{\xdef\TSimp{\fpeval{\TSimp+1}}}}{}
+ \xintifboolexpr{\TSimp==0}{}{\\
\ifboolKV[ClesEquation]{Simplification}{%
- &\makebox[0pt]{$\Longleftrightarrow$}&\SSimpliTest{\Coeffb}{\Coeffa}\xintifboolexpr{\Coeffa=1}{&}{\ifthenelse{\boolean{Simplification}}{\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{&}%\\
+ &\makebox[0pt]{$\Longleftrightarrow$}&\SSimpliTest{\Coeffb}{\Coeffa}\xintifboolexpr{\Coeffa==1}{&}{\ifthenelse{\boolean{Simplification}}{\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{&}%\\
}
}{}
&&&\ifboolKV[ClesEquation]{Simplification}{%
\SSimpliTest{\Coeffd}{\Coeffc}%
- \xintifboolexpr{\Coeffc=1}{}{\ifthenelse{\boolean{Simplification}}{\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffd}{\Coeffc}}{}%\\
+ \xintifboolexpr{\Coeffc==1}{}{\ifthenelse{\boolean{Simplification}}{\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffd}{\Coeffc}}{}%\\
}
}{}
}
@@ -8331,25 +8387,25 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\end{align*}
}{%
\begin{align*}
- \xintifboolexpr{#3=0}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}&=0&&\text{ou}&\xintifboolexpr{#5=0}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}&=0\\
- \xintifboolexpr{#3=0}{\xdef\Coeffa{1}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{#2=1}{&}{\useKV[ClesEquation]{Lettre}&=0}}{\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}}&&&\xintifboolexpr{#5=0}{\xdef\Coeffc{1}\xdef\Coeffd{\fpeval{0-#5}}\xintifboolexpr{#4=1}{&}{\useKV[ClesEquation]{Lettre}&=0}}{\xdef\Coeffc{#4}\xdef\Coeffd{\fpeval{0-#5}}\xintifboolexpr{\Coeffc=1}{}{\num{\Coeffc}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffd}}%\\
- \xintifboolexpr{\Coeffa=1 'and' \Coeffc=1}{}{\\%\ifnum\cmtd>1
- \xintifboolexpr{\Coeffa=1}{&}{\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}}\xintifboolexpr{\Coeffc=1}{}{&&&\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffd}}{\num{\Coeffc}}}
+ \xintifboolexpr{#3==0}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}&=0&&\text{ou}&\xintifboolexpr{#5==0}{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}&=0\\
+ \xintifboolexpr{#3==0}{\xdef\Coeffa{1}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{#2==1}{&}{\useKV[ClesEquation]{Lettre}&=0}}{\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa==1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}}&&&\xintifboolexpr{#5==0}{\xdef\Coeffc{1}\xdef\Coeffd{\fpeval{0-#5}}\xintifboolexpr{#4==1}{&}{\useKV[ClesEquation]{Lettre}&=0}}{\xdef\Coeffc{#4}\xdef\Coeffd{\fpeval{0-#5}}\xintifboolexpr{\Coeffc==1}{}{\num{\Coeffc}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffd}}%\\
+ \xintifboolexpr{\Coeffa==1 'and' \Coeffc==1}{}{\\%\ifnum\cmtd>1
+ \xintifboolexpr{\Coeffa==1}{&}{\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}}\xintifboolexpr{\Coeffc==1}{}{&&&\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffd}}{\num{\Coeffc}}}
%accolade%\\
%%%%
\ifboolKV[ClesEquation]{Entier}{%
\xdef\TSimp{}
- \SSimpliTest{\Coeffb}{\Coeffa}\ifthenelse{\boolean{Simplification}}{\xintifboolexpr{#3=0}{\xdef\TSimp{0}}{\xdef\TSimp{1}}}{\xdef\TSimp{0}}
- \SSimpliTest{\Coeffd}{\Coeffc}\ifthenelse{\boolean{Simplification}}{\xintifboolexpr{#5=0}{}{\xdef\TSimp{\fpeval{\TSimp+1}}}}{}
- \xintifboolexpr{\TSimp=0}{}{\\
+ \SSimpliTest{\Coeffb}{\Coeffa}\ifthenelse{\boolean{Simplification}}{\xintifboolexpr{#3==0}{\xdef\TSimp{0}}{\xdef\TSimp{1}}}{\xdef\TSimp{0}}
+ \SSimpliTest{\Coeffd}{\Coeffc}\ifthenelse{\boolean{Simplification}}{\xintifboolexpr{#5==0}{}{\xdef\TSimp{\fpeval{\TSimp+1}}}}{}
+ \xintifboolexpr{\TSimp==0}{}{\\
\ifboolKV[ClesEquation]{Simplification}{%
\SSimpliTest{\Coeffb}{\Coeffa}
- \xintifboolexpr{\Coeffa=1}{&}{\ifthenelse{\boolean{Simplification}}{\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{&}%\\
+ \xintifboolexpr{\Coeffa==1}{&}{\ifthenelse{\boolean{Simplification}}{\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{&}%\\
}
}{}
&&&\ifboolKV[ClesEquation]{Simplification}{%
\SSimpliTest{\Coeffd}{\Coeffc}%
- \xintifboolexpr{\Coeffc=1}{}{\ifthenelse{\boolean{Simplification}}{\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffd}{\Coeffc}}{}%\\
+ \xintifboolexpr{\Coeffc==1}{}{\ifthenelse{\boolean{Simplification}}{\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffd}{\Coeffc}}{}%\\
}
}{}
}
@@ -8357,24 +8413,24 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
}
\end{align*}
}%
- \ifboolKV[ClesEquation]{Solution}{L'\'equation $\xintifboolexpr{#3=0}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}{(\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}})}\xintifboolexpr{#5=0}{\times\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}{(\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}})}=0$ a deux solutions : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$ et \opdiv*{\Coeffd}{\Coeffc}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffd}{\Coeffc}}{\frac{\num{\Coeffd}}{\num{\Coeffc}}}\fi$.
+ \ifboolKV[ClesEquation]{Solution}{L'\'equation $\xintifboolexpr{#3==0}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}{(\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}})}\xintifboolexpr{#5==0}{\times\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}{(\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}})}=0$ a deux solutions : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$ et \opdiv*{\Coeffd}{\Coeffc}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffd}{\Coeffc}}{\frac{\num{\Coeffd}}{\num{\Coeffc}}}\fi$.
}{}%
}
\newcommand\Verification[5][]{%
- \setKV[ClesEquation]{#1}
- \xdef\ValeurTest{\useKV[ClesEquation]{Nombre}}
- Testons la valeur $\useKV[ClesEquation]{Lettre}=\num{\ValeurTest}$ :
+ \setKV[ClesEquation]{#1}%
+ \xdef\ValeurTest{\useKV[ClesEquation]{Nombre}}%
+ Testons la valeur $\useKV[ClesEquation]{Lettre}=\num{\ValeurTest}$ :%
\begin{align*}
- \xintifboolexpr{#2=0}{\num{#3}}{\num{#2}\times\xintifboolexpr{\ValeurTest<0}{(\num{\ValeurTest})}{\num{\ValeurTest}}\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{\num{#3}}}}&&\xintifboolexpr{#4=0}{\num{#5}}{\num{#4}\times\xintifboolexpr{\ValeurTest<0}{(\num{\ValeurTest})}{\num{\ValeurTest}}\xintifboolexpr{#5=0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{\num{#5}}}}\\
- \xintifboolexpr{#2=0}{}{\num{\fpeval{#2*\useKV[ClesEquation]{Nombre}}}\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{\num{#3}}}}&&\xintifboolexpr{#4=0}{}{\num{\fpeval{#4*\useKV[ClesEquation]{Nombre}}}\xintifboolexpr{#5=0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{\num{#5}}}}\\
- \xintifboolexpr{#2=0}{}{\num{\fpeval{#2*\useKV[ClesEquation]{Nombre}+#3}}}&&\xintifboolexpr{#4=0}{}{\num{\fpeval{#4*\useKV[ClesEquation]{Nombre}+#5}}}
+ \xintifboolexpr{#2==0}{\num{#3}}{\num{#2}\times\xintifboolexpr{\ValeurTest<0}{(\num{\ValeurTest})}{\num{\ValeurTest}}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{\num{#3}}}}&&\xintifboolexpr{#4==0}{\num{#5}}{\num{#4}\times\xintifboolexpr{\ValeurTest<0}{(\num{\ValeurTest})}{\num{\ValeurTest}}\xintifboolexpr{#5==0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{\num{#5}}}}\\
+ \xintifboolexpr{#2==0}{}{\num{\fpeval{#2*\useKV[ClesEquation]{Nombre}}}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{\num{#3}}}}&&\xintifboolexpr{#4==0}{}{\num{\fpeval{#4*\useKV[ClesEquation]{Nombre}}}\xintifboolexpr{#5==0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{\num{#5}}}}\\
+ \xintifboolexpr{#2==0}{}{\num{\fpeval{#2*\useKV[ClesEquation]{Nombre}+#3}}}&&\xintifboolexpr{#4==0}{}{\num{\fpeval{#4*\useKV[ClesEquation]{Nombre}+#5}}}
\end{align*}
- \xdef\Testa{\fpeval{#2*\useKV[ClesEquation]{Nombre}+#3}}\xdef\Testb{\fpeval{#4*\useKV[ClesEquation]{Nombre}+#5}}
+ \xdef\Testa{\fpeval{#2*\useKV[ClesEquation]{Nombre}+#3}}\xdef\Testb{\fpeval{#4*\useKV[ClesEquation]{Nombre}+#5}}%
\ifboolKV[ClesEquation]{Egalite}{%
- Comme \xintifboolexpr{\Testa=\Testb}{$\num{\Testa}=\num{\Testb}$}{$\num{\Testa}\not=\num{\Testb}$}, alors l'\'egalit\'e $\xintifboolexpr{#2=0}{\num{#3}}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}=\xintifboolexpr{#4=0}{\num{#5}}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5=0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}}$ \xintifboolexpr{\Testa=\Testb}{ est v\'erifi\'ee }{ n'est pas v\'erifi\'ee } pour $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$.%
- }{\xintifboolexpr{\Testa=\Testb}{Comme $\num{\Testa}=\num{\Testb}$, alors $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$ est bien }{Comme $\num{\Testa}\not=\num{\Testb}$, alors $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$ n'est pas }une solution de l'\'equation $\xintifboolexpr{#2=0}{\num{#3}}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}=\xintifboolexpr{#4=0}{\num{#5}}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5=0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}}$.}
-}
+ Comme \xintifboolexpr{\Testa==\Testb}{$\num{\Testa}=\num{\Testb}$}{$\num{\Testa}\not=\num{\Testb}$}, alors l'\'egalit\'e $\xintifboolexpr{#2==0}{\num{#3}}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}=\xintifboolexpr{#4==0}{\num{#5}}{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5==0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}}$ \xintifboolexpr{\Testa==\Testb}{ est v\'erifi\'ee }{ n'est pas v\'erifi\'ee } pour $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$.%
+ }{\xintifboolexpr{\Testa==\Testb}{Comme $\num{\Testa}=\num{\Testb}$, alors $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$ est bien }{Comme $\num{\Testa}\not=\num{\Testb}$, alors $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$ n'est pas }une solution de l'\'equation $\xintifboolexpr{#2==0}{\num{#3}}{\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}=\xintifboolexpr{#4==0}{\num{#5}}{\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5==0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}}$.}%
+}%
%%%
% Proportionnalit\'e
@@ -8549,7 +8605,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\xdef\NomCouleurTab{\useKV[ClesPourcentage]{CouleurTab}}%
\xdef\NomLargeurTab{\useKV[ClesPourcentage]{Largeur}}%
\begin{center}
- \Propor[GrandeurA=\NomA,GrandeurB=\NomB,CouleurTab=\NomCouleurTab,Largeur=\NomLargeurTab]{/#3,#2/100}
+ \Propor[Math,GrandeurA=\NomA,GrandeurB=\NomB,CouleurTab=\NomCouleurTab,Largeur=\NomLargeurTab]{/\num{#3},\num{#2}/100}
\end{center}
\FlecheCoefInv{\tiny$\times\num{\fpeval{#2/100}}$}%
On obtient une \useKV[ClesPourcentage]{MotReduction} de $\num{\fpeval{#2/100}}\times\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}=\num{\fpeval{#3*#2/100}}$\ifboolKV[ClesPourcentage]{Concret}{~\useKV[ClesPourcentage]{Unite}}{}. Donc un total de $\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}-\num{\fpeval{#3*#2/100}}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}=\num{\fpeval{#3*(1-#2/100)}}$\ifboolKV[ClesPourcentage]{Concret}{~\useKV[ClesPourcentage]{Unite}}{}.%
@@ -8570,7 +8626,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\xdef\NomCouleurTab{\useKV[ClesPourcentage]{CouleurTab}}%
\xdef\NomLargeurTab{\useKV[ClesPourcentage]{Largeur}}%
\begin{center}%
- \Propor[GrandeurA=\NomA,GrandeurB=\NomB,CouleurTab=\NomCouleurTab,Largeur=\NomLargeurTab]{/#3,#2/100}%
+ \Propor[Math,GrandeurA=\NomA,GrandeurB=\NomB,CouleurTab=\NomCouleurTab,Largeur=\NomLargeurTab]{/\num{#3},\num{#2}/100}%
\end{center}%
\FlecheCoefInv{\tiny$\times\num{\fpeval{#2/100}}$}%
On obtient une augmentation de $\num{\fpeval{#2/100}}\times\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}=\num{\fpeval{#3*#2/100}}$\ifboolKV[ClesPourcentage]{Concret}{~\useKV[ClesPourcentage]{Unite}}{}.\\Donc un total de $\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}+\num{\fpeval{#3*#2/100}}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}=\num{\fpeval{#3*(1+#2/100)}}$\ifboolKV[ClesPourcentage]{Concret}{~\useKV[ClesPourcentage]{Unite}}{}.%
@@ -8584,7 +8640,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\xdef\NomB{\useKV[ClesPourcentage]{GrandeurB}}%
\xdef\NomCouleurTab{\useKV[ClesPourcentage]{CouleurTab}}%
\xdef\NomLargeurTab{\useKV[ClesPourcentage]{Largeur}}%
- \Propor[GrandeurA=\NomA,GrandeurB=\NomB,CouleurTab=\NomCouleurTab,Largeur=\NomLargeurTab]{#2/#3,/100}%
+ \Propor[Math,GrandeurA=\NomA,GrandeurB=\NomB,CouleurTab=\NomCouleurTab,Largeur=\NomLargeurTab]{\num{#2}/\num{#3},/100}%
\xdef\colorfill{\useKV[ClesPourcentage]{ColorFill}}%
\FlechesPB{2}{1}{\scriptsize$\times\num{\fpeval{#3/100}}$}%
\FlechesPH{1}{2}{\scriptsize$\div\num{\fpeval{#3/100}}$}%
@@ -8887,8 +8943,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\newtoks\toklisteratio
\def\UpdateRatio#1\nil{\addtotok\toklisteratio{#1,}}
-\def\updateratiotoks#1/#2/#3\nil{\addtotok\tabtoksa{&\num{#2}}\addtotok\tabtoksb{&\num{#3}}\addtotok\tabtoksc{&#1}}
-
+\def\updateratiotoks#1/#2/#3\nil{\addtotok\tabtoksa{&\ifx\bla#2\bla\else\num{#2}\fi}\addtotok\tabtoksb{&\ifx\bla#3\bla\else\num{#3}\fi}\addtotok\tabtoksc{&#1}}
\def\buildtabratio{%
\tabtoksa{}\tabtoksb{}\tabtoksc{}%
@@ -9006,7 +9061,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\newcommand\Redaction[4][]{%
\ifboolKV[ClesDroites]{Remediation}{%
- \xintifboolexpr{\useKV[ClesDroites]{Num}=1}{%
+ \xintifboolexpr{\useKV[ClesDroites]{Num}==1}{%
\ifboolKV[ClesDroites]{CitePropriete}{%
Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles. Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles.%
@@ -9016,7 +9071,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
}{%
Comme les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont toutes les deux parall\`eles \`a la m\^eme droite $(\hbox to2em{\dotfill})$, alors les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles.%
}
- }{\xintifboolexpr{\useKV[ClesDroites]{Num}=2}{%
+ }{\xintifboolexpr{\useKV[ClesDroites]{Num}==2}{%
\ifboolKV[ClesDroites]{CitePropriete}{%
Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont perpendiculaires. Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont perpendiculaires.%
@@ -9039,7 +9094,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
}
}%
}{%
- \xintifboolexpr{\useKV[ClesDroites]{Num}=1}{%
+ \xintifboolexpr{\useKV[ClesDroites]{Num}==1}{%
\ifboolKV[ClesDroites]{CitePropriete}{%
Les droites $(#2)$ et $(#4)$ sont parall\`eles. Les droites $(#3)$ et $(#4)$ sont parall\`eles.%
@@ -9049,7 +9104,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
}{%
Comme les droites $(#2)$ et $(#3)$ sont toutes les deux parall\`eles \`a la m\^eme droite $(#4)$, alors les droites $(#2)$ et $(#3)$ sont parall\`eles.
}
- }{\xintifboolexpr{\useKV[ClesDroites]{Num}=2}{%
+ }{\xintifboolexpr{\useKV[ClesDroites]{Num}==2}{%
\ifboolKV[ClesDroites]{CitePropriete}{%
Les droites $(#2)$ et $(#4)$ sont perpendiculaires. Les droites $(#3)$ et $(#4)$ sont perpendiculaires.%
@@ -9077,7 +9132,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\newcommand\Brouillon[4][]{%
\setlength{\abovedisplayskip}{0pt}
\ifboolKV[ClesDroites]{Remediation}{%
- \xintifboolexpr{\useKV[ClesDroites]{Num}=1}{%
+ \xintifboolexpr{\useKV[ClesDroites]{Num}==1}{%
\[\left.
\begin{array}{l}
(\hbox to2em{\dotfill})//(\hbox to2em{\dotfill})\\
@@ -9086,7 +9141,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\end{array}
\right\}(\hbox to2em{\dotfill})//(\hbox to2em{\dotfill})
\]
- }{\xintifboolexpr{\useKV[ClesDroites]{Num}=2}{%
+ }{\xintifboolexpr{\useKV[ClesDroites]{Num}==2}{%
\[\left.
\begin{array}{l}
(\hbox to2em{\dotfill})\perp(\hbox to2em{\dotfill})\\
@@ -9107,7 +9162,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
}
}
}{
- \xintifboolexpr{\useKV[ClesDroites]{Num}=1}{%
+ \xintifboolexpr{\useKV[ClesDroites]{Num}==1}{%
\[\left.
\begin{array}{l}
(#2)//(#4)\\
@@ -9116,7 +9171,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\end{array}
\right\}(#2)//(#3)
\]
- }{\xintifboolexpr{\useKV[ClesDroites]{Num}=2}{%
+ }{\xintifboolexpr{\useKV[ClesDroites]{Num}==2}{%
\[\left.
\begin{array}{l}
(#2)\perp(#4)\\
@@ -9314,9 +9369,9 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\newcommand\FaireFigure[4][]{%
\setlength{\abovedisplayskip}{0pt}
- \xintifboolexpr{\useKV[ClesDroites]{Num}=1}{%
+ \xintifboolexpr{\useKV[ClesDroites]{Num}==1}{%
\MPFigureDroite{2}{3}%
- }{\xintifboolexpr{\useKV[ClesDroites]{Num}=2}{%
+ }{\xintifboolexpr{\useKV[ClesDroites]{Num}==2}{%
\MPFigureDroite{2}{4}%
}{%
\MPFigureDroite{3}{4}%
@@ -9357,18 +9412,18 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\setKV[ClesAffine]{#1}%
\ifboolKV[ClesAffine]{Image}{%
\ifboolKV[ClesAffine]{Ligne}{%
- \ensuremath{\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}=\num{\fpeval{#2*#3}}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}\xintifboolexpr{#4=0}{}{=\num{\fpeval{#2*#3+#4}}}}%
+ \ensuremath{\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}=\num{\fpeval{#2*#3}}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}\xintifboolexpr{#4==0}{}{=\num{\fpeval{#2*#3+#4}}}}%
}{%
\ifboolKV[ClesAffine]{ProgCalcul}{%
\begin{align*}
- \useKV[ClesAffine]{Nom}&:\useKV[ClesAffine]{Variable}\stackrel{\times\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longrightarrow}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{\stackrel{+\num{#4}}{\longrightarrow}}{\stackrel{\num{#4}}{\longrightarrow}}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{\num{#4}}}}\\
- \useKV[ClesAffine]{Nom}&:\num{#2}\stackrel{\times\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longrightarrow}\num{\fpeval{#3*#2}}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{\stackrel{+\num{#4}}{\longrightarrow}}{\stackrel{\num{#4}}{\longrightarrow}}\num{\fpeval{#3*#2+#4}}}
+ \useKV[ClesAffine]{Nom}&:\useKV[ClesAffine]{Variable}\stackrel{\times\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longrightarrow}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{\stackrel{+\num{#4}}{\longrightarrow}}{\stackrel{\num{#4}}{\longrightarrow}}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{\num{#4}}}}\\
+ \useKV[ClesAffine]{Nom}&:\num{#2}\stackrel{\times\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longrightarrow}\num{\fpeval{#3*#2}}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{\stackrel{+\num{#4}}{\longrightarrow}}{\stackrel{\num{#4}}{\longrightarrow}}\num{\fpeval{#3*#2+#4}}}
\end{align*}
}{%
\begin{align*}
- \useKV[ClesAffine]{Nom}(\num{#2})&=\num{#3}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}\\
- \useKV[ClesAffine]{Nom}(\num{#2})&=\num{\fpeval{#3*#2}}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}%\\
- \xintifboolexpr{#4=0}{}{\\
+ \useKV[ClesAffine]{Nom}(\num{#2})&=\num{#3}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}\\
+ \useKV[ClesAffine]{Nom}(\num{#2})&=\num{\fpeval{#3*#2}}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}%\\
+ \xintifboolexpr{#4==0}{}{\\
\useKV[ClesAffine]{Nom}(\num{#2})&=\num{\fpeval{#3*#2+#4}}%\\
}
\end{align*}
@@ -9378,11 +9433,11 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\ifboolKV[ClesAffine]{ProgCalcul}{%
La fonction affine $\useKV[ClesAffine]{Nom}$ est d\'efinie par :
\begin{align*}
- \useKV[ClesAffine]{Nom}&:\useKV[ClesAffine]{Variable}\stackrel{\times\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longrightarrow}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{\stackrel{+\num{#4}}{\longrightarrow}}{\stackrel{\num{#4}}{\longrightarrow}}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{\num{#4}}}}
+ \useKV[ClesAffine]{Nom}&:\useKV[ClesAffine]{Variable}\stackrel{\times\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longrightarrow}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{\stackrel{+\num{#4}}{\longrightarrow}}{\stackrel{\num{#4}}{\longrightarrow}}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{\num{#4}}}}
\end{align*}
Nous cherchons le nombre $\useKV[ClesAffine]{Variable}$ tel que son image par la fonction $\useKV[ClesAffine]{Nom}$ soit $\num{#2}$. Donc on obtient :
\begin{align*}
- \useKV[ClesAffine]{Nom}&:\frac{\num{\fpeval{#2-#4}}}{\num{#3}}\stackrel{\div\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longleftarrow}\num{\fpeval{#2-#4}}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{\stackrel{-\num{#4}}{\longleftarrow}}{\stackrel{+\num{\fpeval{0-#4}}}{\longleftarrow}}\num{#2}}
+ \useKV[ClesAffine]{Nom}&:\frac{\num{\fpeval{#2-#4}}}{\num{#3}}\stackrel{\div\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longleftarrow}\num{\fpeval{#2-#4}}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{\stackrel{-\num{#4}}{\longleftarrow}}{\stackrel{+\num{\fpeval{0-#4}}}{\longleftarrow}}\num{#2}}
\end{align*}
}{%
On cherche l'ant\'ec\'edent de $\num{#2}$ par la fonction
@@ -9390,12 +9445,12 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
$\useKV[ClesAffine]{Variable}$ tel que
$\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\num{#2}$. Or,
la fonction $\useKV[ClesAffine]{Nom}$ est d\'efinie par : \[%
- \useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\xintifboolexpr{#3=0}{}{\num{#3}\useKV[ClesAffine]{Variable}}\xintifboolexpr{#3=0}{\num{#4}}{\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}}
+ \useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\xintifboolexpr{#3==0}{}{\num{#3}\useKV[ClesAffine]{Variable}}\xintifboolexpr{#3==0}{\num{#4}}{\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}}
\]
Par cons\'equent, on a :
\begin{align*}
- \num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}&=\num{#2}\\
- \xintifboolexpr{#4=0}{\useKV[ClesAffine]{Variable}\uppercase{&}=\frac{\num{#2}}{\num{#3}}%\\
+ \num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4==0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}&=\num{#2}\\
+ \xintifboolexpr{#4==0}{\useKV[ClesAffine]{Variable}\uppercase{&}=\frac{\num{#2}}{\num{#3}}%\\
}{\num{#3}\useKV[ClesAffine]{Variable}&=\num{\fpeval{#2-#4}}\\
\useKV[ClesAffine]{Variable}&=\frac{\num{\fpeval{#2-#4}}}{\num{#3}}%\\
}
@@ -9420,7 +9475,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\end{align*}
\xdef\OrdOrigine{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}
La fonction affine $\useKV[ClesAffine]{Nom}$ cherch\'ee est :
- \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine=0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\]
+ \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine==0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\]
}{%
%
}%
@@ -9433,17 +9488,17 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\MPFonctionAffine{\useKV[ClesAffine]{Unitex}}{\useKV[ClesAffine]{Unitey}}{#2}{#3}{#4}{#5}{""}}{}%
}{}%
\ifboolKV[ClesAffine]{Redaction}{%
- \xintifboolexpr{#2=0}{Comme la fonction $\useKV[ClesAffine]{Nom}$
+ \xintifboolexpr{#2==0}{Comme la fonction $\useKV[ClesAffine]{Nom}$
est une fonction constante, alors sa repr\'esentation graphique est une droite parall\`ele \`a l'axe des abscisses passant par le point de coordonn\'ees $(0;\num{#3})$.}%
- {\xintifboolexpr{#3=0}{Comme la fonction $\useKV[ClesAffine]{Nom}$ est une fonction lin\'eaire, alors sa repr\'esentation graphique est une droite passant par l'origine du rep\`ere.\\Je choisis $\useKV[ClesAffine]{Variable}=\num{#4}$. Son image est \xdef\NomFonctionA{\useKV[ClesAffine]{Nom}}\FonctionAffine[Nom=\NomFonctionA,Image,Ligne]{#4}{#2}{#3}{#5}. On place le point de coordonn\'ees $(\num{#4};\num{\fpeval{#2*#4+#3}})$.
+ {\xintifboolexpr{#3==0}{Comme la fonction $\useKV[ClesAffine]{Nom}$ est une fonction lin\'eaire, alors sa repr\'esentation graphique est une droite passant par l'origine du rep\`ere.\\Je choisis $\useKV[ClesAffine]{Variable}=\num{#4}$. Son image est \xdef\NomFonctionA{\useKV[ClesAffine]{Nom}}\FonctionAffine[Nom=\NomFonctionA,Image,Ligne]{#4}{#2}{#3}{#5}. On place le point de coordonn\'ees $(\num{#4};\num{\fpeval{#2*#4+#3}})$.
}{%
Comme $\useKV[ClesAffine]{Nom}$ est une fonction affine, alors sa repr\'esentation graphique est une droite.\\Je choisis $\useKV[ClesAffine]{Variable}=\num{#4}$. Son image est \xdef\NomVariable{\useKV[ClesAffine]{Variable}}\xdef\NomFonction{\useKV[ClesAffine]{Nom}}\FonctionAffine[Nom=\NomFonction,Image,Ligne]{#4}{#2}{#3}{#5}. On place le point de coordonn\'ees $(\num{#4};\num{\fpeval{#2*#4+#3}})$.\\Je choisis \setKV[ClesAffine]{Variable=\NomVariable}$\useKV[ClesAffine]{Variable}=\num{#5}$. Son image est \FonctionAffine[Nom=\NomFonction,Image,Ligne]{#5}{#2}{#3}{#4}. On place le point de coordonn\'ees $(\num{#5};\num{\fpeval{#2*#5+#3}})$.%
}%
}%
}%
{}%
- \ifboolKV[ClesAffine]{Ecriture}{\ensuremath{\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\xintifboolexpr{#2=0}{}{\num{#2}\useKV[ClesAffine]{Variable}}\xintifboolexpr{#2=0}{\num{#3}}{\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}}}{}%
- \ifboolKV[ClesAffine]{Definition}{\ensuremath{\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\xintifboolexpr{#2=0}{}{\num{#2}\useKV[ClesAffine]{Variable}}\xintifboolexpr{#2=0}{\num{#3}}{\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}}}{}%
+ \ifboolKV[ClesAffine]{Ecriture}{\ensuremath{\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\xintifboolexpr{#2==0}{}{\num{#2}\useKV[ClesAffine]{Variable}}\xintifboolexpr{#2==0}{\num{#3}}{\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}}}{}%
+ \ifboolKV[ClesAffine]{Definition}{\ensuremath{\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\xintifboolexpr{#2==0}{}{\num{#2}\useKV[ClesAffine]{Variable}}\xintifboolexpr{#2==0}{\num{#3}}{\xintifboolexpr{#3==0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}}}{}%
}%
\def\MPFonctionAffine#1#2#3#4#5#6#7{%
@@ -9708,7 +9763,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
%%%
% Fonction
%%%
-\setKVdefault[ClesFonction]{Nom=f,Variable=x,Calcul=x,Tableau=false,Largeur=5mm,Ecriture=false,Definition=false,Points=false,Tangentes=false,PasX=1,PasY=1,UniteX=1,UniteY=1,Prolonge=false}
+\setKVdefault[ClesFonction]{Nom=f,Variable=x,Calcul=x,Tableau=false,Largeur=5mm,Ecriture=false,Definition=false,Points=false,Tangentes=false,PasX=1,PasY=1,UniteX=1,UniteY=1,Prolonge=false,Trace=false}
\newtoks\toklistePtsFn%pour la discipline
@@ -10037,48 +10092,54 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\fi
}
-\newcommand{\Fonction}[2][]{%
+\newcommand\Fonction[2][]{%
\useKVdefault[ClesFonction]
\setKV[ClesFonction]{#1}
- \ifboolKV[ClesFonction]{Points}{%
- \toklistePtsFn{}%
- % \setsepchar[*]{,*/}%\ignoreemptyitems%
- \setsepchar[*]{§*/}%\ignoreemptyitems%
- \readlist*\ListePoints{#2}%
- \ifboolKV[ClesFonction]{Tangentes}{%
- \foreachitem\compteur\in\ListePoints{%
- \expandafter\UpdatePtsFn\compteur\nil%
- }%
- \ifboolKV[ClesFonction]{Prolonge}{%
- \MPCourbe{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{1}%
+ \ifboolKV[ClesFonction]{Trace}{%
+ \useKVdefault[TraceG]%
+ \setKV[TraceG]{#1}%
+ \MPTraceFonction[#1]{\useKV[ClesFonction]{Calcul}}%
+ }{%
+ \ifboolKV[ClesFonction]{Points}{%
+ \toklistePtsFn{}%
+ % \setsepchar[*]{,*/}%\ignoreemptyitems%
+ \setsepchar[*]{§*/}%\ignoreemptyitems%
+ \readlist*\ListePoints{#2}%
+ \ifboolKV[ClesFonction]{Tangentes}{%
+ \foreachitem\compteur\in\ListePoints{%
+ \expandafter\UpdatePtsFn\compteur\nil%
+ }%
+ \ifboolKV[ClesFonction]{Prolonge}{%
+ \MPCourbe{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{1}%
+ }{%
+ \MPCourbe{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{0}%
+ }%
}{%
- \MPCourbe{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{0}%
+ \foreachitem\compteur\in\ListePoints{%
+ \expandafter\UpdatePtsFN\compteur\nil%
+ }%
+ \ifboolKV[ClesFonction]{Prolonge}{%
+ \MPCourbePoints{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{1}%
+ }{%
+ \MPCourbePoints{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{0}%
+ }%
}%
}{%
- \foreachitem\compteur\in\ListePoints{%
- \expandafter\UpdatePtsFN\compteur\nil%
- }%
- \ifboolKV[ClesFonction]{Prolonge}{%
- \MPCourbePoints{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{1}%
- }{%
- \MPCourbePoints{\the\toklistePtsFn}{\useKV[ClesFonction]{PasX}}{\useKV[ClesFonction]{PasY}}{\useKV[ClesFonction]{UniteX}}{\useKV[ClesFonction]{UniteY}}{0}%
- }%
+ \ignoreemptyitems%
+ \readlist*\ListeFonction{#2}
+ \StrSubstitute{\useKV[ClesFonction]{Calcul}}{\useKV[ClesFonction]{Variable}}{\i}[\temp]%
+ \StrSubstitute{\useKV[ClesFonction]{Calcul}}{**}{^}[\tempa]%
+ \StrSubstitute{\tempa}{*}{}[\tempab]%
+ \ifboolKV[ClesFonction]{Ecriture}{%
+ \ensuremath{\useKV[ClesFonction]{Nom}(\useKV[ClesFonction]{Variable})=\tempab}
+ }{}%
+ \ifboolKV[ClesFonction]{Definition}{%
+ \ensuremath{\useKV[ClesFonction]{Nom}:\useKV[ClesFonction]{Variable}\mapsto\tempab}
+ }{}%
+ \ifboolKV[ClesFonction]{Tableau}{%
+ \buildtabfonction%
+ }{}%
}%
- }{%
- \ignoreemptyitems%
- \readlist*\ListeFonction{#2}
- \StrSubstitute{\useKV[ClesFonction]{Calcul}}{\useKV[ClesFonction]{Variable}}{\i}[\temp]%
- \StrSubstitute{\useKV[ClesFonction]{Calcul}}{**}{^}[\tempa]%
- \StrSubstitute{\tempa}{*}{}[\tempab]%
- \ifboolKV[ClesFonction]{Ecriture}{%
- \ensuremath{\useKV[ClesFonction]{Nom}(\useKV[ClesFonction]{Variable})=\tempab}
- }{}%
- \ifboolKV[ClesFonction]{Definition}{%
- \ensuremath{\useKV[ClesFonction]{Nom}:\useKV[ClesFonction]{Variable}\mapsto\tempab}
- }{}%
- \ifboolKV[ClesFonction]{Tableau}{%
- \buildtabfonction%
- }{}%
}%
}%
@@ -10095,6 +10156,415 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
}
%%%
+% Diff\'erentes représentations graphiques
+%%%
+\setKVdefault[TraceG]{Grille=false,Graduations=false,PasGrilleX=1,PasGrilleY=1,Xmin=-5.5,Xmax=5.5,Xstep=1,Ymin=-5.5,Ymax=5.5,Ystep=1,Bornea=-5.5,Borneb=5.5,LabelX={},LabelY={},LabelC=0.5,NomCourbe={},Origine={(5.5,5.5)},Fonction=false,Points=false,Invisible=false,CouleurPoint=red,CouleurTrace=black,Relie=false,RelieSegment=false}
+
+\newcommand\TraceGraphique[2][]{%
+ \useKVdefault[TraceG]%
+ \setKV[TraceG]{#1}%
+ \ifboolKV[TraceG]{Fonction}{%
+ \MPTraceFonction[#1]{#2}%
+ }{%
+ \setKV[TraceG]{Xmin=0,Ymin=0}
+ \setKV[TraceG]{#1}%
+ \readlist*\ListePointsPlaces{#2}%
+ \newtoks\toklistepoint%
+ \foreachitem\compteur\in\ListePointsPlaces{\expandafter\Updatetoks\compteur\nil}%
+ \MPPlacePoint[#1]{\the\toklistepoint}
+ }%
+}%
+
+\newcommand\MPPlacePoint[2][]{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ xmin=\useKV[TraceG]{Xmin};
+ xmax=\useKV[TraceG]{Xmax};
+ ymin=\useKV[TraceG]{Ymin};
+ ymax=\useKV[TraceG]{Ymax};
+ pasx=\useKV[TraceG]{Xstep};
+ pasy=\useKV[TraceG]{Ystep};
+ x.u=1cm/\useKV[TraceG]{Xstep};
+ y.u=1cm/\useKV[TraceG]{Ystep};
+ grillex=\useKV[TraceG]{PasGrilleX};
+ grilley=\useKV[TraceG]{PasGrilleY};
+ pos=\useKV[TraceG]{LabelC};
+
+ color colorpoint,colortrace;
+ colorpoint=\useKV[TraceG]{CouleurPoint};
+ colortrace=\useKV[TraceG]{CouleurTrace};
+ boolean Grille;
+ Grille=\useKV[TraceG]{Grille};
+
+ boolean Graduations;
+ Graduations=\useKV[TraceG]{Graduations};
+
+ boolean Relie;
+ Relie=\useKV[TraceG]{Relie};
+
+ boolean RelieSegment;
+ RelieSegment=\useKV[TraceG]{RelieSegment};
+
+ boolean Invisible;
+ Invisible=\useKV[TraceG]{Invisible};
+
+ pair Origine;
+ Origine=(0,0);
+
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=0 step grillex until (xmax-xmin):
+ trace (k*x.u,ypart(Origine))--(x.u*k,y.u*(ymax-ymin));
+ endfor;
+ for k=0 step grilley until (ymax-ymin):
+ trace (xpart(Origine),k*y.u)--(x.u*(xmax-xmin),y.u*k);
+ endfor;
+ drawoptions();
+ fi;
+
+ if Graduations:
+ for k=0 step grillex until (xmax-xmin):
+ trace ((0,-0.5mm)--(0,0.5mm)) shifted ((k*x.u,0) shifted Origine) withpen pencircle scaled1.25;
+ label.bot(TEX("\num{"&decimal(xmin+k)&"}"),(k*x.u,0) shifted Origine);
+ endfor;
+ label.ulft(TEX("\num{"&decimal(ymin)&"}"),(0,0) shifted Origine);
+ for k=grilley step grilley until (ymax-ymin):
+ trace ((-0.5mm,0)--(0.5mm,0)) shifted ((0,k*y.u) shifted Origine) withpen pencircle scaled1.25;
+ label.lft(TEX("\num{"&decimal(ymin+k)&"}"),(0,k*y.u) shifted Origine);
+ endfor;
+ fi;
+ drawoptions(withpen pencircle scaled1.5);
+ drawarrow Origine--(xpart(Origine),y.u*(ymax-ymin));
+ drawarrow Origine--((xmax-xmin)*x.u,ypart(Origine));
+ drawoptions();
+
+ % On relie éventuellement les points
+ if Relie:
+ pair N[];
+ nbpoint=0;
+ for p_=#2:
+ nbpoint:=nbpoint+1;
+ N[nbpoint]=(x.u*(xpart(p_)-xmin),y.u*(ypart(p_)-ymin));
+ endfor;
+ draw N[1] for k=2 upto nbpoint:
+ ..N[k]
+ endfor withcolor colortrace;
+ fi;
+ if RelieSegment:
+ pair N[];
+ nbpoint=0;
+ for p_=#2:
+ nbpoint:=nbpoint+1;
+ N[nbpoint]=(x.u*(xpart(p_)-xmin),y.u*(ypart(p_)-ymin));
+ endfor;
+ draw N[1] for k=2 upto nbpoint:
+ --N[k]
+ endfor withcolor colortrace;
+ fi;
+
+ % On place les points
+ if Invisible=false:
+ drawoptions(withcolor colorpoint);
+ for p_=#2:
+ dotlabel("",(x.u*(xpart(p_)-xmin),y.u*(ypart(p_)-ymin)));
+ endfor;
+ drawoptions();
+ fi;
+ %on labelise les axes
+ label.urt(btex \useKV[TraceG]{LabelX} etex,(x.u*(xmax-xmin),ypart(Origine)));
+ label.urt(btex \useKV[TraceG]{LabelY} etex,(xpart(Origine),y.u*(ymax-ymin)));
+ \end{mplibcode}
+ \else
+ \mpxcommands{%
+ \setKV[TraceG]{#1}
+ }
+ \begin{mpost}[mpsettings={xmin=\useKV[TraceG]{Xmin};xmax=\useKV[TraceG]{Xmax};ymin=\useKV[TraceG]{Ymin};ymax=\useKV[TraceG]{Ymax};pasx=\useKV[TraceG]{Xstep};pasy=\useKV[TraceG]{Ystep};xu=1cm/\useKV[TraceG]{Xstep};yu=1cm/\useKV[TraceG]{Ystep};grillex=\useKV[TraceG]{PasGrilleX};grilley=\useKV[TraceG]{PasGrilleY};pos=\useKV[TraceG]{LabelC};color colorpoint,colortrace;colorpoint=\useKV[TraceG]{CouleurPoint};colortrace=\useKV[TraceG]{CouleurTrace};boolean Grille;Grille=\useKV[TraceG]{Grille};boolean Graduations;Graduations=\useKV[TraceG]{Graduations};boolean Relie;Relie=\useKV[TraceG]{Relie};boolean RelieSegment;RelieSegment=\useKV[TraceG]{RelieSegment};boolean Invisible;Invisible=\useKV[TraceG]{Invisible};}]
+ pair Origine;
+ Origine=(0,0);
+
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=0 step grillex until (xmax-xmin):
+ trace (k*xu,ypart(Origine))--(xu*k,yu*(ymax-ymin));
+ endfor;
+ for k=0 step grilley until (ymax-ymin):
+ trace (xpart(Origine),k*yu)--(xu*(xmax-xmin),yu*k);
+ endfor;
+ drawoptions();
+ fi;
+
+ if Graduations:
+ for k=0 step grillex until (xmax-xmin):
+ trace ((0,-0.5mm)--(0,0.5mm)) shifted ((k*xu,0) shifted Origine) withpen pencircle scaled1.25;
+ label.bot(LATEX("\num{"&decimal(xmin+k)&"}"),(k*xu,0) shifted Origine);
+ endfor;
+ label.ulft(LATEX("\num{"&decimal(ymin)&"}"),(0,0) shifted Origine);
+ for k=grilley step grilley until (ymax-ymin):
+ trace ((-0.5mm,0)--(0.5mm,0)) shifted ((0,k*yu) shifted Origine) withpen pencircle scaled1.25;
+ label.lft(LATEX("\num{"&decimal(ymin+k)&"}"),(0,k*yu) shifted Origine);
+ endfor;
+ fi;
+ drawoptions(withpen pencircle scaled1.5);
+ drawarrow Origine--(xpart(Origine),yu*(ymax-ymin));
+ drawarrow Origine--((xmax-xmin)*xu,ypart(Origine));
+ drawoptions();
+
+ % On relie éventuellement les points
+ if Relie:
+ pair N[];
+ nbpoint=0;
+ for p_=#2:
+ nbpoint:=nbpoint+1;
+ N[nbpoint]=(xu*(xpart(p_)-xmin),yu*(ypart(p_)-ymin));
+ endfor;
+ draw N[1] for k=2 upto nbpoint:
+ ..N[k]
+ endfor withcolor colortrace;
+ fi;
+ if RelieSegment:
+ pair N[];
+ nbpoint=0;
+ for p_=#2:
+ nbpoint:=nbpoint+1;
+ N[nbpoint]=(xu*(xpart(p_)-xmin),yu*(ypart(p_)-ymin));
+ endfor;
+ draw N[1] for k=2 upto nbpoint:
+ --N[k]
+ endfor withcolor colortrace;
+ fi;
+
+ % On place les points
+ if Invisible=false:
+ drawoptions(withcolor colorpoint);
+ for p_=#2:
+ dotlabel("",(xu*(xpart(p_)-xmin),yu*(ypart(p_)-ymin)));
+ endfor;
+ drawoptions();
+ fi;
+ %on labelise les axes
+ label.urt(btex \unexpanded{\useKV[TraceG]{LabelX}} etex,(xu*(xmax-xmin),ypart(Origine)));
+ label.urt(btex \unexpanded{\useKV[TraceG]{LabelY}} etex,(xpart(Origine),yu*(ymax-ymin)));
+ \end{mpost}
+ \fi
+}
+
+\newcommand\MPTraceFonction[2][]{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ borneinf=\useKV[TraceG]{Bornea};
+ bornesup=\useKV[TraceG]{Borneb};
+ xmin=\useKV[TraceG]{Xmin};
+ xmax=\useKV[TraceG]{Xmax};
+ ymin=\useKV[TraceG]{Ymin};
+ ymax=\useKV[TraceG]{Ymax};
+ pasx=\useKV[TraceG]{Xstep};
+ pasy=\useKV[TraceG]{Ystep};
+ x.u=1cm/\useKV[TraceG]{Xstep};
+ y.u=1cm/\useKV[TraceG]{Ystep};
+ grillex=\useKV[TraceG]{PasGrilleX};
+ grilley=\useKV[TraceG]{PasGrilleY};
+ pos=\useKV[TraceG]{LabelC};
+
+ color colortrace;
+ colortrace=\useKV[TraceG]{CouleurTrace};
+
+ pair Origine;
+ Origine=(xmin,ymin)+\useKV[TraceG]{Origine};
+
+ boolean Grille;
+ Grille=\useKV[TraceG]{Grille};
+
+ boolean Graduations;
+ Graduations=\useKV[TraceG]{Graduations};
+
+ vardef sin(expr t) = sind(c*t) enddef;
+
+ vardef cos(expr t) = cosd(c*t) enddef;
+
+ vardef tan(expr t) = sin(t)/cos(t) enddef;
+
+ vardef exp(expr t) = e**t enddef;
+
+ vardef ch(expr x)=(exp(x)+exp(-x))/2 enddef;
+
+ vardef sh(expr x)=(exp(x)-exp(-x))/2 enddef;
+
+ vardef ln(expr t) = mlog(t)/256 enddef;
+
+ vardef arcsin(expr x)=%Définition mathématique en radian
+ pi*angle((sqrt(1-x**2),x))/180
+ enddef;
+
+ vardef arccos(expr x)=%Définition mathématique en radian
+ pi*angle((x,sqrt(1-x**2)))/180
+ enddef;
+
+ path Cb[];
+
+ vardef courbe[](expr a,b,nb)(text texte)=
+ path Courbe;
+ for i:=0 upto nb :
+ x@[i]:=(a+i*(b-a)/nb);
+ x:=x@[i];
+ y@[i]:=texte;
+ endfor ;
+ Cb@:=(x@.0*x.u,y@.0*y.u)
+ for i:=1 upto nb :
+ ..(x@[i]*x.u,y@[i]*y.u)
+ endfor;
+ Cb@:=Cb@ shifted (Origine*cm);
+ Courbe=Cb@;
+ Courbe
+ enddef;
+
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=xpart(Origine) step grillex until xmax:
+ trace u*(k,ymin)--u*(k,ymax);
+ endfor;
+ for k=xpart(Origine) step -grillex until xmin:
+ trace u*(k,ymin)--u*(k,ymax);
+ endfor;
+ for k=ypart(Origine) step grilley until ymax:
+ trace u*(xmin,k)--u*(xmax,k);
+ endfor;
+ for k=ypart(Origine) step -grilley until ymin:
+ trace u*(xmin,k)--u*(xmax,k);
+ endfor;
+ drawoptions();
+ fi;
+ if Graduations:
+ for k=1 upto xmax/grillex:
+ dotlabel.bot(TEX("\num{"&decimal(k)&"}"),(k*x.u+xpart(Origine*cm),ypart(Origine*cm)));
+ endfor;
+ for k=-1 downto xmin/grillex:
+ dotlabel.bot(TEX("\num{"&decimal(k)&"}"),(k*x.u+xpart(Origine*cm),ypart(Origine*cm)));
+ endfor;
+ for k=1 upto ymax/grilley:
+ dotlabel.lft(TEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*y.u+ypart(Origine*cm)));
+ endfor;
+ for k=-1 downto ymin/grilley:
+ dotlabel.lft(TEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*y.u+ypart(Origine*cm)));
+ endfor;
+ fi;
+ drawoptions(withpen pencircle scaled1.5);
+ drawarrow (u*(0,ymin)--u*(0,ymax)) shifted (u*(xpart(Origine),0));
+ drawarrow (u*(xmin,0)--u*(xmax,0)) shifted (u*(0,ypart(Origine)));
+ drawoptions();
+ draw courbe1(borneinf,bornesup,100)(#2) withcolor colortrace;
+ % labelisation
+ numeric t;
+ t=pos*length Cb1;
+ pair PT,Tangente;
+ PT:=point (pos*length Cb1) of Cb1;
+ Tangente:=unitvector(direction t of Cb1);
+ label(btex \useKV[TraceG]{NomCourbe} etex rotated angle(Tangente),PT+2mm*(Tangente rotated 90));
+ % fin labelisation
+ clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
+ label.rt(btex \useKV[TraceG]{LabelX} etex,u*(xmax,ypart(Origine)));
+ label.top(btex \useKV[TraceG]{LabelY} etex,u*(xpart(Origine),ymax));
+ \end{mplibcode}
+ \else
+ \mpxcommands{%
+ \setKV[TraceG]{#1}
+ }
+ \begin{mpost}[mpsettings={borneinf=\useKV[TraceG]{Bornea};bornesup=\useKV[TraceG]{Borneb};xmin=\useKV[TraceG]{Xmin};xmax=\useKV[TraceG]{Xmax};ymin=\useKV[TraceG]{Ymin};ymax=\useKV[TraceG]{Ymax};pasx=\useKV[TraceG]{Xstep};pasy=\useKV[TraceG]{Ystep};xu=1cm/\useKV[TraceG]{Xstep};yu=1cm/\useKV[TraceG]{Ystep};grillex=\useKV[TraceG]{PasGrilleX};grilley=\useKV[TraceG]{PasGrilleY};pos=\useKV[TraceG]{LabelC};color colortrace;colortrace=\useKV[TraceG]{CouleurTrace};boolean Grille;Grille=\useKV[TraceG]{Grille};boolean Graduations;Graduations=\useKV[TraceG]{Graduations};}]
+ pair Origine;
+ Origine=(xmin,ymin)+\useKV[TraceG]{Origine};
+
+ vardef sin(expr t) = sind(c*t) enddef;
+
+ vardef cos(expr t) = cosd(c*t) enddef;
+
+ vardef tan(expr t) = sin(t)/cos(t) enddef;
+
+ vardef exp(expr t) = e**t enddef;
+
+ vardef ch(expr x)=(exp(x)+exp(-x))/2 enddef;
+
+ vardef sh(expr x)=(exp(x)-exp(-x))/2 enddef;
+
+ vardef ln(expr t) = mlog(t)/256 enddef;
+
+ vardef arcsin(expr x)=%Définition mathématique en radian
+ pi*angle((sqrt(1-x**2),x))/180
+ enddef;
+
+ vardef arccos(expr x)=%Définition mathématique en radian
+ pi*angle((x,sqrt(1-x**2)))/180
+ enddef;
+
+ path Cb[];
+
+ vardef courbe[](expr a,b,nb)(text texte)=
+ path Courbe;
+ for i:=0 upto nb :
+ x@[i]:=(a+i*(b-a)/nb);
+ x:=x@[i];
+ y@[i]:=texte;
+ endfor ;
+ Cb@:=(x@.0*xu,y@.0*yu)
+ for i:=1 upto nb :
+ ..(x@[i]*xu,y@[i]*yu)
+ endfor;
+ Cb@:=Cb@ shifted (Origine*cm);
+ Courbe=Cb@;
+ Courbe
+ enddef;
+
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=xpart(Origine) step grillex until xmax:
+ trace u*(k,ymin)--u*(k,ymax);
+ endfor;
+ for k=xpart(Origine) step -grillex until xmin:
+ trace u*(k,ymin)--u*(k,ymax);
+ endfor;
+ for k=ypart(Origine) step grilley until ymax:
+ trace u*(xmin,k)--u*(xmax,k);
+ endfor;
+ for k=ypart(Origine) step -grilley until ymin:
+ trace u*(xmin,k)--u*(xmax,k);
+ endfor;
+ drawoptions();
+ fi;
+ if Graduations:
+ for k=1 upto xmax/grillex:
+ dotlabel.bot(LATEX("\num{"&decimal(k)&"}"),(k*xu+xpart(Origine*cm),ypart(Origine*cm)));
+ endfor;
+ for k=-1 downto xmin/grillex:
+ dotlabel.bot(LATEX("\num{"&decimal(k)&"}"),(k*xu+xpart(Origine*cm),ypart(Origine*cm)));
+ endfor;
+ for k=1 upto ymax/grilley:
+ dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*yu+ypart(Origine*cm)));
+ endfor;
+ for k=-1 downto ymin/grilley:
+ dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*yu+ypart(Origine*cm)));
+ endfor;
+ fi;
+ drawoptions(withpen pencircle scaled1.5);
+ drawarrow (u*(0,ymin)--u*(0,ymax)) shifted (u*(xpart(Origine),0));
+ drawarrow (u*(xmin,0)--u*(xmax,0)) shifted (u*(0,ypart(Origine)));
+ drawoptions();
+ draw courbe1(borneinf,bornesup,100)(#2) withcolor colortrace;
+% % labelisation
+ numeric t;
+ t=pos*length Cb1;
+ pair PT,Tangente;
+ PT:=point (pos*length Cb1) of Cb1;
+ Tangente:=unitvector(direction t of Cb1);
+ label(btex \noexpand\useKV[TraceG]{NomCourbe} etex rotated angle(Tangente),PT+2mm*(Tangente rotated 90));
+% % fin labelisation
+ clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
+ label.rt(btex \useKV[TraceG]{LabelX} etex,u*(xmax,ypart(Origine)));
+ label.top(btex \useKV[TraceG]{LabelY} etex,u*(xpart(Origine),ymax));
+ \end{mpost}
+ \fi
+}
+
+%%%
% Formules
%%%
\setKVdefault[ClesFormule]{Perimetre=false,Aire=false,Volume=false,Surface=carr\'e,Solide=pav\'e,Angle=0,Ancre={(0,0)},Largeur=5cm,Couleur=white}
@@ -12906,7 +13376,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
%%%
\newcommand\Puissances[2]{%
\ensuremath{%
- \xintifboolexpr{#2=0}{1}{\xintifboolexpr{#2>0}{\xdef\total{\fpeval{#2-1}}#1\multido{\i=1+1}{\total}{\times#1}}{\xdef\total{\fpeval{-#2-1}}\frac{1}{#1\multido{\i=1+1}{\total}{\times#1}}}}%
+ \xintifboolexpr{#2==0}{1}{\xintifboolexpr{#2>0}{\xdef\total{\fpeval{#2-1}}#1\multido{\i=1+1}{\total}{\times#1}}{\xdef\total{\fpeval{-#2-1}}\frac{1}{#1\multido{\i=1+1}{\total}{\times#1}}}}%
}%
}
@@ -13870,7 +14340,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
};
\node[yshift=-0.65cm] (T2b) at (T2){};
\ifboolKV[Cards]{Titre}{\node[] at (T2b) {\tiny\useKV[Cards]{NomTitre}};}{},
- \node[rectangle,xshift=5mm,yshift=4.25mm,minimum width=2em,rounded corners,fill=TrameCouleur,draw=black] (R) at (frame.south west) {\color{black}\Large\bfseries #3};
+ \node[rectangle,xshift=5pt,yshift=4.25mm,minimum width=2em,rounded corners,fill=TrameCouleur,draw=black,anchor=west] (R) at (frame.south west) {\color{black}\Large\bfseries #3};
\draw[dashed] (S1) -- (S2);
},
colback=white,
@@ -14124,7 +14594,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl
\long\def\ifremain@lines#1\\#2\@nil{%
\csname @\ifx\@empty#2\@empty second\else first\fi oftwo\endcsname}
\long\def\subst@eol#1\\#2\@nil{\addtot@b{#1\\}%
- \ifremain@lines#2\\\@nil{\addtot@b&\subst@eol#2\@nil}{\addtot@b{#2\CodeAfter\xintifboolexpr{\useKV[Tableur]{Ligne}=0 || \useKV[Tableur]{Colonne}=0}{}{\tikz\draw[line width=2pt](row-\fpeval{\useKV[Tableur]{Ligne}+1}-|col-\fpeval{\useKV[Tableur]{Colonne}+1}) rectangle (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}});}\end{NiceTabular}}}}
+ \ifremain@lines#2\\\@nil{\addtot@b&\subst@eol#2\@nil}{\addtot@b{#2\CodeAfter\xintifboolexpr{\useKV[Tableur]{Ligne}==0 || \useKV[Tableur]{Colonne}==0}{}{\tikz\draw[line width=2pt](row-\fpeval{\useKV[Tableur]{Ligne}+1}-|col-\fpeval{\useKV[Tableur]{Colonne}+1}) rectangle (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}});}\end{NiceTabular}}}}
\long\def\collectcp@body#1\end{\subst@eol#1\@nil\end}
\newcommand\addtot@b[1]{\t@b\expandafter{\the\t@b#1}}
diff --git a/macros/latex/contrib/suftesi/suftesi.dtx b/macros/latex/contrib/suftesi/suftesi.dtx
index 9a8820cb6e..2ded276ca5 100644
--- a/macros/latex/contrib/suftesi/suftesi.dtx
+++ b/macros/latex/contrib/suftesi/suftesi.dtx
@@ -56,7 +56,7 @@ This work has the LPPL maintenance status "author-maintained".
%<class>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<class>\ProvidesClass{suftesi}
%<*class>
- [2021/05/23 v3.1.1 A class for typesetting theses, books and articles]
+ [2021/06/05 v3.1.2 A class for typesetting theses, books and articles]
%</class>
%<*driver>
\documentclass[12pt]{ltxdoc}
@@ -338,7 +338,7 @@ cochineal,mathpazo,bera,amsthm}
%</driver>
% \fi
%
-% \CheckSum{5685}
+% \CheckSum{5683}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -356,7 +356,8 @@ cochineal,mathpazo,bera,amsthm}
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \changes{v3.1.1}{2021/05/23}{Redefined some boolean options. Renamed some private commands. Corrected a bug in headers numbering (\cmd{protect} removed). Disabled automatic partial ToC functionality. Improved \opt{fewfootnotes} option via \sty{zref}. Updated documentation.}
+% \changes{v3.1.2}{2021/06/05}{Corrected a bug with \opt{reverseauthortitle} option.}
+% \changes{v3.1.1}{2021/05/23}{Redefined some boolean options. Renamed some private commands. Corrected a bug in headers numbering (\cmd{protect} removed). Disabled automatic partial ToC functionality. Improved \opt{fewfootnotes} option via \sty{zref}. Updated documentation.}
% \changes{v3.1.0}{2021/05/20}{Replaced \cmd{val}\cmd{nr} with \cmd{suftesi@val}\cmd{suftesi@nr}. Corrected a bug with \cmd{maketitle} in \opt{collection} structure. New options \opt{partialtoc} and \opt{maketitlestyle}. New commands for customizing the partial ToC. New value \opt{justify} for \opt{quotestyle} option. Improved \opt{quotesize} option. Renamed the \opt{revauthortitle} option to \opt{reverseauthortitle}. The options \opt{titlefont}, \opt{authorfont}, \opt{reverseauthortitle} now work for every structure. Renewed documentation}
% \changes{v3.0.2}{2021/02/06}{Improved \opt{subsecstyle} and \opt{subsubsecstyle} options.}
% \changes{v3.0.1}{2021/01/27}{Maintenance release.}
@@ -941,6 +942,18 @@ cochineal,mathpazo,bera,amsthm}
% ^^A ----------------------------------------------------------------
%
% \begin{optionlist*}
+% \optitem[cochineal]{defaultfont}{\opt{none}\OR\opt{cochineal}\OR\opt{libertine}\OR\opt{palatino}\OR\opt{standard}}
+% \begin{valuelist}
+% \item[none] Does not load any font (default with
+% \hologo{XeLaTeX} or \hologo{LuaLaTeX}). Use this option
+% if you want full control over the font selection
+% \item[cochineal] Loads the Cochineal serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
+% \item[libertine] Loads the Linux Libertine serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
+% \item[palatino] Loads the New PX serif, the Linux Biolinum sans serif and the Inconsolata typewriter. Note that the New PX font does not provide support for Greek. The \opt{greekfont=artemisia} option offers a very good solution.
+% ^^A and {\fontfamily{artemisia}\selectfont Artemisia} by the {\fontfamily{artemisia}\selectfont Greek Font Society} for the greek text.
+% \item[standard] Loads the \sty{lmodern} package: Latin Modern font family and CB Greek.
+% \end{valuelist}
+%
% \optitem[10\OR 10pt]{fontsize}{\meta{dimen}}
% Sets the main font sizes for the document, changing the \cmd{baselineskip}
% accordingly. This option is based on the \sty{fontsize} package \parencite{fontsize}. The \meta{fontsize} can be given in any unit recognized
@@ -957,17 +970,7 @@ cochineal,mathpazo,bera,amsthm}
% \item[upper] Prints spaced \textsc{\lsstyle Small Capitals} with uppercase initials.
% \end{valuelist}
%
-% \optitem[cochineal]{defaultfont}{\opt{none}\OR\opt{cochineal}\OR\opt{libertine}\OR\opt{palatino}\OR\opt{standard}}
-% \begin{valuelist}
-% \item[none] Does not load any font (default with
-% \hologo{XeLaTeX} or \hologo{LuaLaTeX}). Use this option
-% if you want full control over the font selection
-% \item[cochineal] Loads the Cochineal serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
-% \item[libertine] Loads the Linux Libertine serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
-% \item[palatino] Loads the New PX serif, the Linux Biolinum sans serif and the Inconsolata typewriter. Note that the New PX font does not provide support for Greek. The \opt{greekfont=artemisia} option offers a very good solution.
-% ^^A and {\fontfamily{artemisia}\selectfont Artemisia} by the {\fontfamily{artemisia}\selectfont Greek Font Society} for the greek text.
-% \item[standard] Loads the \sty{lmodern} package: Latin Modern font family and CB Greek.
-% \end{valuelist}
+%
% \end{optionlist*}
%
% ^^A ----------------------------------------------------------------
@@ -1128,7 +1131,7 @@ cochineal,mathpazo,bera,amsthm}
% ^^A
% ^^A ----------------------------------------------------------------
%
-% In the following option \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
+% In the following options \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
% \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}. You can see some
% combinations of these options in figure \ref{fig:fakechapter}.
%
@@ -1183,18 +1186,19 @@ cochineal,mathpazo,bera,amsthm}
%
% \changes{v2.9.3}{2020/001/29}{New commands to change the font of the section titles and numbers.}
%
-% The commands in this section are experimental. They provide a fast way to customize the format of section titles and numbers. Note that in some cases you will have to manually adjust the spacing accordingly, using \cmd{titlespacing}, \cmd{hskip}/\cmd{hspace}, \cmd{vskip}/\cmd{vspace}, and so on.
+% The commands in this section are experimental. They provide a fast way to customize the format of section titles and numbers. Note that in some cases you will have to manually adjust the spacing accordingly, using \cmd{titlespacing}, \cmd{hspace}, \cmd{vspace}, and so on.
+%
+% Below \meta{level} can be \opt{part},
+% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
%
% \begin{ltxsyntax}
% \cmditem*{\meta{level}font}{definition}
%
-% Changes the font of the \meta{level} title, where \meta{level} can be \opt{part},
-% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+% Changes the font of the \meta{level} title.
%
% \cmditem*{\meta{level}numfont}{definition}
%
-% Changes the font of the \meta{level} number, where \meta{level} can be \opt{part},
-% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+% Changes the font of the \meta{level} number.
%
% For example, if you used the \opt{chapfont=smallcaps} option, you can change the size of the chapter title accordingly with:
% \begin{latexcode}
@@ -1302,13 +1306,13 @@ cochineal,mathpazo,bera,amsthm}
% \end{valuelist}
% \optitem[roman]{toc\meta{level}font}{\opt{roman}\OR\opt{italic}\OR
% \opt{smallcaps}}
+% Where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
% \begin{valuelist}
% \item[roman] Prints the \meta{level} ToC entry in roman.
% \item[italic] Prints the \meta{level} ToC entry in \emph{italic}.
% \item[smallcaps] Prints the \meta{level} ToC entry
% in \textsc{\lsstyle spaced small caps}
% \end{valuelist}
-% Where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
% \optitem[all]{twocolcontents}{\opt{toc}\OR\opt{lof}\OR
% \opt{lot}\OR\opt{toclof}\OR\opt{toclot}\OR\opt{loflot}\OR\opt{all}}
% This option activates the \opt{tocstyle=ragged} option
@@ -1344,25 +1348,32 @@ cochineal,mathpazo,bera,amsthm}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \paragraph{General commands}\label{sec:toc:commands:general}
+% \paragraph{General commands}\label{sec:toc:commands:general}\mbox{}
% ^^A
% ^^A ----------------------------------------------------------------
%
+% Below \meta{level} can be \opt{part},
+% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+%
% \begin{ltxsyntax}
+%
% \cmditem*{toc\meta{level}font}{definition}
%
-% Changes the font of the \meta{level} title, where \meta{level} can be \opt{part},
-% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+% Changes the font of the \meta{level} title.
%
% \cmditem*{toc\meta{level}numfont}{definition}
%
-% Changes the font of the \meta{level} number, where \meta{level} can be \opt{part},
-% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+% Changes the font of the \meta{level} number.
%
+% \end{ltxsyntax}
+%
+% Below \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}, \opt{fig}, \opt{tab}.
+%
+% \begin{ltxsyntax}
% \cmditem{toclabelwidth}{level}{dim}
% \changes{v0.9a}{2012/08/31}{New command \cmd{toclabelspace}}
%
-% Adds the \meta{dim} to the \meta{level} label in the table of contents, where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}, \opt{fig}, \opt{tab}. For example, when using \opt{chapnumstyle=Roman} you would probably need to adjust the width of the chapter label with |\toclabelwidth{chap}{1em}|.
+% Adds the \meta{dim} to the \meta{level} label in the table of contents. For example, when using \opt{chapnumstyle=Roman} you would probably need to adjust the width of the chapter label with |\toclabelwidth{chap}{1em}|.
%
% \cmditem*{tocpartname}{definition}\hfill default: \cmd{partname}
%
@@ -1388,7 +1399,7 @@ cochineal,mathpazo,bera,amsthm}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \paragraph{Partial ToCs}\label{sec:toc:partialtoc}
+% \paragraph{Partial ToCs}\label{sec:toc:partialtoc}\mbox{}
% ^^A
% ^^A ----------------------------------------------------------------
%
@@ -1410,11 +1421,11 @@ cochineal,mathpazo,bera,amsthm}
%
% Sets the font size of the partial ToC.
%
-% \cmditem*{partialtocbeforespace}{dimen}
+% \cmditem*{partialtocbeforespace}{dimen} \hfill default: |0pt|
%
% Sets the space before the partial ToC.
%
-% \cmditem*{partialtocafterpace}{dimen}
+% \cmditem*{partialtocafterpace}{dimen} \hfill default: |2|\cmd{baselineskip}
%
% Sets the space after the partial ToC.
%
@@ -1612,8 +1623,8 @@ cochineal,mathpazo,bera,amsthm}
%
% \optitem[true]{marginpar}{\opt{true}\OR\opt{false}}
% \begin{valuelist}
-% \item[true] Prints the marginal notes.
-% \item[false] Hide the marginal notes.
+% \item[true] Prints the marginal notes set with \cmd{marginpar}.
+% \item[false] Hide the marginal notes set with \cmd{marginpar}.
% \end{valuelist}
% \optitem[standard]{captionstyle}{\opt{standard}\OR\opt{sanserif}\OR\opt{italic}\OR\opt{smallcaps}}
% All these values print the caption in small size, changing the shape:
@@ -2418,6 +2429,7 @@ cochineal,mathpazo,bera,amsthm}
{book,article,collection}[book]{%
\ifcase\suftesi@nr\relax
% \disable@keys{}{secnumstyle}
+ \SUF@titlepagetrue
\def\SUF@chapswitch{\thechapter.}
\or
\suftesi@articletrue
@@ -2425,7 +2437,8 @@ cochineal,mathpazo,bera,amsthm}
\def\SUF@chapswitch{}
\or
\suftesi@collectiontrue
- \setkeys{}{headerstyle=authortitleinner}
+ \SUF@titlepagefalse
+ \setkeys{}{headerstyle=authortitleinner}
\def\SUF@chapswitch{}
\fi}
% \end{macrocode}
@@ -2445,11 +2458,13 @@ cochineal,mathpazo,bera,amsthm}
\fi}
% \end{macrocode}
% \paragraph{Other options}
+% The \opt{marginpar} option conflicts with the \sty{geometry} package
+% when it is declared without explicitly providing a value. To be fixed!
% \begin{macrocode}
-\define@boolkey[SUF]{}{marginpar}[true]{}
-\define@boolkey[SUF]{}{partpage}[true]{}
-\define@boolkey[SUF]{}{draftdate}[true]{}
-\define@boolkey[SUF]{}{titlepage}[true]{}
+\define@boolkey{}[SUF@]{marginpar}[true]{}
+\define@boolkey{}[SUF@]{partpage}[true]{}
+\define@boolkey{}[SUF@]{draftdate}[true]{}
+\define@boolkey{}[SUF@]{titlepage}[true]{}
% \end{macrocode}
% \subsubsection{Fonts}
% \paragraph{Roman fonts}
@@ -3109,7 +3124,7 @@ cochineal,mathpazo,bera,amsthm}
\suftesi@twocolumnlottrue
\setkeys{}{tocstyle=ragged}
\fi}
-\define@boolkey[SUF]{}{partialtoc}[true]{}
+\define@boolkey{}[SUF@]{partialtoc}[true]{}
% \end{macrocode}
% \paragraph{Table of contents font}
% \begin{macrocode}
@@ -3284,7 +3299,7 @@ cochineal,mathpazo,bera,amsthm}
\renewcommand\@makefntext{%
\textsuperscript{\@thefnmark}\hskip.3em}
\fi}
-\define@boolkey[SUF]{}{fewfootnotes}[true]{}
+\define@boolkey{}[SUF@]{fewfootnotes}[true]{}
% \end{macrocode}
% \paragraph{Captions}
% \begin{macrocode}
@@ -3677,7 +3692,6 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \subsubsection{Options processing}
% \begin{macrocode}
-\ProcessOptionsX[SUF]<>\relax
\ExecuteOptionsX<>{
structure=book,
pagelayout=standard,
@@ -3692,6 +3706,7 @@ cochineal,mathpazo,bera,amsthm}
quotesize=footnotesize,
quotestyle=center,
captionstyle=standard,
+ marginpar=true,
tocstyle=standard,
partstyle=left,
chapstyle=left,
@@ -5297,7 +5312,7 @@ cochineal,mathpazo,bera,amsthm}
\partialtocparlabelfont{}
\partialtocsubparlabelfont{}
\partialtocbeforespace{0pt}
-\partialtocafterspace{0pt}
+\partialtocafterspace{2\baselineskip}
\partialtocbeforecode{}
\partialtocaftercode{}
% \end{macrocode}
@@ -5595,7 +5610,7 @@ cochineal,mathpazo,bera,amsthm}
\SUF@authortitle@align
\let\footnote\thanks
\parindent=0pt
- {\SUF@second}%
+ {\SUF@second\par}%
\label{begin:\thearticle}
% \end{macrocode}
% Check if you don't use \sty{hyperrref} provided by Enrico Gregorio
@@ -5615,7 +5630,7 @@ cochineal,mathpazo,bera,amsthm}
{\SUF@tocTIT@font{\@headtitle}}}
\endgroup%
\par\nobreak\vspace{2ex}
- {\SUF@first%
+ {\SUF@first\par%
\vskip1.5cm}}%
}
% \newenvironment{article}
@@ -5715,9 +5730,7 @@ cochineal,mathpazo,bera,amsthm}
{\SUF@first\par}%
\vskip 3em%
{\lineskip .75em%
- \begin{tabular}[t]{c}%
- \SUF@second
- \end{tabular}\par}%
+ \SUF@second\par}%
\vskip 1.5em%
{\SUF@datefont\@date\par}%
\end{center}\par
@@ -5769,9 +5782,7 @@ cochineal,mathpazo,bera,amsthm}
{\SUF@first\par}%
\vskip 1.5em%
{\lineskip .5em%
- \begin{tabular}[t]{c}%
- \SUF@second\par
- \end{tabular}\par}%
+ \SUF@second\par}%
\vskip 1em%
{\SUF@datefont\@date\par}%
\end{center}%
diff --git a/macros/latex/contrib/suftesi/suftesi.pdf b/macros/latex/contrib/suftesi/suftesi.pdf
index 2e8c75f472..935cbaf61c 100644
--- a/macros/latex/contrib/suftesi/suftesi.pdf
+++ b/macros/latex/contrib/suftesi/suftesi.pdf
Binary files differ
diff --git a/macros/latex/contrib/tabularray/tabularray-2021.sty b/macros/latex/contrib/tabularray/tabularray-2021.sty
new file mode 100644
index 0000000000..90ddaadd34
--- /dev/null
+++ b/macros/latex/contrib/tabularray/tabularray-2021.sty
@@ -0,0 +1,4218 @@
+%%% % -*- coding: utf-8 -*-
+%%% ----------------------------------------------------------------------------
+%%% Tabularray: Typeset tabulars and arrays with LaTeX3
+%%% Author : Jianrui Lyu <tolvjr@163.com>
+%%% Repository: https://github.com/lvjr/tabularray
+%%% License : The LaTeX Project Public License 1.3
+%%% ----------------------------------------------------------------------------
+
+%%% --------------------------------------------------------
+%% \section{Scratch Variables and Function Variants}
+%%% --------------------------------------------------------
+
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{expl3}
+\ProvidesExplPackage{tabularray}{2021-05-25}{2021J}
+ {Typeset tabulars and arrays with LaTeX3}
+
+\RequirePackage{xparse}
+\AtBeginDocument{\@ifpackageloaded{xcolor}{\RequirePackage{ninecolors}}{}}
+
+\ExplSyntaxOn
+
+%% Backport \tl_if_eq:NnTF for old texlive 2020
+\cs_if_exist:NF \tl_if_eq:NnTF
+ {
+ \tl_new:N \l__tblr_backport_b_tl
+ \prg_new_protected_conditional:Npnn \tl_if_eq:Nn #1 #2 { T, F, TF }
+ {
+ \group_begin:
+ \tl_set:Nn \l__tblr_backport_b_tl {#2}
+ \exp_after:wN
+ \group_end:
+ \if_meaning:w #1 \l__tblr_backport_b_tl
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ }
+ \prg_generate_conditional_variant:Nnn \tl_if_eq:Nn { c } { TF, T, F }
+ }
+
+%% Compatible with texlive 2020
+\cs_if_exist:NF \seq_map_indexed_function:NN
+ {
+ \cs_set_eq:NN \seq_map_indexed_function:NN \seq_indexed_map_function:NN
+ }
+
+\cs_generate_variant:Nn \msg_error:nnnn { nnVn }
+\cs_generate_variant:Nn \prop_item:Nn { Ne, NV }
+\cs_generate_variant:Nn \prop_put:Nnn { Nxn, Nxx, NxV }
+\cs_generate_variant:Nn \regex_replace_all:NnN { NVN }
+\cs_generate_variant:Nn \seq_map_indexed_inline:Nn { cn }
+\cs_generate_variant:Nn \tl_const:Nn { ce }
+\cs_generate_variant:Nn \tl_log:n { x }
+\cs_generate_variant:Nn \tl_gput_right:Nn { Nf }
+\prg_generate_conditional_variant:Nnn \clist_if_in:Nn { Nx } { TF }
+\prg_generate_conditional_variant:Nnn \prop_if_in:Nn { c } { T }
+\prg_generate_conditional_variant:Nnn \str_if_eq:nn { xn } { TF }
+\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { en } { T, TF }
+\prg_generate_conditional_variant:Nnn \tl_if_head_eq_meaning:nN { VN } { T, TF }
+
+\tl_new:N \l__tblr_a_tl
+\tl_new:N \l__tblr_b_tl
+\tl_new:N \l__tblr_c_tl
+\tl_new:N \l__tblr_d_tl
+\tl_new:N \l__tblr_e_tl
+\tl_new:N \l__tblr_f_tl
+\tl_new:N \l__tblr_h_tl
+\tl_new:N \l__tblr_i_tl % for row index
+\tl_new:N \l__tblr_j_tl % for column index
+\tl_new:N \l__tblr_k_tl
+\tl_new:N \l__tblr_n_tl
+\tl_new:N \l__tblr_o_tl
+\tl_new:N \l__tblr_r_tl
+\tl_new:N \l__tblr_s_tl
+\tl_new:N \l__tblr_t_tl
+\tl_new:N \l__tblr_u_tl
+\tl_new:N \l__tblr_v_tl
+\tl_new:N \l__tblr_w_tl
+\tl_new:N \l__tblr_x_tl
+\tl_new:N \l__tblr_y_tl
+\int_new:N \l__tblr_a_int
+\int_new:N \l__tblr_c_int % for column number
+\int_new:N \l__tblr_r_int % for row number
+\dim_new:N \l__tblr_d_dim % for depth
+\dim_new:N \l__tblr_h_dim % for height
+\dim_new:N \l__tblr_o_dim
+\dim_new:N \l__tblr_p_dim
+\dim_new:N \l__tblr_q_dim
+\dim_new:N \l__tblr_r_dim
+\dim_new:N \l__tblr_s_dim
+\dim_new:N \l__tblr_t_dim
+\dim_new:N \l__tblr_v_dim
+\dim_new:N \l__tblr_w_dim % for width
+\box_new:N \l__tblr_a_box
+\box_new:N \l__tblr_b_box
+\box_new:N \l__tblr_c_box % for cell box
+\box_new:N \l__tblr_d_box
+
+%%% --------------------------------------------------------
+%% \section{Data Structures Based on Property Lists}
+%%% --------------------------------------------------------
+
+\int_new:N \g_tblr_level_int % store table nesting level
+
+\cs_new_protected:Npn \__tblr_prop_gput:nnn #1 #2 #3
+ {
+ \prop_gput:cnn
+ { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
+ }
+\cs_generate_variant:Nn \__tblr_prop_gput:nnn { nnx, nnV, nxn, nxx, nxV }
+
+\cs_new:Npn \__tblr_prop_item:nn #1 #2
+ {
+ \prop_item:cn { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 }
+ }
+\cs_generate_variant:Nn \__tblr_prop_item:nn { ne }
+
+\cs_new_protected:Npn \__tblr_prop_if_in:nnT #1
+ {
+ \prop_if_in:cnT { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop }
+ }
+\cs_new_protected:Npn \__tblr_prop_if_in:nnF #1
+ {
+ \prop_if_in:cnF { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop }
+ }
+\cs_new_protected:Npn \__tblr_prop_if_in:nnTF #1
+ {
+ \prop_if_in:cnTF { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop }
+ }
+\prg_generate_conditional_variant:Nnn \__tblr_prop_if_in:nn { nx } { T, F, TF }
+
+\cs_new_protected:Npn \__tblr_prop_log:n #1
+ {
+ \prop_log:c { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop }
+ }
+
+\cs_new_protected:Npn \__tblr_prop_map_inline:nn #1 #2
+ {
+ \prop_map_inline:cn { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } {#2}
+ }
+
+\cs_new_protected:Npn \__tblr_prop_gput_if_larger:nnn #1 #2 #3
+ {
+ \__tblr_gput_if_larger:cnn
+ { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
+ }
+\cs_generate_variant:Nn \__tblr_prop_gput_if_larger:nnn { nnx, nnV, nxn, nxx, nxV }
+
+\cs_new_protected:Npn \__tblr_prop_gadd_dimen_value:nnn #1 #2 #3
+ {
+ \__tblr_gadd_dimen_value:cnn
+ { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
+ }
+\cs_generate_variant:Nn \__tblr_prop_gadd_dimen_value:nnn { nnx, nnV, nxn, nxx }
+
+%% Put the dimension to the prop list only if it's larger than the old one
+
+\tl_new:N \l__tblr_put_if_larger_tl
+
+\cs_new_protected:Npn \__tblr_put_if_larger:Nnn #1 #2 #3
+ {
+ \tl_set:Nx \l__tblr_put_if_larger_tl { \prop_item:Nn #1 { #2 } }
+ \bool_lazy_or:nnT
+ { \tl_if_empty_p:N \l__tblr_put_if_larger_tl }
+ { \dim_compare_p:nNn { #3 } > { \l__tblr_put_if_larger_tl } }
+ { \prop_put:Nnn #1 { #2 } { #3 } }
+ }
+\cs_generate_variant:Nn \__tblr_put_if_larger:Nnn { Nnx, Nxn, Nxx }
+
+\cs_new_protected:Npn \__tblr_gput_if_larger:Nnn #1 #2 #3
+ {
+ \tl_set:Nx \l__tblr_put_if_larger_tl { \prop_item:Nn #1 { #2 } }
+ \bool_lazy_or:nnT
+ { \tl_if_empty_p:N \l__tblr_put_if_larger_tl }
+ { \dim_compare_p:nNn { #3 } > { \l__tblr_put_if_larger_tl } }
+ { \prop_gput:Nnn #1 { #2 } { #3 } }
+ }
+\cs_generate_variant:Nn \__tblr_gput_if_larger:Nnn { Nnx, Nxn, Nxx, cnn }
+
+%% Add the dimension to some key value of the prop list
+%% #1: the prop list, #2: the key, #3: the dimen to add
+
+\cs_new_protected:Npn \__tblr_add_dimen_value:Nnn #1 #2 #3
+ {
+ \prop_put:Nnx #1 { #2 } { \dim_eval:n { \prop_item:Nn #1 { #2 } + #3 } }
+ }
+\cs_generate_variant:Nn \__tblr_add_dimen_value:Nnn { cnn }
+
+\cs_new_protected:Npn \__tblr_gadd_dimen_value:Nnn #1 #2 #3
+ {
+ \prop_gput:Nnx #1 { #2 } { \dim_eval:n { \prop_item:Nn #1 { #2 } + #3 } }
+ }
+\cs_generate_variant:Nn \__tblr_gadd_dimen_value:Nnn { cnn }
+
+%% Some counters for row and column numbering
+\newcounter{rownum}
+\newcounter{colnum}
+\newcounter{rowcount}
+\newcounter{colcount}
+
+%%% --------------------------------------------------------
+%% \section{Data Structures Based on Integer Arrays}
+%%% --------------------------------------------------------
+
+\int_new:N \g__tblr_array_int
+
+\cs_new_protected:Npn \__tblr_initial_table_data:
+ {
+ \int_gincr:N \g__tblr_array_int
+ \intarray_new:cn { g__tblr_row_ \int_use:N \g__tblr_array_int _intarray }
+ { \g__tblr_data_row_key_count_int * \c@rowcount }
+ \cs_set_eq:cc { g__tblr_row_ \int_use:N \g_tblr_level_int _intarray }
+ { g__tblr_row_ \int_use:N \g__tblr_array_int _intarray }
+ %\intarray_log:c { g__tblr_row_ \int_use:N \g_tblr_level_int _intarray }
+ }
+
+%% #1: data name; #2: key name; #3: value type
+\cs_new_protected:Npn \__tblr_data_new_key:nnn #1 #2 #3
+ {
+ \int_gincr:c { g__tblr_data_#1_key_count_int }
+ \tl_const:ce
+ {
+ g__tblr_data_#1_key_name_
+ \int_use:c { g__tblr_data_#1_key_count_int } _tl
+ }
+ { #2 }
+ \tl_const:ce { g__tblr_data_#1_key_number_#2_tl }
+ { \int_use:c { g__tblr_data_#1_key_count_int } }
+ \tl_const:cn { g__tblr_data_#1_key_type_#2_tl } {#3}
+ }
+
+\int_new:N \g__tblr_data_row_key_count_int
+
+\__tblr_data_new_key:nnn { row } { height } { dim }
+\__tblr_data_new_key:nnn { row } { coefficient } { dec }
+\__tblr_data_new_key:nnn { row } { abovesep } { dim }
+\__tblr_data_new_key:nnn { row } { belowsep } { dim }
+\__tblr_data_new_key:nnn { row } { @row-height } { dim }
+\__tblr_data_new_key:nnn { row } { @row-head } { dim }
+\__tblr_data_new_key:nnn { row } { @row-foot } { dim }
+\__tblr_data_new_key:nnn { row } { @row-upper } { dim }
+\__tblr_data_new_key:nnn { row } { @row-lower } { dim }
+
+%% #1: data name; #2: data index; #3: key name
+\cs_new:Npn \__tblr_data_key_to_int:nnn #1 #2 #3
+ {
+ ( #2 - 1 ) * \int_use:c { g__tblr_data_#1_key_count_int }
+ + \tl_use:c { g__tblr_data_#1_key_number_#3_tl }
+ }
+
+\int_new:N \l__tblr_key_count_int
+\int_new:N \l__tblr_key_quotient_int
+\int_new:N \l__tblr_key_remainder_int
+
+%% #1: data name; #2: array position;
+%% #3: returning tl with index; #4: returning tl with key name
+\cs_new:Npn \__tblr_data_int_to_key:nnNN #1 #2 #3 #4
+ {
+ \int_set_eq:Nc \l__tblr_key_count_int { g__tblr_data_#1_key_count_int }
+ \int_set:Nn \l__tblr_key_quotient_int
+ {
+ \int_div_truncate:nn
+ { #2 + \l__tblr_key_count_int - 1 } { \l__tblr_key_count_int }
+ }
+ \int_set:Nn \l__tblr_key_remainder_int
+ {
+ #2 + \l__tblr_key_count_int
+ - \l__tblr_key_quotient_int * \l__tblr_key_count_int
+ }
+ \int_compare:nNnT { \l__tblr_key_remainder_int } = { 0 }
+ { \int_set_eq:NN \l__tblr_key_remainder_int \l__tblr_key_count_int }
+ \tl_set:Nx #3 { \int_use:N \l__tblr_key_quotient_int }
+ \tl_set_eq:Nc #4
+ { g__tblr_data_#1_key_name_ \int_use:N \l__tblr_key_remainder_int _tl }
+ }
+
+%% #1: data name; #2: key name; #3: value
+\cs_new:Npn \__tblr_data_value_to_int:nnn #1 #2 #3
+ {
+ \cs:w
+ __tblr_data_ \tl_use:c { g__tblr_data_#1_key_type_#2_tl } _to_int:n
+ \cs_end:
+ {#3}
+ }
+
+%% #1: data name; #2: key name; #3: int
+\cs_new:Npn \__tblr_data_int_to_value:nnn #1 #2 #3
+ {
+ \cs:w
+ __tblr_data_int_to_ \tl_use:c { g__tblr_data_#1_key_type_#2_tl } :n
+ \cs_end:
+ {#3}
+ }
+\cs_generate_variant:Nn \__tblr_data_int_to_value:nnn { nne, nVe }
+
+\cs_new:Npn \__tblr_data_dim_to_int:n #1
+ {
+ \dim_to_decimal_in_sp:n {#1}
+ }
+
+%% Return a dimension in pt so that it's easier to understand in tracing messages
+\cs_new:Npn \__tblr_data_int_to_dim:n #1
+ {
+ %#1 sp
+ %\dim_eval:n { #1 sp }
+ \dim_to_decimal:n { #1 sp } pt
+ }
+
+\cs_new:Npn \__tblr_data_dec_to_int:n #1
+ {
+ \dim_to_decimal_in_sp:n {#1 pt}
+ }
+
+\cs_new:Npn \__tblr_data_int_to_dec:n #1
+ {
+ \dim_to_decimal:n {#1 sp}
+ }
+
+%% #1: data name; #2: data index; #3: key; #4: value
+\cs_new_protected:Npn \__tblr_data_gput:nnnn #1 #2 #3 #4
+ {
+ \intarray_gset:cnn
+ { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ { \__tblr_data_key_to_int:nnn {#1} {#2} {#3} }
+ { \__tblr_data_value_to_int:nnn {#1} {#3} {#4} }
+ }
+\cs_generate_variant:Nn \__tblr_data_gput:nnnn
+ { nnne, nnnV, nenn, nene, nenV, nVnn }
+
+%% #1: data name; #2: data index; #3: key
+\cs_new:Npn \__tblr_data_item:nnn #1 #2 #3
+ {
+ \__tblr_data_int_to_value:nne {#1} {#3}
+ {
+ \intarray_item:cn { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ { \__tblr_data_key_to_int:nnn {#1} {#2} {#3} }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_data_item:nnn { nen }
+
+\tl_new:N \l__tblr_data_key_tl
+\tl_new:N \l__tblr_data_index_tl
+
+\cs_new_protected:Npn \__tblr_data_log:n #1
+ {
+ %\intarray_log:c { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ \tl_set:Nx \l_tmpa_tl { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ \int_step_inline:nn
+ { \intarray_count:c { \l_tmpa_tl } }
+ {
+ \__tblr_data_int_to_key:nnNN {#1} {##1}
+ \l__tblr_data_index_tl \l__tblr_data_key_tl
+ \tl_log:x
+ {
+ { #1 [\l__tblr_data_index_tl] / \l__tblr_data_key_tl }
+ \space = \space
+ {
+ \__tblr_data_int_to_value:nVe {#1} \l__tblr_data_key_tl
+ { \intarray_item:cn { \l_tmpa_tl } {##1} }
+ }
+ }
+ }
+ \__tblr_prop_log:n {#1}
+ }
+
+%% #1: data name; #2: row index; #3: key; #4: value
+\cs_new_protected:Npn \__tblr_data_gput_if_larger:nnnn #1 #2 #3 #4
+ {
+ \__tblr_array_gput_if_larger:cnn
+ { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ { \__tblr_data_key_to_int:nnn {#1} {#2} {#3} }
+ { \__tblr_data_value_to_int:nnn {#1} {#3} {#4} }
+ }
+\cs_generate_variant:Nn \__tblr_data_gput_if_larger:nnnn { nnne, nnnV, nene, nenV }
+
+\cs_new_protected:Npn \__tblr_array_gput_if_larger:Nnn #1 #2 #3
+ {
+ \int_compare:nNnT {#3} > { \intarray_item:Nn #1 {#2} }
+ { \intarray_gset:Nnn #1 {#2} {#3} }
+ }
+\cs_generate_variant:Nn \__tblr_array_gput_if_larger:Nnn { cnn }
+
+%% #1: data name; #2: data index; #3: key; #4: value
+\cs_new_protected:Npn \__tblr_data_gadd_dimen_value:nnnn #1 #2 #3 #4
+ {
+ \__tblr_array_gadd_value:cnn
+ { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ { \__tblr_data_key_to_int:nnn {#1} {#2} {#3} }
+ { \__tblr_data_value_to_int:nnn {#1} {#3} {#4} }
+ }
+\cs_generate_variant:Nn \__tblr_data_gadd_dimen_value:nnnn { nnne, nnnV, nene }
+
+\cs_new_protected:Npn \__tblr_array_gadd_value:Nnn #1 #2 #3
+ {
+ \intarray_gset:Nnn #1 {#2} { \intarray_item:Nn #1 {#2} + #3 }
+ }
+\cs_generate_variant:Nn \__tblr_array_gadd_value:Nnn { cnn }
+
+\bool_new:N \g__tblr_use_intarray_bool
+%\bool_set_true:N \g__tblr_use_intarray_bool
+
+\AtBeginDocument
+ {
+ \bool_if:NF \g__tblr_use_intarray_bool
+ {
+ \cs_set_protected:Npn \__tblr_data_gput:nnnn #1 #2 #3 #4
+ {
+ \__tblr_prop_gput:nnn {#1} { [#2] / #3 } {#4}
+ }
+ \cs_set:Npn \__tblr_data_item:nnn #1 #2 #3
+ {
+ \__tblr_prop_item:nn {#1} { [#2] / #3 }
+ }
+ \cs_set_protected:Npn \__tblr_data_log:n #1
+ {
+ \__tblr_prop_log:n {#1}
+ }
+ \cs_set_protected:Npn \__tblr_data_gput_if_larger:nnnn #1 #2 #3 #4
+ {
+ \__tblr_prop_gput_if_larger:nnn {#1} { [#2] / #3 } {#4}
+ }
+ \cs_set_protected:Npn \__tblr_data_gadd_dimen_value:nnnn #1 #2 #3 #4
+ {
+ \__tblr_prop_gadd_dimen_value:nnn {#1} { [#2] / #3 } {#4}
+ }
+ }
+ }
+
+%%% --------------------------------------------------------
+%% \section{Child Selectors}
+%%% --------------------------------------------------------
+
+\clist_new:N \g_tblr_used_child_selectors_clist
+
+\tl_new:N \l__tblr_childs_arg_spec_tl
+
+\msg_new:nnn { tabularray } { used-child-selector }
+ { Child ~ selector ~ name ~ "#1" ~ has ~ been ~ used! }
+
+\NewDocumentCommand \NewChildSelector { m O{0} o m }
+ {
+ \__tblr_new_child_selector_aux:xnnn { \tl_trim_spaces:n {#1} } {#2} {#3} {#4}
+ }
+
+\cs_new_protected:Npn \__tblr_new_child_selector_aux:nnnn #1 #2 #3 #4
+ {
+ \clist_if_in:NnTF \g_tblr_used_child_selectors_clist { #1 }
+ {
+ \msg_error:nnn { tabularray } { used-child-selector } { #1 }
+ \clist_log:N \g_tblr_used_child_selectors_clist
+ }
+ {
+ \__tblr_make_xparse_arg_spec:nnN { #2 } { #3 } \l__tblr_childs_arg_spec_tl
+ \exp_args:NcV \NewDocumentCommand
+ { __tblr_child_selector_ #1 :w } \l__tblr_childs_arg_spec_tl { #4 }
+ \clist_gput_right:Nn \g_tblr_used_child_selectors_clist { #1 }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_new_child_selector_aux:nnnn { xnnn }
+
+%% #1: argument number, #2: optional argument default, #3: result tl
+\cs_new_protected:Npn \__tblr_make_xparse_arg_spec:nnN #1 #2 #3
+ {
+ \tl_clear:N #3
+ \int_compare:nNnT { #1 } > { 0 }
+ {
+ \IfValueTF { #2 }
+ { \tl_set:Nn #3 { O{#2} } }
+ { \tl_set:Nn #3 { m } }
+ \tl_put_right:Nx #3 { \prg_replicate:nn { #1 - 1 } { m } }
+ }
+ }
+
+\clist_new:N \l_tblr_childs_clist
+\tl_new:N \l_tblr_childs_total_tl
+
+\NewChildSelector { odd }
+ {
+ \int_step_inline:nnnn {1} {2} { \l_tblr_childs_total_tl }
+ { \clist_put_right:Nn \l_tblr_childs_clist {##1} }
+ }
+
+\NewChildSelector { even }
+ {
+ \int_step_inline:nnnn {2} {2} { \l_tblr_childs_total_tl }
+ { \clist_put_right:Nn \l_tblr_childs_clist {##1} }
+ }
+
+\regex_const:Nn \c__tblr_split_selector_name_regex { ^ ( [A-Za-z] {2,} ) ( . * ) }
+\seq_new:N \l__tblr_childs_split_seq
+\seq_new:N \l__tblr_childs_regex_seq
+\tl_new:N \l__tblr_childs_end_tl
+\tl_new:N \l__tblr_childs_selector_tl
+
+%% #1, child specifications; #2, total number.
+%% The result will be put into \l_tblr_childs_clist
+\cs_new_protected:Npn \__tblr_get_childs:nn #1 #2
+ {
+ \clist_clear:N \l_tblr_childs_clist
+ \tl_set:Nx \l_tblr_childs_total_tl {#2}
+ \regex_extract_once:NnNTF \c__tblr_split_selector_name_regex {#1}
+ \l__tblr_childs_regex_seq
+ {
+ \tl_set:No \l__tblr_childs_selector_tl
+ {
+ \cs:w
+ __tblr_child_selector_ \seq_item:Nn \l__tblr_childs_regex_seq {2} :w
+ \cs_end:
+ }
+ \exp_args:Nx \l__tblr_childs_selector_tl
+ { \seq_item:Nn \l__tblr_childs_regex_seq{3} }
+ }
+ {
+ \tl_if_eq:nnTF {#1} {-}
+ { \__tblr_get_childs_normal:nn {1-#2} {#2} }
+ { \__tblr_get_childs_normal:nn {#1} {#2} }
+ }
+ %\clist_log:N \l_tblr_childs_clist
+ }
+\cs_generate_variant:Nn \__tblr_get_childs:nn { nx }
+
+\cs_new_protected:Npn \__tblr_get_childs_normal:nn #1 #2
+ {
+ \seq_set_split:Nnn \l__tblr_childs_split_seq {,} {#1}
+ \seq_map_inline:Nn \l__tblr_childs_split_seq
+ { \__tblr_get_childs_normal_aux:w ##1 - s \scan_stop }
+ }
+
+\cs_new_protected_nopar:Npn \__tblr_get_childs_normal_aux:w #1 - #2 #3 \scan_stop
+ {
+ \tl_if_eq:nnTF {#2} {s}
+ { \tl_set:Nn \l__tblr_childs_end_tl {#1} }
+ { \tl_set:Nn \l__tblr_childs_end_tl {#2} }
+ \int_step_inline:nnn {#1} { \l__tblr_childs_end_tl }
+ { \clist_put_right:Nn \l_tblr_childs_clist {##1} }
+ }
+
+%%% --------------------------------------------------------
+%% \section{New Table Commands}
+%%% --------------------------------------------------------
+
+%% We need some commands to modify table/row/column/cell specifications.
+%% These commands must be defined with \NewTableCommand command,
+%% so that we could extract them, execute them once, then disable them.
+
+\clist_new:N \g__tblr_table_commands_clist
+
+\msg_new:nnn { tabularray } { defined-table-command }
+ { Table ~ commnad ~ #1 has ~ been ~ defined! }
+
+\NewDocumentCommand \NewTableCommand { m O{0} o m }
+ {
+ \clist_if_in:NnTF \g__tblr_table_commands_clist { #1 }
+ {
+ \msg_error:nnn { tabularray } { defined-table-command } { #1 }
+ \clist_log:N \g__tblr_table_commands_clist
+ }
+ {
+ \__tblr_make_xparse_arg_spec:nnN { #2 } { #3 } \l__tblr_a_tl
+ \exp_args:NcV \NewDocumentCommand
+ { __tblr_table_command_ \cs_to_str:N #1 :w } \l__tblr_a_tl { #4 }
+ \exp_args:NcV \NewDocumentCommand
+ { __tblr_table_command_ \cs_to_str:N #1 _gobble :w } \l__tblr_a_tl { }
+ \IfValueTF { #3 }
+ {
+ \tl_gset:cn { g__tblr_table_cmd_ \cs_to_str:N #1 _arg_numb_tl } {-#2}
+ }
+ {
+ \tl_gset:cn { g__tblr_table_cmd_ \cs_to_str:N #1 _arg_numb_tl } {#2}
+ }
+ \clist_gput_right:Nn \g__tblr_table_commands_clist { #1 }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_enable_table_commands:
+ {
+ \clist_map_inline:Nn \g__tblr_table_commands_clist
+ { \cs_set_eq:Nc ##1 { __tblr_table_command_ \cs_to_str:N ##1 :w } }
+ }
+
+\cs_new_protected:Npn \__tblr_disable_table_commands:
+ {
+ \clist_map_inline:Nn \g__tblr_table_commands_clist
+ { \cs_set_eq:Nc ##1 { __tblr_table_command_ \cs_to_str:N ##1 _gobble:w } }
+ }
+
+\cs_new_protected:Npn \__tblr_execute_table_commands:
+ {
+ \__tblr_prop_map_inline:nn { command }
+ {
+ \__tblr_set_row_col_from_key_name:w ##1
+ ##2
+ }
+ \LogTblrTracing { cell }
+ }
+
+\cs_new_protected:Npn \__tblr_set_row_col_from_key_name:w [#1][#2]
+ {
+ \int_set:Nn \c@rownum {#1}
+ \int_set:Nn \c@colnum {#2}
+ }
+
+%%% --------------------------------------------------------
+%% \section{New Dash Styles}
+%%% --------------------------------------------------------
+
+%% \NewDashStyle commands
+
+\dim_zero_new:N \rulewidth
+\dim_set:Nn \rulewidth {0.4pt}
+
+\prop_gset_from_keyval:Nn \g__tblr_defined_hdash_styles_prop
+ { solid = \hrule height \rulewidth }
+\prop_gset_from_keyval:Nn \g__tblr_defined_vdash_styles_prop
+ { solid = \vrule width \rulewidth }
+
+\NewDocumentCommand \NewDashStyle { m m }
+ {
+ \seq_set_split:Nnn \l_tmpa_seq { ~ } {#2}
+ \tl_set:Nx \l__tblr_a_tl { \seq_item:Nn \l_tmpa_seq {1} }
+ \tl_set:Nx \l__tblr_b_tl { \seq_item:Nn \l_tmpa_seq {2} }
+ \tl_set:Nx \l__tblr_c_tl { \seq_item:Nn \l_tmpa_seq {3} }
+ \tl_set:Nx \l__tblr_d_tl { \seq_item:Nn \l_tmpa_seq {4} }
+ \tl_if_eq:NnT \l__tblr_a_tl { on }
+ {
+ \tl_if_eq:NnT \l__tblr_c_tl { off }
+ {
+ \__tblr_dash_style_make_boxes:nxx {#1}
+ { \dim_eval:n {\l__tblr_b_tl} } { \dim_eval:n {\l__tblr_d_tl} }
+ }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_dash_style_make_boxes:nnn #1 #2 #3
+ {
+ \dim_set:Nn \l_tmpa_dim { #2 + #3 }
+ \tl_set:Nn \l__tblr_h_tl { \hbox_to_wd:nn }
+ \tl_put_right:Nx \l__tblr_h_tl { { \dim_use:N \l_tmpa_dim } }
+ \tl_put_right:Nn \l__tblr_h_tl
+ {
+ { \hss \vbox:n { \hbox_to_wd:nn {#2} {} \hrule height \rulewidth } \hss }
+ }
+ \prop_gput:NnV \g__tblr_defined_hdash_styles_prop {#1} \l__tblr_h_tl
+ %\prop_log:N \g__tblr_defined_hdash_styles_prop
+ \tl_set:Nn \l__tblr_v_tl { \vbox_to_ht:nn }
+ \tl_put_right:Nx \l__tblr_v_tl { { \dim_use:N \l_tmpa_dim } }
+ \tl_put_right:Nn \l__tblr_v_tl
+ {
+ { \vss \hbox:n { \vbox_to_ht:nn {#2} {} \vrule width \rulewidth } \vss }
+ }
+ \prop_gput:NnV \g__tblr_defined_vdash_styles_prop {#1} \l__tblr_v_tl
+ %\prop_log:N \g__tblr_defined_vdash_styles_prop
+ }
+\cs_generate_variant:Nn \__tblr_dash_style_make_boxes:nnn { nxx }
+
+\cs_new_protected:Npn \__tblr_get_hline_dash_style:N #1
+ {
+ \tl_set:Nx \l_tmpa_tl
+ { \prop_item:NV \g__tblr_defined_hdash_styles_prop #1 }
+ \tl_if_empty:NF \l_tmpa_tl { \tl_set_eq:NN #1 \l_tmpa_tl }
+ }
+
+\cs_new_protected:Npn \__tblr_get_vline_dash_style:N #1
+ {
+ \tl_set:Nx \l_tmpa_tl
+ { \prop_item:NV \g__tblr_defined_vdash_styles_prop #1 }
+ \tl_if_empty:NF \l_tmpa_tl { \tl_set_eq:NN #1 \l_tmpa_tl }
+ }
+
+\NewDashStyle {dashed} {on ~ 2pt ~ off ~ 2pt}
+\NewDashStyle {dotted} {on ~ 0.4pt ~ off ~ 1pt}
+
+%%% --------------------------------------------------------
+%% \section{Set Hlines and Vlines}
+%%% --------------------------------------------------------
+
+\tl_set:Nn \@tblr@dash { dash }
+\tl_set:Nn \@tblr@text { text }
+
+\regex_const:Nn \c__tblr_is_color_key_regex { ^[A-Za-z] }
+
+%% \SetHlines command for setting every hline in the table
+\NewTableCommand \SetHlines [3] [+]
+ {
+ \tblr_set_every_hline:nnn {#1} {#2} {#3}
+ }
+
+%% We put all code inside a group to avoid affecting other table commands
+\cs_new_protected:Npn \tblr_set_every_hline:nnn #1 #2 #3
+ {
+ \group_begin:
+ \int_step_inline:nn { \int_eval:n { \c@rowcount + 1 } }
+ {
+ \int_set:Nn \c@rownum {##1}
+ \tblr_set_hline:nnn {#1} {#2} {#3}
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_every_hline in different ways
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_every_hline_aux:n #1
+ {
+ \tl_if_head_is_group:nTF {#1}
+ {
+ \int_compare:nNnTF { \tl_count:n {#1} } = {3}
+ { \tblr_set_every_hline:nnn #1 }
+ { \tblr_set_every_hline:nnn {1} #1 }
+ }
+ { \tblr_set_every_hline:nnn {1} {-} {#1} }
+ }
+
+%% Add \SetHline, \hline and \cline commands
+
+\tl_new:N \l__tblr_hline_count_tl % the count of all hlines
+\tl_new:N \l__tblr_hline_num_tl % the index of the hline
+\tl_new:N \l__tblr_hline_cols_tl % the columns of the hline
+\tl_new:N \l__tblr_hline_dash_tl % dash style
+\tl_new:N \l__tblr_hline_fg_tl % dash foreground
+\tl_new:N \l__tblr_hline_wd_tl % dash width
+
+\NewTableCommand \cline [2] [] { \SetHline [=] {#2} {#1} }
+
+\NewTableCommand \hline [1] [] { \SetHline [+] {-} {#1} }
+
+%% #1: the index of the hline (may be + or =)
+%% #2: which columns of the hline, separate by commas
+%% #3: key=value pairs
+\NewTableCommand \SetHline [3] [+]
+ {
+ \tblr_set_hline:nnn {#1} {#2} {#3}
+ }
+
+%% We need to check "text" key first
+%% If it does exist and has empty value, then do nothing
+\cs_new_protected:Npn \tblr_set_hline:nnn #1 #2 #3
+ {
+ \group_begin:
+ \keys_set_groups:nnn { tblr-hline } { text } {#3}
+ \tl_if_eq:NnF \l__tblr_hline_dash_tl { \exp_not:N \@tblr@text }
+ {
+ \__tblr_set_hline_num:n {#1}
+ \tl_clear:N \l__tblr_hline_dash_tl
+ \keys_set:nn { tblr-hline } { dash = solid, #3 }
+ \__tblr_set_hline_cmd:n {#2}
+ }
+ \group_end:
+ }
+
+\cs_new_protected:Npn \tblr_set_hline:nnnn #1 #2 #3 #4
+ {
+ \group_begin:
+ \__tblr_get_childs:nx {#1} { \int_eval:n { \c@rowcount + 1 } }
+ \clist_map_inline:Nn \l_tblr_childs_clist
+ {
+ \int_set:Nn \c@rownum {##1}
+ \tblr_set_hline:nnn {#2} {#3} {#4}
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_hline in different ways
+%% Note that #1 always includes an outer pair of braces
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_hline_aux:nn #1 #2
+ {
+ \tl_if_head_is_group:nTF {#2}
+ {
+ \int_compare:nNnTF { \tl_count:n {#2} } = {3}
+ { \tblr_set_hline:nnnn #1 #2 }
+ { \tblr_set_hline:nnnn #1 {1} #2 }
+ }
+ { \tblr_set_hline:nnnn #1 {1} {-} {#2} }
+ }
+\cs_generate_variant:Nn \__tblr_set_hline_aux:nn { Vn }
+
+%% #1: the index of hline to set (may be + or =)
+\cs_new_protected:Npn \__tblr_set_hline_num:n #1
+ {
+ \tl_clear:N \l__tblr_hline_num_tl
+ \tl_set:Nx \l__tblr_hline_count_tl
+ { \__tblr_prop_item:ne { hline } { [\int_use:N \c@rownum] / @hline-count } }
+ \tl_if_empty:NTF \l__tblr_hline_count_tl
+ {
+ \tl_set:Nx \l__tblr_hline_num_tl { 1 }
+ \__tblr_prop_gput:nxx { hline }
+ { [\int_use:N \c@rownum] / @hline-count } { 1 }
+ }
+ {
+ \tl_if_eq:nnTF {#1} {+}
+ { \__tblr_set_hline_num_incr: }
+ {
+ \tl_if_eq:nnTF {#1} {=}
+ { \tl_set_eq:NN \l__tblr_hline_num_tl \l__tblr_hline_count_tl }
+ {
+ \int_compare:nNnTF {#1} > { \l__tblr_hline_count_tl }
+ { \__tblr_set_hline_num_incr: }
+ { \tl_set:Nn \l__tblr_hline_num_tl {#1} }
+ }
+ }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_set_hline_num_incr:
+ {
+ \tl_set:Nx \l__tblr_hline_count_tl
+ { \int_eval:n { \l__tblr_hline_count_tl + 1 } }
+ \__tblr_prop_gput:nxx { hline }
+ { [\int_use:N \c@rownum] / @hline-count } { \l__tblr_hline_count_tl }
+ \tl_set_eq:NN \l__tblr_hline_num_tl \l__tblr_hline_count_tl
+ }
+
+\keys_define:nn { tblr-hline }
+ {
+ dash .code:n = \tl_set:Nn \l__tblr_hline_dash_tl { \exp_not:N \@tblr@dash #1 },
+ text .code:n = \tl_set:Nn \l__tblr_hline_dash_tl { \exp_not:N \@tblr@text #1 },
+ text .groups:n = { text },
+ wd .code:n = \tl_set:Nn \l__tblr_hline_wd_tl { \dim_eval:n {#1} },
+ fg .code:n = \tl_set:Nn \l__tblr_hline_fg_tl {#1},
+ baseline .code:n = \__tblr_hline_set_baseline:n {#1},
+ unknown .code:n = \__tblr_hline_unknown_key:V \l_keys_key_str,
+ }
+
+\cs_new_protected:Npn \__tblr_hline_unknown_key:n #1
+ {
+ \prop_if_in:NnTF \g__tblr_defined_hdash_styles_prop {#1}
+ { \tl_set:Nn \l__tblr_hline_dash_tl { \exp_not:N \@tblr@dash #1 } }
+ {
+ \regex_match:NnTF \c__tblr_is_color_key_regex {#1}
+ { \tl_set:Nn \l__tblr_hline_fg_tl {#1} }
+ {
+ \tl_set_rescan:Nnn \l__tblr_v_tl {} {#1}
+ \tl_set:Nn \l__tblr_hline_wd_tl { \dim_eval:n {\l__tblr_v_tl} }
+ }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_hline_unknown_key:n { V }
+
+\cs_new_protected_nopar:Npn \__tblr_set_hline_cmd:n #1
+ {
+ \__tblr_get_childs:nx {#1} { \int_use:N \c@colcount }
+ \clist_map_inline:Nn \l_tblr_childs_clist
+ {
+ \__tblr_prop_gput:nxx { hline }
+ { [\int_use:N \c@rownum][##1](\l__tblr_hline_num_tl) / @dash }
+ { \l__tblr_hline_dash_tl }
+ \tl_if_empty:NF \l__tblr_hline_wd_tl
+ {
+ \__tblr_prop_gput:nxx { hline }
+ { [\int_use:N \c@rownum][##1](\l__tblr_hline_num_tl) / wd }
+ { \l__tblr_hline_wd_tl }
+ }
+ \tl_if_empty:NF \l__tblr_hline_fg_tl
+ {
+ \__tblr_prop_gput:nxx { hline }
+ { [\int_use:N \c@rownum][##1](\l__tblr_hline_num_tl) / fg }
+ { \l__tblr_hline_fg_tl }
+ }
+ }
+ }
+
+\NewTableCommand \firsthline [1] [] { \SetHline [+] {-} { #1, baseline=below } }
+\NewTableCommand \lasthline [1] [] { \SetHline [+] {-} { #1, baseline=above } }
+
+\cs_new_protected:Npn \__tblr_hline_set_baseline:n #1
+ {
+ \tl_if_eq:nnTF {#1} {above}
+ {
+ \__tblr_prop_gput:nnx { table }
+ { baseline } { \int_eval:n { \c@rownum - 1 } }
+ }
+ {
+ \tl_if_eq:nnT {#1} {below}
+ {
+ \__tblr_prop_gput:nnx { table } { baseline } { \int_use:N \c@rownum }
+ }
+ }
+ }
+
+%% \SetVlines command for setting every vline in the table
+\NewTableCommand \SetVlines [3] [+]
+ {
+ \tblr_set_every_vline:nnn {#1} {#2} {#3}
+ }
+
+%% We put all code inside a group to avoid affecting other table commands
+\cs_new_protected:Npn \tblr_set_every_vline:nnn #1 #2 #3
+ {
+ \group_begin:
+ \int_step_inline:nn { \int_eval:n { \c@colcount + 1 } }
+ {
+ \int_set:Nn \c@colnum {##1}
+ \tblr_set_vline:nnn {#1} {#2} {#3}
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_every_vline in different ways
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_every_vline_aux:n #1
+ {
+ \tl_if_head_is_group:nTF {#1}
+ {
+ \int_compare:nNnTF { \tl_count:n {#1} } = {3}
+ { \tblr_set_every_vline:nnn #1 }
+ { \tblr_set_every_vline:nnn {1} #1 }
+ }
+ { \tblr_set_every_vline:nnn {1} {-} {#1} }
+ }
+
+%% Add \SetVline, \vline and \rline commands
+
+\tl_new:N \l__tblr_vline_count_tl % the count of all vlines
+\tl_new:N \l__tblr_vline_num_tl % the index of the vline
+\tl_new:N \l__tblr_vline_rows_tl % the rows of the vline
+\tl_new:N \l__tblr_vline_dash_tl % dash style
+\tl_new:N \l__tblr_vline_fg_tl % dash foreground
+\tl_new:N \l__tblr_vline_wd_tl % dash width
+
+\NewTableCommand \rline [2] [] { \SetVline [=] {#2} {#1} }
+
+\NewTableCommand \vline [1] [] { \SetVline [+] {-} {#1} }
+
+%% #1: the index of the vline (may be + or =)
+%% #2: which rows of the vline, separate by commas
+%% #3: key=value pairs
+\NewTableCommand \SetVline [3] [+]
+ {
+ \tblr_set_vline:nnn {#1} {#2} {#3}
+ }
+
+%% We need to check "text" key first
+%% If it does exist and has empty value, then do nothing
+\cs_new_protected:Npn \tblr_set_vline:nnn #1 #2 #3
+ {
+ \group_begin:
+ \keys_set_groups:nnn { tblr-vline } { text } {#3}
+ \tl_if_eq:NnF \l__tblr_vline_dash_tl { \exp_not:N \@tblr@text }
+ {
+ \__tblr_set_vline_num:n {#1}
+ \tl_clear:N \l__tblr_vline_dash_tl
+ \keys_set:nn { tblr-vline } { dash = solid, #3 }
+ \__tblr_set_vline_cmd:n {#2}
+ }
+ \group_end:
+ }
+
+\cs_new_protected:Npn \tblr_set_vline:nnnn #1 #2 #3 #4
+ {
+ \group_begin:
+ \__tblr_get_childs:nx {#1} { \int_eval:n { \c@colcount + 1} }
+ \clist_map_inline:Nn \l_tblr_childs_clist
+ {
+ \int_set:Nn \c@colnum {##1}
+ \tblr_set_vline:nnn {#2} {#3} {#4}
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_vline in different ways
+%% Note that #1 always includes an outer pair of braces
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_vline_aux:nn #1 #2
+ {
+ \tl_if_head_is_group:nTF {#2}
+ {
+ \int_compare:nNnTF { \tl_count:n {#2} } = {3}
+ { \tblr_set_vline:nnnn #1 #2 }
+ { \tblr_set_vline:nnnn #1 {1} #2 }
+ }
+ { \tblr_set_vline:nnnn #1 {1} {-} {#2} }
+ }
+\cs_generate_variant:Nn \__tblr_set_vline_aux:nn { Vn }
+
+%% #1: the index of vline to set (may be + or =)
+\cs_new_protected:Npn \__tblr_set_vline_num:n #1
+ {
+ \tl_clear:N \l__tblr_vline_num_tl
+ \tl_set:Nx \l__tblr_vline_count_tl
+ { \__tblr_prop_item:ne { vline } { [\int_use:N \c@colnum] / @vline-count } }
+ \tl_if_empty:NTF \l__tblr_vline_count_tl
+ {
+ \tl_set:Nx \l__tblr_vline_num_tl { 1 }
+ \__tblr_prop_gput:nxx { vline }
+ { [\int_use:N \c@colnum] / @vline-count } { 1 }
+ }
+ {
+ \tl_if_eq:nnTF {#1} {+}
+ { \__tblr_set_vline_num_incr: }
+ {
+ \tl_if_eq:nnTF {#1} {=}
+ { \tl_set_eq:NN \l__tblr_vline_num_tl \l__tblr_vline_count_tl }
+ {
+ \int_compare:nNnTF {#1} > { \l__tblr_vline_count_tl }
+ { \__tblr_set_vline_num_incr: }
+ { \tl_set:Nn \l__tblr_vline_num_tl {#1} }
+ }
+ }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_set_vline_num_incr:
+ {
+ \tl_set:Nx \l__tblr_vline_count_tl
+ { \int_eval:n { \l__tblr_vline_count_tl + 1 } }
+ \__tblr_prop_gput:nxx { vline }
+ { [\int_use:N \c@colnum] / @vline-count } { \l__tblr_vline_count_tl }
+ \tl_set_eq:NN \l__tblr_vline_num_tl \l__tblr_vline_count_tl
+ }
+
+\keys_define:nn { tblr-vline }
+ {
+ dash .code:n = \tl_set:Nn \l__tblr_vline_dash_tl { \exp_not:N \@tblr@dash #1 },
+ text .code:n = \tl_set:Nn \l__tblr_vline_dash_tl { \exp_not:N \@tblr@text #1 },
+ text .groups:n = { text },
+ wd .code:n = \tl_set:Nn \l__tblr_vline_wd_tl { \dim_eval:n {#1} },
+ fg .code:n = \tl_set:Nn \l__tblr_vline_fg_tl {#1},
+ unknown .code:n = \__tblr_vline_unknown_key:V \l_keys_key_str,
+ }
+
+\cs_new_protected:Npn \__tblr_vline_unknown_key:n #1
+ {
+ \prop_if_in:NnTF \g__tblr_defined_vdash_styles_prop {#1}
+ { \tl_set:Nn \l__tblr_vline_dash_tl { \exp_not:N \@tblr@dash #1 } }
+ {
+ \regex_match:NnTF \c__tblr_is_color_key_regex {#1}
+ { \tl_set:Nn \l__tblr_vline_fg_tl {#1} }
+ {
+ \tl_set_rescan:Nnn \l__tblr_v_tl {} {#1}
+ \tl_set:Nn \l__tblr_vline_wd_tl { \dim_eval:n {\l__tblr_v_tl} }
+ }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_vline_unknown_key:n { V }
+
+\cs_new_protected_nopar:Npn \__tblr_set_vline_cmd:n #1
+ {
+ \__tblr_get_childs:nx {#1} { \int_use:N \c@rowcount }
+ \clist_map_inline:Nn \l_tblr_childs_clist
+ {
+ \__tblr_prop_gput:nxx { vline }
+ { [##1][\int_use:N \c@colnum](\l__tblr_vline_num_tl) / @dash }
+ { \l__tblr_vline_dash_tl }
+ \tl_if_empty:NF \l__tblr_vline_wd_tl
+ {
+ \__tblr_prop_gput:nxx { vline }
+ { [##1][\int_use:N \c@colnum](\l__tblr_vline_num_tl) / wd }
+ { \l__tblr_vline_wd_tl }
+ }
+ \tl_if_empty:NF \l__tblr_vline_fg_tl
+ {
+ \__tblr_prop_gput:nxx { vline }
+ { [##1][\int_use:N \c@colnum](\l__tblr_vline_num_tl) / fg }
+ { \l__tblr_vline_fg_tl }
+ }
+ }
+ }
+
+%%% --------------------------------------------------------
+%% \section{Set Cells}
+%%% --------------------------------------------------------
+
+%% \SetCells command for setting every cell in the table
+\NewTableCommand \SetCells [2] []
+ {
+ \tblr_set_every_cell:nn {#1} {#2}
+ }
+
+%% We put all code inside a group to avoid affecting other table commands
+\cs_new_protected:Npn \tblr_set_every_cell:nn #1 #2
+ {
+ \group_begin:
+ \int_step_inline:nn { \c@rowcount }
+ {
+ \int_set:Nn \c@rownum {##1}
+ \int_step_inline:nn { \c@colcount }
+ {
+ \int_set:Nn \c@colnum {####1}
+ \tblr_set_cell:nn {#1} {#2}
+ }
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_every_cell in different ways
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_every_cell_aux:n #1
+ {
+ \tl_if_head_is_group:nTF {#1}
+ { \tblr_set_every_cell:nn #1 }
+ { \tblr_set_every_cell:nn {} {#1} }
+ }
+
+%% \SetCell command for multirow and/or multicolumn cells
+
+\NewTableCommand \SetCell [2] []
+ {
+ \tblr_set_cell:nn { #1 } { #2 }
+ }
+
+\tl_new:N \l__tblr_row_span_num_tl
+\tl_new:N \l__tblr_col_span_num_tl
+
+\cs_new_protected:Npn \tblr_set_cell:nn #1 #2
+ {
+ \tl_set:Nn \l__tblr_row_span_num_tl { 1 }
+ \tl_set:Nn \l__tblr_col_span_num_tl { 1 }
+ \keys_set:nn { tblr-cell-span } { #1 }
+ \keys_set:nn { tblr-cell-spec } { #2 }
+ \__tblr_set_span_spec:VV \l__tblr_row_span_num_tl \l__tblr_col_span_num_tl
+ }
+\cs_generate_variant:Nn \tblr_set_cell:nn { nV }
+
+\cs_new_protected:Npn \tblr_set_cell:nnnn #1 #2 #3 #4
+ {
+ \group_begin:
+ \__tblr_get_childs:nx {#1} { \int_use:N \c@rowcount }
+ \clist_set_eq:NN \l_tmpa_clist \l_tblr_childs_clist
+ \__tblr_get_childs:nx {#2} { \int_use:N \c@colcount }
+ \clist_set_eq:NN \l_tmpb_clist \l_tblr_childs_clist
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \int_set:Nn \c@rownum {##1}
+ \clist_map_inline:Nn \l_tmpb_clist
+ {
+ \int_set:Nn \c@colnum {####1}
+ \tblr_set_cell:nn {#3} {#4}
+ }
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_cell in different ways
+%% Note that #1 is always of the type {<i>}{<j>}
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_cell_aux:nn #1 #2
+ {
+ \tl_if_head_is_group:nTF {#2}
+ { \tblr_set_cell:nnnn #1 #2 }
+ { \tblr_set_cell:nnnn #1 {} {#2} }
+ }
+\cs_generate_variant:Nn \__tblr_set_cell_aux:nn { Vn }
+
+\keys_define:nn { tblr-cell-span }
+ {
+ r .tl_set:N = \l__tblr_row_span_num_tl,
+ c .tl_set:N = \l__tblr_col_span_num_tl,
+ }
+
+\keys_define:nn { tblr-cell-spec }
+ {
+ l .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / halign} {l},
+ c .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / halign} {c},
+ r .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / halign} {r},
+ t .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {t},
+ p .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {t},
+ m .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {m},
+ b .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {b},
+ h .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {h},
+ f .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {f},
+ wd .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / width} {#1},
+ bg .code:n = \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / background} {#1},
+ unknown .code:n = \__tblr_cell_unknown_key:V \l_keys_key_str,
+ }
+
+\cs_new_protected:Npn \__tblr_cell_unknown_key:n #1
+ {
+ \regex_match:NnTF \c__tblr_is_color_key_regex {#1}
+ {
+ \__tblr_prop_gput:nxx {cell}
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum] / background} {#1}
+ }
+ {
+ \tl_set_rescan:Nnn \l__tblr_v_tl {} {#1}
+ \__tblr_prop_gput:nxx {cell}
+ { [\int_use:N \c@rownum][\int_use:N \c@colnum] / width }
+ { \dim_eval:n { \l__tblr_v_tl } }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_cell_unknown_key:n { V }
+
+\cs_new_protected:Npn \__tblr_set_span_spec:nn #1 #2
+ {
+ \int_compare:nNnT { #1 } > { 1 }
+ {
+ \__tblr_prop_gput:nnn {table} {rowspan} {true}
+ \__tblr_prop_gput:nxn {cell}
+ { [\int_use:N \c@rownum][\int_use:N \c@colnum] / rowspan } { #1 }
+ }
+ \int_compare:nNnT { #2 } > { 1 }
+ {
+ \__tblr_prop_gput:nnn {table} {colspan} {true}
+ \__tblr_prop_gput:nxn {cell}
+ { [\int_use:N \c@rownum][\int_use:N \c@colnum] / colspan } { #2 }
+ }
+ \int_step_variable:nnNn
+ { \int_use:N \c@rownum } { \int_eval:n { \c@rownum + #1 - 1 } } \l__tblr_i_tl
+ {
+ \int_step_variable:nnNn
+ { \int_use:N \c@colnum } { \int_eval:n { \c@colnum + #2 - 1 } }
+ \l__tblr_j_tl
+ {
+ \bool_lazy_and:nnF
+ { \int_compare_p:nNn { \l__tblr_i_tl } = { \c@rownum } }
+ { \int_compare_p:nNn { \l__tblr_j_tl } = { \c@colnum } }
+ {
+ \__tblr_prop_gput:nxx {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / omit } {true}
+ }
+ \int_compare:nNnF { \l__tblr_i_tl } = { \c@rownum }
+ {
+ \__tblr_prop_gput:nxx {hline}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / omit } {true}
+ }
+ \int_compare:nNnF { \l__tblr_j_tl } = { \c@colnum }
+ {
+ \__tblr_prop_gput:nxx {vline}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / omit } {true}
+ }
+ }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_set_span_spec:nn { VV }
+
+%% Legacy \multicolumn and \multirow commands
+%% Both of them could be replaced with \SetCell command
+%% Note that they don't have cell text as the last arguments
+
+%% If \multicolumn is followed by \multirow,
+%% We need to call \tblr_set_cell together
+%% in order to omit all hlines inside the span cell.
+\tl_new:N \g__tblr_multicolumn_num_tl
+\tl_new:N \g__tblr_multicolumn_spec_tl
+
+%% There maybe p{2em} inside #2 of \multicolumn command
+\NewTableCommand \multicolumn [2]
+ {
+ \tl_gclear:N \g__tblr_multicolumn_num_tl
+ \tl_gclear:N \g__tblr_multicolumn_spec_tl
+ \tl_map_inline:nn {#2}
+ {
+ \bool_lazy_and:nnF
+ { \tl_if_single_token_p:n {##1} }
+ { \token_if_eq_charcode_p:NN ##1 | }
+ { \tl_put_right:Nn \g__tblr_multicolumn_spec_tl {,##1} }
+ }
+ \peek_meaning:NTF \multirow
+ { \tl_gset:Nn \g__tblr_multicolumn_num_tl {#1} }
+ { \tblr_set_cell:nV { c = #1 } \g__tblr_multicolumn_spec_tl }
+ }
+
+\NewTableCommand \multirow [3] [m]
+ {
+ \tl_if_eq:nnTF {#1} {c}
+ { \tl_set:Nn \l_tmpa_tl {, m} }
+ {
+ \tl_if_eq:nnTF {#1} {t}
+ { \tl_set:Nn \l_tmpa_tl {, h} }
+ { \tl_if_eq:nnTF {#1} {b}
+ { \tl_set:Nn \l_tmpa_tl {, f} }
+ { \tl_set:Nn \l_tmpa_tl {, #1} }
+ }
+ }
+ \tl_if_eq:nnF {#3} {*}
+ { \tl_if_eq:nnF {#3} {=} { \tl_put_right:Nn \l_tmpa_tl {, wd=#3} } }
+ \tl_if_empty:NTF \g__tblr_multicolumn_num_tl
+ { \tblr_set_cell:nV { r = #2 } \l_tmpa_tl }
+ {
+ \tl_put_left:NV \l_tmpa_tl \g__tblr_multicolumn_spec_tl
+ \exp_args:Nx \tblr_set_cell:nV
+ { c = \g__tblr_multicolumn_num_tl, r = #2 } \l_tmpa_tl
+ \tl_gclear:N \g__tblr_multicolumn_num_tl
+ }
+ }
+
+%%% --------------------------------------------------------
+%% \section{Set Columns and Rows}
+%%% --------------------------------------------------------
+
+%% \SetColumns command for setting every column in the table
+\NewTableCommand \SetColumns [2] []
+ {
+ \tblr_set_every_column:nn {#1} {#2}
+ }
+
+%% We put all code inside a group to avoid affecting other table commands
+\cs_new_protected:Npn \tblr_set_every_column:nn #1 #2
+ {
+ \group_begin:
+ \int_step_inline:nn { \c@colcount }
+ {
+ \int_set:Nn \c@colnum {##1}
+ \tblr_set_column:nn {#1} {#2}
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_every_column in different ways
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_every_column_aux:n #1
+ {
+ \tl_if_head_is_group:nTF {#1}
+ { \tblr_set_every_column:nn #1 }
+ { \tblr_set_every_column:nn {} {#1} }
+ }
+
+%% \SetColumn command for current column or each cells in the column
+
+\NewTableCommand \SetColumn [2] []
+ {
+ \tblr_set_column:nn {#1} {#2}
+ }
+
+\cs_new_protected:Npn \tblr_set_column:nn #1 #2
+ {
+ \keys_set:nn { tblr-column } {#2}
+ }
+
+\cs_new_protected:Npn \tblr_set_column:nnn #1 #2 #3
+ {
+ \group_begin:
+ \__tblr_get_childs:nx {#1} { \int_use:N \c@colcount }
+ \clist_map_inline:Nn \l_tblr_childs_clist
+ {
+ \int_set:Nn \c@colnum {##1}
+ \tblr_set_column:nn {#2} {#3}
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_column in different ways
+%% Note that #1 always includes an outer pair of braces
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_column_aux:nn #1 #2
+ {
+ \tl_if_head_is_group:nTF {#2}
+ { \tblr_set_column:nnn #1 #2 }
+ { \tblr_set_column:nnn #1 {} {#2} }
+ }
+\cs_generate_variant:Nn \__tblr_set_column_aux:nn { Vn }
+
+\keys_define:nn { tblr-column }
+ {
+ l .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { halign } {l},
+ c .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { halign } {c},
+ r .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { halign } {r},
+ t .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { valign } {t},
+ p .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { valign } {t},
+ m .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { valign } {m},
+ b .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { valign } {b},
+ h .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { valign } {h},
+ f .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { valign } {f},
+ bg .code:n = \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { background } {#1},
+ wd .code:n = \__tblr_prop_gput:nxx { column }
+ { [\int_use:N \c@colnum] / width } { \dim_eval:n {#1} },
+ co .code:n = \__tblr_prop_gput:nxx { column }
+ { [\int_use:N \c@colnum] / coefficient } {#1},
+ leftsep .code:n = \__tblr_prop_gput:nxx { column }
+ { [\int_use:N \c@colnum] / leftsep } { \dim_eval:n {#1} },
+ rightsep .code:n = \__tblr_prop_gput:nxx { column }
+ { [\int_use:N \c@colnum] / rightsep } { \dim_eval:n {#1} },
+ colsep .meta:n = { leftsep = #1, rightsep = #1},
+ leftsep+ .code:n = \__tblr_prop_gadd_dimen_value:nxx { column }
+ { [\int_use:N \c@colnum] / leftsep } { \dim_eval:n {#1} },
+ rightsep+ .code:n = \__tblr_prop_gadd_dimen_value:nxx { column }
+ { [\int_use:N \c@colnum] / rightsep } { \dim_eval:n {#1} },
+ colsep+ .meta:n = { leftsep+ = #1, rightsep+ = #1},
+ unknown .code:n = \__tblr_column_unknown_key:V \l_keys_key_str,
+ }
+
+%% #1: column number; #2: key; #3: value
+\cs_new_protected:Npn \__tblr_set_key_for_every_column_cell:nnn #1 #2 #3
+ {
+ \int_step_inline:nn { \c@rowcount }
+ {
+ \__tblr_prop_gput:nxn {cell} { [##1][#1] / #2 } {#3}
+ }
+ }
+
+\regex_const:Nn \c__tblr_is_number_key_regex { ^[\+\-]? (\d+|\d*\.\d+)$ }
+
+\cs_new_protected:Npn \__tblr_column_unknown_key:n #1
+ {
+ \regex_match:NnTF \c__tblr_is_number_key_regex {#1}
+ {
+ \__tblr_prop_gput:nxx { column }
+ { [\int_use:N \c@colnum] / coefficient } {#1}
+ }
+ {
+ \regex_match:NnTF \c__tblr_is_color_key_regex {#1}
+ {
+ \__tblr_set_key_for_every_column_cell:nnn
+ { \int_use:N \c@colnum } { background } {#1}
+ }
+ {
+ \tl_set_rescan:Nnn \l__tblr_v_tl {} {#1}
+ \__tblr_prop_gput:nxx { column }
+ { [\int_use:N \c@colnum] / width } { \dim_eval:n { \l__tblr_v_tl } }
+ }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_column_unknown_key:n { V }
+
+%% \SetRows command for setting every row in the table
+\NewTableCommand \SetRows [2] []
+ {
+ \tblr_set_every_row:nn {#1} {#2}
+ }
+
+%% We put all code inside a group to avoid affecting other table commands
+\cs_new_protected:Npn \tblr_set_every_row:nn #1 #2
+ {
+ \group_begin:
+ \int_step_inline:nn { \c@rowcount }
+ {
+ \int_set:Nn \c@rownum {##1}
+ \tblr_set_row:nn {#1} {#2}
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_every_row in different ways
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_every_row_aux:n #1
+ {
+ \tl_if_head_is_group:nTF {#1}
+ { \tblr_set_every_row:nn #1 }
+ { \tblr_set_every_row:nn {} {#1} }
+ }
+
+%% \SetRow command for current row or each cells in the row
+
+\NewTableCommand \SetRow [2] []
+ {
+ \tblr_set_row:nn {#1} {#2}
+ }
+
+\cs_new_protected:Npn \tblr_set_row:nn #1 #2
+ {
+ \keys_set:nn { tblr-row } {#2}
+ }
+
+\cs_new_protected:Npn \tblr_set_row:nnn #1 #2 #3
+ {
+ \group_begin:
+ \__tblr_get_childs:nx {#1} { \int_use:N \c@rowcount }
+ \clist_map_inline:Nn \l_tblr_childs_clist
+ {
+ \int_set:Nn \c@rownum {##1}
+ \tblr_set_row:nn {#2} {#3}
+ }
+ \group_end:
+ }
+
+%% Check the number of arguments and call \tblr_set_row in different ways
+%% Note that #1 always includes an outer pair of braces
+%% This function is called when parsing table specifications
+\cs_new_protected:Npn \__tblr_set_row_aux:nn #1 #2
+ {
+ \tl_if_head_is_group:nTF {#2}
+ { \tblr_set_row:nnn #1 #2 }
+ { \tblr_set_row:nnn #1 {} {#2} }
+ }
+\cs_generate_variant:Nn \__tblr_set_row_aux:nn { Vn }
+
+\keys_define:nn { tblr-row }
+ {
+ l .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { halign } {l},
+ c .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { halign } {c},
+ r .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { halign } {r},
+ t .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { valign } {t},
+ p .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { valign } {t},
+ m .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { valign } {m},
+ b .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { valign } {b},
+ h .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { valign } {h},
+ f .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { valign } {f},
+ bg .code:n = \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { background } {#1},
+ ht .code:n = \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
+ { height } { \dim_eval:n {#1} },
+ co .code:n = \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
+ { coefficient } {#1},
+ abovesep .code:n = \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
+ { abovesep } { \dim_eval:n {#1} },
+ belowsep .code:n = \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
+ { belowsep } { \dim_eval:n {#1} },
+ rowsep .meta:n = { abovesep = #1, belowsep = #1},
+ abovesep+ .code:n = \__tblr_data_gadd_dimen_value:nene { row }
+ { \int_use:N \c@rownum } { abovesep } { \dim_eval:n {#1} },
+ belowsep+ .code:n = \__tblr_data_gadd_dimen_value:nene { row }
+ { \int_use:N \c@rownum } { belowsep } { \dim_eval:n {#1} },
+ rowsep+ .meta:n = { abovesep+ = #1, belowsep+ = #1},
+ nobreak .code:n = \__tblr_prop_gput:nxx { row }
+ { [\int_eval:n {\c@rownum - 1}] / nobreak } { true },
+ unknown .code:n = \__tblr_row_unknown_key:V \l_keys_key_str,
+ }
+
+%% #1: row number; #2: key; #3: value
+\cs_new_protected:Npn \__tblr_set_key_for_every_row_cell:nnn #1 #2 #3
+ {
+ \int_step_inline:nn { \c@colcount }
+ {
+ \__tblr_prop_gput:nxn {cell} { [#1][##1] / #2 } {#3}
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_row_unknown_key:n #1
+ {
+ \regex_match:NnTF \c__tblr_is_number_key_regex {#1}
+ {
+ \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
+ { coefficient } {#1}
+ }
+ {
+ \regex_match:NnTF \c__tblr_is_color_key_regex {#1}
+ {
+ \__tblr_set_key_for_every_row_cell:nnn
+ { \int_use:N \c@rownum } { background } {#1}
+ }
+ {
+ \tl_set_rescan:Nnn \l__tblr_v_tl {} {#1}
+ \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
+ { height } { \dim_eval:n { \l__tblr_v_tl } }
+ }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_row_unknown_key:n { V }
+
+%%% --------------------------------------------------------
+%% \section{Column Types and Row Types}
+%%% --------------------------------------------------------
+
+%% Some primitive column/row types
+
+\str_const:Nn \c_tblr_primitive_colrow_types_str { Q | < > }
+\tl_new:N \g__tblr_expanded_colrow_spec_tl
+
+\exp_args:Nc \NewDocumentCommand { tblr_primitive_column_type_ Q } { O{} }
+ {
+ \keys_set:nn { tblr-column } { #1 }
+ \int_incr:N \c@colnum
+ \__tblr_execute_colrow_spec_next:N
+ }
+\exp_args:Nc \NewDocumentCommand { tblr_column_type_ Q } { O{} }
+ {
+ \tl_gput_right:Nn \g__tblr_expanded_colrow_spec_tl { Q[#1] }
+ \__tblr_expand_colrow_spec_next:N
+ }
+
+\exp_args:Nc \NewDocumentCommand { tblr_primitive_row_type_ Q } { O{} }
+ {
+ \keys_set:nn { tblr-row } { #1 }
+ \int_incr:N \c@rownum
+ \__tblr_execute_colrow_spec_next:N
+ }
+\exp_args:Nc \NewDocumentCommand { tblr_row_type_ Q } { O{} }
+ {
+ \tl_gput_right:Nn \g__tblr_expanded_colrow_spec_tl { Q[#1] }
+ \__tblr_expand_colrow_spec_next:N
+ }
+
+\exp_args:Nc \NewDocumentCommand { tblr_primitive_column_type_ | } { O{} }
+ {
+ \vline [#1]
+ \__tblr_execute_colrow_spec_next:N
+ }
+\exp_args:Nc \NewDocumentCommand { tblr_column_type_ | } { O{} }
+ {
+ \tl_gput_right:Nn \g__tblr_expanded_colrow_spec_tl { |[#1] }
+ \__tblr_expand_colrow_spec_next:N
+ }
+
+\exp_args:Nc \NewDocumentCommand { tblr_primitive_row_type_ | } { O{} }
+ {
+ \hline [#1]
+ \__tblr_execute_colrow_spec_next:N
+ }
+\exp_args:Nc \NewDocumentCommand { tblr_row_type_ | } { O{} }
+ {
+ \tl_gput_right:Nn \g__tblr_expanded_colrow_spec_tl { |[#1] }
+ \__tblr_expand_colrow_spec_next:N
+ }
+
+\exp_args:Nc \NewDocumentCommand { tblr_primitive_column_type_ > } { O{} m }
+ {
+ \tl_if_blank:nF { #1 }
+ {
+ \__tblr_prop_gput:nxx
+ { column }
+ { [\int_use:N \c@colnum] / leftsep}
+ { \dim_eval:n { #1 } }
+ }
+ \tl_if_blank:nF { #2 }
+ {
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \__tblr_prop_item:ne {text}
+ { [\l__tblr_i_tl][\int_use:N \c@colnum] }
+ }
+ \tl_put_left:Nn \l_tmpa_tl { #2 }
+ \__tblr_prop_gput:nxV {text}
+ { [\l__tblr_i_tl][\int_use:N \c@colnum] } \l_tmpa_tl
+ }
+ }
+ \__tblr_execute_colrow_spec_next:N
+ }
+\exp_args:Nc \NewDocumentCommand { tblr_column_type_ > } { O{} m }
+ {
+ \tl_gput_right:Nn \g__tblr_expanded_colrow_spec_tl { >[#1]{#2} }
+ \__tblr_expand_colrow_spec_next:N
+ }
+
+\exp_args:Nc \NewDocumentCommand { tblr_primitive_row_type_ > } { O{} m }
+ {
+ \tl_if_blank:nF { #1 }
+ {
+ \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
+ { abovesep } { \dim_eval:n { #1 } }
+ }
+ \tl_if_blank:nF { #2 }
+ {
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \__tblr_prop_item:ne {text}
+ { [\int_use:N \c@rownum][\l__tblr_j_tl] }
+ }
+ \tl_put_left:Nn \l_tmpa_tl { #2 }
+ \__tblr_prop_gput:nxV {text}
+ { [\int_use:N \c@rownum][\l__tblr_j_tl] } \l_tmpa_tl
+ }
+ }
+ \__tblr_execute_colrow_spec_next:N
+ }
+\exp_args:Nc \NewDocumentCommand { tblr_row_type_ > } { O{} m }
+ {
+ \tl_gput_right:Nn \g__tblr_expanded_colrow_spec_tl { >[#1]{#2} }
+ \__tblr_expand_colrow_spec_next:N
+ }
+
+\exp_args:Nc \NewDocumentCommand { tblr_primitive_column_type_ < } { O{} m }
+ {
+ \tl_if_blank:nF { #1 }
+ {
+ \__tblr_prop_gput:nxx
+ { column }
+ { [\int_eval:n {\c@colnum - 1}] / rightsep }
+ { \dim_eval:n { #1 } }
+ }
+ \tl_if_blank:nF { #2 }
+ {
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \__tblr_prop_item:ne {text}
+ { [\l__tblr_i_tl][\int_eval:n {\c@colnum - 1}] }
+ }
+ \tl_put_right:Nn \l_tmpa_tl { #2 }
+ \__tblr_prop_gput:nxV {text}
+ { [\l__tblr_i_tl][\int_eval:n {\c@colnum - 1}] } \l_tmpa_tl
+ }
+ }
+ \__tblr_execute_colrow_spec_next:N
+ }
+\exp_args:Nc \NewDocumentCommand { tblr_column_type_ < } { O{} m }
+ {
+ \tl_gput_right:Nn \g__tblr_expanded_colrow_spec_tl { <[#1]{#2} }
+ \__tblr_expand_colrow_spec_next:N
+ }
+
+\exp_args:Nc \NewDocumentCommand { tblr_primitive_row_type_ < } { O{} m }
+ {
+ \tl_if_blank:nF { #1 }
+ {
+ \__tblr_data_gput:nene { row } { \int_eval:n {\c@rownum - 1} }
+ { belowsep } { \dim_eval:n {#1} }
+ }
+ \tl_if_blank:nF { #2 }
+ {
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \__tblr_prop_item:ne {text}
+ { [\int_eval:n {\c@rownum - 1}][\l__tblr_j_tl] }
+ }
+ \tl_put_right:Nn \l_tmpa_tl { #2 }
+ \__tblr_prop_gput:nxV {text}
+ { [\int_eval:n {\c@rownum - 1}][\l__tblr_j_tl] } \l_tmpa_tl
+ }
+ }
+ \__tblr_execute_colrow_spec_next:N
+ }
+\exp_args:Nc \NewDocumentCommand { tblr_row_type_ < } { O{} m }
+ {
+ \tl_gput_right:Nn \g__tblr_expanded_colrow_spec_tl { <[#1]{#2} }
+ \__tblr_expand_colrow_spec_next:N
+ }
+
+%% \NewColumnType/\NewRowType command and predefined column/row types
+
+\str_new:N \g_tblr_used_column_types_str
+\str_gset_eq:NN \g_tblr_used_column_types_str \c_tblr_primitive_colrow_types_str
+
+\str_new:N \g_tblr_used_row_types_str
+\str_gset_eq:NN \g_tblr_used_row_types_str \c_tblr_primitive_colrow_types_str
+
+\bool_new:N \g__tblr_colrow_spec_expand_stop_bool
+\tl_new:N \g__tblr_column_or_row_tl
+
+\msg_new:nnn { tabularray } { used-colrow-type }
+ { #1 ~ type ~ name ~ #2 ~ has ~ been ~ used! }
+
+\NewDocumentCommand \NewColumnType { m O{0} o m }
+ {
+ \tl_set:Nn \g__tblr_column_or_row_tl { column }
+ \__tblr_new_column_or_row_type:nnnn {#1} {#2} {#3} {#4}
+ }
+
+\NewDocumentCommand \NewRowType { m O{0} o m }
+ {
+ \tl_set:Nn \g__tblr_column_or_row_tl { row }
+ \__tblr_new_column_or_row_type:nnnn {#1} {#2} {#3} {#4}
+ }
+
+\NewDocumentCommand \NewColumnRowType { m O{0} o m }
+ {
+ \tl_set:Nn \g__tblr_column_or_row_tl { column }
+ \__tblr_new_column_or_row_type:nnnn {#1} {#2} {#3} {#4}
+ \tl_set:Nn \g__tblr_column_or_row_tl { row }
+ \__tblr_new_column_or_row_type:nnnn {#1} {#2} {#3} {#4}
+ }
+
+\cs_new_protected:Npn \__tblr_new_column_or_row_type:nnnn #1 #2 #3 #4
+ {
+ \str_if_in:cnTF { g_tblr_used_ \g__tblr_column_or_row_tl _types_str } {#1}
+ {
+ \tl_if_eq:NnTF \g__tblr_column_or_row_tl { row }
+ { \msg_warning:nnnn { tabularray } { used-colrow-type } { Row } {#1} }
+ { \msg_warning:nnnn { tabularray } { used-colrow-type } { Column } {#1} }
+ \str_log:c { g_tblr_used_ \g__tblr_column_or_row_tl _types_str }
+ }
+ {
+ \__tblr_make_xparse_arg_spec:nnN {#2} {#3} \l__tblr_a_tl
+ \exp_args:NcV \NewDocumentCommand
+ { tblr_ \g__tblr_column_or_row_tl _type_ #1 } \l__tblr_a_tl
+ {
+ \bool_gset_false:N \g__tblr_colrow_spec_expand_stop_bool
+ \tl_gput_right:Nf \g__tblr_expanded_colrow_spec_tl {#4}
+ \__tblr_expand_colrow_spec_next:N
+ }
+ \str_gput_right:cn
+ { g_tblr_used_ \g__tblr_column_or_row_tl _types_str } {#1}
+ }
+ }
+
+\NewColumnRowType { l } { Q[l] }
+\NewColumnRowType { c } { Q[c] }
+\NewColumnRowType { r } { Q[r] }
+
+\NewColumnType { t } [1] { Q[t,wd=#1] }
+\NewColumnType { p } [1] { Q[p,wd=#1] }
+\NewColumnType { m } [1] { Q[m,wd=#1] }
+\NewColumnType { b } [1] { Q[b,wd=#1] }
+\NewColumnType { h } [1] { Q[h,wd=#1] }
+\NewColumnType { f } [1] { Q[f,wd=#1] }
+
+\NewRowType { t } [1] { Q[t,ht=#1] }
+\NewRowType { p } [1] { Q[p,ht=#1] }
+\NewRowType { m } [1] { Q[m,ht=#1] }
+\NewRowType { b } [1] { Q[b,ht=#1] }
+\NewRowType { h } [1] { Q[h,ht=#1] }
+\NewRowType { f } [1] { Q[f,ht=#1] }
+
+\NewColumnRowType { X } [1][] { Q[co=1,#1] }
+
+\NewColumnRowType { ! } [1] { |[text={#1}] }
+\NewColumnRowType { @ } [1] { <[0pt]{} |[text={#1}] >[0pt]{} }
+\NewColumnRowType { * } [2] { \prg_replicate:nn {#1} {#2} }
+
+\cs_new_protected:Npn \__tblr_parse_colrow_spec:nn #1 #2
+ {
+ \tl_gset:Nn \g__tblr_column_or_row_tl {#1}
+ \tl_gset:Nn \g__tblr_expanded_colrow_spec_tl {#2}
+ \__tblr_expand_colrow_spec:N \g__tblr_expanded_colrow_spec_tl
+ \__tblr_execute_colrow_spec:N \g__tblr_expanded_colrow_spec_tl
+ }
+
+%% Expand defined column/row types
+
+\cs_new_protected:Npn \__tblr_expand_colrow_spec:N #1
+ {
+ \bool_do_until:Nn \g__tblr_colrow_spec_expand_stop_bool
+ {
+ \LogTblrTracing { colspec, rowspec }
+ \bool_gset_true:N \g__tblr_colrow_spec_expand_stop_bool
+ \tl_set_eq:NN \l_tmpa_tl #1
+ \tl_gclear:N #1
+ \exp_last_unbraced:NV
+ \__tblr_expand_colrow_spec_next:N \l_tmpa_tl \scan_stop:
+ }
+ }
+
+\msg_new:nnn { tabularray } { unexpandable-colrow-type }
+ { Unexpandable ~ command ~ #2 inside ~ #1 ~ type! }
+
+\msg_new:nnn { tabularray } { unknown-colrow-type }
+ { Unknown ~ #1 ~ type ~ #2! }
+
+\cs_new_protected:Npn \__tblr_expand_colrow_spec_next:N #1
+ {
+ \token_if_eq_catcode:NNTF #1 \scan_stop:
+ {
+ \token_if_eq_meaning:NNF #1 \scan_stop:
+ {
+ \msg_error:nnVn { tabularray } { unexpandable-colrow-type }
+ \g__tblr_column_or_row_tl {#1}
+ }
+ }
+ {
+ \str_if_in:cnTF { g_tblr_used_ \g__tblr_column_or_row_tl _types_str } {#1}
+ { \cs:w tblr_ \g__tblr_column_or_row_tl _type_ #1 \cs_end: }
+ {
+ \msg_error:nnVn { tabularray } { unknown-colrow-type }
+ \g__tblr_column_or_row_tl {#1}
+ \str_log:c { g_tblr_used_ \g__tblr_column_or_row_tl _types_str }
+ }
+ }
+ }
+
+%% Execute primitive column/row types
+
+\cs_new_protected:Npn \__tblr_execute_colrow_spec:N #1
+ {
+ \tl_if_eq:NnTF \g__tblr_column_or_row_tl { row }
+ { \int_set:Nn \c@rownum {1} }
+ { \int_set:Nn \c@colnum {1} }
+ \exp_last_unbraced:NV \__tblr_execute_colrow_spec_next:N #1 \scan_stop:
+ }
+
+\cs_new_protected:Npn \__tblr_execute_colrow_spec_next:N #1
+ {
+ \token_if_eq_meaning:NNF #1 \scan_stop:
+ { \cs:w tblr_primitive_ \g__tblr_column_or_row_tl _type_ #1 \cs_end: }
+ }
+
+%%% --------------------------------------------------------
+%% \section{Tabularray Environments}
+%%% --------------------------------------------------------
+
+\tl_new:N \l__tblr_env_name_tl
+\bool_new:N \l__tblr_math_mode_bool
+
+\NewDocumentEnvironment { tblr } { O{c} m +b }
+ {
+ \tl_set:Nn \l__tblr_env_name_tl { tblr }
+ \mode_if_math:TF
+ { \bool_set_true:N \l__tblr_math_mode_bool }
+ { \bool_set_false:N \l__tblr_math_mode_bool }
+ \buildtblr {#1} {#2} {#3}
+ } { }
+
+%% Read, split and build the table
+
+\cs_new_protected:Npn \buildtblr #1 #2 #3
+ {
+ \mode_leave_vertical:
+ \int_gincr:N \g_tblr_level_int
+ \__tblr_clear_prop_lists:
+ \__tblr_enable_table_commands:
+ \__tblr_split_table:n { #3 }
+ \LogTblrTracing { command }
+ \bool_if:NT \g__tblr_use_intarray_bool { \__tblr_initial_table_data: }
+ \__tblr_initial_table_spec:
+ \LogTblrTracing { table }
+ \__tblr_parse_table_spec:n { #2 }
+ \__tblr_execute_table_commands:
+ \__tblr_disable_table_commands:
+ \__tblr_calc_cell_and_line_sizes:
+ \__tblr_build_whole:n { #1 }
+ \int_gdecr:N \g_tblr_level_int
+ }
+
+\cs_new_protected:Npn \__tblr_clear_prop_lists:
+ {
+ \prop_gclear_new:c { g_tblr_text_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g_tblr_command_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g_tblr_table_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g_tblr_row_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g_tblr_column_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g_tblr_cell_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g_tblr_hline_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g_tblr_vline_ \int_use:N \g_tblr_level_int _prop }
+ }
+
+%% Insert and remove braces for nesting environments inside cells
+%% These make line split and cell split workable
+%% We need to replace N times for N level nestings
+\regex_const:Nn \c__tblr_insert_braces_regex
+ {
+ \c{begin} \cB\{ (\c[^BE].*) \cE\} (.*?) \c{end} \cB\{ (\c[^BE].*) \cE\}
+ }
+\tl_const:Nn \c__tblr_insert_braces_tl
+ {
+ \c{begin} \cB\{ \cB\{ \1 \cE\} \2 \c{end} \cE\} \cB\{ \3 \cE\}
+ }
+\regex_const:Nn \c__tblr_remove_braces_regex
+ {
+ \c{begin} \cB\{ \cB\{ (.*?) \c{end} \cE\}
+ }
+\tl_const:Nn \c__tblr_remove_braces_tl
+ {
+ \c{begin} \cB\{ \1 \c{end}
+ }
+\cs_new_protected:Npn \__tblr_insert_braces:N #1
+ {
+ \regex_replace_all:NVN \c__tblr_insert_braces_regex \c__tblr_insert_braces_tl #1
+ \regex_replace_all:NVN \c__tblr_insert_braces_regex \c__tblr_insert_braces_tl #1
+ }
+\cs_new_protected:Npn \__tblr_remove_braces:N #1
+ {
+ \regex_replace_all:NVN \c__tblr_remove_braces_regex \c__tblr_remove_braces_tl #1
+ \regex_replace_all:NVN \c__tblr_remove_braces_regex \c__tblr_remove_braces_tl #1
+ }
+
+%% Split table content to cells and store them
+%% #1: table content
+
+\seq_new:N \l_tblr_lines_seq
+
+\cs_new_protected:Npn \__tblr_split_table:n #1
+ {
+ \int_zero:N \c@rowcount
+ \int_zero:N \c@colcount
+ \__tblr_split_table_to_lines:nN { #1 } \l_tblr_lines_seq
+ \__tblr_split_lines_to_cells:N \l_tblr_lines_seq
+ }
+
+%% Split table content to a sequence of lines
+%% #1: table content, #2: resulting sequence of lines
+\cs_new_protected:Npn \__tblr_split_table_to_lines:nN #1 #2
+ {
+ \tl_set:Nn \l_tmpa_tl { #1 }
+ \__tblr_insert_braces:N \l_tmpa_tl
+ \seq_set_split:NnV \l_tmpa_seq { \\ } \l_tmpa_tl
+ \seq_clear:N #2
+ \seq_map_inline:Nn \l_tmpa_seq
+ {
+ \tl_if_head_eq_meaning:nNTF {##1} *
+ {
+ \tl_set:Nn \l__tblr_b_tl { \SetRow{nobreak} }
+ \tl_set:Nx \l__tblr_c_tl { \tl_tail:n {##1} }
+ \tl_trim_spaces:N \l__tblr_c_tl %% Ignore spaces between * and [dimen]
+ \tl_log:N \l__tblr_c_tl
+ \tl_if_head_eq_meaning:VNT \l__tblr_c_tl [
+ {
+ \tl_put_right:Nn \l__tblr_b_tl { \RowBefore@AddBelowSep }
+ }
+ \tl_put_right:NV \l__tblr_b_tl \l__tblr_c_tl
+ \seq_put_right:NV #2 \l__tblr_b_tl
+ }
+ {
+ \tl_if_head_eq_meaning:nNTF { ##1 } [
+ { \seq_put_right:Nn #2 { \RowBefore@AddBelowSep ##1 } }
+ { \seq_put_right:Nn #2 { ##1 } }
+ }
+ }
+ \int_set:Nn \c@rowcount { \seq_count:N #2 }
+ }
+
+%% Treat \\[dimen] command
+\NewTableCommand \RowBefore@AddBelowSep [1] []
+ {
+ \IfValueT { #1 }
+ {
+ \__tblr_data_gadd_dimen_value:nene { row }
+ { \int_eval:n {\c@rownum - 1} } { belowsep } {#1}
+ }
+ }
+
+%% Split table lines to cells and store them
+%% #1: sequence of lines
+\cs_new_protected:Npn \__tblr_split_lines_to_cells:N #1
+ {
+ \seq_map_indexed_function:NN #1 \__tblr_split_one_line:nn
+ \LogTblrTracing { text }
+ }
+
+%% Split one line into cells and store them
+%% #1: row number, #2 the line text
+\cs_new_protected:Npn \__tblr_split_one_line:nn #1 #2
+ {
+ \seq_set_split:Nnn \l_tmpa_seq { & } { #2 }
+ \int_set:Nn \c@rownum {#1}
+ \int_zero:N \c@colnum
+ \seq_map_inline:Nn \l_tmpa_seq
+ {
+ \tl_set:Nn \l_tmpa_tl { ##1 }
+ \__tblr_remove_braces:N \l_tmpa_tl
+ \int_incr:N \c@colnum
+ \__tblr_extract_table_commands:N \l_tmpa_tl
+ \__tblr_prop_gput:nxV {text} { [#1][\int_use:N \c@colnum] } \l_tmpa_tl
+ \__tblr_add_multicolumn_empty_cell:
+ }
+ %% Decrease row count by 1 if the last row has only one empty cell text
+ %% We need to do it here since the > or < column type may add text to cells
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn {\c@colnum} = {1} }
+ { \tl_if_empty_p:N \l_tmpa_tl }
+ { \int_decr:N \c@rowcount }
+ {
+ \__tblr_prop_gput:nnx
+ {row} { [#1] / cell-number } { \int_use:N \c@colnum }
+ \int_compare:nT { \c@colnum > \c@colcount }
+ {
+ \int_set_eq:NN \c@colcount \c@colnum
+ }
+ }
+ }
+
+%% Add empty cells after the \multicolumn span cell
+\cs_new_protected:Npn \__tblr_add_multicolumn_empty_cell:
+ {
+ \int_step_inline:nn { \l__multicolumn_cell_number_int - 1 }
+ {
+ \int_incr:N \c@colnum
+ \__tblr_prop_gput:nxn {text}
+ { [\int_use:N \c@rownum][\int_use:N \c@colnum] } { }
+ }
+ }
+
+%%% --------------------------------------------------------
+%% \section{Extract Table Commands from Cell Text}
+%%% --------------------------------------------------------
+
+%% Extract table commands defined with \NewTableCommand from cell text
+
+\clist_gset:Nn \g__tblr_table_commands_unbrace_next_clist {\multirow, \multicolumn}
+\bool_new:N \l__tblr_table_command_unbrace_next_bool
+\int_new:N \l__multicolumn_cell_number_int
+\tl_new:N \l__tblr_saved_table_commands_before_cell_text_tl
+\tl_new:N \l__tblr_saved_cell_text_after_table_commands_tl
+
+\cs_new_protected:Npn \__tblr_extract_table_commands:N #1
+ {
+ \tl_clear:N \l__tblr_saved_table_commands_before_cell_text_tl
+ \tl_clear:N \l__tblr_saved_cell_text_after_table_commands_tl
+ \int_set:Nn \l__multicolumn_cell_number_int {1}
+ \exp_last_unbraced:NV \__tblr_extract_table_commands_next:w #1 \scan_stop:
+ \tl_if_empty:NF \l__tblr_saved_table_commands_before_cell_text_tl
+ {
+ \__tblr_prop_gput:nxV { command }
+ {[\int_use:N \c@rownum][\int_use:N \c@colnum]}
+ \l__tblr_saved_table_commands_before_cell_text_tl
+ }
+ \tl_set_eq:NN #1 \l__tblr_saved_cell_text_after_table_commands_tl
+ }
+
+%% #1 maybe a single token or multiple tokens given in braces
+\cs_new_protected:Npn \__tblr_extract_table_commands_next:w #1
+ {
+ \clist_if_in:NnTF \g__tblr_table_commands_clist { #1 }
+ {
+ \clist_if_in:NnTF \g__tblr_table_commands_unbrace_next_clist { #1 }
+ { \bool_set_true:N \l__tblr_table_command_unbrace_next_bool }
+ { \bool_set_false:N \l__tblr_table_command_unbrace_next_bool }
+ \token_if_eq_meaning:NNTF #1 \multicolumn
+ { \__tblr_extract_multicolumn_command:Nn #1 }
+ { \__tblr_extract_one_table_command:N #1 }
+ }
+ {
+ \tl_if_single_token:nTF {#1}
+ {
+ \token_if_eq_meaning:NNF #1 \scan_stop:
+ { \__tblr_save_real_cell_text:w #1 }
+ }
+ { \__tblr_save_real_cell_text:w {#1} }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_extract_multicolumn_command:Nn #1 #2
+ {
+ \int_set:Nn \l__multicolumn_cell_number_int {#2}
+ \__tblr_extract_one_table_command:N #1 {#2}
+ }
+
+\cs_new_protected:Npn \__tblr_extract_one_table_command:N #1
+ {
+ \int_set:Nn \l__tblr_a_int
+ { \cs:w g__tblr_table_cmd_ \cs_to_str:N #1 _arg_numb_tl \cs_end: }
+ \tl_put_right:Nn \l__tblr_saved_table_commands_before_cell_text_tl {#1}
+ \int_compare:nNnTF {\l__tblr_a_int} < {0}
+ {
+ \int_set:Nn \l__tblr_a_int { \int_abs:n {\l__tblr_a_int} - 1 }
+ \peek_charcode:NTF [
+ { \__tblr_extract_table_command_arg_o:w }
+ { \__tblr_extract_table_command_arg_next: }
+ }
+ { \__tblr_extract_table_command_arg_next: }
+ }
+
+\cs_new_protected:Npn \__tblr_extract_table_command_arg_o:w [#1]
+ {
+ \tl_put_right:Nn \l__tblr_saved_table_commands_before_cell_text_tl { [#1] }
+ \__tblr_extract_table_command_arg_next:
+ }
+
+\cs_new_protected:Npn \__tblr_extract_table_command_arg_m:n #1
+ {
+ \tl_put_right:Nn \l__tblr_saved_table_commands_before_cell_text_tl { {#1} }
+ \__tblr_extract_table_command_arg_next:
+ }
+
+\cs_new_protected:Npn \__tblr_extract_table_command_arg_next:
+ {
+ \int_compare:nNnTF {\l__tblr_a_int} > {0}
+ {
+ \int_decr:N \l__tblr_a_int
+ \__tblr_extract_table_command_arg_m:n
+ }
+ {
+ \bool_if:NTF \l__tblr_table_command_unbrace_next_bool
+ { \__tblr_last_unbraced:Nn \__tblr_extract_table_commands_next:w }
+ { \__tblr_extract_table_commands_next:w }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_last_unbraced:Nn #1 #2 { #1 #2 }
+
+%% The outermost set of braces of cell text #1 will be removed
+\cs_new_protected:Npn \__tblr_save_real_cell_text:w #1 \scan_stop:
+ {
+ \tl_set:Nn \l__tblr_saved_cell_text_after_table_commands_tl {#1}
+ }
+
+%%% --------------------------------------------------------
+%% \section{Initial Table Specifications}
+%%% --------------------------------------------------------
+
+\prop_gset_from_keyval:Nn \g__tblr_default_tblr_table_prop
+ {
+ stretch = 1,
+ }
+
+\prop_gset_from_keyval:Nn \g__tblr_default_tblr_rows_prop
+ {
+ abovesep = 2pt,
+ belowsep = 2pt,
+ @row-height = 0pt,
+ @row-head = 0pt,
+ @row-foot = 0pt,
+ @row-upper = 0pt,
+ @row-lower = 0pt,
+ }
+
+\prop_gset_from_keyval:Nn \g__tblr_default_tblr_columns_prop
+ {
+ leftsep = 6pt,
+ rightsep = 6pt,
+ @col-width = 0pt,
+ }
+
+\prop_gset_from_keyval:Nn \g__tblr_default_tblr_cells_prop
+ {
+ halign = l,
+ valign = t,
+ }
+
+\prop_gset_from_keyval:Nn \g__tblr_default_tblr_hlines_prop
+ {
+ rulesep = 2pt,
+ }
+
+\prop_gset_from_keyval:Nn \g__tblr_default_tblr_vlines_prop
+ {
+ rulesep = 2pt,
+ }
+
+\cs_new_protected:Npn \__tblr_initial_table_spec:
+ {
+ \prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _table_prop }
+ {
+ \__tblr_prop_gput:nxn { table } { ##1 } {##2}
+ }
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _rows_prop }
+ {
+ \__tblr_data_gput:nVnn { row } \l__tblr_i_tl {##1} {##2}
+ }
+ \prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _hlines_prop }
+ {
+ \__tblr_prop_gput:nxn { hline } { [\l__tblr_i_tl] / ##1 } {##2}
+ }
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \prop_map_inline:cn
+ { g__tblr_default_ \l__tblr_env_name_tl _cells_prop }
+ {
+ \__tblr_prop_gput:nxn { cell }
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / ##1 } {##2}
+ }
+ }
+ }
+ \prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _hlines_prop }
+ {
+ \__tblr_prop_gput:nxn { hline }
+ { [\int_eval:n { \c@rowcount + 1}] / ##1 } {##2}
+ }
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _columns_prop }
+ {
+ \__tblr_prop_gput:nxn { column } { [\l__tblr_j_tl] / ##1 } {##2}
+ }
+ \prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _vlines_prop }
+ {
+ \__tblr_prop_gput:nxn { vline } { [\l__tblr_j_tl] / ##1 } {##2}
+ }
+ }
+ \prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _vlines_prop }
+ {
+ \__tblr_prop_gput:nxn { vline }
+ { [\int_eval:n { \c@colcount + 1}] / ##1 } {##2}
+ }
+ \keys_set:nv { tblr } { l__tblr_default_ \l__tblr_env_name_tl _tl }
+ }
+
+\tl_new:N \l__tblr_default_tblr_tl
+
+%% #1: env name; #2: options
+\NewDocumentCommand \SetTabularrayDefault { O{tblr} m }
+ {
+ \tl_put_right:cn { l__tblr_default_ #1 _tl } { , #2 }
+ }
+\cs_new_eq:NN \SetTblrDefault \SetTabularrayDefault
+
+%%% --------------------------------------------------------
+%% \section{Parse Table Specifications}
+%%% --------------------------------------------------------
+
+\clist_new:N \g__tblr_table_known_keys_clist
+\clist_gset:Nn \g__tblr_table_known_keys_clist
+ {
+ long, colspec, rowspec, width, hspan, stretch,
+ column, row, cell, vline, hline, columns, rows, cells, vlines, hlines,
+ leftsep, rightsep, colsep, abovesep, belowsep, rowsep,
+ }
+
+\bool_new:N \l__tblr_long_table_bool
+
+\keys_define:nn { tblr }
+ {
+ long .bool_set:N = \l__tblr_long_table_bool,
+ colspec .code:n = \__tblr_parse_colrow_spec:nn { column } {#1},
+ rowspec .code:n = \__tblr_parse_colrow_spec:nn { row } {#1},
+ width .code:n = \__tblr_keys_gput:nx { width } { \dim_eval:n {#1} },
+ hspan .code:n = \__tblr_keys_gput:nn { hspan } {#1},
+ stretch .code:n = \__tblr_keys_gput:nn { stretch } {#1},
+ columns .code:n = \__tblr_set_every_column_aux:n {#1},
+ rows .code:n = \__tblr_set_every_row_aux:n {#1},
+ cells .code:n = \__tblr_set_every_cell_aux:n {#1},
+ hlines .code:n = \__tblr_set_every_hline_aux:n {#1},
+ vlines .code:n = \__tblr_set_every_vline_aux:n {#1},
+ leftsep .code:n = \tblr_set_every_column:nn { } { leftsep = #1 },
+ rightsep .code:n = \tblr_set_every_column:nn { } { rightsep = #1 },
+ colsep .meta:n = { leftsep = #1, rightsep = #1 },
+ abovesep .code:n = \tblr_set_every_row:nn { } { abovesep = #1 },
+ belowsep .code:n = \tblr_set_every_row:nn { } { belowsep = #1 },
+ rowsep .meta:n = { abovesep = #1, belowsep = #1 },
+ unknown .code:n = \__tblr_table_special_key:Vn \l_keys_key_str {#1},
+ }
+
+\regex_const:Nn \c__tblr_split_key_name_regex { ^ ( [a-z] + ) ( . * ) }
+
+\cs_new_protected:Npn \__tblr_table_special_key:nn #1 #2
+ {
+ \regex_extract_once:NnNT \c__tblr_split_key_name_regex {#1} \l_tmpa_seq
+ {
+ \tl_set:Nx \l__tblr_a_tl { \seq_item:Nn \l_tmpa_seq {2} }
+ \tl_set_rescan:Nnx \l__tblr_b_tl {} { \seq_item:Nn \l_tmpa_seq {3} }
+ \cs:w __tblr_set_ \l__tblr_a_tl _aux:Vn \cs_end: \l__tblr_b_tl {#2}
+ }
+ }
+\cs_generate_variant:Nn \__tblr_table_special_key:nn { Vn }
+
+%% If the first key name is known, treat #1 is the table spec;
+%% otherwise, treat #1 as colspec.
+
+\regex_const:Nn \c__tblr_first_key_name_regex { ^ \s * ( [A-Za-z\-] + ) }
+
+\cs_new_protected:Npn \__tblr_parse_table_spec:n #1
+ {
+ \regex_extract_once:NnNTF \c__tblr_first_key_name_regex {#1} \l_tmpa_seq
+ {
+ \clist_if_in:NxTF \g__tblr_table_known_keys_clist
+ { \seq_item:Nn \l_tmpa_seq {2} }
+ { \keys_set:nn { tblr } {#1} }
+ { \__tblr_parse_colrow_spec:nn { column } {#1} }
+ }
+ { \__tblr_parse_colrow_spec:nn { column } {#1} }
+ }
+
+\cs_new_protected:Npn \__tblr_keys_gput:nn #1 #2
+ {
+ \__tblr_prop_gput:nnn { table } {#1} {#2}
+ }
+\cs_generate_variant:Nn \__tblr_keys_gput:nn { nx }
+
+%%% --------------------------------------------------------
+%% \section{Typeset and Calculate Sizes}
+%%% --------------------------------------------------------
+
+%% Calculate the width and height for every cell and border
+
+\cs_new_protected:Npn \__tblr_calc_cell_and_line_sizes:
+ {
+ \__tblr_make_strut_box:
+ \__tblr_calculate_line_sizes:
+ \__tblr_calculate_cell_sizes:
+ \LogTblrTracing { cell, row, column, hline, vline }
+ \__tblr_compute_extendable_column_width:
+ \__tblr_adjust_sizes_for_span_cells:
+ }
+
+%% make strut box from stretch option of the table
+
+\box_new:N \l__tblr_strut_ht_box
+\box_new:N \l__tblr_strut_dp_box
+
+\cs_new_protected:Npn \__tblr_make_strut_box:
+ {
+ \tl_set:Nx \l__tblr_s_tl { \__tblr_prop_item:ne { table } { stretch } }
+ \hbox_set:Nn \l__tblr_strut_ht_box
+ { \vrule height \l__tblr_s_tl \box_ht:N \strutbox width ~ 0pt }
+ \hbox_set:Nn \l__tblr_strut_dp_box
+ { \vrule depth \l__tblr_s_tl \box_dp:N \strutbox width ~ 0pt }
+ }
+
+%% Calculate the thickness for every hline and vline
+\cs_new_protected:Npn \__tblr_calculate_line_sizes:
+ {
+ %% We need these two counters in executing hline and vline commands
+ \int_zero:N \c@rownum
+ \int_zero:N \c@colnum
+ \int_step_inline:nn { \c@rowcount + 1 }
+ {
+ \int_incr:N \c@rownum
+ \int_zero:N \c@colnum
+ \int_step_inline:nn { \c@colcount + 1 }
+ {
+ \int_incr:N \c@colnum
+ \int_compare:nNnT { ##1 } < { \c@rowcount + 1 }
+ {
+ \__tblr_measure_and_update_vline_size:nn { ##1 } { ####1 }
+ }
+ \int_compare:nNnT { ####1 } < { \c@colcount + 1 }
+ {
+ \__tblr_measure_and_update_hline_size:nn { ##1 } { ####1 }
+ }
+ }
+ }
+ }
+
+%% Measure and update thickness of the vline
+%% #1: row number, #2 column number
+\cs_new_protected:Npn \__tblr_measure_and_update_vline_size:nn #1 #2
+ {
+ \dim_zero:N \l__tblr_w_dim
+ \tl_set:Nx \l__tblr_n_tl
+ { \__tblr_prop_item:ne { vline } { [#2] / @vline-count } }
+ \tl_if_empty:NF \l__tblr_n_tl
+ {
+ \tl_set:Nx \l__tblr_s_tl
+ { \__tblr_prop_item:ne { vline } { [#2] / rulesep } }
+ \int_step_inline:nn { \l__tblr_n_tl }
+ {
+ \vbox_set_to_ht:Nnn \l__tblr_b_box {1pt}
+ {
+ \__tblr_get_vline_segment_child:nnnnn
+ {#1} {#2} {##1} {1pt} {1pt}
+ }
+ \tl_set:Nx \l__tblr_w_tl { \dim_eval:n { \box_wd:N \l__tblr_b_box } }
+ \__tblr_prop_gput_if_larger:nxx { vline }
+ { [#2](##1) / @vline-width } { \l__tblr_w_tl }
+ \dim_add:Nn \l__tblr_w_dim { \l__tblr_w_tl }
+ \dim_add:Nn \l__tblr_w_dim { \l__tblr_s_tl }
+ }
+ \dim_add:Nn \l__tblr_w_dim { - \l__tblr_s_tl }
+ }
+ \__tblr_prop_gput_if_larger:nxx { vline }
+ { [#2]/ @vline-width } { \dim_use:N \l__tblr_w_dim }
+ }
+
+%% Get text of a vline segment
+%% #1: row number, #2: column number; #3: index number; #4: height; #5: depth
+%% We put all code inside a group to avoid conflicts of local variables
+\cs_new_protected:Npn \__tblr_get_vline_segment_child:nnnnn #1 #2 #3 #4 #5
+ {
+ \group_begin:
+ \tl_set:Nx \l__tblr_w_tl
+ { \__tblr_prop_item:ne { vline } { [#1][#2](#3) / wd } }
+ \tl_if_empty:NF \l__tblr_w_tl { \dim_set:Nn \rulewidth { \l__tblr_w_tl } }
+ \tl_set:Nx \l__tblr_d_tl
+ { \__tblr_prop_item:ne { vline } { [#1][#2](#3) / @dash } }
+ \tl_set:Nx \l__tblr_a_tl { \tl_head:N \l__tblr_d_tl }
+ \tl_set:Nx \l__tblr_b_tl { \tl_tail:N \l__tblr_d_tl }
+ \exp_args:NV \tl_if_eq:NNTF \l__tblr_a_tl \@tblr@dash
+ {
+ \__tblr_get_vline_dash_style:N \l__tblr_b_tl
+ \xleaders \l__tblr_b_tl \vfil
+ }
+ {
+ \hbox_set:Nn \l__tblr_d_box { \l__tblr_b_tl }
+ \box_set_ht:Nn \l__tblr_d_box {#4}
+ \box_set_dp:Nn \l__tblr_d_box {#5}
+ \box_use:N \l__tblr_d_box
+ }
+ \group_end:
+ }
+\cs_generate_variant:Nn \__tblr_get_vline_segment_child:nnnnn { nnnxx }
+
+%% Measure and update thickness of the hline
+%% #1: row number, #2 column number
+\cs_new_protected:Npn \__tblr_measure_and_update_hline_size:nn #1 #2
+ {
+ \dim_zero:N \l__tblr_h_dim
+ \tl_set:Nx \l__tblr_n_tl
+ { \__tblr_prop_item:ne { hline } { [#1] / @hline-count } }
+ \tl_if_empty:NF \l__tblr_n_tl
+ {
+ \tl_set:Nx \l__tblr_s_tl
+ { \__tblr_prop_item:ne { hline } { [#1] / rulesep } }
+ \int_step_inline:nn { \l__tblr_n_tl }
+ {
+ \hbox_set_to_wd:Nnn \l__tblr_b_box {1pt}
+ { \__tblr_get_hline_segment_child:nnn {#1} {#2} {##1} }
+ \tl_set:Nx \l__tblr_h_tl
+ {
+ \dim_eval:n
+ { \box_ht:N \l__tblr_b_box + \box_dp:N \l__tblr_b_box }
+ }
+ \__tblr_prop_gput_if_larger:nxx { hline }
+ { [#1](##1) / @hline-height } { \l__tblr_h_tl }
+ \dim_add:Nn \l__tblr_h_dim { \l__tblr_h_tl }
+ \dim_add:Nn \l__tblr_h_dim { \l__tblr_s_tl }
+ }
+ \dim_add:Nn \l__tblr_h_dim { - \l__tblr_s_tl }
+ }
+ \__tblr_prop_gput_if_larger:nxx { hline }
+ { [#1] / @hline-height } { \dim_use:N \l__tblr_h_dim }
+ }
+
+%% Get text of a hline segment
+%% #1: row number, #2: column number; #3: index number
+\cs_new_protected:Npn \__tblr_get_hline_segment_child:nnn #1 #2 #3
+ {
+ \group_begin:
+ \tl_set:Nx \l__tblr_w_tl
+ { \__tblr_prop_item:ne { hline } { [#1][#2](#3) / wd } }
+ \tl_if_empty:NF \l__tblr_w_tl { \dim_set:Nn \rulewidth { \l__tblr_w_tl } }
+ \tl_set:Nx \l__tblr_d_tl
+ { \__tblr_prop_item:ne { hline } { [#1][#2](#3) / @dash } }
+ \tl_set:Nx \l__tblr_a_tl { \tl_head:N \l__tblr_d_tl }
+ \tl_set:Nx \l__tblr_b_tl { \tl_tail:N \l__tblr_d_tl }
+ \exp_args:NV \tl_if_eq:NNTF \l__tblr_a_tl \@tblr@dash
+ {
+ \__tblr_get_hline_dash_style:N \l__tblr_b_tl
+ \xleaders \l__tblr_b_tl \hfil
+ }
+ { \l__tblr_b_tl \hfil }
+ \group_end:
+ }
+
+%% current cell alignments
+\tl_new:N \g__tblr_cell_halign_tl
+\tl_new:N \g__tblr_cell_valign_tl
+\tl_new:N \g__tblr_cell_middle_tl
+
+\tl_const:Nn \c__tblr_valign_h_tl { h }
+\tl_const:Nn \c__tblr_valign_m_tl { m }
+\tl_const:Nn \c__tblr_valign_f_tl { f }
+\tl_const:Nn \c__tblr_valign_t_tl { t }
+\tl_const:Nn \c__tblr_valign_b_tl { b }
+
+\tl_const:Nn \c__tblr_middle_t_tl { t }
+\tl_const:Nn \c__tblr_middle_m_tl { m }
+\tl_const:Nn \c__tblr_middle_b_tl { b }
+
+%% #1: row number; #2: column number
+\cs_new_protected:Npn \__tblr_get_cell_alignments:nn #1 #2
+ {
+ \group_begin:
+ \tl_gset:Nx \g__tblr_cell_halign_tl
+ { \__tblr_prop_item:ne { cell } { [#1][#2] / halign } }
+ \tl_set:Nx \l__tblr_v_tl
+ { \__tblr_prop_item:ne { cell } { [#1][#2] / valign } }
+ \tl_case:NnF \l__tblr_v_tl
+ {
+ \c__tblr_valign_t_tl
+ {
+ \tl_gset:Nn \g__tblr_cell_valign_tl {m}
+ \tl_gset:Nn \g__tblr_cell_middle_tl {t}
+ }
+ \c__tblr_valign_m_tl
+ {
+ \tl_gset:Nn \g__tblr_cell_valign_tl {m}
+ \tl_gset:Nn \g__tblr_cell_middle_tl {m}
+ }
+ \c__tblr_valign_b_tl
+ {
+ \tl_gset:Nn \g__tblr_cell_valign_tl {m}
+ \tl_gset:Nn \g__tblr_cell_middle_tl {b}
+ }
+ }
+ {
+ \tl_gset_eq:NN \g__tblr_cell_valign_tl \l__tblr_v_tl
+ \tl_gclear:N \g__tblr_cell_middle_tl
+ }
+ \group_end:
+ }
+
+%% current cell dimensions
+\dim_new:N \g__tblr_cell_wd_dim
+\dim_new:N \g__tblr_cell_ht_dim
+\dim_new:N \g__tblr_cell_head_dim
+\dim_new:N \g__tblr_cell_foot_dim
+
+%% Calculate the width and height for every cell
+\cs_new_protected:Npn \__tblr_calculate_cell_sizes:
+ {
+ %% You can use these two counters in cell text
+ \int_zero:N \c@rownum
+ \int_zero:N \c@colnum
+ \int_step_inline:nn { \c@rowcount }
+ {
+ \int_incr:N \c@rownum
+ \int_zero:N \c@colnum
+ \tl_set:Nx \l__tblr_h_tl
+ { \__tblr_data_item:nen { row } { \int_use:N \c@rownum } { height } }
+ \tl_if_empty:NF \l__tblr_h_tl
+ {
+ \__tblr_data_gput:nenV { row } { \int_use:N \c@rownum }
+ { @row-height } \l__tblr_h_tl
+ }
+ \int_step_inline:nn { \c@colcount }
+ {
+ \int_incr:N \c@colnum
+ \__tblr_measure_cell_update_sizes:nnNNNN
+ { \int_use:N \c@rownum }
+ { \int_use:N \c@colnum }
+ \g__tblr_cell_wd_dim
+ \g__tblr_cell_ht_dim
+ \g__tblr_cell_head_dim
+ \g__tblr_cell_foot_dim
+ }
+ }
+ }
+
+%% Measure and update natural dimensions of the row/column/cell
+%% #1: row number; #2 column number; #3: width dimension;
+%% #4: total height dimension; #5: head dimension; #6: foot dimension
+\cs_new_protected:Npn \__tblr_measure_cell_update_sizes:nnNNNN #1 #2 #3 #4 #5 #6
+ {
+ \__tblr_get_cell_alignments:nn {#1} {#2}
+ \hbox_set:Nn \l_tmpa_box { \__tblr_get_cell_text:nn {#1} {#2} }
+ \__tblr_update_cell_size:nnNNNN {#1} {#2} #3 #4 #5 #6
+ \__tblr_update_row_size:nnNNN {#1} {#2} #4 #5 #6
+ \__tblr_update_col_size:nN {#2} #3
+ }
+
+%% #1: row number, #2: column number
+\cs_new_protected:Npn \__tblr_get_cell_text:nn #1 #2
+ {
+ \__tblr_prop_if_in:nxTF {cell} { [#1][#2] / omit }
+ {
+ \dim_gzero:N \g__tblr_cell_wd_dim
+ \dim_gzero:N \g__tblr_cell_ht_dim
+ \dim_gzero:N \g__tblr_cell_head_dim
+ \dim_gzero:N \g__tblr_cell_foot_dim
+ }
+ { \__tblr_get_cell_text_real:nn { #1 } { #2 } }
+ }
+
+%% Get cell text, #1: row number, #2: column number
+%% If the width of the cell is not set, split it with \\ and compute the width
+%% Therefore we always get a vbox for any cell
+\cs_new_protected:Npn \__tblr_get_cell_text_real:nn #1 #2
+ {
+ \group_begin:
+ \tl_set:Nx \l__tblr_c_tl { \__tblr_prop_item:ne {text} {[#1][#2]} }
+ \tl_set:Nx \l__tblr_w_tl
+ { \__tblr_prop_item:ne { cell } { [#1][#2] / width } }
+ \tl_if_empty:NT \l__tblr_w_tl
+ {
+ \__tblr_prop_if_in:nxF { cell } { [#1][#2] / colspan }
+ {
+ \tl_set:Nx \l__tblr_w_tl
+ { \__tblr_prop_item:ne { column } { [#2] / width } }
+ }
+ }
+ \tl_if_empty:NT \l__tblr_w_tl
+ {
+ \bool_if:NTF \l__tblr_math_mode_bool
+ {
+ \hbox_set:Nn \l_tmpa_box { $\l__tblr_c_tl$ }
+ \tl_set:Nx \l__tblr_w_tl { \box_wd:N \l_tmpa_box }
+ }
+ {
+ \tl_set_eq:NN \l_tmpb_tl \l__tblr_c_tl
+ \__tblr_insert_braces:N \l_tmpb_tl
+ \seq_set_split:NnV \l_tmpa_seq { \\ } \l_tmpb_tl
+ \tl_set:Nn \l__tblr_w_tl { 0pt }
+ \seq_map_variable:NNn \l_tmpa_seq \l_tmpa_tl
+ {
+ \__tblr_remove_braces:N \l_tmpa_tl
+ \hbox_set:Nn \l_tmpa_box { \l_tmpa_tl }
+ \tl_set:Nx \l__tblr_w_tl
+ { \dim_max:nn { \l__tblr_w_tl } { \box_wd:N \l_tmpa_box } }
+ }
+ }
+ }
+ \__tblr_get_vcell_and_sizes:NN \l__tblr_c_tl \l__tblr_w_tl
+ \group_end:
+ }
+
+%% #1: cell text; #2: box width
+\cs_new_protected:Npn \__tblr_get_vcell_and_sizes:NN #1 #2
+ {
+ \group_begin:
+ \vbox_set_top:Nn \l_tmpa_box { \__tblr_make_vcell_text:nN #1 #2 }
+ \vbox_set:Nn \l_tmpb_box { \__tblr_make_vcell_text:nN #1 #2 }
+ \dim_gset:Nn \g__tblr_cell_wd_dim { \box_wd:N \l_tmpb_box }
+ \dim_gset:Nn \g__tblr_cell_ht_dim
+ { \box_ht:N \l_tmpb_box + \box_dp:N \l_tmpb_box }
+ \dim_gset:Nn \g__tblr_cell_head_dim { \box_ht:N \l_tmpa_box }
+ \dim_gset:Nn \g__tblr_cell_foot_dim { \box_dp:N \l_tmpb_box }
+ \tl_case:Nn \g__tblr_cell_valign_tl
+ {
+ \c__tblr_valign_h_tl
+ { \box_use:N \l_tmpa_box }
+ \c__tblr_valign_m_tl
+ {
+ \tl_case:Nn \g__tblr_cell_middle_tl
+ {
+ \c__tblr_middle_t_tl
+ { \box_use:N \l_tmpa_box }
+ \c__tblr_middle_m_tl
+ {
+ \tl_set:Nx \l__tblr_b_tl
+ {
+ \dim_eval:n
+ {
+ ( \g__tblr_cell_ht_dim - \g__tblr_cell_head_dim
+ - \g__tblr_cell_foot_dim ) / 2
+ }
+ }
+ \box_set_ht:Nn \l_tmpb_box
+ { \g__tblr_cell_head_dim + \l__tblr_b_tl }
+ \box_set_dp:Nn \l_tmpb_box
+ { \g__tblr_cell_foot_dim + \l__tblr_b_tl }
+ \box_use:N \l_tmpb_box
+ }
+ \c__tblr_middle_b_tl
+ { \box_use:N \l_tmpb_box }
+ }
+ }
+ \c__tblr_valign_f_tl
+ { \box_use:N \l_tmpb_box }
+ }
+ \group_end:
+ }
+
+\cs_new_eq:NN \__tlbr_halign_l: \raggedright
+\cs_new_eq:NN \__tlbr_halign_c: \centering
+\cs_new_eq:NN \__tlbr_halign_r: \raggedleft
+
+%% #1: cell text; #2: box width
+\cs_new_protected:Npn \__tblr_make_vcell_text:nN #1 #2
+ {
+ \dim_set:Nn \tex_hsize:D { #2 }
+ \@arrayparboxrestore
+ \cs:w __tlbr_halign_ \g__tblr_cell_halign_tl : \cs_end:
+ \mode_leave_vertical:
+ \box_use:N \l__tblr_strut_ht_box
+ \bool_if:NTF \l__tblr_math_mode_bool { $#1$ } { #1 }
+ \box_use:N \l__tblr_strut_dp_box
+ }
+
+%% #1: total height dimension; #2: head dimension; #3: foot dimension;
+%% #4: tl for resulting upper size; #5: tl for resulting lower size
+
+\tl_new:N \l__tblr_middle_body_tl
+
+\cs_new_protected:Npn \__tblr_get_middle_cell_upper_lower:NNNNN #1 #2 #3 #4 #5
+ {
+ \tl_case:Nn \g__tblr_cell_middle_tl
+ {
+ \c__tblr_middle_t_tl
+ {
+ \tl_set:Nx #4 { \dim_use:N #2 }
+ \tl_set:Nx #5 { \dim_eval:n { #1 - #2 } }
+ }
+ \c__tblr_middle_m_tl
+ {
+ \tl_set:Nx \l__tblr_middle_body_tl { \dim_eval:n { #1 - #2 - #3 } }
+ \tl_set:Nx #4 { \dim_eval:n { #2 + \l__tblr_middle_body_tl / 2 } }
+ \tl_set:Nx #5 { \dim_eval:n { #3 + \l__tblr_middle_body_tl / 2 } }
+ }
+ \c__tblr_middle_b_tl
+ {
+ \tl_set:Nx #4 { \dim_eval:n { #1 - #3 } }
+ \tl_set:Nx #5 { \dim_use:N #3 }
+ }
+ }
+ }
+
+%% Update natural dimensions of the cell
+%% #1: row number; #2 column number; #3: width dimension;
+%% #4: total height dimension; #5: head dimension; #6: foot dimension
+\cs_new_protected:Npn \__tblr_update_cell_size:nnNNNN #1 #2 #3 #4 #5 #6
+ {
+ \group_begin:
+ \tl_set:Nx \l__tblr_c_tl
+ { \__tblr_prop_item:ne {cell} { [#1][#2] / colspan } }
+ \tl_if_empty:NF \l__tblr_c_tl
+ {
+ \__tblr_prop_gput:nxx {cell} { [#1][#2] / @cell-width } { \dim_use:N #3 }
+ \dim_gzero:N #3 % don't affect column width
+ }
+ \tl_set:Nx \l__tblr_r_tl
+ { \__tblr_prop_item:ne {cell} { [#1][#2] / rowspan } }
+ \tl_if_empty:NF \l__tblr_r_tl
+ {
+ \tl_case:Nn \g__tblr_cell_valign_tl
+ {
+ \c__tblr_valign_h_tl
+ {
+ \tl_set:Nx \l__tblr_u_tl { \dim_use:N #5 }
+ \tl_set:Nx \l__tblr_v_tl { \dim_eval:n { #4 - #5 } }
+ %% Update the head size of the first span row here
+ \__tblr_data_gput_if_larger:nene
+ { row } {#1} { @row-head } { \dim_use:N #5 }
+ }
+ \c__tblr_valign_f_tl
+ {
+ \tl_set:Nx \l__tblr_u_tl { \dim_eval:n { #4 - #6 } }
+ \tl_set:Nx \l__tblr_v_tl { \dim_use:N #6 }
+ %% Update the foot size of the last span row here
+ \__tblr_data_gput_if_larger:nene
+ { row }
+ { \int_eval:n { #1 + \l__tblr_r_tl - 1 } }
+ { @row-foot }
+ { \dim_use:N #6 }
+ }
+ \c__tblr_valign_m_tl
+ {
+ \__tblr_get_middle_cell_upper_lower:NNNNN
+ #4 #5 #6 \l__tblr_u_tl \l__tblr_v_tl
+ }
+ }
+ \__tblr_prop_gput:nxV {cell} { [#1][#2] / @cell-height } \l__tblr_u_tl
+ \__tblr_prop_gput:nxV {cell} { [#1][#2] / @cell-depth } \l__tblr_v_tl
+ %% Don't affect row sizes
+ \dim_gzero:N #4
+ \dim_gzero:N #5
+ \dim_gzero:N #6
+ }
+ \group_end:
+ }
+
+
+%% Update size of the row. #1: row number; #2: column number;
+%% #3: total height dimension; #4: head dimension; #5: foot dimension
+\cs_new_protected:Npn \__tblr_update_row_size:nnNNN #1 #2 #3 #4 #5
+ {
+ \group_begin:
+ %% Note that \l__tblr_h_tl may be empty
+ \tl_set:Nx \l__tblr_h_tl
+ { \__tblr_data_item:nen { row } {#1} { @row-height } }
+ \tl_if_eq:NNTF \g__tblr_cell_valign_tl \c__tblr_valign_m_tl
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ { \__tblr_data_item:nen { row } {#1} { @row-upper } }
+ \tl_set:Nx \l__tblr_b_tl
+ { \__tblr_data_item:nen { row } {#1} { @row-lower } }
+ \__tblr_get_middle_cell_upper_lower:NNNNN
+ #3 #4 #5 \l__tblr_u_tl \l__tblr_v_tl
+ \dim_compare:nNnT { \l__tblr_u_tl } > { \l__tblr_a_tl }
+ {
+ \tl_set_eq:NN \l__tblr_a_tl \l__tblr_u_tl
+ \__tblr_data_gput:nenV { row } {#1} { @row-upper } \l__tblr_a_tl
+ }
+ \dim_compare:nNnT { \l__tblr_v_tl } > { \l__tblr_b_tl }
+ {
+ \tl_set_eq:NN \l__tblr_b_tl \l__tblr_v_tl
+ \__tblr_data_gput:nenV { row } {#1} { @row-lower } \l__tblr_b_tl
+ }
+ \dim_compare:nNnT
+ { \l__tblr_a_tl + \l__tblr_b_tl } > { \l__tblr_h_tl + 0pt }
+ {
+ \__tblr_data_gput:nene { row } {#1} { @row-height }
+ { \dim_eval:n { \l__tblr_a_tl + \l__tblr_b_tl } }
+ }
+ }
+ {
+ \tl_set:Nx \l__tblr_e_tl
+ { \__tblr_data_item:nen { row } {#1} { @row-head } }
+ \tl_set:Nx \l__tblr_f_tl
+ { \__tblr_data_item:nen { row } {#1} { @row-foot } }
+ \dim_compare:nNnT {#4} > {\l__tblr_e_tl}
+ {
+ \__tblr_data_gput:nene { row } {#1} { @row-head } { \dim_use:N #4 }
+ }
+ \dim_compare:nNnT {#5} > {\l__tblr_f_tl}
+ {
+ \__tblr_data_gput:nene { row } {#1} { @row-foot } { \dim_use:N #5 }
+ }
+ \tl_set:Nx \l__tblr_x_tl { \dim_max:nn {#4} { \l__tblr_e_tl } }
+ \tl_set:Nx \l__tblr_y_tl { \dim_max:nn {#5} { \l__tblr_f_tl } }
+ \dim_compare:nNnT
+ { #3 - #4 - #5 } > { \l__tblr_h_tl - \l__tblr_x_tl - \l__tblr_y_tl }
+ {
+ \__tblr_data_gput:nene { row } {#1} { @row-height }
+ {
+ \dim_eval:n
+ {
+ \l__tblr_x_tl
+ + \dim_use:N #3 - \dim_use:N #4 - \dim_use:N #5
+ + \l__tblr_y_tl
+ }
+ }
+ }
+ }
+ \group_end:
+ }
+
+
+%% Update size of the column. #1: column number; #2: width dimension
+
+\cs_new_protected:Npn \__tblr_update_col_size:nN #1 #2
+ {
+ \tl_set:Nx \l_tmpb_tl
+ { \__tblr_prop_item:ne {column} { [#1] / @col-width } }
+ \bool_lazy_or:nnT
+ { \tl_if_empty_p:N \l_tmpb_tl }
+ { \dim_compare_p:nNn { \dim_use:N #2 } > { \l_tmpb_tl } }
+ {
+ \__tblr_prop_gput:nxx {column} { [#1] / @col-width } { \dim_use:N #2 }
+ }
+ }
+
+%%% --------------------------------------------------------
+%% \section{Calculate and Adjust Extendable Columns}
+%%% --------------------------------------------------------
+
+%% Compute column widths when there are some extendable columns
+
+\dim_new:N \l__column_target_dim
+\prop_new:N \l__column_coefficient_prop
+\prop_new:N \l__column_natural_width_prop
+\prop_new:N \l__column_computed_width_prop
+
+\msg_new:nnn { tabularray } { table-width-too-small }
+ { Table ~ width ~ is ~ too ~ small, ~ need ~ #1 ~ more! }
+
+\cs_new_protected:Npn \__tblr_compute_extendable_column_width:
+ {
+ \__tblr_collect_extendable_column_width:
+ \dim_compare:nNnTF { \l__column_target_dim } < { 0pt }
+ {
+ \msg_warning:nnx { tabularray } { table-width-too-small }
+ { \dim_abs:n { \l__column_target_dim } }
+ }
+ {
+ \prop_if_empty:NF \l__column_coefficient_prop
+ { \__tblr_adjust_extendable_column_width: }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_collect_extendable_column_width:
+ {
+ \tl_set:Nx \l_tmpa_tl { \__tblr_prop_item:nn {table} {width} }
+ \tl_if_empty:NTF \l_tmpa_tl
+ { \dim_set_eq:NN \l__column_target_dim \linewidth }
+ { \dim_set:Nn \l__column_target_dim { \l_tmpa_tl } }
+ \prop_clear:N \l__column_coefficient_prop
+ \prop_clear:N \l__column_natural_width_prop
+ \prop_clear:N \l__column_computed_width_prop
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / width } }
+ \tl_set:Nx \l__tblr_b_tl
+ { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / coefficient } }
+ \tl_set:Nx \l__tblr_c_tl
+ { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / @col-width } }
+ \tl_if_empty:NTF \l__tblr_a_tl
+ {
+ \tl_if_empty:NTF \l__tblr_b_tl
+ { \dim_sub:Nn \l__column_target_dim { \l__tblr_c_tl } }
+ {
+ \prop_put:Nxx \l__column_coefficient_prop
+ { \l__tblr_j_tl } { \l__tblr_b_tl }
+ \prop_put:Nxn \l__column_computed_width_prop
+ { \l__tblr_j_tl } { 0pt }
+ \dim_compare:nNnF { \l__tblr_b_tl pt } > { 0pt }
+ {
+ \prop_put:Nxx \l__column_natural_width_prop
+ { \l__tblr_j_tl } { \l__tblr_c_tl }
+ }
+ }
+ }
+ { \dim_sub:Nn \l__column_target_dim { \l__tblr_a_tl } }
+ \tl_set:Nx \l__tblr_a_tl
+ { \__tblr_prop_item:ne {vline} { [\l__tblr_j_tl] / @vline-width } }
+ \tl_set:Nx \l__tblr_b_tl
+ { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / leftsep} }
+ \tl_set:Nx \l__tblr_c_tl
+ { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / rightsep } }
+ \dim_set:Nn \l__column_target_dim
+ { \l__column_target_dim - \l__tblr_a_tl - \l__tblr_b_tl - \l__tblr_c_tl }
+ }
+ \tl_set:Nx \l__tblr_a_tl
+ {
+ \__tblr_prop_item:ne {vline}
+ { [\int_eval:n {\c@colcount + 1}] / @vline-width }
+ }
+ \tl_if_empty:NF \l__tblr_a_tl
+ { \dim_sub:Nn \l__column_target_dim { \l__tblr_a_tl } }
+ \LogTblrTracing { target }
+ }
+
+%% If all columns have negative coefficients and small natural widths,
+%% \l__column_coefficient_prop will be empty after one or more rounds
+\cs_new_protected:Npn \__tblr_adjust_extendable_column_width:
+ {
+ \bool_while_do:nn
+ { \dim_compare_p:nNn { \l__column_target_dim } > { \hfuzz } }
+ {
+ \prop_if_empty:NTF \l__column_coefficient_prop
+ { \__tblr_adjust_extendable_column_width_negative: }
+ { \__tblr_adjust_extendable_column_width_once: }
+ }
+ \prop_map_inline:Nn \l__column_computed_width_prop
+ {
+ \__tblr_prop_gput:nnx {column} { [##1] / width } { ##2 }
+ \__tblr_prop_gput:nnn {column} { [##1] / @col-width } { 0pt }
+ }
+ \__tblr_calculate_cell_sizes:
+ }
+
+%% We use dimen register, since the coefficient may be a decimal number
+\cs_new_protected:Npn \__tblr_adjust_extendable_column_width_once:
+ {
+ \dim_zero:N \l_tmpa_dim
+ \prop_map_inline:Nn \l__column_coefficient_prop
+ {
+ \dim_add:Nn \l_tmpa_dim { \dim_abs:n { ##2 pt } }
+ }
+ \tl_set:Nx \l__tblr_w_tl
+ { \dim_ratio:nn { \l__column_target_dim } { \l_tmpa_dim } }
+ \dim_zero:N \l__column_target_dim
+ \prop_map_inline:Nn \l__column_coefficient_prop
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ { \dim_eval:n { \dim_abs:n { ##2 pt } * \l__tblr_w_tl } }
+ \dim_compare:nNnTF { ##2 pt } > { 0pt }
+ {
+ \__tblr_add_dimen_value:Nnn
+ \l__column_computed_width_prop { ##1 } { \l__tblr_a_tl }
+ }
+ {
+ \tl_set:Nx \l__tblr_b_tl
+ { \prop_item:Nn \l__column_natural_width_prop { ##1 } }
+ \tl_set:Nx \l__tblr_c_tl
+ { \prop_item:Nn \l__column_computed_width_prop { ##1 } }
+ \dim_compare:nNnTF { \l__tblr_a_tl + \l__tblr_c_tl } > { \l__tblr_b_tl }
+ {
+ \prop_put:Nnx \l__column_computed_width_prop
+ { ##1 } { \l__tblr_b_tl }
+ \dim_add:Nn \l__column_target_dim
+ { \l__tblr_a_tl + \l__tblr_c_tl - \l__tblr_b_tl }
+ \prop_remove:Nn \l__column_coefficient_prop { ##1 }
+ }
+ {
+ \__tblr_add_dimen_value:Nnn
+ \l__column_computed_width_prop { ##1 } { \l__tblr_a_tl }
+ }
+ }
+ }
+ \LogTblrTracing { target }
+ }
+
+\cs_new_protected:Npn \__tblr_adjust_extendable_column_width_negative:
+ {
+ \dim_zero:N \l_tmpa_dim
+ \prop_map_inline:Nn \l__column_natural_width_prop
+ { \dim_add:Nn \l_tmpa_dim { ##2 } }
+ \tl_set:Nx \l_tmpa_tl
+ { \dim_ratio:nn { \l__column_target_dim } { \l_tmpa_dim } }
+ \dim_zero:N \l__column_target_dim
+ \prop_map_inline:Nn \l__column_natural_width_prop
+ {
+ \tl_set:Nx \l_tmpb_tl { \dim_eval:n { ##2 * \l_tmpa_tl } }
+ \__tblr_add_dimen_value:Nnn
+ \l__column_computed_width_prop { ##1 } { \l_tmpb_tl }
+ }
+ \LogTblrTracing { target }
+ }
+
+%%% --------------------------------------------------------
+%% \section{Calculate and Adjust Multispan Cells}
+%%% --------------------------------------------------------
+
+%% Compute and adjust widths when there are some span cells.
+%% By default, we will compute column widths from span widths;
+%% but if we set table option "hspan = minimal",
+%% we will compute span widths from column widths.
+
+\cs_new_protected:Npn \__tblr_adjust_sizes_for_span_cells:
+ {
+ \__tblr_prop_if_in:nnT {table} {colspan}
+ {
+ \__tblr_collect_column_widths_skips:
+ \str_if_eq:xnTF
+ { \__tblr_prop_item:ne {table} {hspan} } {minimal}
+ {
+ \__tblr_set_span_widths_from_column_widths:
+ }
+ {
+ \__tblr_collect_span_widths:
+ \__tblr_set_column_widths_from_span_widths:
+ }
+ \LogTblrTracing {column}
+ \__tblr_calculate_cell_sizes:
+ }
+ \__tblr_prop_if_in:nnT {table} {rowspan}
+ {
+ \__tblr_collect_row_heights_skips:
+ \__tblr_collect_span_heights:
+ \__tblr_set_row_heights_from_span_heights:
+ \LogTblrTracing {row}
+ }
+ }
+
+\prop_new:N \l__tblr_col_item_skip_size_prop
+\prop_new:N \l__tblr_col_span_size_prop
+\prop_new:N \l__tblr_row_item_skip_size_prop
+\prop_new:N \l__tblr_row_span_size_prop
+
+\cs_new_protected:Npn \__tblr_collect_column_widths_skips:
+ {
+ \prop_clear:N \l__tblr_col_item_skip_size_prop
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \int_compare:nNnTF { \l__tblr_j_tl } > { 1 }
+ {
+ \prop_put:Nxx \l__tblr_col_item_skip_size_prop { skip[\l__tblr_j_tl] }
+ {
+ \dim_eval:n
+ {
+ \__tblr_prop_item:ne {column}
+ { [\int_eval:n { \l__tblr_j_tl - 1 }] / rightsep }
+ +
+ \__tblr_prop_item:ne {vline}
+ { [\l__tblr_j_tl] / @vline-width }
+ +
+ \__tblr_prop_item:ne {column}
+ { [\l__tblr_j_tl] / leftsep}
+ }
+ }
+ }
+ {
+ \prop_put:Nxn \l__tblr_col_item_skip_size_prop { skip[\l__tblr_j_tl] }
+ { 0pt }
+ }
+ \prop_put:Nxx \l__tblr_col_item_skip_size_prop { item[\l__tblr_j_tl] }
+ { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / @col-width } }
+ }
+ \__tblr_do_if_tracing:nn { cellspan }
+ { \prop_log:N \l__tblr_col_item_skip_size_prop }
+ }
+
+\cs_new_protected:Npn \__tblr_collect_row_heights_skips:
+ {
+ \prop_clear:N \l__tblr_row_item_skip_size_prop
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \int_compare:nNnTF { \l__tblr_i_tl } > { 1 }
+ {
+ \prop_put:Nxx \l__tblr_row_item_skip_size_prop { skip[\l__tblr_i_tl] }
+ {
+ \dim_eval:n
+ {
+ \__tblr_data_item:nen { row }
+ { \int_eval:n {\l__tblr_i_tl - 1} } { belowsep }
+ +
+ \__tblr_prop_item:ne {hline}
+ { [\l__tblr_i_tl] / @hline-height }
+ +
+ \__tblr_data_item:nen { row } { \l__tblr_i_tl } { abovesep }
+ }
+ }
+ }
+ {
+ \prop_put:Nxn \l__tblr_row_item_skip_size_prop { skip[\l__tblr_i_tl] }
+ { 0pt }
+ }
+ \__tblr_collect_one_row_height:NN \l__tblr_i_tl \l__tblr_h_tl
+ \prop_put:Nxx \l__tblr_row_item_skip_size_prop
+ { item[\l__tblr_i_tl] } { \l__tblr_h_tl }
+ }
+ \__tblr_do_if_tracing:nn { cellspan }
+ { \prop_log:N \l__tblr_row_item_skip_size_prop }
+ }
+
+%% #1: row number; #2: tl with result
+\cs_new_protected:Npn \__tblr_collect_one_row_height:NN #1 #2
+ {
+ \tl_set:Nx #2 { \__tblr_data_item:nen { row } {#1} { @row-height } }
+ }
+
+\cs_new_protected:Npn \__tblr_collect_span_widths:
+ {
+ \prop_clear:N \l__tblr_col_span_size_prop
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ {
+ \__tblr_prop_item:ne {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / colspan }
+ }
+ \tl_if_empty:NF \l__tblr_a_tl
+ {
+ \__tblr_put_if_larger:Nxx \l__tblr_col_span_size_prop
+ {
+ ( \l__tblr_j_tl -
+ \int_eval:n {\l__tblr_j_tl + \l__tblr_a_tl - 1} )
+ }
+ {
+ \__tblr_prop_item:ne {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-width }
+ }
+ }
+ }
+ }
+ \__tblr_do_if_tracing:nn { cellspan }
+ { \prop_log:N \l__tblr_col_span_size_prop }
+ }
+
+\prop_new:N \l__tblr_row_span_to_row_prop
+
+\cs_new_protected:Npn \__tblr_collect_span_heights:
+ {
+ \prop_clear:N \l__tblr_row_span_to_row_prop
+ \prop_clear:N \l__tblr_row_span_size_prop
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ {
+ \__tblr_prop_item:ne {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / rowspan }
+ }
+ \tl_if_empty:NF \l__tblr_a_tl
+ {
+ \tl_set:Nx \l__tblr_v_tl
+ {
+ \__tblr_prop_item:ne {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / valign }
+ }
+ \tl_if_eq:NnT \l__tblr_v_tl { h }
+ {
+ \tl_set:Nx \l__tblr_h_tl
+ {
+ \__tblr_data_item:nen { row }
+ { \l__tblr_i_tl } { @row-head }
+ }
+ \__tblr_prop_gput:nxV {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-height }
+ \l__tblr_h_tl
+ }
+ \tl_if_eq:NnT \l__tblr_v_tl { f }
+ {
+ \tl_set:Nx \l__tblr_d_tl
+ {
+ \__tblr_data_item:nen
+ { row }
+ { \int_eval:n { \l__tblr_i_tl + \l__tblr_a_tl - 1 } }
+ { @row-foot }
+ }
+ \__tblr_prop_gput:nxV {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-depth }
+ \l__tblr_d_tl
+ }
+ \__tblr_put_if_larger:Nxx \l__tblr_row_span_size_prop
+ {
+ ( \l__tblr_i_tl -
+ \int_eval:n {\l__tblr_i_tl + \l__tblr_a_tl - 1} )
+ }
+ {
+ \dim_eval:n
+ {
+ \__tblr_prop_item:ne {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-height }
+ +
+ \__tblr_prop_item:ne {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-depth }
+ }
+ }
+ \prop_put:Nxx \l__tblr_row_span_to_row_prop
+ { [\l__tblr_i_tl][\l__tblr_j_tl] }
+ { \int_eval:n {\l__tblr_i_tl + \l__tblr_a_tl - 1} }
+ }
+ }
+ }
+ \__tblr_do_if_tracing:nn { cellspan }
+ {
+ \prop_log:N \l__tblr_row_span_to_row_prop
+ \prop_log:N \l__tblr_row_span_size_prop
+ }
+ }
+
+%% Compute and set column widths from span widths
+\cs_new_protected:Npn \__tblr_set_column_widths_from_span_widths:
+ {
+ \__tblr_calc_item_sizes_from_span_sizes:xNN
+ { \int_use:N \c@colcount }
+ \l__tblr_col_item_skip_size_prop
+ \l__tblr_col_span_size_prop
+ \__tblr_set_all_column_widths:
+ }
+
+%% Compute and set row heights from span heights
+\cs_new_protected:Npn \__tblr_set_row_heights_from_span_heights:
+ {
+ \__tblr_calc_item_sizes_from_span_sizes:xNN
+ { \int_use:N \c@rowcount }
+ \l__tblr_row_item_skip_size_prop
+ \l__tblr_row_span_size_prop
+ \__tblr_set_all_row_heights:
+ }
+
+%% See page 245 in Chapter 22 of TeXbook
+%% #1: total number of items
+%% #2: prop list with item sizes and skip sizes; #3: prop list with span sizes
+\cs_new_protected:Npn \__tblr_calc_item_sizes_from_span_sizes:nNN #1 #2 #3
+ {
+ \int_step_variable:nNn { #1 } \l__tblr_j_tl
+ {
+ \dim_set:Nn \l__tblr_w_dim
+ {
+ \prop_item:Ne #2 { item[\l__tblr_j_tl] }
+ }
+ \int_step_variable:nNn { \l__tblr_j_tl - 1 } \l__tblr_i_tl
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ { \prop_item:Ne #3 { (\l__tblr_i_tl-\l__tblr_j_tl) } }
+ \tl_if_empty:NF \l__tblr_a_tl
+ {
+ \int_step_variable:nnNn
+ { \l__tblr_i_tl } { \l__tblr_j_tl - 1 } \l__tblr_k_tl
+ {
+ \__tblr_do_if_tracing:nn { cellspan }
+ {
+ \tl_log:x
+ { \l__tblr_j_tl : \l__tblr_i_tl -> \l__tblr_k_tl }
+ }
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \prop_item:Ne #2 { itemskip[\l__tblr_k_tl] }
+ }
+ \tl_set:Nx \l__tblr_a_tl
+ { \dim_eval:n { \l__tblr_a_tl - \l_tmpa_tl } }
+ }
+ \dim_compare:nNnT { \l__tblr_a_tl } > { \l__tblr_w_dim }
+ {
+ \dim_set:Nn \l__tblr_w_dim { \l__tblr_a_tl }
+ }
+ }
+ }
+ \prop_put:Nxx #2
+ { item[\l__tblr_j_tl] } { \dim_use:N \l__tblr_w_dim }
+ \int_compare:nNnT { \l__tblr_j_tl } < { #1 }
+ {
+ \tl_set:Nx \l_tmpb_tl
+ {
+ \prop_item:Ne #2
+ { skip[\int_eval:n { \l__tblr_j_tl + 1} ] }
+ }
+ \dim_add:Nn \l__tblr_w_dim { \l_tmpb_tl }
+ \prop_put:Nxx #2
+ { itemskip[\l__tblr_j_tl] } { \dim_use:N \l__tblr_w_dim }
+ }
+ }
+ \__tblr_do_if_tracing:nn { cellspan } { \prop_log:N #2 }
+ }
+\cs_generate_variant:Nn \__tblr_calc_item_sizes_from_span_sizes:nNN { x }
+
+\cs_new_protected:Npn \__tblr_set_all_column_widths:
+ {
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \__tblr_prop_gput:nxx {column}
+ { [\l__tblr_j_tl] / @col-width }
+ { \prop_item:Ne \l__tblr_col_item_skip_size_prop { item[\l__tblr_j_tl] } }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_set_all_row_heights:
+ {
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \tl_set:Nx \l__tblr_h_tl
+ {
+ \__tblr_data_item:nen { row } { \l__tblr_i_tl } { @row-head }
+ }
+ \tl_set:Nx \l__tblr_d_tl
+ {
+ \__tblr_data_item:nen { row } { \l__tblr_i_tl } { @row-foot }
+ }
+ \tl_set:Nx \l__tblr_a_tl
+ {
+ \prop_item:Ne \l__tblr_row_item_skip_size_prop { item[\l__tblr_i_tl] }
+ }
+ \__tblr_collect_one_row_height:NN \l__tblr_i_tl \l__tblr_t_tl
+ \__tblr_data_gput:nene { row }
+ { \l__tblr_i_tl } { @row-height } { \l__tblr_a_tl }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_get_span_key_row_col:w [#1][#2]
+ {
+ \tl_set:Nn \l__tblr_i_tl {#1}
+ \tl_set:Nn \l__tblr_j_tl {#2}
+ }
+
+%% Compute and set span widths from column widths
+\cs_new_protected:Npn \__tblr_set_span_widths_from_column_widths:
+ {
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ {
+ \__tblr_prop_item:ne {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / colspan }
+ }
+ \tl_if_empty:NF \l__tblr_a_tl
+ {
+ \__tblr_calc_span_widths:xxN
+ { \l__tblr_j_tl }
+ { \int_eval:n { \l__tblr_j_tl + \l__tblr_a_tl - 1 } }
+ \l__tblr_w_dim
+ \__tblr_prop_gput:nxx {cell}
+ { [\l__tblr_i_tl][\l__tblr_j_tl] / width }
+ { \dim_use:N \l__tblr_w_dim }
+ }
+ }
+ }
+ }
+
+%% Cell is spanned from col #1 to col #2, #3 is the return dim
+\cs_new_protected:Npn \__tblr_calc_span_widths:nnN #1 #2 #3
+ {
+ \dim_zero:N #3
+ \int_step_inline:nnn { #1 } { #2 }
+ {
+ \tl_set:Nx \l_tmpa_tl
+ { \prop_item:Ne \l__tblr_col_item_skip_size_prop { skip[##1] } }
+ \tl_set:Nx \l_tmpb_tl
+ { \prop_item:Ne \l__tblr_col_item_skip_size_prop { item[##1] } }
+ \dim_add:Nn #3 { \dim_eval:n { \l_tmpa_tl + \l_tmpb_tl } }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_calc_span_widths:nnN { xxN }
+
+%%% --------------------------------------------------------
+%% \section{Build the Whole Table}
+%%% --------------------------------------------------------
+
+\tl_new:N \__tlbr_vbox_align_tl
+\tl_const:Nn \__tlbr_vbox_t_tl {t}
+\tl_const:Nn \__tlbr_vbox_m_tl {m}
+\tl_const:Nn \__tlbr_vbox_c_tl {c}
+\tl_const:Nn \__tlbr_vbox_b_tl {b}
+
+\box_new:N \l__tblr_table_box
+
+%% #1: table alignment
+\cs_new_protected:Npn \__tblr_build_whole:n #1
+ {
+ \bool_if:NTF \l__tblr_long_table_bool
+ { \__tblr_build_long_table:n {#1} }
+ { \__tblr_build_short_table:n {#1} }
+ }
+
+\dim_new:N \l__tblr_remain_height_dim
+\tl_new:N \l__tblr_long_from_tl
+
+\cs_new_protected:Npn \__tblr_build_long_table:n #1
+ {
+ %\dim_log:N \pagegoal
+ %\dim_log:N \pagetotal
+ \dim_set:Nn \l__tblr_remain_height_dim { \pagegoal - \pagetotal }
+ \tl_set:Nn \l__tblr_long_from_tl {1}
+ \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
+ {
+ \dim_set:Nn \l_tmpa_dim
+ {
+ \__tblr_prop_item:ne { hline } { [\l__tblr_i_tl] / @hline-height }
+ +
+ \__tblr_data_item:nen { row } { \l__tblr_i_tl } { abovesep }
+ +
+ \__tblr_data_item:nen { row } { \l__tblr_i_tl } { @row-height }
+ +
+ \__tblr_data_item:nen { row } { \l__tblr_i_tl } { belowsep }
+ }
+ \dim_compare:nNnTF
+ { \l_tmpa_dim } > { \l__tblr_remain_height_dim }
+ {
+ \tl_log:N \l__tblr_i_tl
+ \__tblr_build_page_table:nnx {#1}
+ { \l__tblr_long_from_tl } { \int_eval:n { \l__tblr_i_tl - 1 } }
+ \newpage
+ \hbox{}\kern-\topskip\nobreak
+ \leavevmode
+ %\dim_log:N \pagegoal
+ %\dim_log:N \pagetotal
+ \dim_set:Nn \l__tblr_remain_height_dim
+ { \pagegoal - \pagetotal - \l_tmpa_dim }
+ \tl_set_eq:NN \l__tblr_long_from_tl \l__tblr_i_tl
+ }
+ {
+ \dim_add:Nn \l__tblr_remain_height_dim { -\l_tmpa_dim }
+ }
+ }
+ \__tblr_build_page_table:nnn {#1} { \l__tblr_long_from_tl } { \c@rowcount }
+ }
+
+\cs_new_protected:Npn \__tblr_build_page_table:nnn #1 #2 #3
+ {
+ \__tblr_build_one_table:nn {#2} {#3}
+ \__tblr_halign_whole:Nn \l__tblr_table_box #1
+ }
+\cs_generate_variant:Nn \__tblr_build_page_table:nnn { nnx }
+
+\cs_new_protected:Npn \__tblr_halign_whole:Nn #1 #2
+ {
+ \noindent
+ \hbox_to_wd:nn { \linewidth }
+ {
+ \tl_if_eq:nnF {#2} {l} { \hfil }
+ \box_use:N #1
+ \tl_if_eq:nnF {#2} {r} { \hfil }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_build_short_table:n #1
+ {
+ \__tblr_build_one_table:nn {1} {\c@rowcount}
+ \__tblr_valign_whole:Nn \l__tblr_table_box #1
+ }
+
+%% #1: row from; #2: row to
+\cs_new_protected:Npn \__tblr_build_one_table:nn #1 #2
+ {
+ \vbox_set:Nn \l__tblr_table_box
+ {
+ \int_step_variable:nnNn {#1} {#2} \l__tblr_i_tl
+ {
+ \hbox:n { \__tblr_build_hline:V \l__tblr_i_tl }
+ \hrule height ~ 0pt % remove lineskip between hlines and rows
+ \hbox:n { \__tblr_build_row:N \l__tblr_i_tl }
+ \hrule height ~ 0pt
+ }
+ \hbox:n { \__tblr_build_hline:n { \int_eval:n {#2 + 1} } }
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_valign_whole:Nn #1 #2
+ {
+ \group_begin:
+ \tl_set:Nn \__tlbr_vbox_align_tl {#2}
+ \dim_set:Nn \l__tblr_t_dim { \box_ht:N #1 + \box_dp:N #1 }
+ \tl_case:NnF \__tlbr_vbox_align_tl
+ {
+ \__tlbr_vbox_m_tl
+ { \__tblr_valign_whole_middle:N #1 }
+ \__tlbr_vbox_c_tl
+ { \__tblr_valign_whole_middle:N #1 }
+ \__tlbr_vbox_t_tl
+ { \__tblr_valign_whole_top:N #1 }
+ \__tlbr_vbox_b_tl
+ { \__tblr_valign_whole_bottom:N #1 }
+ }
+ { \__tblr_valign_whole_middle:N #1 }
+ \group_end:
+ }
+
+\cs_new_protected:Npn \__tblr_valign_whole_middle:N #1
+ {
+ \hbox:n { $ \m@th \tex_vcenter:D { \vbox_unpack_drop:N #1 } $ }
+ }
+
+\cs_new_protected:Npn \__tblr_valign_whole_top:N #1
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ { \__tblr_prop_item:ne { hline } { [1] / @hline-height } }
+ %% Note that \l__tblr_b_tl may be empty
+ \tl_set:Nx \l__tblr_b_tl
+ { \__tblr_prop_item:ne { table } { baseline } }
+ \bool_lazy_or:nnTF
+ { \dim_compare_p:nNn { \l__tblr_a_tl } = { 0pt } }
+ { \int_compare_p:nNn { \l__tblr_b_tl + 0 } = { 1 } }
+ {
+ \dim_set:Nn \l__tblr_h_dim
+ {
+ \__tblr_data_item:nnn { row } {1} { abovesep }
+ +
+ ( \__tblr_data_item:nnn { row } {1} { @row-height }
+ +
+ \__tblr_data_item:nnn { row } {1} { @row-upper }
+ -
+ \__tblr_data_item:nnn { row } {1} { @row-lower }
+ ) / 2
+ }
+ \dim_set:Nn \l__tblr_d_dim { \l__tblr_t_dim - \l__tblr_h_dim }
+ }
+ {
+ \dim_set:Nn \l__tblr_h_dim { 0pt }
+ \dim_set_eq:NN \l__tblr_d_dim \l__tblr_t_dim
+ }
+ \box_set_ht:Nn #1 { \l__tblr_h_dim }
+ \box_set_dp:Nn #1 { \l__tblr_d_dim }
+ \box_use_drop:N #1
+ }
+
+\cs_new_protected:Npn \__tblr_valign_whole_bottom:N #1
+ {
+ \tl_set:Nx \l__tblr_a_tl
+ {
+ \__tblr_prop_item:ne { hline }
+ { [\int_eval:n {\c@rowcount + 1}] / @hline-height }
+ }
+ %% Note that \l__tblr_b_tl may be empty
+ \tl_set:Nx \l__tblr_b_tl
+ { \__tblr_prop_item:ne { table } { baseline } }
+ \bool_lazy_or:nnTF
+ { \dim_compare_p:nNn { \l__tblr_a_tl } = { 0pt } }
+ { \int_compare_p:nNn { \l__tblr_b_tl + 0 } = { \c@rowcount } }
+ {
+ \dim_set:Nn \l__tblr_d_dim
+ {
+ ( \__tblr_data_item:nen { row }
+ { \int_use:N \c@rowcount } { @row-height }
+ -
+ \__tblr_data_item:nen { row }
+ { \int_use:N \c@rowcount } { @row-upper }
+ +
+ \__tblr_data_item:nen { row }
+ { \int_use:N \c@rowcount } { @row-lower }
+ ) / 2
+ +
+ \__tblr_data_item:nnn { row } {1} { belowsep }
+ }
+ \dim_set:Nn \l__tblr_h_dim { \l__tblr_t_dim - \l__tblr_d_dim }
+ }
+ {
+ \dim_set:Nn \l__tblr_d_dim { 0pt }
+ \dim_set_eq:NN \l__tblr_h_dim \l__tblr_t_dim
+ }
+ \box_set_ht:Nn #1 { \l__tblr_h_dim }
+ \box_set_dp:Nn #1 { \l__tblr_d_dim }
+ \box_use_drop:N #1
+ }
+
+\dim_new:N \l__tblr_col_o_wd_dim
+\dim_new:N \l__tblr_col_b_wd_dim
+
+%% Build hline. #1: row number
+\cs_new_protected:Npn \__tblr_build_hline:n #1
+ {
+ \int_step_inline:nn { \c@colcount }
+ { \__tblr_build_hline_segment:nn { #1 } { ##1 } }
+ }
+\cs_generate_variant:Nn \__tblr_build_hline:n { x, V }
+
+%% #1: row number, #2: column number
+\cs_new_protected:Npn \__tblr_build_hline_segment:nn #1 #2
+ {
+ \tl_set:Nx \l__tblr_n_tl
+ { \__tblr_prop_item:ne { hline } { [#1] / @hline-count } }
+ \tl_set:Nx \l__tblr_o_tl
+ { \__tblr_prop_item:ne { hline } { [#1][#2] / omit } }
+ \__tblr_get_col_outer_width_border_width:nNN {#2}
+ \l__tblr_col_o_wd_dim \l__tblr_col_b_wd_dim
+ \tl_if_empty:NTF \l__tblr_o_tl
+ {
+ \tl_if_empty:NF \l__tblr_n_tl
+ { \__tblr_build_hline_segment_real:nn {#1} {#2} }
+ }
+ { \__tblr_build_hline_segment_omit:nn {#1} {#2} }
+ }
+
+%% #1: row number, #2: column number
+\cs_new_protected:Npn \__tblr_build_hline_segment_omit:nn #1 #2
+ {
+ \skip_horizontal:n { \l__tblr_col_o_wd_dim - \l__tblr_col_b_wd_dim }
+ }
+
+%% #1: row number, #2: column number
+\cs_new_protected:Npn \__tblr_build_hline_segment_real:nn #1 #2
+ {
+ \tl_set:Nx \l__tblr_s_tl
+ { \__tblr_prop_item:ne { hline } { [#1] / rulesep } }
+ \vbox_set:Nn \l__tblr_c_box
+ {
+ %% add an empty hbox to support vbox width
+ \tex_hbox:D to \l__tblr_col_o_wd_dim {}
+ \int_step_inline:nn { \l__tblr_n_tl }
+ {
+ \tl_set:Nx \l__tblr_h_tl
+ { \__tblr_prop_item:ne { hline } { [#1](##1) / @hline-height } }
+ \hrule height ~ 0pt % remove lineskip
+ \hbox_set_to_wd:Nnn \l__tblr_b_box { \l__tblr_col_o_wd_dim }
+ {
+ \tl_set:Nx \l__tblr_f_tl
+ { \__tblr_prop_item:ne { hline } { [#1][#2](##1) / fg } }
+ \tl_if_empty:NF \l__tblr_f_tl { \color{\l__tblr_f_tl} }
+ \__tblr_get_hline_segment_child:nnn {#1} {#2} {##1}
+ }
+ \box_set_ht:Nn \l__tblr_b_box { \l__tblr_h_tl }
+ \box_set_dp:Nn \l__tblr_b_box { 0pt }
+ \box_use:N \l__tblr_b_box
+ \skip_vertical:n { \l__tblr_s_tl }
+ }
+ \skip_vertical:n { - \l__tblr_s_tl }
+ }
+ \box_use:N \l__tblr_c_box
+ \skip_horizontal:n { - \l__tblr_col_b_wd_dim }
+ }
+
+%% Read from table specifications and calculate the widths of row and border
+%% column outer width = content width + colsep width + border width
+%% #1: the column number, #2: outer width, #3: border width
+\cs_new_protected:Npn \__tblr_get_col_outer_width_border_width:nNN #1 #2 #3
+ {
+ \dim_set:Nn #3
+ { \__tblr_prop_item:ne {vline} { [\int_eval:n {#1 + 1}] / @vline-width } }
+ \dim_set:Nn #2
+ {
+ \__tblr_prop_item:ne {vline} { [#1] / @vline-width }
+ +
+ \__tblr_prop_item:ne {column} { [#1] / leftsep }
+ +
+ \__tblr_prop_item:ne {column} { [#1] / @col-width }
+ +
+ \__tblr_prop_item:ne {column} { [#1] / rightsep }
+ +
+ #3
+ }
+ }
+
+\dim_new:N \l__tblr_row_ht_dim
+\dim_new:N \l__tblr_row_dp_dim
+\dim_new:N \l__tblr_row_abovesep_dim
+\dim_new:N \l__tblr_row_belowsep_dim
+
+%% Build current row, #1: row number
+\cs_new_protected:Npn \__tblr_build_row:N #1
+ {
+ \__tblr_get_row_inner_height_depth:VNNNN #1
+ \l__tblr_row_ht_dim \l__tblr_row_dp_dim
+ \l__tblr_row_abovesep_dim \l__tblr_row_belowsep_dim
+ \vrule width ~ 0pt ~ height ~ \l__tblr_row_ht_dim ~ depth ~ \l__tblr_row_dp_dim
+ \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
+ {
+ \__tblr_build_vline_segment:nn {#1} { \l__tblr_j_tl }
+ \__tblr_build_cell:NN #1 \l__tblr_j_tl
+ }
+ \__tblr_build_vline_segment:nn {#1} { \int_eval:n {\c@colcount + 1} }
+ }
+
+%% Read from table specifications and calculate inner height/depth of the row
+%% inner height = abovesep + above vspace + row upper
+%% inner depth = row lower + below vspace + belowsep
+%% #1: the row number; #2: resulting inner height; #3: resulting inner depth;
+%% #4: restulting abovesep; #5: restulting belowsep.
+
+\dim_new:N \l__row_upper_dim
+\dim_new:N \l__row_lower_dim
+\dim_new:N \l__row_vpace_dim
+
+\cs_new_protected:Npn \__tblr_get_row_inner_height_depth:nNNNN #1 #2 #3 #4 #5
+ {
+ \dim_set:Nn #4
+ { \__tblr_data_item:nen { row } {#1} { abovesep } }
+ \dim_set:Nn #5
+ { \__tblr_data_item:nen { row } {#1} { belowsep } }
+ \dim_set:Nn \l__row_upper_dim
+ { \__tblr_data_item:nen { row } {#1} { @row-upper } }
+ \dim_set:Nn \l__row_lower_dim
+ { \__tblr_data_item:nen { row } {#1} { @row-lower } }
+ \dim_set:Nn \l__row_vpace_dim
+ {
+ ( \__tblr_data_item:nen { row } {#1} { @row-height }
+ - \l__row_upper_dim - \l__row_lower_dim ) / 2
+ }
+ \dim_set:Nn #2 { #4 + \l__row_vpace_dim + \l__row_upper_dim }
+ \dim_set:Nn #3 { \l__row_lower_dim + \l__row_vpace_dim + #5 }
+ }
+\cs_generate_variant:Nn \__tblr_get_row_inner_height_depth:nNNNN { V }
+
+%% #1: row number, #2: column number
+\cs_new_protected:Npn \__tblr_build_vline_segment:nn #1 #2
+ {
+ \tl_set:Nx \l__tblr_n_tl
+ { \__tblr_prop_item:ne { vline } { [#2] / @vline-count } }
+ \tl_set:Nx \l__tblr_o_tl
+ { \__tblr_prop_item:ne { vline } { [#1][#2] / omit } }
+ \tl_if_empty:NTF \l__tblr_o_tl
+ {
+ \tl_if_empty:NF \l__tblr_n_tl
+ { \__tblr_build_vline_segment_real:nn {#1} {#2} }
+ }
+ { \__tblr_build_vline_segment_omit:nn {#1} {#2} }
+ }
+
+%% #1: row number, #2: column number
+\cs_new_protected:Npn \__tblr_build_vline_segment_omit:nn #1 #2
+ {
+ \tl_set:Nx \l__tblr_w_tl
+ { \__tblr_prop_item:ne { vline } { [#2] / @vline-width } }
+ \skip_horizontal:N \l__tblr_w_tl
+ }
+
+%% #1: row number, #2: column number
+%% We make every vline segment intersect with first hline below
+%% to remove gaps in vlines around multirow cells
+\cs_new_protected:Npn \__tblr_build_vline_segment_real:nn #1 #2
+ {
+ \tl_set:Nx \l__tblr_s_tl
+ { \__tblr_prop_item:ne { vline } { [#2] / rulesep } }
+ \tl_set:Nx \l__tblr_b_tl
+ {
+ \__tblr_prop_item:ne { hline }
+ { [\int_eval:n{#1 + 1}](1) / @hline-height }
+ }
+ \tl_if_empty:NT \l__tblr_b_tl { \tl_set:Nn \l__tblr_b_tl { 0pt } }
+ \hbox_set:Nn \l__tblr_a_box
+ {
+ \int_step_inline:nn { \l__tblr_n_tl }
+ {
+ \tl_set:Nx \l__tblr_w_tl
+ { \__tblr_prop_item:ne { vline } { [#2](##1) / @vline-width } }
+ \vbox_set_to_ht:Nnn \l__tblr_b_box
+ { \dim_eval:n { \l__tblr_row_ht_dim + \l__tblr_row_dp_dim } }
+ {
+ \tl_set:Nx \l__tblr_f_tl
+ { \__tblr_prop_item:ne { vline } { [#1][#2](##1) / fg } }
+ \tl_if_empty:NF \l__tblr_f_tl { \color{\l__tblr_f_tl} }
+ \__tblr_get_vline_segment_child:nnnxx {#1} {#2} {##1}
+ { \dim_eval:n { \l__tblr_row_ht_dim } }
+ { \dim_eval:n { \l__tblr_row_dp_dim + \l__tblr_b_tl } }
+ \skip_vertical:n { - \l__tblr_b_tl }
+ }
+ \box_set_wd:Nn \l__tblr_b_box { \l__tblr_w_tl }
+ \box_use:N \l__tblr_b_box
+ \skip_horizontal:n { \l__tblr_s_tl }
+ }
+ \skip_horizontal:n { - \l__tblr_s_tl }
+ }
+ \vbox_set:Nn \l__tblr_c_box { \box_use:N \l__tblr_a_box }
+ \box_set_ht:Nn \l__tblr_c_box { \dim_use:N \l__tblr_row_ht_dim }
+ \box_set_dp:Nn \l__tblr_c_box { \dim_use:N \l__tblr_row_dp_dim }
+ \box_use:N \l__tblr_c_box
+ }
+
+\tl_new:N \l__tblr_cell_rowspan_tl
+\tl_new:N \l__tblr_cell_colspan_tl
+\dim_new:N \l__tblr_cell_wd_dim
+\dim_new:N \l__tblr_cell_ht_dim
+
+\cs_new_protected:Npn \__tblr_build_cell:NN #1 #2
+ {
+ \int_set:Nn \c@rownum {#1}
+ \int_set:Nn \c@colnum {#2}
+ \group_begin:
+ \tl_set:Nx \l__tblr_w_tl
+ { \__tblr_prop_item:ne { column } { [#2] / @col-width } }
+ \tl_set:Nx \l__tblr_h_tl
+ { \__tblr_data_item:nen { row } {#1} { @row-height } }
+ \tl_set:Nx \l__tblr_x_tl
+ { \__tblr_prop_item:ne { column } { [#2] / leftsep} }
+ \tl_set:Nx \l__tblr_y_tl
+ { \__tblr_prop_item:ne { column } { [#2] / rightsep } }
+ \tl_set:Nx \l__tblr_cell_colspan_tl
+ { \__tblr_prop_item:ne { cell } { [#1][#2] / colspan } }
+ \tl_if_empty:NTF \l__tblr_cell_colspan_tl
+ { \dim_set:Nn \l__tblr_cell_wd_dim { \l__tblr_w_tl } }
+ {
+ \__tblr_get_span_horizontal_sizes:NNNNN #1 #2
+ \l__tblr_o_dim \l__tblr_cell_wd_dim \l__tblr_q_dim
+ }
+ \tl_set:Nx \l__tblr_cell_rowspan_tl
+ { \__tblr_prop_item:ne { cell } { [#1][#2] / rowspan } }
+ \tl_if_empty:NTF \l__tblr_cell_rowspan_tl
+ { \dim_set:Nn \l__tblr_cell_ht_dim { \l__tblr_h_tl } }
+ {
+ \__tblr_get_span_vertical_sizes:NNNNN #1 #2
+ \l__tblr_r_dim \l__tblr_cell_ht_dim \l__tblr_t_dim
+ }
+ \__tblr_get_cell_alignments:nn {#1} {#2}
+ \__tblr_build_cell_background:NN #1 #2
+ \__tblr_build_cell_content:NN #1 #2
+ \group_end:
+ }
+
+\cs_new_protected:Npn \__tblr_build_cell_content:NN #1 #2
+ {
+ \hbox_set_to_wd:Nnn \l__tblr_a_box { \l__tblr_cell_wd_dim }
+ {
+ \tl_if_eq:NnF \g__tblr_cell_halign_tl {l} { \hfil }
+ \__tblr_get_cell_text:nn {#1} {#2}
+ \tl_if_eq:NnF \g__tblr_cell_halign_tl {r} { \hfil }
+ }
+ \vbox_set_to_ht:Nnn \l__tblr_b_box { \l__tblr_cell_ht_dim }
+ {
+ \tl_case:Nn \g__tblr_cell_valign_tl
+ {
+ \c__tblr_valign_m_tl
+ {
+ \vfil
+ \tl_if_empty:NT \l__tblr_cell_rowspan_tl
+ {
+ \box_set_ht:Nn \l__tblr_a_box
+ { \__tblr_data_item:nen { row } {#1} { @row-upper } }
+ \box_set_dp:Nn \l__tblr_a_box
+ { \__tblr_data_item:nen { row } {#1} { @row-lower } }
+ }
+ \box_use:N \l__tblr_a_box
+ \vfil
+ }
+ \c__tblr_valign_h_tl
+ {
+ \box_set_ht:Nn \l__tblr_a_box
+ { \__tblr_data_item:nen { row } {#1} { @row-head } }
+ \box_use:N \l__tblr_a_box
+ \vfil
+ }
+ \c__tblr_valign_f_tl
+ {
+ \vfil
+ \tl_if_empty:NTF \l__tblr_cell_rowspan_tl
+ {
+ \box_set_dp:Nn \l__tblr_a_box
+ { \__tblr_data_item:nen { row } {#1} { @row-foot } }
+ }
+ {
+ \box_set_dp:Nn \l__tblr_a_box
+ {
+ \__tblr_data_item:nen
+ { row }
+ { \int_eval:n { #1 + \l__tblr_cell_rowspan_tl - 1 } }
+ { @row-foot }
+ }
+ }
+ \box_use:N \l__tblr_a_box
+ }
+ }
+ \hrule height ~ 0pt %% zero depth
+ }
+ \vbox_set_to_ht:Nnn \l__tblr_c_box
+ { \l__tblr_row_ht_dim - \l__tblr_row_abovesep_dim }
+ {
+ \box_use:N \l__tblr_b_box
+ \vss
+ }
+ \skip_horizontal:n { \l__tblr_x_tl }
+ \box_use:N \l__tblr_c_box
+ \skip_horizontal:n { \l__tblr_y_tl - \l__tblr_cell_wd_dim + \l__tblr_w_tl }
+ }
+
+\cs_new_protected:Npn \__tblr_build_cell_background:NN #1 #2
+ {
+ \__tblr_prop_if_in:nxF {cell} { [#1][#2] / omit }
+ {
+ \group_begin:
+ \tl_set:Nx \l__tblr_b_tl
+ { \__tblr_prop_item:ne { cell } { [#1][#2] / background } }
+ \tl_if_empty:NF \l__tblr_b_tl
+ {
+ \__tblr_get_cell_background_width:NNN #1 #2 \l_tmpa_dim
+ \__tblr_get_cell_background_depth:NNN #1 #2 \l_tmpb_dim
+ \__tblr_build_cell_background:nnnn
+ { \dim_use:N \l_tmpa_dim }
+ { \l__tblr_row_ht_dim }
+ { \dim_use:N \l_tmpb_dim }
+ { \l__tblr_b_tl }
+ }
+ \group_end:
+ }
+ }
+
+%% #1: row number; #2: column number; #3 resulting dimension
+\cs_new_protected:Npn \__tblr_get_cell_background_width:NNN #1 #2 #3
+ {
+ \tl_if_empty:NTF \l__tblr_cell_colspan_tl
+ { \dim_set:Nn #3 { \l__tblr_x_tl + \l__tblr_w_tl + \l__tblr_y_tl } }
+ {
+ \dim_set:Nn #3 { \l__tblr_o_dim + \l__tblr_cell_wd_dim + \l__tblr_q_dim }
+ }
+ }
+
+%% #1: row number; #2: column number; #3 resulting dimension
+\cs_new_protected:Npn \__tblr_get_cell_background_depth:NNN #1 #2 #3
+ {
+ \tl_if_empty:NTF \l__tblr_cell_rowspan_tl
+ { \dim_set_eq:NN #3 \l__tblr_row_dp_dim }
+ {
+ \dim_set:Nn #3
+ {
+ \l__tblr_r_dim + \l__tblr_cell_ht_dim
+ + \l__tblr_t_dim - \l__tblr_row_ht_dim
+ }
+ }
+ }
+
+%% #1: width, #2: height, #3: depth, #4: color
+\cs_new_protected:Npn \__tblr_build_cell_background:nnnn #1 #2 #3 #4
+ {
+ \hbox_set:Nn \l__tblr_a_box
+ {
+ \color {#4}
+ \vrule width ~ #1 ~ height ~ #2 ~ depth ~ #3
+ }
+ \box_set_dp:Nn \l__tblr_a_box { 0pt }
+ \box_use:N \l__tblr_a_box
+ \skip_horizontal:n { - #1 }
+ }
+
+%% #1: row number; #2: column number; #3: dimen register for rowsep above.
+%% #4: dimen register for total height; #5: dimen register for rowsep below.
+%% We can use \l__tblr_row_item_skip_size_prop which was made before
+\cs_new_protected:Npn \__tblr_get_span_vertical_sizes:NNNNN #1 #2 #3 #4 #5
+ {
+ \dim_set:Nn #3
+ { \__tblr_data_item:nen { row } {#1} { abovesep } }
+ \dim_zero:N #4
+ \int_step_inline:nnn { #1 } { #1 + \l__tblr_cell_rowspan_tl - 2 }
+ {
+ \dim_add:Nn #4
+ { \prop_item:Ne \l__tblr_row_item_skip_size_prop { itemskip[##1] } }
+ }
+ \dim_add:Nn #4
+ {
+ \prop_item:Ne \l__tblr_row_item_skip_size_prop
+ { item[\int_eval:n { #1 + \l__tblr_cell_rowspan_tl - 1 }] }
+ }
+ \dim_set:Nn #5
+ {
+ \__tblr_data_item:nen { row }
+ { \int_eval:n { #1 + \l__tblr_cell_rowspan_tl - 1 } } { belowsep }
+ }
+ %\tl_log:x { cell[#1][#2] ~:~ \dim_use:N #3, \dim_use:N #4, \dim_use:N #5 }
+ }
+
+%% #1: row number; #2: column number; #3: dimen register for colsep left.
+%% #4: dimen register for total width; #5: dimen register for colsep right.
+%% We can use \l__tblr_col_item_skip_size_prop which was made before
+%% But when hspan=minimal, there are no itemskip in the prop list.
+%% Therefore we need to calculate them from the sizes of items and skips
+\cs_new_protected:Npn \__tblr_get_span_horizontal_sizes:NNNNN #1 #2 #3 #4 #5
+ {
+ \dim_set:Nn #3
+ { \__tblr_prop_item:ne { column } { [#2] / leftsep} }
+ \dim_zero:N #4
+ \int_step_inline:nnn { #2 } { #2 + \l__tblr_cell_colspan_tl - 2 }
+ {
+ \dim_add:Nn #4
+ { \prop_item:Ne \l__tblr_col_item_skip_size_prop { item[##1] } }
+ \dim_add:Nn #4
+ {
+ \prop_item:Ne \l__tblr_col_item_skip_size_prop
+ { skip[\int_eval:n { ##1 + 1 }] }
+ }
+ }
+ \dim_add:Nn #4
+ {
+ \prop_item:Ne \l__tblr_col_item_skip_size_prop
+ { item[\int_eval:n { #2 + \l__tblr_cell_colspan_tl - 1 }] }
+ }
+ \dim_set:Nn #5
+ {
+ \__tblr_prop_item:ne { column }
+ { [\int_eval:n {#2 + \l__tblr_cell_colspan_tl - 1}] / rightsep }
+ }
+ %\tl_log:x { cell[#1][#2] ~:~ \dim_use:N #3, \dim_use:N #4, \dim_use:N #5 }
+ }
+
+%%% --------------------------------------------------------
+%% \section{Tracing Tabularray}
+%%% --------------------------------------------------------
+
+\NewDocumentCommand \SetTabularrayTracing { m }
+ {
+ \keys_set:nn { tblr-set-tracing } {#1}
+ }
+\cs_new_eq:NN \SetTblrTracing \SetTabularrayTracing
+
+\bool_new:N \g__tblr_tracing_text_bool
+\bool_new:N \g__tblr_tracing_command_bool
+\bool_new:N \g__tblr_tracing_table_bool
+\bool_new:N \g__tblr_tracing_column_bool
+\bool_new:N \g__tblr_tracing_row_bool
+\bool_new:N \g__tblr_tracing_cell_bool
+\bool_new:N \g__tblr_tracing_vline_bool
+\bool_new:N \g__tblr_tracing_hline_bool
+\bool_new:N \g__tblr_tracing_colspec_bool
+\bool_new:N \g__tblr_tracing_rowspec_bool
+\bool_new:N \g__tblr_tracing_target_bool
+\bool_new:N \g__tblr_tracing_cellspan_bool
+
+\keys_define:nn { tblr-set-tracing }
+ {
+ +text .code:n = \bool_gset_true:N \g__tblr_tracing_text_bool,
+ -text .code:n = \bool_gset_false:N \g__tblr_tracing_text_bool,
+ +command .code:n = \bool_gset_true:N \g__tblr_tracing_command_bool,
+ -command .code:n = \bool_gset_false:N \g__tblr_tracing_command_bool,
+ +table .code:n = \bool_gset_true:N \g__tblr_tracing_table_bool,
+ -table .code:n = \bool_gset_false:N \g__tblr_tracing_table_bool,
+ +column .code:n = \bool_gset_true:N \g__tblr_tracing_column_bool,
+ -column .code:n = \bool_gset_false:N \g__tblr_tracing_column_bool,
+ +row .code:n = \bool_gset_true:N \g__tblr_tracing_row_bool,
+ -row .code:n = \bool_gset_false:N \g__tblr_tracing_row_bool,
+ +cell .code:n = \bool_gset_true:N \g__tblr_tracing_cell_bool,
+ -cell .code:n = \bool_gset_false:N \g__tblr_tracing_cell_bool,
+ +vline .code:n = \bool_gset_true:N \g__tblr_tracing_vline_bool,
+ -vline .code:n = \bool_gset_false:N \g__tblr_tracing_vline_bool,
+ +hline .code:n = \bool_gset_true:N \g__tblr_tracing_hline_bool,
+ -hline .code:n = \bool_gset_false:N \g__tblr_tracing_hline_bool,
+ +colspec .code:n = \bool_gset_true:N \g__tblr_tracing_colspec_bool,
+ -colspec .code:n = \bool_gset_false:N \g__tblr_tracing_colspec_bool,
+ +rowspec .code:n = \bool_gset_true:N \g__tblr_tracing_rowspec_bool,
+ -rowspec .code:n = \bool_gset_false:N \g__tblr_tracing_rowspec_bool,
+ +target .code:n = \bool_gset_true:N \g__tblr_tracing_target_bool,
+ -target .code:n = \bool_gset_false:N \g__tblr_tracing_target_bool,
+ +cellspan .code:n = \bool_gset_true:N \g__tblr_tracing_cellspan_bool,
+ -cellspan .code:n = \bool_gset_false:N \g__tblr_tracing_cellspan_bool,
+ all .code:n = \__tblr_enable_all_tracings:,
+ none .code:n = \__tblr_disable_all_tracings:,
+ }
+
+\cs_new_protected_nopar:Npn \__tblr_enable_all_tracings:
+ {
+ \bool_gset_true:N \g__tblr_tracing_text_bool
+ \bool_gset_true:N \g__tblr_tracing_command_bool
+ \bool_gset_true:N \g__tblr_tracing_table_bool
+ \bool_gset_true:N \g__tblr_tracing_column_bool
+ \bool_gset_true:N \g__tblr_tracing_row_bool
+ \bool_gset_true:N \g__tblr_tracing_cell_bool
+ \bool_gset_true:N \g__tblr_tracing_vline_bool
+ \bool_gset_true:N \g__tblr_tracing_hline_bool
+ \bool_gset_true:N \g__tblr_tracing_colspec_bool
+ \bool_gset_true:N \g__tblr_tracing_rowspec_bool
+ \bool_gset_true:N \g__tblr_tracing_target_bool
+ \bool_gset_true:N \g__tblr_tracing_cellspan_bool
+ }
+
+\cs_new_protected_nopar:Npn \__tblr_disable_all_tracings:
+ {
+ \bool_gset_false:N \g__tblr_tracing_text_bool
+ \bool_gset_false:N \g__tblr_tracing_command_bool
+ \bool_gset_false:N \g__tblr_tracing_table_bool
+ \bool_gset_false:N \g__tblr_tracing_column_bool
+ \bool_gset_false:N \g__tblr_tracing_row_bool
+ \bool_gset_false:N \g__tblr_tracing_cell_bool
+ \bool_gset_false:N \g__tblr_tracing_vline_bool
+ \bool_gset_false:N \g__tblr_tracing_hline_bool
+ \bool_gset_false:N \g__tblr_tracing_colspec_bool
+ \bool_gset_false:N \g__tblr_tracing_rowspec_bool
+ \bool_gset_false:N \g__tblr_tracing_target_bool
+ \bool_gset_false:N \g__tblr_tracing_cellspan_bool
+ }
+
+\NewDocumentCommand \LogTabularrayTracing { m }
+ {
+ \keys_set:nn { tblr-log-tracing } {#1}
+ }
+\cs_new_eq:NN \LogTblrTracing \LogTabularrayTracing
+
+\keys_define:nn { tblr-log-tracing }
+ {
+ unknown .code:n = \__tblr_log_tracing:N \l_keys_key_str
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing:N #1
+ {
+ \bool_if:cT { g__tblr_tracing_ #1 _bool }
+ { \cs:w __tblr_log_tracing _ #1 : \cs_end: }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_text:
+ {
+ \__tblr_prop_log:n { text }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_command:
+ {
+ \__tblr_prop_log:n { command }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_table:
+ {
+ \__tblr_prop_log:n { table }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_column:
+ {
+ \__tblr_prop_log:n { column }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_row:
+ {
+ \__tblr_data_log:n { row }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_cell:
+ {
+ \__tblr_prop_log:n { cell }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_vline:
+ {
+ \__tblr_prop_log:n { vline }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_hline:
+ {
+ \__tblr_prop_log:n { hline }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_colspec:
+ {
+ \tl_if_eq:NnT \g__tblr_column_or_row_tl { column }
+ { \tl_log:N \g__tblr_expanded_colrow_spec_tl }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_rowspec:
+ {
+ \tl_if_eq:NnT \g__tblr_column_or_row_tl { row }
+ { \tl_log:N \g__tblr_expanded_colrow_spec_tl }
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_target:
+ {
+ \dim_log:N \l__column_target_dim
+ \prop_log:N \l__column_coefficient_prop
+ \prop_log:N \l__column_natural_width_prop
+ \prop_log:N \l__column_computed_width_prop
+ }
+
+\cs_new_protected:Npn \__tblr_log_tracing_cellspan:
+ {
+ \prop_log:N \l__tblr_col_item_skip_size_prop
+ \prop_log:N \l__tblr_col_span_size_prop
+ \prop_log:N \l__tblr_row_item_skip_size_prop
+ \prop_log:N \l__tblr_row_span_size_prop
+ \prop_log:N \l__tblr_row_span_to_row_prop
+ }
+
+\cs_new_protected:Npn \__tblr_do_if_tracing:nn #1 #2
+ {
+ \bool_if:cT { g__tblr_tracing_ #1 _bool } {#2}
+ }
+
+\ExplSyntaxOff
diff --git a/macros/latex/contrib/tabularray/tabularray.pdf b/macros/latex/contrib/tabularray/tabularray.pdf
index 7b00466957..05c0d50e11 100644
--- a/macros/latex/contrib/tabularray/tabularray.pdf
+++ b/macros/latex/contrib/tabularray/tabularray.pdf
Binary files differ
diff --git a/macros/latex/contrib/tabularray/tabularray.sty b/macros/latex/contrib/tabularray/tabularray.sty
index 90ddaadd34..8e5c2b9369 100644
--- a/macros/latex/contrib/tabularray/tabularray.sty
+++ b/macros/latex/contrib/tabularray/tabularray.sty
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\ProvidesExplPackage{tabularray}{2021-05-25}{2021J}
+\ProvidesExplPackage{tabularray}{2021-06-05}{2021K}
{Typeset tabulars and arrays with LaTeX3}
\RequirePackage{xparse}
@@ -97,60 +97,78 @@
\box_new:N \l__tblr_c_box % for cell box
\box_new:N \l__tblr_d_box
+%% Some counters for row and column numbering
+\newcounter{rownum}
+\newcounter{colnum}
+\newcounter{rowcount}
+\newcounter{colcount}
+
%%% --------------------------------------------------------
%% \section{Data Structures Based on Property Lists}
%%% --------------------------------------------------------
\int_new:N \g_tblr_level_int % store table nesting level
+\cs_new_protected:Npn \__tblr_clear_prop_lists:
+ {
+ \prop_gclear_new:c { g__tblr_text_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g__tblr_command_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g__tblr_table_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g__tblr_row_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g__tblr_column_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g__tblr_cell_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g__tblr_hline_ \int_use:N \g_tblr_level_int _prop }
+ \prop_gclear_new:c { g__tblr_vline_ \int_use:N \g_tblr_level_int _prop }
+ }
+
\cs_new_protected:Npn \__tblr_prop_gput:nnn #1 #2 #3
{
\prop_gput:cnn
- { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
+ { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
}
\cs_generate_variant:Nn \__tblr_prop_gput:nnn { nnx, nnV, nxn, nxx, nxV }
\cs_new:Npn \__tblr_prop_item:nn #1 #2
{
- \prop_item:cn { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 }
+ \prop_item:cn { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 }
}
\cs_generate_variant:Nn \__tblr_prop_item:nn { ne }
\cs_new_protected:Npn \__tblr_prop_if_in:nnT #1
{
- \prop_if_in:cnT { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop }
+ \prop_if_in:cnT { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop }
}
\cs_new_protected:Npn \__tblr_prop_if_in:nnF #1
{
- \prop_if_in:cnF { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop }
+ \prop_if_in:cnF { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop }
}
\cs_new_protected:Npn \__tblr_prop_if_in:nnTF #1
{
- \prop_if_in:cnTF { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop }
+ \prop_if_in:cnTF { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop }
}
\prg_generate_conditional_variant:Nnn \__tblr_prop_if_in:nn { nx } { T, F, TF }
\cs_new_protected:Npn \__tblr_prop_log:n #1
{
- \prop_log:c { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop }
+ \prop_log:c { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop }
}
\cs_new_protected:Npn \__tblr_prop_map_inline:nn #1 #2
{
- \prop_map_inline:cn { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } {#2}
+ \prop_map_inline:cn { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop } {#2}
}
\cs_new_protected:Npn \__tblr_prop_gput_if_larger:nnn #1 #2 #3
{
\__tblr_gput_if_larger:cnn
- { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
+ { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
}
\cs_generate_variant:Nn \__tblr_prop_gput_if_larger:nnn { nnx, nnV, nxn, nxx, nxV }
\cs_new_protected:Npn \__tblr_prop_gadd_dimen_value:nnn #1 #2 #3
{
\__tblr_gadd_dimen_value:cnn
- { g_tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
+ { g__tblr_#1_ \int_use:N \g_tblr_level_int _prop } { #2 } { #3 }
}
\cs_generate_variant:Nn \__tblr_prop_gadd_dimen_value:nnn { nnx, nnV, nxn, nxx }
@@ -193,27 +211,90 @@
}
\cs_generate_variant:Nn \__tblr_gadd_dimen_value:Nnn { cnn }
-%% Some counters for row and column numbering
-\newcounter{rownum}
-\newcounter{colnum}
-\newcounter{rowcount}
-\newcounter{colcount}
+%%% --------------------------------------------------------
+%% \section{Data Structures Based on Token Lists}
+%%% --------------------------------------------------------
+
+\cs_new_protected:Npn \__tblr_clear_text_lists:
+ {
+ \__tblr_clear_one_text_lists:n { text }
+ \__tblr_clear_one_text_lists:n { hline }
+ \__tblr_clear_one_text_lists:n { vline }
+ }
+
+\cs_new_protected:Npn \__tblr_clear_one_text_lists:n #1
+ {
+ \clist_if_exist:cTF { g__tblr_#1_ \int_use:N \g_tblr_level_int _clist }
+ {
+ \clist_map_inline:cn { g__tblr_#1_ \int_use:N \g_tblr_level_int _clist }
+ {
+ \tl_gclear:c { g__tblr_text_ \int_use:N \g_tblr_level_int _#1_##1_tl }
+ }
+ }
+ { \clist_new:c { g__tblr_#1_ \int_use:N \g_tblr_level_int _clist } }
+ }
+
+\cs_new_protected:Npn \__tblr_text_gput:nnn #1 #2 #3
+ {
+ \tl_gset:cn
+ { g__tblr_text_ \int_use:N \g_tblr_level_int _#1_#2_tl } {#3}
+ \clist_gput_right:cx { g__tblr_#1_ \int_use:N \g_tblr_level_int _clist } {#2}
+ }
+\cs_generate_variant:Nn \__tblr_text_gput:nnn { nne, nnV, nen, nee, neV }
+
+\cs_new:Npn \__tblr_text_item:nn #1 #2
+ {
+ \tl_if_exist:cT { g__tblr_text_ \int_use:N \g_tblr_level_int _#1_#2_tl }
+ {
+ \exp_args:Nv \exp_not:n
+ { g__tblr_text_ \int_use:N \g_tblr_level_int _#1_#2_tl }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_text_item:nn { ne }
+
+\cs_new_protected:Npn \__tblr_text_gput_if_larger:nnn #1 #2 #3
+ {
+ \tl_set:Nx \l__tblr_put_if_larger_tl { \__tblr_text_item:nn {#1} {#2} }
+ \bool_lazy_or:nnT
+ { \tl_if_empty_p:N \l__tblr_put_if_larger_tl }
+ { \dim_compare_p:nNn {#3} > { \l__tblr_put_if_larger_tl } }
+ { \__tblr_text_gput:nnn {#1} {#2} {#3} }
+ }
+\cs_generate_variant:Nn \__tblr_text_gput_if_larger:nnn { nne, nnV, nen, nee, neV }
+
+\cs_new_protected:Npn \__tblr_text_log:n #1
+ {
+ \clist_gremove_duplicates:c
+ { g__tblr_#1_ \int_use:N \g_tblr_level_int _clist }
+ \tl_log:n { ----------~----------~----------~----------~---------- }
+ \clist_map_inline:cn { g__tblr_#1_ \int_use:N \g_tblr_level_int _clist }
+ {
+ \tl_log:x
+ {
+ \space { #1 ##1 } ~\space=>~\space { \__tblr_text_item:nn {#1} {##1} }
+ }
+ }
+ }
%%% --------------------------------------------------------
%% \section{Data Structures Based on Integer Arrays}
%%% --------------------------------------------------------
-\int_new:N \g__tblr_array_int
+\msg_new:nnn { tabularray } { intarray-beyond-bound }
+ { Position ~ #2 ~ is ~ beyond ~ the ~ bound ~ of ~ intarray ~ #1.}
-\cs_new_protected:Npn \__tblr_initial_table_data:
+\cs_new_protected:Npn \__tblr_intarray_gset:Nnn #1 #2 #3
{
- \int_gincr:N \g__tblr_array_int
- \intarray_new:cn { g__tblr_row_ \int_use:N \g__tblr_array_int _intarray }
- { \g__tblr_data_row_key_count_int * \c@rowcount }
- \cs_set_eq:cc { g__tblr_row_ \int_use:N \g_tblr_level_int _intarray }
- { g__tblr_row_ \int_use:N \g__tblr_array_int _intarray }
- %\intarray_log:c { g__tblr_row_ \int_use:N \g_tblr_level_int _intarray }
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn {#2} < {0} }
+ { \int_compare_p:nNn {#2} > {\intarray_count:N #1} }
+ {
+ \bool_if:NT \g__tblr_tracing_intarray_bool
+ { \msg_warning:nnnn { tabularray } { intarray-beyond-bound } {#1} {#2} }
+ }
+ { \intarray_gset:Nnn #1 {#2} {#3} }
}
+\cs_generate_variant:Nn \__tblr_intarray_gset:Nnn { cnn }
%% #1: data name; #2: key name; #3: value type
\cs_new_protected:Npn \__tblr_data_new_key:nnn #1 #2 #3
@@ -231,7 +312,6 @@
}
\int_new:N \g__tblr_data_row_key_count_int
-
\__tblr_data_new_key:nnn { row } { height } { dim }
\__tblr_data_new_key:nnn { row } { coefficient } { dec }
\__tblr_data_new_key:nnn { row } { abovesep } { dim }
@@ -242,6 +322,52 @@
\__tblr_data_new_key:nnn { row } { @row-upper } { dim }
\__tblr_data_new_key:nnn { row } { @row-lower } { dim }
+\int_new:N \g__tblr_data_column_key_count_int
+\__tblr_data_new_key:nnn { column } { width } { dim }
+\__tblr_data_new_key:nnn { column } { coefficient } { dec }
+\__tblr_data_new_key:nnn { column } { leftsep } { dim }
+\__tblr_data_new_key:nnn { column } { rightsep } { dim }
+\__tblr_data_new_key:nnn { column } { @col-width } { dim }
+
+\int_new:N \g__tblr_data_cell_key_count_int
+\__tblr_data_new_key:nnn { cell } { width } { dim }
+\__tblr_data_new_key:nnn { cell } { rowspan } { int }
+\__tblr_data_new_key:nnn { cell } { colspan } { int }
+\__tblr_data_new_key:nnn { cell } { halign } { str }
+\__tblr_data_new_key:nnn { cell } { valign } { str }
+\__tblr_data_new_key:nnn { cell } { background } { str }
+\__tblr_data_new_key:nnn { cell } { omit } { int }
+\__tblr_data_new_key:nnn { cell } { @cell-width } { dim }
+\__tblr_data_new_key:nnn { cell } { @cell-height } { dim }
+\__tblr_data_new_key:nnn { cell } { @cell-depth } { dim }
+
+\clist_const:Nn \g__tblr_data_clist { row, column, cell }
+\tl_const:Nn \g__tblr_data_row_count_tl { \c@rowcount }
+\tl_const:Nn \g__tblr_data_column_count_tl { \c@colcount }
+\tl_const:Nn \g__tblr_data_cell_count_tl { \c@rowcount * \c@colcount }
+\tl_const:Nn \g__tblr_data_row_index_number_tl {1}
+\tl_const:Nn \g__tblr_data_column_index_number_tl {1}
+\tl_const:Nn \g__tblr_data_cell_index_number_tl {2}
+\int_new:N \g__tblr_array_int
+
+\cs_new_protected:Npn \__tblr_initial_table_data:
+ {
+ \clist_map_function:NN \g__tblr_data_clist \__tblr_initial_one_data:n
+ }
+
+\cs_new_protected:Npn \__tblr_initial_one_data:n #1
+ {
+ \int_gincr:N \g__tblr_array_int
+ \intarray_new:cn { g__tblr_#1_ \int_use:N \g__tblr_array_int _intarray }
+ {
+ \int_use:c { g__tblr_data_#1_key_count_int }
+ * \tl_use:c { g__tblr_data_#1_count_tl }
+ }
+ \cs_set_eq:cc { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ { g__tblr_#1_ \int_use:N \g__tblr_array_int _intarray }
+ %\intarray_log:c { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ }
+
%% #1: data name; #2: data index; #3: key name
\cs_new:Npn \__tblr_data_key_to_int:nnn #1 #2 #3
{
@@ -249,8 +375,17 @@
+ \tl_use:c { g__tblr_data_#1_key_number_#3_tl }
}
+%% #1: data name; #2: data index 1; #3: data index 2; #4: key name
+\cs_new:Npn \__tblr_data_key_to_int:nnnn #1 #2 #3 #4
+ {
+ ( #2 - 1 ) * \c@colcount * \int_use:c { g__tblr_data_#1_key_count_int }
+ + ( #3 - 1 ) * \int_use:c { g__tblr_data_#1_key_count_int }
+ + \tl_use:c { g__tblr_data_#1_key_number_#4_tl }
+ }
+
\int_new:N \l__tblr_key_count_int
\int_new:N \l__tblr_key_quotient_int
+\int_new:N \l__tblr_key_quotient_two_int
\int_new:N \l__tblr_key_remainder_int
%% #1: data name; #2: array position;
@@ -275,11 +410,50 @@
{ g__tblr_data_#1_key_name_ \int_use:N \l__tblr_key_remainder_int _tl }
}
+%% #1: data name; #2: array position;
+%% #3: returning tl with index 1; #4: returning tl with index 2;
+%% #5: returning tl with key name
+\cs_new:Npn \__tblr_data_int_to_key:nnNNN #1 #2 #3 #4 #5
+ {
+ \int_set_eq:Nc \l__tblr_key_count_int { g__tblr_data_#1_key_count_int }
+ \int_set:Nn \l__tblr_key_quotient_int
+ {
+ \int_div_truncate:nn
+ { #2 + \l__tblr_key_count_int - 1 } { \l__tblr_key_count_int }
+ }
+ \int_set:Nn \l__tblr_key_remainder_int
+ {
+ #2 + \l__tblr_key_count_int
+ - \l__tblr_key_quotient_int * \l__tblr_key_count_int
+ }
+ \int_compare:nNnT { \l__tblr_key_remainder_int } = { 0 }
+ { \int_set_eq:NN \l__tblr_key_remainder_int \l__tblr_key_count_int }
+ \tl_set_eq:Nc #5
+ { g__tblr_data_#1_key_name_ \int_use:N \l__tblr_key_remainder_int _tl }
+ \int_set:Nn \l__tblr_key_quotient_two_int
+ {
+ \int_div_truncate:nn
+ { \l__tblr_key_quotient_int + \c@colcount - 1 } { \c@colcount }
+ }
+ \int_set:Nn \l__tblr_key_remainder_int
+ {
+ \l__tblr_key_quotient_int + \c@colcount
+ - \l__tblr_key_quotient_two_int * \c@colcount
+ }
+ \int_compare:nNnT { \l__tblr_key_remainder_int } = { 0 }
+ { \int_set_eq:NN \l__tblr_key_remainder_int \c@colcount }
+ \tl_set:Nx #4 { \int_use:N \l__tblr_key_remainder_int }
+ \tl_set:Nx #3 { \int_use:N \l__tblr_key_quotient_two_int }
+ }
+
+\tl_new:N \g__tblr_data_int_from_value_tl
+
%% #1: data name; #2: key name; #3: value
-\cs_new:Npn \__tblr_data_value_to_int:nnn #1 #2 #3
+%% The result will be stored in \g__tblr_data_int_from_value_tl
+\cs_new_protected:Npn \__tblr_data_int_from_value:nnn #1 #2 #3
{
\cs:w
- __tblr_data_ \tl_use:c { g__tblr_data_#1_key_type_#2_tl } _to_int:n
+ __tblr_data_int_from_ \tl_use:c { g__tblr_data_#1_key_type_#2_tl } :n
\cs_end:
{#3}
}
@@ -294,9 +468,19 @@
}
\cs_generate_variant:Nn \__tblr_data_int_to_value:nnn { nne, nVe }
-\cs_new:Npn \__tblr_data_dim_to_int:n #1
+\cs_new_protected:Npn \__tblr_data_int_from_int:n #1
{
- \dim_to_decimal_in_sp:n {#1}
+ \tl_gset:Nn \g__tblr_data_int_from_value_tl {#1}
+ }
+
+\cs_new:Npn \__tblr_data_int_to_int:n #1
+ {
+ #1
+ }
+
+\cs_new_protected:Npn \__tblr_data_int_from_dim:n #1
+ {
+ \tl_gset:Nx \g__tblr_data_int_from_value_tl { \dim_to_decimal_in_sp:n {#1} }
}
%% Return a dimension in pt so that it's easier to understand in tracing messages
@@ -307,9 +491,10 @@
\dim_to_decimal:n { #1 sp } pt
}
-\cs_new:Npn \__tblr_data_dec_to_int:n #1
+\cs_new_protected:Npn \__tblr_data_int_from_dec:n #1
{
- \dim_to_decimal_in_sp:n {#1 pt}
+ \tl_gset:Nx \g__tblr_data_int_from_value_tl
+ { \dim_to_decimal_in_sp:n {#1 pt} }
}
\cs_new:Npn \__tblr_data_int_to_dec:n #1
@@ -317,17 +502,57 @@
\dim_to_decimal:n {#1 sp}
}
+\int_new:N \g__tblr_data_str_value_count_int
+\tl_set:cn { g__tblr_data_0_to_str_tl } { }
+
+\cs_new_protected:Npn \__tblr_data_int_from_str:n #1
+ {
+ \tl_if_exist:cTF { g__tblr_data_#1_to_int_tl }
+ {
+ \tl_gset_eq:Nc \g__tblr_data_int_from_value_tl
+ { g__tblr_data_#1_to_int_tl }
+ }
+ {
+ \int_gincr:N \g__tblr_data_str_value_count_int
+ \tl_gset:cx { g__tblr_data_#1_to_int_tl }
+ { \int_use:N \g__tblr_data_str_value_count_int }
+ \tl_gset:cx
+ { g__tblr_data_ \int_use:N \g__tblr_data_str_value_count_int _to_str_tl }
+ { #1 }
+ \tl_gset:Nx \g__tblr_data_int_from_value_tl
+ { \int_use:N \g__tblr_data_str_value_count_int }
+ }
+ }
+
+\cs_new:Npn \__tblr_data_int_to_str:n #1
+ {
+ \tl_use:c { g__tblr_data_#1_to_str_tl }
+ }
+
%% #1: data name; #2: data index; #3: key; #4: value
\cs_new_protected:Npn \__tblr_data_gput:nnnn #1 #2 #3 #4
{
- \intarray_gset:cnn
+ \__tblr_data_int_from_value:nnn {#1} {#3} {#4}
+ \__tblr_intarray_gset:cnn
{ g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
{ \__tblr_data_key_to_int:nnn {#1} {#2} {#3} }
- { \__tblr_data_value_to_int:nnn {#1} {#3} {#4} }
+ { \g__tblr_data_int_from_value_tl }
}
\cs_generate_variant:Nn \__tblr_data_gput:nnnn
{ nnne, nnnV, nenn, nene, nenV, nVnn }
+%% #1: data name; #2: data index 1; #3: data index 2; #4: key; #5: value
+\cs_new_protected:Npn \__tblr_data_gput:nnnnn #1 #2 #3 #4 #5
+ {
+ \__tblr_data_int_from_value:nnn {#1} {#4} {#5}
+ \__tblr_intarray_gset:cnn
+ { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ { \__tblr_data_key_to_int:nnnn {#1} {#2} {#3} {#4} }
+ { \g__tblr_data_int_from_value_tl }
+ }
+\cs_generate_variant:Nn \__tblr_data_gput:nnnnn
+ { nnnne, nnnnV, neenn, neene, neenV, neeen, nVVnn }
+
%% #1: data name; #2: data index; #3: key
\cs_new:Npn \__tblr_data_item:nnn #1 #2 #3
{
@@ -339,13 +564,32 @@
}
\cs_generate_variant:Nn \__tblr_data_item:nnn { nen }
+%% #1: data name; #2: data index 1; #3: data index 2; #4: key
+\cs_new:Npn \__tblr_data_item:nnnn #1 #2 #3 #4
+ {
+ \__tblr_data_int_to_value:nne {#1} {#4}
+ {
+ \intarray_item:cn { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ { \__tblr_data_key_to_int:nnnn {#1} {#2} {#3} {#4} }
+ }
+ }
+\cs_generate_variant:Nn \__tblr_data_item:nnnn { neen }
+
\tl_new:N \l__tblr_data_key_tl
\tl_new:N \l__tblr_data_index_tl
+\tl_new:N \l__tblr_data_index_two_tl
\cs_new_protected:Npn \__tblr_data_log:n #1
{
+ \use:c { __tblr_data_log_ \use:c { g__tblr_data_#1_index_number_tl } :n } {#1}
+ \__tblr_prop_log:n {#1}
+ }
+
+\cs_new_protected:cpn { __tblr_data_log_1:n } #1
+ {
%\intarray_log:c { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
\tl_set:Nx \l_tmpa_tl { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ \tl_log:n { ----------~----------~----------~----------~---------- }
\int_step_inline:nn
{ \intarray_count:c { \l_tmpa_tl } }
{
@@ -353,52 +597,80 @@
\l__tblr_data_index_tl \l__tblr_data_key_tl
\tl_log:x
{
+ \space
{ #1 [\l__tblr_data_index_tl] / \l__tblr_data_key_tl }
- \space = \space
+ ~\space => ~\space
+ {
+ \__tblr_data_int_to_value:nVe {#1} \l__tblr_data_key_tl
+ { \intarray_item:cn { \l_tmpa_tl } {##1} }
+ }
+ }
+ }
+ }
+
+\cs_new_protected:cpn { __tblr_data_log_2:n } #1
+ {
+ %\intarray_log:c { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ \tl_set:Nx \l_tmpa_tl { g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
+ \tl_log:n { ----------~----------~----------~----------~---------- }
+ \int_step_inline:nn
+ { \intarray_count:c { \l_tmpa_tl } }
+ {
+ \__tblr_data_int_to_key:nnNNN {#1} {##1}
+ \l__tblr_data_index_tl \l__tblr_data_index_two_tl \l__tblr_data_key_tl
+ \tl_log:x
+ {
+ \space
+ {
+ #1 [\l__tblr_data_index_tl][\l__tblr_data_index_two_tl]
+ / \l__tblr_data_key_tl
+ }
+ ~\space => ~\space
{
\__tblr_data_int_to_value:nVe {#1} \l__tblr_data_key_tl
{ \intarray_item:cn { \l_tmpa_tl } {##1} }
}
}
}
- \__tblr_prop_log:n {#1}
}
%% #1: data name; #2: row index; #3: key; #4: value
\cs_new_protected:Npn \__tblr_data_gput_if_larger:nnnn #1 #2 #3 #4
{
+ \__tblr_data_int_from_value:nnn {#1} {#3} {#4}
\__tblr_array_gput_if_larger:cnn
{ g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
{ \__tblr_data_key_to_int:nnn {#1} {#2} {#3} }
- { \__tblr_data_value_to_int:nnn {#1} {#3} {#4} }
+ { \g__tblr_data_int_from_value_tl }
}
\cs_generate_variant:Nn \__tblr_data_gput_if_larger:nnnn { nnne, nnnV, nene, nenV }
\cs_new_protected:Npn \__tblr_array_gput_if_larger:Nnn #1 #2 #3
{
\int_compare:nNnT {#3} > { \intarray_item:Nn #1 {#2} }
- { \intarray_gset:Nnn #1 {#2} {#3} }
+ { \__tblr_intarray_gset:Nnn #1 {#2} {#3} }
}
\cs_generate_variant:Nn \__tblr_array_gput_if_larger:Nnn { cnn }
%% #1: data name; #2: data index; #3: key; #4: value
\cs_new_protected:Npn \__tblr_data_gadd_dimen_value:nnnn #1 #2 #3 #4
{
+ \__tblr_data_int_from_value:nnn {#1} {#3} {#4}
\__tblr_array_gadd_value:cnn
{ g__tblr_#1_ \int_use:N \g_tblr_level_int _intarray }
{ \__tblr_data_key_to_int:nnn {#1} {#2} {#3} }
- { \__tblr_data_value_to_int:nnn {#1} {#3} {#4} }
+ { \g__tblr_data_int_from_value_tl }
}
\cs_generate_variant:Nn \__tblr_data_gadd_dimen_value:nnnn { nnne, nnnV, nene }
\cs_new_protected:Npn \__tblr_array_gadd_value:Nnn #1 #2 #3
{
- \intarray_gset:Nnn #1 {#2} { \intarray_item:Nn #1 {#2} + #3 }
+ \__tblr_intarray_gset:Nnn #1 {#2} { \intarray_item:Nn #1 {#2} + #3 }
}
\cs_generate_variant:Nn \__tblr_array_gadd_value:Nnn { cnn }
\bool_new:N \g__tblr_use_intarray_bool
-%\bool_set_true:N \g__tblr_use_intarray_bool
+\bool_set_true:N \g__tblr_use_intarray_bool
\AtBeginDocument
{
@@ -408,10 +680,18 @@
{
\__tblr_prop_gput:nnn {#1} { [#2] / #3 } {#4}
}
+ \cs_set_protected:Npn \__tblr_data_gput:nnnnn #1 #2 #3 #4 #5
+ {
+ \__tblr_prop_gput:nnn {#1} { [#2][#3] / #4 } {#5}
+ }
\cs_set:Npn \__tblr_data_item:nnn #1 #2 #3
{
\__tblr_prop_item:nn {#1} { [#2] / #3 }
}
+ \cs_set:Npn \__tblr_data_item:nnnn #1 #2 #3 #4
+ {
+ \__tblr_prop_item:nn {#1} { [#2][#3] / #4 }
+ }
\cs_set_protected:Npn \__tblr_data_log:n #1
{
\__tblr_prop_log:n {#1}
@@ -420,10 +700,18 @@
{
\__tblr_prop_gput_if_larger:nnn {#1} { [#2] / #3 } {#4}
}
+ \cs_set_protected:Npn \__tblr_data_gput_if_larger:nnnnn #1 #2 #3 #4 #5
+ {
+ \__tblr_prop_gput_if_larger:nnn {#1} { [#2][#3] / #4 } {#5}
+ }
\cs_set_protected:Npn \__tblr_data_gadd_dimen_value:nnnn #1 #2 #3 #4
{
\__tblr_prop_gadd_dimen_value:nnn {#1} { [#2] / #3 } {#4}
}
+ \cs_set_protected:Npn \__tblr_data_gadd_dimen_value:nnnnn #1 #2 #3 #4 #5
+ {
+ \__tblr_prop_gadd_dimen_value:nnn {#1} { [#2][#3] / #4 } {#5}
+ }
}
}
@@ -490,7 +778,6 @@
\regex_const:Nn \c__tblr_split_selector_name_regex { ^ ( [A-Za-z] {2,} ) ( . * ) }
\seq_new:N \l__tblr_childs_split_seq
\seq_new:N \l__tblr_childs_regex_seq
-\tl_new:N \l__tblr_childs_end_tl
\tl_new:N \l__tblr_childs_selector_tl
%% #1, child specifications; #2, total number.
@@ -524,15 +811,16 @@
{
\seq_set_split:Nnn \l__tblr_childs_split_seq {,} {#1}
\seq_map_inline:Nn \l__tblr_childs_split_seq
- { \__tblr_get_childs_normal_aux:w ##1 - s \scan_stop }
+ {
+ \tl_if_in:nnTF {##1} {-}
+ { \__tblr_get_childs_normal_aux:w ##1 \scan_stop }
+ { \__tblr_get_childs_normal_aux:w ##1 - ##1 \scan_stop }
+ }
}
-\cs_new_protected_nopar:Npn \__tblr_get_childs_normal_aux:w #1 - #2 #3 \scan_stop
+\cs_new_protected_nopar:Npn \__tblr_get_childs_normal_aux:w #1 - #2 \scan_stop
{
- \tl_if_eq:nnTF {#2} {s}
- { \tl_set:Nn \l__tblr_childs_end_tl {#1} }
- { \tl_set:Nn \l__tblr_childs_end_tl {#2} }
- \int_step_inline:nnn {#1} { \l__tblr_childs_end_tl }
+ \int_step_inline:nnn {#1} {#2}
{ \clist_put_right:Nn \l_tblr_childs_clist {##1} }
}
@@ -780,11 +1068,12 @@
{
\tl_clear:N \l__tblr_hline_num_tl
\tl_set:Nx \l__tblr_hline_count_tl
- { \__tblr_prop_item:ne { hline } { [\int_use:N \c@rownum] / @hline-count } }
- \tl_if_empty:NTF \l__tblr_hline_count_tl
+ { \__tblr_text_item:ne { hline } { [\int_use:N \c@rownum] / @hline-count } }
+ %% \l__tblr_hline_count_tl may be empty when rowspec has extra |'s
+ \int_compare:nNnTF { \l__tblr_hline_count_tl + 0 } = {0}
{
\tl_set:Nx \l__tblr_hline_num_tl { 1 }
- \__tblr_prop_gput:nxx { hline }
+ \__tblr_text_gput:nen { hline }
{ [\int_use:N \c@rownum] / @hline-count } { 1 }
}
{
@@ -806,7 +1095,7 @@
{
\tl_set:Nx \l__tblr_hline_count_tl
{ \int_eval:n { \l__tblr_hline_count_tl + 1 } }
- \__tblr_prop_gput:nxx { hline }
+ \__tblr_text_gput:nee { hline }
{ [\int_use:N \c@rownum] / @hline-count } { \l__tblr_hline_count_tl }
\tl_set_eq:NN \l__tblr_hline_num_tl \l__tblr_hline_count_tl
}
@@ -842,18 +1131,18 @@
\__tblr_get_childs:nx {#1} { \int_use:N \c@colcount }
\clist_map_inline:Nn \l_tblr_childs_clist
{
- \__tblr_prop_gput:nxx { hline }
+ \__tblr_text_gput:nee { hline }
{ [\int_use:N \c@rownum][##1](\l__tblr_hline_num_tl) / @dash }
{ \l__tblr_hline_dash_tl }
\tl_if_empty:NF \l__tblr_hline_wd_tl
{
- \__tblr_prop_gput:nxx { hline }
+ \__tblr_text_gput:nee { hline }
{ [\int_use:N \c@rownum][##1](\l__tblr_hline_num_tl) / wd }
{ \l__tblr_hline_wd_tl }
}
\tl_if_empty:NF \l__tblr_hline_fg_tl
{
- \__tblr_prop_gput:nxx { hline }
+ \__tblr_text_gput:nee { hline }
{ [\int_use:N \c@rownum][##1](\l__tblr_hline_num_tl) / fg }
{ \l__tblr_hline_fg_tl }
}
@@ -978,11 +1267,12 @@
{
\tl_clear:N \l__tblr_vline_num_tl
\tl_set:Nx \l__tblr_vline_count_tl
- { \__tblr_prop_item:ne { vline } { [\int_use:N \c@colnum] / @vline-count } }
- \tl_if_empty:NTF \l__tblr_vline_count_tl
+ { \__tblr_text_item:ne { vline } { [\int_use:N \c@colnum] / @vline-count } }
+ %% \l__tblr_vline_count_tl may be empty when colspec has extra |'s
+ \int_compare:nNnTF { \l__tblr_vline_count_tl + 0 } = {0}
{
\tl_set:Nx \l__tblr_vline_num_tl { 1 }
- \__tblr_prop_gput:nxx { vline }
+ \__tblr_text_gput:nen { vline }
{ [\int_use:N \c@colnum] / @vline-count } { 1 }
}
{
@@ -1004,7 +1294,7 @@
{
\tl_set:Nx \l__tblr_vline_count_tl
{ \int_eval:n { \l__tblr_vline_count_tl + 1 } }
- \__tblr_prop_gput:nxx { vline }
+ \__tblr_text_gput:nee { vline }
{ [\int_use:N \c@colnum] / @vline-count } { \l__tblr_vline_count_tl }
\tl_set_eq:NN \l__tblr_vline_num_tl \l__tblr_vline_count_tl
}
@@ -1039,18 +1329,18 @@
\__tblr_get_childs:nx {#1} { \int_use:N \c@rowcount }
\clist_map_inline:Nn \l_tblr_childs_clist
{
- \__tblr_prop_gput:nxx { vline }
+ \__tblr_text_gput:nee { vline }
{ [##1][\int_use:N \c@colnum](\l__tblr_vline_num_tl) / @dash }
{ \l__tblr_vline_dash_tl }
\tl_if_empty:NF \l__tblr_vline_wd_tl
{
- \__tblr_prop_gput:nxx { vline }
+ \__tblr_text_gput:nee { vline }
{ [##1][\int_use:N \c@colnum](\l__tblr_vline_num_tl) / wd }
{ \l__tblr_vline_wd_tl }
}
\tl_if_empty:NF \l__tblr_vline_fg_tl
{
- \__tblr_prop_gput:nxx { vline }
+ \__tblr_text_gput:nee { vline }
{ [##1][\int_use:N \c@colnum](\l__tblr_vline_num_tl) / fg }
{ \l__tblr_vline_fg_tl }
}
@@ -1150,42 +1440,77 @@
\keys_define:nn { tblr-cell-spec }
{
- l .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / halign} {l},
- c .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / halign} {c},
- r .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / halign} {r},
- t .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {t},
- p .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {t},
- m .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {m},
- b .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {b},
- h .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {h},
- f .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / valign} {f},
- wd .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / width} {#1},
- bg .code:n = \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / background} {#1},
+ l .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { halign } {l},
+ c .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { halign } {c},
+ r .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { halign } {r},
+ t .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { valign} {t},
+ p .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { valign} {t},
+ m .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { valign} {m},
+ b .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { valign} {b},
+ h .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { valign} {h},
+ f .code:n = \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { valign} {f},
+ wd .code:n = \__tblr_data_gput:neene { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { width } {#1},
+ bg .code:n = \__tblr_data_gput:neene { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum }
+ { background } {#1},
+ preto .code:n = \__tblr_cell_preto_text:n {#1},
+ appto .code:n = \__tblr_cell_appto_text:n {#1},
+ fg .code:n = \__tblr_cell_preto_text:n { \color{#1} },
+ font .code:n = \__tblr_cell_preto_text:n { #1 \selectfont },
unknown .code:n = \__tblr_cell_unknown_key:V \l_keys_key_str,
}
+\tl_new:N \l__tblr_cell_text_tl
+
+\cs_new_protected:Npn \__tblr_cell_preto_text:n #1
+ {
+ \__tblr_cell_preto_text:een
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } {#1}
+ }
+
+\cs_new_protected:Npn \__tblr_cell_preto_text:nnn #1 #2 #3
+ {
+ \tl_set:Nx \l__tblr_cell_text_tl { \__tblr_text_item:nn { text } { [#1][#2] } }
+ \tl_put_left:Nn \l__tblr_cell_text_tl {#3}
+ \__tblr_text_gput:nnV { text } { [#1][#2] } \l__tblr_cell_text_tl
+ }
+\cs_generate_variant:Nn \__tblr_cell_preto_text:nnn { nen, enn, een }
+
+\cs_new_protected:Npn \__tblr_cell_appto_text:n #1
+ {
+ \__tblr_cell_appto_text:een
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } {#1}
+ }
+
+\cs_new_protected:Npn \__tblr_cell_appto_text:nnn #1 #2 #3
+ {
+ \tl_set:Nx \l__tblr_cell_text_tl { \__tblr_text_item:ne { text } { [#1][#2] } }
+ \tl_put_right:Nn \l__tblr_cell_text_tl {#3}
+ \__tblr_text_gput:neV { text } { [#1][#2] } \l__tblr_cell_text_tl
+ }
+\cs_generate_variant:Nn \__tblr_cell_appto_text:nnn { nen, enn, een }
+
\cs_new_protected:Npn \__tblr_cell_unknown_key:n #1
{
\regex_match:NnTF \c__tblr_is_color_key_regex {#1}
{
- \__tblr_prop_gput:nxx {cell}
- {[\int_use:N \c@rownum][\int_use:N \c@colnum] / background} {#1}
+ \__tblr_data_gput:neene { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { background } {#1}
}
{
\tl_set_rescan:Nnn \l__tblr_v_tl {} {#1}
- \__tblr_prop_gput:nxx {cell}
- { [\int_use:N \c@rownum][\int_use:N \c@colnum] / width }
+ \__tblr_data_gput:neene { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { width }
{ \dim_eval:n { \l__tblr_v_tl } }
}
}
@@ -1196,14 +1521,14 @@
\int_compare:nNnT { #1 } > { 1 }
{
\__tblr_prop_gput:nnn {table} {rowspan} {true}
- \__tblr_prop_gput:nxn {cell}
- { [\int_use:N \c@rownum][\int_use:N \c@colnum] / rowspan } { #1 }
+ \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { rowspan } {#1}
}
\int_compare:nNnT { #2 } > { 1 }
{
\__tblr_prop_gput:nnn {table} {colspan} {true}
- \__tblr_prop_gput:nxn {cell}
- { [\int_use:N \c@rownum][\int_use:N \c@colnum] / colspan } { #2 }
+ \__tblr_data_gput:neenn { cell }
+ { \int_use:N \c@rownum } { \int_use:N \c@colnum } { colspan } {#2}
}
\int_step_variable:nnNn
{ \int_use:N \c@rownum } { \int_eval:n { \c@rownum + #1 - 1 } } \l__tblr_i_tl
@@ -1216,17 +1541,17 @@
{ \int_compare_p:nNn { \l__tblr_i_tl } = { \c@rownum } }
{ \int_compare_p:nNn { \l__tblr_j_tl } = { \c@colnum } }
{
- \__tblr_prop_gput:nxx {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / omit } {true}
+ \__tblr_data_gput:neenn { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { omit } {1}
}
\int_compare:nNnF { \l__tblr_i_tl } = { \c@rownum }
{
- \__tblr_prop_gput:nxx {hline}
+ \__tblr_text_gput:nen { hline }
{ [\l__tblr_i_tl][\l__tblr_j_tl] / omit } {true}
}
\int_compare:nNnF { \l__tblr_j_tl } = { \c@colnum }
{
- \__tblr_prop_gput:nxx {vline}
+ \__tblr_text_gput:nee { vline }
{ [\l__tblr_i_tl][\l__tblr_j_tl] / omit } {true}
}
}
@@ -1373,19 +1698,21 @@
{ \int_use:N \c@colnum } { valign } {f},
bg .code:n = \__tblr_set_key_for_every_column_cell:nnn
{ \int_use:N \c@colnum } { background } {#1},
- wd .code:n = \__tblr_prop_gput:nxx { column }
- { [\int_use:N \c@colnum] / width } { \dim_eval:n {#1} },
- co .code:n = \__tblr_prop_gput:nxx { column }
- { [\int_use:N \c@colnum] / coefficient } {#1},
- leftsep .code:n = \__tblr_prop_gput:nxx { column }
- { [\int_use:N \c@colnum] / leftsep } { \dim_eval:n {#1} },
- rightsep .code:n = \__tblr_prop_gput:nxx { column }
- { [\int_use:N \c@colnum] / rightsep } { \dim_eval:n {#1} },
+ fg .code:n = \__tblr_preto_text_for_every_column_cell:n { \color{#1} },
+ font .code:n = \__tblr_preto_text_for_every_column_cell:n { #1 \selectfont },
+ wd .code:n = \__tblr_data_gput:nene { column }
+ { \int_use:N \c@colnum } { width } { \dim_eval:n {#1} },
+ co .code:n = \__tblr_data_gput:nene { column }
+ { \int_use:N \c@colnum } { coefficient } {#1},
+ leftsep .code:n = \__tblr_data_gput:nene { column }
+ { \int_use:N \c@colnum } { leftsep } { \dim_eval:n {#1} },
+ rightsep .code:n = \__tblr_data_gput:nene { column }
+ { \int_use:N \c@colnum } { rightsep } { \dim_eval:n {#1} },
colsep .meta:n = { leftsep = #1, rightsep = #1},
- leftsep+ .code:n = \__tblr_prop_gadd_dimen_value:nxx { column }
- { [\int_use:N \c@colnum] / leftsep } { \dim_eval:n {#1} },
- rightsep+ .code:n = \__tblr_prop_gadd_dimen_value:nxx { column }
- { [\int_use:N \c@colnum] / rightsep } { \dim_eval:n {#1} },
+ leftsep+ .code:n = \__tblr_data_gadd_dimen_value:nene { column }
+ { \int_use:N \c@colnum } { leftsep } { \dim_eval:n {#1} },
+ rightsep+ .code:n = \__tblr_data_gadd_dimen_value:nene { column }
+ { \int_use:N \c@colnum } { rightsep } { \dim_eval:n {#1} },
colsep+ .meta:n = { leftsep+ = #1, rightsep+ = #1},
unknown .code:n = \__tblr_column_unknown_key:V \l_keys_key_str,
}
@@ -1395,7 +1722,23 @@
{
\int_step_inline:nn { \c@rowcount }
{
- \__tblr_prop_gput:nxn {cell} { [##1][#1] / #2 } {#3}
+ \__tblr_data_gput:neenn { cell } {##1} {#1} {#2} {#3}
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_preto_text_for_every_column_cell:n #1
+ {
+ \int_step_inline:nn { \c@rowcount }
+ {
+ \__tblr_cell_preto_text:nen {##1} { \int_use:N \c@colnum } {#1}
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_appto_text_for_every_column_cell:n #1
+ {
+ \int_step_inline:nn { \c@rowcount }
+ {
+ \__tblr_cell_appto_text:nen {##1} { \int_use:N \c@colnum } {#1}
}
}
@@ -1405,8 +1748,8 @@
{
\regex_match:NnTF \c__tblr_is_number_key_regex {#1}
{
- \__tblr_prop_gput:nxx { column }
- { [\int_use:N \c@colnum] / coefficient } {#1}
+ \__tblr_data_gput:nene { column }
+ { \int_use:N \c@colnum } { coefficient } {#1}
}
{
\regex_match:NnTF \c__tblr_is_color_key_regex {#1}
@@ -1416,8 +1759,8 @@
}
{
\tl_set_rescan:Nnn \l__tblr_v_tl {} {#1}
- \__tblr_prop_gput:nxx { column }
- { [\int_use:N \c@colnum] / width } { \dim_eval:n { \l__tblr_v_tl } }
+ \__tblr_data_gput:nene { column }
+ { \int_use:N \c@colnum } { width } { \dim_eval:n { \l__tblr_v_tl } }
}
}
}
@@ -1507,6 +1850,8 @@
{ \int_use:N \c@rownum } { valign } {f},
bg .code:n = \__tblr_set_key_for_every_row_cell:nnn
{ \int_use:N \c@rownum } { background } {#1},
+ fg .code:n = \__tblr_preto_text_for_every_row_cell:n { \color{#1} },
+ font .code:n = \__tblr_preto_text_for_every_row_cell:n { #1 \selectfont },
ht .code:n = \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
{ height } { \dim_eval:n {#1} },
co .code:n = \__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
@@ -1531,7 +1876,23 @@
{
\int_step_inline:nn { \c@colcount }
{
- \__tblr_prop_gput:nxn {cell} { [#1][##1] / #2 } {#3}
+ \__tblr_data_gput:neenn { cell } {#1} {##1} {#2} {#3}
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_preto_text_for_every_row_cell:n #1
+ {
+ \int_step_inline:nn { \c@colcount }
+ {
+ \__tblr_cell_preto_text:enn { \int_use:N \c@rownum } {##1} {#1}
+ }
+ }
+
+\cs_new_protected:Npn \__tblr_appto_text_for_every_row_cell:n #1
+ {
+ \int_step_inline:nn { \c@colcount }
+ {
+ \__tblr_cell_appto_text:enn { \int_use:N \c@rownum } {##1} {#1}
}
}
@@ -1614,26 +1975,16 @@
\exp_args:Nc \NewDocumentCommand { tblr_primitive_column_type_ > } { O{} m }
{
- \tl_if_blank:nF { #1 }
+ \tl_if_blank:nF {#1}
{
- \__tblr_prop_gput:nxx
+ \__tblr_data_gput:nene
{ column }
- { [\int_use:N \c@colnum] / leftsep}
- { \dim_eval:n { #1 } }
+ { \int_use:N \c@colnum } { leftsep }
+ { \dim_eval:n {#1} }
}
- \tl_if_blank:nF { #2 }
+ \tl_if_blank:nF {#2}
{
- \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
- {
- \tl_set:Nx \l_tmpa_tl
- {
- \__tblr_prop_item:ne {text}
- { [\l__tblr_i_tl][\int_use:N \c@colnum] }
- }
- \tl_put_left:Nn \l_tmpa_tl { #2 }
- \__tblr_prop_gput:nxV {text}
- { [\l__tblr_i_tl][\int_use:N \c@colnum] } \l_tmpa_tl
- }
+ \__tblr_preto_text_for_every_column_cell:n {#2}
}
\__tblr_execute_colrow_spec_next:N
}
@@ -1645,24 +1996,14 @@
\exp_args:Nc \NewDocumentCommand { tblr_primitive_row_type_ > } { O{} m }
{
- \tl_if_blank:nF { #1 }
+ \tl_if_blank:nF {#1}
{
\__tblr_data_gput:nene { row } { \int_use:N \c@rownum }
{ abovesep } { \dim_eval:n { #1 } }
}
- \tl_if_blank:nF { #2 }
+ \tl_if_blank:nF {#2}
{
- \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
- {
- \tl_set:Nx \l_tmpa_tl
- {
- \__tblr_prop_item:ne {text}
- { [\int_use:N \c@rownum][\l__tblr_j_tl] }
- }
- \tl_put_left:Nn \l_tmpa_tl { #2 }
- \__tblr_prop_gput:nxV {text}
- { [\int_use:N \c@rownum][\l__tblr_j_tl] } \l_tmpa_tl
- }
+ \__tblr_preto_text_for_every_row_cell:n {#2}
}
\__tblr_execute_colrow_spec_next:N
}
@@ -1674,26 +2015,17 @@
\exp_args:Nc \NewDocumentCommand { tblr_primitive_column_type_ < } { O{} m }
{
- \tl_if_blank:nF { #1 }
+ \tl_if_blank:nF {#1}
{
- \__tblr_prop_gput:nxx
- { column }
- { [\int_eval:n {\c@colnum - 1}] / rightsep }
- { \dim_eval:n { #1 } }
+ \__tblr_data_gput:nene { column }
+ { \int_eval:n {\c@colnum - 1} } { rightsep } { \dim_eval:n {#1} }
}
- \tl_if_blank:nF { #2 }
+ \tl_if_blank:nF {#2}
{
- \int_step_variable:nNn { \c@rowcount } \l__tblr_i_tl
- {
- \tl_set:Nx \l_tmpa_tl
- {
- \__tblr_prop_item:ne {text}
- { [\l__tblr_i_tl][\int_eval:n {\c@colnum - 1}] }
- }
- \tl_put_right:Nn \l_tmpa_tl { #2 }
- \__tblr_prop_gput:nxV {text}
- { [\l__tblr_i_tl][\int_eval:n {\c@colnum - 1}] } \l_tmpa_tl
- }
+ \group_begin:
+ \int_decr:N \c@colnum
+ \__tblr_appto_text_for_every_column_cell:n {#2}
+ \group_end:
}
\__tblr_execute_colrow_spec_next:N
}
@@ -1705,24 +2037,17 @@
\exp_args:Nc \NewDocumentCommand { tblr_primitive_row_type_ < } { O{} m }
{
- \tl_if_blank:nF { #1 }
+ \tl_if_blank:nF {#1}
{
\__tblr_data_gput:nene { row } { \int_eval:n {\c@rownum - 1} }
{ belowsep } { \dim_eval:n {#1} }
}
- \tl_if_blank:nF { #2 }
+ \tl_if_blank:nF {#2}
{
- \int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
- {
- \tl_set:Nx \l_tmpa_tl
- {
- \__tblr_prop_item:ne {text}
- { [\int_eval:n {\c@rownum - 1}][\l__tblr_j_tl] }
- }
- \tl_put_right:Nn \l_tmpa_tl { #2 }
- \__tblr_prop_gput:nxV {text}
- { [\int_eval:n {\c@rownum - 1}][\l__tblr_j_tl] } \l_tmpa_tl
- }
+ \group_begin:
+ \int_decr:N \c@rownum
+ \__tblr_appto_text_for_every_row_cell:n {#2}
+ \group_end:
}
\__tblr_execute_colrow_spec_next:N
}
@@ -1902,6 +2227,7 @@
\mode_leave_vertical:
\int_gincr:N \g_tblr_level_int
\__tblr_clear_prop_lists:
+ \__tblr_clear_text_lists:
\__tblr_enable_table_commands:
\__tblr_split_table:n { #3 }
\LogTblrTracing { command }
@@ -1916,18 +2242,6 @@
\int_gdecr:N \g_tblr_level_int
}
-\cs_new_protected:Npn \__tblr_clear_prop_lists:
- {
- \prop_gclear_new:c { g_tblr_text_ \int_use:N \g_tblr_level_int _prop }
- \prop_gclear_new:c { g_tblr_command_ \int_use:N \g_tblr_level_int _prop }
- \prop_gclear_new:c { g_tblr_table_ \int_use:N \g_tblr_level_int _prop }
- \prop_gclear_new:c { g_tblr_row_ \int_use:N \g_tblr_level_int _prop }
- \prop_gclear_new:c { g_tblr_column_ \int_use:N \g_tblr_level_int _prop }
- \prop_gclear_new:c { g_tblr_cell_ \int_use:N \g_tblr_level_int _prop }
- \prop_gclear_new:c { g_tblr_hline_ \int_use:N \g_tblr_level_int _prop }
- \prop_gclear_new:c { g_tblr_vline_ \int_use:N \g_tblr_level_int _prop }
- }
-
%% Insert and remove braces for nesting environments inside cells
%% These make line split and cell split workable
%% We need to replace N times for N level nestings
@@ -2034,7 +2348,7 @@
\__tblr_remove_braces:N \l_tmpa_tl
\int_incr:N \c@colnum
\__tblr_extract_table_commands:N \l_tmpa_tl
- \__tblr_prop_gput:nxV {text} { [#1][\int_use:N \c@colnum] } \l_tmpa_tl
+ \__tblr_text_gput:neV { text } { [#1][\int_use:N \c@colnum] } \l_tmpa_tl
\__tblr_add_multicolumn_empty_cell:
}
%% Decrease row count by 1 if the last row has only one empty cell text
@@ -2059,7 +2373,7 @@
\int_step_inline:nn { \l__multicolumn_cell_number_int - 1 }
{
\int_incr:N \c@colnum
- \__tblr_prop_gput:nxn {text}
+ \__tblr_text_gput:nen { text }
{ [\int_use:N \c@rownum][\int_use:N \c@colnum] } { }
}
}
@@ -2175,6 +2489,7 @@
\prop_gset_from_keyval:Nn \g__tblr_default_tblr_table_prop
{
stretch = 1,
+ rulesep = 2pt,
}
\prop_gset_from_keyval:Nn \g__tblr_default_tblr_rows_prop
@@ -2192,6 +2507,8 @@
{
leftsep = 6pt,
rightsep = 6pt,
+ width = -1pt, % column width unset
+ coefficient = 0, % column coefficient unset
@col-width = 0pt,
}
@@ -2199,16 +2516,20 @@
{
halign = l,
valign = t,
+ width = -1pt, % cell width unset
+ rowspan = 1,
+ colspan = 1,
+ omit = 0,
}
\prop_gset_from_keyval:Nn \g__tblr_default_tblr_hlines_prop
{
- rulesep = 2pt,
+ @hline-count = 0,
}
\prop_gset_from_keyval:Nn \g__tblr_default_tblr_vlines_prop
{
- rulesep = 2pt,
+ @vline-count = 0,
}
\cs_new_protected:Npn \__tblr_initial_table_spec:
@@ -2225,37 +2546,37 @@
}
\prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _hlines_prop }
{
- \__tblr_prop_gput:nxn { hline } { [\l__tblr_i_tl] / ##1 } {##2}
+ \__tblr_text_gput:nen { hline } { [\l__tblr_i_tl] / ##1 } {##2}
}
\int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
{
\prop_map_inline:cn
{ g__tblr_default_ \l__tblr_env_name_tl _cells_prop }
{
- \__tblr_prop_gput:nxn { cell }
- { [\l__tblr_i_tl][\l__tblr_j_tl] / ##1 } {##2}
+ \__tblr_data_gput:neeen { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } {##1} {##2}
}
}
}
\prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _hlines_prop }
{
- \__tblr_prop_gput:nxn { hline }
+ \__tblr_text_gput:nen { hline }
{ [\int_eval:n { \c@rowcount + 1}] / ##1 } {##2}
}
\int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
{
\prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _columns_prop }
{
- \__tblr_prop_gput:nxn { column } { [\l__tblr_j_tl] / ##1 } {##2}
+ \__tblr_data_gput:nenn { column } { \l__tblr_j_tl } {##1} {##2}
}
\prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _vlines_prop }
{
- \__tblr_prop_gput:nxn { vline } { [\l__tblr_j_tl] / ##1 } {##2}
+ \__tblr_text_gput:nen { vline } { [\l__tblr_j_tl] / ##1 } {##2}
}
}
\prop_map_inline:cn { g__tblr_default_ \l__tblr_env_name_tl _vlines_prop }
{
- \__tblr_prop_gput:nxn { vline }
+ \__tblr_text_gput:nen { vline }
{ [\int_eval:n { \c@colcount + 1}] / ##1 } {##2}
}
\keys_set:nv { tblr } { l__tblr_default_ \l__tblr_env_name_tl _tl }
@@ -2279,7 +2600,7 @@
{
long, colspec, rowspec, width, hspan, stretch,
column, row, cell, vline, hline, columns, rows, cells, vlines, hlines,
- leftsep, rightsep, colsep, abovesep, belowsep, rowsep,
+ leftsep, rightsep, colsep, abovesep, belowsep, rowsep, rulesep,
}
\bool_new:N \l__tblr_long_table_bool
@@ -2303,6 +2624,7 @@
abovesep .code:n = \tblr_set_every_row:nn { } { abovesep = #1 },
belowsep .code:n = \tblr_set_every_row:nn { } { belowsep = #1 },
rowsep .meta:n = { abovesep = #1, belowsep = #1 },
+ rulesep .code:n = \__tblr_keys_gput:nn { rulesep } {#1},
unknown .code:n = \__tblr_table_special_key:Vn \l_keys_key_str {#1},
}
@@ -2403,11 +2725,11 @@
{
\dim_zero:N \l__tblr_w_dim
\tl_set:Nx \l__tblr_n_tl
- { \__tblr_prop_item:ne { vline } { [#2] / @vline-count } }
- \tl_if_empty:NF \l__tblr_n_tl
+ { \__tblr_text_item:ne { vline } { [#2] / @vline-count } }
+ \int_compare:nNnT { \l__tblr_n_tl } > {0}
{
\tl_set:Nx \l__tblr_s_tl
- { \__tblr_prop_item:ne { vline } { [#2] / rulesep } }
+ { \__tblr_prop_item:ne { table } { rulesep } }
\int_step_inline:nn { \l__tblr_n_tl }
{
\vbox_set_to_ht:Nnn \l__tblr_b_box {1pt}
@@ -2416,14 +2738,14 @@
{#1} {#2} {##1} {1pt} {1pt}
}
\tl_set:Nx \l__tblr_w_tl { \dim_eval:n { \box_wd:N \l__tblr_b_box } }
- \__tblr_prop_gput_if_larger:nxx { vline }
+ \__tblr_text_gput_if_larger:nee { vline }
{ [#2](##1) / @vline-width } { \l__tblr_w_tl }
\dim_add:Nn \l__tblr_w_dim { \l__tblr_w_tl }
\dim_add:Nn \l__tblr_w_dim { \l__tblr_s_tl }
}
\dim_add:Nn \l__tblr_w_dim { - \l__tblr_s_tl }
}
- \__tblr_prop_gput_if_larger:nxx { vline }
+ \__tblr_text_gput_if_larger:nee { vline }
{ [#2]/ @vline-width } { \dim_use:N \l__tblr_w_dim }
}
@@ -2434,10 +2756,10 @@
{
\group_begin:
\tl_set:Nx \l__tblr_w_tl
- { \__tblr_prop_item:ne { vline } { [#1][#2](#3) / wd } }
+ { \__tblr_text_item:ne { vline } { [#1][#2](#3) / wd } }
\tl_if_empty:NF \l__tblr_w_tl { \dim_set:Nn \rulewidth { \l__tblr_w_tl } }
\tl_set:Nx \l__tblr_d_tl
- { \__tblr_prop_item:ne { vline } { [#1][#2](#3) / @dash } }
+ { \__tblr_text_item:ne { vline } { [#1][#2](#3) / @dash } }
\tl_set:Nx \l__tblr_a_tl { \tl_head:N \l__tblr_d_tl }
\tl_set:Nx \l__tblr_b_tl { \tl_tail:N \l__tblr_d_tl }
\exp_args:NV \tl_if_eq:NNTF \l__tblr_a_tl \@tblr@dash
@@ -2461,11 +2783,11 @@
{
\dim_zero:N \l__tblr_h_dim
\tl_set:Nx \l__tblr_n_tl
- { \__tblr_prop_item:ne { hline } { [#1] / @hline-count } }
- \tl_if_empty:NF \l__tblr_n_tl
+ { \__tblr_text_item:ne { hline } { [#1] / @hline-count } }
+ \int_compare:nNnT { \l__tblr_n_tl } > {0}
{
\tl_set:Nx \l__tblr_s_tl
- { \__tblr_prop_item:ne { hline } { [#1] / rulesep } }
+ { \__tblr_prop_item:ne { table } { rulesep } }
\int_step_inline:nn { \l__tblr_n_tl }
{
\hbox_set_to_wd:Nnn \l__tblr_b_box {1pt}
@@ -2475,14 +2797,14 @@
\dim_eval:n
{ \box_ht:N \l__tblr_b_box + \box_dp:N \l__tblr_b_box }
}
- \__tblr_prop_gput_if_larger:nxx { hline }
+ \__tblr_text_gput_if_larger:nee { hline }
{ [#1](##1) / @hline-height } { \l__tblr_h_tl }
\dim_add:Nn \l__tblr_h_dim { \l__tblr_h_tl }
\dim_add:Nn \l__tblr_h_dim { \l__tblr_s_tl }
}
\dim_add:Nn \l__tblr_h_dim { - \l__tblr_s_tl }
}
- \__tblr_prop_gput_if_larger:nxx { hline }
+ \__tblr_text_gput_if_larger:nee { hline }
{ [#1] / @hline-height } { \dim_use:N \l__tblr_h_dim }
}
@@ -2492,10 +2814,10 @@
{
\group_begin:
\tl_set:Nx \l__tblr_w_tl
- { \__tblr_prop_item:ne { hline } { [#1][#2](#3) / wd } }
+ { \__tblr_text_item:ne { hline } { [#1][#2](#3) / wd } }
\tl_if_empty:NF \l__tblr_w_tl { \dim_set:Nn \rulewidth { \l__tblr_w_tl } }
\tl_set:Nx \l__tblr_d_tl
- { \__tblr_prop_item:ne { hline } { [#1][#2](#3) / @dash } }
+ { \__tblr_text_item:ne { hline } { [#1][#2](#3) / @dash } }
\tl_set:Nx \l__tblr_a_tl { \tl_head:N \l__tblr_d_tl }
\tl_set:Nx \l__tblr_b_tl { \tl_tail:N \l__tblr_d_tl }
\exp_args:NV \tl_if_eq:NNTF \l__tblr_a_tl \@tblr@dash
@@ -2527,9 +2849,9 @@
{
\group_begin:
\tl_gset:Nx \g__tblr_cell_halign_tl
- { \__tblr_prop_item:ne { cell } { [#1][#2] / halign } }
+ { \__tblr_data_item:neen { cell } {#1} {#2} { halign } }
\tl_set:Nx \l__tblr_v_tl
- { \__tblr_prop_item:ne { cell } { [#1][#2] / valign } }
+ { \__tblr_data_item:neen { cell } {#1} {#2} { valign } }
\tl_case:NnF \l__tblr_v_tl
{
\c__tblr_valign_t_tl
@@ -2607,7 +2929,7 @@
%% #1: row number, #2: column number
\cs_new_protected:Npn \__tblr_get_cell_text:nn #1 #2
{
- \__tblr_prop_if_in:nxTF {cell} { [#1][#2] / omit }
+ \int_compare:nNnTF { \__tblr_data_item:neen { cell } {#1} {#2} { omit } } > {0}
{
\dim_gzero:N \g__tblr_cell_wd_dim
\dim_gzero:N \g__tblr_cell_ht_dim
@@ -2623,18 +2945,19 @@
\cs_new_protected:Npn \__tblr_get_cell_text_real:nn #1 #2
{
\group_begin:
- \tl_set:Nx \l__tblr_c_tl { \__tblr_prop_item:ne {text} {[#1][#2]} }
+ \tl_set:Nx \l__tblr_c_tl { \__tblr_text_item:ne { text } {[#1][#2]} }
\tl_set:Nx \l__tblr_w_tl
- { \__tblr_prop_item:ne { cell } { [#1][#2] / width } }
- \tl_if_empty:NT \l__tblr_w_tl
+ { \__tblr_data_item:neen { cell } {#1} {#2} { width } }
+ \dim_compare:nNnT { \l__tblr_w_tl } < { 0pt } % cell width unset
{
- \__tblr_prop_if_in:nxF { cell } { [#1][#2] / colspan }
+ \int_compare:nNnT
+ { \__tblr_data_item:neen { cell } {#1} {#2} { colspan } } < {2}
{
\tl_set:Nx \l__tblr_w_tl
- { \__tblr_prop_item:ne { column } { [#2] / width } }
+ { \__tblr_data_item:nen { column } {#2} { width } }
}
}
- \tl_if_empty:NT \l__tblr_w_tl
+ \dim_compare:nNnT { \l__tblr_w_tl } < { 0pt } % column width unset
{
\bool_if:NTF \l__tblr_math_mode_bool
{
@@ -2757,15 +3080,15 @@
{
\group_begin:
\tl_set:Nx \l__tblr_c_tl
- { \__tblr_prop_item:ne {cell} { [#1][#2] / colspan } }
- \tl_if_empty:NF \l__tblr_c_tl
+ { \__tblr_data_item:neen { cell } {#1} {#2} { colspan } }
+ \int_compare:nNnT { \l__tblr_c_tl } > {1}
{
- \__tblr_prop_gput:nxx {cell} { [#1][#2] / @cell-width } { \dim_use:N #3 }
+ \__tblr_data_gput:neene { cell } {#1} {#2} { @cell-width } {\dim_use:N #3}
\dim_gzero:N #3 % don't affect column width
}
\tl_set:Nx \l__tblr_r_tl
- { \__tblr_prop_item:ne {cell} { [#1][#2] / rowspan } }
- \tl_if_empty:NF \l__tblr_r_tl
+ { \__tblr_data_item:neen { cell } {#1} {#2} { rowspan } }
+ \int_compare:nNnT { \l__tblr_r_tl } > {1}
{
\tl_case:Nn \g__tblr_cell_valign_tl
{
@@ -2794,8 +3117,8 @@
#4 #5 #6 \l__tblr_u_tl \l__tblr_v_tl
}
}
- \__tblr_prop_gput:nxV {cell} { [#1][#2] / @cell-height } \l__tblr_u_tl
- \__tblr_prop_gput:nxV {cell} { [#1][#2] / @cell-depth } \l__tblr_v_tl
+ \__tblr_data_gput:neenV { cell } {#1} {#2} { @cell-height } \l__tblr_u_tl
+ \__tblr_data_gput:neenV { cell } {#1} {#2} { @cell-depth } \l__tblr_v_tl
%% Don't affect row sizes
\dim_gzero:N #4
\dim_gzero:N #5
@@ -2876,12 +3199,12 @@
\cs_new_protected:Npn \__tblr_update_col_size:nN #1 #2
{
\tl_set:Nx \l_tmpb_tl
- { \__tblr_prop_item:ne {column} { [#1] / @col-width } }
+ { \__tblr_data_item:nen { column } {#1} { @col-width } }
\bool_lazy_or:nnT
{ \tl_if_empty_p:N \l_tmpb_tl }
{ \dim_compare_p:nNn { \dim_use:N #2 } > { \l_tmpb_tl } }
{
- \__tblr_prop_gput:nxx {column} { [#1] / @col-width } { \dim_use:N #2 }
+ \__tblr_data_gput:nene { column } {#1} { @col-width } { \dim_use:N #2 }
}
}
@@ -2925,14 +3248,14 @@
\int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
{
\tl_set:Nx \l__tblr_a_tl
- { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / width } }
+ { \__tblr_data_item:nen { column } { \l__tblr_j_tl } { width } }
\tl_set:Nx \l__tblr_b_tl
- { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / coefficient } }
+ { \__tblr_data_item:nen { column } { \l__tblr_j_tl } { coefficient } }
\tl_set:Nx \l__tblr_c_tl
- { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / @col-width } }
- \tl_if_empty:NTF \l__tblr_a_tl
+ { \__tblr_data_item:nen { column } { \l__tblr_j_tl } { @col-width } }
+ \dim_compare:nNnTF { \l__tblr_a_tl } < { 0pt } % column width unset
{
- \tl_if_empty:NTF \l__tblr_b_tl
+ \dim_compare:nNnTF { \l__tblr_b_tl pt } = { 0pt }
{ \dim_sub:Nn \l__column_target_dim { \l__tblr_c_tl } }
{
\prop_put:Nxx \l__column_coefficient_prop
@@ -2948,17 +3271,17 @@
}
{ \dim_sub:Nn \l__column_target_dim { \l__tblr_a_tl } }
\tl_set:Nx \l__tblr_a_tl
- { \__tblr_prop_item:ne {vline} { [\l__tblr_j_tl] / @vline-width } }
+ { \__tblr_text_item:ne { vline } { [\l__tblr_j_tl] / @vline-width } }
\tl_set:Nx \l__tblr_b_tl
- { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / leftsep} }
+ { \__tblr_data_item:nen { column } { \l__tblr_j_tl } { leftsep } }
\tl_set:Nx \l__tblr_c_tl
- { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / rightsep } }
+ { \__tblr_data_item:nen { column } { \l__tblr_j_tl } { rightsep } }
\dim_set:Nn \l__column_target_dim
{ \l__column_target_dim - \l__tblr_a_tl - \l__tblr_b_tl - \l__tblr_c_tl }
}
\tl_set:Nx \l__tblr_a_tl
{
- \__tblr_prop_item:ne {vline}
+ \__tblr_text_item:ne { vline }
{ [\int_eval:n {\c@colcount + 1}] / @vline-width }
}
\tl_if_empty:NF \l__tblr_a_tl
@@ -2979,8 +3302,8 @@
}
\prop_map_inline:Nn \l__column_computed_width_prop
{
- \__tblr_prop_gput:nnx {column} { [##1] / width } { ##2 }
- \__tblr_prop_gput:nnn {column} { [##1] / @col-width } { 0pt }
+ \__tblr_data_gput:nnne { column } {##1} { width } {##2}
+ \__tblr_data_gput:nnnn { column } {##1} { @col-width } { 0pt }
}
\__tblr_calculate_cell_sizes:
}
@@ -3067,7 +3390,7 @@
\__tblr_collect_span_widths:
\__tblr_set_column_widths_from_span_widths:
}
- \LogTblrTracing {column}
+ \LogTblrTracing { column }
\__tblr_calculate_cell_sizes:
}
\__tblr_prop_if_in:nnT {table} {rowspan}
@@ -3095,14 +3418,13 @@
{
\dim_eval:n
{
- \__tblr_prop_item:ne {column}
- { [\int_eval:n { \l__tblr_j_tl - 1 }] / rightsep }
+ \__tblr_data_item:nen { column }
+ { \int_eval:n { \l__tblr_j_tl - 1 } } { rightsep }
+
- \__tblr_prop_item:ne {vline}
+ \__tblr_text_item:ne { vline }
{ [\l__tblr_j_tl] / @vline-width }
+
- \__tblr_prop_item:ne {column}
- { [\l__tblr_j_tl] / leftsep}
+ \__tblr_data_item:nen { column } { \l__tblr_j_tl } { leftsep }
}
}
}
@@ -3111,7 +3433,7 @@
{ 0pt }
}
\prop_put:Nxx \l__tblr_col_item_skip_size_prop { item[\l__tblr_j_tl] }
- { \__tblr_prop_item:ne {column} { [\l__tblr_j_tl] / @col-width } }
+ { \__tblr_data_item:nen { column } { \l__tblr_j_tl } { @col-width } }
}
\__tblr_do_if_tracing:nn { cellspan }
{ \prop_log:N \l__tblr_col_item_skip_size_prop }
@@ -3131,7 +3453,7 @@
\__tblr_data_item:nen { row }
{ \int_eval:n {\l__tblr_i_tl - 1} } { belowsep }
+
- \__tblr_prop_item:ne {hline}
+ \__tblr_text_item:ne { hline }
{ [\l__tblr_i_tl] / @hline-height }
+
\__tblr_data_item:nen { row } { \l__tblr_i_tl } { abovesep }
@@ -3165,10 +3487,10 @@
{
\tl_set:Nx \l__tblr_a_tl
{
- \__tblr_prop_item:ne {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / colspan }
+ \__tblr_data_item:neen { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { colspan }
}
- \tl_if_empty:NF \l__tblr_a_tl
+ \int_compare:nNnT { \l__tblr_a_tl } > {1}
{
\__tblr_put_if_larger:Nxx \l__tblr_col_span_size_prop
{
@@ -3176,8 +3498,8 @@
\int_eval:n {\l__tblr_j_tl + \l__tblr_a_tl - 1} )
}
{
- \__tblr_prop_item:ne {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-width }
+ \__tblr_data_item:neen { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { @cell-width }
}
}
}
@@ -3198,15 +3520,15 @@
{
\tl_set:Nx \l__tblr_a_tl
{
- \__tblr_prop_item:ne {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / rowspan }
+ \__tblr_data_item:neen { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { rowspan }
}
- \tl_if_empty:NF \l__tblr_a_tl
+ \int_compare:nNnT { \l__tblr_a_tl } > {1}
{
\tl_set:Nx \l__tblr_v_tl
{
- \__tblr_prop_item:ne {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / valign }
+ \__tblr_data_item:neen { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { valign }
}
\tl_if_eq:NnT \l__tblr_v_tl { h }
{
@@ -3215,8 +3537,8 @@
\__tblr_data_item:nen { row }
{ \l__tblr_i_tl } { @row-head }
}
- \__tblr_prop_gput:nxV {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-height }
+ \__tblr_data_gput:neenV { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { @cell-height }
\l__tblr_h_tl
}
\tl_if_eq:NnT \l__tblr_v_tl { f }
@@ -3228,8 +3550,8 @@
{ \int_eval:n { \l__tblr_i_tl + \l__tblr_a_tl - 1 } }
{ @row-foot }
}
- \__tblr_prop_gput:nxV {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-depth }
+ \__tblr_data_gput:neenV { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { @cell-depth }
\l__tblr_d_tl
}
\__tblr_put_if_larger:Nxx \l__tblr_row_span_size_prop
@@ -3240,11 +3562,11 @@
{
\dim_eval:n
{
- \__tblr_prop_item:ne {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-height }
+ \__tblr_data_item:neen { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { @cell-height }
+
- \__tblr_prop_item:ne {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / @cell-depth }
+ \__tblr_data_item:neen { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { @cell-depth }
}
}
\prop_put:Nxx \l__tblr_row_span_to_row_prop
@@ -3340,8 +3662,8 @@
{
\int_step_variable:nNn { \c@colcount } \l__tblr_j_tl
{
- \__tblr_prop_gput:nxx {column}
- { [\l__tblr_j_tl] / @col-width }
+ \__tblr_data_gput:nene { column }
+ { \l__tblr_j_tl } { @col-width }
{ \prop_item:Ne \l__tblr_col_item_skip_size_prop { item[\l__tblr_j_tl] } }
}
}
@@ -3383,17 +3705,17 @@
{
\tl_set:Nx \l__tblr_a_tl
{
- \__tblr_prop_item:ne {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / colspan }
+ \__tblr_data_item:neen { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { colspan }
}
- \tl_if_empty:NF \l__tblr_a_tl
+ \int_compare:nNnT { \l__tblr_a_tl } > {1}
{
\__tblr_calc_span_widths:xxN
{ \l__tblr_j_tl }
{ \int_eval:n { \l__tblr_j_tl + \l__tblr_a_tl - 1 } }
\l__tblr_w_dim
- \__tblr_prop_gput:nxx {cell}
- { [\l__tblr_i_tl][\l__tblr_j_tl] / width }
+ \__tblr_data_gput:neene { cell }
+ { \l__tblr_i_tl } { \l__tblr_j_tl } { width }
{ \dim_use:N \l__tblr_w_dim }
}
}
@@ -3448,7 +3770,7 @@
{
\dim_set:Nn \l_tmpa_dim
{
- \__tblr_prop_item:ne { hline } { [\l__tblr_i_tl] / @hline-height }
+ \__tblr_text_item:ne { hline } { [\l__tblr_i_tl] / @hline-height }
+
\__tblr_data_item:nen { row } { \l__tblr_i_tl } { abovesep }
+
@@ -3546,7 +3868,7 @@
\cs_new_protected:Npn \__tblr_valign_whole_top:N #1
{
\tl_set:Nx \l__tblr_a_tl
- { \__tblr_prop_item:ne { hline } { [1] / @hline-height } }
+ { \__tblr_text_item:ne { hline } { [1] / @hline-height } }
%% Note that \l__tblr_b_tl may be empty
\tl_set:Nx \l__tblr_b_tl
{ \__tblr_prop_item:ne { table } { baseline } }
@@ -3580,7 +3902,7 @@
{
\tl_set:Nx \l__tblr_a_tl
{
- \__tblr_prop_item:ne { hline }
+ \__tblr_text_item:ne { hline }
{ [\int_eval:n {\c@rowcount + 1}] / @hline-height }
}
%% Note that \l__tblr_b_tl may be empty
@@ -3630,14 +3952,14 @@
\cs_new_protected:Npn \__tblr_build_hline_segment:nn #1 #2
{
\tl_set:Nx \l__tblr_n_tl
- { \__tblr_prop_item:ne { hline } { [#1] / @hline-count } }
+ { \__tblr_text_item:ne { hline } { [#1] / @hline-count } }
\tl_set:Nx \l__tblr_o_tl
- { \__tblr_prop_item:ne { hline } { [#1][#2] / omit } }
+ { \__tblr_text_item:ne { hline } { [#1][#2] / omit } }
\__tblr_get_col_outer_width_border_width:nNN {#2}
\l__tblr_col_o_wd_dim \l__tblr_col_b_wd_dim
\tl_if_empty:NTF \l__tblr_o_tl
{
- \tl_if_empty:NF \l__tblr_n_tl
+ \int_compare:nNnT { \l__tblr_n_tl } > {0}
{ \__tblr_build_hline_segment_real:nn {#1} {#2} }
}
{ \__tblr_build_hline_segment_omit:nn {#1} {#2} }
@@ -3653,7 +3975,7 @@
\cs_new_protected:Npn \__tblr_build_hline_segment_real:nn #1 #2
{
\tl_set:Nx \l__tblr_s_tl
- { \__tblr_prop_item:ne { hline } { [#1] / rulesep } }
+ { \__tblr_prop_item:ne { table } { rulesep } }
\vbox_set:Nn \l__tblr_c_box
{
%% add an empty hbox to support vbox width
@@ -3661,12 +3983,12 @@
\int_step_inline:nn { \l__tblr_n_tl }
{
\tl_set:Nx \l__tblr_h_tl
- { \__tblr_prop_item:ne { hline } { [#1](##1) / @hline-height } }
+ { \__tblr_text_item:ne { hline } { [#1](##1) / @hline-height } }
\hrule height ~ 0pt % remove lineskip
\hbox_set_to_wd:Nnn \l__tblr_b_box { \l__tblr_col_o_wd_dim }
{
\tl_set:Nx \l__tblr_f_tl
- { \__tblr_prop_item:ne { hline } { [#1][#2](##1) / fg } }
+ { \__tblr_text_item:ne { hline } { [#1][#2](##1) / fg } }
\tl_if_empty:NF \l__tblr_f_tl { \color{\l__tblr_f_tl} }
\__tblr_get_hline_segment_child:nnn {#1} {#2} {##1}
}
@@ -3687,16 +4009,16 @@
\cs_new_protected:Npn \__tblr_get_col_outer_width_border_width:nNN #1 #2 #3
{
\dim_set:Nn #3
- { \__tblr_prop_item:ne {vline} { [\int_eval:n {#1 + 1}] / @vline-width } }
+ { \__tblr_text_item:ne { vline } { [\int_eval:n {#1 + 1}] / @vline-width } }
\dim_set:Nn #2
{
- \__tblr_prop_item:ne {vline} { [#1] / @vline-width }
+ \__tblr_text_item:ne { vline } { [#1] / @vline-width }
+
- \__tblr_prop_item:ne {column} { [#1] / leftsep }
+ \__tblr_data_item:nen { column } {#1} { leftsep }
+
- \__tblr_prop_item:ne {column} { [#1] / @col-width }
+ \__tblr_data_item:nen { column } {#1} { @col-width }
+
- \__tblr_prop_item:ne {column} { [#1] / rightsep }
+ \__tblr_data_item:nen { column } {#1} { rightsep }
+
#3
}
@@ -3756,12 +4078,12 @@
\cs_new_protected:Npn \__tblr_build_vline_segment:nn #1 #2
{
\tl_set:Nx \l__tblr_n_tl
- { \__tblr_prop_item:ne { vline } { [#2] / @vline-count } }
+ { \__tblr_text_item:ne { vline } { [#2] / @vline-count } }
\tl_set:Nx \l__tblr_o_tl
- { \__tblr_prop_item:ne { vline } { [#1][#2] / omit } }
+ { \__tblr_text_item:ne { vline } { [#1][#2] / omit } }
\tl_if_empty:NTF \l__tblr_o_tl
{
- \tl_if_empty:NF \l__tblr_n_tl
+ \int_compare:nNnT { \l__tblr_n_tl } > {0}
{ \__tblr_build_vline_segment_real:nn {#1} {#2} }
}
{ \__tblr_build_vline_segment_omit:nn {#1} {#2} }
@@ -3771,7 +4093,7 @@
\cs_new_protected:Npn \__tblr_build_vline_segment_omit:nn #1 #2
{
\tl_set:Nx \l__tblr_w_tl
- { \__tblr_prop_item:ne { vline } { [#2] / @vline-width } }
+ { \__tblr_text_item:ne { vline } { [#2] / @vline-width } }
\skip_horizontal:N \l__tblr_w_tl
}
@@ -3781,10 +4103,10 @@
\cs_new_protected:Npn \__tblr_build_vline_segment_real:nn #1 #2
{
\tl_set:Nx \l__tblr_s_tl
- { \__tblr_prop_item:ne { vline } { [#2] / rulesep } }
+ { \__tblr_prop_item:ne { table } { rulesep } }
\tl_set:Nx \l__tblr_b_tl
{
- \__tblr_prop_item:ne { hline }
+ \__tblr_text_item:ne { hline }
{ [\int_eval:n{#1 + 1}](1) / @hline-height }
}
\tl_if_empty:NT \l__tblr_b_tl { \tl_set:Nn \l__tblr_b_tl { 0pt } }
@@ -3793,12 +4115,12 @@
\int_step_inline:nn { \l__tblr_n_tl }
{
\tl_set:Nx \l__tblr_w_tl
- { \__tblr_prop_item:ne { vline } { [#2](##1) / @vline-width } }
+ { \__tblr_text_item:ne { vline } { [#2](##1) / @vline-width } }
\vbox_set_to_ht:Nnn \l__tblr_b_box
{ \dim_eval:n { \l__tblr_row_ht_dim + \l__tblr_row_dp_dim } }
{
\tl_set:Nx \l__tblr_f_tl
- { \__tblr_prop_item:ne { vline } { [#1][#2](##1) / fg } }
+ { \__tblr_text_item:ne { vline } { [#1][#2](##1) / fg } }
\tl_if_empty:NF \l__tblr_f_tl { \color{\l__tblr_f_tl} }
\__tblr_get_vline_segment_child:nnnxx {#1} {#2} {##1}
{ \dim_eval:n { \l__tblr_row_ht_dim } }
@@ -3828,24 +4150,24 @@
\int_set:Nn \c@colnum {#2}
\group_begin:
\tl_set:Nx \l__tblr_w_tl
- { \__tblr_prop_item:ne { column } { [#2] / @col-width } }
+ { \__tblr_data_item:nen { column } {#2} { @col-width } }
\tl_set:Nx \l__tblr_h_tl
{ \__tblr_data_item:nen { row } {#1} { @row-height } }
\tl_set:Nx \l__tblr_x_tl
- { \__tblr_prop_item:ne { column } { [#2] / leftsep} }
+ { \__tblr_data_item:nen { column } {#2} { leftsep} }
\tl_set:Nx \l__tblr_y_tl
- { \__tblr_prop_item:ne { column } { [#2] / rightsep } }
+ { \__tblr_data_item:nen { column } {#2} { rightsep } }
\tl_set:Nx \l__tblr_cell_colspan_tl
- { \__tblr_prop_item:ne { cell } { [#1][#2] / colspan } }
- \tl_if_empty:NTF \l__tblr_cell_colspan_tl
+ { \__tblr_data_item:neen { cell } {#1} {#2} { colspan } }
+ \int_compare:nNnTF { \l__tblr_cell_colspan_tl } < {2}
{ \dim_set:Nn \l__tblr_cell_wd_dim { \l__tblr_w_tl } }
{
\__tblr_get_span_horizontal_sizes:NNNNN #1 #2
\l__tblr_o_dim \l__tblr_cell_wd_dim \l__tblr_q_dim
}
\tl_set:Nx \l__tblr_cell_rowspan_tl
- { \__tblr_prop_item:ne { cell } { [#1][#2] / rowspan } }
- \tl_if_empty:NTF \l__tblr_cell_rowspan_tl
+ { \__tblr_data_item:neen { cell } {#1} {#2} { rowspan } }
+ \int_compare:nNnTF { \l__tblr_cell_rowspan_tl } < {2}
{ \dim_set:Nn \l__tblr_cell_ht_dim { \l__tblr_h_tl } }
{
\__tblr_get_span_vertical_sizes:NNNNN #1 #2
@@ -3872,7 +4194,7 @@
\c__tblr_valign_m_tl
{
\vfil
- \tl_if_empty:NT \l__tblr_cell_rowspan_tl
+ \int_compare:nNnT { \l__tblr_cell_rowspan_tl } < {2}
{
\box_set_ht:Nn \l__tblr_a_box
{ \__tblr_data_item:nen { row } {#1} { @row-upper } }
@@ -3892,7 +4214,7 @@
\c__tblr_valign_f_tl
{
\vfil
- \tl_if_empty:NTF \l__tblr_cell_rowspan_tl
+ \int_compare:nNnTF { \l__tblr_cell_rowspan_tl } < {2}
{
\box_set_dp:Nn \l__tblr_a_box
{ \__tblr_data_item:nen { row } {#1} { @row-foot } }
@@ -3924,11 +4246,11 @@
\cs_new_protected:Npn \__tblr_build_cell_background:NN #1 #2
{
- \__tblr_prop_if_in:nxF {cell} { [#1][#2] / omit }
+ \int_compare:nNnT { \__tblr_data_item:neen { cell } {#1} {#2} { omit } } = {0}
{
\group_begin:
\tl_set:Nx \l__tblr_b_tl
- { \__tblr_prop_item:ne { cell } { [#1][#2] / background } }
+ { \__tblr_data_item:neen { cell } {#1} {#2} { background } }
\tl_if_empty:NF \l__tblr_b_tl
{
\__tblr_get_cell_background_width:NNN #1 #2 \l_tmpa_dim
@@ -3946,7 +4268,7 @@
%% #1: row number; #2: column number; #3 resulting dimension
\cs_new_protected:Npn \__tblr_get_cell_background_width:NNN #1 #2 #3
{
- \tl_if_empty:NTF \l__tblr_cell_colspan_tl
+ \int_compare:nNnTF { \l__tblr_cell_colspan_tl } < {2}
{ \dim_set:Nn #3 { \l__tblr_x_tl + \l__tblr_w_tl + \l__tblr_y_tl } }
{
\dim_set:Nn #3 { \l__tblr_o_dim + \l__tblr_cell_wd_dim + \l__tblr_q_dim }
@@ -3956,7 +4278,7 @@
%% #1: row number; #2: column number; #3 resulting dimension
\cs_new_protected:Npn \__tblr_get_cell_background_depth:NNN #1 #2 #3
{
- \tl_if_empty:NTF \l__tblr_cell_rowspan_tl
+ \int_compare:nNnTF { \l__tblr_cell_rowspan_tl } < {2}
{ \dim_set_eq:NN #3 \l__tblr_row_dp_dim }
{
\dim_set:Nn #3
@@ -4014,7 +4336,7 @@
\cs_new_protected:Npn \__tblr_get_span_horizontal_sizes:NNNNN #1 #2 #3 #4 #5
{
\dim_set:Nn #3
- { \__tblr_prop_item:ne { column } { [#2] / leftsep} }
+ { \__tblr_data_item:nen { column } {#2} { leftsep } }
\dim_zero:N #4
\int_step_inline:nnn { #2 } { #2 + \l__tblr_cell_colspan_tl - 2 }
{
@@ -4033,8 +4355,8 @@
}
\dim_set:Nn #5
{
- \__tblr_prop_item:ne { column }
- { [\int_eval:n {#2 + \l__tblr_cell_colspan_tl - 1}] / rightsep }
+ \__tblr_data_item:nen { column }
+ { \int_eval:n {#2 + \l__tblr_cell_colspan_tl - 1} } { rightsep }
}
%\tl_log:x { cell[#1][#2] ~:~ \dim_use:N #3, \dim_use:N #4, \dim_use:N #5 }
}
@@ -4061,6 +4383,7 @@
\bool_new:N \g__tblr_tracing_rowspec_bool
\bool_new:N \g__tblr_tracing_target_bool
\bool_new:N \g__tblr_tracing_cellspan_bool
+\bool_new:N \g__tblr_tracing_intarray_bool
\keys_define:nn { tblr-set-tracing }
{
@@ -4088,6 +4411,8 @@
-target .code:n = \bool_gset_false:N \g__tblr_tracing_target_bool,
+cellspan .code:n = \bool_gset_true:N \g__tblr_tracing_cellspan_bool,
-cellspan .code:n = \bool_gset_false:N \g__tblr_tracing_cellspan_bool,
+ +intarray .code:n = \bool_gset_true:N \g__tblr_tracing_intarray_bool,
+ -intarray .code:n = \bool_gset_false:N \g__tblr_tracing_intarray_bool,
all .code:n = \__tblr_enable_all_tracings:,
none .code:n = \__tblr_disable_all_tracings:,
}
@@ -4106,6 +4431,7 @@
\bool_gset_true:N \g__tblr_tracing_rowspec_bool
\bool_gset_true:N \g__tblr_tracing_target_bool
\bool_gset_true:N \g__tblr_tracing_cellspan_bool
+ \bool_gset_true:N \g__tblr_tracing_intarray_bool
}
\cs_new_protected_nopar:Npn \__tblr_disable_all_tracings:
@@ -4122,6 +4448,7 @@
\bool_gset_false:N \g__tblr_tracing_rowspec_bool
\bool_gset_false:N \g__tblr_tracing_target_bool
\bool_gset_false:N \g__tblr_tracing_cellspan_bool
+ \bool_gset_false:N \g__tblr_tracing_intarray_bool
}
\NewDocumentCommand \LogTabularrayTracing { m }
@@ -4143,7 +4470,7 @@
\cs_new_protected:Npn \__tblr_log_tracing_text:
{
- \__tblr_prop_log:n { text }
+ \__tblr_text_log:n { text }
}
\cs_new_protected:Npn \__tblr_log_tracing_command:
@@ -4158,7 +4485,7 @@
\cs_new_protected:Npn \__tblr_log_tracing_column:
{
- \__tblr_prop_log:n { column }
+ \__tblr_data_log:n { column }
}
\cs_new_protected:Npn \__tblr_log_tracing_row:
@@ -4168,17 +4495,17 @@
\cs_new_protected:Npn \__tblr_log_tracing_cell:
{
- \__tblr_prop_log:n { cell }
+ \__tblr_data_log:n { cell }
}
\cs_new_protected:Npn \__tblr_log_tracing_vline:
{
- \__tblr_prop_log:n { vline }
+ \__tblr_text_log:n { vline }
}
\cs_new_protected:Npn \__tblr_log_tracing_hline:
{
- \__tblr_prop_log:n { hline }
+ \__tblr_text_log:n { hline }
}
\cs_new_protected:Npn \__tblr_log_tracing_colspec:
diff --git a/macros/latex/contrib/tabularray/tabularray.tex b/macros/latex/contrib/tabularray/tabularray.tex
index 03a2835a5e..5b1912c063 100644
--- a/macros/latex/contrib/tabularray/tabularray.tex
+++ b/macros/latex/contrib/tabularray/tabularray.tex
@@ -15,7 +15,7 @@
}
\renewcommand*{\thefootnote}{*}
-\newcommand*{\myversion}{2021J}
+\newcommand*{\myversion}{2021K}
\newcommand*{\mydate}{Version \myversion\ (\the\year-\mylpad\month-\mylpad\day)\\\myrepo}
\newcommand*{\myrepo}{\url{https://github.com/lvjr/tabularray}}
\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
@@ -468,7 +468,7 @@ The following example demonstrates how to define similar rules as in \verb!bookt
\end{tblr}
\end{demohigh}
-\chapter{New Interface}
+\chapter{New Interfaces}
With \verb!tabularray! package, you can separate style and content totally in tables.
@@ -642,6 +642,24 @@ Options \verb!row{i}! and \verb!column{j}! are for setting some rows and columns
\end{tblr}
\end{demohigh}
+We can specify foreground colors, background colors and fonts with
+\verb!bg!, \verb!fg! and \verb!font! keys, respectively, for cells/rows/columns.
+In most cases, \verb!bg! key can be omitted, which you can see in the previous examples.
+
+\begin{demohigh}
+\begin{tblr}{
+ colspec = {lcr},
+ row{odd} = {bg=azure8},
+ row{1} = {bg=azure3, fg=white, font=\sffamily},
+}
+ Alpha & Beta & Gamma \\
+ Delta & Epsilon & Zeta \\
+ Eta & Theta & Iota \\
+ Kappa & Lambda & Mu \\
+ Nu Xi Omikron & Pi Rho Sigma & Tau Upsilon Phi \\
+\end{tblr}
+\end{demohigh}
+
\section{Space in Tables}
Options \verb!rowsep! and \verb!colsep! are for setting padding for rows and columns, respectively.
@@ -682,6 +700,18 @@ And \verb!\\[dimen]! can be replaced by \verb!belowsep+! option:
\end{tblr}
\end{demohigh}
+Also \verb!\doublerulesep! parameter can be replaced by \verb!rulesep! option:
+
+\begin{demohigh}
+\begin{tblr}{
+ colspec={||llll||},rowspec={|QQQ|},rulesep=4pt,
+}
+ Alpha & Beta & Gamma & Delta \\
+ Epsilon & Zeta & Eta & Theta \\
+ Iota & Kappa & Lambda & Mu \\
+\end{tblr}
+\end{demohigh}
+
Also \verb!\arraystretch! parameter can be replaced by \verb!stretch! option:
\begin{demohigh}
@@ -713,7 +743,7 @@ Counters \verb!rownum!, \verb!colnum!, \verb!rowcount!, \verb!colcount! can be u
\end{tblr}
\end{demohigh}
-\section{Experimental Interface}
+\section{Experimental Interfaces}
Everything described in this section is in \underline{\textcolor{red3}{\textbf{experimental}}} status.
Don’t use them in important documents, unless you have time
diff --git a/macros/latex/required/firstaid/changes.txt b/macros/latex/required/firstaid/changes.txt
index c97129e31f..d7823c21a1 100644
--- a/macros/latex/required/firstaid/changes.txt
+++ b/macros/latex/required/firstaid/changes.txt
@@ -6,6 +6,13 @@
We also fix \FN@allmarks which can blow as it loops using the
wrong counter (so the loops runs a random number of times)
+2021-01-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Add replacement code for everysel package.
+ Add first aid for CJK (as it overwrite \selectfont with an
+ old definition).
+
2020-12-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* latex2e-first-aid-for-external-files.dtx:
diff --git a/macros/latex/required/firstaid/firstaid.ins b/macros/latex/required/firstaid/firstaid.ins
index 9965480f20..cd5ea2006d 100644
--- a/macros/latex/required/firstaid/firstaid.ins
+++ b/macros/latex/required/firstaid/firstaid.ins
@@ -3,8 +3,8 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright (C) 2020
-%% The LaTeX3 Project and any individual authors listed elsewhere
+%% Copyright (C) 2020-2021
+%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file is part of the Standard LaTeX `First Aid Bundle'.
@@ -44,8 +44,8 @@ reports for it can be opened at https://latex-project.org/bugs/
(but please observe conditions on bug reports sent to that address!)
-Copyright (C) 2020
-The LaTeX3 Project and any individual authors listed elsewhere
+Copyright (C) 2020-2021
+The LaTeX Project and any individual authors listed elsewhere
in this file.
This file was generated from file(s) of the Standard LaTeX `First Aid Bundle'.
@@ -70,6 +70,9 @@ without such generated files.
{\from{latex2e-first-aid-for-external-files.dtx}{kernel}}}
\generate{\file{filehook-ltx.sty}
- {\from{latex2e-first-aid-for-external-files.dtx}{filehook}}}
+ {\from{latex2e-first-aid-for-external-files.dtx}{filehook-ltx}}}
+
+\generate{\file{everysel-ltx.sty}
+ {\from{latex2e-first-aid-for-external-files.dtx}{everysel-ltx}}}
\endbatchfile
diff --git a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
index 1ce357d6d3..7eb108418c 100644
--- a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -1,6 +1,7 @@
% \iffalse meta-comment
%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2021
+%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%
@@ -111,7 +112,7 @@
%
% \begin{macrocode}
\def\LaTeXFirstAidDate{2021/03/15}
-\def\LaTeXFirstAidVersion{v1.0j}
+\def\LaTeXFirstAidVersion{v1.0l}
% \end{macrocode}
%
% \begin{macrocode}
@@ -183,7 +184,7 @@
%\end{verbatim}
%
% \begin{macrocode}
-%<*filehook>
+%<*filehook-ltx>
% \end{macrocode}
%
% \begin{macrocode}
@@ -273,7 +274,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-%</filehook>
+%</filehook-ltx>
% \end{macrocode}
%
%
@@ -306,7 +307,7 @@
\AddToHook{file/after/biditools.sty}[firstaid]{%
\FirstAidNeededT{biditools}{sty}%
{2020/05/13 v2 Programming tools for bidi package}%
- {
+ {%
% \end{macrocode}
% \pkg{bidi} adds some code to the beginning of \cs{document} which
% contains \cs{endgroup} and \cs{begingroup} which is no longer
@@ -327,7 +328,7 @@
\AddToHook{enddocument/info}%
{\let\bidi@AfterEndDocumentCheckLabelsRerun\@firstofone
\bidi@afterenddocumentchecklabelsrerunhook}%
- }
+ }%
}
% \end{macrocode}
%
@@ -397,6 +398,119 @@
% \end{macrocode}
%
%
+% \begin{macrocode}
+%</kernel>
+% \end{macrocode}
+%
+%
+%
+%
+%
+% \subsection{The \pkg{everysel} package first aid}
+%
+%
+% The \cs{selectfont} command got a hook (with the 2021/05 release) which
+% was originally provided by the \pkg{everysel}
+% package. Now that it is in the kernel this package is no longer
+% needed (or only in a simplified manner).
+%
+% If it is requested we replace it with a simplified package
+% (until) it gets updated at which point this line can be removed.
+% \changes{v2.2k}{2020/12/04}{Emulate everysel package}
+% \begin{macrocode}
+%<*kernel>
+% this has been updated
+%\declare@file@substitution{everysel.sty}{everysel-ltx.sty}
+%</kernel>
+% \end{macrocode}
+%
+%
+%
+% \begin{macrocode}
+%<*everysel-ltx>
+\ProvidesPackage{everysel-ltx}
+ [2020/12/04 v1.0a
+ Emulation of the original everysel^^Jpackage with kernel methods]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\EverySelectfont}[1]
+ {\AddToHook{selectfont}{#1}}
+\newcommand*{\AtNextSelectfont}[1]
+ {\AddToHookNext{selectfont}{#1}}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%</everysel-ltx>
+% \end{macrocode}
+%
+%
+%
+%
+%
+% \subsection{The \pkg{CJK} package first aid}
+%
+% \begin{macrocode}
+%<*kernel>
+% \end{macrocode}
+%
+% The package redefines \cs{selectfont} to add some code but
+% otherwise uses the old definition. So we make a copy of the
+% newer kernel definition and restore it after the package got
+% loaded. The extra code that the package needs can go into the
+% newly provided hook instead.
+%
+% \begin{macrocode}
+\DeclareCommandCopy\CJK@selectfont\selectfont
+% \end{macrocode}
+%
+% \begin{macrocode}
+\AddToHook{file/after/CJK.sty}[firstaid]{%
+ \FirstAidNeededT{CJK}{sty}%
+ {2015/04/18 4.8.4}%
+ {%
+ \DeclareCommandCopy\selectfont\CJK@selectfont
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \AddToHook{selectfont}[CJK]{%
+ \expandafter\ifx\csname CJK@\curr@fontshape\endcsname \relax
+ \else
+ \CJK@bold@false
+ \csname CJK@\curr@fontshape\endcsname
+ \fi
+ }%
+ }%
+}
+% \end{macrocode}
+%
+%
+%
+% \subsection{\cs{footref} first aid}
+%
+% A few classes unconditionally define \cs{footref}. Until that has
+% changed we provide some first aid to let them do this.
+%
+% \begin{macrocode}
+\AddToHook{file/after/scrkbase.sty}[firstaid]{%
+ \FirstAidNeededT{scrkbase}{sty}%
+ {2020/09/21 v3.32 KOMA-Script package (KOMA-Script-dependent basics and keyval usage)}%
+ {\let\footref\@undefined}
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\AddToHook{class/before/memoir}[firstaid]{%
+ % for version {2020/10/04 v3.7n configurable book, report, article document class}%
+ \let\footref\@undefined
+}
+% \end{macrocode}
+%
+%
+%
+%
+%
% \subsection{The \pkg{bigfoot} first aid}
%
% The \pkg{bigfoot} packages makes the assumption that two
@@ -432,7 +546,6 @@
%
%
%
-%
% \subsection[Temporary fixes for the kernel (until the next
% patch-level release)]
% {Temporary fixes for the kernel \\
diff --git a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
index 1bf28e4760..2e9c812fd0 100644
--- a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
+++ b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 880c0686f6..a8a2f2006d 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -48,6 +48,7 @@ $mirrors = {
'Korea' => {
'http://ftp.ktug.org/tex-archive/' => 1,
'https://cran.asia/tex/' => 1,
+ 'https://ftp.harukasan.org/CTAN/' => 1,
'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
'https://mirror.yongbok.net/ctan/' => 1,
@@ -71,6 +72,9 @@ $mirrors = {
'http://ftp.cvut.cz/tex-archive/' => 1,
'https://mirrors.nic.cz/tex-archive/' => 1,
},
+ 'Denmark' => {
+ 'https://mirrors.dotsrc.org/ctan/' => 1,
+ },
'Finland' => {
'https://www.nic.funet.fi/pub/TeX/CTAN/' => 1,
'https://www.texlive.info/CTAN/' => 1,
@@ -81,6 +85,7 @@ $mirrors = {
'https://ctan.mines-albi.fr/' => 1,
'https://ctan.tetaneutral.net/' => 1,
'https://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/' => 1,
+ 'https://mirror.ibcp.fr/pub/CTAN/' => 1,
'https://mirrors.chevalier.io/CTAN/' => 1,
'https://mirrors.ircam.fr/pub/CTAN/' => 1,
'https://texlive.mycozy.space/' => 1,
@@ -126,6 +131,7 @@ $mirrors = {
'https://ctan.uib.no/' => 1,
},
'Poland' => {
+ 'https://ctan.mirrors.tworzy.net/' => 1,
'https://ftp.gust.org.pl/TeX/' => 1,
'https://repo.skni.umcs.pl/ctan/' => 1,
'https://sunsite.icm.edu.pl/pub/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 42477494ed..cfeeed526f 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2021
-depend revision/59459
+depend revision/59483
name 00texlive.image
category TLCore
-revision 59458
+revision 59471
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -40,7 +40,7 @@ longdesc IgnorePatterns in the check_files routine in tlmgr.pl augment
longdesc this list. Those are not included in the source/ tarball. For
longdesc information on the 00texlive prefix see
longdesc 00texlive.installation(.tlpsrc)
-runfiles size=13873
+runfiles size=13874
.mkisofsrc
autorun.inf
texmf-dist/README
@@ -2279,6 +2279,7 @@ runfiles size=13873
tlpkg/tlpsrc/kastrup.tlpsrc
tlpkg/tlpsrc/kblocks.tlpsrc
tlpkg/tlpsrc/kdgdocs.tlpsrc
+ tlpkg/tlpsrc/kdpbook.tlpsrc
tlpkg/tlpsrc/kerkis.tlpsrc
tlpkg/tlpsrc/kerntest.tlpsrc
tlpkg/tlpsrc/ketcindy.tlpsrc
@@ -4394,7 +4395,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 59443
+revision 59470
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -40774,7 +40775,7 @@ catalogue-version 1.1
name bjfuthesis
category Package
-revision 59445
+revision 59475
shortdesc A thesis class for Beijing Forestry University
relocated 1
longdesc This is a class file for producing dissertations and theses
@@ -40782,11 +40783,11 @@ longdesc according to the Beijing Forestry University (BJFU) Guidelines
longdesc for Undergraduate Theses and Dissertations. The class should
longdesc meet all current requirements and is updated whenever the
longdesc university guidelines change.
-containersize 2488
-containerchecksum 2996cfa1664cc0c99b2cbf537c35aa54d4a8e0259cb7885bb2d1114d4b344ebb72dc6c4afc4bbb0ae42321f9ac4778c2a2901a56685b009a1e034eeceed02e07
-doccontainersize 9533004
-doccontainerchecksum 3a8c58074292b6c20e2914634a6f7ef010cf39ac45219ff3197e461860b1cb0a96c686046ac560d30e7d009651a59c0579ec23447901e05c4348c0ff4d2d9793
-docfiles size=2463
+containersize 3008
+containerchecksum 30cbccac65cfca4f5f45b64a440dce8256dcfe00400795df109045bc35c911df38a4beb081a3d11e16f521b7b926a2822c5ff1c9b3686d93ee1907e2b46a64ce
+doccontainersize 9543044
+doccontainerchecksum 5dbed5578e9f12131e462dd69c121caf5908fe7fd675de41faa27caa61feac5e12696396d26e5a8bc84796edb4af680afe6ef98dcaf263f0ab6f590f5b5acfa7
+docfiles size=2469
RELOC/doc/latex/bjfuthesis/LICENSE
RELOC/doc/latex/bjfuthesis/README.md details="Readme"
RELOC/doc/latex/bjfuthesis/documentation/bjfuthesis.pdf details="Package documentation" language="zh,en"
@@ -40821,7 +40822,7 @@ catalogue-contact-repository https://github.com/bjfu-projects/bjfuthesis
catalogue-ctan /macros/latex/contrib/bjfuthesis
catalogue-license gpl3
catalogue-topics class doc-templ dissertation std-conform chinese
-catalogue-version 1.0.1
+catalogue-version 1.0.2
name blacklettert1
category Package
@@ -41121,22 +41122,24 @@ catalogue-version 2.51
name bmstu-iu8
category Package
-revision 59310
+revision 59472
shortdesc A class for IU8 reports
relocated 1
-longdesc This package consist of a class file and style files for
+longdesc This package consists of a class file and style files for
longdesc writing reports at the IU8 department of IU faculty of BMSTU
-longdesc (Bauman Moscow State Technical University).
-containersize 12584
-containerchecksum 8305bda33fea16ba81c9c20906a0dd946fb52dd630d44f08fd36916cb1bc6988990eedd22e145f70690491779282cbebd0fb3b60c8b0a6c09ca22c66a29356db
-doccontainersize 227952
-doccontainerchecksum e93b0b13270f4b6588344d4a496f20fa53b1e4376945e71a11681362ee3dd3db529d5efb18e45f7327bf9ca97eb6b374c51db745ffd9c0294da22d3d1d91c93e
-docfiles size=64
- RELOC/doc/latex/bmstu-iu8/LICENSE
+longdesc (Bauman Moscow State Technical University). The class defines
+longdesc all headings, structure elements and other things in respect of
+longdesc Russian standard GOST 7.32-2017. But there are correctives to
+longdesc be compatible with our local IU8 department requirements.
+containersize 12484
+containerchecksum 8ab05be94dc35b6c4459730c799c4aa5856096c166b7286cb2ea1298b2940beb816248921caaadeb595b88c5cad29704261fc019183dec24de5793b118773273
+doccontainersize 171912
+doccontainerchecksum e54e87505ebca24da81fa9e34bd7646bdc5c2f8cc1e97395a51b677c0b628f8ba85b535f371ce302a1c01d82c398a97680e83eba7e20118cf8b03b7da8c20ae2
+docfiles size=59
RELOC/doc/latex/bmstu-iu8/README.md details="Readme"
+ RELOC/doc/latex/bmstu-iu8/bmstu-example.pdf details="Example of use" language="ru"
+ RELOC/doc/latex/bmstu-iu8/bmstu-example.tex
RELOC/doc/latex/bmstu-iu8/bmstu.png
- RELOC/doc/latex/bmstu-iu8/example.pdf details="Example of use" language="ru"
- RELOC/doc/latex/bmstu-iu8/example.tex
runfiles size=26
RELOC/tex/latex/bmstu-iu8/01-IU8-base.sty
RELOC/tex/latex/bmstu-iu8/02-IU8-construction.sty
@@ -41163,11 +41166,11 @@ runfiles size=26
RELOC/tex/latex/bmstu-iu8/BMSTU-IU8.cls
catalogue-contact-bugs https://github.com/CatInCosmicSpace/latex-template/issues
catalogue-contact-repository https://github.com/CatInCosmicSpace/latex-template
-catalogue-contact-support https://t.me/catincosmicspace
+catalogue-contact-support https://t.me/CatInCosmicSpace
catalogue-ctan /macros/latex/contrib/bmstu-iu8
catalogue-license mit
-catalogue-topics class report-like
-catalogue-version 1.0
+catalogue-topics class report-like std-conform
+catalogue-version 1.1
name bnumexpr
category Package
@@ -69601,7 +69604,7 @@ containerchecksum 653143f95761352dc349c66f618b01a77650b20bf8b2cf45137e72b2f05ba3
name collection-publishers
category Collection
-revision 59378
+revision 59466
shortdesc Publisher styles, theses, etc.
relocated 1
depend IEEEconf
@@ -69711,6 +69714,7 @@ depend jmlr
depend jnuexam
depend jpsj
depend kdgdocs
+depend kdpbook
depend kluwer
depend ksp-thesis
depend ku-template
@@ -69848,8 +69852,8 @@ depend xmuthesis
depend yathesis
depend yazd-thesis
depend york-thesis
-containersize 1556
-containerchecksum 9d1e1a19c0a530938d8a07212690add9529c824708a9e559f65426512f074464868da484594d3ecd30a95aeb7399c2d4e725b2fdf65c9add1f39e14dbb27de3d
+containersize 1560
+containerchecksum ba8bcac576b7b7f5b006d3e3843f26a7909325a220ea2e92b48c6bb5ed764f11e6ab05ca9c3136aab4a00b88a0a51525ccd493d65216285ae325b2d829f0ea01
name collection-texworks
category Collection
@@ -97607,10 +97611,10 @@ binfiles arch=universal-darwin size=527
name dvipdfmx.win32
category TLCore
-revision 59085
+revision 59468
shortdesc win32 files of dvipdfmx
-containersize 332376
-containerchecksum 5c4c780cd2ad7593eeffd4c2b94466225220e75a76753e93963c4f2ec1ca27be82d4852a58ebe4cbe58f3dab1f11ee2ce398be57f212503c2d9cd15a69fdd462
+containersize 332332
+containerchecksum 043425371d23a3a0a01545ac5fd8937a71f4362f8d877b564b9ebfd83aad468fe17785b556f46489c73c489de1d6e140cbfa6068be22f66a85ef13c22bf03110
binfiles arch=win32 size=239
bin/win32/dvipdfm.exe
bin/win32/dvipdfmx.dll
@@ -98906,24 +98910,24 @@ catalogue-topics notes editorial
name easybook
category Package
-revision 59454
+revision 59476
shortdesc Typeset Chinese books or notes
relocated 1
longdesc Easybook is a minimalist style template based on the ctexbook
longdesc book document class.
-containersize 14184
-containerchecksum c13d8fdc1dfcfefb3ce4e93fcb9c062a8e01aecc0a3c743278857c9d71ea6eb24adf123db642254311e8391d114ab026e0afb76450b516ed895a6fe9938866fe
-doccontainersize 314636
-doccontainerchecksum 7a91d4ee1e38f621b49c0432617a90ef9f5dc426b5497a6fafa3f8256dad4cc6ee3946157755127c81d33f573ae97c7bdfa26eb158b9235b03e4dbba02342669
+containersize 14276
+containerchecksum a620ea84ec3afbe271ec01d52765854c1d38afd0ff6b61e0c51cbe045c05b91c966a3decc7af1d8222829f076efea08547f76cb63c8e4e8a7563f9efcac43ddb
+doccontainersize 314640
+doccontainerchecksum ffe5f3347287ad332ed55f28c0866708ee26e0688b900a966b2a3d18e85b73e99cd9a819c7b0f78494d80ead3d9fd4273d0279d814e4f1e7f143cad3f6d45f4a
docfiles size=78
RELOC/doc/latex/easybook/README.md details="Readme"
RELOC/doc/latex/easybook/easybook.pdf details="Package documentation" language="zh"
-srccontainersize 30840
-srccontainerchecksum 63dbb6d1e7de8f9d45a4497db2b5f67701a7deb91c1423314fbc80238c7ddc68668aae66a7a3c31fdda45ade31602e20508e8a22b0265075167a94c7e7135597
+srccontainersize 30960
+srccontainerchecksum 4c365d6e5f860ec8219a46699054e8dca04fed89efff0fbd7699778e282a6b5dac9ce5b385252f979202b54be66af8ebc8b6f60f8614fd3d34af86a17a2218f6
srcfiles size=33
RELOC/source/latex/easybook/easybook.dtx
RELOC/source/latex/easybook/easybook.ins
-runfiles size=17
+runfiles size=18
RELOC/tex/latex/easybook/easybase.sty
RELOC/tex/latex/easybook/easybook.cls
catalogue-also ctex
@@ -98931,7 +98935,7 @@ catalogue-contact-repository https://gitee.com/texl3/easybook
catalogue-ctan /macros/latex/contrib/easybook
catalogue-license cc-by-4
catalogue-topics book-pub class chinese expl3
-catalogue-version 1.25r
+catalogue-version 1.25t
name easyfig
category Package
@@ -106807,7 +106811,7 @@ binfiles arch=x86_64-solaris size=2
name eq-pin2corr
category Package
-revision 57815
+revision 59477
shortdesc Add PIN security to the "Correct" button of a quiz created by exerquiz
relocated 1
longdesc This package is an add-on to the quiz environment of the
@@ -106818,11 +106822,11 @@ longdesc of the quiz and successfully enter the correct PIN number. The
longdesc PIN security is designed for the instructor to mark and record
longdesc the student's effort on that quiz. The package works for the
longdesc usual workflows.
-containersize 2144
-containerchecksum 878bbe22ea7a71b486a38942d11ab15a19c8fef10ac90e06b235a87a15f0e4478d00d7671751547cc0c8c440924c92cc7e07dbce4c816fdfd114468104fec040
-doccontainersize 639596
-doccontainerchecksum cc1dffd4989bdc5efc76e1ae44a8ee5f7cdea0c9617f98eda3ab0f079d242b408f91d80595a699212c5cf5910cf182c64d98517d6582af14fb1bec074f344eb9
-docfiles size=256
+containersize 3368
+containerchecksum 631f8dc9f50f7a45a0d03f0c4210af427cf8492d56886cedeff6cb0e9587453976beb1ac960afb53b7a31538a176bb63f55afd330ca2463847f86e57c3d545c3
+doccontainersize 558764
+doccontainerchecksum 4e704295ff398a2e167293178d69edc4882e9b9f37dae4f9debda7edd921a7c2d19c036b4d1424405ac1b9853e57615d9183fbf56a763088dc58919842da2720
+docfiles size=258
RELOC/doc/latex/eq-pin2corr/README.md details="Readme"
RELOC/doc/latex/eq-pin2corr/doc/eq-pin2corr.pdf details="Package documentation"
RELOC/doc/latex/eq-pin2corr/doc/eqpin2corrman.pdf details="User manual"
@@ -106831,20 +106835,19 @@ docfiles size=256
RELOC/doc/latex/eq-pin2corr/doc/install_jsfiles.tex
RELOC/doc/latex/eq-pin2corr/examples/get-hash-string.pdf
RELOC/doc/latex/eq-pin2corr/examples/get-hash-string.tex
- RELOC/doc/latex/eq-pin2corr/examples/qz-pin-to-correct.pdf
- RELOC/doc/latex/eq-pin2corr/examples/qz-pin-to-correct.tex
-srccontainersize 5152
-srccontainerchecksum eb0d10e680a935f9919b9dfcae1b137549dfaece3047b62e2ea06280cb3075d3882546df470f05cdae9716eb128f27faa981d86408acb50b85eced63bf104769
-srcfiles size=4
+ RELOC/doc/latex/eq-pin2corr/examples/qz-p2c.pdf
+ RELOC/doc/latex/eq-pin2corr/examples/qz-p2c.tex
+srccontainersize 7684
+srccontainerchecksum eb40f073d1763c59f9a0ed0444930f6698fbde754e213a73bff251df7f83b2c5a730345104d3b947ee8400363d324f968e3ebb7b74ed6f484d0c3589d5134b37
+srcfiles size=7
RELOC/source/latex/eq-pin2corr/eq-pin2corr.dtx
RELOC/source/latex/eq-pin2corr/eq-pin2corr.ins
-runfiles size=1
+runfiles size=2
RELOC/tex/latex/eq-pin2corr/eq-pin2corr.sty
catalogue-also exerquiz
catalogue-ctan /macros/latex/contrib/eq-pin2corr
catalogue-license lppl1.2
catalogue-topics exercise exam security pdf-feat pdf-forms acrobat
-catalogue-version 1.0
name eqell
category Package
@@ -119640,7 +119643,7 @@ catalogue-topics tut-latex
name firstaid
category Package
-revision 58440
+revision 59483
catalogue latex-firstaid
shortdesc First aid for external LaTeX files and packages that need updating
relocated 1
@@ -119650,27 +119653,28 @@ longdesc LaTeX kernel that are not yet reflected in the package's or
longdesc class's code. The file latex2e-first-aid-for-external-files.ltx
longdesc provided by this package is meant to be loaded during format
longdesc generation and not by the user.
-containersize 2160
-containerchecksum 31e74a644d0b2a9b0f659207195cc39b7b0cdfd44c878caf541869a114ca90990637c04b3da74f9f49e2dbcb30863030fe901a67b200d1aa4a9892ff41defe15
-doccontainersize 205324
-doccontainerchecksum 368484714a5b45d47fe6b86c8025175d034842cc6e64665f574040bdd89cb42b02a739edca6806d3585a484cf55ff083616c0a210a9ca65916477ddbd4678b5f
-docfiles size=53
+containersize 2536
+containerchecksum 1523585909a3f1a273bb05a3a122898dd81b053251b3594a27dcfb31e5fa80fb139c285b953ba044a67c7a9106c9a16318188a0f6a98023dc3d34a3af16999e6
+doccontainersize 222796
+doccontainerchecksum 0fea5bbb78ef2ac000258cabbeb42027be623ca6b558c0bcb3068e91ee96a413e5669eddc954f2fccb520813f8650b68f25bdf5cfef193dfc61713f109c325bd
+docfiles size=58
RELOC/doc/latex/firstaid/README.md details="Readme"
RELOC/doc/latex/firstaid/changes.txt
RELOC/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf details="Package documentation"
-srccontainersize 5884
-srccontainerchecksum 9c1c4ad607d2c9896504637c8efd0f7dcbb1916e7f671ead11552fbb6bcf0f8af216dc40a0ac771d3e804a02f65e12067082d001f96506d8d5435d93ff513ba9
-srcfiles size=5
+srccontainersize 6540
+srccontainerchecksum 1d172b83d2e74401fcef53c35289e0a15cb9d7a4b3e6a062ac02a6a216b82f55dd293f0bc38ac2fb6223920a8d1210f4c838416d31c7fbec1875111658d29c02
+srcfiles size=6
RELOC/source/latex/firstaid/firstaid.ins
RELOC/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx
-runfiles size=2
+runfiles size=4
+ RELOC/tex/latex/firstaid/everysel-ltx.sty
RELOC/tex/latex/firstaid/filehook-ltx.sty
RELOC/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
catalogue-contact-home https://www.latex-project.org
catalogue-ctan /macros/latex/required/firstaid
catalogue-license lppl1.3c
catalogue-topics format bugfix
-catalogue-version 1.0j
+catalogue-version 1.0l
name fitbox
category Package
@@ -121569,7 +121573,7 @@ catalogue-version 4.6.3.2
name fontawesome5
category Package
-revision 54517
+revision 59462
shortdesc Font Awesome 5 with LaTeX support
relocated 1
longdesc This package provides LaTeX support for the included "Font
@@ -121578,16 +121582,16 @@ longdesc Awesome and released under the SIL OFL 1.1 license. The
longdesc commercial "Pro" version is also supported, if it is installed
longdesc and XeLaTeX or LuaLaTeX is used.
execute addMap fontawesome5.map
-containersize 848692
-containerchecksum 2d33d6faae95c3d275fad5e0a962e7e8943ece8e311555915adf6f9cec9864e00a4309d42e7e171220f16c7ce8f7253499513f0d118685f0a7373de98c9fc886
-doccontainersize 719272
-doccontainerchecksum 24c198c2abfc82930b43d04b1b855715c48b7b1d2517d955745b6eaea8b4d81496af627907a3e7d9bb232df442c965a1ea84c427bc1a8c964cc83dc123392051
-docfiles size=180
+containersize 865064
+containerchecksum 06a12635f8f847dc6f51e57ab122aba09705418b13b13bb23fc42c4f5f9ae7518bd509e47f4d591847077112b3e7588d7402a3b11d1dd3b93a71aabfc41d9e1e
+doccontainersize 741952
+doccontainerchecksum 35e403c1272908ce31a4d3622747317d2a4b482a2aca8be79df29478e92acd4977ace576d3ff8424005142edca2e4f4c3b125f5096c7f02ddd120f2b3b0799db
+docfiles size=186
RELOC/doc/fonts/fontawesome5/README.md details="Readme"
RELOC/doc/fonts/fontawesome5/fontawesome5.pdf details="Package documentation"
RELOC/doc/fonts/fontawesome5/fontawesome5.tex
RELOC/doc/fonts/fontawesome5/fulllist.tex
-runfiles size=325
+runfiles size=330
RELOC/fonts/enc/dvips/fontawesome5/fa5brands0.enc
RELOC/fonts/enc/dvips/fontawesome5/fa5brands1.enc
RELOC/fonts/enc/dvips/fontawesome5/fa5free0.enc
@@ -121629,7 +121633,7 @@ catalogue-also fontawesome
catalogue-ctan /fonts/fontawesome5
catalogue-license ofl lppl1.3c
catalogue-topics font font-supp-symbol font-symbol font-otf font-type1
-catalogue-version 5.13.0
+catalogue-version 5.15.3
name fontaxes
category Package
@@ -138179,7 +138183,7 @@ catalogue-version 1.0b
name hyperref
category Package
-revision 58024
+revision 59478
shortdesc Extensive support for hypertext in LaTeX
relocated 1
longdesc The hyperref package is used to handle cross-referencing
@@ -138209,11 +138213,11 @@ depend rerunfilecheck
depend stringenc
depend url
depend zapfding
-containersize 91200
-containerchecksum 00c82f1b64272ee6fd3728e29edf8e399a08eb3ffb9fb4fb011f4d0caa38970a351c132fd7096954a32ce9c730d798ba606f59f0ad6bf1754e43462067dd6c49
-doccontainersize 3287788
-doccontainerchecksum 9005eb33d3f8b90199131eb2104fd961fd7d248c17c67af73162a0b90f0b90de1e5f5c79ffce59564f7d19e835765c59b385fb0e9e19ef4935f1de49655b03dc
-docfiles size=1046
+containersize 91220
+containerchecksum dd809761617e2a668d7ccc47af2e1d9b8b86c92e52d31f87af291b54176471c865a6bc1acb8e05dd6e731c58be5e155c34ffd265ac86381a86d87929882ab64f
+doccontainersize 3286972
+doccontainerchecksum 21627c338bd439ab7456b9955f7d520d1072bfaf5dbccfef5df62d52bdfcd09168962b563769ff021c112d67c249ca946326a88567688debb05c0cbe7155ade5
+docfiles size=1048
RELOC/doc/latex/hyperref/ChangeLog.txt
RELOC/doc/latex/hyperref/README.md details="Readme"
RELOC/doc/latex/hyperref/backref.pdf
@@ -138231,8 +138235,8 @@ docfiles size=1046
RELOC/doc/latex/hyperref/nameref.pdf
RELOC/doc/latex/hyperref/paper.pdf details="Paper on tagging and navigation" language="en"
RELOC/doc/latex/hyperref/slides.pdf
-srccontainersize 446744
-srccontainerchecksum be6c8585a89c5c17bc38704251c9800073784e0fdfce6441a14ab804e9de0b23cebfcd7ca94f366cdc12e37b20f571f68b309df483691ebe3e065af4a7876f68
+srccontainersize 446784
+srccontainerchecksum 928c865f010fab191c2c91ab71516b2277db753262c8ba0faae162391953df208cac3b57f889abaf13cb218613cfc6c635a6ede76f0fbf7648582fe2ce767b11
srcfiles size=346
RELOC/source/latex/hyperref/backref.dtx
RELOC/source/latex/hyperref/bmhydoc.sty
@@ -138278,7 +138282,7 @@ catalogue-contact-home https://github.com/latex3/hyperref
catalogue-ctan /macros/latex/contrib/hyperref
catalogue-license lppl1.3
catalogue-topics hyper pdf-feat adobe-distiller form-fillin
-catalogue-version 7.00k
+catalogue-version 7.00l
name hyperxmp
category Package
@@ -155680,6 +155684,38 @@ catalogue-license lppl1.3
catalogue-topics dissertation class
catalogue-version 1.0
+name kdpbook
+category Package
+revision 59471
+relocated 1
+depend anyfontsize
+depend geometry
+depend graphics
+depend microtype
+depend pgf
+depend setspace
+depend textpos
+depend tools
+depend xcolor
+depend xifthen
+depend xkeyval
+containersize 2304
+containerchecksum d2b596a10c357ea79e141c3984a0e3657c340a7ddebe7fe15267d201862a98dd3d0b3312672d568aaddb2a7d3d847028d0bce8413f4360f2da9cb2436d935697
+doccontainersize 112072
+doccontainerchecksum 84b341b30b81d59113edba3e17423a2562744ba19d2085327ba82755db12cd641500e5c74f7d7bb69afd3217cf8cc9b1df74e8d62ba3b9153dae81b65e7cbafb
+docfiles size=40
+ RELOC/doc/latex/kdpbook/DEPENDS.txt
+ RELOC/doc/latex/kdpbook/README.md
+ RELOC/doc/latex/kdpbook/images/signature.pdf
+ RELOC/doc/latex/kdpbook/images/volume-1.pdf
+ RELOC/doc/latex/kdpbook/images/volume-2.pdf
+ RELOC/doc/latex/kdpbook/images/volume-3.pdf
+ RELOC/doc/latex/kdpbook/images/volume-4.pdf
+ RELOC/doc/latex/kdpbook/kdpcover.pdf
+ RELOC/doc/latex/kdpbook/kdpcover.tex
+runfiles size=2
+ RELOC/tex/latex/kdpbook/kdpcover.cls
+
name kerkis
category Package
revision 56271
@@ -163631,18 +163667,18 @@ catalogue-version 2021-06-01
name latex-amsmath-dev
category Package
-revision 56791
+revision 59474
shortdesc Development pre-release of the LaTeX amsmath bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX amsmath
longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 30636
-containerchecksum 53089df5f54a43f8e6e4835df89824ebbc7ba53d54a96dcb3419be22fb8151337d5b03dec8db095a808135e83de9739f8dd314befb52d3f3340a7f82d8b0d0da
-doccontainersize 2351488
-doccontainerchecksum ec111f9ae7c306c4a028ece6edd89b205a47d05d82ad9872235ce189354cdb2415f64a401c150327dd6cbb1b84d0ca495236b733000213f7fc9865a9baceb8df
-docfiles size=667
+containersize 30616
+containerchecksum e3f3efd3cb70217c84fe2c927716d42ded9e7ba6577d0e26ed18de3e69f96613f896e310f4ef44d94c2657b4735546393df051c309a70a7c11d0435293f3e18d
+doccontainersize 2393900
+doccontainerchecksum 20d7223d1b4fffd8f492d22b445ba24c8d73bf27ca4c9c2481d43ba01966a2bb00d0f2a77c4464f5060175b800da030ef2b24d97666ab0e691a4194966afb760
+docfiles size=710
RELOC/doc/latex-dev/amsmath/README.md details="Readme"
RELOC/doc/latex-dev/amsmath/ams-external.txt
RELOC/doc/latex-dev/amsmath/ams-internal.txt
@@ -163664,8 +163700,8 @@ docfiles size=667
RELOC/doc/latex-dev/amsmath/technote.tex
RELOC/doc/latex-dev/amsmath/testmath.pdf details="Examples paper" language="en"
RELOC/doc/latex-dev/amsmath/testmath.tex
-srccontainersize 65376
-srccontainerchecksum 13564f9aa92a5e6577caacd4c912ba7b8ac1da004092dd911bc311818689b9cccdff8c5b9e6ae9fb3cbac4cfb0eca0a008d83603a0e793739f02cf4cecd307cb
+srccontainersize 65464
+srccontainerchecksum c1868cdbd13803f07c2cff91b98efd9be4c7f08560e1a662e9879982769d852ec06c347a18f04a9d18e850c15e06ced955d5d1337533a88390dc651dbea924de
srcfiles size=81
RELOC/source/latex-dev/amsmath/amsbsy.dtx
RELOC/source/latex-dev/amsmath/amsbsy.ins
@@ -163694,11 +163730,11 @@ runfiles size=70
catalogue-ctan /macros/latex-dev/required/amsmath
catalogue-license lppl1.3c
catalogue-topics maths
-catalogue-version 2021-05-01 pre-release 0
+catalogue-version 2021-12-01 pre-release 0
name latex-base-dev
category Package
-revision 59080
+revision 59474
shortdesc Development pre-release of the LaTeX kernel
relocated 1
longdesc This package provides a testing release for upcoming LaTeX2e
@@ -163708,11 +163744,11 @@ longdesc users is required by adding these changes to the release LaTeX
longdesc kernel. Typically, the code here will be used by a TeX system
longdesc to create dedicated formats, for example pdflatex-dev, which
longdesc can then be used explicitly for testing.
-containersize 215440
-containerchecksum 49b883fe2a4e048c2dbc730ac67c2b9566161ca36d1bce5af87114f8e47df6c6635fe86c2d82e8083af4e93d50e7c1cf16ce4beeb822da38f0a4cbec36ba2a6e
-doccontainersize 27216200
-doccontainerchecksum 3bd64f94d9a8c045735ef3d3f04cdd553fa1d60151e01ab6e1736e8e0109ae30681bc90ff33ba8c4d0b9fe52945a36fafb237ae1de6c87a69403769167e150af
-docfiles size=8572
+containersize 215404
+containerchecksum 45020da589fc42d8a80be76c914724757cc9312a7bee821bfe1bdb54a975583904b01c45fa9dd4d46db962877204a7ace68500b98ce61a8ce75acbb498aa6bb4
+doccontainersize 27578780
+doccontainerchecksum dbcceb31dacbd2ccfe41717a6d397c6e3ef376db46b765abe7daa93fbdf2296c9bf59cfe5263a0f42311180c4bbfaa25825d3d4b6eae475463e82668019dcd89
+docfiles size=8668
RELOC/doc/latex-dev/base/README.md details="Readme"
RELOC/doc/latex-dev/base/alltt.pdf
RELOC/doc/latex-dev/base/bugs.txt
@@ -163869,9 +163905,9 @@ docfiles size=8572
RELOC/doc/latex-dev/base/utf8ienc.pdf
RELOC/doc/latex-dev/base/webcomp.err
RELOC/doc/latex-dev/base/webcomp.pdf
-srccontainersize 665048
-srccontainerchecksum 89387b87aa7116f8bc04116b20dd487855bc63859db0b886694b7abe42e0a7540b92ff0fca8fc5a1a409513fec1120ebd7800247949d05421920996853bb1b3f
-srcfiles size=974
+srccontainersize 665232
+srccontainerchecksum f1793eaf5d4fa40e795fa8d62d17d90325540016b8500d7606f66151583094634543787c75e335a3a27426ddca2ea530618276a00887ec462ec96241d7236479
+srcfiles size=973
RELOC/source/latex-dev/base/alltt.dtx
RELOC/source/latex-dev/base/alltt.ins
RELOC/source/latex-dev/base/classes.dtx
@@ -163973,7 +164009,7 @@ srcfiles size=974
RELOC/source/latex-dev/base/tulm.ins
RELOC/source/latex-dev/base/unpack.ins
RELOC/source/latex-dev/base/utf8ienc.dtx
-runfiles size=598
+runfiles size=596
RELOC/tex/latex-dev/base/alltt.sty
RELOC/tex/latex-dev/base/ansinew.def
RELOC/tex/latex-dev/base/applemac.def
@@ -164141,7 +164177,7 @@ catalogue-also latex-base
catalogue-ctan /macros/latex-dev/base
catalogue-license lppl1.3c
catalogue-topics format class
-catalogue-version 2021-06-01 pre-release 3
+catalogue-version 2021-12-01 pre-release 0
name latex-bin
category TLCore
@@ -164729,34 +164765,34 @@ catalogue-topics latex-doc
name latex-firstaid-dev
category Package
-revision 57981
+revision 59474
shortdesc Development pre-release of the LaTeX firstaid package
relocated 1
longdesc This is a pre-release version of the standard LaTeX firstaid
longdesc package. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 2344
-containerchecksum d15e218f16cef0e7ae518ee567d9d3912b20e1e62781f0aea4d167b1922ad28b5ce946609fd2f2a9e3c2671f096a0e34c0f88d30877dfee466ac37130cf20a18
-doccontainersize 219328
-doccontainerchecksum 870a42973a33fccdca2c176071bb5dc9f52f29c69fbe41633f75097b3b42e63db0185697ac0bbeb487eed0bc35df61507a934f2ab47c413970fa6ee1eeda73e1
-docfiles size=57
+containersize 2468
+containerchecksum a932feb2d3266db1c0fd6c69e8a31a79e7de7b3bcfe0325c4cfc6ac8ec30510724db999abd1fdfc74cd4d280a386c0efeee8ee79d7b771ad92cad9c41528f1bb
+doccontainersize 223000
+doccontainerchecksum be2f39a62b59efd74db39601595e951e0973638e70b3570ef3c18cb9d7c459bf4adf1086b18aa9886d41a49acbf1abe333eef195eb8f42d5e96716083fa52ea3
+docfiles size=58
RELOC/doc/latex-dev/firstaid/README.md details="Readme"
RELOC/doc/latex-dev/firstaid/changes.txt
RELOC/doc/latex-dev/firstaid/latex2e-first-aid-for-external-files.pdf details="Package documentation"
-srccontainersize 6076
-srccontainerchecksum d9b97a9c8b659ef4a4ff3a67a4593bf95bf5d01917b0c550017a4a2085d5acb127a1028920d4bee04a7b00c34219f001afbdf8b34c51a0b04bcca2e2c70fc3bc
+srccontainersize 6552
+srccontainerchecksum db57b2b9f36d4163e69aff6c2d3baf64178cb322b36b2ec4fbee3dc87a1c83e559e369c594e72c5b9dfe8ec5ef1c8c4f225457d59fa0189932145262ea004ddc
srcfiles size=6
RELOC/source/latex-dev/firstaid/firstaid.ins
RELOC/source/latex-dev/firstaid/latex2e-first-aid-for-external-files.dtx
-runfiles size=3
+runfiles size=4
RELOC/tex/latex-dev/firstaid/everysel-ltx.sty
RELOC/tex/latex-dev/firstaid/filehook-ltx.sty
RELOC/tex/latex-dev/firstaid/latex2e-first-aid-for-external-files.ltx
catalogue-ctan /macros/latex-dev/required/firstaid
catalogue-license lppl1.3c
catalogue-topics format bugfix
-catalogue-version 1.0k
+catalogue-version 1.0l
name latex-fonts
category Package
@@ -165465,7 +165501,7 @@ catalogue-topics book-ex
name latex-graphics-dev
category Package
-revision 59080
+revision 59474
shortdesc Development pre-release of the LaTeX graphics bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX graphics
@@ -165473,10 +165509,10 @@ longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
depend graphics-cfg
-containersize 15148
-containerchecksum 5a68637707e35fd7567bfd19d7053a07b5b14bca6da5d8ba021d3c802ab74d693b4586e1da0793ab0facf4757d5512651b8111dfc0665cea66066b121b6a0588
-doccontainersize 2028260
-doccontainerchecksum 138df1c018b519e4f4463dacd158735d8de58fcf54e97e586899d49fd6ba60f5d1b53d92526cc812d85da74537c09d1fe3268a8c2515c9e12ccc918ce399ed67
+containersize 15152
+containerchecksum 58e6b9a8ab54d77128b4a98edc5de2561fbce03014dc0b316fa77f44bda83fd90610b05d60cb6bb840472fc753ebb0501db9e6ac83a88a70b3db58b2e137e1e9
+doccontainersize 2028000
+doccontainerchecksum dd187c0186d89940e59dbe4b5272091f20114eaa06626af3fd712a283b56ec27f2aa2f5d2470526d5ab9ef0d64eb424c6dcd0904660ee1a66f2fd87e09b3125c
docfiles size=669
RELOC/doc/latex-dev/graphics/README.md details="Readme"
RELOC/doc/latex-dev/graphics/cat.eps
@@ -165494,8 +165530,8 @@ docfiles size=669
RELOC/doc/latex-dev/graphics/rotex.pdf
RELOC/doc/latex-dev/graphics/rotex.tex
RELOC/doc/latex-dev/graphics/trig.pdf
-srccontainersize 52252
-srccontainerchecksum 63386bb2d2ca9c8153e770efda87777e589bf94093f1d81abea91945156bb173ca974fa3799cb0fa1151e722265675e11a880ae6a70c74a18d0ef74db836cfae
+srccontainersize 52256
+srccontainerchecksum 4c3b5c4312e83530bafdec92749cd2124594b8bbbe0bfee148525ade8514180772a3d8158aa50d6d8435e904db399ecdd73268b4d58ce2be51d0e30c680640b0
srcfiles size=65
RELOC/source/latex-dev/graphics/color.dtx
RELOC/source/latex-dev/graphics/drivers.dtx
@@ -165533,7 +165569,7 @@ catalogue-also latex-graphics
catalogue-ctan /macros/latex-dev/required/graphics
catalogue-license lppl1.3c
catalogue-topics graphics collection
-catalogue-version 2021-06-01 pre-release 1
+catalogue-version 2021-12-01 pre-release 0
name latex-make
category Package
@@ -165890,17 +165926,17 @@ catalogue-version 1.2
name latex-tools-dev
category Package
-revision 59080
+revision 59474
shortdesc Development pre-release of the LaTeX tools bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX tools
longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 42452
-containerchecksum c99eb52581a1407268fe124d1a33ba6dc6b9bc431f79a17a8a7d5d34c99a81248d7826cf8043ab2230fe6f2a019984f5165ca2a8b8325d616f960c06d85f683e
-doccontainersize 5280832
-doccontainerchecksum f3b0cb91bd4cd95de31f52518f8be5fdb6693fd5f0c6b00d5891521745251bfe352641c3a83cd4d7e47a6191736afff1e6ceab9ea6a5824f8433b8f9c72c80d1
+containersize 42460
+containerchecksum 144aea9d30cb306614f3f8c250231acf17e4e6fc85c1b449388ab0c9d7b35488d5bb9604dd8a155028de8035a109ab430e8164eb334fa512511315c6eb68f38d
+doccontainersize 5281220
+doccontainerchecksum d46406c9651a6aa4cdd4a7fd0d7a27c18f55fcb0d4c5bbbaf62d70c2096e0050171e7b5788d06d5e0f6c7a8e0acae841052d5300cc4551f04f522f1c1b96f1a0
docfiles size=1774
RELOC/doc/latex-dev/tools/README.md details="Readme"
RELOC/doc/latex-dev/tools/afterpage.pdf
@@ -165933,8 +165969,8 @@ docfiles size=1774
RELOC/doc/latex-dev/tools/verbatim.pdf
RELOC/doc/latex-dev/tools/xr.pdf
RELOC/doc/latex-dev/tools/xspace.pdf
-srccontainersize 227844
-srccontainerchecksum cc88af3474e6ed454b7c6b967aaf74c428a1575620a8dd4abe0979b8b65bccafd94b5862a75143412581a88d69692dcbd5d534191a5de13b6309950beebe3653
+srccontainersize 227880
+srccontainerchecksum fedefaad8921f18cccdf613a4e28fe63b0752bf9000618c1589c61b78babc7fd77b3dc1b36e867a60840bd9f69c8b5a97731e7a794671758b392d5e70ed3a4d4
srcfiles size=269
RELOC/source/latex-dev/tools/afterpage.dtx
RELOC/source/latex-dev/tools/afterpage.ins
@@ -166018,7 +166054,7 @@ runfiles size=110
catalogue-ctan /macros/latex-dev/required/tools
catalogue-license lppl1.3c
catalogue-topics collection
-catalogue-version 2021-06-01 pre-release 2
+catalogue-version 2021-12-01 pre-release 0
name latex-uni8
category Package
@@ -214304,7 +214340,7 @@ catalogue-topics font font-type1 font-decor
name nicematrix
category Package
-revision 59105
+revision 59479
shortdesc Improve the typesetting of mathematical matrices with PGF
relocated 1
longdesc This package is based on the package array. It creates PGF/TikZ
@@ -214316,17 +214352,17 @@ longdesc border matrices); control of the width of the columns; tools to
longdesc color rows and columns with a good PDF result; blocks of cells;
longdesc etc. The package requires and loads l3keys2e, xparse, array,
longdesc amsmath, pgfcore, and the module shapes of PGF.
-containersize 29296
-containerchecksum b0b2150e1971df7bdab1925a7f69a8d4a3a1a7828bfed2f15f35475ee7c38f3f0e3ef0c63c0c0818327118f7ce5f799984bf0bb170d793e5004d7b848faa20d6
-doccontainersize 1680940
-doccontainerchecksum 054a79e2233a88d0df6ee47ad5a1ec0581d65b1f8ab7aa9659238b8d6ee468e5b14bdd0e3e8411e2a98da51fd05b88b95bff2ada20ce18867abf5fc1ed77abd7
-docfiles size=460
+containersize 29472
+containerchecksum a0783bc0e37bacf086cdb9b7f116a0be18fe82a76e0dda5cee0ce0644809a82f2b513a4e8eb12c5c14e9c7767db872984393956153477e5cd6b5289a894811a9
+doccontainersize 1733596
+doccontainerchecksum edad5c5237cba4b98badafa7f579130de86448fd741a36b9b238042c1aee1bafe7edb80ffc211adb5872c5bb9c8c70899c34ddb5620fe58fecf8c1ddfbbb8276
+docfiles size=474
RELOC/doc/latex/nicematrix/README.md details="Readme"
RELOC/doc/latex/nicematrix/nicematrix-french.pdf details="Package documentation in French" language="fr"
RELOC/doc/latex/nicematrix/nicematrix-french.tex
RELOC/doc/latex/nicematrix/nicematrix.pdf details="Package documentation"
-srccontainersize 99100
-srccontainerchecksum 0f7b0d7467d5c11e8be0dbe692c5da98244042f14bd4290a8b8db6465753bfc482976bc316d875fe177bab343e8c5a4778be9ac58f13c7b10302be7d039b6ed9
+srccontainersize 98768
+srccontainerchecksum 656c69deb3d62610fd37c94e190f4449abd44595bea2da3e6404890847caec03ce2843cb3208e370568479b00b5cb7d9c592af269df76f91594152c12ae06956
srcfiles size=150
RELOC/source/latex/nicematrix/nicematrix.dtx
RELOC/source/latex/nicematrix/nicematrix.ins
@@ -214335,7 +214371,7 @@ runfiles size=65
catalogue-ctan /macros/latex/contrib/nicematrix
catalogue-license lppl1.3
catalogue-topics maths matrix pgf-tikz expl3
-catalogue-version 5.15a
+catalogue-version 5.15b
name nicetext
category Package
@@ -244931,7 +244967,7 @@ catalogue-version 0.1
name platex
category Package
-revision 59404
+revision 59463
shortdesc pLaTeX2e and miscellaneous macros for pTeX
longdesc The bundle provides pLaTeX2e and miscellaneous macros for pTeX
longdesc and e-pTeX. This is a community edition forked from the
@@ -244957,10 +244993,10 @@ depend tex-ini-files
depend unicode-data
execute AddFormat name=platex engine=eptex options="*platex.ini" patterns=language.dat fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,ptex-fonts,latex
execute AddFormat name=platex-dev engine=eptex options="*platex.ini" patterns=language.dat fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,ptex-fonts,l3kernel,latex-base-dev,latex-firstaid-dev
-containersize 41740
-containerchecksum 247b5f600008e9d423a61528c7ccdeebca80477fd6ac419ecb4a359c134ff1dfeb1c51ddd2283b34d0b3cbd819226d90fad23b63ccb132143ac57c063c6f3b35
-doccontainersize 1497880
-doccontainerchecksum 9c7419dfcf1e0b09b02985a34db22da1dc4ff2573b76c6c75bec6247a1c5954c01e60b29a6510d6801168ed62e993c9e50e89b98e6d49c2475546df5f4b50e64
+containersize 41892
+containerchecksum 3664c7f535d3c49c17d999739445f22cad30660f71ac551fbe15b1fc83c575205b68f5d2174487b930c7f6b51674b20430ca8e939659a995a0da213836aca3c8
+doccontainersize 1500636
+doccontainerchecksum feee2678026365ab79186100cbd90b367cf9391f179e7021b56b3656caf42a9501d923208b9a9d28307c845124b9da6a8bfee713394633fb67c85c355c6bb0ef
docfiles size=383
texmf-dist/doc/man/man1/platex.1
texmf-dist/doc/man/man1/platex.man1.pdf
@@ -244971,9 +245007,9 @@ docfiles size=383
texmf-dist/doc/platex/base/platex.pdf details="Package documentation" language="ja"
texmf-dist/doc/platex/base/platexrelease.pdf
texmf-dist/doc/platex/base/pldoc.pdf
-srccontainersize 137796
-srccontainerchecksum 648e762f9716df28d621a37c4e7fe98c5bc5cafd0ef570b909a92439c5c6b0f0a65c44dc21ab07f3dcd3e89af4c7985c92f363bef01cd69ca3ee5c3646371d93
-srcfiles size=213
+srccontainersize 138780
+srccontainerchecksum c180e894dd137375b49129991bcb9bbdc6870a8935045f410fdc9e285fdb9f7367944806f49001baf74ab307322e26990732e53a5836c0df0646bacf40114a30
+srcfiles size=214
texmf-dist/source/platex/base/Makefile
texmf-dist/source/platex/base/jclasses.dtx
texmf-dist/source/platex/base/jltxdoc.dtx
@@ -245013,6 +245049,7 @@ srcfiles size=213
texmf-dist/source/platex/base/plnewsc13.tex
texmf-dist/source/platex/base/plnewsc14.tex
texmf-dist/source/platex/base/plnewsc15.tex
+ texmf-dist/source/platex/base/plnewsc16.tex
texmf-dist/source/platex/base/plvers.dtx
runfiles size=168
texmf-dist/tex/platex/base/exppl2e.sty
@@ -250396,7 +250433,7 @@ catalogue-version 1.1
name profcollege
category Package
-revision 59217
+revision 59480
shortdesc A LaTeX package for French maths teachers in college
relocated 1
longdesc This package provides some commands to help French mathematics
@@ -250406,15 +250443,15 @@ longdesc \Pythagore{ABC}{5}{7} to write the entire calculation of AC
longdesc with the Pythagorean theorem, \Trigo[Cosinus]{ABC}{3}{}{60} to
longdesc write the entire calculation of AC with cosine, ... and some
longdesc others.
-containersize 85416
-containerchecksum d249524a70d6557ea1acc82000cd7f55c8c77b1171c48a71e6969e1dc92696dd0f03c6a3d0c98dfdc8a26083722f27af3ea3abc2d833c8d064f30ad0554e8c46
-doccontainersize 3917560
-doccontainerchecksum 062653aa9533a8b889c509b90430913f69a7cede677e38c555d5d38b8150a3c2d2b3d0616274f1c2bedd73a6303fe017a9286aaaf88655a5979359425e30a4c4
-docfiles size=1091
+containersize 87672
+containerchecksum 1c64f5056ae1bc9f596e82c779b37a43d06ed365440ff7ad9ae8f2f5f4c55df7fdb29913bf6a143b38355fdcd00b3aba3a26442349e6ec3986d981d745e9fdb2
+doccontainersize 3921740
+doccontainerchecksum 41d66bf9098e4112338d4c6bd1677b51eda772f207fbfdbac015406e66daff8286b5f24337c6d502c711153102568c8a2eca074fe6ed12e351bf47319d31540b
+docfiles size=1093
RELOC/doc/latex/profcollege/ProfCollege-doc.pdf details="Package documentation" language="fr"
RELOC/doc/latex/profcollege/ProfCollege-doc.zip
RELOC/doc/latex/profcollege/README details="Readme"
-runfiles size=238
+runfiles size=244
RELOC/metapost/profcollege/PfCAfficheur.mp
RELOC/metapost/profcollege/PfCCalculatrice.mp
RELOC/metapost/profcollege/PfCConstantes.mp
@@ -250433,7 +250470,7 @@ runfiles size=238
catalogue-ctan /macros/latex/contrib/profcollege
catalogue-license lppl1.3c
catalogue-topics maths french teaching
-catalogue-version 0.99-b
+catalogue-version 0.99-d
name program
category Package
@@ -258066,24 +258103,24 @@ catalogue-version 4.6.2
name pxbase
category Package
-revision 59315
+revision 59473
shortdesc Tools for use with (u)pLaTeX
relocated 1
longdesc The main purpose of this package is to provide auxiliary
longdesc functions which are utilized by other packages created by the
longdesc same author. It also provides a few user commands to assist in
longdesc creating Japanese documents using (u)pLaTeX.
-containersize 12068
-containerchecksum 08cb0379315a9bc3075d69a581795099fe0f6eec1ea49fee062a117181a2dda5d255596517ac307c78304763ef2546655e996af2e945123822ca67d1f2f3968b
-doccontainersize 145104
-doccontainerchecksum d9d96f023681d3f984badf2615bb7f9df4b2a097cc144cc60445406cfc1d37df8a07588de87794f77a97775fd01b7ed4730912b00e732a165132438f7fb25e06
-docfiles size=44
+containersize 12356
+containerchecksum a75c8932fc56c11e4afeaf30c91ad6c67622df8eb93b0700257472c22a7de6ee7732be8a67d1d53f1e21138bfecc64cbc6e8d8800c08ee1c5cbeb7bab637df4d
+doccontainersize 161900
+doccontainerchecksum 4421d659294e02b2d0268a4b0d56b037c321c69abc856bb00917b61b79bf78462fb4a5c9c8616d773e7267137de0f6af88cef02dcb661259c7ed7247317f7aab
+docfiles size=49
RELOC/doc/platex/pxbase/LICENSE
RELOC/doc/platex/pxbase/README-ja.md details="Readme (Japanese)" language="ja"
RELOC/doc/platex/pxbase/README.md details="Readme"
RELOC/doc/platex/pxbase/pxbabel.pdf
RELOC/doc/platex/pxbase/pxbabel.tex
-runfiles size=17
+runfiles size=18
RELOC/tex/platex/pxbase/pxbabel.sty
RELOC/tex/platex/pxbase/pxbase.def
RELOC/tex/platex/pxbase/pxbase.sty
@@ -258096,7 +258133,7 @@ catalogue-contact-home https://github.com/zr-tex8r/PXbase
catalogue-ctan /language/japanese/pxbase
catalogue-license mit
catalogue-topics japanese
-catalogue-version 1.2
+catalogue-version 1.3
name pxchfon
category Package
@@ -274248,7 +274285,7 @@ catalogue-version 1.0
name siunitx
category Package
-revision 59437
+revision 59464
shortdesc A comprehensive (SI) units package
relocated 1
longdesc Typesetting values with units requires care to ensure that the
@@ -274273,18 +274310,18 @@ longdesc The package relies on LaTeX 3 support from the l3kernel and
longdesc l3packages bundles.
depend l3kernel
depend l3packages
-containersize 60808
-containerchecksum 2eded63e982bb2e54d8ae6c155049778e1e4b2e57172f7440c53df99d4bd38b0182d847f08b5b7a2b88d0f2a394fef30d381ddcea50e20ae4832176bced68fe8
-doccontainersize 2391164
-doccontainerchecksum af8023d3bc0d34e73a6a42a5223efdcc74113bb2c21bb3f4eb5f36925d28c33cc196aa6982b2082ddc1f7cce4b8906067ae51a80797b2684f33e04e2e01dcf89
-docfiles size=632
+containersize 60832
+containerchecksum 0f7bbbee8e269110f77e167dcd15645eafc50d572058e0655441d423b6fad1d497eb13727ad996be6c4d231ca13de9bd4716f068e97efa0659455783c7417e5d
+doccontainersize 2414300
+doccontainerchecksum ce9e857ea0fce11dc67dc128cf3015ba0f66fb8fdbd63179a871880a62afd569a741ddef8b3487f4a29d4997f311a84c08098fa5e99c0d2af32c4ab4152fca28
+docfiles size=646
RELOC/doc/latex/siunitx/CHANGELOG.md
RELOC/doc/latex/siunitx/README.md details="Readme"
RELOC/doc/latex/siunitx/siunitx-code.pdf details="Code documentation"
RELOC/doc/latex/siunitx/siunitx-table.pdf
RELOC/doc/latex/siunitx/siunitx.pdf details="User manual"
-srccontainersize 104160
-srccontainerchecksum 111990ef48d9871dac3bb2380f3389ae559f573dc62eaf6413423450253dafb6be8ac874a31b93c1551c0c2c33f47313d72a44a915ada8ba00859b526e44ecca
+srccontainersize 104500
+srccontainerchecksum 57c71d35c6154e42812a218d0a3934b4ac006dedd8f49c678c58409366d8b8958757452a605ed03032fbd171550e55e18adb8a28fac011b520cf47287ac48661
srcfiles size=160
RELOC/source/latex/siunitx/siunitx-abbreviation.dtx
RELOC/source/latex/siunitx/siunitx-angle.dtx
@@ -274316,7 +274353,7 @@ catalogue-contact-repository https://github.com/josephwright/siunitx
catalogue-ctan /macros/latex/contrib/siunitx
catalogue-license lppl1.3c
catalogue-topics units scientific-docs expl3
-catalogue-version 3.0.9
+catalogue-version 3.0.10
name skak
category Package
@@ -284907,21 +284944,21 @@ catalogue-version 1.0a
name suftesi
category Package
-revision 59334
+revision 59481
shortdesc A document class for typesetting theses, books and articles
relocated 1
longdesc The class can be used to typeset any kind of book (originally
longdesc designed for use in the humanities).
-containersize 14828
-containerchecksum bfe0b60fc975597b73ffb1bc5d28463381c5692213b37428c4163eb80a13966d4052214ea237e3989da1085b978cde38b712ecc4cc70e6ede3931d1264f48afb
-doccontainersize 1031732
-doccontainerchecksum 6158000f99b0c6a586300c77c5db882d7a9c68dec4aff8008d27f595e04552f84a18181b5f040b8ac60b33d4defef77ba6740c3386afe8f2b61e5a65368eea1f
-docfiles size=373
+containersize 14812
+containerchecksum fa6db5918df008528f260dc75a33ec228e529595bf0ff4cdb7e336ac84cd7485302665c58fd845cc4316f2a35280907b4c9f643c8039e7b8fbeeb97be678e578
+doccontainersize 1040992
+doccontainerchecksum 7424482f897b8c77f7611e6f3af4dea52a0b0b49925dbf6db9c17079b0906a038d4b10d23f384f8480432ed7b84382a02e9a32ac85442fef16fee13dd885c900
+docfiles size=375
RELOC/doc/latex/suftesi/README details="Readme"
RELOC/doc/latex/suftesi/suftesi.pdf details="Package documentation" language="en"
RELOC/doc/latex/suftesi/templates.zip
-srccontainersize 42744
-srccontainerchecksum c02f91b0887ab7b48f1332574ef5074322d697ed7c8eeeef584ee3867845a528ad7c123115dd2f119af7741dc4c5c50418c4a73b6824f22add8aac92dceeb6d2
+srccontainersize 42784
+srccontainerchecksum 2c15995a032a911f65d3473c79056b55e0368aa903ac33ea462ea3fce1bb90f072403a10f3486ea39a6b54de0aeb3111e2d4d58671ea14d058e33414837b41cf
srcfiles size=57
RELOC/source/latex/suftesi/suftesi.dtx
runfiles size=25
@@ -284929,7 +284966,7 @@ runfiles size=25
catalogue-ctan /macros/latex/contrib/suftesi
catalogue-license lppl1.3
catalogue-topics class book-pub dissertation
-catalogue-version 3.1.1
+catalogue-version 3.1.2
name sugconf
category Package
@@ -287054,7 +287091,7 @@ catalogue-version 0.1
name tabularray
category Package
-revision 59349
+revision 59482
shortdesc Typeset tabulars and arrays with LaTeX3
relocated 1
longdesc LaTeX tables are implemented using TeX commands such as
@@ -287069,15 +287106,16 @@ longdesc typeset the entire table. Under the premise of being compatible
longdesc with the basic syntax of LaTeX2 tables, this macro package will
longdesc completely separate the content and style of the table, and the
longdesc style of the table can be completely set in keyval way.
-containersize 19188
-containerchecksum d38b96848673a583fbbea5c7769549bd79b8b06b9ac7d604352327818ace6cd1e73cc2b2f9dda7cc1d16feb986f736e2b7848a0c6f0c267d9b0ebe103c3b763d
-doccontainersize 343460
-doccontainerchecksum d9321921b3d4ed86d7f2c0f0c241a55e5e15caccad15427ef3679fa88ecebd53b7829016a98cc90249f7067e26f98a62993ccade85c2ad497717c3b023bf99f7
-docfiles size=105
+containersize 22316
+containerchecksum fbc797545d440c37b12193cb0b3d0ee7e970deb01c00b80d98ef0591ffc59ab01ddcbb28d6d8edf53313c3bd24abc4c87196effa5f920b8c258db74c9b1979fc
+doccontainersize 366924
+doccontainerchecksum fc6058428e8d51a018534ef60144683009ae190c9ddfdcc679d6d5b6e5a660ab87da7313bbf12b48afb3597784b5b04c656a7f26eaa60afb9fabd6bb9709eb76
+docfiles size=112
RELOC/doc/latex/tabularray/README details="Readme"
RELOC/doc/latex/tabularray/tabularray.pdf details="Package documentation"
RELOC/doc/latex/tabularray/tabularray.tex
-runfiles size=36
+runfiles size=75
+ RELOC/tex/latex/tabularray/tabularray-2021.sty
RELOC/tex/latex/tabularray/tabularray.sty
catalogue-contact-bugs https://github.com/lvjr/tabularray/issues
catalogue-contact-home https://lvjr.bitbucket.io/tabularray.html
@@ -287086,7 +287124,7 @@ catalogue-contact-support https://github.com/lvjr/tabularray/discussions
catalogue-ctan /macros/latex/contrib/tabularray
catalogue-license lppl1.3
catalogue-topics table expl3
-catalogue-version 2021J
+catalogue-version 2021K
name tabulary
category Package
@@ -299938,7 +299976,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 59443
+revision 59470
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -299946,10 +299984,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 107952
-containerchecksum 7e226de755a3fd30e977ab4d46d099dcef22bd485883127da7d471db9bcb1c9798326097a1f4b63a68487e293942158f0d6fc4effa3815d7cf4eb2052e8fff25
-doccontainersize 397652
-doccontainerchecksum 18545d6840d606c858297d230aeeb7568226372a68356ba416dcceac17f7bae3f977b959b0865d34e13738991ed1c0a54776a464e2f7dd858b9732ddbf033b16
+containersize 107992
+containerchecksum 7e7bcc2b78f069dc2746d7aa94c9bd0a4360a284b88282c6eb1070cf229a28df5cb78345e6f922567c3a1df7b3257b7cb4b531d8aa6407b11a03ed86604a04f0
+doccontainersize 397588
+doccontainerchecksum 479b8d1c90792c07ec755996ca0ed206c31d293a7567d08b531a856eeb8654632d0f330c84e29922bf81b9214a8b0c5364c43592ee40287e797438c1f43c1516
docfiles size=490
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -313338,7 +313376,7 @@ catalogue-version 2.142
name todonotes
category Package
-revision 58998
+revision 59465
shortdesc Marking things to do in a LaTeX document
relocated 1
longdesc The package lets the user mark things to do later, in a simple
@@ -313348,11 +313386,11 @@ depend pgf
depend tools
depend xcolor
depend xkeyval
-containersize 4760
-containerchecksum 949090dd8738c5a36e2040e25304d423847e94c1bdd7a45f51978bf085c1bd1dc9e274d53b8f671866e9a35d518193579a2c40fd66d3480ac25c9b17232451ee
-doccontainersize 431988
-doccontainerchecksum 8df01894218cd935bc0fb9b454caf041643bb716650379a11178dd2db6e3c0b20ddc534a06b4546fa8d12694122bc419c8417e98218940019a74ecfe42a51b77
-docfiles size=113
+containersize 4772
+containerchecksum 78f84bcaf613003f694dfaddff2631cfe34c081ec5aac576a267f99940abcca1c8c71dc801e8df295c585a4db06517e5cce4671aef4188b81feba4be1ed6eccb
+doccontainersize 443836
+doccontainerchecksum 89b61bb5630846a7cf739f39cc43a4e08890a4b0af06c884a60d9ac30068044c89cb99578aefe3b08c5761a412e524dacd79b028e69430d87ec17493b42ab7eb
+docfiles size=119
RELOC/doc/latex/todonotes/README details="Readme"
RELOC/doc/latex/todonotes/examples/alterAppearenceOfListOfTodos.pdf
RELOC/doc/latex/todonotes/examples/alterAppearenceOfListOfTodos.tex
@@ -313361,9 +313399,9 @@ docfiles size=113
RELOC/doc/latex/todonotes/examples/saveColorByUsingLayers.pdf
RELOC/doc/latex/todonotes/examples/saveColorByUsingLayers.tex
RELOC/doc/latex/todonotes/todonotes.pdf details="Package documentation"
-srccontainersize 18416
-srccontainerchecksum e46e9a2f7ec6fad3b455664e37ca2111b965255f7a81274834b4aadf9c930d116c20347b5b750adc0c5ef67b9928051ed5cb2182eeea131632acf54192a157ca
-srcfiles size=20
+srccontainersize 18812
+srccontainerchecksum e7bf0b61f1ce386b727f54288d1c6486fdb784fb7d7fe42e5a86f0815766df33881214579051c57325d6963fa7e073469ce488aeca816f7566275318e171fecc
+srcfiles size=21
RELOC/source/latex/todonotes/todonotes.dtx
RELOC/source/latex/todonotes/todonotes.ins
runfiles size=6
@@ -313374,7 +313412,7 @@ catalogue-contact-repository https://github.com/henrikmidtiby/todonotes
catalogue-ctan /macros/latex/contrib/todonotes
catalogue-license lppl1.3
catalogue-topics notes editorial
-catalogue-version 1.1.4
+catalogue-version 1.1.5
name tokcycle
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 312dd5e4f1..f3dcd6fc58 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-14b2a2f477a44592e32b2db9ffe0762c texlive.tlpdb
+965904a66568f3b489e16c9592665cf8 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 39c12e7b01..033510db6f 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-ec351353eb9452b104cffcd9cabf0c6e51c016e5ffaedd566684594ed459e0965f7c9bc261310effde145fee0423db67dc2bfab876471a2d3672d589baa8cba0 texlive.tlpdb
+a6fa6f40d6c7c87d022d2924a9bd1819e1a6b4188709faf1e8051d538b22c99a7d13f14b90f1511c3b28637c6766c98c371e992a22750e85acedeab3f225d426 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 9787347826..ba87d18dd4 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJguWusAAoJEEzhh34ZQ4xwxvgH/iq9tkkzcQliywUestRveUZN
-4pE7f6yUosF/IcYwi3TWT2n6dq1Ax99OEuSiXFWqCvnTkrJPw5X7V0IGZ7SYmzyR
-/fL39PvsBIWzbJdVnwnvHdtfpNQfAWFWLVDQasMj4vDpQRPWVM2025N/ANclSuc1
-h8tcjdZi1SgE0xLQx5FgO7Aaa4strxXI7pKFSZcGB/LOO2OR1aJgN/JnRd7zSUYI
-vLwXDwVn2aWwp91FR220NRU0ybOFRfw8qPK9cCxDqIHvLZO9woBtVvsRHdvIBTnP
-YQfuyYMP6GLm9tC2zb9GN5A6jlrlJyxD5Kuu/D4AmpwiQbxMTWwaSe5eSkpbp/c=
-=T1Q4
+iQEcBAEBCgAGBQJgvA6ZAAoJEEzhh34ZQ4xwQOYH/0CXNjkrT8yMOzYBlgp7cJ1q
+tnEDZl4iiRAM0tGo0bdvuVR9Am1r9QppUw88cgWV0Tfz4iNi9JgBiwNqEGbz0oTL
+djQZbA2dWmHCuUDgm9OUSiruJyp0fKEGX80PfqL2wZqBRGaBMKeoJWu6VXa8r4+y
+T4PDgW8k7+5zoYqS4jSWq2jU+bc0n2xy5VgBlhCiUv+Cgv93bLpU6M+zAUQx83NJ
+Rtnd5j1V8ws0HAbvZyqUNYbUlyiFN9rjxalMr94Xzo2ZGFurRVA4dqGuaSi00EWB
+NWF8xi/De5DUH/Hrro+zktDK2VfeqtdkygB0rySD2pQktQIXPM3N5NiTJW4L2yU=
+=2JXs
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index adf48b0788..90c2a70265 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/doc/miktex.pdf b/systems/win32/miktex/doc/miktex.pdf
index 2dbc4d80e9..c8992239fe 100644
--- a/systems/win32/miktex/doc/miktex.pdf
+++ b/systems/win32/miktex/doc/miktex.pdf
Binary files differ
diff --git a/systems/win32/miktex/setup/rpm/fedora-34.repo b/systems/win32/miktex/setup/rpm/fedora-34.repo
new file mode 100644
index 0000000000..625825760e
--- /dev/null
+++ b/systems/win32/miktex/setup/rpm/fedora-34.repo
@@ -0,0 +1,5 @@
+[miktex-fedora-34]
+name=MiKTeX Fedora 34
+baseurl=https://miktex.org/download/fedora/34/
+enabled=1
+gpgcheck=1
diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index 2027b9a294..00608fd2e9 100644
--- a/systems/win32/miktex/tm/packages/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma
index 8ded2e77e1..028bad87c4 100644
--- a/systems/win32/miktex/tm/packages/next/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/next/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 4b53288f14..83e93fabf8 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1622837710
+date=1622924095
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=e0ed4c6ce1aea09e01c06f229bc2abb0
-numpkg=4105
+lstdigest=f2f32a622c6988f3517be52b8fb81022
+numpkg=4115
relstate=next
-version=7825
+version=7826
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: wZqbwUYdb9drr8BUwN8tOskbDQN7+5gYui7Y3qXPLLB8X6BlJoWcUUvVnv/ix7tc8YZo3sB10V3EsOHFazU0eDxYB2WqMuRL1APMN1EUiaLBC+veDeYz9yBd60adzY/YEmJY11OCn/xkuxTVRLaJ5ILx6jS/+EznBzE5QNh9eTDsXXIsp+AvonrR3Pij/f9Qj1DjPTm8lmOOIoDnt3kHZ89s/UUoUPVP/hghAs01IwnfV1WQfTzHCctRjMXjA1YAdyUyE3piwcuy0ngia8IDZl5/1DLLRmDBmfL7+ZRiMX1dSehJPWCFmFrnCsTRcrpHtcML7g984dv8Rs0sM88C4g==
+;;;; signature/miktex: gjUb6Jtwtb7Hjoz1pr3lddys38O2I2g+YGuuuzYpJ3niJaq9CJySrmKtOAufRdzAnkNktT9Mgczi6ddQPWM1JBpVho26PG/siFfq2x6bU957np13rhAYFdkfBoppJ0lVzta3BzZjikGnbyf2rpN18lUvMyMsLgVFplvhTgpZhn+5cx9h5CWvnpl1dVMnSeHY6jt5vSjlgElm1EOLPYV86+zsRdgNWqA8YAh1SuXH5T6k5F3ibn+MAPSguqhW1KJ4WT2g3tCxnTYpDKX0udBGt3JfoKqdX97wUI9F9QmnE049g9RvDNCOnhRXjqGasaLw7qSYDPXrRII/xz4izF8cIA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 04a133e102..f820ffec88 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1622837520
-lastupd=bjfuthesis derivative dtk-bibliography easybook expkv expkv-cs newtx ocgx2 optex tex4ht tuda-ci uplatex amsmath babel biblatex-cv changes circuitikz graphics graphics-def hep-paper
-lstdigest=222f69237a6b43323c8c546621965917
-numpkg=4105
+date=1622923911
+lastupd=l3kernel l3kernel__doc l3kernel__source babel babel__doc babel__source ltxbase ltxbase__doc ltxbase__source aiaa__doc aiaa__source pst-geo__doc pst-geo__source aiaa acrotex easybook fontawesome miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9
+lstdigest=4fe104762199064671ab3e6064fc0e99
+numpkg=4115
relstate=stable
-version=7825
+version=7826
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: JFIJXnfsbyugSeK17tTSuxCqpH/wzvkEfThETTu5bLxBxlokVaAACAYsXc9S/it4cJiKeFTtl82IdcwELijZ0byFsRa5oPoiGLcITYh1T8d/O5HyMXh1BGPEfv+9aH2PSC10HocRqh2GoOtTBzYp/GLq6r2/WO6/+wMguVIVyZd43us4jj5TZ74c6pdovvM00QoUvmG+4Zq6eGyW0ZZZh3WPKCHfGLWlnfVbe2iDr2o6xAkNHbO5A5Kw/Ma9hC/pbFUZiqyougdTmgUABxLKzLKwzYb+T00uG1r/1bZjXNDCPYr/EZttOMJ30Mb/1z0OAbZSMlxKDAaInhO450xStw==
+;;;; signature/miktex: AHwXOZr4maXmfct6E4P1nBhOFNrM/ZAcsxruNSEY59Q7L3Bd7XzspyxRjZWQqijQZ6v0/jlfkzWvn7Dx6SVb0AO9VGLKLUolex61cqreHHTaFlxtK/2jsa1wil8DIdAwH8jaMNvJ8r+7zNe53PFo+kcYt4AMiuLfQ5NrSKQ32Yg2epnO4o/IVvsxaxhSKDIPSVY9tMEhBfbstrNKDU/2svPjGbDHnjnzWhHmzK+Iap0HR7GiCBVdYAsYrvSW+zX1r34JREqigUmWBHnKzGJ+fp9UOrJGCizdWMNrnIPzpBhhe58DnSbgFGNeBnRdgl+vKrHe4GyI7DddbmQg4YMvfw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index c847610e9c..a7ec86ad0d 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,33 @@
W32TeX (x86 & x64) ChangeLog
+[2021/06/05]
+(01) dvipdfm-w32.tar.xz
+ Update dvipdfmx.dll. Update a map file.
+(02) dvipsk-w32.tar.xz
+ Update a map file.
+(03) ltxpkgs.tar.xz
+ Update fontawesome5, siunitx and todonotes.
+(04) mftools.tar.xz
+ Update a map file.
+(05) platex.tar.xz
+ Update platex.
+(06) pdftex-w32.tar.xz
+ Update format files.
+(07) ptex-ng-w32.tar.xz
+ Update libdpx. Update format files.
+(08) ptex-w32.tar.xz
+ Update format files.
+(09) uptex-w32.tar.x
+ Update format files.
+(10) xetex-w32.tar.xz
+ Update dvipdfmx.dll.
+(11) win64/dvipdfm-w64.tar.xz
+ Update dvipdfmx.dll.
+(12) win64/ptex-ng-w64.tar.xz
+ Update libdpx.
+(13) win64/xetex-w64.tar.xz
+ Update dvipdfmx.dll.
+
[2021/06/04]
(01) latex-dev.tar.xz
Update format files.
diff --git a/timestamp b/timestamp
index c67f285579..752b0a74ab 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2021-06-05-02-02
+2021-06-06-02-02