summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-03-06 03:05:29 +0000
committerNorbert Preining <norbert@preining.info>2023-03-06 03:05:29 +0000
commit75cd005305bd2c2a0ec383f30ee5b1749ed15183 (patch)
tree65b5e6b912547ab4610badf5a7f61ce70e5aad02
parenta2d17a09f7ecd91acd8826216349bb14cc5602cd (diff)
CTAN sync 202303060305
-rw-r--r--FILES.byname477
-rw-r--r--FILES.byname.gzbin2515850 -> 2516373 bytes
-rw-r--r--FILES.last07days367
-rw-r--r--biblio/ctan-bibdata/ctan.bib56
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3655151 -> 3654593 bytes
-rw-r--r--graphics/pgf/contrib/causets/README.md4
-rw-r--r--graphics/pgf/contrib/causets/causet_tikz_example1.pdfbin18369 -> 19196 bytes
-rw-r--r--graphics/pgf/contrib/causets/causet_tikz_example1.tex6
-rw-r--r--graphics/pgf/contrib/causets/causets.pdfbin483657 -> 691844 bytes
-rw-r--r--graphics/pgf/contrib/causets/causets.sty376
-rw-r--r--graphics/pgf/contrib/causets/causets.tex591
-rw-r--r--graphics/pgf/contrib/outilsgeomtikz/README.md7
-rw-r--r--graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdfbin0 -> 383232 bytes
-rw-r--r--graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex792
-rw-r--r--graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty620
-rw-r--r--language/korean/pmhanguljamo/README.md2
-rw-r--r--language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdfbin214591 -> 220713 bytes
-rw-r--r--language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex48
-rw-r--r--language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdfbin696078 -> 722621 bytes
-rw-r--r--language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex98
-rw-r--r--language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex97
-rw-r--r--language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty21
-rw-r--r--language/korean/pmhanguljamo/tex/pmhanguljamo.sty11
-rw-r--r--macros/jptex/latex/jlreq/README-ja.md2
-rw-r--r--macros/jptex/latex/jlreq/README.md2
-rw-r--r--macros/jptex/latex/jlreq/jlreq-ja.pdfbin376976 -> 377049 bytes
-rw-r--r--macros/jptex/latex/jlreq/jlreq.cls4
-rw-r--r--macros/jptex/latex/jlreq/jlreq.pdfbin120615 -> 120674 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md26
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty4
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty5
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty19
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty4
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty18
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-sans.gifbin203366 -> 0 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-serif.gifbin215467 -> 0 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex2
-rw-r--r--macros/latex/contrib/mismath/mismath.dtx47
-rw-r--r--macros/latex/contrib/mismath/mismath.pdfbin269532 -> 269577 bytes
-rw-r--r--macros/latex/contrib/opencolor/README.md12
-rw-r--r--macros/latex/contrib/opencolor/demo-opencolor.pdfbin15089 -> 15089 bytes
-rw-r--r--macros/latex/contrib/opencolor/demo-opencolor.tex2
-rw-r--r--macros/latex/contrib/opencolor/opencolor.sty4
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin9671406 -> 9020920 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty1257
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp426
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCScratch.mp2
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp2
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md13
-rw-r--r--macros/latex/contrib/siunitx/siunitx-abbreviation.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx-angle.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx-binary.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin620743 -> 641978 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.tex6
-rw-r--r--macros/latex/contrib/siunitx/siunitx-command.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx-complex.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx-compound.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx-emulation.dtx5
-rw-r--r--macros/latex/contrib/siunitx/siunitx-locale.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx216
-rw-r--r--macros/latex/contrib/siunitx/siunitx-print.dtx5
-rw-r--r--macros/latex/contrib/siunitx/siunitx-quantity.dtx5
-rw-r--r--macros/latex/contrib/siunitx/siunitx-symbol.dtx5
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx-unit.dtx5
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx7
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin667978 -> 691123 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex3
-rw-r--r--macros/texinfo/latest/texinfo.tex232
-rw-r--r--macros/unicodetex/latex/bithesis/bithesis.dtx51
-rw-r--r--macros/unicodetex/latex/bithesis/bithesis.pdfbin1077517 -> 1078223 bytes
-rw-r--r--macros/xetex/latex/xduts/xduts.dtx118
-rw-r--r--macros/xetex/latex/xduts/xduts.pdfbin331677 -> 332770 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl3
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb121
-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.xzbin2451152 -> 2451060 bytes
-rw-r--r--systems/win32/TLW64/00README.TLW6472
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin753890 -> 753990 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin753924 -> 754043 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--timestamp2
85 files changed, 4954 insertions, 1422 deletions
diff --git a/FILES.byname b/FILES.byname
index 353362db86..5fd9448e35 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2048,12 +2048,12 @@
2022/12/25 | 1673 | biblio/citation-style-language/README.md
2022/12/25 | 11958 | biblio/citation-style-language/vancouver.csl
2022/12/25 | 604004 | biblio/citation-style-language.zip
-2023/03/04 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/03/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/03/04 | 2767812 | biblio/ctan-bibdata/ctan.bib
-2023/03/04 | 3654349 | biblio/ctan-bibdata/ctan.pdf
+2023/03/05 | 2767821 | biblio/ctan-bibdata/ctan.bib
+2023/03/05 | 3655151 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/03/04 | 4051001 | biblio/ctan-bibdata.zip
+2023/03/05 | 4051194 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5409,7 +5409,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
-2023/03/04 | 115677 | FILES.last07days
+2023/03/05 | 57538 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -158894,15 +158894,15 @@
2021/07/14 | 1803 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-terms.tex
2021/07/14 | 1758 | graphics/pgf/contrib/cartonaugh/test.sh
2021/07/15 | 178373 | graphics/pgf/contrib/cartonaugh.zip
-2022/05/22 | 483657 | graphics/pgf/contrib/causets/causets.pdf
-2022/05/22 | 24500 | graphics/pgf/contrib/causets/causets.sty
-2022/05/22 | 46696 | graphics/pgf/contrib/causets/causets.tex
-2022/05/21 | 18369 | graphics/pgf/contrib/causets/causet_tikz_example1.pdf
-2022/05/22 | 989 | graphics/pgf/contrib/causets/causet_tikz_example1.tex
+2023/03/05 | 691844 | graphics/pgf/contrib/causets/causets.pdf
+2023/03/05 | 26440 | graphics/pgf/contrib/causets/causets.sty
+2023/03/05 | 58215 | graphics/pgf/contrib/causets/causets.tex
+2023/02/14 | 19196 | graphics/pgf/contrib/causets/causet_tikz_example1.pdf
+2023/03/05 | 1037 | graphics/pgf/contrib/causets/causet_tikz_example1.tex
2022/05/22 | 54048 | graphics/pgf/contrib/causets/causet_tikz_example2.pdf
-2022/05/22 | 4156 | graphics/pgf/contrib/causets/causet_tikz_example2.tex
-2022/05/22 | 2251 | graphics/pgf/contrib/causets/README.md
-2022/05/22 | 564710 | graphics/pgf/contrib/causets.zip
+2023/03/05 | 4156 | graphics/pgf/contrib/causets/causet_tikz_example2.tex
+2023/03/05 | 2272 | graphics/pgf/contrib/causets/README.md
+2023/03/05 | 672163 | graphics/pgf/contrib/causets.zip
2016/02/19 | 330231 | graphics/pgf/contrib/celtic/celtic_code.pdf
2016/02/19 | 7452 | graphics/pgf/contrib/celtic/celtic_doc.tex
2016/02/19 | 35819 | graphics/pgf/contrib/celtic/celtic.dtx
@@ -159267,6 +159267,11 @@
2021/06/22 | 102511 | graphics/pgf/contrib/nndraw/nndraw.pdf
2021/06/22 | 1320 | graphics/pgf/contrib/nndraw/README
2021/06/22 | 105975 | graphics/pgf/contrib/nndraw.zip
+2023/03/05 | 383232 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf
+2023/03/05 | 30411 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex
+2023/03/02 | 414 | graphics/pgf/contrib/outilsgeomtikz/README.md
+2023/03/05 | 27489 | graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty
+2023/03/05 | 386782 | graphics/pgf/contrib/outilsgeomtikz.zip
2021/01/22 | 98018 | graphics/pgf/contrib/penrose/penrose_code.dtx
2021/01/22 | 464179 | graphics/pgf/contrib/penrose/penrose_code.pdf
2021/01/22 | 557513 | graphics/pgf/contrib/penrose/penrose.pdf
@@ -193252,7 +193257,7 @@
2022/12/13 | 1947187 | install/macros/generic/tracklang.tds.zip
2022/09/17 | 591247 | install/macros/generic/unicode-data.tds.zip
2022/06/11 | 4242531 | install/macros/generic/xint.tds.zip
-2022/11/27 | 10971100 | install/macros/jptex/latex/jlreq.tds.zip
+2023/03/05 | 10971317 | install/macros/jptex/latex/jlreq.tds.zip
2023/02/23 | 960455 | install/macros/jptex/latex/jsclasses.tds.zip
2023/02/26 | 2313728 | install/macros/jptex/latex/platex.tds.zip
2021/05/31 | 907477 | install/macros/jptex/latex/uplatex.tds.zip
@@ -193498,7 +193503,7 @@
2021/11/10 | 657160 | install/macros/latex/contrib/sdaps.tds.zip
2023/01/27 | 1454133 | install/macros/latex/contrib/se2thesis.tds.zip
2019/12/10 | 544332 | install/macros/latex/contrib/selinput.tds.zip
-2023/02/21 | 1520937 | install/macros/latex/contrib/siunitx.tds.zip
+2023/03/04 | 1564645 | install/macros/latex/contrib/siunitx.tds.zip
2019/10/15 | 315856 | install/macros/latex/contrib/skmath.tds.zip
2019/10/16 | 345652 | install/macros/latex/contrib/skrapport.tds.zip
2016/02/18 | 469004 | install/macros/latex/contrib/splitindex.tds.zip
@@ -198284,17 +198289,17 @@
2015/02/04 | 611539 | language/korean/kotex-utils/utf8.xdy
2015/10/27 | 148484 | language/korean/kotex-utils.zip
2022/09/07 | 143726 | language/korean/pmhanguljamo/doc/munjangganghwa.jpg
-2023/02/24 | 214591 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf
-2023/02/25 | 36974 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex
-2023/02/25 | 696078 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf
-2023/02/25 | 101668 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
-2023/02/24 | 1393 | language/korean/pmhanguljamo/README.md
+2023/03/05 | 220713 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf
+2023/03/05 | 37908 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex
+2023/03/05 | 722621 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf
+2023/03/05 | 105054 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
+2023/03/05 | 1393 | language/korean/pmhanguljamo/README.md
2023/02/25 | 3187 | language/korean/pmhanguljamo/tex/frkjamofull.data.tex
-2023/02/25 | 11514 | language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
-2023/02/24 | 804 | language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty
+2023/03/05 | 11559 | language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
+2023/03/05 | 1114 | language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty
2023/02/19 | 14271 | language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty
-2023/02/22 | 27021 | language/korean/pmhanguljamo/tex/pmhanguljamo.sty
-2023/02/25 | 1095955 | language/korean/pmhanguljamo.zip
+2023/03/05 | 27174 | language/korean/pmhanguljamo/tex/pmhanguljamo.sty
+2023/03/05 | 1129242 | language/korean/pmhanguljamo.zip
1995/12/03 | 220 | language/korean/README.CJK
2007/03/20 | 23023 | language/latin/latin.dtx
2000/09/26 | 2978 | language/latin/latin.ins
@@ -207611,23 +207616,23 @@
2023/02/23 | 1138582 | macros/jptex/latex/jlreq-deluxe.zip
2022/09/24 | 5662 | macros/jptex/latex/jlreq/jfm-jlreq-jidori.lua
2022/11/27 | 50951 | macros/jptex/latex/jlreq/jfm-jlreq.lua
-2022/11/27 | 287627 | macros/jptex/latex/jlreq/jlreq.cls
-2022/11/27 | 10466 | macros/jptex/latex/jlreq/jlreq-complements.sty
-2022/11/27 | 21198 | macros/jptex/latex/jlreq/jlreq-helpers.sty
-2022/11/27 | 376976 | macros/jptex/latex/jlreq/jlreq-ja.pdf
-2022/11/27 | 120615 | macros/jptex/latex/jlreq/jlreq.pdf
-2022/11/27 | 9044 | macros/jptex/latex/jlreq/jlreq-trimmarks-ja.md
-2022/11/27 | 7538 | macros/jptex/latex/jlreq/jlreq-trimmarks.md
-2022/11/27 | 50840 | macros/jptex/latex/jlreq/jlreq-trimmarks.sty
+2023/03/05 | 287623 | macros/jptex/latex/jlreq/jlreq.cls
+2022/11/29 | 10466 | macros/jptex/latex/jlreq/jlreq-complements.sty
+2022/11/29 | 21198 | macros/jptex/latex/jlreq/jlreq-helpers.sty
+2023/03/05 | 377049 | macros/jptex/latex/jlreq/jlreq-ja.pdf
+2023/03/05 | 120674 | macros/jptex/latex/jlreq/jlreq.pdf
+2022/11/29 | 9044 | macros/jptex/latex/jlreq/jlreq-trimmarks-ja.md
+2022/11/29 | 7538 | macros/jptex/latex/jlreq/jlreq-trimmarks.md
+2022/11/29 | 50840 | macros/jptex/latex/jlreq/jlreq-trimmarks.sty
2022/09/24 | 1348 | macros/jptex/latex/jlreq/LICENSE
2022/11/27 | 11878 | macros/jptex/latex/jlreq/luajfm2pl.lua
2022/09/24 | 9274 | macros/jptex/latex/jlreq/Makefile
2022/09/24 | 5652 | macros/jptex/latex/jlreq/make_variant_jfm.lua
-2022/11/27 | 49065 | macros/jptex/latex/jlreq/README-ja.md
-2022/11/27 | 7060 | macros/jptex/latex/jlreq/README.md
+2023/03/05 | 49121 | macros/jptex/latex/jlreq/README-ja.md
+2023/03/05 | 7110 | macros/jptex/latex/jlreq/README.md
2022/09/24 | 3094 | macros/jptex/latex/jlreq/README-template.html
2022/09/24 | 3315 | macros/jptex/latex/jlreq/README-template.tex
-2022/11/27 | 612042 | macros/jptex/latex/jlreq.zip
+2023/03/05 | 612225 | macros/jptex/latex/jlreq.zip
2023/02/23 | 199001 | macros/jptex/latex/jsclasses/jsclasses.dtx
2023/02/23 | 561 | macros/jptex/latex/jsclasses/jsclasses.ins
2023/02/23 | 415282 | macros/jptex/latex/jsclasses/jsclasses.pdf
@@ -212070,18 +212075,16 @@
2023/01/31 | 1237 | macros/latex/contrib/beamer-contrib/themes/beamerthemeamurmaple/README.md
2023/01/31 | 24332 | macros/latex/contrib/beamer-contrib/themes/beamerthemeamurmaple/tex/beamerthemeAmurmaple.sty
2023/01/31 | 1778668 | macros/latex/contrib/beamer-contrib/themes/beamerthemeamurmaple.zip
-2022/12/10 | 561 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
-2022/12/10 | 876 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
-2022/12/10 | 2578 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
-2022/12/10 | 771 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
-2022/12/10 | 1583 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
-2022/12/10 | 657335 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdf
-2022/12/10 | 203366 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-sans.gif
-2022/12/10 | 215467 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-serif.gif
-2022/12/10 | 3901 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
-2022/12/10 | 1072 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/LICENSE
-2022/12/10 | 6915 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
-2022/12/10 | 1055235 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles.zip
+2023/02/02 | 561 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
+2023/02/02 | 958 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
+2023/02/02 | 2995 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
+2023/02/02 | 771 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
+2023/02/02 | 1893 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
+2023/02/02 | 657335 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdf
+2023/02/02 | 3901 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
+2022/09/15 | 1072 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/LICENSE
+2023/03/02 | 7033 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
+2023/03/05 | 659995 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles.zip
2016/09/24 | 12955 | macros/latex/contrib/beamer-contrib/themes/beamertheme-cuerna/beamertheme-cuerna.dtx
2016/09/24 | 1663 | macros/latex/contrib/beamer-contrib/themes/beamertheme-cuerna/beamertheme-cuerna.ins
2016/09/24 | 418475 | macros/latex/contrib/beamer-contrib/themes/beamertheme-cuerna/beamertheme-cuerna.pdf
@@ -228306,11 +228309,11 @@
1995/01/30 | 12825 | macros/latex/contrib/misc/verbasef.sty
1994/06/30 | 2847 | macros/latex/contrib/misc/vrbexin.sty
2012/12/16 | 29550 | macros/latex/contrib/misc.zip
-2023/03/01 | 62186 | macros/latex/contrib/mismath/mismath.dtx
+2023/03/05 | 62472 | macros/latex/contrib/mismath/mismath.dtx
2023/02/19 | 1987 | macros/latex/contrib/mismath/mismath.ins
-2023/03/01 | 269532 | macros/latex/contrib/mismath/mismath.pdf
+2023/03/05 | 269577 | macros/latex/contrib/mismath/mismath.pdf
2023/02/24 | 905 | macros/latex/contrib/mismath/README.md
-2023/03/01 | 258688 | macros/latex/contrib/mismath.zip
+2023/03/05 | 258865 | macros/latex/contrib/mismath.zip
2019/01/06 | 223143 | macros/latex/contrib/mi-solns/docs/mi-solnsman.pdf
2019/01/06 | 18167 | macros/latex/contrib/mi-solns/docs/mi-solnsman.tex
2019/01/09 | 276191 | macros/latex/contrib/mi-solns/docs/mi-solns.pdf
@@ -230083,13 +230086,13 @@
2006/09/20 | 303867 | macros/latex/contrib/opcit/opcit.pdf
2007/06/15 | 1074 | macros/latex/contrib/opcit/README
2007/06/15 | 284597 | macros/latex/contrib/opcit.zip
-2022/09/15 | 15089 | macros/latex/contrib/opencolor/demo-opencolor.pdf
-2022/09/15 | 189796 | macros/latex/contrib/opencolor/demo-opencolor.png
-2022/09/15 | 662 | macros/latex/contrib/opencolor/demo-opencolor.tex
-2022/09/15 | 1072 | macros/latex/contrib/opencolor/LICENSE
-2022/09/15 | 5257 | macros/latex/contrib/opencolor/opencolor.sty
-2022/09/15 | 2386 | macros/latex/contrib/opencolor/README.md
-2022/09/15 | 200144 | macros/latex/contrib/opencolor.zip
+2023/03/05 | 15089 | macros/latex/contrib/opencolor/demo-opencolor.pdf
+2023/03/05 | 189796 | macros/latex/contrib/opencolor/demo-opencolor.png
+2023/03/05 | 656 | macros/latex/contrib/opencolor/demo-opencolor.tex
+2023/03/05 | 1072 | macros/latex/contrib/opencolor/LICENSE
+2023/03/05 | 5251 | macros/latex/contrib/opencolor/opencolor.sty
+2023/03/05 | 2337 | macros/latex/contrib/opencolor/README.md
+2023/03/05 | 200121 | macros/latex/contrib/opencolor.zip
2017/08/04 | 19107 | macros/latex/contrib/oplotsymbl/LICENSE.md
2017/08/03 | 1095 | macros/latex/contrib/oplotsymbl/literatur.bib
2017/08/04 | 223657 | macros/latex/contrib/oplotsymbl/oPlotSymbl-Manual-en.pdf
@@ -232006,15 +232009,15 @@
2022/05/05 | 80898 | macros/latex/contrib/prociagssymp/TestprocIAGssymp.pdf
2022/05/05 | 6335 | macros/latex/contrib/prociagssymp/TestprocIAGssymp.tex
2022/05/06 | 86110 | macros/latex/contrib/prociagssymp.zip
-2023/01/28 | 9671406 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
-2023/01/28 | 2286437 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
+2023/03/05 | 9020920 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2023/03/05 | 2300789 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
2021/08/22 | 23478 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
2021/08/22 | 19350 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
2021/08/22 | 20438 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
2021/08/22 | 27165 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
2021/08/22 | 15309 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
2021/08/22 | 22791 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
-2023/01/28 | 1091082 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2023/03/05 | 1122217 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2021/11/06 | 8247 | macros/latex/contrib/profcollege/metapost/datastest/PfCafganistan.dat
2021/11/06 | 10915 | macros/latex/contrib/profcollege/metapost/datastest/PfCafriquesud1.dat
2021/11/06 | 218 | macros/latex/contrib/profcollege/metapost/datastest/PfCafriquesud2.dat
@@ -232223,20 +232226,20 @@
2023/01/28 | 13345 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
2022/05/26 | 431 | macros/latex/contrib/profcollege/metapost/PfCConstantes.mp
2023/01/01 | 2335 | macros/latex/contrib/profcollege/metapost/PfCEngrenages.mp
-2023/01/01 | 41730 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
+2023/03/05 | 52777 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
2022/10/12 | 6547 | macros/latex/contrib/profcollege/metapost/PfCLabyNombre.mp
2022/08/16 | 1682 | macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp
2022/05/27 | 42844 | macros/latex/contrib/profcollege/metapost/PfCMonde-futurenew.mp
2022/05/26 | 9412 | macros/latex/contrib/profcollege/metapost/PfCMosaique.mp
2022/11/26 | 67988 | macros/latex/contrib/profcollege/metapost/PfCObjets.mp
2022/11/02 | 63245 | macros/latex/contrib/profcollege/metapost/PfCPseudo.mp
-2022/11/02 | 106510 | macros/latex/contrib/profcollege/metapost/PfCScratch.mp
-2022/11/02 | 108384 | macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
+2023/03/05 | 106514 | macros/latex/contrib/profcollege/metapost/PfCScratch.mp
+2023/03/05 | 108388 | macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
2023/01/01 | 26975 | macros/latex/contrib/profcollege/metapost/PfCSolid.mp
2022/05/26 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp
2022/11/02 | 1683 | macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp
2021/01/18 | 435 | macros/latex/contrib/profcollege/README
-2023/01/28 | 14207318 | macros/latex/contrib/profcollege.zip
+2023/03/05 | 13578385 | macros/latex/contrib/profcollege.zip
2022/04/26 | 130555 | macros/latex/contrib/proflabo/doc/ProfLabo-doc.pdf
2022/04/26 | 16528 | macros/latex/contrib/proflabo/doc/ProfLabo-doc.tex
2022/04/26 | 323 | macros/latex/contrib/proflabo/README.md
@@ -234971,33 +234974,33 @@
2007/12/02 | 2971 | macros/latex/contrib/SIunits/SIunits.ins
2007/12/02 | 328621 | macros/latex/contrib/SIunits/SIunits.pdf
2007/12/02 | 296391 | macros/latex/contrib/SIunits.zip
-2023/02/21 | 71273 | macros/latex/contrib/siunitx/CHANGELOG.md
-2023/02/21 | 996 | macros/latex/contrib/siunitx/README.md
-2023/02/21 | 10868 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2023/02/21 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
-2023/02/21 | 16709 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2023/02/21 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2023/02/21 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2023/02/21 | 620743 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2023/02/21 | 2620 | macros/latex/contrib/siunitx/siunitx-code.tex
-2023/02/21 | 8798 | macros/latex/contrib/siunitx/siunitx-command.dtx
-2023/02/21 | 38097 | macros/latex/contrib/siunitx/siunitx-complex.dtx
-2023/02/21 | 33799 | macros/latex/contrib/siunitx/siunitx-compound.dtx
-2023/02/21 | 21683 | macros/latex/contrib/siunitx/siunitx.dtx
-2023/02/21 | 31713 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2023/02/21 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2023/02/21 | 5481 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2023/02/21 | 151328 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2023/02/21 | 667978 | macros/latex/contrib/siunitx/siunitx.pdf
-2023/02/21 | 35931 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2023/02/21 | 14906 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2023/02/21 | 9135 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2023/02/21 | 53944 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2023/02/21 | 160424 | macros/latex/contrib/siunitx/siunitx.tex
-2023/02/21 | 103241 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2023/02/21 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2023/02/21 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2023/02/21 | 1476387 | macros/latex/contrib/siunitx.zip
+2023/03/04 | 71725 | macros/latex/contrib/siunitx/CHANGELOG.md
+2023/03/04 | 996 | macros/latex/contrib/siunitx/README.md
+2023/03/04 | 10931 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2023/03/04 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2023/03/04 | 16772 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2023/03/04 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2023/03/04 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2023/03/04 | 641978 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2023/03/04 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex
+2023/03/04 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2023/03/04 | 38160 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2023/03/04 | 33867 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2023/03/04 | 21746 | macros/latex/contrib/siunitx/siunitx.dtx
+2023/03/04 | 31776 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2023/03/04 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2023/03/04 | 5544 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2023/03/04 | 151760 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2023/03/04 | 691123 | macros/latex/contrib/siunitx/siunitx.pdf
+2023/03/04 | 35994 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2023/03/04 | 14969 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2023/03/04 | 9198 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2023/03/04 | 54007 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2023/03/04 | 160377 | macros/latex/contrib/siunitx/siunitx.tex
+2023/03/04 | 103304 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2023/03/04 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2023/03/04 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2023/03/05 | 1519884 | macros/latex/contrib/siunitx.zip
2011/06/03 | 662398 | macros/latex/contrib/skb/doc/skb.pdf
2011/03/15 | 1485 | macros/latex/contrib/skb/doc/user-guide/database/acronyms.tex
2011/03/15 | 722 | macros/latex/contrib/skb/doc/user-guide/database/bibliography.tex
@@ -246334,7 +246337,7 @@
2022/11/30 | 24512 | macros/texinfo/latest/htmlxref.cnf
2022/11/30 | 58633 | macros/texinfo/latest/texi2dvi
2022/11/30 | 1165 | macros/texinfo/latest/texi2pdf
-2023/01/02 | 378616 | macros/texinfo/latest/texinfo.tex
+2023/03/04 | 380941 | macros/texinfo/latest/texinfo.tex
2022/12/01 | 67 | macros/texinfo/texinfo/ABOUT-NLS
2023/01/22 | 48078 | macros/texinfo/texinfo/aclocal.m4
2022/02/11 | 2201 | macros/texinfo/texinfo/AUTHORS
@@ -252326,13 +252329,13 @@
2023/01/05 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
2023/01/05 | 1344 | macros/unicodetex/latex/beaulivre/README.md
2023/01/06 | 12104 | macros/unicodetex/latex/beaulivre.zip
-2023/02/20 | 204400 | macros/unicodetex/latex/bithesis/bithesis.dtx
-2023/02/20 | 3720 | macros/unicodetex/latex/bithesis/bithesis.ins
-2023/02/20 | 1077517 | macros/unicodetex/latex/bithesis/bithesis.pdf
-2023/02/20 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
-2023/02/20 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
-2023/02/20 | 1946 | macros/unicodetex/latex/bithesis/README.md
-2023/02/20 | 1108694 | macros/unicodetex/latex/bithesis.zip
+2023/03/05 | 204740 | macros/unicodetex/latex/bithesis/bithesis.dtx
+2023/03/05 | 3720 | macros/unicodetex/latex/bithesis/bithesis.ins
+2023/03/05 | 1078223 | macros/unicodetex/latex/bithesis/bithesis.pdf
+2023/03/05 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
+2023/03/05 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
+2023/03/05 | 1946 | macros/unicodetex/latex/bithesis/README.md
+2023/03/05 | 1109385 | macros/unicodetex/latex/bithesis.zip
2022/02/26 | 128251 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.pdf
2022/02/26 | 6771 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.sty
2022/02/26 | 17327 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.tex
@@ -253621,12 +253624,12 @@
2011/05/07 | 5176 | macros/xetex/latex/unisugar/unisugar.sty
2011/05/07 | 25480 | macros/xetex/latex/unisugar/unisugar.tex
2011/05/08 | 495308 | macros/xetex/latex/unisugar.zip
-2023/03/03 | 3668 | macros/xetex/latex/xduts/README.md
-2023/03/03 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
-2023/03/03 | 285143 | macros/xetex/latex/xduts/xduts.dtx
-2023/03/03 | 1188 | macros/xetex/latex/xduts/xduts.ins
-2023/03/03 | 331677 | macros/xetex/latex/xduts/xduts.pdf
-2023/03/03 | 1263593 | macros/xetex/latex/xduts.zip
+2023/03/05 | 3668 | macros/xetex/latex/xduts/README.md
+2023/03/05 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
+2023/03/05 | 288130 | macros/xetex/latex/xduts/xduts.dtx
+2023/03/05 | 1188 | macros/xetex/latex/xduts/xduts.ins
+2023/03/05 | 332770 | macros/xetex/latex/xduts/xduts.pdf
+2023/03/05 | 1265027 | macros/xetex/latex/xduts.zip
2017/08/03 | 11999 | macros/xetex/latex/xechangebar/cbtest1.tex
2017/08/03 | 338 | macros/xetex/latex/xechangebar/README
2017/08/03 | 35213 | macros/xetex/latex/xechangebar/xechangebar.sty
@@ -288395,9 +288398,9 @@
2021/02/28 | 497832 | systems/texlive/tlnet/archive/babel-german.doc.r57978.tar.xz
2021/02/28 | 3964 | systems/texlive/tlnet/archive/babel-german.r57978.tar.xz
2021/02/28 | 14968 | systems/texlive/tlnet/archive/babel-german.source.r57978.tar.xz
-2020/11/11 | 1190328 | systems/texlive/tlnet/archive/babel-greek.doc.r56904.tar.xz
-2020/11/11 | 5996 | systems/texlive/tlnet/archive/babel-greek.r56904.tar.xz
-2020/11/11 | 21012 | systems/texlive/tlnet/archive/babel-greek.source.r56904.tar.xz
+2023/03/05 | 1626876 | systems/texlive/tlnet/archive/babel-greek.doc.r66347.tar.xz
+2023/03/05 | 6568 | systems/texlive/tlnet/archive/babel-greek.r66347.tar.xz
+2023/03/05 | 24860 | systems/texlive/tlnet/archive/babel-greek.source.r66347.tar.xz
2019/02/28 | 718868 | systems/texlive/tlnet/archive/babel-hebrew.doc.r30273.tar.xz
2019/02/28 | 17516 | systems/texlive/tlnet/archive/babel-hebrew.r30273.tar.xz
2019/02/28 | 42724 | systems/texlive/tlnet/archive/babel-hebrew.source.r30273.tar.xz
@@ -291773,9 +291776,9 @@
2021/11/09 | 358088 | systems/texlive/tlnet/archive/etl.doc.r60998.tar.xz
2021/11/09 | 4424 | systems/texlive/tlnet/archive/etl.r60998.tar.xz
2021/11/09 | 15532 | systems/texlive/tlnet/archive/etl.source.r60998.tar.xz
-2023/01/22 | 823512 | systems/texlive/tlnet/archive/etoc.doc.r65603.tar.xz
-2023/01/22 | 10020 | systems/texlive/tlnet/archive/etoc.r65603.tar.xz
-2023/01/22 | 95012 | systems/texlive/tlnet/archive/etoc.source.r65603.tar.xz
+2023/03/05 | 903780 | systems/texlive/tlnet/archive/etoc.doc.r66351.tar.xz
+2023/03/05 | 12780 | systems/texlive/tlnet/archive/etoc.r66351.tar.xz
+2023/03/05 | 113900 | systems/texlive/tlnet/archive/etoc.source.r66351.tar.xz
2019/02/28 | 234632 | systems/texlive/tlnet/archive/etoolbox-de.doc.r21906.tar.xz
2019/02/28 | 404 | systems/texlive/tlnet/archive/etoolbox-de.r21906.tar.xz
2020/10/06 | 237928 | systems/texlive/tlnet/archive/etoolbox.doc.r56554.tar.xz
@@ -298511,9 +298514,9 @@
2019/02/28 | 466940 | systems/texlive/tlnet/archive/silence.doc.r27028.tar.xz
2019/02/28 | 3620 | systems/texlive/tlnet/archive/silence.r27028.tar.xz
2019/02/28 | 17724 | systems/texlive/tlnet/archive/silence.source.r27028.tar.xz
-2022/08/03 | 291164 | systems/texlive/tlnet/archive/sillypage.doc.r64034.tar.xz
-2022/08/03 | 13468 | systems/texlive/tlnet/archive/sillypage.r64034.tar.xz
-2022/08/03 | 4632 | systems/texlive/tlnet/archive/sillypage.source.r64034.tar.xz
+2023/03/05 | 291276 | systems/texlive/tlnet/archive/sillypage.doc.r66350.tar.xz
+2023/03/05 | 16592 | systems/texlive/tlnet/archive/sillypage.r66350.tar.xz
+2023/03/05 | 4628 | systems/texlive/tlnet/archive/sillypage.source.r66350.tar.xz
2023/01/08 | 154692 | systems/texlive/tlnet/archive/simplebnf.doc.r65485.tar.xz
2023/01/08 | 2656 | systems/texlive/tlnet/archive/simplebnf.r65485.tar.xz
2019/02/28 | 915604 | systems/texlive/tlnet/archive/simplecd.doc.r29260.tar.xz
@@ -299469,7 +299472,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2023/03/04 | 424868 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66319.tar.xz
+2023/03/05 | 424756 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66344.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -299493,7 +299496,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2023/03/04 | 113828 | systems/texlive/tlnet/archive/texlive-scripts.r66319.tar.xz
+2023/03/05 | 113796 | systems/texlive/tlnet/archive/texlive-scripts.r66344.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2022/11/29 | 36264 | systems/texlive/tlnet/archive/texlive-scripts.win32.r65128.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -301364,16 +301367,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2022/07/17 | 124404 | systems/texlive/tlnet/install-tl
-2023/03/04 | 5829086 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/03/04 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/03/04 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/03/05 | 5829272 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/03/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/03/05 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2023/03/04 | 20434974 | systems/texlive/tlnet/install-tl-windows.exe
-2023/03/04 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/03/04 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/03/04 | 25513826 | systems/texlive/tlnet/install-tl.zip
-2023/03/04 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/03/04 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/03/05 | 20434800 | systems/texlive/tlnet/install-tl-windows.exe
+2023/03/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/03/05 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/03/05 | 25513801 | systems/texlive/tlnet/install-tl.zip
+2023/03/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/03/05 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2022/04/03 | 1229 | systems/texlive/tlnet/README.md
2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -301383,7 +301386,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/01/17 | 49938 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/03/03 | 7397 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/03/05 | 7242 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/01/11 | 216583 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -301426,12 +301429,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/03/04 | 18070842 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/03/04 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/03/05 | 18070416 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/03/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/03/04 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/03/04 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/03/04 | 2451152 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/03/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/03/05 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/03/05 | 2451060 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2022/09/14 | 58922 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2022/10/04 | 42404 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -304139,7 +304142,7 @@
2023/02/18 | 94454 | systems/texlive/tlnet/tlpkg/translations/fr.po
2023/02/18 | 88047 | systems/texlive/tlnet/tlpkg/translations/it.po
2023/02/18 | 62994 | systems/texlive/tlnet/tlpkg/translations/ja.po
-2023/03/04 | 47403 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2023/03/05 | 47403 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2023/02/18 | 58359 | systems/texlive/tlnet/tlpkg/translations/nl.po
2023/02/18 | 67459 | systems/texlive/tlnet/tlpkg/translations/pl.po
2023/02/18 | 82899 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
@@ -306421,6 +306424,9 @@
2016/07/19 | 118289 | systems/win32/miktex/tm/packages/dingbat.tar.lzma
2005/05/04 | 35155 | systems/win32/miktex/tm/packages/directory.cab
2012/12/20 | 110556 | systems/win32/miktex/tm/packages/dirtree.tar.lzma
+2023/03/05 | 393488 | systems/win32/miktex/tm/packages/dirtytalk__doc.tar.lzma
+2023/03/05 | 3926 | systems/win32/miktex/tm/packages/dirtytalk__source.tar.lzma
+2023/03/05 | 1403 | systems/win32/miktex/tm/packages/dirtytalk.tar.lzma
2017/03/07 | 81017 | systems/win32/miktex/tm/packages/disser.tar.lzma
2018/10/19 | 107467 | systems/win32/miktex/tm/packages/ditaa.tar.lzma
2014/06/23 | 190999 | systems/win32/miktex/tm/packages/dithesis.tar.lzma
@@ -306917,7 +306923,7 @@
2022/11/01 | 5115 | 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
-2023/02/23 | 753890 | systems/win32/miktex/tm/packages/files.csv.lzma
+2023/03/05 | 753990 | 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
@@ -308753,9 +308759,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/07/26 | 39695 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2023/01/28 | 45889 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2023/02/23 | 314366 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2023/02/23 | 1884214 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2023/02/23 | 1644498 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2023/03/05 | 314513 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2023/03/05 | 1884488 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2023/03/05 | 1644873 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/07/26 | 13519 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2023/01/28 | 14475 | 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
@@ -309016,103 +309022,103 @@
2022/11/01 | 230073 | systems/win32/miktex/tm/packages/newverbs__doc.tar.lzma
2022/11/01 | 7969 | systems/win32/miktex/tm/packages/newverbs__source.tar.lzma
2022/11/01 | 3030 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2023/02/23 | 753924 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2023/02/23 | 57235 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2023/02/23 | 1165623 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2023/02/23 | 31731 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2023/02/23 | 35330 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2023/02/23 | 65870 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2023/02/23 | 101697 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2023/02/23 | 77619 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2023/02/23 | 31618 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2023/02/23 | 395030 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2023/02/23 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2023/02/23 | 57921 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2023/02/23 | 5216 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
-2023/02/23 | 271522 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2023/02/23 | 196612 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2023/02/23 | 103629 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2023/02/23 | 24058 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2023/02/23 | 473084 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2023/02/23 | 52669 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2023/02/23 | 327243 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2023/02/23 | 45772 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2023/02/23 | 135931 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2023/02/23 | 1458662 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2023/02/23 | 121129 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2023/02/23 | 48961 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2023/02/23 | 28778 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2023/02/23 | 62819 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2023/02/23 | 156000 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2023/02/23 | 79818 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2023/02/23 | 81385 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2023/02/23 | 296254 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2023/02/23 | 25231 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2023/02/23 | 113516 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2023/02/23 | 73343 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2023/02/23 | 115815 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2023/02/23 | 44073 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2023/02/23 | 572104 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2023/02/23 | 247500 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2023/02/23 | 175454 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2023/02/23 | 109685 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2023/02/23 | 18365 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2023/02/23 | 30494 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2023/02/23 | 702233 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2023/02/23 | 600603 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2023/02/23 | 530080 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2023/02/23 | 103785 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2023/02/23 | 2016219 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2023/02/23 | 73941 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2023/02/23 | 32338 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2023/02/23 | 8828 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2023/02/23 | 209097 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2023/02/23 | 287043 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2023/02/23 | 105340 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2023/02/23 | 140756 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2023/02/23 | 326996 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2023/02/23 | 181671 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2023/02/23 | 55787 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2023/02/23 | 35235 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2023/02/23 | 43872 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2023/02/23 | 48163 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2023/02/23 | 52495 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2023/02/23 | 213763 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2023/02/23 | 41740 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2023/02/23 | 826830 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2023/02/23 | 203428 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2023/02/23 | 245778 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2023/02/23 | 88425 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2023/02/23 | 1339186 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2023/02/23 | 24044 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2023/02/23 | 37402 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2023/02/23 | 72817 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2023/02/23 | 58543 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2023/02/23 | 759207 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2023/02/23 | 1514910 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2023/02/23 | 52766 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2023/02/23 | 64369 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2023/02/23 | 27769 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2023/02/23 | 18493 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2023/02/23 | 71203 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2023/02/23 | 173426 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2023/02/23 | 69206 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2023/02/23 | 109194 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2023/02/23 | 2831964 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2023/02/23 | 62053 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2023/02/23 | 42429 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2023/02/23 | 33882 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2023/02/23 | 74365 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2023/02/23 | 352668 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2023/02/23 | 57421 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2023/02/23 | 637328 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2023/02/23 | 43722 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2023/02/23 | 314360 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2023/02/23 | 1882195 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2023/02/23 | 1644368 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2023/02/23 | 14444 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2023/03/05 | 754043 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2023/03/05 | 57183 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2023/03/05 | 1167870 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2023/03/05 | 31724 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2023/03/05 | 35297 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2023/03/05 | 65912 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2023/03/05 | 101594 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2023/03/05 | 77634 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2023/03/05 | 31614 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2023/03/05 | 394945 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2023/03/05 | 37067 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2023/03/05 | 57899 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2023/03/05 | 5218 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2023/03/05 | 271379 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2023/03/05 | 196621 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2023/03/05 | 103532 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2023/03/05 | 24052 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2023/03/05 | 472978 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2023/03/05 | 52690 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2023/03/05 | 327478 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2023/03/05 | 45725 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2023/03/05 | 135967 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2023/03/05 | 1459776 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2023/03/05 | 121120 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2023/03/05 | 48949 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2023/03/05 | 28761 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2023/03/05 | 62787 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2023/03/05 | 156047 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2023/03/05 | 79758 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2023/03/05 | 81318 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2023/03/05 | 296278 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2023/03/05 | 25224 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2023/03/05 | 112987 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2023/03/05 | 73306 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2023/03/05 | 115755 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2023/03/05 | 44082 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2023/03/05 | 571897 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2023/03/05 | 247502 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2023/03/05 | 175331 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2023/03/05 | 109723 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2023/03/05 | 18364 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2023/03/05 | 30495 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2023/03/05 | 702434 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2023/03/05 | 600626 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2023/03/05 | 530483 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2023/03/05 | 103794 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2023/03/05 | 2019019 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2023/03/05 | 73974 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2023/03/05 | 32335 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2023/03/05 | 8834 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2023/03/05 | 209125 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2023/03/05 | 287043 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2023/03/05 | 105370 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2023/03/05 | 140773 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2023/03/05 | 326741 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2023/03/05 | 181718 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2023/03/05 | 55785 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2023/03/05 | 35228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2023/03/05 | 43900 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2023/03/05 | 48186 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2023/03/05 | 52514 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2023/03/05 | 214137 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2023/03/05 | 41699 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2023/03/05 | 828802 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2023/03/05 | 203460 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2023/03/05 | 245782 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2023/03/05 | 88435 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2023/03/05 | 1337321 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2023/03/05 | 24028 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2023/03/05 | 37405 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2023/03/05 | 72880 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2023/03/05 | 58871 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2023/03/05 | 759194 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2023/03/05 | 1515136 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2023/03/05 | 52717 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2023/03/05 | 64366 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2023/03/05 | 27625 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2023/03/05 | 18505 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2023/03/05 | 71252 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2023/03/05 | 173396 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2023/03/05 | 69240 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2023/03/05 | 109286 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2023/03/05 | 2831792 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2023/03/05 | 62047 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2023/03/05 | 42437 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2023/03/05 | 33887 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2023/03/05 | 74410 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2023/03/05 | 352963 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2023/03/05 | 57457 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2023/03/05 | 637220 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2023/03/05 | 43723 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2023/03/05 | 314457 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2023/03/05 | 1884616 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2023/03/05 | 1645059 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2023/03/05 | 14459 | 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
-2023/02/23 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
+2023/03/05 | 1150 | 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
2023/02/23 | 608421 | systems/win32/miktex/tm/packages/nicefilelist__doc.tar.lzma
@@ -309666,7 +309672,7 @@
2022/02/22 | 6917 | 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
-2023/02/23 | 924 | systems/win32/miktex/tm/packages/pr.ini
+2023/03/05 | 923 | 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
@@ -311533,9 +311539,8 @@
2007/02/12 | 217429 | systems/win32/texshell32/WinTeXShell32src.zip
2007/02/12 | 6896 | systems/win32/texshell32/WinTeXShell32.txt
2007/02/12 | 395234 | systems/win32/texshell32/WinTeXShell32.zip
-2022/09/23 | 2895 | systems/win32/TLW64/00README.TLW64
+2023/03/04 | 93 | systems/win32/TLW64/00README.TLW64
2022/09/22 | 60444303 | systems/win32/TLW64/gs1000w64full-gpl.exe
-2022/12/26 | 124716603 | systems/win32/TLW64/tl-win64.zip
1996/11/26 | 1822 | systems/win32/tsconfig/readme
1996/11/26 | 30343 | systems/win32/tsconfig/tsconfig.zip
1998/01/20 | 766976 | systems/win32/util/cmdsh110.exe
@@ -311754,7 +311759,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/03/05 | 186 | timestamp
+2023/03/06 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index f50bb80ca8..d3538c3925 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index c7b2c1b99c..dc136edee2 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,4 +1,199 @@
+2023/03/05 | 923 | systems/win32/miktex/tm/packages/pr.ini
+2023/03/05 | 903780 | systems/texlive/tlnet/archive/etoc.doc.r66351.tar.xz
+2023/03/05 | 9020920 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2023/03/05 | 88435 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2023/03/05 | 8834 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2023/03/05 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
+2023/03/05 | 828802 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2023/03/05 | 81318 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2023/03/05 | 79758 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2023/03/05 | 77634 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2023/03/05 | 759194 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2023/03/05 | 754043 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2023/03/05 | 753990 | systems/win32/miktex/tm/packages/files.csv.lzma
+2023/03/05 | 74410 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2023/03/05 | 73974 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2023/03/05 | 73306 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2023/03/05 | 72880 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2023/03/05 | 7242 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/03/05 | 722621 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf
+2023/03/05 | 71252 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2023/03/05 | 7110 | macros/jptex/latex/jlreq/README.md
+2023/03/05 | 702434 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2023/03/05 | 69240 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2023/03/05 | 691844 | graphics/pgf/contrib/causets/causets.pdf
+2023/03/05 | 672163 | graphics/pgf/contrib/causets.zip
+2023/03/05 | 659995 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles.zip
+2023/03/05 | 65912 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2023/03/05 | 656 | macros/latex/contrib/opencolor/demo-opencolor.tex
+2023/03/05 | 6568 | systems/texlive/tlnet/archive/babel-greek.r66347.tar.xz
+2023/03/05 | 64366 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2023/03/05 | 637220 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2023/03/05 | 62787 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2023/03/05 | 62472 | macros/latex/contrib/mismath/mismath.dtx
+2023/03/05 | 62047 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2023/03/05 | 612225 | macros/jptex/latex/jlreq.zip
+2023/03/05 | 600626 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2023/03/05 | 58871 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2023/03/05 | 5829272 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/03/05 | 58215 | graphics/pgf/contrib/causets/causets.tex
+2023/03/05 | 57899 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2023/03/05 | 57457 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2023/03/05 | 571897 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2023/03/05 | 57183 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2023/03/05 | 55785 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2023/03/05 | 530483 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2023/03/05 | 52777 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
+2023/03/05 | 52717 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2023/03/05 | 52690 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2023/03/05 | 5251 | macros/latex/contrib/opencolor/opencolor.sty
+2023/03/05 | 52514 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2023/03/05 | 5218 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2023/03/05 | 49121 | macros/jptex/latex/jlreq/README-ja.md
+2023/03/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/03/05 | 48949 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2023/03/05 | 48186 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2023/03/05 | 47403 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2023/03/05 | 472978 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2023/03/05 | 4628 | systems/texlive/tlnet/archive/sillypage.source.r66350.tar.xz
+2023/03/05 | 45725 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2023/03/05 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/03/05 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/03/05 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/03/05 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/03/05 | 44082 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2023/03/05 | 43900 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2023/03/05 | 43723 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2023/03/05 | 424756 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66344.tar.xz
+2023/03/05 | 42437 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2023/03/05 | 41699 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2023/03/05 | 4156 | graphics/pgf/contrib/causets/causet_tikz_example2.tex
+2023/03/05 | 4051194 | biblio/ctan-bibdata.zip
+2023/03/05 | 394945 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2023/03/05 | 393488 | systems/win32/miktex/tm/packages/dirtytalk__doc.tar.lzma
+2023/03/05 | 3926 | systems/win32/miktex/tm/packages/dirtytalk__source.tar.lzma
+2023/03/05 | 386782 | graphics/pgf/contrib/outilsgeomtikz.zip
+2023/03/05 | 383232 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf
+2023/03/05 | 37908 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex
+2023/03/05 | 377049 | macros/jptex/latex/jlreq/jlreq-ja.pdf
+2023/03/05 | 37405 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2023/03/05 | 3720 | macros/unicodetex/latex/bithesis/bithesis.ins
+2023/03/05 | 37067 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2023/03/05 | 3668 | macros/xetex/latex/xduts/README.md
+2023/03/05 | 3655151 | biblio/ctan-bibdata/ctan.pdf
+2023/03/05 | 35297 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2023/03/05 | 352963 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2023/03/05 | 35228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2023/03/05 | 33887 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2023/03/05 | 332770 | macros/xetex/latex/xduts/xduts.pdf
+2023/03/05 | 327478 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2023/03/05 | 326741 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2023/03/05 | 32335 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2023/03/05 | 31724 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2023/03/05 | 31614 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2023/03/05 | 314513 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2023/03/05 | 314457 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2023/03/05 | 30495 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2023/03/05 | 30411 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex
+2023/03/05 | 296278 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2023/03/05 | 291276 | systems/texlive/tlnet/archive/sillypage.doc.r66350.tar.xz
+2023/03/05 | 288130 | macros/xetex/latex/xduts/xduts.dtx
+2023/03/05 | 287623 | macros/jptex/latex/jlreq/jlreq.cls
+2023/03/05 | 28761 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2023/03/05 | 287043 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2023/03/05 | 2831792 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2023/03/05 | 2767821 | biblio/ctan-bibdata/ctan.bib
+2023/03/05 | 27625 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2023/03/05 | 27489 | graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty
+2023/03/05 | 27174 | language/korean/pmhanguljamo/tex/pmhanguljamo.sty
+2023/03/05 | 271379 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2023/03/05 | 269577 | macros/latex/contrib/mismath/mismath.pdf
+2023/03/05 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
+2023/03/05 | 26440 | graphics/pgf/contrib/causets/causets.sty
+2023/03/05 | 258865 | macros/latex/contrib/mismath.zip
+2023/03/05 | 25513801 | systems/texlive/tlnet/install-tl.zip
+2023/03/05 | 25224 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2023/03/05 | 24860 | systems/texlive/tlnet/archive/babel-greek.source.r66347.tar.xz
+2023/03/05 | 247502 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2023/03/05 | 245782 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2023/03/05 | 2451060 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/03/05 | 24052 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2023/03/05 | 24028 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2023/03/05 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
+2023/03/05 | 2337 | macros/latex/contrib/opencolor/README.md
+2023/03/05 | 2300789 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
+2023/03/05 | 2272 | graphics/pgf/contrib/causets/README.md
+2023/03/05 | 220713 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf
+2023/03/05 | 214137 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2023/03/05 | 209125 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2023/03/05 | 204740 | macros/unicodetex/latex/bithesis/bithesis.dtx
+2023/03/05 | 20434800 | systems/texlive/tlnet/install-tl-windows.exe
+2023/03/05 | 203460 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2023/03/05 | 2019019 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2023/03/05 | 200121 | macros/latex/contrib/opencolor.zip
+2023/03/05 | 196621 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2023/03/05 | 1946 | macros/unicodetex/latex/bithesis/README.md
+2023/03/05 | 189796 | macros/latex/contrib/opencolor/demo-opencolor.png
+2023/03/05 | 1884616 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2023/03/05 | 1884488 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2023/03/05 | 18505 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2023/03/05 | 18364 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2023/03/05 | 181718 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2023/03/05 | 18070416 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/03/05 | 175331 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2023/03/05 | 173396 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2023/03/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/03/05 | 16592 | systems/texlive/tlnet/archive/sillypage.r66350.tar.xz
+2023/03/05 | 1645059 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2023/03/05 | 1644873 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2023/03/05 | 1626876 | systems/texlive/tlnet/archive/babel-greek.doc.r66347.tar.xz
+2023/03/05 | 156047 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2023/03/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/03/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/03/05 | 1519884 | macros/latex/contrib/siunitx.zip
+2023/03/05 | 1515136 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2023/03/05 | 15089 | macros/latex/contrib/opencolor/demo-opencolor.pdf
+2023/03/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/03/05 | 1459776 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2023/03/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/03/05 | 14459 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2023/03/05 | 140773 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2023/03/05 | 1403 | systems/win32/miktex/tm/packages/dirtytalk.tar.lzma
+2023/03/05 | 1393 | language/korean/pmhanguljamo/README.md
+2023/03/05 | 135967 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2023/03/05 | 13578385 | macros/latex/contrib/profcollege.zip
+2023/03/05 | 1337321 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2023/03/05 | 12780 | systems/texlive/tlnet/archive/etoc.r66351.tar.xz
+2023/03/05 | 1265027 | macros/xetex/latex/xduts.zip
+2023/03/05 | 121120 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2023/03/05 | 120674 | macros/jptex/latex/jlreq/jlreq.pdf
+2023/03/05 | 1188 | macros/xetex/latex/xduts/xduts.ins
+2023/03/05 | 1167870 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2023/03/05 | 115755 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2023/03/05 | 11559 | language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
+2023/03/05 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
+2023/03/05 | 113900 | systems/texlive/tlnet/archive/etoc.source.r66351.tar.xz
+2023/03/05 | 113796 | systems/texlive/tlnet/archive/texlive-scripts.r66344.tar.xz
+2023/03/05 | 112987 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2023/03/05 | 1129242 | language/korean/pmhanguljamo.zip
+2023/03/05 | 1122217 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2023/03/05 | 1114 | language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty
+2023/03/05 | 1109385 | macros/unicodetex/latex/bithesis.zip
+2023/03/05 | 109723 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2023/03/05 | 10971317 | install/macros/jptex/latex/jlreq.tds.zip
+2023/03/05 | 109286 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2023/03/05 | 108388 | macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
+2023/03/05 | 1078223 | macros/unicodetex/latex/bithesis/bithesis.pdf
+2023/03/05 | 1072 | macros/latex/contrib/opencolor/LICENSE
+2023/03/05 | 106514 | macros/latex/contrib/profcollege/metapost/PfCScratch.mp
+2023/03/05 | 105370 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2023/03/05 | 105054 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
+2023/03/05 | 1037 | graphics/pgf/contrib/causets/causet_tikz_example1.tex
+2023/03/05 | 103794 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2023/03/05 | 103532 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2023/03/05 | 101594 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2023/03/04 | 99 | indexing/upmendex/source/tests/rule3.ist
+2023/03/04 | 996 | macros/latex/contrib/siunitx/README.md
2023/03/04 | 98 | indexing/upmendex/source/version.h
2023/03/04 | 96 | indexing/upmendex/source/tests/pprecB-4.ind
2023/03/04 | 96 | indexing/upmendex/source/tests/pprecB-3.ind
@@ -8,11 +203,14 @@
2023/03/04 | 96 | indexing/upmendex/source/tests/pprecA-0.ind
2023/03/04 | 9484 | indexing/upmendex/source/convert.c
2023/03/04 | 942 | indexing/upmendex/source/tests/romalpC-5.ind
+2023/03/04 | 93 | systems/win32/TLW64/00README.TLW64
2023/03/04 | 93 | indexing/upmendex/source/tests/rule2.ist
2023/03/04 | 93 | indexing/upmendex/source/tests/range3.ist
2023/03/04 | 93 | indexing/upmendex/doc/samples/alphabet/mdxsty_es1.ist
2023/03/04 | 92 | indexing/upmendex/source/tests/range2.ist
+2023/03/04 | 9198 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
2023/03/04 | 90 | indexing/upmendex/doc/samples/alphabet/mdxsty_es2.ist
+2023/03/04 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx
2023/03/04 | 872 | indexing/upmendex/doc/samples/option/japanese.idx
2023/03/04 | 85 | indexing/upmendex/source/tests/romalpA-6.ind
2023/03/04 | 85 | indexing/upmendex/source/tests/romalpA-5.ind
@@ -25,34 +223,33 @@
2023/03/04 | 766 | indexing/upmendex/source/tests/uni.ind
2023/03/04 | 75 | indexing/upmendex/source/tests/rule1.ist
2023/03/04 | 74817 | macros/latex/contrib/babel-contrib/greek/babel-greek.dtx
+2023/03/04 | 71725 | macros/latex/contrib/siunitx/CHANGELOG.md
2023/03/04 | 714558 | indexing/upmendex/source/configure
2023/03/04 | 70 | indexing/upmendex/source/tests/range1.ist
+2023/03/04 | 691123 | macros/latex/contrib/siunitx/siunitx.pdf
2023/03/04 | 68 | indexing/upmendex/source/tests/foo.idx
2023/03/04 | 686 | indexing/upmendex/doc/samples/multi.idx
2023/03/04 | 681 | indexing/upmendex/source/tests/romalpD.idx
2023/03/04 | 64 | indexing/upmendex/source/tests/uni.dict
2023/03/04 | 64 | indexing/upmendex/source/tests/attr1.ist
+2023/03/04 | 641978 | macros/latex/contrib/siunitx/siunitx-code.pdf
2023/03/04 | 614 | indexing/upmendex/doc/samples/russian.idx
2023/03/04 | 6129 | indexing/upmendex/doc/samples/latex/city0.tex
2023/03/04 | 6046 | indexing/upmendex/source/kana.h
2023/03/04 | 58 | indexing/upmendex/source/tests/foo.ind
2023/03/04 | 5842 | indexing/upmendex/source/qsort.c
-2023/03/04 | 5829086 | systems/texlive/tlnet/install-tl-unx.tar.gz
2023/03/04 | 5699532 | systems/texlive/tlnet/archive/newcomputermodern.r66338.tar.xz
+2023/03/04 | 5544 | macros/latex/contrib/siunitx/siunitx-locale.dtx
2023/03/04 | 552 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh22.ist
2023/03/04 | 544962 | macros/latex/contrib/babel-contrib/greek/babel-greek.pdf
+2023/03/04 | 54007 | macros/latex/contrib/siunitx/siunitx-table.dtx
2023/03/04 | 53538 | macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html
2023/03/04 | 524204 | systems/texlive/tlnet/archive/xduts.r66334.tar.xz
2023/03/04 | 4922 | indexing/upmendex/source/c-auto.in
-2023/03/04 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/03/04 | 47731 | indexing/upmendex/source/Makefile.in
2023/03/04 | 4765 | indexing/upmendex/README.md
-2023/03/04 | 47403 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2023/03/04 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
2023/03/04 | 463 | indexing/upmendex/doc/samples/german.idx
-2023/03/04 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/03/04 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/03/04 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/03/04 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/03/04 | 45164 | systems/texlive/tlnet/archive/xduts.source.r66334.tar.xz
2023/03/04 | 4485 | indexing/upmendex/doc/samples/alphabet/alpha_zhr.idx
2023/03/04 | 44397 | indexing/upmendex/source/aclocal.m4
@@ -61,30 +258,32 @@
2023/03/04 | 435 | indexing/upmendex/source/exhanzi.h
2023/03/04 | 435 | indexing/upmendex/doc/samples/french.idx
2023/03/04 | 428667 | macros/latex/contrib/babel-contrib/greek/test-greek.pdf
-2023/03/04 | 424868 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66319.tar.xz
2023/03/04 | 4245 | indexing/upmendex/source/tests/upmendex.test
2023/03/04 | 417 | indexing/upmendex/source/tests/rule.idx
2023/03/04 | 413 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh31.ist
2023/03/04 | 40 | indexing/upmendex/source/tests/pprec5.ist
2023/03/04 | 40 | indexing/upmendex/doc/samples/option/rule0.ist
2023/03/04 | 406 | indexing/upmendex/source/kp.h
-2023/03/04 | 4051001 | biblio/ctan-bibdata.zip
2023/03/04 | 4039 | indexing/upmendex/doc/samples/alphabet/alpha_zh.idx
2023/03/04 | 4011 | indexing/upmendex/doc/samples/latex/city1.tex
2023/03/04 | 400 | indexing/upmendex/source/qsort.h
2023/03/04 | 393 | indexing/upmendex/doc/samples/Makefile
2023/03/04 | 38 | indexing/upmendex/source/tests/locale2.ist
2023/03/04 | 385 | indexing/upmendex/doc/samples/latex/Makefile
+2023/03/04 | 38160 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2023/03/04 | 380941 | macros/texinfo/latest/texinfo.tex
2023/03/04 | 36 | indexing/upmendex/source/tests/pprec7.ist
2023/03/04 | 36 | indexing/upmendex/source/tests/pprec6.ist
+2023/03/04 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
2023/03/04 | 367 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh2.ist
2023/03/04 | 366 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh1.ist
-2023/03/04 | 3654349 | biblio/ctan-bibdata/ctan.pdf
2023/03/04 | 3643 | macros/latex/contrib/babel-contrib/greek/Makefile
2023/03/04 | 3611 | indexing/upmendex/doc/samples/alphabet/alpha_zhz.idx
2023/03/04 | 36033 | indexing/upmendex/source/fwrite.c
+2023/03/04 | 35994 | macros/latex/contrib/siunitx/siunitx-print.dtx
2023/03/04 | 35274 | macros/latex/contrib/babel-contrib/greek/test-case-changing.tex
2023/03/04 | 340 | indexing/upmendex/doc/samples/greek.idx
+2023/03/04 | 33867 | macros/latex/contrib/siunitx/siunitx-compound.dtx
2023/03/04 | 337 | indexing/upmendex/source/ac/withenable.ac
2023/03/04 | 3358 | indexing/upmendex/doc/samples/alphabet/alpha_zhp.idx
2023/03/04 | 333 | indexing/upmendex/source/indexsty
@@ -94,37 +293,39 @@
2023/03/04 | 325 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh11.ist
2023/03/04 | 324932 | indexing/upmendex/man/upmendex.man1.pdf
2023/03/04 | 320849 | macros/latex/contrib/sillypage.zip
+2023/03/04 | 31776 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2023/03/04 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
2023/03/04 | 30280 | systems/texlive/tlnet/archive/photobook.r66336.tar.xz
+2023/03/04 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx
2023/03/04 | 293 | indexing/upmendex/doc/samples/mdxsty01.ist
2023/03/04 | 286 | indexing/upmendex/doc/samples/option/mdxsty_j02.ist
2023/03/04 | 28270 | macros/latex/contrib/sillypage/sillywalk-map.pdf
2023/03/04 | 2780 | macros/latex/contrib/sillypage/sillypage.ins
-2023/03/04 | 2767812 | biblio/ctan-bibdata/ctan.bib
2023/03/04 | 2746 | indexing/upmendex/doc/samples/latex/mlg0.ist
2023/03/04 | 2736668 | systems/texlive/tlnet/archive/simpleicons.r66337.tar.xz
+2023/03/04 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
2023/03/04 | 272 | indexing/upmendex/source/tests/uni.ist
2023/03/04 | 272 | indexing/upmendex/doc/samples/option/mdxsty_attr_default.ist
2023/03/04 | 271 | indexing/upmendex/doc/samples/option/mdxsty_j01.ist
2023/03/04 | 271 | indexing/upmendex/doc/samples/option/mdxsty_j00.ist
2023/03/04 | 2678 | indexing/upmendex/source/mendex.h
+2023/03/04 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex
2023/03/04 | 261 | indexing/upmendex/doc/samples/alphabet/mdxsty_head2.ist
2023/03/04 | 260 | indexing/upmendex/doc/samples/mdxsty00.ist
2023/03/04 | 260 | indexing/upmendex/doc/samples/alphabet/mdxsty_head3.ist
2023/03/04 | 260 | indexing/upmendex/doc/samples/alphabet/mdxsty_head1.ist
-2023/03/04 | 25513826 | systems/texlive/tlnet/install-tl.zip
2023/03/04 | 25121 | macros/latex/contrib/babel-contrib/greek/test-greek.tex
-2023/03/04 | 2451152 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/03/04 | 2311 | indexing/upmendex/source/var.h
2023/03/04 | 2310 | indexing/upmendex/source/configure.ac
2023/03/04 | 22975 | indexing/upmendex/source/sort.c
2023/03/04 | 220111 | macros/latex/contrib/sillypage/sillypage.pdf
2023/03/04 | 2180 | indexing/upmendex/source/Makefile.am
+2023/03/04 | 21746 | macros/latex/contrib/siunitx/siunitx.dtx
2023/03/04 | 2167 | indexing/upmendex/doc/samples/latex/mlg1.ist
2023/03/04 | 213 | indexing/upmendex/source/tests/pprecA.idx
2023/03/04 | 2122 | macros/latex/contrib/babel-contrib/greek/test-greek-ini.tex
2023/03/04 | 2104 | indexing/upmendex/source/tests/romalpC.idx
2023/03/04 | 207 | indexing/upmendex/source/tests/pprecB.idx
-2023/03/04 | 20434974 | systems/texlive/tlnet/install-tl-windows.exe
2023/03/04 | 2034 | indexing/upmendex/doc/samples/alphabet/alpha_es.idx
2023/03/04 | 2006984 | systems/texlive/tlnet/archive/simpleicons.doc.r66337.tar.xz
2023/03/04 | 19620 | indexing/upmendex/source/hanzi.h
@@ -135,33 +336,33 @@
2023/03/04 | 1837 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh13.ist
2023/03/04 | 1837 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh12.ist
2023/03/04 | 182 | indexing/upmendex/source/tests/pprec0.ist
-2023/03/04 | 18070842 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2023/03/04 | 179 | indexing/upmendex/source/tests/pprec4.ist
2023/03/04 | 179 | indexing/upmendex/source/tests/pprec3.ist
2023/03/04 | 179 | indexing/upmendex/source/tests/pprec2.ist
2023/03/04 | 179 | indexing/upmendex/source/tests/pprec1.ist
2023/03/04 | 17944 | systems/texlive/tlnet/archive/tex4ebook.r66333.tar.xz
2023/03/04 | 174634 | macros/latex/contrib/babel-contrib/greek/test-athnum.pdf
+2023/03/04 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
2023/03/04 | 170 | indexing/upmendex/source/tests/romalpD-7.ind
2023/03/04 | 170 | indexing/upmendex/source/tests/romalpD-6.ind
2023/03/04 | 170 | indexing/upmendex/source/tests/romalpD-5.ind
2023/03/04 | 16 | indexing/upmendex/source/tests/locale1.ist
2023/03/04 | 1697828 | macros/latex/contrib/babel-contrib/greek.zip
2023/03/04 | 1688 | systems/texlive/tlnet/archive/collection-publishers.r66335.tar.xz
-2023/03/04 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/03/04 | 16772 | macros/latex/contrib/siunitx/siunitx-angle.dtx
2023/03/04 | 16698 | macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst
2023/03/04 | 164 | indexing/upmendex/source/tests/romalpA.idx
2023/03/04 | 1628 | indexing/upmendex/source/tests/romalpB.idx
2023/03/04 | 1607 | indexing/upmendex/doc/samples/latex/haranoaji-uptex.map
+2023/03/04 | 160377 | macros/latex/contrib/siunitx/siunitx.tex
2023/03/04 | 158 | indexing/upmendex/source/tests/uni1.ist
-2023/03/04 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/03/04 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/03/04 | 1564645 | install/macros/latex/contrib/siunitx.tds.zip
+2023/03/04 | 151760 | macros/latex/contrib/siunitx/siunitx-number.dtx
2023/03/04 | 15081 | indexing/upmendex/source/fread.c
+2023/03/04 | 14969 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
2023/03/04 | 1477 | indexing/upmendex/doc/samples/korean.idx
2023/03/04 | 1464 | systems/texlive/tlnet/archive/uvaletter.r66335.tar.xz
2023/03/04 | 1464 | indexing/upmendex/COPYRIGHT
-2023/03/04 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/03/04 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/03/04 | 144884 | systems/texlive/tlnet/archive/photobook.doc.r66336.tar.xz
2023/03/04 | 1435 | indexing/upmendex/source/exvar.h
2023/03/04 | 14308796 | systems/texlive/tlnet/archive/newcomputermodern.doc.r66338.tar.xz
@@ -185,18 +386,17 @@
2023/03/04 | 117 | indexing/upmendex/source/tests/rule4.ist
2023/03/04 | 1169 | indexing/upmendex/source/tests/range2.ind
2023/03/04 | 1152 | macros/latex/contrib/babel-contrib/greek/README.md
-2023/03/04 | 113828 | systems/texlive/tlnet/archive/texlive-scripts.r66319.tar.xz
+2023/03/04 | 10931 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
2023/03/04 | 10848 | macros/latex/contrib/sillypage/sillypage.dtx
2023/03/04 | 1077 | indexing/upmendex/source/tests/range3.ind
2023/03/04 | 1077 | indexing/upmendex/source/tests/range1.ind
2023/03/04 | 1054 | indexing/upmendex/source/pageread.c
2023/03/04 | 104340 | macros/latex/contrib/sillypage/sillypage-example.pdf
+2023/03/04 | 103304 | macros/latex/contrib/siunitx/siunitx-unit.dtx
2023/03/04 | 1029 | indexing/upmendex/doc/samples/option/Makefile
2023/03/04 | 101160 | systems/texlive/tlnet/archive/tex4ebook.doc.r66333.tar.xz
2023/03/04 | 10067 | macros/latex/contrib/babel-contrib/greek/usage.tex
-2023/03/03 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
2023/03/03 | 86356 | systems/texlive/tlnet/archive/qrbill.doc.r66304.tar.xz
-2023/03/03 | 7397 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/03/03 | 736 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
2023/03/03 | 725604 | systems/texlive/tlnet/archive/pxrubrica.doc.r66307.tar.xz
2023/03/03 | 6832 | systems/texlive/tlnet/archive/greek-inputenc.r66309.tar.xz
@@ -208,10 +408,7 @@
2023/03/03 | 43808 | systems/texlive/tlnet/archive/kotex-oblivoir.r66308.tar.xz
2023/03/03 | 38440 | systems/texlive/tlnet/archive/pxrubrica.source.r66307.tar.xz
2023/03/03 | 3720 | systems/texlive/tlnet/archive/mismath.r66306.tar.xz
-2023/03/03 | 3668 | macros/xetex/latex/xduts/README.md
2023/03/03 | 33583 | fonts/newcomputermodern/doc/newcm-doc.tex
-2023/03/03 | 331677 | macros/xetex/latex/xduts/xduts.pdf
-2023/03/03 | 285143 | macros/xetex/latex/xduts/xduts.dtx
2023/03/03 | 2839 | fonts/simpleicons/enc/simpleiconsOne.enc
2023/03/03 | 274 | fonts/simpleicons/tex/usimpleiconsOneZero.fd
2023/03/03 | 2738 | fonts/simpleicons/enc/simpleiconsFour.enc
@@ -251,7 +448,6 @@
2023/03/03 | 13680 | systems/texlive/tlnet/archive/pxrubrica.r66307.tar.xz
2023/03/03 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66315.tar.xz
2023/03/03 | 129808 | fonts/simpleicons/doc/bindings.tex
-2023/03/03 | 1263593 | macros/xetex/latex/xduts.zip
2023/03/03 | 124908 | macros/latex/contrib/uvaletter.zip
2023/03/03 | 1236 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSeven.tfm
2023/03/03 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsTwo.tfm
@@ -262,7 +458,6 @@
2023/03/03 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFive.tfm
2023/03/03 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsEight.tfm
2023/03/03 | 1228 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOne.tfm
-2023/03/03 | 1188 | macros/xetex/latex/xduts/xduts.ins
2023/03/03 | 1119 | fonts/simpleicons/map/simpleicons.map
2023/03/03 | 1106388 | systems/texlive/tlnet/archive/tex4ht.r66315.tar.xz
2023/03/03 | 101268 | systems/texlive/tlnet/archive/pangram.doc.r66305.tar.xz
@@ -279,6 +474,7 @@
2023/03/02 | 752 | support/tex4ebook/tex4ebook-doc.tex
2023/03/02 | 725832 | systems/texlive/tlnet/archive/tabularray.doc.r66281.tar.xz
2023/03/02 | 7108 | systems/texlive/tlnet/archive/eolang.r66283.tar.xz
+2023/03/02 | 7033 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
2023/03/02 | 702336 | language/greek/greek-inputenc.zip
2023/03/02 | 6824 | systems/texlive/tlnet/archive/collection-latexextra.r66263.tar.xz
2023/03/02 | 679148 | language/korean/kotex-oblivoir.zip
@@ -314,6 +510,7 @@
2023/03/02 | 423972 | systems/texlive/tlnet/archive/biblatex-publist.doc.r66284.tar.xz
2023/03/02 | 421548 | fonts/newcomputermodern/otf/NewCMMono10-Book.otf
2023/03/02 | 4212 | macros/latex/contrib/photobook/scripts/cls2tex.sh
+2023/03/02 | 414 | graphics/pgf/contrib/outilsgeomtikz/README.md
2023/03/02 | 399576 | fonts/newcomputermodern/otf/NewCMMono10-Italic.otf
2023/03/02 | 3984 | systems/texlive/tlnet/archive/fistrum.r66263.tar.xz
2023/03/02 | 392897 | macros/jptex/latex/pxrubrica/pxrubrica.pdf
@@ -418,7 +615,6 @@
2023/03/01 | 641 | macros/latex/contrib/eolang/eolang.bib
2023/03/01 | 63709 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
2023/03/01 | 6256 | macros/jptex/latex/pxrubrica/pxrubrica-en.tex
-2023/03/01 | 62186 | macros/latex/contrib/mismath/mismath.dtx
2023/03/01 | 60644 | macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
2023/03/01 | 58 | support/lyluatex/latexmkrc
2023/03/01 | 56813 | macros/jptex/latex/pxjahyper/pxjahyper.sty
@@ -450,9 +646,7 @@
2023/03/01 | 3253 | support/lyluatex/README.md
2023/03/01 | 320 | support/lyluatex/ly/fonts.ly
2023/03/01 | 2847 | macros/jptex/latex/pxjahyper/pxjahyper-uni.def
-2023/03/01 | 269532 | macros/latex/contrib/mismath/mismath.pdf
2023/03/01 | 2628 | macros/latex/contrib/eolang/eolang.ins
-2023/03/01 | 258688 | macros/latex/contrib/mismath.zip
2023/03/01 | 2580667 | systems/doc/metapost.zip
2023/03/01 | 2534 | macros/jptex/latex/pxrubrica/README-ja.md
2023/03/01 | 250191 | macros/latex/contrib/tabularray/tabularray.sty
@@ -692,114 +886,3 @@
2023/02/27 | 10728 | support/texdoc/script/texdoclib-score.tlu
2023/02/27 | 1031323 | macros/latex/contrib/listings/listings.pdf
2023/02/27 | 10240 | support/texdoc/script/texdoclib-const.tlu
-2023/02/26 | 9952 | macros/latex/contrib/fduthesis/fudan-name.pdf
-2023/02/26 | 977630 | macros/latex/contrib/fduthesis/fduthesis-code.pdf
-2023/02/26 | 94622 | systems/doc/dvipng/dvipng.html
-2023/02/26 | 887534 | graphics/pgf/contrib/tangramtikz.zip
-2023/02/26 | 816802 | install/macros/latex/contrib/l3build.tds.zip
-2023/02/26 | 813416 | macros/latex/contrib/l3build.zip
-2023/02/26 | 7943 | macros/latex/contrib/l3build/l3build-variables.lua
-2023/02/26 | 7796 | macros/latex/contrib/l3build/l3build-arguments.lua
-2023/02/26 | 742105 | macros/latex/contrib/l3build/l3build.pdf
-2023/02/26 | 7352 | macros/jptex/latex/pxbase/pxjsfenc.def
-2023/02/26 | 7206 | macros/latex/contrib/l3build/l3build-manifest.lua
-2023/02/26 | 708 | systems/doc/xetex/README
-2023/02/26 | 687788 | systems/texlive/tlnet/archive/ragged2e.doc.r66153.tar.xz
-2023/02/26 | 6744 | macros/latex/contrib/l3build/l3build.lua
-2023/02/26 | 6739 | macros/latex/contrib/l3build/l3build-typesetting.lua
-2023/02/26 | 6310183 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
-2023/02/26 | 62530 | macros/latex/contrib/fduthesis/fduthesis-doc.dtx
-2023/02/26 | 607936 | macros/jptex/latex/platex-tools.zip
-2023/02/26 | 54668 | systems/texlive/tlnet/archive/yathesis.source.r66159.tar.xz
-2023/02/26 | 5397 | macros/latex/contrib/l3build/l3build-aux.lua
-2023/02/26 | 5200912 | systems/texlive/tlnet/archive/yathesis.doc.r66159.tar.xz
-2023/02/26 | 505 | macros/latex/contrib/resolsysteme/README.md
-2023/02/26 | 503778 | systems/doc/dvips/dvips.html
-2023/02/26 | 50163 | graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty
-2023/02/26 | 4972 | macros/latex/contrib/l3build/l3build-ctan.lua
-2023/02/26 | 490600 | macros/latex/contrib/resolsysteme.zip
-2023/02/26 | 4859 | macros/latex/contrib/hrefhide/README
-2023/02/26 | 4797 | systems/doc/dvipdfmx/README
-2023/02/26 | 457728 | systems/texlive/tlnet/archive/footnoterange.doc.r66156.tar.xz
-2023/02/26 | 451134 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf
-2023/02/26 | 450556 | install/macros/latex/contrib/hrefhide.tds.zip
-2023/02/26 | 450025 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf
-2023/02/26 | 445548 | macros/latex/contrib/fduthesis/fduthesis.pdf
-2023/02/26 | 442306 | macros/latex/contrib/hrefhide.zip
-2023/02/26 | 434 | macros/jptex/latex/pxbase/pxbase.sty
-2023/02/26 | 4338 | macros/latex/contrib/l3build/l3build-stdmain.lua
-2023/02/26 | 42724 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
-2023/02/26 | 422308 | systems/doc/kpathsea/kpathsea.html
-2023/02/26 | 418026 | systems/doc/dvips/dvips.pdf
-2023/02/26 | 38830 | macros/latex/contrib/hrefhide/hrefhide.dtx
-2023/02/26 | 38596 | systems/texlive/tlnet/archive/nicematrix.r66154.tar.xz
-2023/02/26 | 384452 | systems/doc/kpathsea/kpathsea.pdf
-2023/02/26 | 3729 | systems/doc/dvips/NEWS
-2023/02/26 | 36683 | macros/latex/contrib/l3build/l3build-check.lua
-2023/02/26 | 36661 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
-2023/02/26 | 3382 | macros/latex/contrib/l3build/l3build-zip.lua
-2023/02/26 | 329925 | macros/latex/contrib/hrefhide/hrefhide.pdf
-2023/02/26 | 3135 | macros/jptex/latex/pxbase/upkcat.sty
-2023/02/26 | 3020 | systems/texlive/tlnet/archive/ragged2e.r66153.tar.xz
-2023/02/26 | 2918 | macros/jptex/latex/platex-tools/README.md
-2023/02/26 | 2832 | systems/texlive/tlnet/archive/frenchmath.r66155.tar.xz
-2023/02/26 | 2745 | macros/latex/contrib/l3build/l3build-unpack.lua
-2023/02/26 | 2644 | systems/texlive/tlnet/archive/footnoterange.r66156.tar.xz
-2023/02/26 | 259312 | macros/latex/contrib/fduthesis/fduthesis-logo.dtx
-2023/02/26 | 2473 | macros/latex/contrib/l3build/l3build-help.lua
-2023/02/26 | 2458 | macros/latex/contrib/fduthesis/README.md
-2023/02/26 | 2431 | macros/jptex/latex/pxbase/README.md
-2023/02/26 | 2374 | macros/jptex/latex/platex/README.md
-2023/02/26 | 23656 | systems/texlive/tlnet/archive/yathesis.r66159.tar.xz
-2023/02/26 | 234988 | systems/texlive/tlnet/archive/frenchmath.doc.r66155.tar.xz
-2023/02/26 | 23209 | macros/jptex/latex/pxbase/pxbabel.sty
-2023/02/26 | 2313728 | install/macros/jptex/latex/platex.tds.zip
-2023/02/26 | 2285 | macros/latex/contrib/l3build/l3build-tagging.lua
-2023/02/26 | 22707 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex
-2023/02/26 | 22659 | macros/jptex/latex/pxbase/pxbabel.tex
-2023/02/26 | 222744 | macros/latex/contrib/fduthesis/fduthesis.dtx
-2023/02/26 | 222654 | macros/latex/contrib/fduthesis/fduthesis-code.dtx
-2023/02/26 | 2188046 | macros/jptex/latex/platex.zip
-2023/02/26 | 218707 | systems/doc/dvipng/dvipng.pdf
-2023/02/26 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua
-2023/02/26 | 21338 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex
-2023/02/26 | 2016 | systems/texlive/tlnet/archive/bxghost.r66158.tar.xz
-2023/02/26 | 2012 | systems/texlive/tlnet/archive/bxghost.doc.r66158.tar.xz
-2023/02/26 | 196376 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
-2023/02/26 | 19447 | macros/jptex/latex/pxbase/pxbasenc.def
-2023/02/26 | 1916406 | install/macros/latex/contrib/fduthesis.tds.zip
-2023/02/26 | 19055 | macros/latex/contrib/l3build/CHANGELOG.md
-2023/02/26 | 18831 | systems/doc/etex/ChangeLog
-2023/02/26 | 1860836 | systems/texlive/tlnet/archive/nicematrix.doc.r66154.tar.xz
-2023/02/26 | 1849 | systems/doc/dvips/README
-2023/02/26 | 184322 | macros/jptex/latex/pxbase.zip
-2023/02/26 | 1816 | macros/latex/contrib/l3build/l3build.1
-2023/02/26 | 1791549 | macros/latex/contrib/fduthesis.zip
-2023/02/26 | 173296 | systems/doc/luatex/NEWS
-2023/02/26 | 16998 | systems/doc/kpathsea/NEWS
-2023/02/26 | 15957 | macros/latex/contrib/fduthesis/fudan-emblem.pdf
-2023/02/26 | 159020 | macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
-2023/02/26 | 158171 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
-2023/02/26 | 157044 | macros/jptex/latex/pxbase/pxbabel.pdf
-2023/02/26 | 1540 | macros/latex/contrib/l3build/l3build.ins
-2023/02/26 | 151111 | macros/latex/contrib/fduthesis/fduthesis-en.pdf
-2023/02/26 | 13552 | systems/texlive/tlnet/archive/frenchmath.source.r66155.tar.xz
-2023/02/26 | 13211 | macros/latex/contrib/l3build/l3build-upload.lua
-2023/02/26 | 126723 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
-2023/02/26 | 12639 | systems/doc/pdftex/manual/ChangeLog
-2023/02/26 | 12633 | macros/latex/contrib/l3build/l3build-file-functions.lua
-2023/02/26 | 12464 | systems/doc/xetex/NEWS
-2023/02/26 | 122040 | systems/texlive/tlnet/archive/nicematrix.source.r66154.tar.xz
-2023/02/26 | 11920 | systems/texlive/tlnet/archive/ragged2e.source.r66153.tar.xz
-2023/02/26 | 11568 | systems/texlive/tlnet/archive/footnoterange.source.r66156.tar.xz
-2023/02/26 | 11296361 | macros/latex/contrib/jeuxcartes.zip
-2023/02/26 | 111762 | macros/latex/contrib/l3build/l3build.dtx
-2023/02/26 | 111632 | macros/latex/contrib/hrefhide/hrefhide-example.pdf
-2023/02/26 | 11070 | macros/latex/contrib/l3build/l3build-install.lua
-2023/02/26 | 10927 | macros/jptex/latex/pxbase/README-ja.md
-2023/02/26 | 1091 | macros/jptex/latex/pxbase/LICENSE
-2023/02/26 | 10786 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
-2023/02/26 | 10688 | macros/latex/contrib/fduthesis/fudan-emblem-new.pdf
-2023/02/26 | 1032 | macros/latex/contrib/jeuxcartes/README.md
-2023/02/26 | 10311 | systems/doc/aleph/ChangeLog
-2023/02/26 | 1019 | macros/latex/contrib/l3build/README.md
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index c0dcc04c93..db883e99a7 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 05-03-2023, 02:01:54
+%% created at 06-03-2023, 02:01:17
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -5962,8 +5962,8 @@
title = {The \texttt{beamertheme-arguelles} package},
subtitle = {Simple, typographic beamer theme},
author = {Michele Piazzai},
- date = {2022-12-10},
- version = {2.0.0},
+ date = {2023-03-05},
+ version = {2.1.0},
license = {mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles},
url = {https://ctan.org/pkg/beamertheme-arguelles},
@@ -8647,8 +8647,8 @@
title = {The \texttt{bithesis} package},
subtitle = {Templates for the Beijing Institute of Technology},
author = {Feng Kaiyu},
- date = {2023-02-20},
- version = {3.4.0},
+ date = {2023-03-05},
+ version = {3.4.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/unicodetex/latex/bithesis},
url = {https://ctan.org/pkg/bithesis},
@@ -11001,8 +11001,8 @@
title = {The \texttt{causets} package},
subtitle = {Draw causal set (Hasse) diagrams},
author = {Christoph Minz},
- date = {2022-05-22},
- version = {1.3},
+ date = {2023-03-05},
+ version = {1.4},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/causets},
url = {https://ctan.org/pkg/causets},
@@ -34709,7 +34709,7 @@
title = {The \texttt{jlreq} package},
subtitle = {Japanese document class based on requirements for Japanese text layout},
author = {Noriyuki Abe},
- date = {2022-11-27},
+ date = {2023-03-05},
version = {},
license = {bsd2},
mirror = {https://mirror.ctan.org/macros/jptex/latex/jlreq},
@@ -44948,8 +44948,8 @@
title = {The \texttt{mismath} package},
subtitle = {Miscellaneous mathematical macros},
author = {Antoine Missier},
- date = {2023-03-01},
- version = {2.6},
+ date = {2023-03-05},
+ version = {2.7},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/mismath},
url = {https://ctan.org/pkg/mismath},
@@ -49361,10 +49361,10 @@
@manual{ctan-opencolor,
title = {The \texttt{opencolor} package},
- subtitle = {Simple use of the Open Color colors},
+ subtitle = {Definitions from the Open Color library},
author = {Michele Piazzai},
- date = {2022-12-10},
- version = {1.0.0},
+ date = {2023-03-05},
+ version = {1.0.1},
license = {mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/opencolor},
url = {https://ctan.org/pkg/opencolor},
@@ -49769,6 +49769,20 @@
the like, that are needed when the material is 'ed.},
}
+@manual{ctan-outilsgeomtikz,
+ title = {The \texttt{OutilsGeomTikZ} package},
+ subtitle = {Some geometric tools, with TikZ},
+ author = {Cédric Pierquet},
+ date = {2023-03-05},
+ version = {0.1.0},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/graphics/pgf/contrib/outilsgeomtikz},
+ url = {https://ctan.org/pkg/outilsgeomtikz},
+ annotation = {This package provides some commands, with French keys,
+ to display geometric tools using ,
+ for example a pen, a compass, a rule, a square, a protractor, ...},
+}
+
@manual{ctan-outline,
title = {The \texttt{outline} package},
subtitle = {List environment for making outlines},
@@ -53143,8 +53157,8 @@
title = {The \texttt{pmhanguljamo} package},
subtitle = {Poor man’s Hangul Jamo input method},
author = {Kangsoo Kim},
- date = {2023-02-25},
- version = {1.0.1},
+ date = {2023-03-05},
+ version = {1.0.2},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/language/korean/pmhanguljamo},
url = {https://ctan.org/pkg/pmhanguljamo},
@@ -53993,8 +54007,8 @@
title = {The \texttt{ProfCollege} package},
subtitle = {A \LaTeX{} package for French maths teachers in college},
author = {Christophe Poulain},
- date = {2023-01-28},
- version = {0.99-z-e},
+ date = {2023-03-05},
+ version = {0.99-z-f},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/profcollege},
url = {https://ctan.org/pkg/profcollege},
@@ -61918,8 +61932,8 @@
title = {The \texttt{siunitx} package},
subtitle = {A comprehensive (SI) units package},
author = {Joseph Wright},
- date = {2023-02-21},
- version = {3.2.1},
+ date = {2023-03-05},
+ version = {3.2.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/siunitx},
url = {https://ctan.org/pkg/siunitx},
@@ -75628,8 +75642,8 @@
title = {The \texttt{xduts} package},
subtitle = {Xidian University \TeX{} Suite},
author = {{Unknown}},
- date = {2023-03-03},
- version = {6.0.1.0},
+ date = {2023-03-05},
+ version = {6.1.0.1},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/xetex/latex/xduts},
url = {https://ctan.org/pkg/xduts},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index 49885dfea2..d5280f4a7a 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/causets/README.md b/graphics/pgf/contrib/causets/README.md
index 76e8b4593f..ca22ea3889 100644
--- a/graphics/pgf/contrib/causets/README.md
+++ b/graphics/pgf/contrib/causets/README.md
@@ -33,7 +33,7 @@ Bug reports can be send to the maintainer:
christoph{dot}minz[AT]gmail{dot}com
## License and distribution
-Copyright 2020-2022 by C. Minz
+Copyright 2020-2023 by C. Minz
This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this licence or (at your option) any later version.
The latest version of this licence is in
@@ -44,7 +44,7 @@ This work has the LPPL maintenance status "maintained".
The current maintainer of this work is C. Minz.
https://github.com/c-minz
-**Current version: v1.3**
+**Current package version: v1.4 (2023/03/06)**
CTAN location: /graphics/pgf/contrib/causets/
diff --git a/graphics/pgf/contrib/causets/causet_tikz_example1.pdf b/graphics/pgf/contrib/causets/causet_tikz_example1.pdf
index 2ebdf2ce48..31e9ed1480 100644
--- a/graphics/pgf/contrib/causets/causet_tikz_example1.pdf
+++ b/graphics/pgf/contrib/causets/causet_tikz_example1.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/causets/causet_tikz_example1.tex b/graphics/pgf/contrib/causets/causet_tikz_example1.tex
index dfbe3abf76..b1c1f10ad1 100644
--- a/graphics/pgf/contrib/causets/causet_tikz_example1.tex
+++ b/graphics/pgf/contrib/causets/causet_tikz_example1.tex
@@ -9,15 +9,15 @@
\drawpcauset{5,2,7,3,6,1,4}
\draw[red, double] (0, 0) circle[radius=0.1];
\end{scope}
- % Circumscribe the future infinity:
+ % Mark the maximal elements (future infinity):
\node[draw=blue, inner sep=1pt, thick, ellipse, fit=(E2) (E4) (E5)] (Finf) {};
% Add labels on top:
- \node[draw=blue, right, align=right] (FinfLabel) at (4.8, -0.5) {future infinity / \\ maximal events};
+ \node[draw=blue, right, align=right] (FinfLabel) at (4.8, -0.5) {maximal events / \\ (future infinity)};
\node[draw=red] (centerLabel) at (0.5, -0.5) {centre};
\node[draw=green!50!black] (myEventLabel) at (5.5, -2.5) {event (E0)};
% Draw arrows from the labels to the references:
\draw[ultra thick, blue, ->] (FinfLabel) -- (Finf);
- \draw[ultra thick, red, ->] (centerLabel) -- (3, -1);
+ \draw[ultra thick, red, ->] (centerLabel) -- (3, -1); % centre was shifted by the scope
\draw[ultra thick, green!50!black, ->] (myEventLabel) -- (E0);
\end{tikzpicture}
\end{document}
diff --git a/graphics/pgf/contrib/causets/causets.pdf b/graphics/pgf/contrib/causets/causets.pdf
index b6a2ccd03f..1409edc2c8 100644
--- a/graphics/pgf/contrib/causets/causets.pdf
+++ b/graphics/pgf/contrib/causets/causets.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/causets/causets.sty b/graphics/pgf/contrib/causets/causets.sty
index 291537cb9e..0b9912dc80 100644
--- a/graphics/pgf/contrib/causets/causets.sty
+++ b/graphics/pgf/contrib/causets/causets.sty
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{causets}[2022/05/23 v1.3 Package to draw causal set diagrams]
-%% Copyright 2020-2022 by C. Minz
+\ProvidesPackage{causets}[2023/03/06 v1.4 Package to draw causal set diagrams]
+%% Copyright 2020-2023 by C. Minz
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -10,7 +10,7 @@
%
% This work has the LPPL maintenance status "maintained".
%
-% The current version of this package is 1.3.
+% The current version of this package is 1.4.
%
% The current maintainer of this work is C. Minz.
% https://github.com/c-minz
@@ -131,9 +131,12 @@
}
% Causet modification options:
\tikzcausetsset{%
+ padding/.store in=\causets@Padding,
offset/.store in=\causet@Offset,
every causet/.value forbidden,
- every causet/.style={baseline=(baseline point)}
+ every causet/.style={baseline=(baseline point)},
+ local style/.style={#1},
+ set local style/.style={local style/.expand once={#1}}
}
% Graphic component switches:
\newif\ifcausetsDrawPermutation
@@ -182,7 +185,6 @@
every label base/.value forbidden,
every label base/.style={text opacity=1, scale=\causetTextScale, font=\causetTextFont, inner sep=0pt},
all labels/.style={every label base/.append style={#1}},
- at/.initial=center,
every label/.value forbidden,
every label/.style={every label base, color=\pgfkeysvalueof{/tikz/causets/label color}, below left, at=south west},
labels/.style={show labels, every label/.append style={#1}},
@@ -194,7 +196,10 @@
vlabels/.style={show vlabels, every vlabel/.append style={#1}},
every replaced label/.value forbidden,
every replaced label/.style={every label},
- replaced labels/.style={every replaced label/.append style={#1}}
+ replaced labels/.style={every replaced label/.append style={#1}},
+ at/.initial=center,
+ label/.store in=\causet@EventLabel,
+ label/.value required
}
% Event styles:
\tikzcausetsset{%
@@ -205,7 +210,9 @@
every replaced event/.value forbidden,
every replaced event/.style={every label base, circle, minimum size=\pgfkeysvalueof{/tikz/causets/event size}},
replaced events/.value required,
- replaced events/.style={every replaced event/.append style={#1}}
+ replaced events/.style={every replaced event/.append style={#1}},
+ event/.store in=\causet@EventText,
+ event/.value required
}
% Link styles:
\tikzcausetsset{%
@@ -227,18 +234,28 @@
cap links/.value forbidden,
cap links/.style={link starts={Triangle Cap[reversed]}, link ends={Triangle Cap[]}},
arrow links/.value forbidden,
- arrow links/.style={link ends={Stealth[round, open, length=4*\pgfkeysvalueof{/tikz/causets/link width}, line width=\pgfkeysvalueof{/tikz/causets/link width}/3]}},
+ arrow links/.style={link ends={Stealth[round, length=4*\pgfkeysvalueof{/tikz/causets/link width}, line width=\pgfkeysvalueof{/tikz/causets/link width}/3]}},
every spatial link/.value forbidden,
every spatial link/.style={every link, color=\pgfkeysvalueof{/tikz/causets/spatial link color}, dashed},
spatial links/.style={show spatial links, every spatial link/.append style={#1}}
}
+% Causet externalisation:
+\newif\ifcausets@External
+\newif\ifcausetsNameExternal
+\tikzcausetsset{%
+ name/.store in=\causet@Name,
+ name prefix/.store in=\causets@NamePrefix,
+ set prefix/.style={name prefix=#1, /tikz/external/prefix=#1},
+ name external/.is if=causetsNameExternal
+}
%% Package options:
-\tikzcausetsset{normal, offset=0}
+\tikzcausetsset{normal, offset=0, padding=\thinspace, name prefix={./}}
\causetsDrawLinkstrue
\causetsBreakLinkstrue
\causetsDrawULabelstrue
\causetsDrawVLabelstrue
+\causets@Externalfalse
\DeclareOption{tiny}{\tikzcausetsset{tiny}}
\DeclareOption{smaller}{\tikzcausetsset{very small}}
\DeclareOption{small}{\tikzcausetsset{small}}
@@ -262,15 +279,34 @@
\DeclareOption{uunlabeled}{\causetsDrawULabelsfalse}
\DeclareOption{vlabeled}{\causetsDrawVLabelstrue}
\DeclareOption{vunlabeled}{\causetsDrawVLabelsfalse}
+\DeclareOption{external}{\causets@Externaltrue}
\DeclareOption*{\PackageWarning{causets}{The package causets does not support the option: \CurrentOption}}
-\ProcessOptions\relax
+\ProcessOptions*
+\ifcausets@External
+ \usetikzlibrary{external}%
+ \tikzcausetsset{name prefix=causets/, name external=true}%
+ \tikzexternalize[prefix=causets/]
+\fi
%% Package functions:
\newif\ifcauset@ItemFoundInList
+\newcommand*{\causets@setCausetName}[1]{%
+{%
+\def\causet@Name{}%
+\tikzcausetsset{#1}%
+\ifx\causet@Name\empty%
+ \relax%
+\else%
+ \expandafter\tikzsetnextfilename\expandafter{\causet@Name}%
+\fi%
+}%
+}
+
\newcommand*{\causets@prepareCauset}[1]{%
-% Count the number of events (\causet@N), find the minimal value in the list argument (\causet@Start), and define baseline point.
-\foreach \causet@E@i/\causet@Label/\causet@Text [count=\causet@i] in {#1}{%
+% Count the number of events (\causet@N), find the minimal value in the list
+% argument (\causet@Start), and define baseline point.
+\foreach \causet@E@i/\causet@LocalStyle [count=\causet@i] in {#1}{%
\ifnum\causet@i=1
\pgfmathparse{int(\causet@E@i)}
\else
@@ -284,29 +320,35 @@
}
\newcommand*{\causets@drawEvent}[2][every event]{%
-% Draws the event node for \causet@E@i. By default the event style (optional argument #1) is that of every event. The text of the node is #2.
+% Draws an event tile and the event on top.
+\pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
+\pgfmathsetmacro\causet@u{\causet@E@i - \causet@Start}
+\pgfmathsetmacro\causet@v{\causet@i - 1.0}
+\ifcausetsDrawPermutation
+ \path[causets/.cd, every tile]
+ ( \causet@u * \causetTileSize, \causet@v * \causetTileSize )
+ rectangle +( \causetTileSize, \causetTileSize );
+\fi
\pgfmathsetmacro\causet@u{\causet@E@i - \causet@Start + 0.5}
\pgfmathsetmacro\causet@v{\causet@i - 0.5}
\node[causets/.cd, #1] (E\causet@E@i)
- at ( \causet@u * \causetTileSize, \causet@v * \causetTileSize )
- {#2};
+ at ( \causet@u * \causetTileSize, \causet@v * \causetTileSize ) {#2};
}
\newcommand*{\causets@drawEvents}[1]{%
-% Draws a permutation tile and defines and draws an event node (E#) on top of the tile, for each event number # in the list argument.
-\foreach \causet@E@i/\causet@Label/\causet@Text [count=\causet@i] in {#1}{%
- \pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
- \pgfmathsetmacro\causet@u{\causet@E@i - \causet@Start}
- \pgfmathsetmacro\causet@v{\causet@i - 1.0}
- \ifcausetsDrawPermutation
- \path[causets/.cd, every tile]
- ( \causet@u * \causetTileSize, \causet@v * \causetTileSize )
- rectangle +( \causetTileSize, \causetTileSize );
- \fi
- \ifx\causet@Text\causet@Label
+% Draws a permutation tile and defines and draws an event node (E#) on top of
+% the tile, for each event number # in the list argument.
+\foreach \causet@E@i/\causet@LocalStyle [count=\causet@i] in {#1}{%
+ \ifx\causet@E@i\causet@LocalStyle
\causets@drawEvent{}
\else
- \causets@drawEvent[every replaced event]{\causet@Text}
+ \def\causet@EventText{}
+ \tikzcausetsset{set local style=\causet@LocalStyle}
+ \ifx\causet@EventText\empty
+ \causets@drawEvent[every event, set local style=\causet@LocalStyle]{}
+ \else
+ \causets@drawEvent[every replaced event, set local style=\causet@LocalStyle]{\causet@EventText}
+ \fi
\fi
}
}
@@ -318,7 +360,7 @@
grid ( \causet@N * \causetTileSize, \causet@N * \causetTileSize );
\draw[causets/.cd, every region] ( 0, 0 )
rectangle ( \causet@N * \causetTileSize, \causet@N * \causetTileSize );
- \foreach \causet@E@i/\causet@Label/\causet@Text [count=\causet@i] in {#1}{%
+ \foreach \causet@E@i/\causet@LocalStyle [count=\causet@i] in {#1}{%
\pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
\ifcausetsDrawULabels
\pgfmathsetmacro\causet@u{int(\causet@i + \causet@Start - 1)}
@@ -336,19 +378,21 @@
}
\newcommand*{\causets@drawSpatialLinks}[1]{%
-% Draws the spatial links between the events (only for \drawpcauset and \drawrcauset).
+% Draws the spatial links between the events (only for \drawpcauset and
+% \drawrcauset).
\ifcausetsDrawSpatialLinks
- \foreach \causet@E@i/\causet@Label/\causet@Text [count=\causet@i] in {#1}{%
+ \foreach \causet@E@i/\causet@LocalStyle [count=\causet@i] in {#1}{%
\pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
% \causet@Bound stores the lower bound to find spatially linked events.
\edef\causet@Bound{\causet@Offset}
- \foreach \causet@E@j/\causet@Label/\causet@Text [count=\causet@j] in {#1}{%
+ \foreach \causet@E@j/\causet@LocalStyle [count=\causet@j] in {#1}{%
\ifnum\causet@j>\causet@i
\pgfmathsetmacro\causet@E@j{int(\causet@E@j + \causet@Offset)}
\ifnum\causet@E@j>\causet@Bound
\ifnum\causet@E@i>\causet@E@j
% Add spatial link and remember new lower bound:
- \draw[causets/.cd, every spatial link] (E\causet@E@j) -- (E\causet@E@i);
+ \draw[causets/.cd, every spatial link]
+ (E\causet@E@j) -- (E\causet@E@i);
\xdef\causet@Bound{\causet@E@j}
\fi
\fi
@@ -358,30 +402,118 @@
\fi
}
-\newcommand*{\causets@drawEventLabel}[1][every label]{%
-% Draws the event label for \causet@E@i (shifted by \causet@Offset). By default the label style is assumed that of a standard event label.
+\newcommand*{\causets@drawEventLabel}[2][every label]{%
+% Draws an event label.
\pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
\node[causets/.cd, #1] (EL\causet@E@i)
- at (E\causet@E@i.\pgfkeysvalueof{/tikz/causets/at}) {\causet@Label};
+ at (E\causet@E@i.\pgfkeysvalueof{/tikz/causets/at}) {#2};
}
\newcommand*{\causets@drawEventLabels}[1]{%
% Adds event labels to the events.
-\foreach \causet@E@i/\causet@Label/\causet@Text in {#1}{%
- \ifx\causet@E@i\causet@Label
+\foreach \causet@E@i/\causet@LocalStyle in {#1}{%
+ \ifx\causet@E@i\causet@LocalStyle
\ifcausetsDrawLabels
- \causets@drawEventLabel
+ \causets@drawEventLabel{\causet@E@i}
\fi
\else
- \ifx\causet@Label\empty
- \relax% Skip empty labels
+ \def\causet@EventLabel{}
+ \tikzcausetsset{set local style=\causet@LocalStyle}
+ \ifx\causet@EventLabel\empty
+ \ifcausetsDrawLabels
+ \causets@drawEventLabel{\causet@E@i}
+ \fi
\else
- \causets@drawEventLabel[every replaced label]
+ \causets@drawEventLabel[every replaced label]{\causet@EventLabel}
\fi
\fi
}
}
+\newcommand*{\causets@drawContinuousLinks}[2][]{%
+% Draws the links in full even if they cross over events.
+\foreach \causet@From/\causet@To/\causet@LocalLinkStyle in {#2}{%
+ \ifx\causet@To\causet@LocalLinkStyle
+ \gdef\causet@LocalLinkStyle{#1}
+ \fi
+ \pgfmathsetmacro\causet@From{int(\causet@From + \causet@Offset)}
+ \pgfmathsetmacro\causet@To{int(\causet@To + \causet@Offset)}
+ \draw[causets/.cd, every link, set local style=\causet@LocalLinkStyle]
+ (E\causet@From) -- (E\causet@To);
+}
+}
+
+\newcommand*{\causets@drawBrokenLinks}[3][]{%
+% Tests every link if it crosses over an unlinked event and breaks the link.
+\foreach \causet@From/\causet@To/\causet@LocalLinkStyle in {#3}{%
+ \ifx\causet@To\causet@LocalLinkStyle
+ \gdef\causet@LocalLinkStyle{#1}
+ \fi
+ % In this function, \causet@u and \causet@v store the link distance in
+ % the u- and in the v-direction, respectively. Since these are coordinate
+ % differences, they are computed without adding the offset.
+ \pgfmathsetmacro\causet@u{int(\causet@To) - int(\causet@From)}
+ \foreach \causet@E@i/\causet@LocalStyle [count=\causet@i] in {#2}{%
+ \ifnum\causet@E@i=\causet@From
+ \xdef\causet@v{\causet@i}
+ \fi
+ \ifnum\causet@E@i=\causet@To
+ \pgfmathparse{int(\causet@i - \causet@v)}
+ \xdef\causet@v{\pgfmathresult}
+ \breakforeach
+ \fi
+ }
+ % Now add offset to events:
+ \pgfmathsetmacro\causet@From{int(\causet@From + \causet@Offset)}
+ \pgfmathsetmacro\causet@To{int(\causet@To + \causet@Offset)}
+ % In this function, \causet@E@j stores the last breaking point and
+ % \causet@j the index of \causet@From.
+ \pgfmathsetmacro\causet@E@j{int(\causet@From - 1)}
+ \edef\causet@j{0}
+ \foreach \causet@E@i/\causet@LocalStyle [count=\causet@i] in {#2}{%
+ \pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
+ \ifnum\causet@E@i=\causet@To
+ \edef\causet@j{0}
+ \breakforeach
+ \fi
+ \ifnum\causet@j>0
+ % If the u-/v-coordinate ratio is the same, the event \causet@E@i falls
+ % along the link and the link needs to break. The ratios are compared
+ % via cross-multiplication, which is faster and does not cause
+ % rounding errors:
+ \pgfmathequal{int((\causet@E@i - \causet@From) * \causet@v)}{int(\causet@u * (\causet@i - \causet@j)))}
+ \ifnum\pgfmathresult=1
+ \ifnum\causet@E@j<\causet@From
+ % Link is crossing over another event, so draw the link up to the
+ % (first) breaking point:
+ \draw[causets/.cd, every link, {Link Start}-{Link Pause}, shorten >=\pgfkeysvalueof{/tikz/causets/broken link gap}, set local style=\causet@LocalLinkStyle]
+ (E\causet@From) -- (E\causet@E@i);
+ \else
+ % Link is crossing over yet another event, so continue from last
+ % breaking point to next breaking point:
+ \draw[causets/.cd, every link, {Link Resume}-{Link Pause}, shorten <=\pgfkeysvalueof{/tikz/causets/broken link gap}, shorten >=\pgfkeysvalueof{/tikz/causets/broken link gap}, set local style=\causet@LocalLinkStyle]
+ (E\causet@E@j) -- (E\causet@E@i);
+ \fi
+ \xdef\causet@E@j{\causet@E@i}
+ \fi
+ \fi
+ \ifnum\causet@E@i=\causet@From
+ \xdef\causet@j{\causet@i}
+ \fi
+ }
+ \ifnum\causet@E@j>\causet@From
+ % Link did cross over another event, so finish the link from last
+ % breaking point to final event:
+ \draw[causets/.cd, every link, {Link Resume}-{Link End}, shorten <=\pgfkeysvalueof{/tikz/causets/broken link gap}, set local style=\causet@LocalLinkStyle]
+ (E\causet@E@j) -- (E\causet@To);
+ \else
+ % Link does not cross over another event, so just draw it:
+ \draw[causets/.cd, every link, set local style=\causet@LocalLinkStyle]
+ (E\causet@From) -- (E\causet@To);
+ \fi
+}
+}
+
\newcommand*{\drawpcauset}[1]{%
% Draws a causet from a permutation.
\causets@prepareCauset{#1}
@@ -390,18 +522,20 @@
yshift=-\causet@N * \causetTileSize / 2]
\causets@drawEvents{#1}
\causets@drawPermutation{#1}
+ \causets@drawSpatialLinks{#1}
\ifcausetsDrawLinks
- \foreach \causet@E@i/\causet@Label/\causet@Text [count=\causet@i] in {#1}{%
+ \foreach \causet@E@i/\causet@LocalStyle [count=\causet@i] in {#1}{%
\pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
% \causet@Bound stores the upper bound to find linked events.
\pgfmathsetmacro\causet@Bound{int(\causet@N + \causet@Start)}
- \foreach \causet@E@j/\causet@Label/\causet@Text [count=\causet@j] in {#1}{%
+ \foreach \causet@E@j/\causet@LocalStyle [count=\causet@j] in {#1}{%
\ifnum\causet@j>\causet@i
\pgfmathsetmacro\causet@E@j{int(\causet@E@j + \causet@Offset)}
\ifnum\causet@E@j<\causet@Bound
\ifnum\causet@E@i<\causet@E@j
% Add link and remember new upper bound:
- \draw[causets/.cd, every link] (E\causet@E@i) -- (E\causet@E@j);
+ \draw[causets/.cd, every link]
+ (E\causet@E@i) -- (E\causet@E@j);
\xdef\causet@Bound{\causet@E@j}
\fi
\fi
@@ -409,7 +543,6 @@
}
}
\fi
- \causets@drawSpatialLinks{#1}
\causets@drawEventLabels{#1}
\end{scope}
\end{scope}
@@ -425,69 +558,9 @@
\causets@drawPermutation{#1}
\ifcausetsDrawLinks
\ifcausetsBreakLinks
- % Broken links are allowed, so test every link if it crosses over an unlinked event:
- \foreach \causet@From/\causet@To in {#2}{%
- % In this function, \causet@u and \causet@v store the link distance in the u- and in the v-direction, respectively. Since these are coordinate differences, they are computed without adding the offset.
- \pgfmathsetmacro\causet@u{int(\causet@To) - int(\causet@From)}
- \foreach \causet@E@i/\causet@Label/\causet@Text [count=\causet@i] in {#1}{%
- \ifnum\causet@E@i=\causet@From
- \xdef\causet@v{\causet@i}
- \fi
- \ifnum\causet@E@i=\causet@To
- \pgfmathparse{int(\causet@i - \causet@v)}
- \xdef\causet@v{\pgfmathresult}
- \breakforeach
- \fi
- }
- % Now add offset to events:
- \pgfmathsetmacro\causet@From{int(\causet@From + \causet@Offset)}
- \pgfmathsetmacro\causet@To{int(\causet@To + \causet@Offset)}
- % In this function, \causet@E@j stores the last breaking point and \causet@j the index of \causet@From.
- \pgfmathsetmacro\causet@E@j{int(\causet@From - 1)}
- \edef\causet@j{0}
- \foreach \causet@E@i/\causet@Label/\causet@Text [count=\causet@i] in {#1}{%
- \pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
- \ifnum\causet@E@i=\causet@To
- \edef\causet@j{0}
- \breakforeach
- \fi
- \ifnum\causet@j>0
- % If the u-/v-coordinate ratio is the same, the event \causet@E@i falls along the link and the link needs to break. The ratios are compared via cross-multiplication, which is faster and does not cause rounding errors:
- \pgfmathequal{int((\causet@E@i - \causet@From) * \causet@v)}{int(\causet@u * (\causet@i - \causet@j)))}
- \ifnum\pgfmathresult=1
- \ifnum\causet@E@j<\causet@From
- % Link is crossing over another event, so draw the link up to the (first) breaking point:
- \draw[causets/.cd, every link, {Link Start}-{Link Pause}, shorten >=\pgfkeysvalueof{/tikz/causets/broken link gap}]
- (E\causet@From) -- (E\causet@E@i);
- \else
- % Link is crossing over yet another event, so continue from last breaking point to next breaking point:
- \draw[causets/.cd, every link, {Link Resume}-{Link Pause}, shorten <=\pgfkeysvalueof{/tikz/causets/broken link gap}, shorten >=\pgfkeysvalueof{/tikz/causets/broken link gap}]
- (E\causet@E@j) -- (E\causet@E@i);
- \fi
- \xdef\causet@E@j{\causet@E@i}
- \fi
- \fi
- \ifnum\causet@E@i=\causet@From
- \xdef\causet@j{\causet@i}
- \fi
- }
- \ifnum\causet@E@j>\causet@From
- % Link did cross over another event, so finish the link from last breaking point to final event:
- \draw[causets/.cd, every link, {Link Resume}-{Link End}, shorten <=\pgfkeysvalueof{/tikz/causets/broken link gap}]
- (E\causet@E@j) -- (E\causet@To);
- \else
- % Link does not cross over another event, so just draw it:
- \draw[causets/.cd, every link]
- (E\causet@From) -- (E\causet@To);
- \fi
- }
+ \causets@drawBrokenLinks{#1}{#2}
\else
- % Broken links are not allowed, so just draw the links:
- \foreach \causet@From/\causet@To in {#2}{%
- \pgfmathsetmacro\causet@From{int(\causet@From + \causet@Offset)}
- \pgfmathsetmacro\causet@To{int(\causet@To + \causet@Offset)}
- \draw[causets/.cd, every link] (E\causet@From) -- (E\causet@To);
- }
+ \causets@drawContinuousLinks{#2}
\fi
\fi
\causets@drawEventLabels{#1}
@@ -496,26 +569,39 @@
}
\newcommand*{\drawrcauset}[2]{%
-% Draws a causet from a permutation and ignoring links given in the second list argument (of link-pairs).
+% Draws a causet from a permutation and ignoring links given in the second
+% list argument (of link-pairs).
\causets@prepareCauset{#1}
\begin{scope}[rotate=45]
\begin{scope}[xshift=-\causet@N * \causetTileSize / 2,
yshift=-\causet@N * \causetTileSize / 2]
\causets@drawEvents{#1}
\causets@drawPermutation{#1}
+ \causets@drawSpatialLinks{#1}
+ % Add omitted links as spatial links:
+ \ifcausetsDrawSpatialLinks
+ \foreach \causet@From/\causet@To/\causet@LocalLinkStyle in {#2}{%
+ \ifx\causet@To\causet@LocalLinkStyle
+ \pgfmathsetmacro\causet@From{int(\causet@From + \causet@Offset)}
+ \pgfmathsetmacro\causet@To{int(\causet@To + \causet@Offset)}
+ \draw[causets/.cd, every spatial link]
+ (E\causet@From) -- (E\causet@To);
+ \fi
+ }
+ \fi
\ifcausetsDrawLinks
- \foreach \causet@E@i/\causet@Label/\causet@Text [count=\causet@i] in {#1}{%
+ \foreach \causet@E@i/\causet@LocalStyle [count=\causet@i] in {#1}{%
\pgfmathsetmacro\causet@E@i{int(\causet@E@i + \causet@Offset)}
% \causet@Bound stores the upper bound to find linked events.
\pgfmathsetmacro\causet@Bound{int(\causet@N + \causet@Start)}
- \foreach \causet@E@j/\causet@Label/\causet@Text [count=\causet@j] in {#1}{%
+ \foreach \causet@E@j/\causet@LocalStyle [count=\causet@j] in {#1}{%
\ifnum\causet@j>\causet@i
\pgfmathsetmacro\causet@E@j{int(\causet@E@j + \causet@Offset)}
\ifnum\causet@E@j<\causet@Bound
\ifnum\causet@E@i<\causet@E@j
% Check second list argument if the link has to be ignored:
\global\causet@ItemFoundInListfalse
- \foreach \causet@From/\causet@To in {#2}{%
+ \foreach \causet@From/\causet@To/\causet@LocalLinkStyle in {#2}{%
\pgfmathparse{and(int(\causet@From + \causet@Offset) == int(\causet@E@i), int(\causet@To + \causet@Offset) == int(\causet@E@j))}
\ifnum\pgfmathresult=1
\global\causet@ItemFoundInListtrue
@@ -525,7 +611,8 @@
\relax% Skip link as it is included in the second argument.
\else
% Draw link as it is not included in the second argument:
- \draw[causets/.cd, every link] (E\causet@E@i) -- (E\causet@E@j);
+ \draw[causets/.cd, every link]
+ (E\causet@E@i) -- (E\causet@E@j);
\fi
% Remember new upper bound:
\xdef\causet@Bound{\causet@E@j}
@@ -534,15 +621,11 @@
\fi
}
}
- \fi
- \causets@drawSpatialLinks{#1}
- % Add omitted links as spatial links:
- \ifcausetsDrawSpatialLinks
- \foreach \causet@From/\causet@To in {#2}{%
- \pgfmathsetmacro\causet@From{int(\causet@From + \causet@Offset)}
- \pgfmathsetmacro\causet@To{int(\causet@To + \causet@Offset)}
- \draw[causets/.cd, every spatial link] (E\causet@From) -- (E\causet@To);
- }
+ \ifcausetsBreakLinks
+ \causets@drawBrokenLinks[draw=none]{#1}{#2}
+ \else
+ \causets@drawContinuousLinks[draw=none]{#2}
+ \fi
\fi
\causets@drawEventLabels{#1}
\end{scope}
@@ -551,21 +634,48 @@
\newcommand*{\pcauset}[2][]{%
% Inserts a TikZ picture with a causet, created from a permutation.
-\begin{tikzpicture}[causets/.cd, every causet, #1]\drawpcauset{#2}\end{tikzpicture}}
+\causets@Padding%
+\ifcausetsNameExternal%
+ \causets@setCausetName{#1}%
+\fi%
+\begin{tikzpicture}[causets/.cd, every causet, #1]%
+\drawpcauset{#2}%
+\end{tikzpicture}%
+\causets@Padding%
+}
\newcommand*{\causet}[3][]{%
-% Inserts a TikZ picture with a causet, created from a permutation and a link-pair list.
-\begin{tikzpicture}[causets/.cd, every causet, #1]\drawcauset{#2}{#3}\end{tikzpicture}}
+% Inserts a TikZ picture with a causet, created from a permutation and a
+% link-pair list.
+\causets@Padding%
+\ifcausetsNameExternal%
+ \causets@setCausetName{#1}%
+\fi%
+\begin{tikzpicture}[causets/.cd, every causet, #1]%
+\drawcauset{#2}{#3}%
+\end{tikzpicture}%
+\causets@Padding%
+}
\newcommand*{\rcauset}[3][]{%
-% Inserts a TikZ picture with a causet, created from a permutation and a link-pair list of links to remove.
-\begin{tikzpicture}[causets/.cd, every causet, #1]\drawrcauset{#2}{#3}\end{tikzpicture}}
-
-%% Short-hand and pre-computed causet functions:
-\providecommand{\causetspath}{.}
+% Inserts a TikZ picture with a causet, created from a permutation and a
+% link-pair list of links to remove.
+\causets@Padding%
+\ifcausetsNameExternal%
+ \causets@setCausetName{#1}%
+\fi%
+\begin{tikzpicture}[causets/.cd, every causet, #1]%
+\drawrcauset{#2}{#3}%
+\end{tikzpicture}%
+\causets@Padding%
+}
+%% Short-hand functions and external causets:
\newcommand*{\causetfile}[2][]{%
-\includegraphics[#1]{\causetspath/#2}}
+\causets@Padding%
+\includegraphics[#1]{\causets@NamePrefix#2}%
+\causets@Padding%
+}
\newcommand*{\pcausetP}[2][]{%
{\causetsDrawPermutationtrue\causetsDrawLabelsfalse\pcauset[#1]{#2}}}
@@ -619,7 +729,7 @@
\fi%
}
-\newcommand*{\causetClosedFence}[2][]{%
+\newcommand*{\causetCrown}[2][]{%
\ifcase#2%
\or%=1
\pcauset[#1]{1,2}%
@@ -643,7 +753,3 @@
\rcauset[#1]{18,16,20,14,19,12,17,10,15,8,13,6,11,4,9,2,7,1,5,3}{2/5,4/7,6/9,8/11,10/13,12/15,14/17,16/19}%
\fi%
}
-
-\newcommand*{\causetCrown}[1][]{%
-\causetClosedFence[#1]{3}%
-}
diff --git a/graphics/pgf/contrib/causets/causets.tex b/graphics/pgf/contrib/causets/causets.tex
index dafa688cb8..e3a8803220 100644
--- a/graphics/pgf/contrib/causets/causets.tex
+++ b/graphics/pgf/contrib/causets/causets.tex
@@ -12,6 +12,9 @@
\renewcommand{\thesubsection}{}
\titlespacing*{\subsection}{0pt}{15pt}{5pt}
\titleformat{\subsection}{\small\bfseries\sffamily}{\thetitle}{0pt}{}{}
+\renewcommand{\thesubsubsection}{}
+\titlespacing*{\subsubsection}{0pt}{5pt}{0pt}
+\titleformat{\subsubsection}{\small\sffamily\itshape}{\thetitle}{0pt}{}{}
\usepackage{fancyhdr} % advanced header and footer
\pagestyle{fancy}
\fancypagestyle{plain}{\fancyhf{}\renewcommand{\headrulewidth}{0.0pt}}
@@ -72,7 +75,7 @@
}
\usepackage{amsmath}
-\usepackage{causets}
+\usepackage[external]{causets}
\newcommand*{\PH}[1][value]{{\small\itshape$\langle$#1$\rangle$}} % placeholder
@@ -81,25 +84,26 @@
\tikzmark{#2}%
\tikz[remember picture, overlay]%
\path (pic cs:#2) -- ++(-1cm, 0.5em) -- ++(#1, 0) node {#3};%
-}% version causet
+}% \versioncauset
-\title{{\small package}\\[0.5cm] \huge causets \\[0.2cm]{\small version 1.3\\[0.5cm]}}
+\title{{\small package}\\[0.5cm] \huge causets \\[0.2cm]{\small version 1.4\\[0.5cm]}}
\author{Christoph Minz}
-\date{May 23, 2022}
+\date{6 March 2023}
\begin{document}
{\sffamily\maketitle}
\begin{center}
+\large
$\displaystyle
\tikzcausetsset{large}
\left\{
- \pcauset{3,2,1},
- \pcauset{3,1,2},
- \pcauset{2,1,3},
- \pcauset{1,3,2},
- \pcauset{1,2,3}
+ \pcauset[name=3Antichain_large]{3,2,1},
+ \pcauset[name=2ChainUnion1Chain_large]{3,1,2},
+ \pcauset[name=Wedge_large]{2,1,3},
+ \pcauset[name=Vee_large]{1,3,2},
+ \pcauset[name=3Chain_large]{1,2,3}
\right\}
$
\\
@@ -107,11 +111,11 @@ $\displaystyle
\tikzcausetsset{large}
\causetsDrawLabelstrue
\left\{
- \pcauset{3,2,1},
- \pcauset{3,1,2},
- \pcauset{2,1,3},
- \pcauset{1,3,2},
- \pcauset{1,2,3}
+ \pcauset[name=3Antichain_largelabeled]{3,2,1},
+ \pcauset[name=2ChainUnion1Chain_largelabeled]{3,1,2},
+ \pcauset[name=Wedge_largelabeled]{2,1,3},
+ \pcauset[name=Vee_largelabeled]{1,3,2},
+ \pcauset[name=3Chain_largelabeled]{1,2,3}
\right\}
$
\\
@@ -119,22 +123,21 @@ $\displaystyle
\tikzcausetsset{large}
\causetsDrawPermutationtrue
\left\{
- \pcauset{3,2,1},
- \pcauset{3,1,2},
- \pcauset{2,1,3},
- \pcauset{1,3,2},
- \pcauset{1,2,3}
+ \pcauset[name=3Antichain_largeperm]{3,2,1},
+ \pcauset[name=2ChainUnion1Chain_largeperm]{3,1,2},
+ \pcauset[name=Wedge_largeperm]{2,1,3},
+ \pcauset[name=Vee_largeperm]{1,3,2},
+ \pcauset[name=3Chain_largeperm]{1,2,3}
\right\}
$
\end{center}
-
-\vspace{2em}
+\vfill
\section*{What is the purpose of this package?}
\label{sec:Purpose}
Causal set theory is a proposed framework for quantum gravity.
Causal sets (\textbf{causets} for short) are locally finite, partially ordered sets.
-Though one can describe them mathematically as a set with a partial order, it is usually much simpler to just draw (Hasse) diagrams.
+They are commonly represent with Hasse diagrams, where the partial order (standing for the direction of time) increases towards to the top of the page.
This package implements some simple functionality to produce such diagrams for causets by drawing them as TikZ graphics.
The drawing algorithm makes use of the fact that every finite causet that embeds in $\smash{1 + 1}$ dimensional Minkowski spacetime can be represented by a product of two total orders (2D-orders), where one order can be the total order of the integers labelling the causet elements, while the other is a permutation of the labels\footnote{See \url{https://arxiv.org/abs/0706.0375} and \url{https://arxiv.org/abs/2011.02965} for more details on 2D-orders and causal sets.}.
@@ -164,11 +167,11 @@ The three main commands of this package are
\end{lstlisting}
The first command takes a permutation of the integers from an interval $[ a, b ]$ (where $N = b - a + 1 \geq 0$ is the cardinality of the causet).
The permutation determines the event positions and causal structure such that events $i$ and $j$ are linked if $i < j$ and there is no $k > j$ between $i$ and $j$ in the permutation.
-The second command does the same, but ignores links between event pairs \lstinlinei/j as given in the second argument.
+The second command does the same, but removes (restyles) links between event pairs \lstinlinei/j as given in the second argument.
The third command only uses the permutation to position the events, the links have to be explicitly specified by event pairs \lstinlinei/j in the second argument.
Any causet that can be embedded in $1 + 1$ dimensional Minkowski spacetime can also be described by the product of two total orders (a 2D-order).
-Let the causets elements be labeled by an increasing null coordinate $u$.
+Let the causet elements be labeled by an increasing null coordinate $u$.
In the first diagram of \autoref{tab:MainCommandsExamples}, the $u$-coordinate axis points upwards on the right hand side.
The causal relation (partial order) implies a label permutation along the null coordinate $v$ (pointing upwards along the left axis).
This permutation is the input of the \lstinline\pcauset command that computes the causal relation from the permutation.
@@ -184,18 +187,18 @@ See example 1 in \autoref{tab:MainCommandsExamples}.
\\\midrule
1
& \lstinline\pcauset{4,7,2,6,1,5,3}
- & \pcauset{4,7,2,6,1,5,3}
+ & \pcauset[name=pcausetExample_perm]{4,7,2,6,1,5,3}
\\\midrule
2
& \lstinline\rcauset{4,7,2,6,1,5,3}{2/5}
- & \rcauset{4,7,2,6,1,5,3}{2/5}
+ & \rcauset[name=rcausetExample_perm]{4,7,2,6,1,5,3}{2/5}
\\\midrule
3
& \lstinline\causet{4,7,2,6,1,5,3}{1/3,1/5,2/3,2/6,4/5,4/6,4/7}
- & \causet{4,7,2,6,1,5,3}{1/3,1/5,2/3,2/6,4/5,4/6,4/7}
+ & \causet[name=causetExample_perm]{4,7,2,6,1,5,3}{1/3,1/5,2/3,2/6,4/5,4/6,4/7}
\\\bottomrule
\end{tabular*}
- \caption{\label{tab:MainCommandsExamples} Examples for the three main commands of the package.}
+ \caption{\label{tab:MainCommandsExamples} Examples of the three main commands.}
\end{table}
Every causet that does not embed in $1 + 1$ dimensional Minkowski spacetime can be made embeddable by adding links, for which the \lstinline\rcauset command is defined.
@@ -214,58 +217,50 @@ You may use any of the three main commands to add a causet diagram in-line with
As an example for the use in a mathematical equation, here is the code for the first set of causets on the title page:
\begin{lstlisting}
\usepackage{causets}
-
...
-
\begin{document}
-
...
-
\begin{align}
S &=
\left\{
- \pcauset{3,2,1},\, \pcauset{3,1,2},\, \pcauset{2,1,3},\, \pcauset{1,3,2},\, \pcauset{1,2,3}
+ \pcauset{3,2,1}, \pcauset{3,1,2}, \pcauset{2,1,3}, \pcauset{1,3,2}, \pcauset{1,2,3}
\right\}.
\end{align}
\end{lstlisting}
-\vspace{-1.5em}
+%\vspace{-1ex}
\begin{align}
S &=
\left\{
- \pcauset{3,2,1},\,
- \pcauset{3,1,2},\,
- \pcauset{2,1,3},\,
- \pcauset{1,3,2},\,
- \pcauset{1,2,3}
+ \pcauset[name=3Antichain]{3,2,1},
+ \pcauset[name=2ChainUnion1Chain]{3,1,2},
+ \pcauset[name=Wedge]{2,1,3},
+ \pcauset[name=Vee]{1,3,2},
+ \pcauset[name=3Chain]{1,2,3}
\right\}
.
\end{align}
Of course, a given causet might have more than one representing permutation, so that any of those permutations may be used.
However, you may consider it a good practice to choose the permutation that starts with the larger integer, so that disjoint elements appear to the right in the graphs.
-For example, you may write \lstinline\pcauset{3,1,2}, \pcauset{3,1,2}, as opposed to \lstinline\pcauset{2,3,1}, \pcauset{2,3,1}.
+For example, you may write \lstinline\pcauset{3,1,2}, \pcauset[name=2ChainUnion1Chain]{3,1,2}, as opposed to \lstinline\pcauset{2,3,1}, \pcauset[name=1ChainUnion2Chain]{2,3,1}.
The arguments of the commands are lists that are iterated over by a \lstinline\foreach loop of PGF/TikZ.
So you may use dots {...} to complete ranges of integers automatically.
-You may use this feature to draw chains like \pcauset{1,...,5} (with \lstinline\pcauset{1,...,5}) or antichains like \pcauset{5,...,1} (with \lstinline\pcauset{5,...,1}).
+You may use this feature to draw chains like \pcauset[name=5Chain]{1,...,5} (with \lstinline\pcauset{1,...,5}) or antichains like \pcauset[name=5Antichain]{5,...,1} (with \lstinline\pcauset{5,...,1}).
As a more complex example for the dots notation, consider
\begin{lstlisting}
-\pcauset{20,18,...,8,
- 1,7,6,...,2,
- 9,11,...,19}
+\pcauset{20,18,...,8, 1,7,6,...,2, 9,11,...,19}
\end{lstlisting}
which produces the same diagram as
\begin{lstlisting}
-\pcauset{20,18,16,14,12,10,8,
- 1,7,6,5,4,3,2,
- 9,11,13,15,17,19}
+\pcauset{20,18,16,14,12,10,8, 1,7,6,5,4,3,2, 9,11,13,15,17,19}
\end{lstlisting}
\begin{center}
- \pcauset[black colors, permutation]{20,18,16,...,8,1,7,6,...,2,9,11,...,19}
+ \pcauset[black colors, permutation, name=DotsExample_perm]{20,18,16,...,8,1,7,6,...,2,9,11,...,19}
\end{center}
In an optional argument, the main commands accepts any causets or TikZ keys to change the style of the causet.
-For example, the blue causet \pcauset[blue colors]{2,4,5,1,3} is obtained with
+For example, the blue causet \pcauset[blue colors, name=NDash_blue]{2,4,5,1,3} is obtained with
\begin{lstlisting}
\pcauset[blue colors]{2,4,5,1,3}
\end{lstlisting}
@@ -274,7 +269,7 @@ For example, the blue causet \pcauset[blue colors]{2,4,5,1,3} is obtained with
\label{sec:PackageOptions}
Each of the package options can either be specified in square brackets when declaring the package (option applies globally) or be changed with a macro at any point in the document (option applies to the local scope).
-If no options are used, an output like \rcauset{4,2,7,6,1,5,3}{2/5} is obtained with the commands
+If no options are used, an output like \rcauset[name=Options_rcauset]{4,2,7,6,1,5,3}{2/5} is obtained with the code
\begin{lstlisting}
\usepackage{causets}
... \begin{document} ...
@@ -289,7 +284,7 @@ The package options are listed together with example outputs created with the co
\end{lstlisting}
If not specified otherwise, any package option also works with the command \lstinline\causet.
-\begin{longtable}{p{0.65\textwidth}p{0.13\textwidth}p{0.13\textwidth}}
+\begin{longtable}{p{0.63\textwidth}p{0.14\textwidth}p{0.14\textwidth}}
\toprule
Package option & \lstinline\pcauset & \lstinline\rcauset
\\\midrule
@@ -309,19 +304,19 @@ If not specified otherwise, any package option also works with the command \lsti
\lstinline\usepackage[permutation]{causets} shows permutations
& \multirow{3}{5em}{%
- \causetsDrawPermutationtrue \pcauset{4,2,7,6,1,5,3}}
+ \causetsDrawPermutationtrue \pcauset[name=Options_pcauset_perm]{4,2,7,6,1,5,3}}
& \multirow{3}{5em}{%
- \causetsDrawPermutationtrue \rcauset{4,2,7,6,1,5,3}{2/5}}
+ \causetsDrawPermutationtrue \rcauset[name=Options_rcauset_perm]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\causetsDrawPermutationtrue activates this option)
\\
(\lstinline\causetsDrawPermutationfalse deactivates this option)
-\\\midrule
+\\\pagebreak%\midrule
\lstinline\usepackage[permutation, uunlabeled]{causets}
& \multirow{4}{5em}{%
- \causetsDrawPermutationtrue \causetsDrawULabelsfalse \pcauset{4,2,7,6,1,5,3}}
+ \causetsDrawPermutationtrue \causetsDrawULabelsfalse \pcauset[name=Options_pcauset_permv]{4,2,7,6,1,5,3}}
& \multirow{4}{5em}{%
- \causetsDrawPermutationtrue \causetsDrawULabelsfalse \rcauset{4,2,7,6,1,5,3}{2/5}}
+ \causetsDrawPermutationtrue \causetsDrawULabelsfalse \rcauset[name=Options_rcauset_permv]{4,2,7,6,1,5,3}{2/5}}
\\
shows permutations without u-labels
\\
@@ -331,9 +326,9 @@ If not specified otherwise, any package option also works with the command \lsti
\\\midrule
\lstinline\usepackage[permutation, vunlabeled]{causets}
& \multirow{4}{5em}{%
- \causetsDrawPermutationtrue \causetsDrawVLabelsfalse \pcauset{4,2,7,6,1,5,3}}
+ \causetsDrawPermutationtrue \causetsDrawVLabelsfalse \pcauset[name=Options_pcauset_permu]{4,2,7,6,1,5,3}}
& \multirow{4}{5em}{%
- \causetsDrawPermutationtrue \causetsDrawVLabelsfalse \rcauset{4,2,7,6,1,5,3}{2/5}}
+ \causetsDrawPermutationtrue \causetsDrawVLabelsfalse \rcauset[name=Options_rcauset_permu]{4,2,7,6,1,5,3}{2/5}}
\\
shows permutations without v-labels
\\
@@ -343,40 +338,40 @@ If not specified otherwise, any package option also works with the command \lsti
\\\midrule\midrule
\lstinline\usepackage[labeled]{causets} shows labeled events
& \multirow{3}{5em}{%
- \causetsDrawLabelstrue \pcauset{4,2,7,6,1,5,3}}
+ \causetsDrawLabelstrue \pcauset[name=Options_pcauset_labeled]{4,2,7,6,1,5,3}}
& \multirow{3}{5em}{%
- \causetsDrawLabelstrue \rcauset{4,2,7,6,1,5,3}{2/5}}
+ \causetsDrawLabelstrue \rcauset[name=Options_rcauset_labeled]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\causetsDrawLabelstrue activates labels)
\\
(\lstinline\causetsDrawLabelsfalse deactivates labels)
\\\midrule\midrule
- \lstinline\usepackage[continuous]{causets} allows links to cross over events. Link interruptions (default) only affect the \lstinline\causet command, but not the examples of \lstinline\pcauset and \lstinline\rcauset, shown on the right.
-& \multirow{5}{5em}{%
- \causetsBreakLinkstrue \pcauset{4,2,7,6,1,5,3}}
-& \multirow{5}{5em}{%
- \causetsBreakLinkstrue \rcauset{4,2,7,6,1,5,3}{2/5}}
+ \lstinline\usepackage[continuous]{causets} allows links to cross over events. Link interruptions (default) only affect the \lstinline\causet command and ``restyled'' links of \lstinline\rcauset, but not the examples of shown on the right.
+& \multirow{6}{5em}{%
+ \causetsBreakLinkstrue \pcauset[name=Options_pcauset_continuous]{4,2,7,6,1,5,3}}
+& \multirow{6}{5em}{%
+ \causetsBreakLinkstrue \rcauset[name=Options_rcauset_continuous]{4,2,7,6,1,5,3}{2/5}}
\\
- Details on interrupted (broken) links are given below.
+ Details on interrupted (broken) links are given below this table.
\\\midrule
\lstinline\usepackage[caps]{causets} sets caps as link tips
& \multirow{2}{5em}{%
- \pcauset[cap links]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_caps, cap links]{4,2,7,6,1,5,3}}
& \multirow{2}{5em}{%
- \rcauset[cap links]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_caps, cap links]{4,2,7,6,1,5,3}{2/5}}
\\
\\\midrule
- \lstinline\usepackage[arrows]{causets} sets arrows (rounded, open stealth) as link tips
+ \lstinline\usepackage[arrows]{causets} sets arrows (rounded stealth) as link tips
& \multirow{2}{5em}{%
- \pcauset[arrow links]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_arrows, arrow links]{4,2,7,6,1,5,3}}
& \multirow{2}{5em}{%
- \rcauset[arrow links]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_arrows, arrow links]{4,2,7,6,1,5,3}{2/5}}
\\\midrule
\lstinline\usepackage[unlinked]{causets} does not draw links
& \multirow{3}{5em}{%
- \causetsDrawLinksfalse \pcauset{4,2,7,6,1,5,3}}
+ \causetsDrawLinksfalse \pcauset[name=Options_pcauset_unlinked]{4,2,7,6,1,5,3}}
& \multirow{3}{5em}{%
- \causetsDrawLinksfalse \rcauset{4,2,7,6,1,5,3}{2/5}}
+ \causetsDrawLinksfalse \rcauset[name=Options_rcauset_unlinked]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\causetsDrawLinkstrue actives links)
\\
@@ -384,55 +379,55 @@ If not specified otherwise, any package option also works with the command \lsti
\\\midrule\midrule
\lstinline\usepackage[tiny]{causets} for tiny diagrams
& \multirow{2}{5em}{%
- \pcauset[tiny]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_tiny, tiny]{4,2,7,6,1,5,3}}
& \multirow{2}{5em}{%
- \rcauset[tiny]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_tiny, tiny]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{tiny} sets tiny sizes)
\\\midrule
\lstinline\usepackage[smaller]{causets} for very small diagrams
& \multirow{2}{5em}{%
- \pcauset[very small]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_verysmall, very small]{4,2,7,6,1,5,3}}
& \multirow{2}{5em}{%
- \rcauset[very small]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_verysmall, very small]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{very small} sets very small sizes)
\\\midrule
\lstinline\usepackage[small]{causets} for small diagrams
& \multirow{2}{5em}{%
- \pcauset[small]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_small, small]{4,2,7,6,1,5,3}}
& \multirow{2}{5em}{%
- \rcauset[small]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_small, small]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{small} sets small sizes)
\\\pagebreak%\midrule
For comparison, here are the normal sized causets.
& \multirow{2}{5em}{%
- \pcauset[normal]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset, normal]{4,2,7,6,1,5,3}}
& \multirow{2}{5em}{%
- \rcauset[normal]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset, normal]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{normal} sets normal sizes)
\\\midrule
\lstinline\usepackage[large]{causets} for large diagrams
& \multirow{3}{5em}{%
- \pcauset[large]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_large, large]{4,2,7,6,1,5,3}}
& \multirow{3}{5em}{%
- \rcauset[large]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_large, large]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{large} sets large sizes)
\\[1.3em]\midrule
\lstinline\usepackage[larger]{causets} for very large diagrams
& \multirow{3}{5em}{%
- \pcauset[very large]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_verylarge, very large]{4,2,7,6,1,5,3}}
& \multirow{3}{5em}{%
- \rcauset[very large]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_verylarge, very large]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{very large} sets very large sizes)
\\[2.1em]\midrule
\lstinline\usepackage[huge]{causets} for huge diagrams
& \multirow{4}{5em}{%
- \pcauset[huge]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_huge, huge]{4,2,7,6,1,5,3}}
\\
(\lstinline\tikzcausetsset{huge} sets huge sizes)
\\
@@ -440,70 +435,88 @@ If not specified otherwise, any package option also works with the command \lsti
\\[2.5em]\midrule\midrule
\lstinline\usepackage[black]{causets} for black and white causets
& \multirow{2}{5em}{%
- \pcauset[black colors]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_black, black colors]{4,2,7,6,1,5,3}}
& \multirow{2}{5em}{%
- \rcauset[black colors]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_black, black colors]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{black colors} activates the option)
\\\midrule
\lstinline\usepackage[gray]{causets} for grey scale causets (default)
-& \multirow{2}{5em}{%
- \pcauset[gray colors]{4,2,7,6,1,5,3}}
-& \multirow{2}{5em}{%
- \rcauset[gray colors]{4,2,7,6,1,5,3}{2/5}}
+& \multirow{3}{5em}{%
+ \pcauset[name=Options_pcauset_gray, gray colors]{4,2,7,6,1,5,3}}
+& \multirow{3}{5em}{%
+ \rcauset[name=Options_rcauset_gray, gray colors]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{gray colors} activates the option)
\\\midrule
\lstinline\usepackage[blue]{causets} for blue causets
& \multirow{2}{5em}{%
- \pcauset[blue colors]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_blue, blue colors]{4,2,7,6,1,5,3}}
& \multirow{2}{5em}{%
- \rcauset[blue colors]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_blue, blue colors]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{blue colors} activates the option)
\\\midrule
\lstinline\usepackage[neon]{causets} for brightly coloured causets
& \multirow{3}{5em}{%
- \pcauset[neon colors]{4,2,7,6,1,5,3}}
+ \pcauset[name=Options_pcauset_neon, neon colors]{4,2,7,6,1,5,3}}
& \multirow{3}{5em}{%
- \rcauset[neon colors]{4,2,7,6,1,5,3}{2/5}}
+ \rcauset[name=Options_rcauset_neon, neon colors]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\tikzcausetsset{neon colors} activates the option)
\\
Details on colour options are given in \autoref{sec:Colors}.
\\\midrule\midrule
\lstinline\usepackage[spatial]{causets} shows dashed lines between spatially separated events (which is a secondary partial order for the causets drawn with \lstinline\pcauset). This option only affects the \lstinline\pcauset and \lstinline\rcauset commands, but not the \lstinline\causet command.
-& \multirow{3}{5em}{%
- \pcauset[spatially linked]{4,2,7,6,1,5,3}}
-& \multirow{3}{5em}{%
- \rcauset[spatially linked]{4,2,7,6,1,5,3}{2/5}}
+& \multirow{7}{5em}{%
+ \pcauset[name=Options_pcauset_spatial, spatially linked]{4,2,7,6,1,5,3}}
+& \multirow{7}{5em}{%
+ \rcauset[name=Options_rcauset_spatial, spatially linked]{4,2,7,6,1,5,3}{2/5}}
\\
(\lstinline\causetsDrawSpatialLinkstrue activates the option)
\\
(\lstinline\causetsDrawSpatialLinksfalse deactivates the option)
+\\\midrule
+ \lstinline\usepackage[external]{causets} loads the \lstinlineexternal library, sets the external file name prefix to ``\lstinlinecausets/'', and enables the use of causet names for the external file names. (This feature has to be loaded as option in the preamble not later in the document.)
+& \multirow{6}{5em}{%
+ \pcauset[name=Options_pcauset]{4,2,7,6,1,5,3}}
+& \multirow{6}{5em}{%
+ \rcauset[name=Options_rcauset]{4,2,7,6,1,5,3}{2/5}}
+\\
+ For details on externalization of causets, see \autoref{sec:ExternalCausets}.
\\\bottomrule
\end{longtable}
-By default, the links in a \lstinline\causet diagram are interrupted if they cross over another event (exactly over the event centre).
-Any such crossing of links over events can only occur for the links explicitly specified for the \lstinline\causet command, but not for the links drawn by \lstinline\pcauset or \lstinline\rcauset.
+By default, the links in a diagram are interrupted if they cross over another event (exactly over the event centre).
+Any such crossing of links over events can only occur for the links explicitly specified for the \lstinline\causet command or the locally restyled links of the \lstinline\rcauset command, but not for the links drawn by \lstinline\pcauset or automatically drawn links by \lstinline\rcauset.
This feature is activated by default (\lstinline\causetsBreakLinkstrue) and can be deactivated with \lstinline\causetsBreakLinksfalse, or with the option \lstinlinecontinuously linked.
For example, here is a causet that embeds in 3-dimensional but not in 2-dimensional Minkowski spacetime.
-This causet has one event (0) in the centre that is linked to events -3 and 3 but not to events -6 and 6, while a link from -6 to 6 crosses over it.
+This causet has one event (0) in the centre that is linked to events -3 and 3 but not to events -6 and 6, while a link (blue) from -6 to 6 crosses over it.
\begin{lstlisting}
\usepackage[larger]{causets}
-\tikzcausetsset{labels={right, position=east}, offset=-8}
-
+\tikzcausetsset{labels={right, position=east}}
... \begin{document} ...
-
-\causet[brokenly linked]{7,10,3,1,12,5,2,8,14,11,4,15,13,6,9} {1/2,1/12,2/4,2/14,3/4,3/5,4/6,4/15,5/6,5/8,6/9,7/8,7/10,8/9,8/11, 10/11,10/12,11/13,12/13,12/14,14/15}
-\causet[continuously linked]{7,10,3,1,12,5,2,8,14,11,4,15,13,6,9} {1/2,1/12,2/4,2/14,3/4,3/5,4/6,4/15,5/6,5/8,6/9,7/8,7/10,8/9,8/11, 10/11,10/12,11/13,12/13,12/14,14/15}
+\causet[brokenly linked]{-1,2,-5,-7,4,-3,-6,0,6,3,-4,7,5,-2,1} {-7/-6,-7/4,-6/-4,-6/6/blue!50!cyan,-5/-4,-5/-3,-4/-2,-4/7, -3/-2,-3/0,-2/1,-1/0,-1/2,0/1,0/3,2/3,2/4,3/5,4/5,4/6,6/7}
+\causet[continuously linked]{-1,2,-5,-7,4,-3,-6,0,6,3,-4,7,5,-2,1} {-7/-6,-7/4,-6/-4,-6/6/blue!50!cyan,-5/-4,-5/-3,-4/-2,-4/7, -3/-2,-3/0,-2/1,-1/0,-1/2,0/1,0/3,2/3,2/4,3/5,4/5,4/6,6/7}
\end{lstlisting}
\begin{center}
- \causet[very large, labels={right, at=east}, offset=-8]{7,10,3,1,12,5,2,8,14,11,4,15,13,6,9}{1/2,1/12,2/4,2/14,3/4,3/5,4/6,4/15,5/6,5/8,6/9,7/8,7/10,8/9,8/11,10/11,10/12,11/13,12/13,12/14,14/15}
- \hspace{1cm}
- \causet[very large, labels={right, at=east}, continuously linked, offset=-8]{7,10,3,1,12,5,2,8,14,11,4,15,13,6,9}{1/2,1/12,2/4,2/14,3/4,3/5,4/6,4/15,5/6,5/8,6/9,7/8,7/10,8/9,8/11,10/11,10/12,11/13,12/13,12/14,14/15}
+ \causet[name=BrokenlyLinkedExample_verylarge, very large, labels={right, at=east}]{-1,2,-5,-7,4,-3,-6,0,6,3,-4,7,5,-2,1}{-7/-6,-7/4,-6/-4,-6/6/blue!50!cyan,-5/-4,-5/-3,-4/-2,-4/7,-3/-2,-3/0,-2/1,-1/0,-1/2,0/1,0/3,2/3,2/4,3/5,4/5,4/6,6/7}
+ \hspace{1.5cm}
+ \causet[name=ContinuouslyLinkedExample_verylarge, very large, labels={right, at=east}, continuously linked]{-1,2,-5,-7,4,-3,-6,0,6,3,-4,7,5,-2,1}{-7/-6,-7/4,-6/-4,-6/6/blue!50!cyan,-5/-4,-5/-3,-4/-2,-4/7,-3/-2,-3/0,-2/1,-1/0,-1/2,0/1,0/3,2/3,2/4,3/5,4/5,4/6,6/7}
\end{center}
+Note that the links are drawn in the order given by the second argument.
+Similar results are obtained with the following \lstinline\rcauset commands (since version 1.4)
+\begin{lstlisting}
+\rcauset[brokenly linked]{-1,2,-5,-7,4,-3,-6,0,6,3,-4,7,5,-2,1} {-7/-3,-6/0,-5/4,-4/5,0/6,3/7,-6/6/blue!50!cyan}
+\rcauset[continuously linked]{-1,2,-5,-7,4,-3,-6,0,6,3,-4,7,5,-2,1} {-7/-3,-6/0,-5/4,-4/5,0/6,3/7,-6/6/blue!50!cyan}
+\end{lstlisting}
+where all pairs of integers in the second argument are links to be removed (by default, get the local style \lstinlinedraw=none).
+All links with a local style specified (here the last link only) are drawn in the order they appear after all automatic links have been drawn.
+Local styles are explained in \autoref{sec:LocalStyles} in more detail.
+
+All main commands, the short hand macros (see \autoref{sec:ShortHandMacros}), and the command \lstinline\causetfile (see \autoref{sec:ExternalCausets}) add a small padding to the left and right of the diagram for a better spacing within text and mathematical expressions.
+The padding is adjustable with \lstinlinepadding=\PH\ and stored in the macro \lstinline\causets@Padding (by default, it is \lstinline\thinspace).
\section{Short hand macros}
\label{sec:ShortHandMacros}
@@ -511,11 +524,11 @@ The permutations and labels for causets can be switched on globally with the pac
\lstinline\causetsDrawPermutationtrue (same as the command \lstinline\tikzcausetsset{show permutation}) and \lstinline\causetsDrawLabelstrue (or \lstinline\tikzcausetsset{labeled}), respectively.
To show only single causets with either of these options, there exist short hand macros for all three main commands.
-Each main command can be followed by a capital letter \lstinlineP (to show the permutation), \lstinlineL (to show event labels), or \lstinlineX (to show both).
+Each main command can be followed by a capital letter \lstinlineP (to show the permutation only), \lstinlineL (to show event labels only), or \lstinlineX (to show both).
\begin{lstlisting}
Causets with permutations (and labels) \pcausetP{4,1,2,3}, \pcausetX{1,2,3,4}, \pcausetL{1,2,4,3}, and without any \pcauset{2,4,1,3}.
\end{lstlisting}
-Causets with permutations (and labels) \pcausetP{4,1,2,3}, \pcausetX{1,2,3,4}, \pcausetL{1,2,4,3}, and without any \pcauset{2,4,1,3}.
+Causets with permutations (and labels) \pcausetP[name=Macro_P]{4,1,2,3}, \pcausetX[name=Macro_X]{1,2,3,4}, \pcausetL[name=Macro_L]{1,2,4,3}, and without any \pcauset[name=Macro]{2,4,1,3}.
These results are also obtained by using the optional parameter, for example:
\begin{lstlisting}
@@ -525,102 +538,102 @@ Causets with permutations (and labels) \pcauset[permutation]{4,1,2,3}, \pcauset[
There are a few short hand macros for small common causets as shown here.
\begin{lstlisting}
\causetFence{1}, \causetFence{2}, \ldots, \causetFence{10},
-\causetClosedFence{1}, \causetClosedFence{2}, \ldots, \causetClosedFence{10},
-\causetCrown
+\causetCrown{1}, \causetCrown{2}, \ldots, \causetCrown{10}
\end{lstlisting}
-\causetFence{1}, \causetFence{2}, \ldots, \causetFence{10},
-\causetClosedFence{1}, \causetClosedFence{2}, \ldots, \causetClosedFence{10},
-\causetCrown
+\causetFence[name=2Chain]{1}, \causetFence[name=2Fence]{2}, \ldots, \causetFence[name=10Fence]{10},
+\causetCrown[name=2Chain]{1}, \causetCrown[name=2Crown]{2}, \ldots, \causetCrown[name=10Crown]{10}
-\section{Labeling and replacing events (for infinite causets)}
+\section{Labeling and replacing events (also to represent infinite causets)}
\label{sec:LabelingReplacing}
-With version v1.3 of the package, it is possible to relabel and replace causet events.
+Since version v1.3 of the package, it is possible to relabel and replace causet events.
These features are useful for labelling events arbitrarily, and drawing diagrams of infinite causets using ellipsis.
By default, all events get named and labeled by the integers given in the arguments of the commands.
For example, \lstinline\pcausetL{0,2,1} creates the diagram \pcausetL{0,2,1} where the event notes are named \lstinline(E0), \lstinline(E2), \lstinline(E1), respectively, while the label nodes have the names \lstinline(EL0), \lstinline(EL2), \lstinline(EL1).
If the permutation is displayed as well, the $u$- and $v$-coordinate labels are the nodes \lstinline(EUL\PH\lstinline) and \lstinline(EVL\PH\lstinline), with \PH\ taking on the values $\{0, 2, 1 \}$.
-To offset the names of all causet events by the same amount, use the key-value pair \lstinlineoffset=\PH\ to adjust the naming and labelling of events and get distinct event names, while the same integers are used in the command arguments.
+To offset the names of all causet events by an integer amount, use the key-value pair \lstinlineoffset=\PH\ to adjust the naming and labelling of events and get distinct event names, while the same integers are used in the command arguments.
Consider the following example.
\begin{lstlisting}
\begin{align*}
- \tikzcausetsset{large, labels={below=1pt, at=south}}
+ \tikzcausetsset{large}
\cdots\quad
\pcausetP[offset=-12]{0,2,1,3}\quad\cdots\quad
\pcausetL{0,2,1,3}\quad\cdots\quad
\pcausetL[offset=12]{0,2,1,3}\quad\cdots
\end{align*}
\end{lstlisting}
-\vspace{-1em}
+\vspace{-1ex}
\begin{align*}
- \tikzcausetsset{large, labels={below=1pt, at=south}}
+ \tikzcausetsset{large}
\cdots\quad
- \pcausetP[offset=-12]{0,2,1,3}\quad\cdots\quad
- \pcausetL{0,2,1,3}\quad\cdots\quad
- \pcausetL[offset=12]{0,2,1,3}\quad\cdots
+ \pcausetP[name=Diamond_permoffset, offset=-12]{0,2,1,3}\quad\cdots\quad
+ \pcausetL[name=Diamond_labeled]{0,2,1,3}\quad\cdots\quad
+ \pcausetL[name=Diamond_labeledoffset, offset=12]{0,2,1,3}\quad\cdots
\end{align*}
Here, the three commands have the same integer argument \lstinline{0,2,1,3}, but the events are named with the specified offsets for the sub-causets, and the labels are adjusted accordingly.
In this way, it will be possible to address the event (and label) nodes of the sub-causets distinctively within a larger TikZ picture.
For more details on how to draw causets within a TikZ picture, see \autoref{sec:TikZ}.
-When you (only) want to change the labelling of events, add a slash and the new event label directly after the event integer in the first command argument.
+When you (only) want to change the labelling of an event to \PH, add a slash and \lstinlinelabel=\PH\ directly after the event integer in the first command argument.
For example, the causet \pcauset{2,1,3} has six different labellings by (distinct) integers from the set $\{ 0, 1, 2 \}$,
-\pagebreak
+%\pagebreak
\begin{lstlisting}
\begin{align}
\text{order-preserving:} &&
L_{\mathrm{op}} &=
\left\{
\pcausetL{1,0,2},
- \pcausetL{1/0,0/1,2}
+ \pcausetL{1/label=0,0/label=1,2}
\right\}
, \\
\text{not order-preserving:} &&
L_{\mathrm{nop}} &=
\left\{
- \pcauset{1/2,0/1,2/0},
- \pcausetL{1,0/2,2/0},
- \pcausetL{1/2,0,2/1},
- \pcauset{1/0,0/2,2/1}
+ \pcauset{1/label=2,0/label=1,2/label=0},
+ \pcausetL{1,0/label=2,2/label=0},
+ \pcausetL{1/label=2,0,2/label=1},
+ \pcauset{1/label=0,0/label=2,2/label=1}
\right\}
.
\end{align}
\end{lstlisting}
-\vspace{-1em}
+\vspace{-1ex}
\begin{align}
\text{order-preserving:} &&
L_{\mathrm{op}} &=
\left\{
- \pcausetL{1,0,2},
- \pcausetL{1/0,0/1,2}
+ \pcausetL[name=Wedge_labeled102]{1,0,2},
+ \pcausetL[name=Wedge_labeled012]{1/label=0,0/label=1,2}
\right\}
, \\
\text{not order-preserving:} &&
L_{\mathrm{nop}} &=
\left\{
- \pcauset{1/2,0/1,2/0},
- \pcausetL{1,0/2,2/0},
- \pcausetL{1/2,0,2/1},
- \pcauset{1/0,0/2,2/1}
+ \pcauset[name=Wedge_labeled210]{1/label=2,0/label=1,2/label=0},
+ \pcausetL[name=Wedge_labeled120]{1,0/label=2,2/label=0},
+ \pcausetL[name=Wedge_labeled201]{1/label=2,0,2/label=1},
+ \pcauset[name=Wedge_labeled021]{1/label=0,0/label=2,2/label=1}
\right\}
.
\end{align}
-The replacing labels can be any text. It is recommended to write longer text labels in a \TeX\ group \lstinline{...}. Here is an example
+The replacing labels can be any text.
+Longer text labels should be written in a \TeX\ group \lstinline{...}.
+Here is an example
\begin{lstlisting}
-\pcauset[large]{2/$-\infty$,6,5,7,3/{Text and maths},4/-1}
+\pcauset[large]{2/label=$-\infty$,6,5,7,3/label={Text and $maths$},4/label=-1}
\end{lstlisting}
-\vspace{-0.5em}
+\vspace{-1ex}
\begin{center}
- \pcauset[large]{2/$-\infty$,6,5,7,3/{Text and maths},4/-1}
+ \pcauset[name=RelabeledEventsExample_large, large]{2/label=$-\infty$,6,5,7,3/label={Text and $maths$},4/label=-1}
\end{center}
Notice that replaced labels will always be visible, even if labels are deactivated (\lstinline\causetsDrawLabelsfalse) as in this example.
To change the style of the replaced labels, add the key-value pair
\lstinlinereplaced labels=\PH, which extends the style of standard labels.
-Similarly to the replacement of labels, you can replace event nodes by adding yet another slash and the event node text after the event integer in the permutation of the command.
+Similarly to the replacement of labels, you can replace event nodes by using a slash followed by \lstinlineevent=\PH.
This feature may have its main application for the representation of infinite causets, for example, the code
\begin{lstlisting}
% Define ellipsis rotated by #1 degrees:
@@ -628,13 +641,13 @@ This feature may have its main application for the representation of infinite ca
...
% Draw infinite causet with ellipsis
\pcauset[large, replaced labels={below, at=south}, replaced events={text scale=1}]
-{-2/{$\downarrow$ continues infinitely $\downarrow$}/\rdots[90], -1,0,1,16,14,15,11,12,13,7,8,9,10, 2//\rdots[10],3,4//~,5,6//\rdots[-10]}
+ {-2/{label={$\downarrow$ continues infinitely $\downarrow$}, event={\rdots[90]}}, -1,0,1,16,14,15,11,12,13,7,8,9,10, 2/event={\rdots[10]},3,4/event={~},5,6/event={\rdots[-10]}}
\end{lstlisting}
yields the diagram
\begin{center}
\newcommand{\rdots}[1][0]{\rotatebox{#1}{...}}
- \pcauset[large, replaced labels={below, at=south}, replaced events={text scale=1}]
- {-2/{$\downarrow$ continues infinitely $\downarrow$}/\rdots[90], -1,0,1,16,14,15,11,12,13,7,8,9,10, 2//\rdots[10],3,4//~,5,6//\rdots[-10]}
+ \pcauset[name=ReplacedEventsExample_large, large, replaced labels={below, at=south}, replaced events={text scale=1}]
+ {-2/{label={$\downarrow$ continues infinitely $\downarrow$}, event={\rdots[90]}}, -1,0,1,16,14,15,11,12,13,7,8,9,10, 2/event={\rdots[10]},3,4/event={~},5,6/event={\rdots[-10]}}
\end{center}
Here, three events are replaced by ellipsis with different rotations, and one event is replaced by an empty node (\lstinline~).
The style of the replaced events is specified via the key \lstinlinereplaced labels=\PH\ -- where \PH\ is \lstinline{text scale=1} in this example.
@@ -645,16 +658,6 @@ As shown in the previous example, the position of labels is defined with a key w
The \lstinlineat key holds a coordinate of the event note.
The default positioning is \lstinlinebelow left, at=south west.
-In summary, the three main commands take the form
-\\[1ex]
-\lstinline\pcauset{\PH[index]\lstinline/\PH[label]\lstinline/\PH[event text]\lstinline,...}
-\\[1ex]
-\lstinline\rcauset{\PH[index]\lstinline/\PH[label]\lstinline/\PH[event text]\lstinline,...}{\PH[unlink from event]\lstinline/\PH[unlink to event]\lstinline,...}
-\\[1ex]
-\lstinline\causet{\PH[index]\lstinline/\PH[label]\lstinline/\PH[event text]\lstinline,...}{\PH[link from event]\lstinline/\PH[link to event]\lstinline,...}
-\\[1ex]
-The full notation for the short hand macros (see \autoref{sec:ShortHandMacros}) is similar.
-
\section{Changing sizes and fonts (for mathematical expressions)}
\label{sec:Sizes}
The pre-defined size styles have the following scaling with respect to the normal size:\vspace{-1ex}
@@ -674,13 +677,7 @@ For a (first level) sub-script in a summation, you may use the small size,
\begin{lstlisting}
\begin{equation}
\sum_{C \in \tikzcausetsset{small}
- \left\{
- \pcauset{1,2,3},\;
- \pcauset{1,3,2,4},\;
- \pcauset{1,4,3,2,5},\;
- \pcauset{1,5,4,3,2,6}
- \right\}}
- | C |
+ \Bigl\{ \pcauset{1,2,3}, \pcauset{1,3,2,4}, \pcauset{1,4,3,2,5}, \pcauset{1,5,4,3,2,6} \Bigr\}} | C |
= \left| \pcauset{1,2,3} \right|
+ \left| \pcauset{1,3,2,4} \right|
+ \left| \pcauset{1,4,3,2,5} \right|
@@ -689,17 +686,17 @@ For a (first level) sub-script in a summation, you may use the small size,
\end{lstlisting}
\begin{equation}
\sum_{C \in \tikzcausetsset{small}
- \left\{
- \pcauset{1,2,3},
- \;\pcauset{1,3,2,4},
- \;\pcauset{1,4,3,2,5},
- \;\pcauset{1,5,4,3,2,6}
- \right\}}
+ \Bigl\{
+ \pcauset[name=3Chain_small]{1,2,3},
+ \pcauset[name=Diamond_small]{1,3,2,4},
+ \pcauset[name=Pure3Diamond_small]{1,4,3,2,5},
+ \pcauset[name=Pure4Diamond_small]{1,5,4,3,2,6}
+ \Bigr\}}
| C |
- = \left| \pcauset{1,2,3} \right|
- + \left| \pcauset{1,3,2,4} \right|
- + \left| \pcauset{1,4,3,2,5} \right|
- + \left| \pcauset{1,5,4,3,2,6} \right|
+ = \left| \pcauset[name=3Chain]{1,2,3} \right|
+ + \left| \pcauset[name=Diamond]{1,3,2,4} \right|
+ + \left| \pcauset[name=Pure3Diamond]{1,4,3,2,5} \right|
+ + \left| \pcauset[name=Pure4Diamond]{1,5,4,3,2,6} \right|
\end{equation}
Like any other options, sizes can also be specified in the optional argument of a single causet diagram or with \lstinline\tikzcausetsset{...} for the current scope.
@@ -737,7 +734,7 @@ Below is an example for a diagram drawn with some sizes defined manually:
\pcausetL[tile size=2ex, event size=1ex, link width=0.3ex, text scale=1]{13,8,14,9,3,15,12,1,6,16,5,11,7,2,10,4}
\end{lstlisting}
\begin{center}
- \pcausetL[tile size=2ex, event size=1ex, link width=0.3ex, text scale=1]{13,8,14,9,3,15,12,1,6,16,5,11,7,2,10,4}
+ \pcausetL[name=Example_resized, tile size=2ex, event size=1ex, link width=0.3ex, text scale=1]{13,8,14,9,3,15,12,1,6,16,5,11,7,2,10,4}
\end{center}
\vspace{1ex}
@@ -765,27 +762,91 @@ changes the event colour to purple and the link colour to cyan.
For the pre-defined colour schemes, use the keys \lstinlinegray colors (or \lstinlinegray colors, default), \lstinlineblack colors (or \lstinlineblack colors, only black and white), \lstinlineblue colors (or \lstinlineblue colors, blue colour tones), or \lstinlineneon colors (or \lstinlineneon colors, bright colours).
These keys set all the colours listed above to pre-defined values.
-\section{Standalone causets}
-\label{sec:Standalone}
-For any document that contains many (large) causet diagrams or the same causets that are used repeatedly, the compilation time can be reduced by placing the commands in external files using the \lstinlinestandalone package.
+\section{Changing the styles of individual events and links}
+\label{sec:LocalStyles}
+The full supported formats of the three main commands are
+\\[1ex]
+\lstinline\pcauset[\PH[causet style]\lstinline]{\PH[index]\lstinline/\PH[event style]\lstinline,...}
+\\[1ex]
+\lstinline\rcauset[\PH[causet style]\lstinline]{\PH[index]\lstinline/\PH[event style]\lstinline,...}{\PH[unlink from]\lstinline/\PH[unlink to]\lstinline,...,
+\\\PH[link from]\lstinline/\PH[link to]\lstinline/\PH[link style]\lstinline,...}
+\\[1ex]
+\lstinline\causet[\PH[causet style]\lstinline]{\PH[index]\lstinline/\PH[event style]\lstinline,...}{\PH[link from]\lstinline/\PH[link to]\lstinline/\PH[link style]\lstinline,...}
+\\[1ex]
+and similarly for all short hand macros as described in \autoref{sec:ShortHandMacros}.
+The style values are all optional, where \PH[causet style] is applied to that causet only, \PH[event style] is applied to a single event, and \PH[link style] is applied to a single link.
-For example, create a file named \lstinlinemycauset.tex in the same directory as the main file with the following code:
+The feature to apply styles only to individual events and links is to highlight or modify subsets of a causet, for example, by using different colours:
\begin{lstlisting}
-\documentclass[tikz]{standalone}
+\rcausetL[large, subset A/.style={red, dotted}, subset B/.style=blue, replaced labels={text scale=1, at=east, right}]{2/{subset A, label=event $a$}, 5/subset B, 1, 3/{subset A, label=$b$, replaced labels=orange}, 4/subset B, 6/subset B}{2/3/subset A, 4/6/subset B, 5/6/subset B}
+\end{lstlisting}
+\vspace{-1ex}
+\begin{center}
+ \rcausetL[name=Example_locallystyled, large, subset A/.style={red, dotted}, subset B/.style=blue, replaced labels={text scale=1, at=east, right}]{2/{subset A, label=event $a$}, 5/subset B, 1, 3/{subset A, label=$b$, replaced labels=orange}, 4/subset B, 6/subset B}{2/3/subset A, 4/6/subset B, 5/6/subset B}
+\end{center}
+Note that \lstinlinelabel=event $a$ and \lstinlinelabel=$b$ adds (replaced) labels $a$ and $b$, respectively, but their style is not affected by \lstinlinesubset A.
+To change the style of the labels, we have to use the \lstinlinereplaced labels key, see also \autoref{sec:LabelingReplacing}.
+
+\section{Externalisation and standalone causets}
+\label{sec:ExternalCausets}
+For any document that contains many (large) causet diagrams or the same causets that are used repeatedly, the compilation time can be reduced by moving the graphics to external files using the externalisation library of TikZ or \lstinlinestandalone files.
+
+The externalisation feature of TikZ provides the tools to automatically externalise all causet diagrams and only recompile them when they are changed in the document.
+To enable this feature, use the \lstinlineexternal option when loading the package and make sure that the document is compiled with the flag
+\begin{lstlisting}
+--shell-escape
+\end{lstlisting}
+The \lstinlineexternal option loads the \lstinlineexternal library, sets the \lstinlineprefix to add ``\lstinlinecausets/'' before each external file, and calls \lstinline\causetsNameExternaltrue to use the manually specified names for external file names.
+Any causet can be manually named by providing the name key-value pair \lstinlinename=\PH\ in the optional parameter of a causet command.
+As an example, the inline code
+\begin{lstlisting}
+\pcauset[name=Vee]{1,3,2}
+\end{lstlisting}
+yields the causet \pcauset[name=Vee]{1,3,2} and creates an external pdf file with the name \lstinlinecausets/Vee.pdf relative to the main tex file.
+
+I recommend to always name causets, even if externalisation is not used.
+In this way, it is easier to read the source code and switch to externalising at a later point more easily.
+Note that the name of a causet does not have to be unique (especially if it is used repeatedly throughout the document), but you may give different names to causets with different style options to avoid unwanted overwrites.
+For a repeated causet in the document, either the same code is repeated, or the \lstinline\causetfile command may be used, for example, \lstinline\pcauset[name=N]{2,4,1,3} can be repeated with \lstinline\causetfile{N} to print the N causet \pcauset[name=N]{2,4,1,3}.
+The macro \lstinline\causetfile[#1]{#2} also accepts one optional argument \lstinline[#1] and expands to
+\begin{lstlisting}
+\causets@Padding%
+\includegraphics[#1]{\causets@NamePrefix#2}%
+\causets@Padding
+\end{lstlisting}
+To redefine the prefix stored in \lstinline\causets@NamePrefix and also set the \lstinlineexternal library prefix to the same value, use \lstinline\tikzcausetsset{set prefix=causets/}.
+However, to set \lstinline\causets@NamePrefix only for \lstinlinecausets, use \lstinlinename prefix=\PH.
+
+If you are already loading the \lstinlineexternal library for other uses, you do not want to use the \lstinlineexternal option, but add the following to the document's preamble:
+\begin{lstlisting}
+\usetikzlibrary{external}
+...
\usepackage{causets}
-\begin{document}
-\pcauset{3,2,4,1}
-\end{document}
+\tikzcausetsset{set prefix=causets/, name external=true}
\end{lstlisting}
-The compiled version is then included with the macro \lstinline\causetfile{mycauset}.
-The macro \lstinline\causetfile[#1]{#2} also accepts one optional argument \lstinline[#1] and redirects to
+For externalising only those causets that are named manually, set
\begin{lstlisting}
-\includegraphics[#1]{\causetspath/#2}
+\tikzset{external/only named=true}
\end{lstlisting}
-The macro \lstinline\causetspath is pre-defined to \lstinline. (the directory of the main \TeX\ file), but may be renewed to any desired directory with
+For switching externalisation on/off all together, the library provides the macros
\begin{lstlisting}
-\renewcommand{\causetspath}{my_causet_directory}
+\tikzexternaldisable
+\tikzexternalenable
+\end{lstlisting}
+Please find further information on the \lstinlineexternal library in the TikZ manual.
+
+Graphics may also be moved to standalone tex files manually and included with \lstinline\causetfile or \lstinline\includegraphics.
+For example, create a file named \lstinlineM.tex in the directory that was set to \lstinlinename prefix (by default, this is ``\lstinline./'') with the following code:
+\begin{lstlisting}
+\documentclass[tikz]{standalone}
+\usepackage{causets}
+\begin{document}
+\pcauset{4,2,5,1,3}
+\end{document}
\end{lstlisting}
+The compiled version \pcauset[name=M]{4,2,5,1,3} is then included with the macro \lstinline\causetfile{M}.
+
+More examples on larger standalone graphics are given in \autoref{sec:TikZ}.
\section{Style changes in detail}
In the optional argument of the causet macros, you may use other TikZ options to change the output of the macros, for example:
@@ -794,7 +855,7 @@ In the optional argument of the causet macros, you may use other TikZ options to
... \begin{document} ...
A labeled causet with red-framed semi-transparent labels, \pcausetL[labels={draw=red, fill=white, opacity=0.8, inner sep=1pt, scale=1.5}]{2,4,5,1,3}.
\end{lstlisting}
-A labeled causet with red-framed semi-transparent labels, \pcausetL[labels={draw=red, fill=white, opacity=0.8, inner sep=1pt, scale=1.5}]{2,4,5,1,3}.
+A labeled causet with red-framed semi-transparent labels, \pcausetL[name=NDash_redframedlabels, labels={draw=red, fill=white, opacity=0.8, inner sep=1pt, scale=1.5}]{2,4,5,1,3}.
In the same way, it is possible to modify the existing styles of all parts of the diagrams, which means that the default drawing styles are extended by the options passed as value to these keys: \vspace{-1ex}
\begin{enumerate}\itemsep=-1ex
@@ -808,14 +869,14 @@ In the same way, it is possible to modify the existing styles of all parts of th
\item \lstinlinelink pauses=\PH\ sets the ending line tip of each link at an interruption,
\item \lstinlinelink resumes=\PH\ sets the starting line tip of each link at an interruption,
\item \lstinlinecap links sets the starting and ending line tip of each link to a (reversed) cap,
- \item \lstinlinearrow links sets the ending line tip of each link to a rounded, open, stealth arrow,
+ \item \lstinlinearrow links sets the ending line tip of each link to a rounded, stealth arrow,
\item \lstinlinespatial links=\PH\ shows the spatial links (\lstinlineshow spatial links) and appends to the style of the spatial links (secondary graph edges),
\item \lstinlineall labels=\PH\ appends to the general style of all text labels (applies to the following three label types),
\item \lstinlinelabels=\PH\ shows the event labels (\lstinlineshow labels) and appends to the style that applies only to the event labels,
\item \lstinlineulabels=\PH\ shows the $u$ labels (\lstinlineshow ulabels) and appends to the style that applies only to the $u$ labels, and
\item \lstinlinevlabels=\PH\ shows the $v$ labels (\lstinlineshow vlabels) and appends to the style that applies only to the $v$ labels.
\end{enumerate}
-In order to manually define the full style of the parts in the diagram - not extending, but \emph{overwriting all} drawing options - set the style of the following keys: \vspace{-1ex}
+In order to manually define the full style of the parts in the diagram -- not extending, but \emph{overwriting all} drawing options -- set the style of the following keys: \vspace{-1ex}
\begin{enumerate}\itemsep=-1ex
\item \lstinlineevery causet for the general style of the causet diagram (like \lstinlinebaseline, see below),
\item \lstinlineevery tile for the occupied permutation tiles,
@@ -837,7 +898,7 @@ So, for example,
... \begin{document} ...
\pcauset[large]{2,4,5,1,3}
\end{lstlisting}
-will generate all causets with square nodes as events and triangle caps on the future link ends, like \pcauset[large, events={rectangle}, links={-Triangle Cap[]}]{2,4,5,1,3}.
+will generate all causets with square nodes as events and triangle caps on the future (upper) link ends, like \pcauset[name=NDash_rectangleeventslarge, large, events={rectangle}, links={-Triangle Cap[]}]{2,4,5,1,3}.
\vspace{1ex}
By default, causets are placed such that a pre-defined coordinate point falls on the text baseline, \lstinlinebaseline=(baseline point).
@@ -846,86 +907,129 @@ You may adjust the baseline as for any TikZ graphic, for example,
\begin{lstlisting}
\pcauset[baseline=2mm]{2,4,5,1,3}
\end{lstlisting}
-places the diagram centre $2\mathrm{mm}$ below the text base, \pcauset[baseline=2mm]{2,4,5,1,3}.
+places the diagram centre $2\mathrm{mm}$ below the text base, \pcauset[name=NDash_baseline, baseline=2mm]{2,4,5,1,3}.
\vspace{1ex}
\section{Using this package in TikZ pictures}
\label{sec:TikZ}
Since the package is TikZ based, using a causet within a TikZ picture is simple.
Each of the three main commands is based on a draw command in TikZ that has the same name but starts with \lstinline\draw....
-The \lstinline\draw macros, however, do not support an optional argument (since this can be specified directly in a TikZ picture) and they also do not have any short hand macros ending in \lstinlineP, \lstinlineL or \lstinlineX.
+The \lstinline\draw macros, however, do not support an optional argument (since this can be specified directly in a TikZ picture) and they also do not have any short hand macros ending in \lstinlineP, \lstinlineL or \lstinlineX.
+The \lstinline\draw... do not add extra padding (\lstinline\causets@Padding) on the left and right of the graphic either.
-The two following examples are given by external (standalone) TikZ graphics and included with \lstinline\causetfile{...}.
-More details on using causets in standalone files are given in \autoref{sec:Standalone}.
+The two following examples are given by external (standalone) TikZ graphics and included with \lstinline\includegraphics{...}.
+More details on using causets in standalone files are given in \autoref{sec:ExternalCausets}.
Note that the output of the \lstinline\draw macros has the point (0,0) in the centre, so in order to shift it, we may enclose it in a TikZ scope, for example:
\lstinputlisting{causet_tikz_example1.tex}
\begin{center}
- \causetfile{causet_tikz_example1}
+ \includegraphics{causet_tikz_example1}
\end{center}
Note that this example also shows how to use the event nodes that are generated by the \lstinline\drawpcauset macro.
The green arrow points to the node of the second causet event \lstinline(E5).
-The causet events, event labels, $u$-axis labels, and $v$-axis lables are the nodes \lstinline(Ei), \lstinline(ELi), \lstinline(EULi), and \lstinline(EVLi), respectively, where $\smash{i \in [ 1, N ]}$ for a causet with $N$ events.
+The causet events, event labels, $u$-axis labels, and $v$-axis lables are the nodes \lstinline(Ei), \lstinline(ELi), \lstinline(EULi), and \lstinline(EVLi), respectively, where $\smash{i \in [ -1, 5 ]}$.
It is also possible to use multiple causets in more complicated graphics, like a tree for example, but note that whenever a causet is actually a text of a node within a TikZ picture (like in the following), we need to use the \lstinline\pcauset (\lstinline\rcauset or \lstinline\causet) commands without the \lstinlinedraw prefix again:
\lstinputlisting{causet_tikz_example2.tex}
-\hspace{-1.5ex}\causetfile{causet_tikz_example2}
+\hspace{-1.5ex}
+\includegraphics{causet_tikz_example2}
\noindent
More examples can be found at \\
\url{https://github.com/c-minz/LaTeX-causets/tree/main/examples}
-%\clearpage
+\clearpage
+\tikzexternaldisable
\section{Release notes}
-\tikzcausetsset{large, events={black!20}, links={black!10}, cap links, label color={black!30}}
-\subsection{v1.3, 2022-05-23}
+\tikzcausetsset{large, events={black!30}, links={black!30}, label color={black!40}}
+
+\subsection[v1.4, 2023-03-06 (Vee-Diamond)]{v1.4, 2023-03-06}
+\subsubsection{New features}
+\begin{itemize}\itemsep=-1ex
+\item \versioncauset{v1-4}{\rcauset[release/.style={black!40!cyan!85}]{1,5/release,3,2,4}{1/5/release}}%
+ Second values in the sequence of the first argument: now modifies the style of individual events, the events are replaced with the key \lstinlineevent=\PH, and the labels are set with \lstinlinelabel=\PH.
+\item Third values in the sequence of the second argument of \lstinline\causet and \lstinline\rcauset: to modify the style of individual links.
+\item Broken links for restyled links of \lstinline\rcauset: restyled links can also be drawn between events that would have not been automatically linked, hence these links might now be broken up like the links of \lstinline\causet.
+\item New key \lstinlinename=\PH: to define a name of a causet for easier readability of the tex source code (and to be used as external file name when the corresponding package option has been activated).
+\item New option \lstinlineexternal: to load the \lstinlineexternal library of TikZ for automatic externalisation of all diagrams.
+\item New key \lstinlineset prefix=\PH: to pass a file name prefix that is combined with a causet name for the external files when using \lstinlineexternal.
+\item New key \lstinlinename external=\PH[bool]: to activate/deactivate using the causet names for external files.
+\item Main commands: padded by a thin space (adjustable with \lstinlinepadding=\PH) for a better spacing in text and math mode.
+\end{itemize}
+\subsubsection{Modifications and fixes}
+\begin{itemize}\itemsep=-1ex
+\item Third values in the sequence of the first argument: no longer supported.
+\item Spatial links: are now drawn before (so on a lower layer than) links.
+\item Style \lstinlinearrow links: the arrow heads are now filled.
+\item Macro \lstinline\causetspath: has been replaced by \lstinlinename prefix=\PH.
+\item Short-hand macro \lstinline\causetCrown: changed to take a single argument (and the optional style argument) and returns the same output as \lstinline\causetClosedFence used to, which has been removed.
+\end{itemize}
+
+\subsection[v1.3.1, 2022-07-27 (Diamond)]{v1.3.1, 2022-07-27}
+\subsubsection{Modifications and fixes}
+\begin{itemize}\itemsep=-1ex
+\item \versioncauset{v1-3-1}{\pcauset[replaced labels={left=0.5ex, at=west}]{1,3,2,4/label=.3}}%
+ Automatic event labels: now correctly printed when using \lstinlineoffset=\PH.
+\end{itemize}
+
+\subsection[v1.3, 2022-05-23 (Da)]{v1.3, 2022-05-23}
+\subsubsection{New features}
+\begin{itemize}\itemsep=-1ex
+\item %\versioncauset{v1-3}{\pcauset[replaced labels={left=0.5ex, at=west}]{1,4,2,3/label=.3}}%
+ Integer sequences in the arguments: use a permutation of an interval $[ a, b ]$, where $a$ and $b$ do no longer have to be natural numbers but can be any integers ($a \leq b$) including 0 and negative numbers.
+ These numbers name and label the events of the causet if the respective options are chosen.
+\item Second values in the sequence of the first argument: to change the name and label of events.
+\item New key \lstinlineoffset=\PH\ (0 by default): to define an integer shift for all events before they are named and labeled.
+\item New style \lstinlinetext font=\PH\ (additionally to \lstinlinetext scale=\PH): to adjust the font style of text (labels), for example, to set the font size to 20pt (and a baseline skip of 24pt), use \lstinlinetext font=\fontsize{20}{24}\selectfont
+\end{itemize}
+
+\subsubsection{Modifications and fixes}
\begin{itemize}\itemsep=-1ex
- \item \versioncauset{v1-3}{\pcauset[replaced labels={left=0.5ex, at=west}]{1,4,2,3/.3}}%
- The numbers for the arguments of the causet commands may now be chosen from an interval $[ a, b ]$, where $a$ and $b$ do no longer have to be natural numbers but are any integers ($a \leq b$) including 0 and negative numbers to name and label the events of the causet.
- \item The integers given in the arguments of the causet commands that name (and auto label) events may now be modified with \lstinlineoffset=\PH\ (0 by default) before the events are named and labeled with the given numbers.
- \item All sizes are now scaled with respect to the normal size and the line thickness of the event outline has been corrected.
- \item The following size macros are no longer supported: \\
- \lstinline\causetRegionLine, \lstinline\causetGridLine, \lstinline\causetEventSize, \lstinline\causetLinkWidth, and \\ \lstinline\causetBrokenLinkGap.
- The respective values are now stored in PGF keys and are measured with respect to the size unit (stored in \lstinline\causetTileSize).
- \item For all labels in the diagram, the font size is now adjustable with \lstinlinetext font=\PH\ (additionally to \lstinlinetext scale=\PH), for example to set the font size to 20pt (and a baseline skip of 24pt), use
-\begin{lstlisting}
-text font=\fontsize{20}{24}\selectfont
-\end{lstlisting}
- \item Event labels and the event nodes itself may now be replaced by user-defined text in order to label events manually or use symbols like \lstinline... for representations of infinite causets.
- \item The package options have been fixed, they are now all single word options.
- \item The short hand macros \lstinline\*causetL... now deactivate the permutation and \\ \lstinline\*causetP... now deactivate labels (if activated previously).
+\item Size options: all sizes are now scaled with respect to the normal size.
+\item Event style: line thickness of the event outline has been corrected.
+\item Size macros removed: \lstinline\causetRegionLine, \lstinline\causetGridLine, \lstinline\causetEventSize, \\ \lstinline\causetLinkWidth, and \lstinline\causetBrokenLinkGap.
+ The respective values are now stored in PGF keys and are measured with respect to the size unit (stored in \lstinline\causetTileSize).
+\item All package options: reduced to single words.
+\item Permutation for \lstinline\*causetL...: now deactivated (if activated previously), by default.
+\item Labels for \lstinline\*causetP...: now deactivated (if activated previously), by default.
\end{itemize}
-\subsection{v1.2, 2022-02-07}
+\subsection[v1.2, 2022-02-07 (Vee)]{v1.2, 2022-02-07}
+\subsubsection{New features}
\begin{itemize}\itemsep=-1ex
- \item \versioncauset{v1-2}{\pcauset{1,3,2}}%
- The colour option \lstinlineblue has been modified so that a blue diagram is now only coloured in different shades of blue, gray and black.
- \item Every event label is now positioned relative to the centre point of an event, so that the position of event labels can be modified with \lstinlineleft=\PH, \lstinlineright=\PH, etc.
- \item Arrow tips may now be added to the start and end of links via the style settings \lstinlinelink starts=\PH\ and \lstinlinelink ends=\PH, or via the pre-defined styles \lstinlinecap links and \lstinlinearrow links.
- \item By default, links drawn by the command \lstinline\causet are now broken if they cross over an event.
-The style of the start and end of the link interruption are set with \lstinlinelink pauses=\PH\ and \lstinlinelink resumes=\PH.
- \item Links between spacelike separated events are now also supported by the command \lstinline\rcauset.
+\item \versioncauset{v1-2}{\pcauset[arrow links]{1,3,2}}%
+ New style \lstinlineat=\PH: to specify the relative point of events (\lstinlineat=center\PH, by default) and position relative to this point using TikZ keys \lstinlineleft=\PH, \lstinlineright=\PH, etc.
+\item New styles \lstinlinecap links and \lstinlinearrow links: add different arrow tips to the start and end of links.
+\item New styles \lstinlinelink starts=\PH\ and \lstinlinelink ends=\PH: to modify arrow tips to the start and end of links.
+\item Broken links for \lstinline\causet: links crossing over unlinked events are broken up now.
+\item New styles \lstinlinelink pauses=\PH\ and \lstinlinelink resumes=\PH: to set the link ending style (arrows) at breaking points.
+\item Spatial links for \lstinline\rcauset: spatial links for spacelike separated events are now supported by \lstinline\rcauset, too.
\end{itemize}
-\subsection{v1.1, 2020-12-15}
-\tikzcausetsset{link starts={}, link ends={}}
+\subsubsection{Modifications and fixes}
\begin{itemize}\itemsep=-1ex
- \item \versioncauset{v1-1}{\pcauset{1,2}}%
- All colours, size and style options have been moved to PGF keys in the path
+\item Colour option \lstinlineblue: blue colours are now different shades of blue, gray and black only.
+\end{itemize}
+
+\subsection[v1.1, 2020-12-15 (2-Chain)]{v1.1, 2020-12-15}
+\subsubsection{New features}
+\begin{itemize}\itemsep=-1ex
+\item \versioncauset{v1-1}{\pcauset{1,2}}%
+ All colours, size and style options have been moved to PGF keys in the path
\begin{lstlisting}
/tikz/causets/
\end{lstlisting}
\end{itemize}
-\subsection{v1.0, 2020-11-08}
+\subsection[v1.0, 2020-11-08 (Singleton)]{v1.0, 2020-11-08}
\begin{itemize}\itemsep=-1ex
- \item \versioncauset{v1-0}{\pcauset{1}}%
- First release of the package \lstinlinecausets on CTAN, \url{https://ctan.org/pkg/causets}, including all the main commands.
+\item \versioncauset{v1-0}{\pcauset{1}}%
+ First release of the package \lstinlinecausets on CTAN, \url{https://ctan.org/pkg/causets}, including all the main commands.
\end{itemize}
\noindent
-Older versions of the package are at \\
+All previous versions of the package can be downloaded at \\
\url{https://github.com/c-minz/LaTeX-causets/tree/main/previous_versions}
\section{Bug reports and package requests}
@@ -936,22 +1040,9 @@ If you have a problem when using the package or you would like to have another f
christoph(dot)minz(AT)gmail(dot)com\\
For reporting a bug, I much appreciated if you do the following:
\begin{itemize}\itemsep=-1ex
- \item Check the issues reported previously if your problem is already listed.
- \item Describe your problem including the errors and warning messages, information about the drivers and programs versions.
- \item Provide a minimal, working test file (only a single \TeX\ file) that demonstrates the problem.
+\item Check the issues reported previously if your problem is already listed.
+\item Describe your problem including the errors and warning messages, information about the drivers and programs versions.
+\item Provide a minimal, working test file (only a single \TeX\ file) that demonstrates the problem.
\end{itemize}
\end{document}
-
-%% Size testing:
-\documentclass[tikz,10pt]{standalone}
-\usepackage[blue]{causets}
-\begin{document}
-\pcauset[tiny]{1,3,2,4}
-\pcauset[very small]{1,3,2,4}
-\pcauset[small]{1,3,2,4}
-\pcauset{1,3,2,4}
-\pcauset[large]{1,3,2,4}
-\pcauset[very large]{1,3,2,4}
-\pcauset[huge]{1,3,2,4}
-\end{document}
diff --git a/graphics/pgf/contrib/outilsgeomtikz/README.md b/graphics/pgf/contrib/outilsgeomtikz/README.md
new file mode 100644
index 0000000000..bf1842397d
--- /dev/null
+++ b/graphics/pgf/contrib/outilsgeomtikz/README.md
@@ -0,0 +1,7 @@
+OutilsGeomTikz is a package with geometric tools in TikZ.
+-----------------------------------------------------------
+OutilsGeomTikz est un package avec outils géométriques en TikZ.
+-----------------------------------------------------------
+Author : Cédric Pierquet
+email : cpierquet@outlook.fr
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf b/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf
new file mode 100644
index 0000000000..9a62f0d515
--- /dev/null
+++ b/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex b/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex
new file mode 100644
index 0000000000..a2e0c58b23
--- /dev/null
+++ b/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex
@@ -0,0 +1,792 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[french,a4paper,11pt]{article}
+\usepackage[margin=2cm,includefoot]{geometry}
+\def\TPversion{0.1.0}
+\def\TPdate{03 Mars 2023}
+\usepackage[table,svgnames]{xcolor}
+\usepackage[bold-style=ISO,math-style=french]{concmath-otf}
+%\usepackage[bold-style=ISO,math-style=french]{unicode-math}
+%\setmainfont{TeX Gyre Schola}
+%\setmathfont{TeX Gyre Schola Math}
+\usepackage{OutilsGeomTikz}
+\usepackage{awesomebox}
+\usepackage{fontawesome5}
+\usepackage{footnote}
+\makesavenoteenv{tabular}
+\usepackage{enumitem}
+\usepackage{tabularray}
+\usepackage{multicol}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\usepackage{siunitx}
+\sisetup{locale=FR,output-decimal-marker={,},group-minimum-digits=4}
+\pagestyle{fancy}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [OutilsGeomTikz]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+\newcommand\TableauDocumentation{%
+ \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
+ {\LARGE \LaTeX} & & & & &\\
+ & {\LARGE \hologo{pdfLaTeX}} & & & & \\
+ & & {\LARGE \hologo{LuaLaTeX}} & & & \\
+ & & & {\LARGE \TikZ} & & \\
+ & & & & {\LARGE \TeXLive} & \\
+ & & & & & {\LARGE \hologo{MiKTeX}} \\
+ \end{tblr}
+}
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\setlength{\parindent}{0pt}
+\definecolor{LightGray}{gray}{0.9}
+
+\usepackage[french]{babel}
+\AddThinSpaceBeforeFootnotes
+\FrenchFootnotes
+
+\usepackage[most]{tcolorbox}
+\usetikzlibrary{calc}
+\tcbuselibrary{minted}
+\NewTCBListing{PresentationCode}{ O{blue} m }{%
+ sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,%
+ colback=#1!1!white,colframe=#1!75!black,colbacklower=white,%
+ attach boxed title to top right={yshift=-\tcboxedtitleheight},title=Code \LaTeX,%
+ boxed title style={%
+ colframe=#1!75!black,colback=#1!15!white,%
+ ,sharp corners=downhill,arc=12pt,%
+ },%
+ top=\baselineskip,%
+ fonttitle=\color{#1!90!black}\itshape\ttfamily\footnotesize,%
+ listing engine=minted,minted style=colorful,
+ minted language=tex,minted options={tabsize=2,fontsize=\small,autogobble,breaklines=true},
+ #2
+}
+
+\tcbset{vignettes/.style={%
+ nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
+ boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,%
+ }
+}
+
+\tcbset{vignetteMaJ/.style={%
+ fontupper={\vphantom{pf}\footnotesize\ttfamily},
+ vignettes,colframe=ForestGreen!50!black,coltitle=white,colback=ForestGreen!25,%
+ overlay={\begin{tcbclipinterior}%
+ \fill[fill=ForestGreen!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{Black}{\scalebox{0.85}[0.75]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);%
+ \end{tcbclipinterior}}
+ }
+}
+
+\newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}}
+\newcommand\cmaj[1]{\tcbox[vignetteMaJ]{#1}\xspace}
+
+\newcommand\affichegrille[4]{%
+ \draw[xstep=1,ystep=1,lightgray] (#1,#3) grid (#2,#4) ;
+ \foreach \x in {#1,\inteval{1+#1},...,#2} \draw[lightgray] (\x,#4)--++(0,3pt) node[font=\scriptsize,above] {$\x$} ;
+ \foreach \y in {#3,\inteval{1+#3},...,#4} \draw[lightgray] (#1,\y)--++(-3pt,0) node[font=\scriptsize,left] {$\y$} ;
+}
+\newcommand\pointsutiles[1]{%
+ \foreach \point in {#1} {\draw[thick,fill=red] \point circle[radius=3pt] ;}
+}
+
+\begin{document}
+
+\setlength{\aweboxleftmargin}{0.07\linewidth}
+\setlength{\aweboxcontentwidth}{0.93\linewidth}
+\setlength{\aweboxvskip}{8pt}
+
+\thispagestyle{empty}
+
+\vspace{2cm}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{OutilsGeomTikz [fr]}}\\
+ \\
+ {\LARGE Des outils géométriques, } \\
+ \\
+ {\LARGE en Ti\textit{k}Z}. \\
+ \end{tabular}
+
+ \bigskip
+
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/OutilsGeomTikz}}
+\end{tabular}
+\end{center}
+
+\vspace{0.25cm}
+
+{$\blacktriangleright$~~Des outils géométriques, personnalisables, en Ti\textit{k}Z.}
+
+\smallskip
+
+{$\blacktriangleright$~~Une règle, un rapporteur, une équerre, une réquerre, un rappéquerre, un crayon, un compas.}
+
+\vspace{0.5cm}
+
+\hfill
+\begin{tikzpicture}
+ \tkzRegle[Fond,AfficheValeurs,Longueur=15,Rotation=-20,Echelle=0.5,CouleurFond=blue]
+ \tkzEquerre
+ [Fond,AfficheValeurs,Longueur=12,Origine={(-20:4)},Rotation=-20,CouleurFond=red,Echelle=0.5]
+ \tkzCrayon[Couleur=ForestGreen,Origine={(-20:4)},Rotation=30,Echelle=0.5]
+ \draw (10,-5)--++(20:5) (10,-5)--++(50:5) ;
+ \tkzRapporteur[Fond,CouleurFond=purple,Origine={(10,-5)},Echelle=0.5,Rotation=20]
+ \tkzRappEquerre[Fond,Origine={(8,1)},Rotation=90,CouleurFond=ForestGreen,Echelle=0.5]
+ \tkzCrayon[Couleur=yellow,Origine={(8,-1)},Rotation=20,Echelle=0.5]
+ \coordinate (AA) at ($(10,-5)+(50:{0.5*3.75})$) ;
+ \tkzCrayon[Couleur=orange,Origine={AA},Rotation=-20,Echelle=0.5]
+ \tkzRequerre[Fond,AfficheValeurs,CouleurFond=yellow,Origine={(3,-3)},Rotation=-30,Echelle=0.5]
+ \tkzCrayon[Couleur=gray,Origine={(3,-3)},Rotation=-98,Echelle=0.5]
+ %compas
+ \coordinate (FG) at (0,1) ; \coordinate (FH) at (2,1.5) ;
+ \tkzCompas[LongueurBranches=3,EchelleCrayon=0.75]{FG}{FH}
+ \tkzRapporteur[Complet,Echelle=0.5,Origine={(13,3.25)},Rotation=25,Fond,CouleurFond=orange]
+\end{tikzpicture}\hfill~
+
+%\vspace{0.5cm}
+%
+%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !}
+
+\smallskip
+
+\vfill
+
+\hrule
+
+\medskip
+
+\TableauDocumentation
+
+\medskip
+
+\hrule
+
+\medskip
+
+\newpage
+
+\phantomsection
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vfill
+
+\part{Historique}
+
+\verb|v0.1.0|~:~~~~Version initiale.
+
+\vspace{1cm}
+
+\newpage
+
+\part{Introduction}
+
+\section{Le package OutilsGeomTikz}
+
+\subsection{Introduction}
+
+\begin{noteblock}
+Le package \textsf{OutilsGeomTikz} \textit{propose} des éléments graphiques, en langage \TikZ, pour présenter des outils de construction classiques et personnalisables :
+
+\begin{itemize}
+ \item un crayon ;
+ \item une règle graduée ;
+ \item une équerre graduée (30/60) ;
+ \item un rapporteur (180 ou 360);
+ \item une réquerre graduée ;
+ \item une \og rappéquerre \fg{} graduée ;
+ \item un compas.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{noteblock}
+
+\begin{cautionblock}
+Certaines idées et \textit{donc} certains \textit{morceaux} de codes proviennent de Stéphane Pasquet\footnotemark\footnotetext{\url{https://tex.stackexchange.com/questions/147389/symbols-of-pencil-ruler-and-compass}} sur un fil de discussion en ligne.
+\end{cautionblock}
+
+\subsection{Chargement du package, packages utilisés}
+
+\begin{importantblock}
+Le package se charge, dans le préambule, de manière classique.
+
+Pas d'\textit{option} pour le package, qui ne nécessite que \textit{peu} de dépendances !
+\end{importantblock}
+
+\begin{PresentationCode}{listing only}
+\usepackage{OutilsGeomTikz}
+\end{PresentationCode}
+
+\begin{noteblock}
+\textsf{OutilsGeomTikz} charge les packages et librairies suivants :
+
+\begin{itemize}
+ \item \texttt{tikz}, \texttt{pgffor}, \texttt{simplekv}, \texttt{nicefrac} et \texttt{xstring} ;
+ \item \texttt{\textit{tikz}.calc}, \texttt{\textit{tikz}.positioning}.
+\end{itemize}
+
+Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} ou \textsf{xelatex}.
+\end{noteblock}
+
+\subsection{Autres solutions}
+
+\begin{noteblock}
+D'autres solutions existent pour présenter des outils géométriques, notamment \textsf{pst-geometrictools}\footnotemark\footnotetext{disponible sur le CTAN : \url{https://ctan.org/pkg/pst-geometrictools}.} (avec du code \PSTricks) ou \textsf{tkz-tools}\footnotemark\footnotetext{disponible sur son site : \url{https://www.mathweb.fr/euclide/les-packages-personnels-latex-stephane-pasquet/}.}, dont \textsf{OutilsGeomTikz} reprend quelques éléments de base !
+
+\smallskip
+
+L'utilisateur utilisera la solution la mieux adaptée pour ses besoins !
+\end{noteblock}
+
+\pagebreak
+
+\section{Philosophie du package}
+
+\subsection{Fonctionnement global}
+
+\begin{tipblock}
+Les différents outils disponibles ont \textit{grosso-modo} le même mode de fonctionnement :
+
+\begin{itemize}
+ \item le \textit{nom} de la commande est sous la forme \texttt{\textbackslash tkz<Outil>} ;
+ \item les outils ont été créés, en \TikZ, avec comme unité de base le centimètre ;
+ \item pour certains outils, des dimensions minimales sont requises pour un aspect conforme et acceptable ;
+ \item les options personnalisables sont (sauf exceptions) :
+ \begin{itemize}
+ \item la \textit{taille} ;
+ \item l'\textit{échelle} globale ou l'\textit{échelle} des éventuels labels ;
+ \item les \textit{couleurs} ;
+ \item le \textit{fond} (couleur et opacité) ;
+ \item la position (\textit{placement} et/ou \textit{rotation}).
+ \end{itemize}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\subsection{Liste des commandes}
+
+\begin{cautionblock}
+Les outils disponibles sont à insérer dans un environnement \TikZ, et pour le moment il existe :
+\begin{itemize}
+ \item \texttt{\textbackslash tkzRegle} ;
+ \item \texttt{\textbackslash tkzEquerre} ;
+ \item \texttt{\textbackslash tkzRapporteur} ;
+ \item \texttt{\textbackslash tkzRequerre} ;
+ \item \texttt{\textbackslash tkzRappequerre} ;
+ \item \texttt{\textbackslash tkzCompas} ;
+ \item \texttt{\textbackslash tkzCrayon}.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{cautionblock}
+
+\begin{PresentationCode}{listing only}
+\tkzRegle[clés]
+\tkzEquerre[clés]
+\tkzRapporteur[clés]
+\tkzRequerre[clés]
+\tkzRappEquerre[clés]
+\tkzCrayon[clés]
+\tkzCompas[clés]{pointe}{mine}
+\end{PresentationCode}
+
+\subsection{Utilisation d'unités}
+
+\begin{tipblock}
+Les outils ont été créés avec unité de base de 1~cm, afin que les graduations soient \textit{en taille réelle}.
+
+\smallskip
+
+Il est toutefois possible de modifier les unités de l'environnement \TikZ, dans ce cas les graduations des outils ne seront plus forcément en adéquation avec les unités choisies.
+
+\smallskip
+
+Ce choix est donc à \textit{réserver} dans l'optique de faire des petits schémas pour illustrer des positions d'outils.
+\end{tipblock}
+
+\pagebreak
+
+\part{Les outils}
+
+\section{Le crayon}
+
+\subsection{La commande}
+
+\begin{cautionblock}
+Le package propose l'outil \textsf{Crayon}.
+
+La forme générale du crayon est \textit{fixée}, mais le crayon peut être \textit{personnalisé}.
+\end{cautionblock}
+
+\begin{PresentationCode}{tikz lower}
+\tkzCrayon
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Quelques \Cle{clés} de personnalisation sont disponibles :
+
+\begin{itemize}
+ \item \Cle{Longueur} pour la taille, en cm, du crayon ;\hfill~(défaut : \Cle{5} et mini \Cle{2.5})
+ \item \Cle{Origine} pour le placer le crayon (au niveau du $0$) ;\hfill~(défaut : \Cle{\{(0,0)\}})
+ \item \Cle{Rotation} pour pivoter le crayon (au niveau de la mine) ;\hfill~(défaut : \Cle{0})
+ \item \Cle{Echelle} pour l'échelle globale le crayon ;\hfill~(défaut : \Cle{1})
+ \item \Cle{Couleur} pour la couleur du crayon.\hfill~(défaut : \Cle{red})
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{noteblock}
+Pour des exemples de personnalisation, une grille ainsi que les points \textit{support} seront rajoutés.
+
+\smallskip
+
+Toutes les \Cle{clés} ne seront pas présentées de manière indépendante, mais parfois elles seront \textit{cumulées} pour éviter de surcharger la sortie.
+\end{noteblock}
+
+\begin{PresentationCode}{listing only}
+%environnement tikz
+\tkzCrayon[Origine={(-3,-2)},Echelle=0.75,Rotation=45,Couleur=DarkBlue]
+\tkzCrayon[Origine={(1,-4)},Longueur=10,Rotation=-30,Couleur=Green]
+\tkzCrayon[Origine={(-3,3)},Echelle=1.25,Rotation=195,Couleur=orange]
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+ \affichegrille{-7}{7}{-5}{5}
+ \pointsutiles{(-3,-2),(1,-4),(-3,3)}
+ \tkzCrayon[Origine={(-3,-2)},Echelle=0.75,Rotation=45,Couleur=DarkBlue]
+ \tkzCrayon[Origine={(1,-4)},Longueur=10,Rotation=-30,Couleur=Green]
+ \tkzCrayon[Origine={(-3,3)},Echelle=1.25,Rotation=195,Couleur=orange]
+\end{tikzpicture}
+\end{PresentationCode}
+
+\pagebreak
+
+\section{La règle graduée}
+
+\subsection{La commande}
+
+\begin{cautionblock}
+Le package propose l'outil \textsf{Règle graduée}.
+
+La forme générale de la règle est \textit{fixée}, mais la règle peut être \textit{personnalisée}.
+\end{cautionblock}
+
+\begin{PresentationCode}{tikz lower}
+\tkzRegle
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Quelques \Cle{clés} de personnalisation sont disponibles :
+
+\begin{itemize}
+ \item \Cle{Longueur} pour la taille, en cm, de la règle ;\hfill~(défaut : \Cle{12} et mini \Cle{3})
+ \item \Cle{Largeur} pour la largeur, en cm, de la règle ;\hfill~(défaut : \Cle{1.5} et mini \Cle{1.25})
+ \item \Cle{Origine} pour le placer la règle (au niveau du $0$) ;\hfill~(défaut : \Cle{\{(0,0)\}})
+ \item \Cle{Rotation} pour pivoter la règle (au niveau du $0$) ;\hfill~(défaut : \Cle{0})
+ \item \Cle{Echelle} pour l'échelle globale de la règle ;\hfill~(défaut : \Cle{1})
+ \item \Cle{Couleur} pour la couleur des éléments de la règle ;\hfill~(défaut : \Cle{black})
+ \item le booléen \Cle{Fond} pour afficher une couleur de fond pour la règle ;\hfill~(défaut : \Cle{false})
+ \item \Cle{CouleurFond} pour la couleur du fond de la règle ;\hfill~(défaut : \Cle{black})
+ \item \Cle{Opacite} pour régler l'opacité du fond de la règle ;\hfill~(défaut : \Cle{0.5})
+ \item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations ;\hfill~(défaut : \Cle{true})
+ \item \Cle{PosVal} pour spécifier la position (haut, milieu, etc) des valeurs, parmi \Cle{h/m/b/hb}.
+
+ \hfill~(défaut : \Cle{m})
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{noteblock}
+Pour des exemples de personnalisation, une grille ainsi que les points \textit{support} seront rajoutés.
+
+\smallskip
+
+Toutes les \Cle{clés} ne seront pas présentées de manière indépendante, mais parfois elles seront \textit{cumulées} pour éviter de surcharger la sortie.
+\end{noteblock}
+
+\begin{PresentationCode}{listing only}
+%environnement tikz
+\tkzRegle[Fond,CouleurFond=red]
+\tkzRegle[Longueur=13,Largeur=2,Rotation=-45,Couleur=ForestGreen, Origine={(1,-3)},Fond,PosVal=hb]
+\tkzRegle[Largeur=1.25,Longueur=9,Couleur=blue,Rotation=20,Origine={(0,3)}, AfficheValeurs=false]
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+ \affichegrille{-1}{13}{-14}{7}
+ \pointsutiles{(0,0),(1,-3),(0,3)}
+ \tkzRegle[Fond,CouleurFond=red]
+ \tkzRegle[Longueur=13,Largeur=2,Rotation=-45,Couleur=ForestGreen,Origine={(1,-3)},Fond,PosVal=hb]
+ \tkzRegle[Largeur=1.25,Longueur=9,Couleur=blue,Rotation=20,Origine={(0,3)},AfficheValeurs=false]
+\end{tikzpicture}
+\end{PresentationCode}
+
+\pagebreak
+
+\section{L'équerre}
+
+\subsection{La commande}
+
+\begin{cautionblock}
+Le package propose l'outil \textsf{Équerre}.
+
+La forme générale de l'équerre (angles 60/30) est \textit{fixée}, mais l'équerre peut être \textit{personnalisée}.
+\end{cautionblock}
+
+\begin{PresentationCode}{tikz lower}
+\tkzEquerre
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Quelques \Cle{clés} de personnalisation sont disponibles :
+
+\begin{itemize}
+ \item \Cle{Longueur} pour la longueur, en cm, de l'équerre ;\hfill~(défaut : \Cle{10} et mini \Cle{4.5})
+ \item \Cle{Origine} pour le placer l'équerre (au niveau du coin) ;\hfill~(défaut : \Cle{\{(0,0)\}})
+ \item \Cle{Rotation} pour pivoter l'équerre (au niveau du coin) ;\hfill~(défaut : \Cle{0})
+ \item \Cle{Echelle} pour l'échelle globale de l'équerre ;\hfill~(défaut : \Cle{1})
+ \item \Cle{Couleur} pour la couleur des éléments de l'équerre ;\hfill~(défaut : \Cle{black})
+ \item le booléen \Cle{Fond} pour afficher une couleur de fond pour l'équerre ;\hfill~(défaut : \Cle{false})
+ \item \Cle{CouleurFond} pour la couleur du fond de l'équerre ;\hfill~(défaut : \Cle{black})
+ \item \Cle{Opacite} pour régler l'opacité du fond de l'équerre ;\hfill~(défaut : \Cle{0.5})
+ \item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true})
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresentationCode}{listing only}
+%environnement tikz
+\tkzEquerre[Fond]
+\tkzEquerre[Echelle=0.5,Origine={(8,6)},Couleur=DarkBlue,Rotation=-45]
+\tkzEquerre[Longueur=10,Origine={(2.5,-1)},Couleur=red,Rotation=-105]
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+ \affichegrille{-1}{13}{-7}{11}
+ \pointsutiles{(0,0),(8,6),(2.5,-1)}
+ \tkzEquerre[Fond]
+ \tkzEquerre[Echelle=0.5,Origine={(8,6)},Couleur=DarkBlue,Rotation=-45]
+ \tkzEquerre[Longueur=10,Origine={(2.5,-1)},Couleur=red,Rotation=-105]
+\end{tikzpicture}
+\end{PresentationCode}
+
+\pagebreak
+
+\section{Les rapporteurs (180 \&{} 360)}
+
+\subsection{La commande}
+
+\begin{cautionblock}
+Le package propose l'outil \textsf{Rapporteur}.
+
+La forme générale du rapporteur (largeur $7,5$~cm) est \textit{fixée}, mais le rapporteur peut être \textit{personnalisé}.
+\end{cautionblock}
+
+\begin{PresentationCode}{tikz lower}
+\tkzRapporteur
+\end{PresentationCode}
+
+\begin{PresentationCode}{tikz lower}
+\tkzRapporteur[Complet]
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Quelques \Cle{clés} de personnalisation sont disponibles :
+
+\begin{itemize}
+ \item le booléen \Cle{Complet} pour afficher la version \og 360 \fg{};\hfill~(défaut : \Cle{false})
+ \item \Cle{Origine} pour le placer le rapporteur (au niveau du \textit{centre}) ;\hfill~(défaut : \Cle{\{(0,0)\}})
+ \item \Cle{Rotation} pour pivoter le rapporteur (au niveau du \textit{centre}) ;\hfill~(défaut : \Cle{0})
+ \item \Cle{Echelle} pour l'échelle globale du rapporteur ;\hfill~(défaut : \Cle{1})
+ \item \Cle{Couleur} pour la couleur des éléments du rapporteur ;\hfill~(défaut : \Cle{black})
+ \item le booléen \Cle{Fond} pour afficher une couleur de fond ;\hfill~(défaut : \Cle{false})
+ \item \Cle{CouleurFond} pour la couleur du fond du rapporteur ;\hfill~(défaut : \Cle{black})
+ \item \Cle{Opacite} pour régler l'opacité du fond du rapporteur ;\hfill~(défaut : \Cle{0.5})
+ \item le booléen \Cle{AfficheAngles} pour afficher les valeurs des angles.\hfill~(défaut : \Cle{true})
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresentationCode}{listing only}
+%environnement tikz
+\tkzRapporteur[Fond,CouleurFond=purple]
+\tkzRapporteur[Origine={(-2,-3)},Rotation=-45,Couleur=ForestGreen,Echelle=0.5]
+\tkzRapporteur[Complet,Origine={(8,-3)},Rotation=30,Couleur=DarkBlue, Echelle=0.75]
+\tkzRapporteur[Origine={(7,1)},Rotation=15,Couleur=orange, Echelle=0.75,AfficheAngles=false]
+\tkzRapporteur[Complet,Origine={(8,-3)},Rotation=30,Couleur=DarkBlue, Echelle=0.75]
+\tkzRapporteur[Complet,Origine={(2,-4)},Rotation=-90,Couleur=red, Echelle=0.5,AfficheAngles=false,Fond,CouleurFond=yellow]
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+ \affichegrille{-4}{11}{-6}{4}
+ \pointsutiles{(0,0),(-2,-3),(8,-3),(7,1),(2,-4)}
+ \tkzRapporteur[Fond,CouleurFond=purple]
+ \tkzRapporteur[Origine={(-2,-3)},Rotation=-45,Couleur=ForestGreen,Echelle=0.5]
+ \tkzRapporteur[Complet,Origine={(8,-3)},Rotation=30,Couleur=DarkBlue, Echelle=0.75]
+ \tkzRapporteur[Origine={(7,1)},Rotation=15,Couleur=orange, Echelle=0.75,AfficheAngles=false]
+ \tkzRapporteur[Complet,Origine={(8,-3)},Rotation=30,Couleur=DarkBlue, Echelle=0.75]
+ \tkzRapporteur[Complet,Origine={(2,-4)},Rotation=-90,Couleur=red,Echelle=0.5,AfficheAngles=false,Fond,CouleurFond=yellow]
+\end{tikzpicture}
+\end{PresentationCode}
+
+\pagebreak
+
+\section{La réquerre}
+
+\subsection{La commande}
+
+\begin{cautionblock}
+Le package propose l'outil \textsf{Réquerre}.
+
+La forme générale de la réquerre est \textit{fixée}, mais la réquerre peut être \textit{personnalisée}.
+\end{cautionblock}
+
+\begin{PresentationCode}{tikz lower}
+\tkzRequerre
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Quelques \Cle{clés} de personnalisation sont disponibles :
+
+\begin{itemize}
+ \item \Cle{Longueur} pour la taille, en cm, de la réquerre ;\hfill~(défaut : \Cle{12} et mini \Cle{6})
+ \item \Cle{Largeur} pour la largeur, en cm, la réquerre ;\hfill~(défaut : \Cle{3} et mini \Cle{1.5})
+ \item \Cle{Origine} pour le placer la réquerre (au niveau du \textit{centre}) ;\hfill~(défaut : \Cle{\{(0,0)\}})
+ \item \Cle{Rotation} pour pivoter la réquerre (au niveau du coin) ;\hfill~(défaut : \Cle{0})
+ \item \Cle{Echelle} pour l'échelle globale de la réquerre ;\hfill~(défaut : \Cle{1})
+ \item \Cle{Couleur} pour la couleur des éléments de la réquerre ;\hfill~(défaut : \Cle{black})
+ \item le booléen \Cle{Fond} pour afficher une couleur de fond pour la réquerre ;\hfill~(défaut : \Cle{false})
+ \item \Cle{CouleurFond} pour la couleur du fond de la réquerre ;\hfill~(défaut : \Cle{black})
+ \item \Cle{Opacite} pour régler l'opacité du fond de la réquerre ;\hfill~(défaut : \Cle{0.5})
+ \item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true})
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresentationCode}{listing only}
+%environnement tikz
+\tkzRequerre[Fond,CouleurFond=yellow]
+\tkzRequerre[Echelle=0.5,Origine={(-5,-6)},Rotation=-80,Couleur=ForestGreen, Longueur=10,Largeur=3.5,AfficheValeurs=false]
+\tkzRequerre[Origine={(1,-5)},Rotation=15,Couleur=DarkBlue, Longueur=9,Largeur=2.75]
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+ \affichegrille{-8}{7}{-9}{1}
+ \pointsutiles{(0,0),(-5,-6),(1,-5)}
+ \tkzRequerre[Fond,CouleurFond=yellow]
+ \tkzRequerre[Echelle=0.5,Origine={(-5,-6)},Rotation=-80,Couleur=ForestGreen, Longueur=10,Largeur=3.5,AfficheValeurs=false]
+ \tkzRequerre[Origine={(1,-5)},Rotation=15,Couleur=DarkBlue,Longueur=9,Largeur=2.75]
+\end{tikzpicture}
+\end{PresentationCode}
+
+\pagebreak
+
+\section{La \og rappéquerre \fg}
+
+\subsection{La commande}
+
+\begin{cautionblock}
+Le package propose l'outil \textsf{RappÉquerre}.
+
+La forme générale de la rappéquerre est \textit{fixée}, mais la rappéquerre peut être \textit{personnalisée}.
+\end{cautionblock}
+
+\begin{PresentationCode}{tikz lower}
+\tkzRappEquerre
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Quelques \Cle{clés} de personnalisation sont disponibles :
+
+\begin{itemize}
+ \item \Cle{Largeur} pour la (demie-)largeur, en cm, de la rappéquerre ;\hfill~(défaut : \Cle{6} et mini \Cle{3})
+ \item \Cle{Origine} pour le placer la rappéquerre (au niveau du coin) ;\hfill~(défaut : \Cle{\{(0,0)\}})
+ \item \Cle{Rotation} pour pivoter la rappéquerre (au niveau du coin) ;\hfill~(défaut : \Cle{0})
+ \item \Cle{Echelle} pour l'échelle globale de la rappéquerre ;\hfill~(défaut : \Cle{1})
+ \item \Cle{EchelleValeurs} pour l'échelle des valeurs ;\hfill~(défaut : \Cle{1})
+ \item \Cle{Couleur} pour la couleur des éléments de la rappéquerre ;\hfill~(défaut : \Cle{black})
+ \item le booléen \Cle{Fond} pour afficher une couleur de fond pour la rappéquerre ;\hfill~(défaut : \Cle{false})
+ \item \Cle{CouleurFond} pour la couleur du fond de la rappéquerre ;\hfill~(défaut : \Cle{black})
+ \item \Cle{Opacite} pour régler l'opacité du fond de la rappéquerre ;\hfill~(défaut : \Cle{0.5})
+ \item le booléen \Cle{AfficheAngles} pour afficher les valeurs des angles ;\hfill~(défaut : \Cle{true})
+ \item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true})
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresentationCode}{listing only}
+%environnement tikz
+\tkzRappEquerre[Fond,Ombre]
+\tkzRappEquerre[Origine={(-5,-9)},Rotation=150,Couleur=ForestGreen,Echelle=0.5,Ombre]
+\tkzRappEquerre[Origine={(2,-10)},Rotation=-170,Couleur=DarkBlue, Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue]
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+ \affichegrille{-8}{7}{-11}{1}
+ \pointsutiles{(0,0),(-5,-9),(2,-10)}
+ \tkzRappEquerre[Fond,Ombre]
+ \tkzRappEquerre[Origine={(-5,-9)},Rotation=150,Couleur=ForestGreen,Echelle=0.5,Ombre]
+ \tkzRappEquerre[Origine={(2,-10)},Rotation=-170,Couleur=DarkBlue,Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue]
+\end{tikzpicture}
+\end{PresentationCode}
+
+\pagebreak
+
+\section{Le compas}
+
+\subsection{La commande}
+
+\begin{cautionblock}
+Le package propose l'outil \textsf{Compas}.
+
+L'aspect général du compas est \textit{fixé}, mais le compas peut être \textit{personnalisé}.
+\end{cautionblock}
+
+\begin{PresentationCode}{tikz lower}
+\coordinate (A) at (0,0) ;
+\coordinate (B) at (2.5,0) ;
+\tkzCompas{A}{B}
+\end{PresentationCode}
+
+\subsection{Arguments, clés et options}
+
+\begin{tipblock}
+Les deux arguments \textit{obligatoires} sont les \textbf{nœuds} de la pointe et de la mine du compas, donnés par exemple grâce aux commandes \texttt{\textbackslash coordinate} ou \texttt{\textbackslash node}.
+
+\medskip
+
+Quelques \Cle{clés} de personnalisation sont disponibles :
+
+\begin{itemize}
+ \item le booléen \Cle{AfficheCrayon} pour afficher le crayon ;\hfill~(défaut : \Cle{true})
+ \item \Cle{EchelleCrayon} pour l'échelle du crayon ;\hfill~(défaut : \Cle{1})
+ \item \Cle{CouleurCrayon} pour la couleur du crayon ;\hfill~(défaut : \Cle{red})
+ \item \Cle{LongueurCrayon} pour la longueur du crayon ;\hfill~(défaut : \Cle{5})
+ \item \Cle{LongueurBranches} pour la taille des branches du compas ;\hfill~(défaut : \Cle{6})
+ \item le booléen \Cle{CouleurCompas} pour la couleur du compas ;\hfill~(défaut : \Cle{gray})
+ \item le booléen \Cle{Retourne} pour forcer le retournement \og horizontal \fg{} du compas ;
+
+ \hfill~(défaut : \Cle{false})
+ \item \Cle{Echelle} pour l'échelle du compas (à utiliser avec précaution\ldots) ;\hfill~(défaut : \Cle{1})
+ \item \Cle{UniteTikz} (à utiliser avec précaution\ldots) pour spécifier une unité, par défaut elle est calculée (et stockée) en interne ;
+
+ \hfill~(défaut : \Cle{\textbackslash TmpUniteX})
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresentationCode}{listing only}
+%environnement tikz
+\tkzCompas{A}{B}
+\tkzCompas[LongueurBranches=4,CouleurCrayon=blue]{C}{D}
+\tkzCompas[LongueurBranches=3,CouleurCrayon=orange,Retourne, LongueurCrayon=3,CouleurCompas=black]{F}{E}
+\tkzCompas[LongueurBranches=3,CouleurCrayon=Green, LongueurCrayon=3,CouleurCompas=purple]{F}{E}
+\tkzCompas[Echelle=0.75,Retourne,CouleurCrayon=cyan,CouleurCompas=pink]{G}{H}
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+ \affichegrille{-6}{9}{-6}{7}
+ \pointsutiles{(0,0),(2,1),(-4,-5),(-1,-5),(5,-2),(8,-3),(8.5,6),(8.5,2.5)}
+ \coordinate (A) at (0,0) ; \draw (A) node[below] {A} ;
+ \coordinate (B) at (2,1) ; \draw (B) node[below] {B} ;
+ \coordinate (C) at (-4,-5) ; \draw (C) node[below] {C} ;
+ \coordinate (D) at (-1,-5) ; \draw (D) node[below] {D} ;
+ \coordinate (E) at (5,-2) ; \draw (E) node[left] {E} ;
+ \coordinate (F) at (8,-3) ; \draw (F) node[right] {F} ;
+ \coordinate (G) at (8.5,6) ; \draw (G) node[right] {G} ;
+ \coordinate (H) at (8.5,2.5) ; \draw (H) node[right] {H} ;
+ \tkzCompas{A}{B}
+ \tkzCompas[LongueurBranches=4,CouleurCrayon=blue]{C}{D}
+ \tkzCompas[LongueurBranches=3,CouleurCrayon=orange,Retourne, LongueurCrayon=3,CouleurCompas=black]{F}{E}
+ \tkzCompas[LongueurBranches=3,CouleurCrayon=Green, LongueurCrayon=3,CouleurCompas=purple]{F}{E}
+ \tkzCompas[Echelle=0.75,Retourne,CouleurCrayon=cyan,CouleurCompas=pink]{G}{H}
+\end{tikzpicture}
+\end{PresentationCode}
+
+\pagebreak
+
+\part{Exemple}
+
+\begin{PresentationCode}{listing only}
+\tkzRegle[Fond,AfficheValeurs,Longueur=15,Rotation=-20,Echelle=0.5,CouleurFond=blue]
+\tkzEquerre[Fond,AfficheValeurs,Longueur=12,Origine={(-20:4)}, Rotation=-20,CouleurFond=red,Echelle=0.5]
+\tkzCrayon[Couleur=ForestGreen,Origine={(-20:4)},Rotation=30,Echelle=0.5]
+\draw (10,-5)--++(20:5) (10,-5)--++(50:5) ;
+\tkzRapporteur[Fond,CouleurFond=purple,Origine={(10,-5)},Echelle=0.5,Rotation=20]
+\tkzRappEquerre[Fond,Origine={(9,1)},Rotation=90,CouleurFond=ForestGreen,Echelle=0.5]
+\tkzCrayon[Couleur=yellow,Origine={(9,-1)},Rotation=20,Echelle=0.5]
+\coordinate (AA) at ($(10,-5)+(50:{0.5*3.75})$) ;
+\tkzCrayon[Couleur=orange,Origine={AA},Rotation=-20,Echelle=0.5,Longueur=6]
+\tkzRequerre[Fond,AfficheValeurs,CouleurFond=yellow,Origine={(3,-3.5)}, Rotation=-30,Echelle=0.5]
+\tkzCrayon[Couleur=gray,Origine={(3,-3)},Rotation=-98,Echelle=0.5]
+\coordinate (FG) at (-1,1) ; \coordinate (FH) at (1,1.5) ;
+\tkzCompas[LongueurBranches=3,LongueurCrayon=2]{FG}{FH}
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+ \affichegrille{-2}{13}{-8}{5}
+ %\pointsutiles{(0,0),(2,1),(-4,-5),(-1,-5),(5,-2),(8,-3),(8.5,6),(8.5,2.5)}
+ \tkzRegle[Fond,Longueur=8,Rotation=-20,CouleurFond=blue]
+ \tkzEquerre
+ [Fond,Longueur=7,Origine={(-20:4)},Rotation=-20,CouleurFond=red]
+ \tkzCrayon[Couleur=ForestGreen,Origine={(-20:4)},Rotation=30,Longueur=3]
+ \draw (10,-5)--++(20:3) (10,-5)--++(50:3) ;
+ \tkzRapporteur[Fond,CouleurFond=purple,Origine={(10,-5)},Echelle=0.5,Rotation=20]
+ \tkzRappEquerre[Fond,Origine={(9,1)},Rotation=90,CouleurFond=ForestGreen,Largeur=4]
+ \tkzCrayon[Couleur=yellow,Origine={(9,-1)},Rotation=20,Longueur=3]
+ \coordinate (AA) at ($(10,-5)+(50:{0.5*3.75})$) ;
+ \tkzCrayon[Couleur=orange,Origine={AA},Rotation=-20,Longueur=6,Echelle=0.5]
+ \tkzRequerre[Fond,AfficheValeurs,CouleurFond=yellow,Origine={(3,-3.5)},Rotation=-30,Longueur=7,Largeur=2.5]
+ \tkzCrayon[Couleur=gray,Origine={(3,-3.5)},Rotation=-98,Longueur=3]
+ %compas
+ \coordinate (FG) at (-1,1) ; \coordinate (FH) at (1,1.5) ;
+ \tkzCompas[LongueurBranches=3,LongueurCrayon=2]{FG}{FH}
+\end{tikzpicture}
+\end{PresentationCode}
+\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty b/graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty
new file mode 100644
index 0000000000..7b6784ca45
--- /dev/null
+++ b/graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty
@@ -0,0 +1,620 @@
+% Author.........: C. Pierquet
+% licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{OutilsGeomTikz}[2023/03/03 v0.1.0 Outils géométriques en TikZ]
+% 0.1.0 Version initiale
+
+%------Packages utiles
+\RequirePackage{tikz,pgffor}
+\RequirePackage{simplekv}
+\RequirePackage{xstring}
+\RequirePackage{nicefrac}
+%librairies tikz
+\usetikzlibrary{calc,positioning}
+
+%--------Crayon
+% inspiration(s) de https://tex.stackexchange.com/questions/147389/symbols-of-pencil-ruler-and-compass
+\defKV[CrayonGeom]{%
+ Echelle=\def\PENechelle{#1},%
+ Longueur=\def\PENlongueur{#1},%
+ Couleur=\def\PENcouleur{#1},%
+ Origine=\def\PENposOrigin{#1},%
+ Rotation=\def\PENangle{#1}
+}
+
+\setKVdefault[CrayonGeom]{%
+ Echelle=1,%
+ Couleur=red,%
+ Longueur=5,%
+ Origine={(0,0)},%
+ Rotation=0
+}
+
+\NewDocumentCommand\tkzCrayon{ O{} }{%
+ \useKVdefault[CrayonGeom]%
+ \setKV[CrayonGeom]{#1}%
+ \xdef\PENlongueur{\fpeval{max(2.5,\PENlongueur)}}%valeurs mini
+ \begin{scope}[shift={(\PENposOrigin)},rotate=\PENangle,scale=\PENechelle]
+ \fill[\PENcouleur!75] (-0.2,{\PENlongueur-0.3}) -- (0.2,{\PENlongueur-0.3}) -- (0.2,0.8) --(0.1,0.65) -- (0,0.8) -- (-0.1,0.66) -- (-0.2,0.8) -- cycle;
+ \draw[color=white,line width={\PENechelle*1pt}] (0,{\PENlongueur-0.3}) -- (0,0.6);
+ \fill[black] (-0.2,{\PENlongueur-0.6}) -- (0,{\PENlongueur-0.65}) -- (0.2,{\PENlongueur-0.6}) -- (0.2,{\PENlongueur-0.12}) arc(30:150:0.23);
+ \fill[brown!40] (-0.2,0.8) -- (0,0) node[coordinate,pos=0.7] (a) {} -- (0.2,0.8) node[coordinate,pos=0.3] (b) {} -- (0.1,0.65) -- (0,0.8) -- (-0.1,0.66) -- cycle;
+ \fill[\PENcouleur] (a) -- (0,0) -- (b) -- cycle ;
+ \end{scope}
+}
+
+%--------Règle (OK)
+\defKV[RegleGeom]{%
+ Echelle=\def\REGLechelle{#1},%
+ Longueur=\def\REGLlongueur{#1},%
+ Largeur=\def\REGLlargeur{#1},%
+ Couleur=\def\REGLcouleur{#1},%
+ CouleurFond=\def\REGLcouleurfond{#1},%
+ Origine=\def\REGLposOrigin{#1},%
+ Rotation=\def\REGLangle{#1},%
+ Opacite=\def\REGLopac{#1},%
+ PosVal=\def\REGLposval{#1}
+}
+
+\setKVdefault[RegleGeom]{%
+ Echelle=1,%
+ Couleur=black,%
+ CouleurFond=black,%
+ Longueur=12,%
+ Largeur=1.5,%
+ Origine={(0,0)},%
+ Rotation=0,%
+ AfficheValeurs=true,%
+ Fond=false,%
+ Opacite=0.5,%
+ PosVal=m
+}
+
+\NewDocumentCommand{\tkzRegle}{ O{} }{%
+ \useKVdefault[RegleGeom]%
+ \setKV[RegleGeom]{#1}%
+ \xdef\REGLlongueur{\fpeval{max(3,\REGLlongueur)}}%valeurs mini
+ \xdef\REGLlargeur{\fpeval{max(1.5,\REGLlargeur)}}
+ \begin{scope}[shift={(\REGLposOrigin)},rotate=\REGLangle,scale=\REGLechelle]
+ \ifboolKV[RegleGeom]{Fond}
+ {%
+ \begin{scope}
+ \fill[draw=none,fill=\REGLcouleurfond!10!white,fill opacity=\REGLopac,even odd rule] (-0.375,0)--({\REGLlongueur+0.375},0) to[bend left=15] ({\REGLlongueur+0.375},{-\REGLlargeur}) -- (-0.375,{-\REGLlargeur}) to[bend left=15] (-0.375,0) (0.5,{-0.5*\REGLlargeur}) circle[radius={0.125*\REGLlargeur}] ;
+ \end{scope}
+ }%
+ {}
+ %bord et trou
+ \draw[semithick,\REGLcouleur] (-0.375,0)--({\REGLlongueur+0.375},0) to[bend left=15] ({\REGLlongueur+0.375},{-\REGLlargeur}) -- (-0.375,{-\REGLlargeur}) to[bend left=15] (-0.375,0) (0.5,{-0.5*\REGLlargeur}) circle[radius={0.125*\REGLlargeur}] ;
+ \foreach \x in {0,0.1,...,\REGLlongueur} {\draw[\REGLcouleur] (\x,0)--++(0,-0.25) (\x,{-\REGLlargeur})--++(0,0.25) ;}
+ \foreach \x in {0,0.5,...,\REGLlongueur} {\draw[\REGLcouleur] (\x,0)--++(0,-0.375) (\x,{-\REGLlargeur})--++(0,0.375) ;}
+ \foreach \x in {0,1,...,\REGLlongueur} {\draw[\REGLcouleur] (\x,0)--++(0,-0.5) (\x,{-\REGLlargeur})--++(0,0.5) ;}
+ \ifboolKV[RegleGeom]{AfficheValeurs}%
+ {%
+ \IfSubStr{\REGLposval}{h}
+ {\foreach \i in {0,1,...,\REGLlongueur} \draw[\REGLcouleur] (\i,{-0.5}) node[inner sep=1pt,outer sep=1pt,rotate=\REGLangle,scale={0.8*\REGLechelle},font=\small,below] {$\i$} ;}
+ {}
+ \IfSubStr{\REGLposval}{m}
+ {\foreach \i in {0,1,...,\REGLlongueur} \draw[\REGLcouleur] (\i,{-0.5*\REGLlargeur}) node[inner sep=1pt,outer sep=1pt,rotate=\REGLangle,scale={0.8*\REGLechelle},font=\small] {$\i$} ;}
+ {}
+ \IfSubStr{\REGLposval}{b}
+ {\foreach \i in {0,1,...,\REGLlongueur} \draw[\REGLcouleur] (\i,{-\REGLlargeur+0.5}) node[inner sep=1pt,outer sep=1pt,rotate=\REGLangle,scale={0.8*\REGLechelle},font=\small,above] {\rotatebox{180}{$\fpeval{trunc(\REGLlongueur)-\i}$}} ;}
+ {}
+ }%
+ {}%
+ \end{scope}
+}
+
+%--------Réquerre (OK)
+\defKV[RequerreGeom]{%
+ Echelle=\def\REQechelle{#1},%
+ Longueur=\def\REQlongueur{#1},%
+ Largeur=\def\REQlargeur{#1},%
+ Couleur=\def\REQcouleur{#1},%
+ CouleurFond=\def\REQcouleurfond{#1},%
+ Origine=\def\REQposOrigin{#1},%
+ Rotation=\def\REQangle{#1},%
+ Opacite=\def\REQopac{#1}
+}
+
+\setKVdefault[RequerreGeom]{%
+ Echelle=1,%
+ Couleur=black,%
+ CouleurFond=black,%
+ Longueur=12,%
+ Largeur=3,%
+ Origine={(0,0)},%
+ Rotation=0,%
+ AfficheValeurs=true,%
+ Fond=false,%
+ Opacite=0.5
+}
+
+\NewDocumentCommand{\tkzRequerre}{ O{} }{%
+ \useKVdefault[RequerreGeom]%
+ \setKV[RequerreGeom]{#1}%
+ \xdef\REQlongueur{\fpeval{max(6,\REQlongueur)}}%valeurs mini
+ \xdef\REQlargeur{\fpeval{max(1.5,\REQlargeur)}}
+ \begin{scope}[shift={(\REQposOrigin)},rotate=\REQangle,scale=\REQechelle]
+ \ifboolKV[RequerreGeom]{Fond}
+ {
+ \fill[draw=none,rounded corners,fill=\REQcouleurfond!10!white,fill opacity=\REQopac] ({-\REQlongueur*0.5},0) rectangle ({\REQlongueur*0.5},{-\REQlargeur}) ;
+ }
+ {}
+ \draw[semithick,\REQcouleur,rounded corners] ({-\REQlongueur*0.5},0) rectangle ({\REQlongueur*0.5},{-\REQlargeur}) ;
+ \draw[\REQcouleur] (0,-1)--(0,-\REQlargeur) ;
+ \foreach \x in {0,0.1,...,\fpeval{0.5*\REQlongueur-0.5}} {\draw[\REQcouleur] (\x,0)--(\x,-0.25) (-\x,0)--(-\x,-0.25) ;}
+ \foreach \x in {0,0.5,...,\fpeval{0.5*\REQlongueur-0.5}} {\draw[\REQcouleur] (\x,0)--(\x,-0.375) (-\x,0)--(-\x,-0.375) ;}
+ \foreach \x in {0,1,...,\fpeval{0.5*\REQlongueur-0.5}} {\draw[\REQcouleur] (\x,0)--(\x,-0.5) (-\x,0)--(-\x,-0.5) ;}
+ \foreach \x in {0.7,0.8,...,\REQlargeur} {\draw[\REQcouleur] (-2.65,-\x)--(-2.35,-\x) (2.65,-\x)--(2.35,-\x) ;}
+ \foreach \x in {1,1.5,...,\REQlargeur} {\draw[\REQcouleur] (-2.8,-\x)--(-2.2,-\x) (2.2,-\x)--(2.8,-\x) ;}
+ \begin{scope}
+ \clip ({-\REQlongueur*0.5},0) rectangle ({\REQlongueur*0.5},{-\REQlargeur}) ;
+ \draw[\REQcouleur] (0,-1) rectangle++ (0.2,-0.2) (0,-2) rectangle++ (-0.2,0.2) ;
+ \foreach \x in {1,2,...,\fpeval{\REQlargeur-0.25}} {\draw[\REQcouleur] ({-\REQlongueur*0.5},-\x)--({\REQlongueur*0.5},-\x) ;}
+ \end{scope}
+ \ifboolKV[RequerreGeom]{AfficheValeurs}%
+ {%
+ \draw[\REQcouleur] (0,-0.5) node[inner sep=1pt,outer sep=1pt,rotate=\REQangle,scale={0.8*\REQechelle},font=\small,below] {$0$} ;
+ \foreach \i in {1,2,...,\fpeval{0.5*\REQlongueur-0.5}}{%
+ \draw[\REQcouleur] (\i,-0.5) node[inner sep=1pt,outer sep=1pt,rotate=\REQangle,scale={0.8*\REQechelle},font=\small,below] {$\i$} ;
+ \draw[\REQcouleur] (-\i,-0.5) node[inner sep=1pt,outer sep=1pt,rotate=\REQangle,scale={0.8*\REQechelle},font=\small,below] {$-\i$} ;}
+ }%
+ {}%
+ \end{scope}
+}
+
+%--------Équerre (OK)
+\defKV[EquerreGeom]{%
+ Echelle=\def\EQechelle{#1},%
+ Longueur=\def\EQlongueur{#1},%
+ Couleur=\def\EQcouleur{#1},%
+ CouleurFond=\def\EQcouleurfond{#1},%
+ Origine=\def\EQposOrigin{#1},%
+ Rotation=\def\EQangle{#1},%
+ Opacite=\def\EQopac{#1}
+}
+
+\setKVdefault[EquerreGeom]{%
+ Echelle=1,%
+ Couleur=black,%
+ CouleurFond=black,%
+ Longueur=10,%
+ Origine={(0,0)},%
+ Rotation=0,%
+ AfficheValeurs=true,%
+ Fond=false,%
+ Opacite=0.5
+}
+
+\NewDocumentCommand{\tkzEquerre}{ O{} }{%
+ \useKVdefault[EquerreGeom]%
+ \setKV[EquerreGeom]{#1}%
+ \xdef\EQlongueur{\fpeval{max(4.5,\EQlongueur)}}%valeurs mini
+ \def\EQlargeur{\fpeval{\EQlongueur*tand(30)}}
+ \begin{scope}[shift={(\EQposOrigin)},rotate=\EQangle,scale=\EQechelle]
+ \ifboolKV[EquerreGeom]{Fond}
+ {%
+ \begin{scope} %diff extérieur-intérieur
+ \fill[draw=none,fill=\EQcouleurfond!10!white,fill opacity=\EQopac,even odd rule]
+ (0,0) -- ({\EQlargeur},0) -- (0,{\EQlongueur}) -- cycle
+ ({1},{1}) -- ({\EQlargeur-sqrt(3)},{1}) -- ({1},{\EQlongueur-(2+sqrt(3))}) -- cycle ;
+ \end{scope}
+ }%
+ {}
+ \draw[semithick,\EQcouleur] (0,0) -- ({\EQlargeur},0) -- (0,{\EQlongueur}) -- cycle ; %contour extérieur
+ \draw[semithick,\EQcouleur] ({1},{1}) -- ({\EQlargeur-sqrt(3)},{1}) -- ({1},{\EQlongueur-(2+sqrt(3))}) -- cycle ; %contour intérieur
+ %graduations
+ \begin{scope}
+ \clip (0,0) -- ({\EQlargeur},0) -- (0,{\EQlongueur}) -- cycle ;
+ \draw[\EQcouleur] (0.1,0)--(0.1,0.075) (0.2,0)--(0.2,0.15) ;
+ \foreach \x in {0.3,0.4,...,\fpeval{0.925*\EQlargeur}} {\draw[\EQcouleur] (\x,0)--(\x,0.2) ;}
+ \foreach \x in {0.5,1,...,\fpeval{0.925*\EQlargeur}} {\draw[\EQcouleur] (\x,0)--(\x,0.3) ;}
+ \foreach \x in {0,1,...,\fpeval{0.925*\EQlargeur}} {\draw[\EQcouleur] (\x,0)--(\x,0.4) ;}
+ \draw[\EQcouleur] (0,0.1)--(0.075,0.1) (0,0.2)--(0.15,0.2) ;
+ \foreach \y in {0.3,0.4,...,\fpeval{0.925*\EQlongueur}} {\draw[\EQcouleur] (0,\y)--(0.2,\y) ;}
+ \foreach \y in {0.5,1,...,\fpeval{0.925*\EQlongueur}} {\draw[\EQcouleur] (0,\y)--(0.3,\y) ;}
+ \foreach \y in {0,1,...,\fpeval{0.925*\EQlongueur}} {\draw[\EQcouleur] (0,\y)--(0.4,\y) ;}
+ \ifboolKV[EquerreGeom]{AfficheValeurs}%
+ {%
+ \foreach \i in {1,2,...,\fpeval{0.9*\EQlongueur-1}}
+ \draw[\EQcouleur] (0.4,\i) node[inner sep=1pt,outer sep=1pt,rotate=\EQangle,scale={0.8*\EQechelle},font=\small,right] {\rotatebox{90}{$\i$}} ;
+ \foreach \i in {1,2,...,\fpeval{0.9*\EQlargeur-0.5}}
+ \draw[\EQcouleur] (\i,0.4) node[inner sep=1pt,outer sep=1pt,rotate=\EQangle,scale={0.8*\EQechelle},font=\small,above] {\rotatebox{180}{$\i$}} ;
+ }%
+ {}%
+ \end{scope}
+ \end{scope}
+}
+
+%--------Rapporteur (OK)
+\defKV[RapporteurGeom]{%
+ Echelle=\def\RAPPechelle{#1},%
+ EchelleAngle=\def\RAPPechangle{#1},%
+ Couleur=\def\RAPPcouleur{#1},%
+ CouleurFond=\def\RAPPcouleurfond{#1},%
+ Origine=\def\RAPPposOrigin{#1},%
+ Rotation=\def\RAPPangle{#1},%
+ Opacite=\def\RAPPopac{#1}
+}
+
+\setKVdefault[RapporteurGeom]{%
+ Echelle=1,%
+ EchelleAngle=1,%
+ Couleur=black,%
+ CouleurFond=black,%
+ Origine={(0,0)},%
+ Rotation=0,%
+ AfficheAngles=true,%
+ Fond=false,%
+ Opacite=0.5,%
+ Complet=false
+}
+
+\NewDocumentCommand{\tkzRapporteur}{ O{} }{%
+ \useKVdefault[RapporteurGeom]%
+ \setKV[RapporteurGeom]{#1}%
+ \begin{scope}[shift={(\RAPPposOrigin)},rotate=\RAPPangle,scale=\RAPPechelle,every node/.style={rotate=\RAPPangle}]
+ \ifboolKV[RapporteurGeom]{Complet}
+ {
+ %fond
+ \ifboolKV[RapporteurGeom]{Fond}
+ {%
+ \fill[draw=none,fill=\RAPPcouleurfond!10!white,fill opacity=\RAPPopac] (0,0) circle[radius=3.75] ;
+ }%
+ {}
+ %rectangles
+ \foreach \i in {30,45,60}
+ {\draw[densely dotted,\RAPPcouleur] (\i:2.5) rectangle ({180+\i}:2.5) ;}
+ %extérieur et intérieur
+ \draw[semithick,\RAPPcouleur] (0,0) circle[radius=3.75] ;
+ \draw[semithick,\RAPPcouleur] (0,0) circle[radius=2.5] ;
+ \draw[semithick,\RAPPcouleur] (-2.5,0) -- (2.5,0) ;
+ \draw[semithick,\RAPPcouleur] (0,-2.5) -- (0,2.5) ;
+ %grad degrés
+ \foreach \i in {0,1,...,360} {\draw[\RAPPcouleur] (\i:3.75)--(\i:3.55) ;}
+ \foreach \i in {0,5,...,360} {\draw[\RAPPcouleur] (\i:3.75)--(\i:3.45) ;}
+ \foreach \i in {0,10,...,360} {\draw[\RAPPcouleur] (\i:3.75)--(\i:3.35) ;}
+ %grad radians
+ \foreach \i in {0,30,45,60,90,120,135,150,180,210,225,240,270,300,315,330} {\draw[\RAPPcouleur] (\i:2.5)--(\i:2.65) (\i:2.9)--(\i:3.1) ;}
+ %valeurs si booléen
+ \ifboolKV[RapporteurGeom]{AfficheAngles}
+ {%
+ \draw[\RAPPcouleur] (0:2.75) node[rotate=90,scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$0$} ;
+ \draw[\RAPPcouleur] (180:3.25) node[rotate=90,scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\pm 180$} ;
+ \draw[\RAPPcouleur] (180:2.75) node[rotate=90,scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\pm \pi$} ;
+ \foreach \i in {0,10,...,170}
+ {\draw[\RAPPcouleur] (\i:3.25) node[rotate={\i-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\i$} ;}
+ \draw[\RAPPcouleur] (30:2.75) node[rotate={30-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{\pi}{6}$} ;
+ \draw[\RAPPcouleur] (45:2.75) node[rotate={45-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{\pi}{4}$} ;
+ \draw[\RAPPcouleur] (60:2.75) node[rotate={60-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{\pi}{3}$} ;
+ \draw[\RAPPcouleur] (90:2.75) node[rotate={90-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{\pi}{2}$} ;
+ \draw[\RAPPcouleur] (120:2.75) node[rotate={120-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{2\pi}{3}$} ;
+ \draw[\RAPPcouleur] (135:2.75) node[rotate={135-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{3\pi}{4}$} ;
+ \draw[\RAPPcouleur] (150:2.75) node[rotate={150-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{5\pi}{6}$} ;
+ \foreach \i in {10,20,...,170}
+ {\draw[\RAPPcouleur] ({-\i}:3.25) node[rotate={270-\i},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$-\i$} ;}
+ \draw[\RAPPcouleur] (-30:2.75) node[rotate={270-30},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{-\pi}{6}$} ;
+ \draw[\RAPPcouleur] (-45:2.75) node[rotate={270-45},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{-\pi}{4}$} ;
+ \draw[\RAPPcouleur] (-60:2.75) node[rotate={270-60},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{-\pi}{3}$} ;
+ \draw[\RAPPcouleur] (-90:2.75) node[rotate={270-90},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{-\pi}{2}$} ;
+ \draw[\RAPPcouleur] (-120:2.75) node[rotate={270-120},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{-2\pi}{3}$} ;
+ \draw[\RAPPcouleur] (-135:2.75) node[rotate={270-135},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{-3\pi}{4}$} ;
+ \draw[\RAPPcouleur] (-150:2.75) node[rotate={270-150},scale=\fpeval{0.8*\RAPPechelle*\RAPPechangle},font=\tiny] {$\nicefrac{-5\pi}{6}$} ;
+ }{}
+ }
+ {
+ %fond
+ \ifboolKV[RapporteurGeom]{Fond}
+ {%
+ \begin{scope}
+ \fill[draw=none,fill=\RAPPcouleurfond!10!white,fill opacity=\RAPPopac,even odd rule]
+ (-3.75,-0.75) -- (3.75,-0.75) -- (3.75,0) arc (0:180:3.75) -- cycle
+ (0.5,0) arc (0:180:0.5) -- (-2.25,0) arc (180:0:2.25) -- cycle ;
+ \end{scope}
+ }%
+ {}
+ %extérieur et intérieur
+ \draw[semithick,\RAPPcouleur] (-3.75,-0.75) -- (3.75,-0.75) -- (3.75,0) arc (0:180:3.75) -- cycle ;
+ \draw[semithick,\RAPPcouleur] (0.5,0) arc (0:180:0.5) -- (-2.25,0) arc (180:0:2.25) -- cycle ;
+ %croix
+ \draw[semithick,\RAPPcouleur] (-0.2,0)--(0.2,0) (0,-0.2)--(0,0.2) ;
+ %grad ext
+ \foreach \i in {0,1,...,180} {\draw[\RAPPcouleur] (\i:3.75)--(\i:3.55) ;}
+ \foreach \i in {0,5,...,180} {\draw[\RAPPcouleur] (\i:3.75)--(\i:3.45) ;}
+ \foreach \i in {0,10,...,180} {\draw[\RAPPcouleur] (\i:3.75)--(\i:3.35) ;}
+ %grad int
+ \foreach \i in {0,5,...,180} {\draw[\RAPPcouleur] (\i:2.25)--(\i:2.4) ;}
+ \foreach \i in {0,10,...,180} {\draw[\RAPPcouleur] (\i:2.25)--(\i:2.55) ;}
+ %valeurs si booléen
+ \ifboolKV[RapporteurGeom]{AfficheAngles}
+ {%
+ \foreach \i in {0,10,...,180}
+ {\draw[\RAPPcouleur] (\i:3.2) node[rotate={\i-90},scale=\fpeval{\RAPPechelle*\RAPPechangle},font=\tiny] {\i} ;}
+ \foreach \i in {0,10,...,180}
+ {\draw[\RAPPcouleur] (\i:2.7) node[rotate={\i-90},scale=\fpeval{\RAPPechelle*\RAPPechangle},font=\tiny] {\inteval{180-\i}} ;}
+ }{}
+ }
+ \end{scope}
+}
+
+%--------RappÉquerre (OK)
+\defKV[RapporteurEquerreGeom]{%
+ Echelle=\def\RAPPEQechelle{#1},%
+ Largeur=\def\RAPPEQlargeur{#1},%
+ EchelleValeurs=\def\RAPPEQechangle{#1},%
+ Couleur=\def\RAPPEQcouleur{#1},%
+ CouleurFond=\def\RAPPEQcouleurfond{#1},%
+ Origine=\def\RAPPEQposOrigin{#1},%
+ Rotation=\def\RAPPEQangle{#1},%
+ Opacite=\def\RAPPEQopac{#1}
+}
+
+\setKVdefault[RapporteurEquerreGeom]{%
+ Echelle=1,%
+ Largeur=6,%
+ EchelleValeurs=1,%
+ Couleur=black,%
+ CouleurFond=black,%
+ Origine={(0,0)},%
+ Rotation=0,%
+ AfficheAngles=true,%
+ AfficheValeurs=true,%
+ Ombre=false,%
+ Fond=false,%
+ Opacite=0.5
+}
+
+\NewDocumentCommand{\tkzRappEquerre}{ O{} }{%
+ \useKVdefault[RapporteurEquerreGeom]%
+ \setKV[RapporteurEquerreGeom]{#1}%
+ \xdef\RAPPEQlargeur{\fpeval{max(3,\RAPPEQlargeur)}}%valeurs mini
+ \begin{scope}[shift={(\RAPPEQposOrigin)},rotate=\RAPPEQangle,scale=\RAPPEQechelle,every node/.style={rotate=\RAPPEQangle}]
+ %fond
+ \ifboolKV[RapporteurEquerreGeom]{Fond}
+ {%
+ \begin{scope}
+ \fill[draw=none,fill=\RAPPEQcouleurfond!10!white,fill opacity=\RAPPopac,even odd rule] (-\RAPPEQlargeur,0) -- (\RAPPEQlargeur,0) -- (0,-\RAPPEQlargeur) -- cycle ;
+ \end{scope}
+ }%
+ {}
+ \ifboolKV[RapporteurEquerreGeom]{Ombre}%
+ {%
+ \filldraw[draw=none,fill=\RAPPEQcouleur!25,opacity=\RAPPopac] (-175:{0.65*\RAPPEQlargeur}) arc (-175:-5:{0.65*\RAPPEQlargeur}) -- (-5:{0.625*\RAPPEQlargeur}) arc (-5:-175:{0.625*\RAPPEQlargeur}) -- cycle ;%
+ }{}%
+ %extérieur
+ \draw[semithick,\RAPPEQcouleur] (-\RAPPEQlargeur,0) -- (\RAPPEQlargeur,0) -- (0,-\RAPPEQlargeur) -- cycle ;
+ \foreach \x in {0,0.1,...,\fpeval{\RAPPEQlargeur-1}}
+ {\draw[\RAPPEQcouleur] ({\x},0)--({\x},-0.125) ({-\x},0)--({-\x},-0.125) ;}
+ \foreach \x in {0,0.5,...,\fpeval{\RAPPEQlargeur-1}}
+ {\draw[\RAPPEQcouleur] ({\x},0)--({\x},-0.1875) ({-\x},0)--({-\x},-0.1875) ;}
+ \foreach \x in {0,1,...,\fpeval{\RAPPEQlargeur-1}}
+ {\draw[\RAPPEQcouleur] ({\x},0)--({\x},-0.25) ({-\x},0)--({-\x},-0.25) ;}
+ %grad ext
+ \foreach \i in {5,6,...,175}
+ {\draw[\RAPPEQcouleur] ({-\i}:{0.5625*\RAPPEQlargeur})--++({-\i}:{0.02*\RAPPEQlargeur}) ;}
+ \foreach \i in {5,10,...,175}
+ {\draw[\RAPPEQcouleur] ({-\i}:{0.5625*\RAPPEQlargeur})--++({-\i}:{0.035*\RAPPEQlargeur}) ;}
+ %angles intérieurs
+ \ifboolKV[RapporteurEquerreGeom]{AfficheAngles}
+ {%
+ \foreach \i in {10,20,...,170}
+ {\draw[\RAPPEQcouleur] ({-\i}:{0.6125*\RAPPEQlargeur}) node[rotate={90-\i},scale=\fpeval{\RAPPEQlargeur/8*\RAPPEQechelle*\RAPPEQechangle},font=\tiny] {\i} ;}
+ %angles "extérieurs"
+ \foreach \i in {10,20,...,170}
+ {\draw[\RAPPEQcouleur] ({-\i}:{0.6375*\RAPPEQlargeur}) node[rotate={90-\i},scale=\fpeval{\RAPPEQlargeur/8*\RAPPEQechelle*\RAPPEQechangle},font=\tiny] {\inteval{180-\i}} ;}
+ }%
+ {}%
+ \ifboolKV[RapporteurEquerreGeom]{AfficheValeurs}
+ {%
+ \foreach \i in {-1,0,1}
+ {\draw[\RAPPEQcouleur] ({\i},-0.375) node[scale=\fpeval{\RAPPEQechelle*\RAPPEQechangle},font=\tiny] {$\i$} ;}
+ }%
+ {}%
+ %tracés intérieurs
+ \draw[\RAPPEQcouleur,dash pattern=on 15 off 4] (0,0)--(-135:{0.5625*\RAPPEQlargeur}) ;
+ \draw[\RAPPEQcouleur,dash pattern=on 15 off 4] (0,0)--(-45:{0.5625*\RAPPEQlargeur}) ;
+ \draw[\RAPPEQcouleur] (0,-0.5)--(0,{-0.51*\RAPPEQlargeur}) ;
+ \foreach \i in {0.4,0.5,...,\fpeval{0.51*\RAPPEQlargeur-0.5}}
+ {\draw[\RAPPEQcouleur] ({0.2625*\RAPPEQlargeur},{-\i})--++(0.2,0) ;}
+ \foreach \i in {0.4,0.5,...,\fpeval{0.51*\RAPPEQlargeur-0.5}}
+ {\draw[\RAPPEQcouleur] ({-0.2625*\RAPPEQlargeur},{-\i})--++(-0.2,0) ;}
+ \begin{scope}
+ \clip (-180:{0.55*\RAPPEQlargeur}) arc (-180:0:{0.55*\RAPPEQlargeur}) -- cycle ;
+ \foreach \i in {-0.5,-1,...,\fpeval{-0.55*\RAPPEQlargeur}}
+ {\draw[\RAPPEQcouleur] (0.2,\i)--({0.2375*\RAPPEQlargeur},\i) ({0.3125*\RAPPEQlargeur},\i)--({0.55*\RAPPEQlargeur},\i) ;}
+ \foreach \i in {-0.5,-1,...,\fpeval{-0.55*\RAPPEQlargeur}}
+ {\draw[\RAPPEQcouleur] (-0.2,\i)--({-0.2375*\RAPPEQlargeur},\i) ({-0.3125*\RAPPEQlargeur},\i)--({-0.55*\RAPPEQlargeur},\i) ;}
+ \end{scope}
+ %traits obliques extérieurs
+ \begin{scope}
+ \clip (-\RAPPEQlargeur,0) -- (\RAPPEQlargeur,0) -- (0,-\RAPPEQlargeur) -- cycle ;
+ \foreach \i in {10,20,...,170}
+ {\draw[\RAPPEQcouleur] ({-\i}:{0.65*\RAPPEQlargeur})--++({-\i}:3) ;}
+ \foreach \i in {10,20,...,170}
+ {\draw[\RAPPEQcouleur] ({-\i}:{0.65*\RAPPEQlargeur})--++({-\i}:3) ;}
+ \end{scope}
+ \begin{scope}
+ \clip (-\RAPPEQlargeur,0) -- (\RAPPEQlargeur,0) -- (0,-\RAPPEQlargeur) -- cycle ;
+ \def\cliptmp{\fpeval{min(0.15,0.0571*\RAPPEQlargeur)}}
+ \clip (0,-\RAPPEQlargeur)--++(135:\cliptmp)--++(\RAPPEQlargeur,\RAPPEQlargeur)--++(-45:\cliptmp)--cycle ;
+ \foreach \i in {1,2,...,89}
+ {\draw[\RAPPEQcouleur] ({\RAPPEQlargeur/(1+tan(\i))},{-\RAPPEQlargeur*tan(\i)/(1+tan(\i))}) --++ ({180-\i}:{abs(-0.3*\i/90+0.15)+0.15}) ;}
+ \end{scope}
+ \begin{scope}
+ \clip (-\RAPPEQlargeur,0) -- (\RAPPEQlargeur,0) -- (0,-\RAPPEQlargeur) -- cycle ;
+ \def\cliptmp{\fpeval{min(0.25,0.0571*\RAPPEQlargeur)}}
+ \clip (0,-\RAPPEQlargeur)--++(135:\cliptmp)--++(\RAPPEQlargeur,\RAPPEQlargeur)--++(-45:\cliptmp)--cycle ;
+ \foreach \i in {5,10,...,85}
+ {\draw[\RAPPEQcouleur] ({\RAPPEQlargeur/(1+tan(\i))},{-\RAPPEQlargeur*tan(\i)/(1+tan(\i))}) --++ ({180-\i}:{abs(-0.5*\i/90+0.25)+0.25}) ;}
+ \end{scope}
+ \begin{scope}
+ \clip (-\RAPPEQlargeur,0) -- (\RAPPEQlargeur,0) -- (0,-\RAPPEQlargeur) -- cycle ;
+ \def\cliptmp{\fpeval{min(0.15,0.0571*\RAPPEQlargeur)}}
+ \clip (0,-\RAPPEQlargeur)--++(45:\cliptmp)--++(-\RAPPEQlargeur,\RAPPEQlargeur)--++(-135:\cliptmp)--cycle ;
+ \foreach \i in {1,2,...,89}
+ {\draw[\RAPPEQcouleur] ({-\RAPPEQlargeur/(1+tan(\i))},{-\RAPPEQlargeur*tan(\i)/(1+tan(\i))}) --++ ({\i}:{abs(-0.3*\i/90+0.15)+0.15}) ;}
+ \end{scope}
+ \begin{scope}
+ \clip (-\RAPPEQlargeur,0) -- (\RAPPEQlargeur,0) -- (0,-\RAPPEQlargeur) -- cycle ;
+ \def\cliptmp{\fpeval{min(0.25,0.0571*\RAPPEQlargeur)}}
+ \clip (0,-\RAPPEQlargeur)--++(45:\cliptmp)--++(-\RAPPEQlargeur,\RAPPEQlargeur)--++(-135:\cliptmp)--cycle ;
+ \foreach \i in {5,10,...,85}
+ {\draw[\RAPPEQcouleur] ({-\RAPPEQlargeur/(1+tan(\i))},{-\RAPPEQlargeur*tan(\i)/(1+tan(\i))}) --++ ({\i}:{abs(-0.5*\i/90+0.25)+0.25}) ;}
+ \end{scope}
+ \end{scope}
+}
+
+%--------Compas
+% inspiration(s) de https://tex.stackexchange.com/questions/147389/symbols-of-pencil-ruler-and-compass
+% Angle entre l'horizontale et 2 noeuds (#1 & #2), résultat dans \MonAngleTmp
+\newcommand{\NodeTmpAngle}[2]{%
+ \pgfmathanglebetweenpoints%
+ {\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}%
+ \global\let\MonAngleTmp\pgfmathresult%
+}
+% Distance entre 2 noeuds (#1 & #2), résultat dans \MaLongueurTmp
+\makeatletter
+\newcommand{\NodeTmpDist}[2]{%
+ \pgfpointdiff{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}%
+ \pgf@xa=\pgf@x
+ \pgf@ya=\pgf@y
+ % to convert from pt to cm
+ \pgfmathparse{veclen(\pgf@xa,\pgf@ya)/28.45274}%
+ \global\let\MaLongueurTmp\pgfmathresult%
+}
+\makeatother
+% Récupération de l'unité x (cf https://tex.stackexchange.com/questions/424785/tikz-get-current-unit-length-of-x-coordinate)
+\def\recupunitexencm{
+ \path let \p{x}=(1,0), \n{xlencm}={scalar(veclen(\x{x},\y{x})/1cm)}
+ in \pgfextra{\xdef\TmpUniteX{\n{xlencm}}};
+}
+
+\defKV[CompasGeom]{%
+ Echelle=\def\COMPASechelle{#1},%
+ EchelleCrayon=\def\COMPASechellecrayon{#1},%
+ LongueurBranches=\def\COMPASLLB{#1},%
+ LongueurCrayon=\def\COMPASLLC{#1},%
+ CouleurCompas=\def\COMPAScouleur{#1},%
+ CouleurCrayon=\def\COMPAScouleurcrayon{#1},%
+ UniteTikz=\def\COMPASunittikz{#1}
+}
+
+\setKVdefault[CompasGeom]{%
+ Echelle=1,%
+ EchelleCrayon=1,%
+ LongueurBranches=6,%
+ LongueurCrayon=5,%
+ CouleurCrayon=red,%
+ CouleurCompas=gray,%
+ UniteTikz=\TmpUniteX,%
+ AfficheCrayon=true,%
+ Retourne=false
+}
+
+\NewDocumentCommand{\tkzCompas}{ s O{} m m }{%étoilée en gardant la distance entre extrémités
+ \IfBooleanTF{#1}{}{\NodeTmpDist{#3}{#4}}%
+ \useKVdefault[CompasGeom]%
+ \setKV[CompasGeom]{#2}%
+ %calculs intermédiaires
+ \recupunitexencm
+ \NodeTmpAngle{#3}{#4}%
+ \pgfmathsetmacro{\AngleCP}{asin(\MaLongueurTmp/(\COMPASunittikz*\COMPASechelle*2*\COMPASLLB))}
+ %retour aux affaires
+ \ifboolKV[CompasGeom]{Retourne}
+ {\def\CoeffYscale{-1}}{\def\CoeffYscale{1}}
+ \begin{scope}[shift=(#3),scale=\COMPASechelle]
+ \begin{scope}[join=round,rotate=\MonAngleTmp,yscale=\CoeffYscale,shift=(270-\AngleCP:-\COMPASLLB)]
+ % branche pointe sèche
+ \draw[rotate=-\AngleCP,fill=\COMPAScouleur!80] (0,0)--(0,-\COMPASLLB)--(-.2,-\COMPASLLB+.8)--(-.2,0)--cycle ;
+ \draw[rotate=-\AngleCP,fill=\COMPAScouleur!05] (0,-\COMPASLLB+.8)--(0,-\COMPASLLB)--(-.2,-\COMPASLLB+.8)--cycle ;
+ % branche crayon
+ \draw[rotate=\AngleCP,fill=\COMPAScouleur!80] (0,0)--(0,-\COMPASLLB)--(.2,-\COMPASLLB+.8)--(.2,0)--cycle ;
+ \begin{scope}[rotate=\AngleCP,shift={(0,-\COMPASLLB)}]
+ \ifboolKV[CompasGeom]{AfficheCrayon}
+ {\tkzCrayon[Echelle={\COMPASechellecrayon*0.75},Longueur={\COMPASLLC/0.75},Rotation=-15,Couleur=\COMPAScouleurcrayon]}{}
+ \draw[fill=gray!25] (\COMPASLLB/30,\COMPASLLB/5) circle (\COMPASLLB/36) ;
+ \fill[\COMPAScouleur!5] (\COMPASLLB/30,\COMPASLLB/5) -- ++(30:\COMPASLLB/36) arc (30:45:\COMPASLLB/36) -- cycle ;
+ \fill[\COMPAScouleur!5] (\COMPASLLB/30,\COMPASLLB/5) -- ++(210:\COMPASLLB/36) arc (210:225:\COMPASLLB/36) ;
+ \draw (\COMPASLLB/30,\COMPASLLB/5) circle (\COMPASLLB/36) ;
+ \filldraw (\COMPASLLB/30,\COMPASLLB/5) circle (.02) ;
+ \end{scope}
+ % haut du compas
+ \draw[fill=\COMPAScouleur!80] (-.1,0) rectangle (.1,.85) ;
+ \draw[fill=gray!25] (0,0) circle (.25) ;
+ \fill[gray!5] (0,0) -- (30:.25) arc (30:45:.25) -- cycle ;
+ \fill[gray!5,rotate=180] (0,0) -- (30:.25) arc (30:45:.25) -- cycle ;
+ \draw (0,0) circle (.25) ;
+ \filldraw (0,0) circle (.05) ;
+ \end{scope}
+ \end{scope}
+}
+
+%--------MiniÉquerre
+\defKV[MiniEquerreGeom]{%
+ Echelle=\def\MiniEQechelle{#1},%
+ Couleur=\def\MiniEQcouleur{#1},%
+ Origine=\def\MiniEQposOrigin{#1},%
+ Rotation=\def\MiniEQangle{#1}
+}
+
+\setKVdefault[MiniEquerreGeom]{%
+ Echelle=1,%
+ Couleur=black,%
+ Origine={(0,0)},%
+ Rotation=0,%
+ Ombre=true
+}
+
+\NewDocumentCommand{\tkzMiniEquerre}{ O{} }{%
+ \useKVdefault[MiniEquerreGeom]%
+ \setKV[MiniEquerreGeom]{#1}%
+ \begin{scope}[shift={(\MiniEQposOrigin)},rotate=\MiniEQangle,scale=\MiniEQechelle]
+ \ifboolKV[MiniEquerreGeom]{Ombre}%
+ {%
+ \begin{scope}
+ \clip (0,0)--(1,0)--(0,1.8)--cycle;
+ \filldraw[draw=none,fill=\MiniEQcouleur!10] (0,0) rectangle (1,2.5pt);
+ \filldraw[draw=none,fill=\MiniEQcouleur!10] (0,0) rectangle (2.5pt,2);
+ \end{scope}
+ }{}%
+ \draw[semithick,\MiniEQcouleur] (0,0)--(1,0)--(0,1.8)--cycle;
+ \draw[semithick,\MiniEQcouleur] (0.2,0.2)--(0.65,0.2)--(0.2,1)--cycle;
+ \foreach \x in {0,0.1,...,1} {\draw[\MiniEQcouleur] (\x,0)--++(0,1.5pt) ;}
+ \foreach \x in {0,0.5} {\draw[\MiniEQcouleur] (\x,0)--++(0,2pt) ;}
+ \foreach \y in {0,0.1,...,1.7} {\draw[\MiniEQcouleur] (0,\y)--++(1.5pt,0) ;}
+ \foreach \y in {0,0.5,1,1.5} {\draw[\MiniEQcouleur] (0,\y)--++(2pt,0) ;}
+ \end{scope}
+}
+
+%--------MiniRègle
+\defKV[MiniRegleGeom]{%
+ Echelle=\def\MiniREGLechelle{#1},%
+ Couleur=\def\MiniREGLcouleur{#1},%
+ Origine=\def\MiniREGLposOrigin{#1},%
+ Rotation=\def\MiniREGLangle{#1}
+}
+
+\setKVdefault[MiniRegleGeom]{%
+ Echelle=1,%
+ Couleur=black,%
+ Origine={(0,0)},%
+ Rotation=0,%
+ Ombre=true
+}
+
+\NewDocumentCommand{\tkzMiniRegle}{ O{} }{%
+ \useKVdefault[MiniRegleGeom]%
+ \setKV[MiniRegleGeom]{#1}%
+ \begin{scope}[shift={(\MiniREGLposOrigin)},rotate=\MiniREGLangle,scale=\MiniREGLechelle]
+ \ifboolKV[MiniRegleGeom]{Ombre}%
+ {\filldraw[draw=none,fill=\MiniREGLcouleur!10] (0,0) rectangle (2,-2.5pt) ;}{}%
+ \draw[semithick,\MiniREGLcouleur] (0,0)--(2,0)--(2,-0.3)--(0,-0.3)--cycle ;
+ \draw[semithick,\MiniREGLcouleur] (0.35,-0.185) circle[radius=0.05] ;
+ \foreach \y in {0,0.1,...,2} {\draw[\MiniREGLcouleur] (\y,0)--++(0,-1.5pt) ;}
+ \foreach \y in {0,0.5,...,2} {\draw[\MiniREGLcouleur] (\y,0)--++(0,-2pt) ;}
+ \end{scope}
+}
+
+\endinput \ No newline at end of file
diff --git a/language/korean/pmhanguljamo/README.md b/language/korean/pmhanguljamo/README.md
index 539205a702..7888ccdbb2 100644
--- a/language/korean/pmhanguljamo/README.md
+++ b/language/korean/pmhanguljamo/README.md
@@ -12,7 +12,7 @@ In version 0.3, it provides two kinds of transliteration rules. And in version 0
In version 1.0, we introduced a new rule, so-called _frkim_. Now it has three alternative ways of Hangul input methods.
-The current version is 1.0.1
+The current version is 1.0.2
## Copyright and License
diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf b/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf
index 50ffaae7af..87c43670fe 100644
--- a/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf
+++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf
Binary files differ
diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex b/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex
index bd91a004d3..7b119f0267 100644
--- a/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex
+++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex
@@ -44,7 +44,8 @@
%\date{20 Sep 2021\quad version 0.3.6}
%\date{6 Sep 2022\quad version 0.5.1}
%\date{7 Sep 2022\quad version 0.5.2}
-\date{22 Feb 2023\quad version 1.0.1}
+%\date{22 Feb 2023\quad version 1.0.1}
+\date{3 Mar 2023\quad version 1.0.2}
\maketitle
@@ -477,12 +478,13 @@ pi/ta/go/ra/sv/vi jeq/ri/ !{\unskip :} !{$a^2+b^2=c^2$}.
\bigskip
The \verb|!{| mark must be located in the head of a word.
-To remove the preceding space of a word, \verb|\unskip| is
-used in the example. This trick will be useful when using
-math equations, \LaTeX\ macros, or English words along with long Jamo Hangul
-texts.
+(To remove the preceding space of a word, \verb|\unskip| is
+used in the example.) This trick will be useful when using
+math equations, \LaTeX\ macros, or English words along with long Jamo Hangul texts.
-By the time this ASCII-escaping trick is available only with \texttt{method=pm}.
+By the time this ASCII-escaping trick is available with \texttt{method=pm} and \texttt{method=frkim}.
+And do not forget that it can be used only in the \texttt{jamotext}
+environment.
\subsection{Examples: \texttt{method=pm}}\label{sec:exam}
@@ -782,6 +784,7 @@ jug-eodo ani nunmul heulli-ulida.
\end{verse}
\ExplSyntaxOn
+\cs_undefine:N \jamoul
\cs_undefine:N \l_inputword_seq
\cs_undefine:N \l_inputpar_seq
\cs_undefine:N \jamotext
@@ -846,7 +849,7 @@ can be used with this package.
\begin{enumerate}
\item The leading zero-consonant (\frccq) can be input with \verb|'| (right quote) or \verb|x|. The default is \verb|'|, and \verb|\zeroisx| macro
switches this action. And the macros \verb|\rq| can be used in the position of \verb|'| (closing quote) when `zero' is \verb|'| (\verb|\zeroisrq|). For example,
-\verb|\hg{``gug'e\rq\rq}| \hg{``gug'e\rq\rq}. \verb|\zeroisx\hg{``gugxe''}| {\zeroisx\hg{``gugxe''}}.
+\verb|\hg{{``}gug'e\rq\rq}| \hg{{``}gug'e\rq\rq}. \verb|\zeroisx\hg{{``}gugxe{''}}| {\zeroisx\hg{{``}gugxe{''}}}.
\item The trailing I-Eung (\frccq) is made by \verb|q|, and the lost character
Yes-I-Eung (\frccQ) is by \verb|Q|.
@@ -935,6 +938,37 @@ And another example:
\end{jamotext}
\end{quote}
+The following example shows `ASCII-escaping trick' in
+\texttt{jamotext} environment.
+
+\begin{verbatim}
+\begin{jamotext}
+jiggagsamgaghieq !{$\triangle ABC$}'yi sei bien !{$a,b,c$}
+sa'i'ei !{$a^2+b^2=c^2$}'in goangieiga seqribhanda.
+\end{jamotext}
+\end{verbatim}
+
+\begin{quote}
+\begin{jamotext}
+jiggagsamgaghieq !{$\triangle ABC$}'yi sei bien !{$a,b,c$}
+sa'i'ei !{$a^2+b^2=c^2$}'in goangieiga seqribhanda.
+\end{jamotext}
+\end{quote}
+
+The font can be changed with \verb|\setpmhangulfont| command.
+
+\begin{verbatim}
+\hg{iuguhan iegsa'oa jentoq'ei bicnanyn}
+\setpmhangulfont{Noto Sans CJK KR}
+\hg{uri daihangugmin'yn}
+\end{verbatim}
+
+\begin{quote}
+\hg{iuguhan iegsa'oa jentoq'ei bicnanyn}
+\setpmhangulfont{Noto Sans CJK KR}
+\hg{uri daihangugmin'yn}
+\end{quote}
+
\subsubsection{Old Hangul}
\begin{verbatim}
diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf
index dae527692a..5e9748cd6d 100644
--- a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf
+++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf
Binary files differ
diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
index 8af27c11c4..1f64941f4e 100644
--- a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
+++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
@@ -114,7 +114,8 @@
%\date{2022/09/02\quad v0.5}
%\date{2022/09/07\quad v0.5.2}
%\date{2023/02/19\quad v1.0}
-\date{2023/02/22\quad v1.0.1}
+%\date{2023/02/26\quad v1.0.1a}
+\date{2023/03/03\quad v1.0.2}
\maketitle
@@ -752,7 +753,7 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily
\jamoword{na/ras;mar:ss@/mi; dyuf/guig;ei dar/a;}
\end{exampleside}
-\subsection{\env{jamotext} 환경}
+\subsection{\env{jamotext} 환경}\label{sec:asciiescape}
\begin{boxedverbatim}
\begin{jamotext}
@@ -813,8 +814,8 @@ vr yu/do/ha/ye bo/ja/.
\end{jamotext}
\end{exampleside}
-아스키 에스케이프 트릭은 \texttt{method=frkim}이나 \texttt{method=rrk}에서는
-쓸 수 없다.
+아스키 에스케이프 트릭은 %\texttt{method=frkim}이나
+\texttt{method=rrk}에서는 쓸 수 없다.
\section{\texttt{\bs jmcc} 명령}
@@ -839,7 +840,7 @@ vr yu/do/ha/ye bo/ja/.
\jmcc{BSG} \jmcc{@} \jmcc{UEY} \jmcc{@@}
\end{exampleside}
-\section{밑줄 긋기}
+\section{밑줄 긋기}\label{sec:ulem}
\leavevmode\marginpar{\fbox{\footnotesize v0.5.1}}%
밑줄을 긋는 명령 \cmda{\underline}의 인자로 \cs{jamoword}가 오는 것은 문제가 없다.
@@ -859,9 +860,8 @@ Lua\LaTeX, 즉 \textsf{luatexko}를 이용하는 경우에는 \textsf{ulem} 없
\cs{uline}과 같은 ulem 명령을 사용하여야 한다면 Lua\LaTeX 으로 컴파일하는 것이 좋다.
그러나 부득이하여 \XeLaTeX 으로 컴파일하여야 하는 경우이고 밑줄 등을 구현하여야 하는 때라면
-\cmda{\jamoul} 명령을 이용할 수 있다. 물론 \textsf{ulem} 패키지 등은 preamble에서
-선언되어 있어야 한다.\footnote{Lua\LaTeX 과 \koTeX 을 쓸 때는 \textsf{ulem} 패키지를
-별도로 로드하지 않는다.}
+\cmda{\jamoul} 명령을 이용할 수 있다. 물론 \textsf{ulem} 패키지는 preamble에서
+선언되어 있어야 한다.\footnote{Lua\LaTeX 에서 \koTeX 을 쓸 때는 \textsf{ulem} 패키지를 별도로 로드하지 않는다.}
\begin{boxedverbatim}
\jamoul{<ulem command name>}{jamo text}
@@ -889,7 +889,7 @@ Lua\LaTeX, 즉 \textsf{luatexko}를 이용하는 경우에는 \textsf{ulem} 없
%\verb|\jamoul{texthl}{nuns/mvr/r@r sbv/ri/gey/ko}|
%\jamoul{texthl}{nuns/mvr/r@r sbv/ri/gey/ko}
-\cs{jamoul}을 이용하여 밑줄을 긋는 기능은 RRK 입력방법과 \texttt{frkim}에서는 구현되지 않았다.
+\cs{jamoul}을 이용하여 밑줄을 긋는 기능은 RRK 입력 방법에서는 구현되지 않았다.
이 때에는 \textsf{luatexko}의 ulem 명령을 사용하여야 할 것이다.
\section{문장 부호, 한자와 음절 한글}
@@ -1308,7 +1308,19 @@ nog-eumbangcho ugeojyeo geumjandi jwaleuleug sgal-in jye
\chapter{method=frkim}\label{chap:frkim}
+\makeatletter
\ExplSyntaxOn
+\bool_new:N \opt_luatexko_loaded
+\@ifpackageloaded{luatexko}{
+ \bool_set_true:N \opt_luatexko_loaded
+}{
+ \bool_set_false:N \opt_luatexko_loaded
+}
+\ExplSyntaxOff
+\makeatother
+\ExplSyntaxOn
+\cs_undefine:N \jamoul
+\cs_undefine:N \jamoword
\cs_undefine:N \l_inputword_seq
\cs_undefine:N \l_inputpar_seq
\cs_undefine:N \jamotext
@@ -1375,7 +1387,9 @@ nog-eumbangcho ugeojyeo geumjandi jwaleuleug sgal-in jye
제공하지 않는다. 한편, \cs{jamoword}와 \env{jamotext}는 \texttt{method=frkim}에서도
동작한다.
-\pkg{pmhanguljamo}의 기본 입력 방식인 \texttt{method=pm}에 비하여, 아스키 에스케이프 트릭이 없으며 \XeLaTeX 에서의 밑줄 긋기가 원활하지 않다\footnote{밑줄이 반드시 필요하면 \LuaLaTeX 으로 컴파일하라.}는 차이가 있다.
+%\pkg{pmhanguljamo}의 기본 입력 방식인 \texttt{method=pm}에 비하여,
+%%아스키 에스케이프 트릭이 없으며
+%\XeLaTeX 에서 \pkg{ulem}을 이용한 밑줄 긋기가 원활하지 않다\footnote{밑줄이 반드시 필요하면 \LuaLaTeX 으로 컴파일하라.}는 차이가 있다.
\bigskip
@@ -1536,13 +1550,15 @@ sa'uen 'ugihoan'yi jujaqgoa majbaro toqhaiSda.
닫는 따옴표는 \cs{zeroisrq}일 때 \cs{rq} 매크로를 써야 한다.
\begin{examplebelow}
-\zeroisx \hangul ``xonyr harxirxyr naixirro miruji mara''nyn
+\zeroisx \hangul {``}xonyr harxirxyr naixirro miruji mara{''}nyn
marxi iSda. \endhangul
\end{examplebelow}
+여는 겹따옴표 \verb|``|는 하나의 토큰으로 전달해주는 것이 좋다.
+
\begin{examplebelow}
\zeroisrq
-\hg{``'erin'inyn nara'yi bobai'ibnida\rq\rq{} sopa
+\hg{{``}'erin'inyn nara'yi bobai'ibnida\rq\rq{} sopa
`baqjeqhoan\rq{} sensaiqnim'i hasin marSym'ida.}
\end{examplebelow}
@@ -1597,6 +1613,35 @@ marxi iSda. \endhangul
위의 마지막 예는 호환 자모를 쓰지 않고 낱자를 나타낸 것이다. 대체로 이것으로 된다고 생각하기 때문에 \cs{activatefrcccmds}를
디폴트로 활성화시켜 두지 않은 것이다.
+\paragraph{ASCII 에스케이프 트릭}
+\texttt{frkim} 방식에서 아스키 에스케이프 트릭은 오직 \env{jamotext} 환경을 쓰는 경우에 가능하다. 즉, \cs{hangul} ... \cs{endhangul} 범위에서는 동작하지 않는다.
+신택스는 \texttt{method=pm}에서와 동일하다. \ref{sec:asciiescape}절을 보라.
+
+(다음 예에서 \cs{unskip}을 사용한 이유는 이 트릭이 단어 중간에 쓰일 수 없으나 괄호를 이전 단어에 붙여야 했기 때문이다.)
+
+\begin{examplebelow}
+\begin{jamotext}
+ieq'uer'ieg !{\unskip (Yeongwol Station, 寧越驛)}'yn gaq'uendo ieq'uergun 'ieq'uer'yb'ei iSnyn taibaigsen'yi cerdomieq'ida.
+iegsanyn han'og hieqsig'yro genserdoi'eS'ymie, hangugcerdogoqsa senjeq juncerdoginiemmurro jijeqdoi'e iSda.
+\end{jamotext}
+\end{examplebelow}
+
+\paragraph{\pkg{ulem}에 의한 밑줄긋기}
+
+\marginpar{\fbox{v1.1}}%
+\cs{jamoul} 명령은 \texttt{[method=pm]}의 경우와 그 사용법이 같다(\pageref{sec:ulem}페이지).
+\pkg{xetexko}와 함께 쓸 때에는 반드시 \pkg{ulem}을 로드하여야 하고
+\pkg{luatexko}와 함께 쓸 때에는 \pkg{ulem}을 로드할 필요가 없다.
+
+\begin{exampleside}
+\jamoword{odyq'yn ja'ei a}
+\jamoul{uline}{josen'yi dogribgug'im}%
+\jamoword{goa}
+\jamoul{uline}{josen'in'yi jajumin'im}%
+\jamoword{'yr}
+\jamoul{uwave}{sen'enhanora}
+\end{exampleside}
+
\section{폰트}
\paragraph{\pkg{pmhanguljamo}에서 옵션으로 부르는 경우}
@@ -1620,6 +1665,33 @@ marxi iSda. \endhangul
eny nari i doragar h@i'o}
\end{examplebelow}
+\emph{hangul\TeX}에는 \cs{bf}라는 명령이 있었다. 폰트를 고딕체로
+바꿔주는 것이었다.
+이 비슷한 효과를 얻기 위해서, \cs{hg} 명령을 쓰는 경우에는 \cs{hg} 밖에서
+\cs{setpmhangulfont}를 쓰면 되지만 비교적 긴 문장을 쓰는 \env{jamotext} 환경 내에서는 다음처럼 할 수 있다.
+단 이와 같은 `외부 매크로'는 한글을 구성하는 단어의 일부여서는 아니된다.
+그렇기 때문에 빈 칸을 하나 두고 명령을 주어야 한다. 이를테면
+\verb|nim'yn\pmrm|과 같이 하면 안되고 \verb|nim'yn \pmrm|과 같이 앞 단어를 완성한 후에 매크로를 두어야 한다.
+
+\begin{examplebelow}
+\newcommand*\pmbf{\setpmhangulfont{Noto Sans CJK KR}}
+\newcommand*\pmrm{\setpmhangulfont{Noto Serif CJK KR}}
+\hg{nim'yn gaSsybnida a'a} \pmbf \hg{saraqhanyn na'yi nim}\pmrm\hg{'yn gaSsybnida}\\
+\hangul puryn sanbic'yr sgaicigo \pmbf danpuqnamu sup'yr hiaqha'ie nan \pmrm jag'yn gir'yr ger'ese cama sdercigo gaSsybnida\endhangul
+\begin{jamotext}
+narkaro'un \pmbf ceskisy'yi cu'eg \pmrm\unskip 'yn na'yi unmieq'yi jicim'yr dorrienohgo duisger'ymciese sarajieSsybnida
+\end{jamotext}
+\end{examplebelow}
+
+앞서 소개한 \cs{jamoul}이 ``감싸는 명령''임을 이용하여 다음처럼 일시적으로 폰트를 바꾸는 데 쓸 수도 있겠다.
+
+\begin{exampleside}
+\jamoword{jei gogjoryr mos iginyn}
+\jamoul{dotemph}{saraq'yi norai}\jamoword{nyn}
+\jamoul{textbf}{nim'yi cimmug}%
+\jamoword{yr huibSago dobnida}
+\end{exampleside}
+
\chapter{입력 방법 요약}
@@ -1823,6 +1895,8 @@ Expl3는 내가 원하는 일을 너무나 간단하게 구현할 수 있게 해
\textbullet\ v1.0.1 (2023/02/22): frkim rule에 \cs{AddRule} 추가. \cs{zeroisx} 버그 수정.
+\textbullet\ v1.0.2 (2023/03/01): frkim의 \cs{hg} 명령 일부 개선
+
%%% APPENDICES
\ExplSyntaxOn
diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
index 9b3283659f..cd005323bf 100644
--- a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
+++ b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
@@ -1,5 +1,7 @@
%% code part of frkim
+%% v1.0.2 (\frkhangulfont, \bf)
%% v1.0.1 (\AddRule)
+%% v1.1 (\jamoul)
%%
\char_set_catcode_other:N \@
@@ -34,13 +36,26 @@
\symbol{"0027}
}
-%\NewDocumentCommand \frkhangulfont {} {
-% Noto~Serif~KR
-%}
-%
-%\NewDocumentCommand \frkhangulfontfeature {} {
-% Script=Hangul, Renderer=OpenType, Ligatures=TeX
-%}
+%%% jamoul cmd
+\tl_new:N \l_frkjamoulcmd_tl
+
+\tl_set:Nn \frk_space_here { \exp_args:No \use:c { \l_frkjamoulcmd_tl } { \c_space_token } }
+\tl_set:Nn \l_frkjamoulcmd_tl {}
+
+\NewDocumentCommand \jamoul { m m }
+{
+ \group_begin:
+ \bool_if:NTF \opt_luatexko_loaded
+ {
+ \use:c { #1 } { \hg { #2 } }
+ }
+ {
+ \tl_set:Nn \l_frkjamoulcmd_tl { #1 }
+ \hg { #2 }
+ }
+ \group_end:
+}
+
\DeclareDocumentCommand \setpmhangulfont { o m o }
{
\IfValueTF { #1 }
@@ -62,17 +77,7 @@
}
\NewDocumentCommand \hg { m }
-{
- \group_begin:
-
- \cs_if_exist:NTF \hangulfontspec
- {
- \exp_last_unbraced:NNf \hangulfontspec [ \frkhangulfontfeature ] { \frkhangulfont }
- }
- {
- \exp_last_unbraced:NNf \fontspec [ \frkhangulfontfeature ] { \frkhangulfont }
- }
-
+{
\regex_split:nnN { \s } { #1 } \l_tmpa_seq
\seq_map_indexed_inline:Nn \l_tmpa_seq
@@ -80,11 +85,9 @@
\_process_word:n { ##2 }
\int_compare:nT { ##1 < \seq_count:N \l_tmpa_seq }
- { {}~ }
+ { \frk_space_here }
}
- \group_end:
-
}
\cs_new:Npn \_process_word:n #1
@@ -359,6 +362,32 @@
\cs_new:Nn \build_syl:
{
+ \group_begin:
+ \cs_if_exist:NTF \hangulfontspec
+ {
+ \exp_last_unbraced:NNf \hangulfontspec [ \frkhangulfontfeature ] { \frkhangulfont }
+ }
+ {
+ \exp_last_unbraced:NNf \fontspec [ \frkhangulfontfeature ] { \frkhangulfont }
+ }
+
+ \tl_if_empty:NTF \l_frkjamoulcmd_tl
+ {
+ \build_syl_main:
+ }
+ {
+ \sys_if_engine_xetex:T { \allowbreak }
+ \exp_args:No \use:c { \l_frkjamoulcmd_tl } {
+ \build_syl_main:
+ }
+ }
+ \group_end:
+
+ \tl_clear:N \l_delayedtoken_tl
+}
+
+\cs_new:Nn \build_syl_main:
+{
\bool_if:NF \opt_zeroisx_bool
{
\regex_replace_all:nnN { ' } { x } \g_cho_tl
@@ -391,16 +420,12 @@
}
}
-%%%%>>>>
-%%% [\g_cho_tl|\g_jun_tl|\g_jon_tl]
-
\tl_gclear:N \g_jun_tl
\tl_gclear:N \g_jon_tl
\tl_if_empty:NF \l_delayedtoken_tl
{
\l_delayedtoken_tl
- \tl_clear:N \l_delayedtoken_tl
}
}
@@ -532,13 +557,6 @@
{
\seq_set_split:Nnn \l_inputpar_seq { \par } { #1 }
\seq_map_indexed_function:NN \l_inputpar_seq \jamo_word:nn
-% \seq_set_split:Nnn \l_inputword_seq { ~ } { #1 }
-% \seq_map_indexed_inline:Nn \l_inputword_seq
-% {
-% \jamotextcmd { ##2 }
-% \int_compare:nT { ##1 < \seq_count:N \l_inputword_seq }
-% { \space }
-% }
}{}
\cs_new:Npn \jamo_word:nn #1 #2
@@ -569,24 +587,11 @@
}
\int_compare:nT { ##1 < \seq_count:N \l_inparpar_seq }
- { \space }
+ { \frk_space_here }
}
\int_compare:nT { #1 < \seq_count:N \l_inputpar_seq }
{ \par }
}
-%
-%\NewDocumentEnvironment { jamotext } { +b }
-%{
-% \seq_set_split:Nnn \l_tmpa_seq { \par } { #1 }
-% \seq_map_indexed_inline:Nn \l_tmpa_seq
-% {
-% \hg{ ##2 }
-% \int_compare:nT { ##1 < \seq_count:N \l_tmpa_seq }
-% { \par }
-% }
-%}{}
-
-
\endinput
diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty
index b328a1b7e7..527577d42f 100644
--- a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty
+++ b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty
@@ -3,12 +3,12 @@
%%
%% Fukui Rei's Korean Romanization Method.
%%
-%% Kangsoo Kim, 2022/11/29
+%% Nova de Hi, 2022/11/29
%%
\ProvidesExplPackage
{pmhanguljamo-frkim}
- {2023/02/22}
- {v1.0.1}
+ {2023/03/01}
+ {v0.6.1}
{Korean ROMAJI Input Method: Fukui Rei's HangulTeX}
\RequirePackage{l3keys2e}
@@ -33,6 +33,21 @@
\ProcessKeysOptions { frkim }
+\bool_new:N \opt_luatexko_loaded
+\@ifpackageloaded{luatexko}{
+ \bool_set_true:N \opt_luatexko_loaded
+}{
+ \bool_set_false:N \opt_luatexko_loaded
+}
+
+%\NewDocumentCommand \frkhangulfont {} {
+% Noto~Serif~KR
+%}
+%
+%\NewDocumentCommand \frkhangulfontfeature {} {
+% Script=Hangul, Renderer=OpenType, Ligatures=TeX
+%}
+
\input{pmhanguljamo-frkim.code.tex}
\endinput
diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo.sty b/language/korean/pmhanguljamo/tex/pmhanguljamo.sty
index 831642be61..2fb9addc25 100644
--- a/language/korean/pmhanguljamo/tex/pmhanguljamo.sty
+++ b/language/korean/pmhanguljamo/tex/pmhanguljamo.sty
@@ -23,8 +23,8 @@
\RequirePackage{xparse}
\ProvidesExplPackage
{pmhanguljamo}
- {2023/02/22}
- {v1.0.1}
+ {2023/03/03}
+ {v1.0.2}
{Poorman's Hangul Jamo Input Method}
\RequirePackage{l3keys2e}
@@ -364,6 +364,13 @@
%%% loads frkim codes and exit
\bool_if:NT \opt_frkim_bool
{
+ \bool_new:N \opt_luatexko_loaded
+ \@ifpackageloaded{luatexko}{
+ \bool_set_true:N \opt_luatexko_loaded
+ }{
+ \bool_set_false:N \opt_luatexko_loaded
+ }
+
\tl_set_eq:NN \frkhangulfont \opt_pmfont_tl
\tl_if_empty:NT \frkhangulfont {
\tl_set:Nn \frkhangulfont { NotoSerifKR-Regular.otf }
diff --git a/macros/jptex/latex/jlreq/README-ja.md b/macros/jptex/latex/jlreq/README-ja.md
index a34b2b1a96..ae11b0f912 100644
--- a/macros/jptex/latex/jlreq/README-ja.md
+++ b/macros/jptex/latex/jlreq/README-ja.md
@@ -570,6 +570,8 @@ JFMの名前は次の通りです.`[]`で囲まれている文字は設定に
- ISO C4の用紙サイズが間違っていたのを修正.
- `jlreq-complements`を追加.
- その他バグ修正やその他のパッケージとの調整など.
+* 2023-03-05
+ - 窓見出しに関するバグ修正
--------------
Noriyuki Abe
diff --git a/macros/jptex/latex/jlreq/README.md b/macros/jptex/latex/jlreq/README.md
index 27ad1eee81..b5734a233f 100644
--- a/macros/jptex/latex/jlreq/README.md
+++ b/macros/jptex/latex/jlreq/README.md
@@ -180,6 +180,8 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS
- Fixed a bug: wrong papersize for ISO C4.
- Added a package `jlreq-complements`
- Fixed some other bugs and adjust with some other packages.
+* 2023-03-05
+ - Fixed a bug on cutin headings.
--------------
Noriyuki Abe
diff --git a/macros/jptex/latex/jlreq/jlreq-ja.pdf b/macros/jptex/latex/jlreq/jlreq-ja.pdf
index a34ef0753d..ac01fa53dd 100644
--- a/macros/jptex/latex/jlreq/jlreq-ja.pdf
+++ b/macros/jptex/latex/jlreq/jlreq-ja.pdf
Binary files differ
diff --git a/macros/jptex/latex/jlreq/jlreq.cls b/macros/jptex/latex/jlreq/jlreq.cls
index d6ce3e2eb0..495c210340 100644
--- a/macros/jptex/latex/jlreq/jlreq.cls
+++ b/macros/jptex/latex/jlreq/jlreq.cls
@@ -5,7 +5,7 @@
%%
% (based on JLReq 20200811 https://www.w3.org/TR/2020/NOTE-jlreq-20200811/)
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jlreq}[2022/11/28 jlreq]
+\ProvidesClass{jlreq}[2023/03/05 jlreq]
\RequirePackage{l3keys2e}
\RequirePackage{etoolbox}
\RequirePackage{jlreq-helpers}[2022/11/28]
@@ -3055,7 +3055,7 @@
\dim_set:Nn \l__jlreq_tmpa_dim { \l__jlreq_tmpa_dim / \l__jlreq_cutinheading_linecount_tl }
% \l_jlreq_tmpb_boxに見出し部分を,\l__jlreq_cutinheading_linecount_tlに見出し自身に何行使うかを入れる
\int_compare:nTF { \l__jlreq_cutinheading_linecount_tl = 1 }{
- \vbox_set:Nn \l_jlreq_tmpb_box {\parindent=0pt\rightskip=0pt\leftskip=0pt\hbox_unpack_drop:N \l_jlreq_tmpa_box}
+ \vbox_set:Nn \l_jlreq_tmpb_box {\parindent=0pt\rightskip=0pt\leftskip=0pt\box_use_drop:N \l_jlreq_tmpa_box}
\tl_set:Nn \l__jlreq_cutinheading_linecount_tl {2}
}{
\jlreq@inlinenote@determinelength{#6}{#1}{}{\l__jlreq_cutinheading_linecount_tl}{\l__jlreq_cutinheading_linecount_tl}{\l__jlreq_tmpa_dim}{\linewidth}%
diff --git a/macros/jptex/latex/jlreq/jlreq.pdf b/macros/jptex/latex/jlreq/jlreq.pdf
index 7bc6b4dc1a..035959fc4b 100644
--- a/macros/jptex/latex/jlreq/jlreq.pdf
+++ b/macros/jptex/latex/jlreq/jlreq.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
index 9c8d32bade..f8408448f7 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
@@ -1,8 +1,8 @@
<!--
-- Argüelles v1.2.2
-- Copyright (c) 2020 Michele Piazzai. Contact: michele.piazzai@uc3m.es
-- This work is released under the MIT License and is free to use, copy, modify,
-- merge, publish, distribute, sublicense, and/or sell. See LICENSE for details.
+arguelles v2.1.0
+author: Michele Piazzai
+contact: michele.piazzai@uc3m.es
+license: MIT
-->
# arguelles
@@ -11,12 +11,6 @@ Argüelles is a beamer theme that helps you create beautiful presentations. It a
The theme requires the packages [Alegreya/AlegreyaSans](https://ctan.org/pkg/alegreya), [eulervm](https://ctan.org/pkg/eulervm), [mathalpha](https://www.ctan.org/pkg/mathalpha), [microtype](https://ctan.org/pkg/microtype), [fontawesome5](https://ctan.org/pkg/fontawesome5), [opencolor](https://www.ctan.org/pkg/opencolor), [enumitem](https://www.ctan.org/pkg/enumitem), [parskip](https://www.ctan.org/pkg/parskip), and [tikz/pgf](https://ctan.org/pkg/pgf) to be installed on your computer. These are included in common LaTeX distributions, such as [MiKTeX](https://ctan.org/pkg/miktex) and [TeXLive](https://ctan.org/pkg/texlive).
-### Options
-
-By default, the theme uses serif fonts for body text. Loading it with the `sans` options makes sans-serif fonts default, keeping serif only for math type. Because sans-serif font is more space-efficient, this could be useful for slides that contain more text and bullet points. See the two animations below for comparison.
-
-The `mp` option loads additional dependencies that could be useful for designing scientific presentations. These currently include [ulem](https://ctan.org/pkg/ulem), [booktabs](https://ctan.org/pkg/booktabs), [dcolumn](https://ctan.org/pkg/dcolumn), [makecell](https://ctan.org/pkg/makecell), [colortbl](https://www.ctan.org/pkg/colortbl), [cancel](https://www.ctan.org/pkg/cancel), [pgfplots](https://www.ctan.org/pkg/pgfplots) (with `compat=1.18`), and [csvsimple](https://www.ctan.org/pkg/csvsimple). In addition, the option loads the `calc` library for TikZ and the `statistics` and `fillbetween` libraries for PGFPlots.
-
## Demo
The files `demo.tex` and `demo.pdf` demonstrate the main features of the theme.
@@ -31,7 +25,15 @@ The files `demo.tex` and `demo.pdf` demonstrate the main features of the theme.
## Installation
-Argüelles is [hosted on CTAN](https://ctan.org/pkg/beamertheme-arguelles) and distributed as part of MikTex and TeXLive. It can also be installed manually by cloning this repository in your `$HOME/texmf/tex/latex` folder, which is automatically searched by LaTeX. If you do not have this folder, you can [create one](https://www.ias.edu/math/computing/faq/local-latex-style-files).
+Argüelles is hosted on CTAN and distributed as part of MikTex and TeXLive. It can also be installed manually by cloning this repository in your `$HOME/texmf/tex/latex` folder, which is automatically searched by LaTeX. If you do not have this folder, you can [create one](https://www.ias.edu/math/computing/faq/local-latex-style-files).
+
+## Usage
+
+By default, the theme uses serif fonts for body text. Loading it with the `sans` option makes sans-serif fonts default, keeping serif only for math type. Because sans-serif font is more space-efficient, this could be useful for slides that contain more text and bullet points. See the two animations below for comparison.
+
+The `frameno` option adds frame numbering in the bottom right corner of each frame. By default, frame numbers are hidden on title and plain frames. They can also be suppressed on individual frames by `\begin{frame}[noframenumbering]`.
+
+The `mp` option loads additional dependencies that could be useful for designing scientific presentations. These currently include [ulem](https://ctan.org/pkg/ulem), [booktabs](https://ctan.org/pkg/booktabs), [dcolumn](https://ctan.org/pkg/dcolumn), [makecell](https://ctan.org/pkg/makecell), [colortbl](https://www.ctan.org/pkg/colortbl), [cancel](https://www.ctan.org/pkg/cancel), [pgfplots](https://www.ctan.org/pkg/pgfplots), and [csvsimple](https://www.ctan.org/pkg/csvsimple). In addition, the option loads the [calc](https://tikz.dev/library-calc) library for TikZ, and the [statistics](https://tikz.dev/pgfplots/libs-statistics) and [fillbetween](https://tikz.dev/pgfplots/libs-fillbetween) libraries for PGFplots.
## Customization
@@ -88,7 +90,7 @@ Both old-style and lining figures are also available in a monospaced version, wh
## Known issues
-Argüelles is built with the intention to reserve as much space as possible for the content of your slides. When using subsections, the progress bar in the headline places dots on multiple lines, which takes space away from your content. The theme does not handle this situation well. You can force the dots to appear on the same line by loading beamer with the `compress` option, as in `demo.tex`:
+Argüelles is built with the intention to reserve as much space as possible for the content of your slides. When using subsections, the progress bar in the headline places dots on multiple lines, which takes space away from your content. The theme does not handle this situation well. You can force the dots to appear on the same line by loading beamer with the `compress` option, as in the demo:
```tex
\documentclass[compress]{beamer}
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
index c47a3f614a..36ffbdad99 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.0.0
+% arguelles v2.1.0
% author: Michele Piazzai
% contact: michele.piazzai@uc3m.es
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthemeArguelles}[2022/12/10 Argüelles]
+\ProvidesPackage{beamercolorthemeArguelles}[2023/02/02 Argüelles]
\mode<presentation>
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
index 7f65d14dfd..5e637f9ce4 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.0.0
+% arguelles v2.1.0
% author: Michele Piazzai
% contact: michele.piazzai@uc3m.es
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthemeArguelles}[2022/12/10 Argüelles]
+\ProvidesPackage{beamerfontthemeArguelles}[2023/02/02 Argüelles]
\mode<presentation>
@@ -22,6 +22,7 @@
% frame elements
\setbeamerfont{headline section}{series=\AlegreyaSans\scshape}
+\setbeamerfont{footline section}{series=\AlegreyaSans\scshape,size=\footnotesize}
\setbeamerfont{frame title}{series=\mediumfont,size=\Large}
\setbeamerfont{frame subtitle}{series=\mediumfont,size=\large}
\setbeamerfont{block title}{series=\mediumfont\itshape}
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
index 09465ef23b..88ee7563f7 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.0.0
+% arguelles v2.1.0
% author: Michele Piazzai
% contact: michele.piazzai@uc3m.es
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerinnerthemeArguelles}[2022/12/10 Argüelles]
+\ProvidesPackage{beamerinnerthemeArguelles}[2023/02/02 Argüelles]
\mode<presentation>
@@ -29,6 +29,7 @@
{\usebeamerfont{institute}\insertinstitute}\par
{\usebeamerfont{email}\insertemail}
\end{beamercolorbox}
+ \addtocounter{framenumber}{-1}
}
% lists
@@ -78,6 +79,7 @@
\booltrue{Arguelles@standout}
\begingroup
\setbeamertemplate{background}{}
+ \setbeamercolor*{footline}{fg=structure.bg}
\beamer@frametopskip=0pt plus 1fill\relax%
\beamer@framebottomskip=0pt plus 1.25fill\relax%
\color{structure.bg}
@@ -89,5 +91,18 @@
}{}
}{}{}
+% suppress frame numbering
+\providebool{Arguelles@noframenumbering}
+\define@key{beamerframe}{noframenumbering}[true]{
+ \booltrue{Arguelles@noframenumbering}
+ \begingroup
+ \setbeamertemplate{footline}{}
+}
+\pretocmd{\beamer@reseteecodes}{
+ \ifbool{Arguelles@noframenumbering}{
+ \endgroup\boolfalse{Arguelles@noframenumbering}
+ }{}
+}{}{}
+
\mode<all>
\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
index 22f16c50d1..7eee0e9c2f 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.0.0
+% arguelles v2.1.0
% author: Michele Piazzai
% contact: michele.piazzai@uc3m.es
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerouterthemeArguelles}[2022/12/10 Argüelles]
+\ProvidesPackage{beamerouterthemeArguelles}[2023/02/02 Argüelles]
\mode<presentation>
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
index 71694847ef..af6b9f7854 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.0.0
+% arguelles v2.1.0
% author: Michele Piazzai
% contact: michele.piazzai@uc3m.es
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthemeArguelles}[2022/12/10 Argüelles]
+\ProvidesPackage{beamerthemeArguelles}[2023/02/02 Argüelles]
\mode<presentation>
@@ -31,11 +31,15 @@
\newif\if@optSans
\@optSansfalse
\DeclareOption{sans}{\@optSanstrue}
+\newif\if@optFrameno
+\@optFramenofalse
+\DeclareOption{frameno}{\@optFramenotrue}
\newif\if@optMp
\@optMpfalse
\DeclareOption{mp}{\@optMptrue}
\ProcessOptions
+% sans font
\if@optSans
\usefonttheme[onlymath]{serif}
\newcommand\mediumfont{\AlegreyaSansMedium}
@@ -44,7 +48,17 @@
\newcommand\mediumfont{\AlegreyaMedium}
\fi
+% frame numbers
+\if@optFrameno
+\defbeamertemplate*{footline}{Arguelles}{
+ \usebeamerfont{footline section}\hfill\raisebox{.025\paperheight}{
+ \insertframenumber\hspace{.01\paperwidth}
+ }
+}
+\fi
+
\if@optMp
+% extra packages
\RequirePackage[normalem]{ulem}
\RequirePackage{booktabs}
\RequirePackage{dcolumn}
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-sans.gif b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-sans.gif
deleted file mode 100644
index cd53a67138..0000000000
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-sans.gif
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-serif.gif b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-serif.gif
deleted file mode 100644
index ac112eccad..0000000000
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles-serif.gif
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
index 00459fe223..caa0604b40 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
@@ -1,4 +1,4 @@
-% arguelles v2.0.0
+% arguelles v2.1.0
% author: Michele Piazzai
% contact: michele.piazzai@uc3m.es
% license: MIT
diff --git a/macros/latex/contrib/mismath/mismath.dtx b/macros/latex/contrib/mismath/mismath.dtx
index 1db0844782..f8224c848f 100644
--- a/macros/latex/contrib/mismath/mismath.dtx
+++ b/macros/latex/contrib/mismath/mismath.dtx
@@ -20,13 +20,12 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{mismath}
- [2023/03/01 v2.6 .dtx mismath file]
+ [2023/03/05 v2.7 .dtx mismath file]
%</package>
%<*driver>
\documentclass{ltxdoc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
-%\usepackage{textcomp}
\usepackage[english]{babel}
\usepackage[charter]{mathdesign} % in case of font change, modify 2.1 (3rd §)
\usepackage[ibrackets]{mismath}
@@ -36,7 +35,6 @@
\usepackage{sectsty}
\usepackage{xcolor}
\usepackage{spacingtricks}
-\usepackage{centeredline}
\usepackage{array}
\usepackage{metalogo} % for logos of XeLaTeX et LuaLaTeX
@@ -71,7 +69,7 @@
%</driver>
% \fi
%
-% \CheckSum{635}
+% \CheckSum{618}
%
% \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
@@ -183,17 +181,25 @@
% - small changes in the documentation}
%
% \changes{v2.6}{2023/03/01}{
-% - A bug correction with the \C macro when using babel with russian
+% - A bug correction in mm@macro
+% - incompatibility of \C macro solved, when using babel with russian
% (thanks to Murray Eisenberg for this bug report on TeX StackExchange)
+% - mathrm added in macro eqdef* (useful if italicized Greek uppercase Delta)
% - Tiny changes in the documentation}
%
+% \changes{v2.7}{2023/03/05}{
+% - Macros for sets of numbers (\R, \C,...) now available only in math mode
+% (following remarks by David Carlisle and Enrico Gregorio)
+% - special (not generic) warning when loading babel with russian
+% (\C will not be defined in that case)}
+%
% \GetFileInfo{mismath.sty}
%
% \title{\textsf{mismath}\\ Miscellaneous mathematical macros\thanks{This document
% corresponds to \textsf{mismath}~\fileversion, dated \filedate.
% Thanks to François Bastouil for help in English translation.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{March 1, 2023}
+% \date{March 5, 2023}
%
% \maketitle
% \tableofcontents
@@ -331,7 +337,8 @@
% |\MathNumbers{e,i}| is equivalent to |\MathUp{e}\MathUp{i}|.
% In |\MathNumbers| the comma separator can be changed or deleted.
% This macro has no effect on other letters than e, i or j.
-% On the other hand |\MathNormal| can be used for probability also (see section \ref{operators})
+% On the other hand |\MathNormal| can be used for probability also
+% (see section \ref{operators})
% and can take any comma separated list argument.
%
% \medskip
@@ -632,7 +639,7 @@
% and likewise to designate a field: $\F$ or $\K$ (Körper in German).
% We get these symbols with the macros
% \footnote{The \texttt{\bslash C} macro is incompatible with \texttt{russian} option
-% of \textsf{babel}; then it will not be defined by \textsf{mismath}.}:
+% of \textsf{babel}; it will not be redefined in that case.}:
% \begin{center}
% |\R|, |\C|, |\Z|, |\N|, |\Q|, |\F|, |\K|.
% \end{center}
@@ -646,7 +653,7 @@
%
% \medskip
% \DescribeMacro{\ds}
-% The |\displaystyle| command being very common, alias |\ds| is provided.
+% The |\displaystyle| command being very common, the |\ds| alias is provided.
% Not only it eases typing but also it makes source code more readable.
%
% \medskip
@@ -807,6 +814,7 @@
% \[ \lbar{Z} = \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \]
% \end{minipage}
%
+% \medskip
% \DescribeMacro{[ibrackets]}
% Open intervals are usually represented with parenthesis, \eg $(0, +\infty)$,
% but sometimes we find also
@@ -1374,16 +1382,17 @@
\mm@operator[lito]{\lito}{o}
\mm@macro{mathset}{\mathbf}
-\mm@macro{R}{\ensuremath{\mathset{R}}\xspace}
-%\mm@macro{C}{\ensuremath{\mathset{C}}\xspace}
-\AtBeginDocument{\@ifpackagewith{babel}{russian}{\mm@warning{C}
- }{\mm@macro{C}{\ensuremath{\mathset{C}}\xspace}}
-}
-\mm@macro{N}{\ensuremath{\mathset{N}}\xspace}
-\mm@macro{Z}{\ensuremath{\mathset{Z}}\xspace}
-\mm@macro{Q}{\ensuremath{\mathset{Q}}\xspace}
-\mm@macro{F}{\ensuremath{\mathset{F}}\xspace}
-\mm@macro{K}{\ensuremath{\mathset{K}}\xspace}
+\mm@macro{R}{\mathset{R}}
+\@ifpackagewith{babel}{russian}{
+ \PackageWarningNoLine{mismath}{Option russian of babel
+ is loaded\MessageBreak
+ Command \bslash C will not be redefined}
+ }{\mm@macro{C}{\mathset{C}}}
+\mm@macro{N}{\mathset{N}}
+\mm@macro{Z}{\mathset{Z}}
+\mm@macro{Q}{\mathset{Q}}
+\mm@macro{F}{\mathset{F}}
+\mm@macro{K}{\mathset{K}}
\mm@macro{ds}{\displaystyle}
\mm@macro{dlim}{\lim\limits}
diff --git a/macros/latex/contrib/mismath/mismath.pdf b/macros/latex/contrib/mismath/mismath.pdf
index 41b750cf13..2fe670309c 100644
--- a/macros/latex/contrib/mismath/mismath.pdf
+++ b/macros/latex/contrib/mismath/mismath.pdf
Binary files differ
diff --git a/macros/latex/contrib/opencolor/README.md b/macros/latex/contrib/opencolor/README.md
index 4debc90ece..a336a5e2ac 100644
--- a/macros/latex/contrib/opencolor/README.md
+++ b/macros/latex/contrib/opencolor/README.md
@@ -1,11 +1,11 @@
<!--
-opencolor-latex v1.0.0
+opencolor v1.0.1
Author: Michele Piazzai
Contact: michele.piazzai@uc3m.es
License: MIT
-->
-# opencolor-latex
+# opencolor
This is a simple LaTeX package that provides hexadecimal color definitions of the 130 colors included in the [Open Color](https://yeun.github.io/open-color/) library (v1.9.1). Open Color's goal is to provide a selection of colors optimized for UI design. Although LaTeX is a typesetting system primarily intended for print, many of the documents it produces never get printed, in which case it makes sense to use colors suitable for on-screen reading.
@@ -15,15 +15,15 @@ The package's only dependency is [xcolor](https://www.ctan.org/pkg/xcolor), whic
## Demo
-![](https://github.com/piazzai/opencolor-latex/blob/master/demo-opencolor.png)
+![](https://github.com/piazzai/opencolor/blob/master/demo-opencolor.png)
## Installation
-The package is hosted on CTAN and distributed as part of MikTeX and TeXLive. It can also be installed manually by cloning this repository in your `$HOME/texmf/tex/latex` folder. If you do not have this folder, [you can create it](https://www.ias.edu/math/computing/faq/local-latex-style-files).
+The package is hosted on CTAN and distributed as part of MikTeX and TeXLive. It can also be installed manually by cloning this repository in your `$HOME/texmf/tex/latex` folder. If you do not have it, [you can create it](https://www.ias.edu/math/computing/faq/local-latex-style-files).
## Usage
-The choice of colors for a document is a responsibility of the author, but UI design principles can provide helpful guidelines. For example, in a beamer presentation, `oc-gray-1` could be used instead of white and `oc-gray-9` instead of black in order to reduce eye strain. If a color like `oc-teal-6` is used for a plot, then it would be best for other plots to use colors at the same brightness level, like `oc-orange-6`, for visual consistency.
+The choice of colors for a document is a responsibility of the author, but UI design principles can provide helpful guidelines. For example, in a beamer presentation, `oc-gray-1` could be used instead of white and `oc-gray-9` instead of black to reduce eye strain. If a color like `oc-teal-6` is used for a plot, then it would be best for other plots to use colors at the same brightness level, like `oc-orange-6`, for consistency.
## Minimal working example
@@ -42,4 +42,4 @@ The choice of colors for a document is a responsibility of the author, but UI de
## Bugs
-The package merely loads xcolor and then provides color definitions, so any error or warning is most likely due to xcolor. Nonetheless, if you encounter any problem using this package, please [open an issue](https://github.com/piazzai/opencolor-latex/issues).
+The package merely loads xcolor and then provides color definitions, so any error or warning is most likely due to xcolor. Nonetheless, if you encounter any problem using this package, please [open an issue](https://github.com/piazzai/opencolor/issues).
diff --git a/macros/latex/contrib/opencolor/demo-opencolor.pdf b/macros/latex/contrib/opencolor/demo-opencolor.pdf
index 1f38189fec..0c4dcd89a4 100644
--- a/macros/latex/contrib/opencolor/demo-opencolor.pdf
+++ b/macros/latex/contrib/opencolor/demo-opencolor.pdf
Binary files differ
diff --git a/macros/latex/contrib/opencolor/demo-opencolor.tex b/macros/latex/contrib/opencolor/demo-opencolor.tex
index a8bc47018b..691235c89b 100644
--- a/macros/latex/contrib/opencolor/demo-opencolor.tex
+++ b/macros/latex/contrib/opencolor/demo-opencolor.tex
@@ -1,4 +1,4 @@
-% opencolor-latex v1.0.0
+% opencolor v1.0.1
% Author: Michele Piazzai
% Contact: michele.piazzai@uc3m.es
% License: MIT
diff --git a/macros/latex/contrib/opencolor/opencolor.sty b/macros/latex/contrib/opencolor/opencolor.sty
index df34ae2a76..e609da806e 100644
--- a/macros/latex/contrib/opencolor/opencolor.sty
+++ b/macros/latex/contrib/opencolor/opencolor.sty
@@ -1,10 +1,10 @@
-% opencolor-latex v1.0.0
+% opencolor v1.0.1
% Author: Michele Piazzai
% Contact: michele.piazzai@uc3m.es
% License: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{opencolor}[2022/09/15 Open Color]
+\ProvidesPackage{opencolor}[2023/03/05 Open Color]
\RequirePackage{xcolor}
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
index 4e59174d84..562263c921 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/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index 15a4cd6b73..e6f559aa71 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -2,16 +2,27 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2023/01/23}%
+\def\filedate{2023/03/06}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-z-e}%
+\def\fileversion{0.99-z-f}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]
\RequirePackage{verbatim}
\RequirePackage{mathtools}
+
+\newif\if@shellescape \@shellescapetrue
+\newif\if@amssymb \@amssymbtrue
+\DeclareOption{nonshellescape}{\@shellescapefalse}
+\DeclareOption{nonamssymb}{\@amssymbfalse}
+\ProcessOptions\relax
+
+%\ProcessOptions\relax
+
+\if@amssymb
\RequirePackage{amssymb}
+\fi
% mathématiques
\RequirePackage{siunitx}
@@ -44,10 +55,6 @@
\RequirePackage{modulus}%Pour certains calculs arithmétiques.
\RequirePackage{xinttools}%Pour la création dynamique d'un tableau
-\newif\if@shellescape \@shellescapetrue
-\DeclareOption{nonshellescape}{\@shellescapefalse}
-\ProcessOptions\relax
-
\RequirePackage{iftex}
\ifluatex
@@ -60,7 +67,8 @@
\RequirePackage[shellescape,latex]{gmp}%inclusion de figures metapost "à la volée"%
\gmpoptions{everymp={prologues:=3; input PfCLaTeX; input PfCSvgnames; input PfCConstantes; input PfCGeometrie; input PfCAfficheur;}}
\usempxclass{article}
-\usempxpackage[locale=FR,mode = match, propagate-math-font = true,reset-math-version = false, reset-text-family = false,reset-text-series = false, reset-text-shape = false,text-family-to-math = true, text-series-to-math = true, output-decimal-marker={,},group-minimum-digits=4]{siunitx}
+\usempxpackage{ProfCollege}
+%\usempxpackage[locale=FR,mode = match, propagate-math-font = true,reset-math-version = false, reset-text-family = false,reset-text-series = false, reset-text-shape = false,text-family-to-math = true, text-series-to-math = true, output-decimal-marker={,},group-minimum-digits=4]{siunitx}
\usempxpackage[utf8]{inputenc}
\usempxpackage[T1]{fontenc}
\usempxpackage{fourier}
@@ -70,7 +78,8 @@
\RequirePackage[latex]{gmp}%inclusion de figures metapost "à la volée"%
\gmpoptions{everymp={prologues:=3; input PfCLaTeX; input PfCSvgnames; input PfCConstantes; input PfCGeometrie; input PfCAfficheur;}}
\usempxclass{article}
-\usempxpackage[locale=FR,mode = match, propagate-math-font = true,reset-math-version = false, reset-text-family = false,reset-text-series = false, reset-text-shape = false,text-family-to-math = true, text-series-to-math = true, output-decimal-marker={,},group-minimum-digits=4]{siunitx}
+\usempxpackage{ProfCollege}
+%\usempxpackage[locale=FR,mode = match, propagate-math-font = true,reset-math-version = false, reset-text-family = false,reset-text-series = false, reset-text-shape = false,text-family-to-math = true, text-series-to-math = true, output-decimal-marker={,},group-minimum-digits=4]{siunitx}
\usempxpackage[utf8]{inputenc}
\usempxpackage[T1]{fontenc}
\usempxpackage{fourier}
@@ -93,6 +102,7 @@
% https://tex.stackexchange.com/questions/349259/curved-arrow-describing-a-step-in-a-equation-derivation
%https://tex.stackexchange.com/questions/58656/best-way-to-draw-a-chevron-diagram-using-tikz
\usetikzlibrary{calc,shapes,arrows,tikzmark,chains,positioning,shapes.symbols,babel,fit}
+\usetikzlibrary{backgrounds}
\RequirePackage{suffix}%pour la commande étoilée
@@ -348,6 +358,742 @@
}
%%%
+% Kakurasu
+%%%
+\setKVdefault[Kakurasu]{Solution=false,Longueur=6,Largeur=6,Echelle=8mm,Graines=false,Trace=false}
+\defKV[Kakurasu]{Graine=\setKV[Kakurasu]{Graines}}
+\defKV[Kakurasu]{Traces=\setKV[Kakurasu]{Trace}}
+
+\NewDocumentCommand\Kakurasu{o}{%
+ \useKVdefault[Kakurasu]%
+ \setKVdefault[Kakurasu]{#1}%
+ \BuildKakurasu%
+}
+
+\NewDocumentCommand\BuildKakurasu{}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Graines,Solution,Trace;
+ Graines=\useKV[Kakurasu]{Graines};
+ Solution=\useKV[Kakurasu]{Solution};
+ Trace=\useKV[Kakurasu]{Trace};
+
+ if Graines:
+ randomseed:=\useKV[Kakurasu]{Graine};
+ fi;
+
+ numeric Longueur,Largeur;
+ Longueur=\useKV[Kakurasu]{Longueur};
+ Largeur=\useKV[Kakurasu]{Largeur};
+
+ u:=\useKV[Kakurasu]{Echelle};
+
+ pair A[][];%centre des carrés.
+ boolean Allume[][];
+ numeric NombreLigne[][],NombreColonne[][];
+
+ for k=-1 upto Largeur+1:
+ for l=-1 upto Longueur+1:
+ Allume[k][l]=false;
+ endfor;
+ endfor;
+
+ for k=0 upto Largeur-1:
+ for l=0 upto Longueur-1:
+ A[k][l]=u*(l,-k);
+ trace (unitsquare scaled u) shifted A[k][l];
+ endfor;
+ endfor;
+
+ for k=0 upto Largeur-1:
+ for l=0 upto Longueur-1:
+ if Allume[k][l]:
+ else:
+ Allume[k][l]:=true;
+ m:=uniformdeviate(1);
+ if m<0.5:
+ % on ne met pas de case noire
+ else:
+ % on met une case noire
+ NombreLigne[k][l]=l+1;
+ NombreColonne[k][l]=k+1;
+ if Solution:
+ fill (unitsquare scaled 0.9u) shifted (A[k][l]+0.05*u*(1,1));
+ fi;
+ fi;
+ fi;
+ endfor;
+ endfor;
+
+ % on compte le nombre de chiffres dans les lignes et on les ajoute
+ for k=0 upto Largeur-1:
+ Somme:=0;
+ for l=0 upto Longueur-1:
+ if unknown NombreLigne[k][l]:
+ else:
+ Somme:=Somme+NombreLigne[k][l];
+ fi;
+ endfor;
+ label(TEX(decimal(Somme)),u*(-0.5,-k+0.5));
+ endfor;
+
+ % on compte le nombre de chiffres dans les colonnes et on les ajoute
+ for k=0 upto Longueur-1:
+ Somme:=0;
+ for l=0 upto Largeur-1:
+ if unknown NombreColonne[l][k]:
+ else:
+ Somme:=Somme+NombreColonne[l][k];
+ fi;
+ endfor;
+ label(TEX(decimal(Somme)),u*(k+0.5,1.5));
+ endfor;
+
+ % On affiche les valeurs des cases noires.
+ drawoptions(withcolor 0.5white);
+ for k=0 upto Longueur-1:
+ label(TEX("\footnotesize"&decimal(k+1)),u*(k+0.5,-Largeur+0.5));
+ endfor;
+ for k=0 upto Largeur-1:
+ label(TEX("\footnotesize"&decimal(k+1)),u*(Longueur+0.5,-k+0.5));
+ endfor;
+ drawoptions();
+ if Trace:
+ \useKV[Kakurasu]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+%%%
+% Midpoint
+%%%
+\setKVdefault[MidPoint]{Solution=false,Graines=false,Hard=false}
+\defKV[MidPoint]{Graine=\setKV[MidPoint]{Graines}}
+
+\NewDocumentCommand\MidPoint{o}{%
+ \useKVdefault[MidPoint]%
+ \setKV[MidPoint]{#1}%
+ \BuildMidPoint
+}
+
+\NewDocumentCommand\BuildMidPoint{}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ numeric Longueur,Largeur;
+ Longueur=8;
+ Largeur=4;
+ boolean Horizontal,Vertical,RetiensSens;
+ Horizontal=false;
+ Vertical=false;
+
+ boolean Solution,Hard,Graines;
+ Solution:=\useKV[MidPoint]{Solution};
+ Hard:=\useKV[MidPoint]{Hard};
+ Graines:=\useKV[MidPoint]{Graines};
+ if Graines:
+ randomseed:=\useKV[MidPoint]{Graine}
+ fi;
+
+ u:=8mm;
+
+ pair A[][];%centre des carrés.
+
+ vardef CherchePoint(expr basek,basel)=
+ % Si le déplacement précédent est horizontal, il faut passer en vertical
+ % Si le déplacement précédent est vertical, il faut passer en horizontal
+ p:=p+1;
+ if basel=ColonneArrivee:
+ RP[p]:=Arrivee;
+ else:
+ if Vertical:
+ %deplacement horizontal
+ ecart:=ColonneArrivee-basel;
+ if ecart=1:
+ Basel:=ColonneArrivee;
+ RP[p]:=A[basek][ColonneArrivee];
+ else:
+ Basel:=ceiling(basel+uniformdeviate(ecart));
+ RP[p]:=A[basek][Basel];
+ fi;
+ Basek:=basek;
+ Horizontal:=true;
+ Vertical:=false;
+ else:
+ %on vérifie qu'on peut se déplacer dans les deux sens.
+ % on choisit vertical positif ou vertical négatif
+ if basek=1:
+ choix:=0.75;
+ elseif basek=Largeur:
+ choix:=0.25;
+ else:
+ choix:=uniformdeviate(1);
+ fi;
+ if choix<0.5:
+ ecart:=basek-1;
+ if ecart=1:
+ Basek:=1;
+ RP[p]:=A[1][basel];
+ else:
+ Basek:=ceiling(uniformdeviate(ecart));
+ RP[p]:=A[Basek][basel];
+ fi;
+ Basel:=basel;
+ else:
+ ecart:=Largeur-basek;
+ if ecart=1:
+ Basek:=Largeur;
+ RP[p]:=A[Largeur][basel];
+ else:
+ Basek:=basek+ceiling(uniformdeviate(ecart));
+ RP[p]:=A[Basek][basel];
+ fi;
+ Basel:=basel;
+ fi;
+ Horizontal:=false;
+ Vertical:=true;
+ fi;
+ fi;
+enddef;
+
+vardef MidPoint(expr Aa,Bb)=
+ save $;
+ picture $;
+ $=image(
+ if Solution:
+ trace Aa--Bb withpen pencircle scaled 1.5;
+ fi;
+ if Hard:
+ NbMid:=NbMid+1;
+ if NbMid mod 2=0:
+ remplis cercles(1/2[Aa,Bb],1mm);
+ fi;
+ else:
+ remplis cercles(1/2[Aa,Bb],1mm);
+ fi;
+ );
+ $
+enddef;
+
+ % tracé de la grille
+ for k=1 upto 2*Largeur:
+ for l=-3 upto Largeur+Longueur-4:
+ trace (unitsquare scaled u) shifted (u*(l,-k)-center (unitsquare scaled u)) withcolor 0.5*white;
+ endfor;
+ endfor;
+
+ for k=1 upto Largeur:
+ for l=1 upto Longueur:
+ A[k][l]=u*(l,-k);
+ %trace (unitsquare scaled u) shifted (A[k][l]-center (unitsquare scaled u)) withcolor 0.5*white;
+ endfor;
+ endfor;
+
+%On choisit le premier déplacement
+ choix:=uniformdeviate(1);
+ if choix<0.5:
+ Horizontal:=true;
+ else:
+ Vertical:=true;
+ fi;
+
+ p:=0;
+ NbMid=ceiling(uniformdeviate(2));%Pour le niveau Hard
+
+ %1er rectangle
+LigneDepart:=2;%2;
+ColonneDepart:=1;
+LigneArrivee:=4;%4;
+ColonneArrivee:=8;
+pair Depart,Arrivee;
+Depart=A[LigneDepart][ColonneDepart];
+Arrivee=A[LigneArrivee][ColonneArrivee];
+
+pair RP[];%RetiensPoints
+RP[0]=Depart;
+
+Basek:=LigneDepart;
+Basel:=ColonneDepart;
+forever:
+ CherchePoint(Basek,Basel);
+ exitif RP[p]=Arrivee;
+endfor;
+
+if ypart(RP[p])=ypart(RP[p-1]):
+ RetiensSens:=true;
+else:
+ RetiensSens:=false;
+ p:=p-1;
+fi;
+
+%2eme rectangle
+for k=1 upto Largeur:
+ for l=1 upto Longueur:
+ A[k][l]:=u*(Longueur+l,-k);
+ endfor;
+endfor;
+
+LigneDepart:=4;
+ColonneDepart:=1;
+LigneArrivee:=2;
+ColonneArrivee:=8;
+Depart:=A[LigneDepart][ColonneDepart];
+Arrivee:=A[LigneArrivee][ColonneArrivee];
+
+Basek:=LigneDepart;
+Basel:=ColonneDepart;
+Retiens:=p;
+RP[p+1]:=Depart;
+
+forever:
+ CherchePoint(Basek,Basel);
+ exitif RP[p]=Arrivee;
+endfor;
+
+if ypart(RP[p])=ypart(RP[p-1]):
+ RetiensSens:=true;
+ p:=p-1;
+else:
+ RetiensSens:=false;
+fi;
+
+for h=(Retiens+1) upto p:
+ RP[h]:=symetrie(RP[h],u*(Longueur+0.5,-Largeur-0.5));
+endfor;
+%3eme Rectangle
+for k=1 upto Largeur:
+ for l=1 upto Longueur:
+ A[k][l]:=u*(2*Longueur+l,-k);
+ endfor;
+endfor;
+
+LigneDepart:=4;
+ColonneDepart:=2;
+LigneArrivee:=1;
+ColonneArrivee:=4;
+Depart:=A[LigneDepart][ColonneDepart];
+Arrivee:=A[LigneArrivee][ColonneArrivee];
+
+
+Basek:=LigneDepart;
+Basel:=ColonneDepart;
+Retiens:=p;
+RP[p+1]:=Depart;
+forever:
+ CherchePoint(Basek,Basel);
+ exitif RP[p]=Arrivee;
+endfor;
+for h=(Retiens+1) upto p:
+ RP[h]:=rotation(RP[h],u*(2*Longueur+0.5,-Largeur-0.5),90) shifted(u*(-2*Longueur,-Largeur));
+endfor;
+%4eme rectangle. On termine la boucle ?
+for k=1 upto Largeur:
+ for l=1 upto Longueur:
+ A[k][l]:=u*(3*Longueur+l,-k);
+ endfor;
+endfor;
+
+LigneDepart:=4;
+ColonneDepart:=1;
+LigneArrivee:=2;
+ColonneArrivee:=4;
+Depart:=A[LigneDepart][ColonneDepart];
+Arrivee:=A[LigneArrivee][ColonneArrivee];
+
+Basek:=LigneDepart;
+Basel:=ColonneDepart;
+Retiens:=p;
+RP[p+1]:=Depart;
+forever:
+ CherchePoint(Basek,Basel);
+ exitif RP[p]=Arrivee;
+endfor;
+
+if ypart(RP[p])=ypart(RP[p-1]):
+ p:=p-1;
+fi;
+
+if ypart(RP[0])=ypart(RP[1]):
+ RetiensSens:=true;
+else:
+ RetiensSens:=false;
+fi;
+
+for h=(Retiens+1) upto p:
+ RP[h]:=RP[h] shifted(u*(-3.5*Longueur,0));
+endfor;
+
+if RetiensSens:
+ RP[p+1]:=RP[1];
+ go:=1;
+else:
+ RP[p+1]:=RP[0];
+ go:=0;
+fi;
+
+for h=go upto p:
+ draw MidPoint(RP[h],RP[h+1]);
+endfor;
+\end{mplibcode}
+\fi
+}
+
+%%%
+% Grades
+%%%
+\setKVdefault[Grades]{Solution=false,Longueur=9,Largeur=9,Echelle=8mm,Graines=false}
+\defKV[Grades]{Graine=\setKV[Grades]{Graines}}
+
+\NewDocumentCommand\Grades{o}{%
+ \useKVdefault[Grades]%
+ \setKVdefault[Grades]{#1}%
+ \BuildGrades%
+}
+
+\NewDocumentCommand\BuildGrades{}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Graines,Solution;
+ Graines=\useKV[Grades]{Graines};
+ Solution=\useKV[Grades]{Solution};
+
+ if Graines:
+ randomseed:=\useKV[Grades]{Graine};
+ fi;
+
+ numeric Longueur,Largeur;
+ Longueur=\useKV[Grades]{Longueur};
+ Largeur=\useKV[Grades]{Largeur};
+
+ u:=\useKV[Grades]{Echelle};
+
+ p:=0;
+ pair A[];%centre des carrés.
+ boolean Allume[][];
+ numeric Nombre[][];
+
+ for k=-1 upto Largeur+1:
+ for l=-1 upto Longueur+1:
+ Allume[k][l]=false;
+ endfor;
+ endfor;
+
+ for k=0 upto Longueur-1:
+ for l=0 upto Largeur-1:
+ p:=p+1;
+ A[p]=u*(k,-l);
+ trace (unitsquare scaled u) shifted A[p];
+ endfor;
+ endfor;
+
+ for k=0 upto Largeur-1:
+ for l=0 upto Longueur-1:
+ if Allume[k][l]:
+ else:
+ Allume[k][l]:=true;
+ m:=uniformdeviate(1);
+ if m<0.5:
+ % on ne met pas de nombre
+ else:
+ % on met un nombre
+ Nombre[k][l]=floor(1+uniformdeviate(9));
+ Allume[k][l+1]:=true;
+ Allume[k+1][l-1]:=true;
+ Allume[k+1][l]:=true;
+ Allume[k+1][l+1]:=true;
+ if Solution:
+ label(TEX(decimal(Nombre[k][l])),u*(l+0.5,-k+0.5));
+ fi;
+ fi;
+ fi;
+ endfor;
+ endfor;
+
+ % on compte le nombre de chiffres dans les lignes et on les ajoute
+ for k=0 upto Largeur-1:
+ p:=0;
+ Somme:=0;
+ for l=0 upto Longueur-1:
+ if unknown Nombre[k][l]:
+ else:
+ p:=p+1;
+ Somme:=Somme+Nombre[k][l];
+ fi;
+ endfor;
+ label(TEX(decimal(p)),u*(-0.5,-k+0.5));
+ label(TEX(decimal(Somme)),u*(Longueur+0.5,-k+0.5));
+ endfor;
+
+ % on compte le nombre de chiffres dans les colonnes et on les ajoute
+ for k=0 upto Longueur-1:
+ p:=0;
+ Somme:=0;
+ for l=0 upto Largeur-1:
+ if unknown Nombre[l][k]:
+ else:
+ p:=p+1;
+ Somme:=Somme+Nombre[l][k];
+ fi;
+ endfor;
+ label(TEX(decimal(p)),u*(k+0.5,1.5));
+ label(TEX(decimal(Somme)),u*(k+0.5,-Largeur+0.5));
+ endfor;
+ \end{mplibcode}
+ \fi
+}%
+
+%%%
+% Squaro
+%%%
+\setKVdefault[Squaro]{Solution=false,Longueur=8,Largeur=8,Echelle=8mm,Nom=Jeu1,Graines=false}
+\defKV[Squaro]{Graine=\setKV[Squaro]{Graines}}%
+
+\NewDocumentCommand\SquarO{o}{%
+ \useKVdefault[Squaro]%
+ \setKVdefault[Squaro]{#1}%
+ \ifboolKV[Squaro]{Solution}{\BuildSquaroSolution}{\BuildSquaro}%
+}
+
+\NewDocumentCommand\BuildSquaro{}{%
+ \ifluatex
+ \mplibforcehmode
+ \xdef\PfCSquaroNom{\useKV[Squaro]{Nom}}%
+ \begin{mplibcode}[\PfCSquaroNom]
+ numeric Longueur,Largeur;
+ Longueur=\useKV[Squaro]{Longueur};
+ Largeur=\useKV[Squaro]{Largeur};
+ boolean Solution,Graines;
+ Solution=\useKV[Squaro]{Solution};
+ Graines:=\useKV[Squaro]{Graines};
+ if Graines:
+ randomseed:=\useKV[Squaro]{Graine};
+ fi;
+
+ u:=\useKV[Squaro]{Echelle};
+
+ p:=0;
+ pair A[];%centre des carrés.
+ boolean Allume[][];
+
+ for k=0 upto Longueur-1:
+ for l=0 upto Largeur-1:
+ p:=p+1;
+ A[p]=u*(k,-l);
+ trace (unitsquare scaled u) shifted A[p];
+ endfor;
+ endfor;
+
+ for k=0 upto Largeur:
+ for l=0 upto Longueur:
+ m:=uniformdeviate(1);
+ if m<0.5:
+ Allume[k][l]=true;
+ fill cercles(u*(l,-k+1),1mm) if Solution=false:withcolor white fi;
+ else:
+ Allume[k][l]=false;
+ fill cercles(u*(l,-k+1),1mm) withcolor white;
+ fi;
+ trace cercles(u*(l,-k+1),1mm);
+ endfor;
+ endfor;
+
+ for k=0 upto Largeur-1:
+ for l=0 upto Longueur-1:
+ Retiens:=0;
+ if Allume[k][l]:Retiens:=Retiens+1 fi;
+ if Allume[k][l+1]:Retiens:=Retiens+1 fi;
+ if Allume[k+1][l]:Retiens:=Retiens+1 fi;
+ if Allume[k+1][l+1]:Retiens:=Retiens+1 fi;
+ label(TEX(decimal(Retiens)),u*(l+0.5,-k+0.5));
+ endfor;
+ endfor;
+ \end{mplibcode}
+ \fi
+}
+
+\NewDocumentCommand\BuildSquaroSolution{}{%
+ \ifluatex
+ \mplibforcehmode
+ \xdef\PfCSquaroNom{\useKV[Squaro]{Nom}}%
+ \begin{mplibcode}[\PfCSquaroNom]
+ u:=\useKV[Squaro]{Echelle};
+ p:=0;
+ for k=0 upto Longueur-1:
+ for l=0 upto Largeur-1:
+ p:=p+1;
+ trace (unitsquare scaled u) shifted A[p];
+ endfor;
+ endfor;
+
+ for k=0 upto Largeur:
+ for l=0 upto Longueur:
+ if Allume[k][l]=true:
+ fill cercles(u*(l,-k+1),1mm);
+ else:
+ fill cercles(u*(l,-k+1),1mm) withcolor white;
+ fi;
+ trace cercles(u*(l,-k+1),1mm);
+ endfor;
+ endfor;
+
+ for k=0 upto Largeur-1:
+ for l=0 upto Longueur-1:
+ Retiens:=0;
+ if Allume[k][l]:Retiens:=Retiens+1 fi;
+ if Allume[k][l+1]:Retiens:=Retiens+1 fi;
+ if Allume[k+1][l]:Retiens:=Retiens+1 fi;
+ if Allume[k+1][l+1]:Retiens:=Retiens+1 fi;
+ label(TEX(decimal(Retiens)),u*(l+0.5,-k+0.5));
+ endfor;
+ endfor;
+ \end{mplibcode}
+ \fi
+}
+
+%%%
+% Garam
+%%%
+\setKVdefault[Garam]{Taille=7,Largeur=15pt,Solution=false,CouleurSolution=Black}
+\newlength\PfCGaramHeight
+
+\NewDocumentCommand\Garam{o m}{%
+ \useKVdefault[Garam]
+ \setKV[Garam]{#1}%
+ \setlength{\PfCGaramHeight}{\useKV[Garam]{Largeur}+\tabcolsep}%
+ \reademptyitems%
+ \setsepchar[*]{§*,*/}%
+ \readlist*\PfCListeGaram{#2}%
+ \colorlet{PfCGaramCoulSol}{\useKV[Garam]{CouleurSolution}}%
+ \begin{NiceTabular}{*{\useKV[Garam]{Taille}}{m{\useKV[Garam]{Largeur}}}}
+ \CodeBefore
+ \xintFor* ##1 in{\xintSeq{2}{\fpeval{\useKV[Garam]{Taille}}}}\do{%
+ \tikz{\draw[dashed,LightGray] (1-|##1)--(last-|##1);}%
+ }%
+ \xintFor* ##1 in{\xintSeq{2}{\fpeval{\PfCListeGaramlen-1}}}\do{%
+ \tikz{\draw[dashed,LightGray] (##1-|1)--(##1-|last);}%
+ }%
+ \tikz{\draw (1-|1) rectangle (last-|last);}%
+ \Body
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeGaramlen}}\do{%
+ \rule{0pt}{\PfCGaramHeight}\xintFor* ##2 in {\xintSeq{1}{\useKV[Garam]{Taille}}}\do{%
+ \xintifForFirst{}{&}\StrChar{\PfCListeGaram[##1,##2,1]}{1}[\PfCCaracGaram]%
+ \IfStrEq{\PfCCaracGaram}{*}{\Block[draw,fill=black]{1-1}{}}{%
+ \IfStrEq{\PfCCaracGaram}{!}{\Block{}{\ifboolKV[Garam]{Solution}{\StrGobbleLeft{\PfCListeGaram[##1,##2,1]}{1}}{}}}{\Block{}{\color{PfCGaramCoulSol}\PfCListeGaram[##1,##2,1]}}%
+ }%
+ }\\
+ }%
+ \CodeAfter
+ % On place les symboles
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeGaramlen}}\do{%
+ \xintFor* ##2 in {\xintSeq{1}{\useKV[Garam]{Taille}}}\do{%
+ \StrChar{\PfCListeGaram[##1,##2,1]}{1}[\PfCCaracGaram]%
+ \IfStrEq{\PfCCaracGaram}{*}{}{%
+ \tikz{%
+ \StrSubstitute{\PfCListeGaram[##1,##2,2]}{x}{\times}[\PfCGaramUn]%
+ \StrSubstitute{\PfCGaramUn}{:}{\div}[\PfCGaramUn]%
+ \StrSubstitute{\PfCListeGaram[##1,##2,3]}{x}{\times}[\PfCGaramDeux]%
+ \StrSubstitute{\PfCGaramDeux}{:}{\div}[\PfCGaramDeux]%
+ \xintifForLast{}{\node at (\fpeval{##1+0.5}-|\fpeval{##2+1}) {$\PfCGaramUn$};}
+ \node at (\fpeval{##1+1}-|\fpeval{##2+0.5}) {$\PfCGaramDeux$};
+ }%
+ }%
+ }%
+ }%
+ \end{NiceTabular}
+}%
+
+%%%
+% Futoshiki
+%%%
+\setKVdefault[Futo]{Largeur=15pt,Solution=false,CouleurSolution=Black,CouleurCase=Cornsilk,StyleTexte={}}
+
+\newlength\PfCFutoHeight
+
+\NewDocumentCommand\Futoshiki{o m}{%
+ \useKVdefault[Futo]
+ \setKV[Futo]{#1}%
+ \setlength{\PfCFutoHeight}{\useKV[Futo]{Largeur}+\tabcolsep}%
+ \setsepchar{\\/,}%
+ \readlist\ListeFuto{#2}%
+ \xdef\PfCTailleFuto{\ListeFutolen}%
+ \def\PfCFutoStyleTexte{\useKV[Futo]{StyleTexte}}%
+ \colorlet{PfCFutoCase}{\useKV[Futo]{CouleurCase}}%
+ \begin{NiceTabular}{*{\fpeval{\PfCTailleFuto-1}}{m{\useKV[Futo]{Largeur}}m{5pt}}m{\useKV[Futo]{Largeur}}}%[hvlines]
+ \xintFor* ##1 in{\xintSeq{1}{\PfCTailleFuto}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\PfCTailleFuto}}\do{%
+ \rule{0pt}{\PfCFutoHeight}%
+ \StrChar{\ListeFuto[##1,\fpeval{2*##2-1}]}{1}[\PfCCaracFuto]%
+ \IfStrEq{\PfCCaracFuto}{*}{%
+ \StrGobbleLeft{\ListeFuto[##1,\fpeval{2*##2-1}]}{1}[\PfCResteFuto]%
+ \Block[draw]{}{\PfCFutoStyleTexte\PfCResteFuto}%
+ }{%
+ \IfStrEq{\PfCCaracFuto}{!}{%
+ \StrGobbleLeft{\ListeFuto[##1,\fpeval{2*##2-1}]}{1}[\PfCResteFuto]%
+ \Block[draw,fill=PfCFutoCase]{}{\PfCFutoStyleTexte\PfCResteFuto}%
+ }{%
+ \ifboolKV[Futo]{Solution}{\Block[draw]{}{\PfCFutoStyleTexte\color{\useKV[Futo]{CouleurSolution}}\ListeFuto[##1,\fpeval{2*##2-1}]}}{\Block[draw]{}{}}%
+ }%
+ }%
+ \xintifForLast{}{&&}%
+ }\\
+ \rule{0pt}{\fpeval{5pt+\tabcolsep}pt}\Block[]{}{}\\
+ }%
+ \CodeAfter%Pour écrire les symboles
+ \xintFor* ##1 in{\xintSeq{1}{\PfCTailleFuto}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\PfCTailleFuto}}\do{%
+ \IfStrEq{\ListeFuto[##1,2*##2]}{>}{%
+ \tikz{%
+ \draw[transform canvas={xshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2})--(\fpeval{2*##1-0.5}-|\fpeval{2*##2+0.5})--(\fpeval{2*##1}-|\fpeval{2*##2});
+ }%
+ }{}%
+ \IfStrEq{\ListeFuto[##1,2*##2]}{<}{%
+ \tikz{%
+ \draw[transform canvas={xshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2+0.5})--(\fpeval{2*##1-0.5}-|\fpeval{2*##2})--(\fpeval{2*##1}-|\fpeval{2*##2+0.5});
+ }%
+ }{}%
+ \IfStrEq{\ListeFuto[##1,2*##2]}{v}{%
+ \tikz{%
+ \draw[transform canvas={yshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1.5}-|\fpeval{2*##2-1})--(\fpeval{2*##1-1}-|\fpeval{2*##2-0.5})--(\fpeval{2*##1-1.5}-|\fpeval{2*##2});
+ }%
+ }{}%
+ \IfStrEq{\ListeFuto[##1,2*##2]}{A}{%
+ \tikz{%
+ \draw[transform canvas={yshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2-1})--(\fpeval{2*##1-1.5}-|\fpeval{2*##2-0.5})--(\fpeval{2*##1-1}-|\fpeval{2*##2});
+ }%
+ }{}%
+ \IfStrEq{\ListeFuto[##1,2*##2]}{>A}{%
+ \tikz{%
+ \draw[transform canvas={xshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2})--(\fpeval{2*##1-0.5}-|\fpeval{2*##2+0.5})--(\fpeval{2*##1}-|\fpeval{2*##2});
+ \draw[transform canvas={yshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2-1})--(\fpeval{2*##1-1.5}-|\fpeval{2*##2-0.5})--(\fpeval{2*##1-1}-|\fpeval{2*##2});
+ }%
+ }{}%
+ \IfStrEq{\ListeFuto[##1,2*##2]}{>v}{%
+ \tikz{%
+ \draw[transform canvas={xshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2})--(\fpeval{2*##1-0.5}-|\fpeval{2*##2+0.5})--(\fpeval{2*##1}-|\fpeval{2*##2});
+ \draw[transform canvas={yshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1.5}-|\fpeval{2*##2-1})--(\fpeval{2*##1-1}-|\fpeval{2*##2-0.5})--(\fpeval{2*##1-1.5}-|\fpeval{2*##2});
+ }%
+ }{}%
+ \IfStrEq{\ListeFuto[##1,2*##2]}{<A}{%
+ \tikz{%
+ \draw[transform canvas={xshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2+0.5})--(\fpeval{2*##1-0.5}-|\fpeval{2*##2})--(\fpeval{2*##1}-|\fpeval{2*##2+0.5});
+ \draw[transform canvas={yshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2-1})--(\fpeval{2*##1-1.5}-|\fpeval{2*##2-0.5})--(\fpeval{2*##1-1}-|\fpeval{2*##2});
+ }%
+ }{}%
+ \IfStrEq{\ListeFuto[##1,2*##2]}{<v}{%
+ \tikz{%
+ \draw[transform canvas={xshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1}-|\fpeval{2*##2+0.5})--(\fpeval{2*##1-0.5}-|\fpeval{2*##2})--(\fpeval{2*##1}-|\fpeval{2*##2+0.5});
+ \draw[transform canvas={yshift=\fpeval{2pt+0.5\tabcolsep}pt}] (\fpeval{2*##1-1.5}-|\fpeval{2*##2-1})--(\fpeval{2*##1-1}-|\fpeval{2*##2-0.5})--(\fpeval{2*##1-1.5}-|\fpeval{2*##2});
+ }%
+ }{}%
+ }%
+ }%
+ \end{NiceTabular}
+}%
+
+%%%
% Ronde infernale
%%%
\newcommand\TestNombrePremier[1]{%
@@ -742,11 +1488,11 @@
fi;
else:
if p_="*":
- label.top(TEX("$\times"&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ label.top(LATEX("$\times"&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
elseif p_="/":
- label.top(TEX("$\div"&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ label.top(LATEX("$\div"&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
else:
- label.top(TEX("$"&p_&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
+ label.top(LATEX("$"&p_&Nombre[n]&"$"),1/2[A[n-1],A[n]]);
fi;
fi;
endfor;
@@ -783,7 +1529,7 @@
O=(0,0);
A[0]=O;
for k=1 upto nbcase:
- A[k]-A[k-1]=(Rayon,0);
+ A[k]-A[k-1]=(Rayon+2cm,0);
endfor;
for k=0 upto nbcase-2:
drawarrow (A[k]--A[k+1]) cutbefore (BoiteRectangle shifted A[k]) cutafter (BoiteRectangle shifted A[k+1]) withpen pencircle scaled 1.5;
@@ -805,12 +1551,12 @@
fi;
if Vide=false:
if Perso:
- label(TEX("$"&Depart&"$"),A[0]);
+ label(LATEX("$"&Depart&"$"),A[0]);
else:
- label(TEX("$"&decimal(Depart)&"$"),A[0]);
+ label(LATEX("$"&decimal(Depart)&"$"),A[0]);
fi;
fi;
- \end{mplibcode}
+ \end{mpost}
\fi
}%
@@ -1477,13 +2223,23 @@
%%%
% Enigme Aire
%%%
-\setKVdefault[EnigmeAire]{Modele=A,Couleur=LightSteelBlue,Echelle=7mm,Etape=1}
+\setKVdefault[EnigmeAire]{Modele=A,Couleur=LightSteelBlue,Echelle=7mm,Etape=1,Solution=false,Graines=false}
+\defKV[EnigmeAire]{Graine=\setKV[EnigmeAire]{Graines}}
\def\MPEnigmeAireA{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
+ boolean Graines,Solution;
+ Graines:=\useKV[EnigmeAire]{Graines};
+ Solution:=\useKV[EnigmeAire]{Solution};
+
+ if Graines:
+ randomseed:=\useKV[EnigmeAire]{Graine};
+ fi;
+
u:=\useKV[EnigmeAire]{Echelle};
+
pair A[],B[];
numeric la[];
la1=ceiling(3+uniformdeviate(7));
@@ -1502,7 +2258,12 @@
trace polygone(B1,B2,B3,B4);
trace polygone(A1,A2,A3,A4);
label(TEX("\Aire[m]{"&decimal(la1*la4)&"}"),iso(A1,B4));
+ if Solution:
+ label(TEX(decimal(la2*la4)&"\,\si{\square\meter}"),iso(B1,B3));
+ else:
label(TEX("?\,\si{\square\meter}"),iso(B1,B3));
+ fi;
+
label(TEX("\Aire[m]{"&decimal(la3*la4)&"}"),iso(B2,A3));
trace cotation(A4,B3,3mm,3mm,TEX("\Lg[m]{"&decimal(la1+la2)&"}"));
trace cotation(B1,A2,-3mm,-3mm,TEX("\Lg[m]{"&decimal(la3+la2)&"}"));
@@ -1514,6 +2275,14 @@
\ifluatex
\mplibforcehmode
\begin{mplibcode}
+ boolean Graines,Solution;
+ Graines:=\useKV[EnigmeAire]{Graines};
+ Solution:=\useKV[EnigmeAire]{Solution};
+
+ if Graines:
+ randomseed:=\useKV[EnigmeAire]{Graine};
+ fi;
+
u:=\useKV[EnigmeAire]{Echelle};
pair A[],B[];
numeric La[],la[],Ca[];
@@ -1538,7 +2307,12 @@
trace polygone(A1,A2,A3,A4,A5,A6);
trace chemin(A7,A4);
label(TEX("\Aire[m]{"&decimal(la1*La1)&"}"),iso(A1,A3));
+ if Solution:
+ label(TEX(decimal(Ca1*Ca2)&"\,\si{\square\meter}"),iso(B1,B3));
+ else:
label(TEX("?\,\si{\square\meter}"),iso(B1,B3));
+ fi;
+
label(TEX("\Aire[m]{"&decimal(la2*La2)&"}"),iso(A7,A5));
trace appelation(A6,A5,3mm,TEX("\Lg[m]{"&decimal(La2)&"}"));
trace appelation(B1,A3,3mm,TEX("\Lg[m]{"&decimal(La1-La2-Ca1)&"}"));
@@ -1552,6 +2326,14 @@
\ifluatex
\mplibforcehmode
\begin{mplibcode}
+ boolean Graines,Solution;
+ Graines:=\useKV[EnigmeAire]{Graines};
+ Solution:=\useKV[EnigmeAire]{Solution};
+
+ if Graines:
+ randomseed:=\useKV[EnigmeAire]{Graine};
+ fi;
+
u:=\useKV[EnigmeAire]{Echelle};
pair A[];
numeric la[],La[];
@@ -1588,7 +2370,11 @@
trace cotation(A1,A4,-3mm,-3mm,TEX("\Lg[cm]{"&decimal(La1+La2+La3)&"}"));
label.lft(TEX("\Lg{"&decimal(la1)&"}"),iso(A1,A10));
label.lft(TEX("\Lg{"&decimal(la2)&"}"),iso(A9,A8));
+ if Solution:
+ label.lft(TEX(decimal(la3)&"\,\si{\centi\meter}"),iso(A7,A6));
+ else:
label.lft(TEX("?\,\si{\centi\meter}"),iso(A7,A6));
+ fi;
\end{mplibcode}
\fi
}
@@ -1597,6 +2383,14 @@
\ifluatex
\mplibforcehmode
\begin{mplibcode}
+ boolean Graines,Solution;
+ Graines:=\useKV[EnigmeAire]{Graines};
+ Solution:=\useKV[EnigmeAire]{Solution};
+
+ if Graines:
+ randomseed:=\useKV[EnigmeAire]{Graine};
+ fi;
+
u:=\useKV[EnigmeAire]{Echelle};
Etape:=\useKV[EnigmeAire]{Etape};
pair A[];
@@ -1613,7 +2407,11 @@
A[6*(k-1)+6]-A[6*(k-1)+5]=A[6*(k-1)+2]-A[6*(k-1)+1];
trace polygone(A[6*(k-1)+1],A[6*(k-1)+2],A[6*(k-1)+3],A[6*(k-1)+4]);
trace segment(A[6*(k-1)+5],A[6*(k-1)+6]);
+ if Solution:
+ trace cotation(A[6*(k-1)+5],A[6*(k-1)+1],-3mm,-3mm,TEX("\Lg{"&decimal(la[k])&"}"));
+ else:
trace cotation(A[6*(k-1)+5],A[6*(k-1)+1],-3mm,-3mm,TEX("?\,\si{\centi\meter}"));
+ fi;
label(TEX("\Aire{"&decimal(la[k]*La[k])&"}"),iso(A[6*(k-1)+5],A[6*(k-1)+2]));
label(TEX("\Aire{"&decimal(la[k+1]*La[k])&"}"),iso(A[6*(k-1)+4],A[6*(k-1)+6]));
if Etape<2:
@@ -1644,6 +2442,14 @@
\ifluatex
\mplibforcehmode
\begin{mplibcode}
+ boolean Graines,Solution;
+ Graines:=\useKV[EnigmeAire]{Graines};
+ Solution:=\useKV[EnigmeAire]{Solution};
+
+ if Graines:
+ randomseed:=\useKV[EnigmeAire]{Graine};
+ fi;
+
u:=\useKV[EnigmeAire]{Echelle};
pair A[];
numeric la[],La[];
@@ -1673,7 +2479,11 @@
trace cotationarc(A5,A4,5mm,4,1,TEX("\Lg[cm]{"&decimal(La3)&"}") rotated 90);
trace cotationarc(A9,A8,3mm,4,1,TEX("\Lg[cm]{"&decimal(la3-la1)&"}") rotated 180);
trace cotationarc(A4,A3,3mm,4,1,TEX("\Lg[cm]{"&decimal(la3-la2)&"}"));
+ if Solution:
+ trace cotationarc(A3,A1,5mm,3,1,TEX("\Lg{"&decimal(La1+La2)&"}") rotated 90);
+ else:
trace cotationarc(A3,A1,5mm,3,1,TEX("?") rotated 90);
+ fi;
\end{mplibcode}
\fi
}
@@ -1682,6 +2492,14 @@
\ifluatex
\mplibforcehmode
\begin{mplibcode}
+ boolean Graines,Solution;
+ Graines:=\useKV[EnigmeAire]{Graines};
+ Solution:=\useKV[EnigmeAire]{Solution};
+
+ if Graines:
+ randomseed:=\useKV[EnigmeAire]{Graine};
+ fi;
+
u:=\useKV[EnigmeAire]{Echelle};
pair A[];
numeric la[],La[];
@@ -1710,7 +2528,11 @@
trace polygone(A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13);
trace segment(A7,A13);
trace segment(A10,A4);
+ if Solution:
+ label(TEX("\Aire{"&decimal(la2*La2)&"}"),iso(A1,A6));
+ else:
label(TEX("?\,\si{\square\centi\meter}"),iso(A1,A6));
+ fi;
label(TEX("\Aire[cm]{"&decimal(la1*La1)&"}"),iso(A2,A4));
label(TEX("\Aire[cm]{"&decimal(la3*La3)&"}"),iso(A10,A8));
label(TEX("\Aire[cm]{"&decimal(la4*La4)&"}"),iso(A12,A1));
@@ -7989,11 +8811,13 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
%%%
% D\'ecomposition de fractions d\'ecimales
%%%
-\setKVdefault[ClesFracDeci]{Complete=false,SansZero=false,Remediation=false}
+\setKVdefault[ClesFracDeci]{Complete=false,SansZero=false,Remediation=false,Longueur=1cm}
+\newlength{\PfCLongueurP}%
\newcommand\FractionDecimale[2][]{%
\useKVdefault[ClesFracDeci]%
\setKV[ClesFracDeci]{#1}%
+ \setlength{\PfCLongueurP}{\useKV[ClesFracDeci]{Longueur}}%
\setsepchar[*]{/}%
\readlist*\ListeFractionDecimale{#2}%
\xdef\FractionDeciNum{\ListeFractionDecimale[1]}%
@@ -8005,14 +8829,14 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\StrLen{\fpeval{\FractionDeciNum}}[\LongueurFracDeciNum]%
\xintifboolexpr{\PartieEntiereFractionDeci == 0}{\xdef\LongueurPartieEntiere{0}}{\StrLen{\PartieEntiereFractionDeci}[\LongueurPartieEntiere]}%
\xintifboolexpr{\PartieEntiereFractionDeci == \fpeval{\FractionDeciNum/\FractionDeciDeno}}{%
- \ensuremath{\ifboolKV[ClesFracDeci]{Remediation}{\dots}{\num{\PartieEntiereFractionDeci}}}%
+ \ensuremath{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieEntiereFractionDeci}}}%
}{%
\ifboolKV[ClesFracDeci]{SansZero}{%
\ensuremath{%
- \xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\dots}{\num{\PartieEntiereFractionDeci}}+}%
+ \xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieEntiereFractionDeci}}+}%
\xintFor* ##1 in {\xintSeq{1}{\LongueurPartieDecimale}}\do{%
\StrMid{\PartieDecimaleFractionDeci}{##1}{##1}[\ChiffrePartieDecimale]%
- \xintifForFirst{}{\xintifboolexpr{\ChiffrePartieDecimale == 0}{}{+}}\xintifboolexpr{\ChiffrePartieDecimale == 0}{}{\frac{\ifboolKV[ClesFracDeci]{Remediation}{\dots}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**(\LongueurFracDeciDeno-1-\LongueurPartieDecimale+##1)}}}}%
+ \xintifForFirst{}{\xintifboolexpr{\ChiffrePartieDecimale == 0}{}{+}}\xintifboolexpr{\ChiffrePartieDecimale == 0}{}{\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**(\LongueurFracDeciDeno-1-\LongueurPartieDecimale+##1)}}}}%
}%
}%
}{%
@@ -8020,24 +8844,24 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\xintifboolexpr{\FractionDeciNum>\FractionDeciDeno}{%
\ensuremath{%
% on affiche la partie entière.
- \xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\dots}{\num{\PartieEntiereFractionDeci}}+}%
+ \xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieEntiereFractionDeci}}+}%
\StrGobbleLeft{\FractionDeciNum}{\fpeval{\LongueurPartieEntiere}}[\DecompositionFracDeciComplete]%
% on affiche la partie décimale.
\xintFor* ##1 in {\xintSeq{1}{\fpeval{\LongueurFracDeciNum-\LongueurPartieEntiere}}}\do{%
- \xintifForFirst{}{+}\StrMid{\DecompositionFracDeciComplete}{##1}{##1}[\ChiffrePartieDecimale]\frac{\ifboolKV[ClesFracDeci]{Remediation}{\dots}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**##1}}}%
+ \xintifForFirst{}{+}\StrMid{\DecompositionFracDeciComplete}{##1}{##1}[\ChiffrePartieDecimale]\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**##1}}}%
}%
}%
}{%
\ensuremath{%
\xintFor* ##1 in {\xintSeq{1}{\LongueurPartieDecimale}}\do{%
\StrMid{\PartieDecimaleFractionDeci}{##1}{##1}[\ChiffrePartieDecimale]%
- \xintifForFirst{}{+}\frac{\ifboolKV[ClesFracDeci]{Remediation}{\dots}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**(\LongueurFracDeciDeno-1-\LongueurPartieDecimale+##1)}}}%
+ \xintifForFirst{}{+}\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\ChiffrePartieDecimale}}}{\num{\fpeval{10**(\LongueurFracDeciDeno-1-\LongueurPartieDecimale+##1)}}}%
}%
}%
}%
}{%
\ensuremath{%
- \xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\dots}{\num{\PartieEntiereFractionDeci}}+}\frac{\ifboolKV[ClesFracDeci]{Remediation}{\dots}{\num{\PartieDecimaleFractionDeci}}}{\num{\FractionDeciDeno}}%
+ \xintifboolexpr{\PartieEntiereFractionDeci == 0}{}{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieEntiereFractionDeci}}+}\frac{\ifboolKV[ClesFracDeci]{Remediation}{\pointilles[\PfCLongueurP]}{\num{\PartieDecimaleFractionDeci}}}{\num{\FractionDeciDeno}}%
}%
}%
}%
@@ -8777,6 +9601,8 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\tikzset{FIndirect/.style={stealth-}}
\tikzset{FBidirect/.style={stealth-stealth}}
+\newlength{\LabyLongCM}
+
\newcommand\Labyrinthe[3][]{%
\useKVdefault[Labyrinthe]%
\setKV[Labyrinthe]{#1}%
@@ -8787,6 +9613,7 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\readlist*\ListeLabySol{#3}%
}{}%
\xdef\LabyLong{\useKV[Labyrinthe]{Longueur}}%
+% \setlength{\LabyLongCM}{\fpeval{\LabyLong*28.3465}pt}%
\xdef\LabyHaut{\useKV[Labyrinthe]{Hauteur}}%
\ifboolKV[Labyrinthe]{SensImpose}{%
\xdef\TotalLaby{\fpeval{4*(\useKV[Labyrinthe]{Colonnes}-1)+1}}%
@@ -8802,7 +9629,11 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\foreach \compteurh in {1,...,\useKV[Labyrinthe]{Colonnes}}{%
\xdef\ColorFill{\ListeLaby[\fpeval{\useKV[Labyrinthe]{Colonnes}*(\compteurv-1)+\compteurh},2]}%
\node[fill=\ColorFill,draw,minimum height=\LabyHaut*1cm,minimum width=\LabyLong*1cm,name=A-\compteurh-\compteurv] at
- (\fpeval{\LabyLong+\useKV[Labyrinthe]{EcartH}}*\compteurh,-\fpeval{\LabyHaut+\useKV[Labyrinthe]{EcartV}}*\compteurv) {\ListeLaby[\fpeval{\useKV[Labyrinthe]{Colonnes}*(\compteurv-1)+\compteurh},1]};%
+ (\fpeval{\LabyLong+\useKV[Labyrinthe]{EcartH}}*\compteurh,-\fpeval{\LabyHaut+\useKV[Labyrinthe]{EcartV}}*\compteurv) {%
+% \begin{minipage}{\LabyLongCM}
+ \ListeLaby[\fpeval{\useKV[Labyrinthe]{Colonnes}*(\compteurv-1)+\compteurh},1]%
+% \end{minipage}
+ };%
}%
}%
% fin des cadres
@@ -13791,14 +14622,15 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
% y a dans un "seul calcul".
\setcounter{NbCalculDistri}{0}
-\setKVdefault[ClesDistributivite]{Cours=false,Etape=1,Lettre=x,Fleches=false,AideMul=false,Reduction=false,AideAdda=false,AideAddb=false,CouleurAide=red,CouleurReduction=black,CouleurFH=blue,CouleurFB=red,Somme=false,Difference=false,RAZ=false,Oppose=false,All=false,NomExpression=A,Fin=4,Numerique=false,Remarquable=false,Echange=0,Tuile=false,Vide=false,Impression=false,Tableau=false}%,AideAdd=false:inutile ?
+\setKVdefault[ClesDistributivite]{Cours=false,Etape=1,Lettre=x,Fleches=false,AideMul=false,Reduction=false,AideAdda=false,AideAddb=false,CouleurAide=red,CouleurReduction=black,CouleurFH=blue,CouleurFB=red,Somme=false,Difference=false,RAZ=false,Oppose=false,All=false,NomExpression=A,Fin=4,Numerique=false,Remarquable=false,Echange=0,Tuile=false,Vide=false,Reperes=false,Impression=false,Tableau=false}%,AideAdd=false:inutile ?
\newcommand\Tuile[4]{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
- boolean Vide,Print;
+ boolean Vide,Reperes,Print;
Vide=\useKV[ClesDistributivite]{Vide};
+ Reperes=\useKV[ClesDistributivite]{Reperes};
Print=\useKV[ClesDistributivite]{Impression};
pair _CoinTuilev;
_CoinTuilev=(0,0);
@@ -13891,7 +14723,52 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
labeloffset:=labeloffset*2;
label.ulft(TEX("$\times$"),iso(u*(largeur/2,ecart/2),u*(largeur+ecart/2,largeur/2+ecart)));
labeloffset:=labeloffset/2;
- if Vide=false:
+ if Vide:
+ if Reperes:
+ %%%%
+ %% tuile a*c
+ if #1*#3<>0:
+ for k=0 upto (abs(#3)-1):
+ for l=0 upto (abs(#1)-1):
+ path titi;
+ titi=polygone((0,0),u*(longueur,0),u*(longueur,-longueur),u*(0,-longueur)) shifted (u*(largeur+ecart,0)+(u*(k*longueur,-l*longueur)));
+ trace titi withcolor 0.6white;
+ endfor;
+ endfor;
+ fi;
+ %tuile a*d
+ if #1*#4<>0:
+ for k=0 upto (abs(#4)-1):
+ for l=0 upto (abs(#1)-1):
+ path titi;
+ titi=polygone((0,0),u*(largeur,0),u*(largeur,-longueur),u*(0,-longueur)) shifted (u*(largeur+ecart+abs(#3)*longueur,0)+(u*(k*largeur,-l*longueur)));
+ trace titi withcolor 0.6white;
+ endfor;
+ endfor;
+ fi;
+ %tuile b*c
+ if #2*#3<>0:
+ for k=0 upto (abs(#3)-1):
+ for l=0 upto (abs(#2)-1):
+ path titi;
+ titi=polygone((0,0),u*(longueur,0),u*(longueur,-largeur),u*(0,-largeur)) shifted (u*(largeur+ecart,-abs(#1)*longueur)+(u*(k*longueur,-l*largeur)));
+ trace titi withcolor 0.6white;
+ endfor;
+ endfor;
+ fi;
+ %tuile b*d
+ if #2*#4<>0:
+ for k=0 upto (abs(#4)-1):
+ for l=0 upto (abs(#2)-1):
+ path titi;
+ titi=polygone((0,0),u*(largeur,0),u*(largeur,-largeur),u*(0,-largeur)) shifted (u*(largeur+ecart+abs(#3)*longueur,-abs(#1)*longueur)+(u*(k*largeur,-l*largeur)));
+ trace titi withcolor 0.6white;
+ endfor;
+ endfor;
+ fi;
+ fi;
+ %%%
+ else:
%% tuile a*c
if #1*#3<>0:
for k=0 upto (abs(#3)-1):
@@ -14233,6 +15110,17 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\DistriEchange[#1]{#2}{#3}{#4}{#5}%
}{%
\ifboolKV[ClesDistributivite]{Remarquable}{%
+ \ifboolKV[ClesDistributivite]{Numerique}{%
+ \ifx\bla#4\bla%
+ \xintifboolexpr{#3>0}{%
+ \num{\fpeval{#2+#3}}^2=(\num{#2}+\num{#3})^2=\num{#2}^2+2\times\num{#2}\times\num{#3}+\num{#3}^2=\num{\fpeval{#2*#2}}+\num{\fpeval{2*#2*#3}}+\num{\fpeval{#3*#3}}=\num{\fpeval{(#2+#3)**2}}
+ }{%
+ \num{\fpeval{#2+#3}}^2=(\num{#2}\num{#3})^2=\num{#2}^2-2\times\num{#2}\times\num{\fpeval{-#3}}+\num{\fpeval{-#3}}^2=\num{\fpeval{#2*#2}}-\num{\fpeval{2*#2*abs(#3)}}+\num{\fpeval{#3*#3}}=\num{\fpeval{(#2-abs(#3))**2}}
+ }
+ \else
+ \num{\fpeval{#2+#3}}\times\num{\fpeval{#4+#5}}=(\num{#2}+\num{#3})\times(\num{#4}\num{#5})=\num{#2}^2-\num{#3}^2=\num{\fpeval{#2*#2}}-\num{\fpeval{#3*#3}}=\num{\fpeval{(#2+#3)*(#2-#3)}}
+ \fi%
+ }{%
\xintifboolexpr{\useKV[ClesDistributivite]{Etape}==1}{%
\ifx\bla#4\bla(\Affichage{0}{#2}{#3})^2\else(\Affichage{0}{#2}{#3})(\Affichage{0}{#4}{#5})\fi%
}{}
@@ -14282,6 +15170,8 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-#2*#4}}\xdef\SommeB{\fpeval{\SommeB-#2*#5-#3*#4}}\xdef\SommeC{\fpeval{\SommeC-#3*#5}}}{}%
\fi%
}{}%
+ % fin Remarquable
+ }%
}{%
\ifboolKV[ClesDistributivite]{Numerique}{%
\xintifboolexpr{\useKV[ClesDistributivite]{Etape}==0}{%
@@ -14449,8 +15339,25 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\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)%
+ }%
+ }%
+ }%
+ }{%
+ \xintifboolexpr{#4==-1}{-}{-\num{\fpeval{abs(#4)}}}}}%
+ \LETTRE^2}%
}%
}%
@@ -17004,10 +17911,10 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\end{multicols}
}{\ifboolKV[ClesThales]{Figurecroisee}{%
% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]
- \fbox{\begin{minipage}{0.4\linewidth}%
+ \begin{minipage}{0.4\linewidth}%
{\em La figure est donn\'ee \`a titre indicatif.}%
\[\MPFigReciThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]%
- \end{minipage}}
+ \end{minipage}
\hfill
\begin{minipage}{0.55\linewidth}%
\ReciThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}\par
@@ -21943,7 +22850,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
%%%
% Diff\'erentes représentations graphiques
%%%
-\setKVdefault[TraceG]{Grille=false,Graduations=false,PasGradX=1,PasGradY=1,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,Epaisseur=1,Relie=false,RelieSegment=false,Marque=dot,Code=false,Vide=false}%
+\setKVdefault[TraceG]{Grille=false,Graduations=false,PasGradX=1,PasGradY=1,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,Epaisseur=1,Relie=false,RelieSegment=false,Marque=dot,Code=false,Vide=false,NbPointsCourbe=100}%
\defKV[TraceG]{Traces=\setKV[TraceG]{Code}}%
\newcommand\TraceGraphique[2][]{%
@@ -22149,6 +23056,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\begin{mplibcode}
borneinf=\useKV[TraceG]{Bornea};
bornesup=\useKV[TraceG]{Borneb};
+ nbpointsCourbe:=\useKV[TraceG]{NbPointsCourbe};
xmin=\useKV[TraceG]{Xmin};
xmax=\useKV[TraceG]{Xmax};
ymin=\useKV[TraceG]{Ymin};
@@ -22263,7 +23171,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
drawoptions();
if Vide:
else:
- draw courbe1(borneinf,bornesup,100)(#2) withpen (pencircle scaled Epaisseur) withcolor colortrace;
+ draw courbe1(borneinf,bornesup,nbpointsCourbe)(#2) withpen (pencircle scaled Epaisseur) withcolor colortrace;
% labelisation
numeric t;
t=pos*length Cb1;
@@ -22285,7 +23193,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
\usepackage{ProfCollege}
\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};Epaisseur=\useKV[TraceG]{Epaisseur}; color colortrace;colortrace=\useKV[TraceG]{CouleurTrace};boolean Grille,Vide;Grille=\useKV[TraceG]{Grille};Vide=\useKV[TraceG]{Vide};boolean Graduations;Graduations=\useKV[TraceG]{Graduations};
+ \begin{mpost}[mpsettings={borneinf=\useKV[TraceG]{Bornea};bornesup=\useKV[TraceG]{Borneb};nbpointsCourbe:=\useKV[TraceG]{NbPointsCourbe};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};Epaisseur=\useKV[TraceG]{Epaisseur}; color colortrace;colortrace=\useKV[TraceG]{CouleurTrace};boolean Grille,Vide;Grille=\useKV[TraceG]{Grille};Vide=\useKV[TraceG]{Vide};boolean Graduations;Graduations=\useKV[TraceG]{Graduations};
pair Origine;
Origine=(xmin,ymin)+\useKV[TraceG]{Origine};}]
@@ -22365,7 +23273,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis
drawoptions();
if Vide:
else:
- draw courbe1(borneinf,bornesup,100)(#2) withpen (pencircle scaled Epaisseur) withcolor colortrace;
+ draw courbe1(borneinf,bornesup,nbpointsCourbe)(#2) withpen (pencircle scaled Epaisseur) withcolor colortrace;
% % labelisation
numeric t;
t=pos*length Cb1;
@@ -23371,7 +24279,7 @@ u:=\useKV[ClesFormule]{Echelle};
{cube}{%
\begin{center}
\MPFigureCube\par
- Volume d'une cube : $a^3\quad(a\times a\times a)$
+ Volume d'un cube : $a^3\quad(a\times a\times a)$
\end{center}
}%
{pave}{%
@@ -24990,46 +25898,67 @@ u:=\useKV[ClesFormule]{Echelle};
n:=0;
for p_=t:
n:=n+1;
+ if substring(1,2) of p_="*":
+ label.top(TEX(substring(2,length p_) of p_),unitp*(valeur[n],0));
+ else:
label.top(TEX(p_),unitp*(valeur[n],0));
+ fi;
+ if p_<>"":
pointe(unitp*(valeur[n],0));
+ fi;
endfor;
fi;
- if AffichageCoord=3:
+ % On ajoute une paramétrisation possible à chaque point.
+ if AffichageCoord>0:
n:=0;
for p_=t:
n:=n+1;
+ if substring(1,2) of p_="*":
+ ACoord:=scantokens(substring(0,1) of p_);
+ if ACoord=3:
+ drawarrow (unitp*(valeur[n],-1))--(unitp*(valeur[n],-0.3));
+ label.bot(btex \hbox to2em{\dotfill} etex,(unitp*(valeur[n],-1)));
+ pointe(unitp*(valeur[n]-ValeurOrigine,0));
+ elseif ACoord=2:
+ if ((ValeurUnitex*valeur[n]) mod pasx)<>0:
+ label.bot(TEX("\footnotesize$\frac{\num{\fpeval{"&decimal(ValeurUnitex)&"*"&decimal(valeur[n])&"}}}{\num{"&decimal(pasx)&"}}$"),unitp*(valeur[n],0));
+ else:
+ label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurUnitex)&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
+ fi;
+ pointe(unitp*(valeur[n],0));
+ elseif ACoord=1:
+ label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
+ pointe(unitp*(valeur[n],0));
+ fi;
+ else:
+ if AffichageCoord=3:
if p_<>"":
drawarrow (unitp*(valeur[n],-1))--(unitp*(valeur[n],-0.3));
- label.bot(btex \pointilles[2em] etex,(unitp*(valeur[n],-1)));
+ label.bot(btex \hbox to2em{\dotfill} etex,(unitp*(valeur[n],-1)));
+ pointe(unitp*(valeur[n],0));
fi;
- endfor;
elseif AffichageCoord=2:
- n:=0;
- for p_=t:
- n:=n+1;
if p_<>"":
if ((ValeurUnitex*valeur[n]) mod pasx)<>0:
- label.bot(TEX("\footnotesize$\frac{\num{\fpeval{"&decimal(ValeurOrigine*pasx)&"+"&decimal(ValeurUnitex-ValeurOrigine)&"*"&decimal(valeur[n])&"}}}{\num{"&decimal(pasx)&"}}$"),unitp*(valeur[n],0));
+ label.bot(TEX("\footnotesize$\frac{\num{\fpeval{"&decimal(ValeurUnitex)&"*"&decimal(valeur[n])&"}}}{\num{"&decimal(pasx)&"}}$"),unitp*(valeur[n],0));
else:
label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurUnitex)&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
fi;
pointe(unitp*(valeur[n],0));
fi;
- endfor;
elseif AffichageCoord=1:
- n:=0;
- for p_=t:
- n:=n+1;
if p_<>"":
- label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-ValeurOrigine)&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
+ label.bot(TEX("\footnotesize\num{\fpeval{"&decimal(ValeurOrigine)&"+"&decimal(ValeurUnitex-(ValeurOrigine))&"*"&decimal(valeur[n])&"/"&decimal(pasx)&"}}"),unitp*(valeur[n],0));
pointe(unitp*(valeur[n],0));
fi;
+ fi;
+ fi;
endfor;
fi;
enddef;
%----
tata(#2);
- clip currentpicture to polygone(u*(-1,-1),((maxx+0.75)*unitp,-u),((maxx+0.75)*unitp,u),u*(-1,1));
+% clip currentpicture to polygone(u*(-1,-2),((maxx+0.75)*unitp,-2u),((maxx+0.75)*unitp,2u),u*(-1,2));
\end{mplibcode}
\else
\begin{mpost}[mpsettings={unitex:=\useKV[ClesReperage]{Unitex}*cm; pasx:=\useKV[ClesReperage]{Pasx}; unitp:=unitex/pasx; ValeurUnitex:=\useKV[ClesReperage]{ValeurUnitex}; ValeurOrigine:=\useKV[ClesReperage]{ValeurOrigine}; AffichageGrad:=\AffichageGrad; AffichageCoord:=\useKV[ClesReperage]{AffichageAbs}; AffichageNom:=\AffichageNom;}]
@@ -26293,7 +27222,7 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
%%%
% Tableaux d'unit\'es
%%%
-\setKVdefault[ClesTableaux]{Virgule=true,Incline=false,Entiers=false,Decimaux=false,Milliards=false,Millions=false,Micro=false,Nano=false,Partie=false,CouleurG=gray!15,CouleurM=gray!15,Couleurm=gray!15,Couleuru=gray!15,Couleurd=gray!15,Classes=false,Nombres=false,Puissances=false,NbLignes=2,Metre=false,Are=false,Capacite=false,Carre=false,Cube=false,Litre=false,Gramme=false,Fleches=false,FlechesB=false,FlechesH=false,Colonnes=false,Prefixes=false,Escalier=false,Taille=5,Largeur=4.75em,Nom=PfCTableau,CodeAfter={},PuissancesSeules=false,Colonne=-1}
+\setKVdefault[ClesTableaux]{Virgule=true,Incline=false,Entiers=false,Decimaux=false,Milliards=false,Millions=false,Micro=false,Nano=false,Partie=false,CouleurG=gray!15,CouleurM=gray!15,Couleurm=gray!15,Couleuru=gray!15,Couleurd=gray!15,Classes=false,Nombres=false,Puissances=false,NbLignes=2,Metre=false,Are=false,Capacite=false,Carre=false,Cube=false,Litre=false,Gramme=false,Fleches=false,FlechesB=false,FlechesH=false,Colonnes=false,Prefixes=false,Escalier=false,Taille=5,Largeur=4.75em,Nom=PfCTableau,CodeAfter={},PuissancesSeules=false,Colonne=-1,Octet=false}
\newcommand\PfCTBstrut{\rule[-1.2ex]{0pt}{3.8ex}}% Top and Bottom strut
\newcommand\PfCTstrut{\rule{0pt}{3.8ex}}% Top strut
@@ -26323,6 +27252,74 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
}{}%
\PfCTableauIncline%
}{%
+ %
+ %%% Clé Octet
+ %
+ \ifboolKV[ClesTableaux]{Octet}{%
+ \[\renewcommand{\arraystretch}{1.15}%
+ \setlength{\tabcolsep}{0.275\tabcolsep}%
+ \xdef\DecalageLigne{0}
+ \begin{NiceTabular}{*{5}{wc{15pt}wc{15pt}wc{15pt}}}
+ \Block[]{1-3}{}%
+ &&&\Block[]{1-3}{}%
+ &&&\Block[]{1-3}{}%
+ &&&\Block[]{1-3}{}%
+ &&&\Block[]{1-3}{}\\
+ \hline
+ \ifboolKV[ClesTableaux]{Classes}{%
+ \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}\Block[borders={left,top,right}]{1-3}{téraoctet\PfCTBstrut}&&&\Block[borders={top,right}]{1-3}{gigaoctet\PfCTBstrut}&&&\Block[borders={top,right}]{1-3}{mégaoctet\PfCTBstrut}&&&\Block[borders={top,right}]{1-3}{kilooctet\PfCTBstrut}&&&\Block[borders={top,right}]{1-3}{octet\PfCTBstrut}&&\\
+ \hline
+ }{}%
+ \Block[borders={left,top,right}]{1-3}{To\PfCTBstrut}&&&\Block[borders={top,right}]{1-3}{Go\PfCTBstrut}&&&\Block[borders={top,right}]{1-3}{Mo\PfCTBstrut}&&&\Block[borders={top,right}]{1-3}{ko\PfCTBstrut}&&&\Block[borders={top,right}]{1-3}{o\PfCTBstrut}&&\\
+ \hline
+ \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
+ &&&&&&&&&&&&&&\\
+ }%
+ \Block[]{1-3}{}%
+ &&&\Block[]{1-3}{}%
+ &&&\Block[]{1-3}{}%
+ &&&\Block[]{1-3}{}%
+ &&&\Block[]{1-3}{}\\
+ \CodeAfter
+ % on trace les lignes verticales
+ \xintFor* ##1 in {\xintSeq{1}{6}}\do{%
+ \tikz\draw (3-|\fpeval{3*(##1-1)+1})--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*(##1-1)+1});
+ }%
+ \xintifboolexpr{\useKV[ClesTableaux]{Colonnes}}{%
+ \xintFor* ##1 in {\xintSeq{1}{5}}\do{%
+ \tikz\draw[gray!50] (3-|\fpeval{3*(##1-1)+2})--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*(##1-1)+2});
+ \tikz\draw[gray!50] (3-|\fpeval{3*##1})--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*##1});
+ }%
+ }{}%
+ % On place le nombre éventuel
+ \ifx\bla#2\bla%
+ \else%
+ \setsepchar[*]{,*/}
+ \readlist*\ListeNombreAPlacer{#2}%
+ \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{%
+ \StrLen{\ListeNombreAPlacer[##2,1]}[\TabLongueurNombre]%
+ \xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
+ \tikz\node at (\fpeval{\DecalageLigne+##2+2.5}-|\fpeval{\ListeNombreAPlacer[##2,2]-0.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};%
+ }%
+ }%
+ \fi%
+ % on trace les flèches
+ \ifboolKV[ClesTableaux]{Fleches}{\setKV[ClesTableaux]{FlechesH,FlechesB}}{}%
+ \ifboolKV[ClesTableaux]{FlechesH}{%
+ \xintFor* ##1 in {\xintSeq{1}{4}}\do{%
+ \tikz\draw[gray,->,>=latex,out=30,in=150] (1.5-|\fpeval{2.5+3*(##1-1)}) to node[above, midway]{\small$\times\num{1000}$}(1.5-|\fpeval{2.5+3*##1});%
+ }%
+ }{}%
+ \ifboolKV[ClesTableaux]{Classes}{\xdef\PfCTableauDepart{4}}{\xdef\PfCTableauDepart{3}}%
+ \ifboolKV[ClesTableaux]{FlechesB}{%
+ \xintFor* ##1 in {\xintSeq{1}{4}}\do{%
+ \tikz\draw[gray,->,>=latex,out=-150,in=-30] (\fpeval{\PfCTableauDepart+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{2.5+3*##1}) to node[below,midway]{\small$\div\num{1000}$}(\fpeval{\PfCTableauDepart+\useKV[ClesTableaux]{NbLignes}+0.5}-|\fpeval{2.5+3*(##1-1)});%
+ }%
+ }{}%
+ \useKV[ClesTableaux]{CodeAfter}%
+ \end{NiceTabular}
+ \]%
+ }{}%
%
%%% Cl\'e Prefixes
%
@@ -27308,7 +28305,6 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\]%
}%
{}%
-
%
%%% Prise en compte de la cl\'e Carre
%
@@ -27653,14 +28649,27 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
colbacktitle=TrameCouleur,%
}
+\makeatletter
\newtcolorbox{MyboxJQ}[2]{%
- enhanced,
- nobeforeafter,
- left=0pt,right=0pt,top=0pt,
- text fill,
- width=\largeurcarte,
- height=\hauteurcarte,
- arc=5pt,
+ enhanced,%
+ nobeforeafter,%
+ left=0pt,right=0pt,top=0pt,%
+ text fill,%
+ width=\largeurcarte,%
+ height=\hauteurcarte,%
+ arc=5pt,%
+ underlay={%
+ \ifboolKV[Cards]{BackgroundAv}{%
+ \begin{tcbclipinterior}
+ \node[anchor=center,opacity=1]
+ at (interior.center) {%
+ \includegraphics[%
+ height=\tcb@height,
+ width=\tcb@width,
+ ]{\useKV[Cards]{ImageAv}}};%
+ \end{tcbclipinterior}%
+ }{}%
+ },%
overlay unbroken and first={%
\coordinate[yshift=-0.5\hauteurtitre] (A1) at (frame.north west);
\coordinate[yshift=0\hauteurtitre] (S3) at (frame.center);
@@ -27681,10 +28690,32 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\end{center}%
\end{minipage}};
},
- colback=white,
+ colback=white
}
-
-\usetikzlibrary{backgrounds}
+%
+\newtcolorbox{MyboxJQAr}{%
+ enhanced,%
+ nobeforeafter,%
+ left=0pt,right=0pt,top=0pt,%
+ text fill,%
+ width=\largeurcarte,%
+ height=\hauteurcarte,%
+ arc=5pt,%
+ underlay={%
+ \ifboolKV[Cards]{BackgroundAv}{%
+ \begin{tcbclipinterior}
+ \node[anchor=center,opacity=1]
+ at (interior.center) {%
+ \includegraphics[%
+ height=\tcb@height,
+ width=\tcb@width,
+ ]{\useKV[Cards]{ImageAr}}};%
+ \end{tcbclipinterior}%
+ }{}%
+ },%
+ colback=white
+}
+\makeatother
\makeatletter
%https://tex.stackexchange.com/questions/347434/clip-background-image-inside-tcolorbox
@@ -27706,7 +28737,7 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
height=\tcb@height,
width=\tcb@width,
]{\useKV[Cards]{ImageAv}}};%
- \end{tcbclipinterior},%
+ \end{tcbclipinterior}%
}{}%
},%
overlay unbroken and first={%
@@ -27775,7 +28806,8 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\newlength{\margeh}%
\newlength{\margev}%
-\NewEnviron{Trame}{%
+% \NewEnviron{Trame}{%
+\NewDocumentEnvironment{Trame}{+b}{%
\begin{tikzpicture}[remember picture,overlay]
% quadrillages horizontal et vertical
\coordinate[yshift=-\margev] (A) at (current page.north west);%
@@ -27796,11 +28828,11 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\coordinate[xshift=\largeurcards] (D2) at (D1);%
\coordinate[xshift=\largeurcards] (C3) at (C2);%
\coordinate[xshift=\largeurcards] (D3) at (D2);%
- \draw (A) -- (B);%
- \draw (A1) -- (B1);%
- \draw (A2) -- (B2);%
- \draw (A3) -- (B3);%
- \draw (A4) -- (B4);%
+ \draw (A)--(B);%
+ \draw (A1)--(B1);%
+ \draw (A2)--(B2);%
+ \draw (A3)--(B3);%
+ \draw (A4)--(B4);%
\draw (C)--(D);%
\draw (C1)--(D1);%
\draw (C2)--(D2);%
@@ -27815,7 +28847,7 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte7) at (Carte4);%
\coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte8) at (Carte5);%
\coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte9) at (Carte6);%
- \BODY%
+ #1%
\end{tikzpicture}%
}%
@@ -27825,11 +28857,12 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
Trivial=false,Symboles={\faInfinity,\faSignal,\faProjectDiagram,\faHiking,\faRuler,\faLockOpen}
}%
-\newcommand\Cartes[2][]{%
+\NewDocumentCommand\Cartes{o +m}{%[2][]{%
\useKVdefault[Cards]%
\setKV[Cards]{#1}%
\setsepchar[*]{§*/}%
\readlist*\ListeCards{#2}%
+ \setsepchar{,}%
\ifboolKV[Cards]{Landscape}{%
\setlength{\hauteurcarte}{\fpeval{\useKV[Cards]{Largeur}-\useKV[Cards]{Marge}}mm}%
\setlength{\largeurcarte}{\fpeval{\useKV[Cards]{Hauteur}-\useKV[Cards]{Marge}}mm}%
@@ -27856,17 +28889,17 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\ifboolKV[Cards]{Trame}{%
\clearpage%
\thispagestyle{empty}%
- \begin{Trame}
+ \begin{Trame}%
\multido{\i=1+1}{9}{%
\node[] at (Carte\i) {%
\begin{MyboxTrivial}%
\begin{center}
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[9,m]}[hvlines]
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[9,m]}[hvlines]%
\xintFor* ##1 in{\xintSeq{1}{6}}\do{%
\rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\i,\fpeval{1+2*(##1-1)}]\\
}%
- \end{NiceTabular}
- \end{center}
+ \end{NiceTabular}%
+ \end{center}%
\end{MyboxTrivial}%
};%
}%
@@ -27874,43 +28907,43 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\ifboolKV[Cards]{AffichageSolution}{%
\clearpage%
\thispagestyle{empty}%
- \begin{Trame}
+ \begin{Trame}%
\multido{\i=1+1}{3}{%
\node at (Carte\i) {%
\begin{MyboxTrivial}%
- \begin{center}
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
\xintFor* ##1 in{\xintSeq{1}{6}}\do{%
\rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{4-\i},\fpeval{2*##1}]\\
}%
- \end{NiceTabular}
- \end{center}
+ \end{NiceTabular}%
+ \end{center}%
\end{MyboxTrivial}%
};%
}%
\multido{\i=4+1}{3}{%
\node at (Carte\i) {%
\begin{MyboxTrivial}%
- \begin{center}
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
\xintFor* ##1 in{\xintSeq{1}{6}}\do{%
\rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{10-\i},\fpeval{2*##1}]\\
}%
- \end{NiceTabular}
- \end{center}
+ \end{NiceTabular}%
+ \end{center}%
\end{MyboxTrivial}%
};%
}%
\multido{\i=7+1}{3}{%
\node at (Carte\i) {%
- \begin{MyboxTrivial}
- \begin{center}
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]
+ \begin{MyboxTrivial}%
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
\xintFor* ##1 in{\xintSeq{1}{6}}\do{%
\rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{16-\i},\fpeval{2*##1}]\\
}%
- \end{NiceTabular}
- \end{center}
+ \end{NiceTabular}%
+ \end{center}%
\end{MyboxTrivial}%
};%
}%
@@ -27919,23 +28952,23 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
}{}%
}{%
\begin{MyboxTrivial}%
- \begin{center}
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
\xintFor* ##1 in{\xintSeq{1}{6}}\do{%
\rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[1,\fpeval{1+2*(##1-1)}]\\
}%
- \end{NiceTabular}
- \end{center}
+ \end{NiceTabular}%
+ \end{center}%
\end{MyboxTrivial}%
\ifboolKV[Cards]{AffichageSolution}{%
\begin{MyboxTrivial}%
- \begin{center}
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
\xintFor* ##1 in{\xintSeq{1}{6}}\do{%
\rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[1,\fpeval{2*##1}]\\
}%
- \end{NiceTabular}
- \end{center}
+ \end{NiceTabular}%
+ \end{center}%
\end{MyboxTrivial}%
}{}%
}%
@@ -27945,7 +28978,7 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
\ifboolKV[Cards]{Trame}{%
\clearpage%
\thispagestyle{empty}%
- \begin{Trame}
+ \begin{Trame}%
\multido{\i=1+1}{9}{%
\node at (Carte\i) {%
\begin{MyboxJQ}{\ListeCards[\i,1]}{\ListeCards[\i,2]}%
@@ -27955,10 +28988,34 @@ label.lft(LATEX("\noexpand\footnotesize\noexpand\SI{\noexpand\fpeval{"&decimal(V
}%
\end{Trame}%
\clearpage%
+ \ifboolKV[Cards]{AffichageSolution}{%
+ \thispagestyle{empty}%
+ \begin{Trame}
+ \multido{\i=1+1}{3}{%
+ \node at (Carte\i) {%
+ \begin{MyboxJQAr}%
+ \end{MyboxJQAr}%
+ };%
+ }%
+ \multido{\i=4+1}{3}{%
+ \node at (Carte\i) {%
+ \begin{MyboxJQAr}%
+ \end{MyboxJQAr}%
+ };%
+ }%
+ \multido{\i=7+1}{3}{%
+ \node at (Carte\i) {%
+ \begin{MyboxJQAr}%
+ \end{MyboxJQAr}%
+ };%
+ }%
+ \end{Trame}%
+ \clearpage%
+ }{}%
}{%
- \begin{MyboxJQ}{\ListeCards[1,1]}{\ListeCards[1,2]}%
+ \begin{MyboxJQAr}%
%%
- \end{MyboxJQ}%
+ \end{MyboxJQAr}%
}%
}{%
\ifboolKV[Cards]{Loop}{%
diff --git a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
index 3c5ed4be0d..dd49ba8c3b 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
@@ -1534,4 +1534,430 @@ vardef compas(expr centre,extre,n)=
piccompas
enddef;
+%Grilles
+boolean orig,uni;
+orig=false;
+uni=false;
+
+vardef origine(expr p)=
+ x.origine:=x.so+xpart(p)*quad.u;
+ y.origine:=y.so+ypart(p)*quad.u;
+ orig:=true;
+enddef;
+
+vardef unites(expr g,h)=
+ x.u:=g*cm;
+ y.u:=h*cm;
+ uni:=true;
+enddef;
+
+vardef axes=
+ path axehor,axever;
+ axehor=(x.so*cm,y.origine)--(x.ne*cm,y.origine);
+ axever=(x.origine,y.so*cm)--(x.origine,y.ne*cm);
+ picture axx;
+ axx=image(
+ drawarrow (x.so*cm,y.origine)--(x.ne*cm,y.origine);
+ drawarrow (x.origine,y.so*cm)--(x.origine,y.ne*cm);
+ label.llft(btex $O$ etex,z.origine);
+ );
+ axx
+enddef;
+
+vardef axesvide=
+ path axehor,axever;
+ axehor=(x.so*cm,y.origine)--(x.ne*cm,y.origine);
+ axever=(x.origine,y.so*cm)--(x.origine,y.ne*cm);
+ picture axxx;
+ axxx=image(
+ drawarrow (x.so*cm,y.origine)--(x.ne*cm,y.origine);
+ drawarrow (x.origine,y.so*cm)--(x.origine,y.ne*cm);
+ );
+ axxx
+enddef;
+
+vardef axesvideorigine=
+ path axehor,axever;
+ axehor=(x.origine,y.origine)--(x.ne*cm,y.origine);
+ axever=(x.origine,y.origine)--(x.origine,y.ne*cm);
+ picture axxx;
+ axxx=image(
+ drawarrow (x.origine,y.origine)--(x.ne*cm,y.origine);
+ drawarrow (x.origine,y.origine)--(x.origine,y.ne*cm);
+ );
+ axxx
+enddef;
+
+def enplace=
+ if orig:
+ xscaled x.u yscaled y.u shifted (z.origine)
+ else:
+ xscaled x.u yscaled y.u shifted (z.so)
+ fi
+enddef;
+
+vardef placepoint(expr q,r)=
+ (q,r) enplace
+enddef;
+
+vardef pp(expr qq,rr)=placepoint(qq,rr)
+enddef;
+
+def replace=
+ xscaled (1/x.u) yscaled (1/y.u) shifted (-z.origine)
+enddef;
+
+def retrouvecoord(expr p)=%trasnforme les coordonées du point d'affixe p dans le repère absolu de metapost en les coordonnées du point dans le repère défini par l'utilisateur
+ p replace
+enddef;
+
+vardef placepointtri(expr q,r)=
+ save $;
+ pair $;
+ if orig:
+ $=z.origine shifted (q*(x.u,0)+r*(x.u/2,y.u));
+ else:
+ $=z.so*cm shifted (q*(x.u,0)+r*(x.u/2,y.u));
+ fi;
+ $
+enddef;
+
+vardef pptri(expr qq,rr)=placepointtri(qq,rr)
+enddef;
+
+vardef placepointiso(expr q,r)=
+ save $;
+ pair $;
+ $=if orig: z.origine else: (z.so+((sqrt(3)/2),0.5))*cm fi shifted (q*(sqrt(3)*cm,0)+0.5*r*cm*(sqrt(3),1));
+ $
+enddef;
+
+vardef ppiso(expr qq,rr)=placepointiso(qq,rr)
+enddef;
+
+vardef reperehexa(expr colo,lign)=
+ save $;
+ path $;
+ if (colo mod 2)=1:
+ $=(hexa shifted(0.5cm,0)) shifted((colo-1)*1.5*cm,(lign-1)*2*((sqrt 3)/2)*cm);
+ else:
+ $=(hexa shifted(0.5cm,0)) shifted((colo-1)*1.5*cm,((lign-1)*2+1)*((sqrt 3)/2)*cm);
+ fi;
+ $
+enddef;
+
+vardef Centrehexa(expr colo,lign)=
+ save $;
+ pair $;
+ if (colo mod 2)=1:
+ $=(centrehexa shifted(0.5cm,0)) shifted((colo-1)*1.5*cm,(lign-1)*2*((sqrt 3)/2)*cm);
+ else:
+ $=(centrehexa shifted(0.5cm,0)) shifted((colo-1)*1.5*cm,((lign-1)*2+1)*((sqrt 3)/2)*cm);
+ fi;
+ $
+enddef;
+
+%%Les grilles
+
+vardef grille(expr t)=
+ save gri;
+ picture gri;
+ orig:=false;
+ x.u:=t*cm;
+ y.u:=t*cm;
+ quad.u:=t*cm;
+ gri=image(
+ path p[];
+ %horizontale
+ p1:=(x.so*cm,0)--(x.ne*cm,0);
+ %verticale
+ p2:=(0,y.so*cm)--(0,y.ne*cm);
+ %options
+ %horizontales
+ for i:=0 step t until (y.ne-y.so):
+ draw p1 shifted (0,i*cm);
+ endfor;
+ %verticales
+ for i:=0 step t until (x.ne-x.so) :
+ draw p2 shifted (i*cm,0);
+ endfor;
+ );
+ gri
+enddef;
+
+vardef papiermillimetre=
+ save $;
+ picture $;
+ orig:=false;
+ x.u:=1cm;
+ y.u:=1cm;
+ quad.u:=1cm;
+ $=image(
+ path p[];
+ %horizontale
+ p1:=(x.so*cm,0)--(x.ne*cm,0);
+ %verticale
+ p2:=(0,y.so*cm)--(0,y.ne*cm);
+ %grille millimétrique
+ pickup pencircle scaled 0.2;
+ %horizontales
+ for j:=y.so step 0.1 until y.ne:
+ draw p1 shifted (0,j*cm);
+ endfor;
+ %verticales
+ for j:=x.so step 0.1 until x.ne :
+ draw p2 shifted (j*cm,0);
+ endfor;
+ %grille demi-centimétrique
+ pickup pencircle scaled 0.5;
+ %horizontales
+ for j:=y.so step 0.5 until y.ne:
+ draw p1 shifted (0,j*cm);
+ endfor;
+ %verticales
+ for j:=x.so step 0.5 until x.ne :
+ draw p2 shifted (j*cm,0);
+ endfor;
+ %grille centimétrique
+ pickup pencircle scaled 0.7;
+ %horizontales
+ for j:=y.so step 1 until y.ne:
+ draw p1 shifted (0,j*cm);
+ endfor;
+ %verticales
+ for j:=x.so step 1 until x.ne :
+ draw p2 shifted (j*cm,0);
+ endfor;
+ %grille penta-centimétrique
+ pickup pencircle scaled 1;
+ %horizontales
+ for j:=y.so step 5 until y.ne:
+ draw p1 shifted (0,j*cm);
+ endfor;
+ %verticales
+ for j:=x.so step 5 until x.ne :
+ draw p2 shifted (j*cm,0);
+ endfor;
+ );
+ $
+enddef;
+
+vardef Pointe(text t)=
+ for p_=t: if pair p_:
+ fill fullcircle scaled 1mm shifted p_;
+ fi;
+ endfor;
+enddef;
+
+vardef papiercahier=
+ save $;
+ orig:=false;
+ picture $;
+ x.u:=8mm;
+ y.u:=8mm;
+ quad.u:=8mm;
+ $=image(
+ path p[];
+ %horizontale
+p1:=(x.so*cm,0)--(x.ne*cm,0);
+ %verticale
+p2:=(0,y.so*cm)--(0,y.ne*cm);
+ %grille 2-millimétrique
+ pickup pencircle scaled 0.5;
+ %lignes horizontales
+ for i:=y.ne step -0.2 until y.so:
+ draw p1 shifted (0,i*cm);
+ endfor;
+ %grille 8-millimétrique
+ pickup pencircle scaled 1bp;
+ %lignes horizontales
+ for i:=y.ne step -0.8 until y.so:
+ draw p1 shifted (0,i*cm);
+ endfor;
+ %lignes verticales
+ for i:=x.so step 0.8 until (x.ne+1):
+ draw p2 shifted (i*cm,0);
+ endfor;
+ );
+ $
+enddef;
+
+vardef papierdeuxlignes=
+ save $;
+ orig:=false;
+ picture $;
+ x.u:=8mm;
+ y.u:=6mm;
+ $=image(
+ path p[];
+ %horizontale
+ p1:=(x.so*cm,0)--(x.ne*cm,0);
+ %grille 2-millimétrique
+ pickup pencircle scaled 0.5;
+ %lignes horizontales
+ for i:=y.so+0.2 step 0.6 until y.ne:
+ draw p1 shifted (0,i*cm);
+ endfor;
+ %grille 8-millimétrique
+ pickup pencircle scaled 1;
+ %lignes horizontales
+ for i:=y.so step 0.6 until y.ne:
+ draw p1 shifted (0,i*cm);
+ endfor;
+ );
+ $
+enddef;
+
+vardef papierpointe=
+ save $;
+ picture $;
+ orig:=false;
+ x.u:=5mm;
+ y.u:=5mm;
+ quadu:=5mm;
+ $=image(
+ for i:=0 upto 2*(xpart(retrouvecoord(z.ne*cm))-xpart(retrouvecoord(z.so*cm))):
+ for j:=0 upto 2*(ypart(retrouvecoord(z.ne*cm))-ypart(retrouvecoord(z.so*cm))):
+ fill ((fullcircle scaled 1bp shifted(z.so*cm)) shifted ((i/2,j/2)*cm));
+ endfor
+ endfor;
+ );
+ $
+enddef;
+
+vardef papiertriangle=
+ save $;
+ orig:=false;
+ if uni=false:
+ x.u:=1cm;
+ y.u:=(sqrt(3)/2)*cm;
+ fi;
+ picture $;
+ $=image(
+ path p[];
+ %triangle haut
+ %p1:=(x.so*cm,0)--(x.so*cm+1cm,0)--((x.so*cm,0) rotatedabout((x.so*cm+1cm,0),-60))--cycle;
+ p1:=(x.so*cm,0)--(x.so*cm+x.u,0)--((x.so*cm,0) rotatedabout((x.so*cm+x.u,0),-60))--cycle;
+ %triangle bas
+ %p2:=((x.so*cm,0)--(x.so*cm+1cm,0)--((x.so*cm,0) rotatedabout((x.so*cm+1cm,0),60))--cycle) shifted (-0.5cm,((sqrt3)/2)*cm);
+ p2:=((x.so*cm,0)--(x.so*cm+x.u,0)--((x.so*cm,0) rotatedabout((x.so*cm+x.u,0),60))--cycle) shifted (-x.u/2,y.u);
+ %grille horizontale1
+ pickup pencircle scaled 0.5;
+ numeric etag;
+ etag=floor(2*cm*(ypart(retrouvecoord(z.ne*cm))-ypart(retrouvecoord(z.so*cm)))/(y.u))+1;
+ for i:=0 step 2 until etag:
+ for j:=0 upto (xpart(retrouvecoord(z.ne*cm))-xpart(retrouvecoord(z.so*cm))):
+ draw p1 shifted (j*x.u,i*y.u);
+ draw p2 shifted (j*x.u,i*y.u);
+ endfor
+ endfor;
+ %grille horizontale 2
+ pickup pencircle scaled 0.5;
+ for i:=1 step 2 until etag:
+ for j:=0 upto (xpart(retrouvecoord(z.ne*cm))-xpart(retrouvecoord(z.so*cm))):
+ draw p1 shifted ((j-1/2)*x.u,i*y.u);
+ draw p2 shifted ((j+1/2)*x.u,i*y.u);
+ endfor
+ endfor;
+ );
+ $
+enddef;
+
+vardef papiertrianglepointe=
+ save $;
+ orig:=false;
+ if uni=false:
+ x.u:=1cm;
+ y.u:=(sqrt(3)/2)*cm;
+ fi;
+ picture $;
+ $=image(
+ pickup pencircle scaled 0.5;
+ numeric etag;
+ etag=floor(2*cm*(ypart(retrouvecoord(z.ne*cm))-ypart(retrouvecoord(z.so*cm)))/(y.u))+1;
+ for i:=0 step 2 until etag:
+ for j:=0 upto (xpart(retrouvecoord(z.ne*cm))-xpart(retrouvecoord(z.so*cm))):
+ fill (fullcircle scaled 1bp shifted(z.so*cm)) shifted (j*x.u,i*y.u);
+ endfor
+ endfor;
+ for i:=1 step 2 until etag:
+ for j:=0 upto (xpart(retrouvecoord(z.ne*cm))-xpart(retrouvecoord(z.so*cm))):
+ fill (fullcircle scaled 1bp shifted(z.so*cm)) shifted ((j-1/2)*x.u,i*y.u);
+ endfor
+ endfor;
+ );
+ $
+enddef;
+
+vardef papierisometriquepointe=
+ save $;
+ orig:=false;
+ y.u:=1cm;
+ x.u:=(sqrt(3)/2)*cm;
+ picture $;
+ $=image(
+ %grille horizontale1
+ pickup pencircle scaled 0.5;
+ for i:=0 step 1 until (ypart(retrouvecoord(z.ne*cm))-ypart(retrouvecoord(z.so*cm))):
+ for j:=0 step 2 until (xpart(retrouvecoord(z.ne*cm))-xpart(retrouvecoord(z.so*cm))+2):
+ fill (fullcircle scaled 1bp shifted (z.so*cm)) shifted (j*((sqrt3)/2)*cm,i*cm);
+ endfor
+ endfor;
+ %grille horizontale 2
+ for i:=0 step 1 until (ypart(retrouvecoord(z.ne*cm))-ypart(retrouvecoord(z.so*cm))-1):
+ for j:=1 step 2 until (xpart(retrouvecoord(z.ne*cm))-xpart(retrouvecoord(z.so*cm))+1):
+ fill (fullcircle scaled 1bp shifted (z.so*cm)) shifted (j*((sqrt3)/2)*cm,(i+0.5)*cm);
+ endfor
+ endfor;
+ );
+ $
+enddef;
+
+vardef papierisometrique=
+ save $;
+ orig:=false;
+ x.u:=(sqrt(3)/2)*cm;
+ y.u:=1cm;
+ picture $;
+ $=image(
+ path p[];
+ %triangle haut
+ p1:=(x.so*cm,1cm)--((x.so*cm,0) rotatedabout((x.so*cm,1cm),60))--(x.so*cm,0);
+ %triangle bas
+ p2:=((x.so*cm,1cm)--((x.so*cm,0) rotatedabout((x.so*cm,1cm),-60))--(x.so*cm,0)) shifted (((sqrt3)/2)*cm,0);
+ %grille horizontale1
+ pickup pencircle scaled 0.5;
+ for i:=0 step 2 until (xpart(retrouvecoord(z.ne*cm))-xpart(retrouvecoord(z.so*cm))):
+ for j:=0 upto (ypart(retrouvecoord(z.ne*cm))-ypart(retrouvecoord(z.so*cm))-1):
+ draw p1 shifted (i*((sqrt3)/2)*cm,j*cm);
+ draw p2 shifted ((i+1)*((sqrt3)/2)*cm,j*cm);
+ endfor
+ endfor;
+ );
+ $
+enddef;
+
+vardef papierhexagonal=
+ save $;
+ picture $;
+ orig:=false;
+ path hexa;
+ %hexagone de départ
+ hexa:=z.so*cm--(x.so*cm+1cm,y.so*cm)--(z.so*cm rotatedabout((x.so*cm+1cm,y.so*cm),-120))--((x.so*cm+1cm,y.so*cm) rotatedabout((z.so*cm rotatedabout((x.so*cm+1cm,y.so*cm),-120)),-120))--((z.so*cm rotatedabout((x.so*cm+1cm,y.so*cm),-120)) rotatedabout(((x.so*cm+1cm,y.so*cm) rotatedabout((z.so*cm rotatedabout((x.so*cm+1cm,y.so*cm),-120)),-120)),-120))--(((x.so*cm+1cm,y.so*cm) rotatedabout((z.so*cm rotatedabout((x.so*cm+1cm,y.so*cm),-120)),-120)) rotatedabout(((z.so*cm rotatedabout((x.so*cm+1cm,y.so*cm),-120)) rotatedabout(((x.so*cm+1cm,y.so*cm) rotatedabout((z.so*cm rotatedabout((x.so*cm+1cm,y.so*cm),-120)),-120)),-120)),-120))--cycle;
+ $=image(
+ pair centrehexa;
+ centrehexa=1/2[z.so*cm,((x.so*cm+1cm,y.so*cm) rotatedabout((z.so*cm rotatedabout((x.so*cm+1cm,y.so*cm),-120)),-120))];
+ pickup pencircle scaled 0.5;
+ numeric etag;
+ etag=floor((abs(y.ne*cm-y.so*cm))/((sqrt(3)/2)*cm));
+ for i:=0 step 3 until (abs(x.ne*cm-x.so*cm)/1cm):
+ for j:=0 step 2 until etag:
+ draw hexa shifted ((i+0.5)*cm,j*((sqrt 3)/2)*cm);
+ draw hexa shifted ((i+2)*cm,(j+1)*((sqrt 3)/2)*cm);
+ endfor
+ endfor;
+ );
+ $
+enddef;
+
endinput;
diff --git a/macros/latex/contrib/profcollege/metapost/PfCScratch.mp b/macros/latex/contrib/profcollege/metapost/PfCScratch.mp
index 10a8972ef8..3c6826777a 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCScratch.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCScratch.mp
@@ -1858,7 +1858,7 @@ vardef Sinon=
drawoptions();
texto=image(
labeloffset:=0;
- label.lrt(TEX("\barre\,\hbox to"&decimal(LongRep[numblocrep])&"pt{}"),if unknown _coinprec: (0,0) else:_coinprec fi) if print=false : withcolor blanc fi;
+ label.lrt(TEX("\longbarre\,\hbox to"&decimal(LongRep[numblocrep])&"pt{}"),if unknown _coinprec: (0,0) else:_coinprec fi) if print=false : withcolor blanc fi;
labeloffset:=3;
);
path cadre;
diff --git a/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp b/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
index f3acd75d3d..f0ef36f1e0 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
@@ -1885,7 +1885,7 @@ vardef Sinon=
drawoptions();
texto=image(
labeloffset:=0;
- label.lrt(LATEXSCRATCH("\, \hbox to"&decimal(LongRep[numblocrep])&"pt{\bfseries\barre sinon}"),if unknown _coinprec: (0,0) else:_coinprec fi) if print=false : withcolor blanc fi;
+ label.lrt(LATEXSCRATCH("\, \hbox to"&decimal(LongRep[numblocrep])&"pt{\bfseries\longbarre sinon}"),if unknown _coinprec: (0,0) else:_coinprec fi) if print=false : withcolor blanc fi;
labeloffset:=3;
);
path cadre;
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index fe99aadd7a..3fef1b87f7 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,16 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.2.2] - 2023-03-04
+
+### Fixed
+- Value of uncertainty around decimal marker when rounding
+ to `10` (see issues
+ [\#644](https://github.com/josephwright/siunitx/issues/644)
+ and [\#646](https://github.com/josephwright/siunitx/issues/646))
+- Exponent format output when rounding to an uncertainty (see issue
+ [\#645](https://github.com/josephwright/siunitx/issues/645))
+
## [v3.2.1] - 2023-02-21
### Fixed
@@ -1866,7 +1876,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.2.1...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.2.2...HEAD
+[v3.2.2]: https://github.com/josephwright/siunitx/compare/v3.2.1...v3.2.2
[v3.2.1]: https://github.com/josephwright/siunitx/compare/v3.2.0...v3.2.1
[v3.2.0]: https://github.com/josephwright/siunitx/compare/v3.1.11...v3.2.0
[v3.1.11]: https://github.com/josephwright/siunitx/compare/v3.1.10...v3.1.11
diff --git a/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx b/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
index 11ebc290cb..152f56608a 100644
--- a/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-abbreviation.dtx Copyright (C) 2018,2019,2021,2022 Joseph Wright
+% File: siunitx-abbreviation.dtx Copyright (C) 2018,2019,2021-2023 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
\usepackage{siunitx}
@@ -47,8 +49,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-angle.dtx b/macros/latex/contrib/siunitx/siunitx-angle.dtx
index ac1c19638c..866fae193f 100644
--- a/macros/latex/contrib/siunitx/siunitx-angle.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-angle.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-angle.dtx Copyright (C) 2016-2019,2021,2022 Joseph Wright
+% File: siunitx-angle.dtx Copyright (C) 2016-2019,2021-2023 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -48,8 +50,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-binary.dtx b/macros/latex/contrib/siunitx/siunitx-binary.dtx
index f3e3afff3e..bcb643808e 100644
--- a/macros/latex/contrib/siunitx/siunitx-binary.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-binary.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-binary.dtx Copyright (C) 2021 Joseph Wright
+% File: siunitx-binary.dtx Copyright (C) 2021,2023 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
\usepackage{siunitx}
@@ -47,8 +49,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 7f915ef16f..b6daad35bc 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-code.tex b/macros/latex/contrib/siunitx/siunitx-code.tex
index a4c3978310..a0a4319e23 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.tex
+++ b/macros/latex/contrib/siunitx/siunitx-code.tex
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File: siunitx-code.tex Copyright (C) 2016-2022 Joseph Wright
+File: siunitx-code.tex Copyright (C) 2016-2023 Joseph Wright
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -47,6 +47,7 @@ for those people who are interested.
}
\makeatother
\ExplSyntaxOff
+\NewDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\NewDocumentCommand\foreign{m}{\textit{#1}}
% Standard settings
@@ -67,8 +68,7 @@ for those people who are interested.
Joseph Wright%
\thanks{%
E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {joseph.wright@morningstar2.co.uk}%
+ \email{joseph.wright@morningstar2.co.uk}%
}%
}
diff --git a/macros/latex/contrib/siunitx/siunitx-command.dtx b/macros/latex/contrib/siunitx/siunitx-command.dtx
index 354ab3734c..a862676ade 100644
--- a/macros/latex/contrib/siunitx/siunitx-command.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-command.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-command.dtx Copyright (C) 2019,2021 Joseph Wright
+% File: siunitx-command.dtx Copyright (C) 2019,2021,2023 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -48,8 +50,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-complex.dtx b/macros/latex/contrib/siunitx/siunitx-complex.dtx
index 8303c9f302..fe23598950 100644
--- a/macros/latex/contrib/siunitx/siunitx-complex.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-complex.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-complex.dtx Copyright (C) 2021,2022 Joseph Wright
+% File: siunitx-complex.dtx Copyright (C) 2021-2023 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -48,8 +50,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-compound.dtx b/macros/latex/contrib/siunitx/siunitx-compound.dtx
index a11121a4ac..c4d2248845 100644
--- a/macros/latex/contrib/siunitx/siunitx-compound.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-compound.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-compound.dtx Copyright (C) 2018-2021 Joseph Wright
+% File: siunitx-compound.dtx Copyright (C) 2018-2021,2023 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -48,8 +50,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-emulation.dtx b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
index 65db65b664..9cb54d21c2 100644
--- a/macros/latex/contrib/siunitx/siunitx-emulation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
\usepackage{siunitx}
@@ -47,8 +49,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-locale.dtx b/macros/latex/contrib/siunitx/siunitx-locale.dtx
index cbf3ec14a0..6a0aa3ffea 100644
--- a/macros/latex/contrib/siunitx/siunitx-locale.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-locale.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-locale.dtx Copyright (C) 2020-2022 Joseph Wright
+% File: siunitx-locale.dtx Copyright (C) 2020-2023 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
\usepackage{siunitx}
@@ -47,8 +49,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index f4d44ea5cc..8df5670c25 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -48,8 +50,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
@@ -3160,18 +3161,20 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_round_uncertainty:nnnnnnn}
-% \begin{macro}[EXP]{\@@_round_uncertainty_end:nn}
% \begin{macro}[EXP]{\@@_round_uncertainty:nnn}
% \begin{macro}[EXP]{\@@_round_uncertainty:nnnn}
% \begin{macro}[EXP]{\@@_round_uncertainty:nnnnnn}
% \begin{macro}[EXP]
% {
-% \@@_round_uncertainty_simple:nnnnnn ,
-% \@@_round_uncertainty_shift:nnnnnn
+% \@@_round_uncertainty_auxi:nnnnn ,
+% \@@_round_uncertainty_auxii:nnnnn
% }
-% \begin{macro}[EXP]{\@@_round_uncertainty_shift:nn}
-% \begin{macro}[EXP]{\@@_round_uncertainty_shift:nnnw}
-% \begin{macro}[EXP]{\@@_round_uncertainty_shift_aux:nnnnn}
+% \begin{macro}[EXP]{\@@_round_uncertainty_auxiii:nnnnnnn}
+% \begin{macro}[EXP]{\@@_round_uncertainty_zeros:nnnn}
+% \begin{macro}[EXP]{\@@_round_uncertainty_auxiv:nnnnnnN}
+% \begin{macro}[EXP]{\@@_round_uncertainty_auxv:nnnN}
+% \begin{macro}[EXP]{\@@_round_uncertainty_auxvi:nn}
+% \begin{macro}[EXP]{\@@_round_uncertainty_auxvii:nnNnnn}
% \begin{macro}[EXP]
% {
% \@@_round_uncertainty_engineering:nnn ,
@@ -3202,13 +3205,11 @@
\exp_not:n { {#1} {#2} }
\exp_args:Nnno \@@_round_uncertainty:nnn
{#3} {#4} { \use_ii:nn #5 }
- \@@_round_uncertainty_end:nn {#6} {#7}
+ {#6} {#7}
}
{ \exp_not:n { {#1} {#2} {#3} {#4} {#5} {#6} {#7} } }
}
}
-\cs_new:Npn \@@_round_uncertainty_end:nn #1#2
- { \exp_not:n { {#1} {#2} } }
% \end{macrocode}
% Round the uncertainty first: this is needed to get the number of places
% correct. Once that is done, it's just a question of working out the digits
@@ -3233,123 +3234,142 @@
}
}
% \end{macrocode}
-% Here, we need to work out how many digits to zero-fill the uncertainty, for
-% the case where it crosses into the integer part. This depends on whether
-% the uncertainty rounded up, which also links to additional treatment. We
-% therefore split paths here.
+% The number of digits to remove from the main part and the detail of
+% zero filling depends on whether we rounded up the uncertainty. So there
+% is a split here.
% \begin{macrocode}
\cs_new:Npn \@@_round_uncertainty:nnnnnn #1#2#3#4#5#6
{
\tl_if_blank:nTF {#1}
- {
- \exp_args:Nf \@@_round_uncertainty_simple:nnnnn
- {
- \prg_replicate:nn
- {
- \int_max:nn
- {
- \tl_if_blank:nTF {#4}
- { #5 }
- { ( \tl_count:n {#6} - \tl_count:n {#4} ) - \tl_count:n {#2} }
- }
- { 0 }
- }
- { 0 }
- }
- {#3} {#4} {#2} {#5}
- }
- { \@@_round_uncertainty_shift:nnnnn {#3} {#4} {#1} {#2} {#5} }
-
+ { \@@_round_uncertainty_auxi:nnnnn }
+ { \@@_round_uncertainty_auxii:nnnnn }
+ {#2} {#3} {#4} {#5} {#6}
}
% \end{macrocode}
-% The simple case: round and pad out the uncertainty as required.
+% The simple case: just round to the same number of digits and do zero
+% filling.
% \begin{macrocode}
-\cs_new:Npn \@@_round_uncertainty_simple:nnnnn #1#2#3#4#5
+\cs_new:Npn \@@_round_uncertainty_auxi:nnnnn #1#2#3#4#5
{
- \@@_round:nnn
- {#5}
- {#2} {#3}
- { { S } { #4 #1 } }
+ \exp_args:Nf \@@_round_uncertainty_auxiv:nnnnnnN
+ { \@@_round_uncertainty_zeros:nnnn {#1} {#3} {#4} {#5} }
+ {#4}
+ {#2} {#3} {#1} { }
+ \@@_round_uncertainty_auxvi:nn
}
% \end{macrocode}
+% When the uncertainty rounds up, zero filling is dependent on whether we
+% cross the boundary for the integer part.
% \begin{macrocode}
-\cs_new:Npn \@@_round_uncertainty_shift:nnnnn #1#2#3#4#5
+\cs_new:Npn \@@_round_uncertainty_auxii:nnnnn #1#2#3#4#5
{
- \exp_args:Ne \@@_round_uncertainty_shift:nn
- { \@@_round:fnn { \int_eval:n { #5 + 1 } } {#1} {#2} }
- {#5}
+ \exp_args:Nff \@@_round_uncertainty_auxiii:nnnnnnn
+ { \tl_count:n {#5} }
+ { \tl_count:n {#3} }
+ {#1} {#2} {#3} {#4} {#5}
}
-% \end{macrocode}
-% If the padding length is the same as the number of integer digits, then
-% we have a pathological case and need to filter out. They show up as they
-% have the either the precision greater than the length of the integer
-% part, or have a value of exactly $10$ when the exponent mode is
-% scientific. The latter test has to deal with an exponent threshold too:
-% there we are looking for cases where the threshold will have forced
-% scientific presentation.
-% \begin{macrocode}
-\cs_new:Npn \@@_round_uncertainty_shift:nn #1#2
- { \@@_round_uncertainty_shift:nnnw #1 {#2} }
-\cs_new:Npn \@@_round_uncertainty_shift:nnnw
- #1#2#3 #4 \@@_round_uncertainty_end:nn #5#6
+\cs_new:Npn \@@_round_uncertainty_auxiii:nnnnnnn #1#2#3#4#5#6#7
{
- #4
- \bool_lazy_and:nnTF
- { \int_compare_p:nNn {#3} > { \tl_count:n {#1} } }
+ \int_compare:nNnTF {#1} < { #2 + 1 }
{
- ! \bool_lazy_and_p:nn
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn \l_@@_round_precision_int = 2 }
+ { \int_compare_p:nNn {#1} = {#2} }
{
- \bool_lazy_or_p:nn
- { \str_if_eq_p:Vn \l_@@_exponent_mode_tl { scientific } }
- {
- \bool_lazy_and_p:nn
- { \str_if_eq_p:Vn \l_@@_exponent_mode_tl { threshold } }
- {
- ! \bool_lazy_or_p:nn
- {
- \int_compare_p:nNn {#5#6} >
- \l_@@_lower_threshold_int
- }
- {
- \int_compare_p:nNn {#5#6} <
- \l_@@_upper_threshold_int
- }
- }
- }
+ \exp_args:Nnf \@@_round_uncertainty_auxiv:nnnnnnN
+ { 0 }
}
- { \str_if_eq_p:nn { #1.#2 } { 10. } }
+ {
+ \exp_args:Nnf \@@_round_uncertainty_auxiv:nnnnnnN
+ { }
+ }
+ { \int_eval:n { #6 + 1 } }
+ {#4} {#5} { 1 } { }
+ \@@_round_uncertainty_auxvii:nnNnnn
}
{
- \exp_args:Nf \@@_round_uncertainty_shift_aux:nnnnn
+ \exp_args:Nff \@@_round_uncertainty_auxiv:nnnnnnN
+ { \@@_round_uncertainty_zeros:nnnn {#3} {#5} {#6} {#7} }
+ { \int_eval:n { #6 + 1 } }
+ {#4} {#5} { 1 } {#3}
+ \@@_round_uncertainty_auxvii:nnNnnn
+ }
+ }
+\cs_new:Npn \@@_round_uncertainty_zeros:nnnn #1#2#3#4
+ {
+ \prg_replicate:nn
+ {
+ \int_max:nn
{
- \prg_replicate:nn
+ \tl_if_blank:nTF {#2}
+ { #3 }
{
- \tl_if_blank:nTF {#2}
- { \int_min:nn {#3} { \tl_count:n {#1} - 1 } }
- { 0 }
+ ( \tl_count:n {#4} - \tl_count:n {#2} )
+ - \tl_count:n {#1}
}
- { 0 }
}
- {#1} {#2}
+ { 0 }
}
+ { 0 }
+ }
+% \end{macrocode}
+% Back together for the business end. If there has been a shift, we may need
+% to tidy up.
+% \begin{macrocode}
+\cs_new:Npn \@@_round_uncertainty_auxiv:nnnnnnN #1#2#3#4#5#6#7
+ {
+ \use:e
{
- \use:c
- { @@_round_uncertainty_ \l_@@_exponent_mode_tl :nnn }
- {#1}
+ \exp_not:N \@@_round_uncertainty_auxv:nnnN
+ \@@_round:nnn {#2} {#3} {#4}
}
- {#5} {#6}
+ {#3} #7
+ \@@_round_end:nnn { { S } { #5#6 #1 } }
}
-\cs_new:Npn \@@_round_uncertainty_shift_aux:nnnnn #1#2#3#4#5
+\cs_new:Npn \@@_round_uncertainty_auxv:nnnN #1#2#3#4
{
- \use:c
- { @@_round_ \l_@@_exponent_mode_tl :nn }
- {#2} {#3}
- \@@_round_end:nnn { { S } { 1 #1 } } {#4} {#5}
+ \int_compare:nNnT { \tl_count:n {#1} } > { \tl_count:n {#3} }
+ { #4 }
+ {#1} {#2}
}
+\cs_new:Npn \@@_round_uncertainty_auxvi:nn #1#2
+ { \use:c { @@_round_ \l_@@_exponent_mode_tl :nn } {#1} {#2} }
% \end{macrocode}
-% With the data available, adjust the output such that the uncertainty
-% is of the right length.
+% If there was a rounding up in the uncertainty, there is a bit more to do.
% \begin{macrocode}
+\cs_new:Npn \@@_round_uncertainty_auxvii:nnNnnn #1#2#3#4#5#6
+ {
+ \bool_lazy_any:nTF
+ {
+ { \str_if_eq_p:Vn \l_@@_exponent_mode_tl { engineering } }
+ { \str_if_eq_p:Vn \l_@@_exponent_mode_tl { scientific } }
+ {
+ \bool_lazy_and_p:nn
+ { \str_if_eq_p:Vn \l_@@_exponent_mode_tl { threshold } }
+ {
+ ! \bool_lazy_or_p:nn
+ {
+ \int_compare_p:nNn {#5#6} >
+ \l_@@_lower_threshold_int
+ }
+ {
+ \int_compare_p:nNn {#5#6} <
+ \l_@@_upper_threshold_int
+ }
+ }
+ }
+ }
+ {
+ \use:c
+ { @@_round_uncertainty_ \l_@@_exponent_mode_tl :nnn }
+ {#1}
+ }
+ {
+ \@@_round_uncertainty_auxvi:nn {#1} {#2}
+ \@@_round_end:nnn {#4}
+ }
+ {#5} {#6}
+ }
\cs_new:Npn \@@_round_uncertainty_engineering:nnn #1#2#3
{
\use:c
@@ -3413,6 +3433,8 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_zero_decimal:NN}
% \begin{macro}[EXP]{\@@_zero_decimal:nnnnnnn}
diff --git a/macros/latex/contrib/siunitx/siunitx-print.dtx b/macros/latex/contrib/siunitx/siunitx-print.dtx
index d02eefdf51..236cbbab80 100644
--- a/macros/latex/contrib/siunitx/siunitx-print.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-print.dtx
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -48,8 +50,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-quantity.dtx b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
index b7e6352bdd..e16f6ffa8b 100644
--- a/macros/latex/contrib/siunitx/siunitx-quantity.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -48,8 +50,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-symbol.dtx b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
index 6d55931ce7..2a359b5fe0 100644
--- a/macros/latex/contrib/siunitx/siunitx-symbol.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
\usepackage{siunitx}
@@ -47,8 +49,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index 10b9b9a7cd..4b7cd9ea9f 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-table.dtx Copyright (C) 2016-2019,2021,2022 Joseph Wright
+% File: siunitx-table.dtx Copyright (C) 2016-2019,2021-2023 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -48,8 +50,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx-unit.dtx b/macros/latex/contrib/siunitx/siunitx-unit.dtx
index 3b2defb6ea..eccc0349bb 100644
--- a/macros/latex/contrib/siunitx/siunitx-unit.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-unit.dtx
@@ -26,6 +26,7 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
\ExplSyntaxOn
\makeatletter
\NewDocumentCommand \acro { m }
@@ -40,6 +41,7 @@
}
\makeatother
\ExplSyntaxOff
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
\ProvideDocumentCommand\foreign{m}{\textit{#1}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
@@ -62,8 +64,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 1d1d08e457..047da57d55 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -26,6 +26,8 @@
%
%<*driver>
\documentclass{l3doc}
+% Additional commands needed in this source
+\ProvideDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
% The next line is needed so that \GetFileInfo will be able to pick up
% version data
\usepackage{siunitx}
@@ -47,8 +49,7 @@
% Joseph Wright^^A
% \thanks{^^A
% E-mail:
-% \href{mailto:joseph.wright@morningstar2.co.uk}
-% {joseph.wright@morningstar2.co.uk}^^A
+% \email{joseph.wright@morningstar2.co.uk}^^A
% }^^A
% }
%
@@ -121,7 +122,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2023-02-21} {3.2.1}
+\ProvidesExplPackage {siunitx} {2023-03-04} {3.2.2}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index ee58cd5ff2..aba22033ac 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.tex b/macros/latex/contrib/siunitx/siunitx.tex
index 63e7f86861..ad9b137015 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -200,8 +200,7 @@ for those people who are interested.
Joseph Wright%
\thanks{%
E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {joseph.wright@morningstar2.co.uk}%
+ \email{joseph.wright@morningstar2.co.uk}%
}%
}
diff --git a/macros/texinfo/latest/texinfo.tex b/macros/texinfo/latest/texinfo.tex
index b4caf96e08..2f11da59fb 100644
--- a/macros/texinfo/latest/texinfo.tex
+++ b/macros/texinfo/latest/texinfo.tex
@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2023-01-02.21}
+\def\texinfoversion{2023-03-04.12}
%
% Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
%
@@ -2683,25 +2683,21 @@ end
}
\setregularquotes
-% Allow an option to not use regular directed right quote/apostrophe
-% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
-% The undirected quote is ugly, so don't make it the default, but it
-% works for pasting with more pdf viewers (at least evince), the
-% lilypond developers report. xpdf does work with the regular 0x27.
+% output for ' in @code
+% in tt font hex 0D (undirected) or 27 (curly right quote)
%
\def\codequoteright{%
\ifusingtt
{\ifflagclear{txicodequoteundirected}%
{\ifflagclear{codequoteundirected}%
{'}%
- {\char'15 }}%
- {\char'15 }}%
+ {\char"0D }}%
+ {\char"0D }}%
{'}%
}
-% and a similar option for the left quote char vs. a grave accent.
-% Modern fonts display ASCII 0x60 as a grave accent, so some people like
-% the code environments to do likewise.
+% output for ` in @code
+% in tt font hex 12 (grave accent) or 60 (curly left quote)
% \relax disables Spanish ligatures ?` and !` of \tt font.
%
\def\codequoteleft{%
@@ -2709,8 +2705,8 @@ end
{\ifflagclear{txicodequotebacktick}%
{\ifflagclear{codequotebacktick}%
{\relax`}%
- {\char'22 }}%
- {\char'22 }}%
+ {\char"12 }}%
+ {\char"12 }}%
{\relax`}%
}
@@ -2729,7 +2725,7 @@ end
\errmessage{Unknown @codequoteundirected value `\temp', must be on|off}%
\fi\fi
}
-%
+
\parseargdef\codequotebacktick{%
\def\temp{#1}%
\ifx\temp\onword
@@ -2744,6 +2740,11 @@ end
\fi\fi
}
+% Turn them on by default
+\let\SETtxicodequoteundirected = t
+\let\SETtxicodequotebacktick = t
+
+
% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
\def\noligaturesquoteleft{\relax\lq}
@@ -2929,10 +2930,6 @@ end
\let-\dashnobreak
\let_\realunder
\fi
- % Given -foo (with a single dash), we do not want to allow a break
- % after the hyphen.
- \global\let\codedashprev=\codedash
- %
\codex
}
%
@@ -2942,21 +2939,30 @@ end
%
% Now, output a discretionary to allow a line break, unless
% (a) the next character is a -, or
- % (b) the preceding character is a -.
+ % (b) the preceding character is a -, or
+ % (c) we are at the start of the string.
+ % In both cases (b) and (c), \codedashnobreak should be set to \codedash.
+ %
% E.g., given --posix, we do not want to allow a break after either -.
% Given --foo-bar, we do want to allow a break between the - and the b.
\ifx\next\codedash \else
- \ifx\codedashprev\codedash
+ \ifx\codedashnobreak\codedash
\else \discretionary{}{}{}\fi
\fi
% we need the space after the = for the case when \next itself is a
% space token; it would get swallowed otherwise. As in @code{- a}.
- \global\let\codedashprev= \next
+ \global\let\codedashnobreak= \next
}
}
\def\normaldash{-}
%
-\def\codex #1{\tclose{#1}\endgroup}
+\def\codex #1{\tclose{%
+ % Given -foo (with a single dash), we do not want to allow a break
+ % after the -. \codedashnobreak is set to the first character in
+ % @code.
+ \futurelet\codedashnobreak\relax
+ #1%
+}\endgroup}
\def\codeunder{%
% this is all so @math{@code{var_name}+1} can work. In math mode, _
@@ -3950,33 +3956,23 @@ $$%
\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting
-% When we turn headings on, set the page number to 1.
+% Set the page number to 1.
\def\pageone{
\global\pageno=1
\global\arabiccount = \pagecount
}
-% For double-sided printing, put current file name in lower left corner,
-% chapter name on inside top of right hand pages, document
-% title on inside top of left hand pages, and page numbers on outside top
-% edge of all pages.
-\def\HEADINGSdouble{%
-\pageone
-\HEADINGSdoublex
-}
\let\contentsalignmacro = \chappager
-% For single-sided printing, chapter title goes across top left of page,
-% page number on top right.
-\def\HEADINGSsingle{%
-\pageone
-\HEADINGSsinglex
-}
% \def\HEADINGSon{\HEADINGSdouble} % defined by \CHAPPAGon
-\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
+% For double-sided printing, put current file name in lower left corner,
+% chapter name on inside top of right hand pages, document
+% title on inside top of left hand pages, and page numbers on outside top
+% edge of all pages.
+\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdouble}
\let\HEADINGSdoubleafter=\HEADINGSafter
-\def\HEADINGSdoublex{%
+\def\HEADINGSdouble{%
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
@@ -3986,8 +3982,10 @@ $$%
\global\let\contentsalignmacro = \chapoddpage
}
-\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-\def\HEADINGSsinglex{%
+% For single-sided printing, chapter title goes across top left of page,
+% page number on top right.
+\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsingle}
+\def\HEADINGSsingle{%
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\thischapter\hfil\folio}}
@@ -3999,7 +3997,6 @@ $$%
% for @setchapternewpage off
\def\HEADINGSsinglechapoff{%
-\pageone
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\thischapter\hfil\folio}}
@@ -4105,6 +4102,7 @@ $$%
\nobreak\kern\dimen0
\endgroup
\itemxneedsnegativevskiptrue
+ \penalty 10021 % for \indexpar
\fi
}
@@ -4221,6 +4219,7 @@ $$%
% We can be in inner vertical mode in a footnote, although an
% @itemize looks awful there.
}%
+ \penalty 10021 % for \indexpar
\flushcr
}
@@ -4725,13 +4724,11 @@ $$%
% except not \outer, so it can be used within macros and \if's.
\edef\newwrite{\makecsname{ptexnewwrite}}
-% \newindex {foo} defines an index named IX.
+% \newindex {IX} defines an index named IX.
% It automatically defines \IXindex such that
% \IXindex ...rest of line... puts an entry in the index IX.
% It also defines \IXindfile to be the number of the output channel for
% the file that accumulates this index. The file's extension is IX.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
%
\def\newindex#1{%
\expandafter\chardef\csname#1indfile\endcsname=0
@@ -4787,11 +4784,17 @@ $$%
% and it is the two-letter name of the index.
\def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx}
-\def\doindexxxx #1{\doind{\indexname}{#1}}
+\def\doindexxxx #1{\indexpar\doind{\indexname}{#1}}
% like the previous two, but they put @code around the argument.
\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
-\def\docodeindexxxx #1{\docind{\indexname}{#1}}
+\def\docodeindexxxx #1{\indexpar\docind{\indexname}{#1}}
+
+% End any open paragraph, unless we are immediately after @item in
+% @itemize or @enumerate.
+\def\indexpar{%
+\ifnum\lastpenalty=10021 \else\endgraf\fi
+}
% \definedummyword defines \#1 as \string\#1\space, thus effectively
@@ -4989,7 +4992,7 @@ $$%
\commondummyword\ampchar {\normalamp}%
\commondummyword\atchar {\@}%
\commondummyword\arrow {->}%
- \commondummyword\backslashchar {}%
+ \commondummyword\backslashchar {\realbackslash}%
\commondummyword\bullet {bullet}%
\commondummyword\comma {,}%
\commondummyword\copyright {copyright}%
@@ -5089,9 +5092,6 @@ $$%
%
% We need to get rid of all macros, leaving only the arguments (if present).
% Of course this is not nearly correct, but it is the best we can do for now.
- % makeinfo does not expand macros in the argument to @deffn, which ends up
- % writing an index entry, and texindex isn't prepared for an index sort entry
- % that starts with \.
%
% Since macro invocations are followed by braces, we can just redefine them
% to take a single TeX argument. The case of a macro invocation that
@@ -5351,7 +5351,9 @@ $$%
% ..., ready, GO:
%
\def\safewhatsit#1{\ifhmode
+ \whatsitpenalty = \lastpenalty
#1%
+ \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi
\else
% \lastskip and \lastpenalty cannot both be nonzero simultaneously.
\whatsitskip = \lastskip
@@ -7387,6 +7389,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\def\setupverb{%
\tt
\def\par{\leavevmode\endgraf}%
+ \parindent = 0pt
\setcodequotes
\tabeightspaces
% Respect line breaks,
@@ -7562,11 +7565,6 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\exdentamount=\defbodyindent
}
-\newtoks\defidx
-\newtoks\deftext
-
-\def\useindex#1{\defidx={#1}\ignorespaces}
-
% Called as \printdefunline \deffooheader{text}
%
\def\printdefunline#1#2{%
@@ -7574,10 +7572,6 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\plainfrenchspacing
% call \deffooheader:
#1#2 \endheader
- % create the index entry
- \defcharsdefault
- \edef\temp{\noexpand\doind{\the\defidx}{\the\deftext}}%
- \temp
% common ending:
\interlinepenalty = 10000
\advance\rightskip by 0pt plus 1fil\relax
@@ -7592,6 +7586,24 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\def\Edefun{\endgraf\medbreak}
+% @defblock, @defline do not automatically create index entries
+\envdef\defblock{%
+ \startdefun
+}
+\let\Edefblock\Edefun
+
+\def\defline{%
+ \doingtypefnfalse
+ \parseargusing\activeparens{\printdefunline\deflineheader}%
+}
+\def\deflineheader#1 #2 #3\endheader{%
+ \defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
+}
+\def\deftypeline{%
+ \doingtypefntrue
+ \parseargusing\activeparens{\printdefunline\deflineheader}%
+}
+
% \makedefun{deffoo} (\deffooheader parameters) { (\deffooheader expansion) }
%
% Define \deffoo, \deffoox \Edeffoo and \deffooheader.
@@ -7643,23 +7655,18 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\fi\fi
}
-\def\defind#1#2{
- \defidx={#1}%
- \deftext={#2}%
-}
-
% Untyped functions:
% @deffn category name args
\makedefun{deffn}#1 #2 #3\endheader{%
- \defind{fn}{\code{#2}}%
+ \doind{fn}{\code{#2}}%
\defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
}
% @defop category class name args
\makedefun{defop}#1 {\defopheaderx{#1\ \putwordon}}
\def\defopheaderx#1#2 #3 #4\endheader{%
- \defind{fn}{\code{#3}\space\putwordon\ \code{#2}}%
+ \doind{fn}{\code{#3}\space\putwordon\ \code{#2}}%
\defname{#1\ \code{#2}}{}{#3}\magicamp\defunargs{#4\unskip}%
}
@@ -7667,7 +7674,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @deftypefn category type name args
\makedefun{deftypefn}#1 #2 #3 #4\endheader{%
- \defind{fn}{\code{#3}}%
+ \doind{fn}{\code{#3}}%
\doingtypefntrue
\defname{#1}{#2}{#3}\defunargs{#4\unskip}%
}
@@ -7675,7 +7682,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @deftypeop category class type name args
\makedefun{deftypeop}#1 {\deftypeopheaderx{#1\ \putwordon}}
\def\deftypeopheaderx#1#2 #3 #4 #5\endheader{%
- \defind{fn}{\code{#4}\space\putwordon\ \code{#1\ \code{#2}}}%
+ \doind{fn}{\code{#4}\space\putwordon\ \code{#1\ \code{#2}}}%
\doingtypefntrue
\defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
}
@@ -7684,14 +7691,14 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @deftypevr category type var args
\makedefun{deftypevr}#1 #2 #3 #4\endheader{%
- \defind{vr}{\code{#3}}%
+ \doind{vr}{\code{#3}}%
\defname{#1}{#2}{#3}\defunargs{#4\unskip}%
}
% @deftypecv category class type var args
\makedefun{deftypecv}#1 {\deftypecvheaderx{#1\ \putwordof}}
\def\deftypecvheaderx#1#2 #3 #4 #5\endheader{%
- \defind{vr}{\code{#4}\space\putwordof\ \code{#2}}%
+ \doind{vr}{\code{#4}\space\putwordof\ \code{#2}}%
\defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
}
@@ -7708,7 +7715,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @deftp category name args
\makedefun{deftp}#1 #2 #3\endheader{%
- \defind{tp}{\code{#2}}%
+ \doind{tp}{\code{#2}}%
\defname{#1}{}{#2}\defunargs{#3\unskip}%
}
@@ -8580,6 +8587,87 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\fi \macnamexxx}
+% @linemacro
+
+\parseargdef\linemacro{%
+ \linegetargs#1 \linegetargs
+ \expandafter\linegetparamlist\argl;%
+ \begingroup \macrobodyctxt \usembodybackslash
+ \parselinemacrobody
+}
+
+% Parse the arguments to a @linemacro line. Set \macname to the name
+% of the macro and \argl to the list of arguments.
+\def\linegetargs#1 #2\linegetargs{%
+ \macname={#1}%
+ \def\argl{#2}%
+}
+
+% Build up \paramlist which will be used as the parameter text for the macro.
+% At the end it will be like "#1 #2 #3\endlinemacro".
+\def\linegetparamlist#1;{%
+ \paramno=0\def\paramlist{}%
+ \let\hash\relax \let\xeatspaces\relax
+ \linegetparamlistxxx#1; %
+}
+\def\linegetparamlistxxx#1 {%
+ \if#1;\let\next=\linegetparamlistxxxx
+ \else \let\next=\linegetparamlistxxx
+ \advance\paramno by 1
+ \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
+ {\noexpand\xeatspaces{\hash\the\paramno}}%
+ \edef\paramlist{\paramlist\hash\the\paramno\space}%
+ \fi\next}
+\def\linegetparamlistxxxx{%
+ \ifx\paramlist\empty
+ \def\paramlist{\hash 1\endlinemacro}%
+ \else
+ \expandafter\fixparamlist\paramlist\fixparamlist
+ \fi
+}
+% Replace final space token
+\def\fixparamlist#1 \fixparamlist{%
+ \def\paramlist{#1\endlinemacro}%
+}
+
+% Read the body of the macro, replacing backslash-surrounded variables
+%
+{\catcode`\ =\other\long\gdef\parselinemacrobody#1@end linemacro{%
+\let\xeatspaces\relax
+\xdef\macrobody{#1}%
+\endgroup
+\linemacrodef
+}}
+
+% Make the definition
+\def\linemacrodef{%
+ \let\hash=##%
+ \let\xeatspaces\relax
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup
+ \noexpand\scanctxt
+ \noexpand\parsearg
+ \expandafter\noexpand\csname\the\macname @@\endcsname
+ }
+ \expandafter\xdef\csname\the\macname @@\endcsname##1{%
+ \egroup
+ \expandafter\noexpand
+ \csname\the\macname @@@\endcsname##1 \noexpand\endlinemacro
+ % Note that we append a space to the macro line to terminate the last
+ % argument in case the final argument is empty. @xeatspaces may be needed
+ % to remove this space.
+ }
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter\csname\the\macname @@@\endcsname\paramlist{%
+ \newlinechar=13 % split \macrobody into lines
+ \let\noexpand\xeatspaces\noexpand\eatspaces
+ \noexpand\scantokens{\macrobody}%
+ }
+}
+
+
+
% @alias.
% We need some trickery to remove the optional spaces around the equal
% sign. Make them active and then expand them all to nothing.
diff --git a/macros/unicodetex/latex/bithesis/bithesis.dtx b/macros/unicodetex/latex/bithesis/bithesis.dtx
index ce6de30aec..8ce91eacd1 100644
--- a/macros/unicodetex/latex/bithesis/bithesis.dtx
+++ b/macros/unicodetex/latex/bithesis/bithesis.dtx
@@ -21,7 +21,7 @@
%<thesis>\ProvidesExplClass{bithesis}
%<report>\ProvidesExplClass{bitreport}
%<beamer>\ProvidesExplClass{bitbeamer}
-%<cls>{2023-02-20}{3.4.0}{BIT Thesis Templates}
+%<cls>{2023-03-05}{3.4.2}{BIT Thesis Templates}
%
%<oldcls>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
%<book>\ProvidesClass{bitbook}
@@ -30,7 +30,7 @@
%<oldcls> [2022/05/09 v2.1.1 BIT Thesis Templates]
%
%<*driver>
-\ProvidesFile{bithesis.dtx}[2023/02/20 3.4.0 BIT Thesis Templates]
+\ProvidesFile{bithesis.dtx}[2023/03/05 3.4.2 BIT Thesis Templates]
\documentclass[letterpaper]{l3doc}
\usepackage{dtx-style}
@@ -1190,11 +1190,11 @@
% \subsubsection{定理类环境}
% \paragraph{默认格式}
%
-% \begin{function}{algorithm,theorem,lemma,proposition,corollary,axiom,definition,conjecture,example,case,remark}
+% \begin{function}[updated=2023-03-05]{algo,them,lem,prop,cor,axi,defn,conj,exmp,case,rem}
% \begin{bitsyntax}[emph={[2]proof}]
-% \begin{theorem}[留数定理]
+% \begin{them}[留数定理]
% (*\meta{定理内容}*)
-% \end{theorem}
+% \end{them}
%
% \begin{proof}(*\oarg{小标题}*)
% (*\meta{证明过程}*)
@@ -1209,7 +1209,8 @@
% \subfloat[][plain样式]{
% \begin{tabular}{@{}ccccccc@{}}
% \toprule
-% \textbf{名称} & algorithm & theorem & lemma & proposition & corollary & axiom \\ \midrule
+% \textbf{名称} & algo & them & lem & prop & cor & axi \\ \midrule
+% \textbf{全称} & algorithm & theorem & lemma & proposition & corollary & axiom \\
% \textbf{含义} & 算法 & 定理 & 引理 & 命题 & 推论 & 公理 \\
% \textbf{样式} & \multicolumn{6}{c}{\textbf{定理2.1.} \textit{定理内容……}} \\ \bottomrule
% \end{tabular}
@@ -1218,7 +1219,8 @@
% \subfloat[][definition样式]{
% \begin{tabular}{@{}ccccc@{}}
% \toprule
-% \textbf{名称} & definition & conjecture & example & case \\ \midrule
+% \textbf{名称} & defn & conj & exmp & case \\ \midrule
+% \textbf{全称} & definition & conjecture & example & case \\
% \textbf{含义} & 定义 & 猜想 & 例 & 情形 \\
% \textbf{样式} & \multicolumn{4}{c}{\textbf{定义2.1.} 定义内容……} \\ \bottomrule
% \end{tabular}
@@ -1227,7 +1229,8 @@
% \subfloat[][remark样式]{
% \begin{tabular}{@{}cc@{}}
% \toprule
-% \textbf{名称} & remark \\ \midrule
+% \textbf{名称} & rem \\ \midrule
+% \textbf{全称} & remark \\ \midrule
% \textbf{含义} & 注 \\
% \textbf{样式} & \multicolumn{1}{c}{\textit{注1.} 内容……} \\ \bottomrule
% \end{tabular}
@@ -1237,6 +1240,7 @@
% \begin{tabular}{@{}cc@{}}
% \toprule
% \textbf{名称} & proof \\ \midrule
+% \textbf{全称} & proof \\
% \textbf{含义} & 证明 \\
% \textbf{样式} & \multicolumn{1}{c}{\textit{证明. } 内容…… 「证毕符号」} \\ \bottomrule
% \end{tabular}
@@ -2006,6 +2010,7 @@
{
{school} {学\qquad 院} {School},
{major} {专\qquad 业} {Degree},
+ {class} {班\qquad{}级} {Class},
{author} {学生姓名} {Author},
{student_id} {学\qquad 号} {Student~ID},
{supervisor} {指导教师} {Supervisor},
@@ -2130,6 +2135,8 @@
school .initial:n = {网络空间安全学院(示例)},
major .tl_set:N = \l_@@_value_major_tl,
major .initial:n = {网络空间安全(示例)},
+ class .tl_set:N = \l_@@_value_class_tl,
+ class .initial:n = {07111701},
author .tl_set:N = \l_@@_value_author_tl,
author .initial:n = {张三(示例)},
studentId .tl_set:N = \l_@@_value_student_id_tl,
@@ -2811,19 +2818,19 @@
% 预定义用户常用的证明环境。
% \begin{macrocode}
\theoremstyle{plain}
- \newtheorem{algorithm}{算法}[chapter]
- \newtheorem{theorem}{定理}[chapter]
- \newtheorem{lemma}[theorem]{引理}
- \newtheorem{proposition}[theorem]{命题}
- \newtheorem{corollary}[theorem]{推论}
- \newtheorem{axiom}[theorem]{公理}
+ \newtheorem{algo}{算法}[chapter]
+ \newtheorem{them}{定理}[chapter]
+ \newtheorem{lem}[them]{引理}
+ \newtheorem{prop}[them]{命题}
+ \newtheorem{cor}[them]{推论}
+ \newtheorem{axi}[them]{公理}
\theoremstyle{definition}
- \newtheorem{definition}{定义}[chapter]
- \newtheorem{conjecture}{猜想}[chapter]
- \newtheorem{example}{例}[chapter]
+ \newtheorem{defn}{定义}[chapter]
+ \newtheorem{conj}{猜想}[chapter]
+ \newtheorem{exmp}{例}[chapter]
\newtheorem{case}{情形}
\theoremstyle{remark}
- \newtheorem{remark}{注}
+ \newtheorem{rem}{注}
\renewcommand{\qedsymbol}{\ensuremath{\QED}}
% \end{macrocode}
%
@@ -3353,6 +3360,7 @@
\clist_set:Nn \l_@@_input_clist {
{\c_@@_label_school_tl} {\l_@@_value_school_tl},
{\c_@@_label_major_tl} {\l_@@_value_major_tl},
+ {\c_@@_label_class_tl} {\l_@@_value_class_tl},
{\c_@@_label_author_tl} {\l_@@_value_author_tl},
{\c_@@_label_student_id_tl} {\l_@@_value_student_id_tl},
{\c_@@_label_supervisor_tl} {\l_@@_value_supervisor_tl},
@@ -3386,11 +3394,11 @@
\includegraphics[width=6.87cm]{\l_bit_coverheaderimage_tl}\\
}
- \vspace{1mm}
+ \vspace{1.2mm}
\zihao{2}\textbf{\songti{本科生毕业设计(论文)外文翻译}}
- \vspace{8mm}
+ \vspace{10mm}
{
@@ -3415,7 +3423,7 @@
}
- \vspace{14mm}
+ \vspace{19mm}
\zihao{2}\textbf{\xihei:n \l_@@_value_title_tl}\par
@@ -3449,6 +3457,7 @@
\clist_set:Nn \l_@@_input_clist {
{\c_@@_label_school_tl} {\l_@@_value_school_tl},
{\c_@@_label_major_tl} {\l_@@_value_major_tl},
+ {\c_@@_label_class_tl} {\l_@@_value_class_tl},
{\c_@@_label_author_tl} {\l_@@_value_author_tl},
{\c_@@_label_student_id_tl} {\l_@@_value_student_id_tl},
{\c_@@_label_supervisor_tl} {\l_@@_value_supervisor_tl},
diff --git a/macros/unicodetex/latex/bithesis/bithesis.pdf b/macros/unicodetex/latex/bithesis/bithesis.pdf
index a900536984..67aae3d4de 100644
--- a/macros/unicodetex/latex/bithesis/bithesis.pdf
+++ b/macros/unicodetex/latex/bithesis/bithesis.pdf
Binary files differ
diff --git a/macros/xetex/latex/xduts/xduts.dtx b/macros/xetex/latex/xduts/xduts.dtx
index 3802edfdaf..2212a981cb 100644
--- a/macros/xetex/latex/xduts/xduts.dtx
+++ b/macros/xetex/latex/xduts/xduts.dtx
@@ -1,7 +1,7 @@
% \iffalse
%<*driver>
\ProvidesFile{xduts.dtx}
-[2023/03/03 v6.0.1.0 Xidian University TeX Suite]
+[2023/03/05 v6.1.0.1 Xidian University TeX Suite]
%</driver>
%<class|sty>\NeedsTeXFormat{LaTeX2e}
%<class|sty>\RequirePackage{expl3}
@@ -9,7 +9,7 @@
%<xduugtp>\ProvidesExplClass{xduugtp}
%<xdupgthesis>\ProvidesExplClass{xdupgthesis}
%<xduugthesis>\ProvidesExplClass{xduugthesis}
-%<class|sty> {2023/03/03}{6.0.1.0}
+%<class|sty> {2023/03/05}{6.1.0.1}
%<xdufont> {Xidian University Font package}
%<xduugtp> {Xidian University Undergraduate Thesis Proposal class}
%<xdupgthesis> {Xidian University Postgraduate Thesis document class}
@@ -179,7 +179,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \changes{v4.4.5.4}{2023/02/11}{更新许可证版本号}
% \renewcommand{\abstractname}{免责声明}
% \begin{abstract}
-% 在使用\xduts{}时,默认您同意以下内容:
+% 在使用\xduts{}时,默认你同意以下内容:
% \begin{enumerate}
% \item \xduts[]{}作者不对使用\xduts{}产生的格式审查问题负责。
% \item \xduts[]{}的发布遵守\LaTeX{} Project Public License Version 1.3c或更高版本\footurl{https://www.latex-project.org/lppl.txt}。
@@ -237,7 +237,8 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \par
% 请在最新版\LaTeX{}环境中使用最新版\xduts{}[],
% 认真阅读相应宏包/文档类使用说明章节后即可使用\xduts{}[]。
-% \subsection{\pkgx[]{xdufont}宏包}
+% \changes{v6.0.1.1}{2023/03/04}{修正文档中部分标题书签字符}
+% \subsection{\textsf{xdufont}宏包}
% \pkgx[]{xdufont}宏包基于\pkgx{xeCJK}宏包和\pkgx{unicode-math}宏包,
% 在中文字体配置方面相较于\pkgx{ctex}宏包的主要优势为默认支持宋体粗体、斜体,
% 内置多种字体配置,可任意搭配中/英/数学字体,更加符合校内各种文档的撰写要求。
@@ -256,7 +257,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \secrefx{编译}介绍了如何编译,\secrefx{参数设置}介绍了如何自定义配置,具体的配置选项见\secrefx{字体选项}。
% \par
% 学会以上用法后即可使用\pkgx{xdufont}宏包。
-% \subsection{\clsx[]{xduugtp}文档类}
+% \subsection{\textsf{xduugtp}文档类}
% \clsx[]{xduugtp}文档类基于\clsx{ctexart}文档类,
% 提供多种字体配置,信息录入便捷。
% 请在阅读《西安电子科技大学本科毕设设计(论文)开题报告》后再使用\clsx{xduugtp}文档类。
@@ -285,7 +286,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% 支持的信息录入选项见\secrefx{信息录入}。
% \par
% 学会以上用法后即可使用\clsx{xduugtp}文档类。
-% \subsection{\clsx[]{xduugthesis}文档类}
+% \subsection{\textsf{xduugthesis}文档类}
% \clsx[]{xduugthesis}文档类基于\clsx{ctexbook}文档类,
% 提供多种字体配置,部分样式可自定义,信息录入便捷。
% \changes{v1.3.1.1}{2022/04/26}{英文本科生毕业设计规范参考说明}
@@ -323,7 +324,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \changes{v1.4.0.0}{2022/04/26}{增加研究生学位论文}
% \changes{v1.30.0.2}{2022/06/20}{研究生学位论文文档}
% \changes{v2.2.1.1}{2022/06/23}{移除研究生学位论文中关于章节配置的文档}
-% \subsection{\clsx[]{xdupgthesis}文档类}
+% \subsection{\textsf{xdupgthesis}文档类}
% \clsx[]{xdupgthesis}文档类基于\clsx{ctexbook}文档类,
% 提供多种字体配置,部分样式可自定义,信息录入便捷。
% 请在阅读《西安电子科技大学研究生学位论文模板(2015年修订版)-2019.03修订》后再使用\clsx{xdupgthesis}文档类。
@@ -802,6 +803,19 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \item[centering-left] 只有一行时居中,多行时左对齐。
% \end{optdesc}
% \end{function}
+% \changes{v6.1.0.0}{2023/03/04}{增加图表对齐接口}
+% \begin{function}[added=2023-03-04]{style/figure-align,style/table-align}
+% \begin{syntax}
+% \opt{style/figure-align} = left|(centering)|right
+% \opt{style/table-align} = left|(centering)|right
+% \end{syntax}
+% 设置\envx{figure}和\envx{table}环境中内容对齐方式。
+% \end{function}
+% \begin{optdesc}
+% \item[left] 左对齐。
+% \item[centering] 居中。
+% \item[right] 右对齐。
+% \end{optdesc}
% \changes{v0.10.0.1}{2022/04/13}{补充表格内容字号文档说明}
% \begin{function}[added=2022-04-13,updated=2022-04-15]{style/table-small-font}
% \begin{syntax}
@@ -1748,10 +1762,9 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% 其中,在\clsx{xduugthesis}的开发过程中,^^A
% \href{https://github.com/Ke-Huo}{\ttfamily @Ke-Huo}、^^A
% \href{https://github.com/GRHun}{\ttfamily @RH}、^^A
-% \href{https://github.com/songyueran}{\ttfamily @syr-bloom}^^A
+% \href{https://github.com/songyueran}{\ttfamily @syr-bloom}
% 等人参与了内测。
-% 同时,也要感谢所有在GitHub和睿思上反馈问题和提出建议的同学、老师们。^^A
-% \xduts[]{}的持续发展,离不开你们的帮助与支持。
+% \changes{v6.1.0.1}{2023/03/04}{增加赞助致谢}
% \changes{v4.4.5.3}{2023/02/11}{增加致谢参考链接}
% \section{致谢}
% 在学习文学编程的过程中,
@@ -1761,16 +1774,21 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% 在文档的编写过程中,参考了^^A
% \filex{ctex.dtx}[]\footurl{https://github.com/CTeX-org/ctex-kit/blob/master/ctex/ctex.dtx}、^^A
% \filex[]{fduthesis.dtx}[]\footurl{https://github.com/stone-zeng/fduthesis/blob/main/source/fduthesis.dtx}、^^A
-% \filex[]{njuthesis.dtx}[]\footurl{https://github.com/nju-lug/NJUThesis/blob/master/source/njuthesis.dtx}和^^A
+% \filex[]{njuthesis.dtx}[]\footurl{https://github.com/nju-lug/NJUThesis/blob/master/source/njuthesis.dtx}\space{}和^^A
% \filex{thuthesis.dtx}[]\footurl{https://github.com/tuna/thuthesis/blob/master/thuthesis.dtx}。
+% \par
+% 同时,非常感谢赞助\xduts{}的同学们,你们的赞助让我有持续维护的动力。^^A
+% 也感谢所有在GitHub和睿思上反馈问题和提出建议的同学、老师们,^^A
+% \xduts[]{}的持续发展,离不开你们的帮助与支持。
% \changes{v4.0.1.1}{2022/12/12}{增加支付宝红包二维码}
% \changes{v3.1.1.3}{2022/12/10}{二维码增加图标}
% \changes{v3.1.1.2}{2022/12/06}{增加QQ支付二维码}
% \changes{v2.16.1.2}{2022/11/27}{修正文档中图片引用间距}
% \changes{v2.15.0.1}{2022/11/26}{增加赞助二维码}
% \section{赞助}
-% 如果\xduts{}对您有所帮助,
-% 可以扫描\figrefx{fig:zanzhu}中的二维码来赞助\xduts{}[]。
+% 如果\xduts{}对你有所帮助,
+% 可以扫描\figrefx{fig:zanzhu}中的二维码来赞助\xduts{}[],
+% 并备注\xduts{}或其他相关字样以便于确认款项来源。
% \ExplSyntaxOn
% \str_set_convert:Nnnn \l_xduts_alipay_red_packet_qr_str {%
% 68747470733A2F2F71722E616C697061792E636F6D2F31317731333035336232617236757438%
@@ -3629,6 +3647,8 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \l_@@_alg_cap_align_tl,
% \l_@@_add_alg_rule_vspace_bool,
% \l_@@_tab_small_bool,
+% \l_@@__figure_align_tl,
+% \l_@@__table_align_tl,
% \l_@@_alg_small_cap_bool,
% \l_@@_alg_small_bool,
% \l_@@_before_skip_clist,
@@ -3699,6 +3719,11 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \begin{macrocode}
\bool_new:N \l_@@_tab_small_bool
% \end{macrocode}
+% 设置图表内容对齐方式。
+% \begin{macrocode}
+\tl_new:N \l_@@_figure_align_tl
+\tl_new:N \l_@@_table_align_tl
+% \end{macrocode}
% 设置算法Caption字号是否为五号。
% \begin{macrocode}
\bool_new:N \l_@@_alg_small_cap_bool
@@ -3798,6 +3823,13 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \begin{macrocode}
table-small-font .bool_set:N = \l_@@_tab_small_bool,
% \end{macrocode}
+% 设置图表内容对齐方式。
+% \begin{macrocode}
+ figure-align .choices:nn = { left, centering, right }
+ { \tl_set_eq:NN \l_@@_figure_align_tl \l_keys_choice_tl },
+ table-align .choices:nn = { left, centering, right }
+ { \tl_set_eq:NN \l_@@_table_align_tl \l_keys_choice_tl },
+% \end{macrocode}
% 设置算法Caption字号是否为五号。
% \begin{macrocode}
alg-small-caption .bool_set:N = \l_@@_alg_small_cap_bool,
@@ -3857,6 +3889,8 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
style / alg-caption-align = left,
style / add-alg-rule-vspace = false,
style / table-small-font = true,
+ style / figure-align = centering,
+ style / table-align = centering,
style / alg-small-caption = true,
style / algorithm-small-caption = true,
style / alg-small-font = true,
@@ -5539,6 +5573,31 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \end{macrocode}
% \end{macro}
% \subsection{图片}
+% \changes{v6.1.0.0}{2023/03/04}{设置\envx{figure}环境中内容对齐方式}
+% \begin{macro}{\@floatboxreset}
+% 设置\envx{figure}环境中内容对齐方式。
+% \begin{macrocode}
+\ctex_at_end_preamble:n
+ {
+ \tl_if_eq:NnTF \l_@@_figure_align_tl { left }
+ {
+ \AtBeginEnvironment { figure }
+ { \g@addto@macro { \@floatboxreset } { \raggedright } }
+ }
+ {
+ \tl_if_eq:NnTF \l_@@_figure_align_tl { centering }
+ {
+ \AtBeginEnvironment { figure }
+ { \g@addto@macro { \@floatboxreset } { \centering } }
+ }
+ {
+ \AtBeginEnvironment { figure }
+ { \g@addto@macro { \@floatboxreset } { \raggedleft } }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\PassOptionsToPackage,\captionsetup*}
% \changes{v0.4.2.0}{2022/04/05}{设置子图标签与标题字体字号}
% 设置子图标签与标题字体字号,支持\pkgx{subfig}和\pkgx{subcaption}宏包。
@@ -5578,18 +5637,43 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \end{macrocode}
% \end{macro}
% \subsection{表格}
+% \changes{v6.1.0.0}{2023/03/04}{设置\envx{table}环境中内容对齐方式}
+% \begin{macro}{\@floatboxreset}
+% 设置\envx{table}环境中内容对齐方式。
+% \begin{macrocode}
+\ctex_at_end_preamble:n
+ {
+ \tl_if_eq:NnTF \l_@@_table_align_tl { left }
+ {
+ \AtBeginEnvironment { table }
+ { \g@addto@macro { \@floatboxreset } { \raggedright } }
+ }
+ {
+ \tl_if_eq:NnTF \l_@@_table_align_tl { centering }
+ {
+ \AtBeginEnvironment { table }
+ { \g@addto@macro { \@floatboxreset } { \centering } }
+ }
+ {
+ \AtBeginEnvironment { table }
+ { \g@addto@macro { \@floatboxreset } { \raggedleft } }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \changes{v6.1.0.0}{2023/03/04}{修改表格字号设置方法}
% \changes{v0.10.0.0}{2022/04/13}{设置表格字号是否为五号}
% \changes{v1.0.2.0}{2022/04/14}{修复表格五号字无法设定浮动位置}
-% \begin{macro}{table}
+% \begin{macro}{\@floatboxreset}
% 设置表格字号是否为五号。
% \begin{macrocode}
\ctex_at_end_preamble:n
{
\bool_if:NT \l_@@_tab_small_bool
{
- \renewenvironment { table }
- { \def\@floatboxreset { \reset@font\small\@setminipage } \@float { table } }
- { \end@float }
+ \AtBeginEnvironment { table }
+ { \g@addto@macro { \@floatboxreset } { \small } }
}
}
% \end{macrocode}
diff --git a/macros/xetex/latex/xduts/xduts.pdf b/macros/xetex/latex/xduts/xduts.pdf
index 017f108829..3aaa8cecfc 100644
--- a/macros/xetex/latex/xduts/xduts.pdf
+++ b/macros/xetex/latex/xduts/xduts.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 cb2becb30c..f4e5e01dc8 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -80,7 +80,6 @@ $mirrors = {
'https://www.texlive.info/CTAN/' => 1,
},
'France' => {
- 'https://ctan.crest.fr/tex-archive/' => 1,
'https://ctan.gutenberg-asso.fr/' => 1,
'https://ctan.mines-albi.fr/' => 1,
'https://ctan.tetaneutral.net/' => 1,
@@ -136,7 +135,6 @@ $mirrors = {
'https://ctan.gust.org.pl/tex-archive/' => 1,
'https://polish-mirror.evolution-host.com/ctan/' => 1,
'https://repo.skni.umcs.pl/ctan/' => 1,
- 'https://sunsite.icm.edu.pl/pub/CTAN/' => 1,
},
'Portugal' => {
'https://ftp.eq.uc.pt/software/TeX/' => 1,
@@ -203,7 +201,6 @@ $mirrors = {
'Oceania' => {
'Australia' => {
'https://mirror.aarnet.edu.au/pub/CTAN/' => 1,
- 'https://mirror.cse.unsw.edu.au/pub/CTAN/' => 1,
},
},
'South America' => {
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 4f370a6db4..66546b9b59 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2022
-depend revision/66342
+depend revision/66354
name 00texlive.image
category TLCore
@@ -29664,50 +29664,51 @@ catalogue-version 2.13
name babel-greek
category Package
-revision 56904
+revision 66347
shortdesc Babel support for documents written in Greek
relocated 1
longdesc The file provides modes for monotonic (single-diacritic) and
longdesc polytonic (multiple-diacritic) modes of writing. Provision is
longdesc made for Greek function names in mathematics, and for
longdesc classical-era symbols.
-containersize 5996
-containerchecksum 6b0ab839f2e8a9562c8292fe8f7661a73148754ed816088be25d06537a58ba95ac34d9440bc4f3f35c3b720188b261b432887f9867ff94b51261076f9d8e0160
-doccontainersize 1190328
-doccontainerchecksum 965dc1293a90ed4f7c777d32887186febf28f7a174a00af26c19720493605291d1b17a5790b5541547f9265d8a1a3d102d9a4fae79aba43780c384b7385e06b3
-docfiles size=325
- RELOC/doc/generic/babel-greek/README details="Readme"
- RELOC/doc/generic/babel-greek/README.html details="Readme (HTML)"
+containersize 6568
+containerchecksum eae0105f5f1a637677387065b8cb941336da2c4440ebeceef26f6c0e25bfc0b92089140d47332da372f31ed0a0b1e1e976092d636f142a21e1d27c61959ca189
+doccontainersize 1626876
+doccontainerchecksum a76fc17e43dd86da4a05b3eb515167c436cd7c211ddc84f3b7fe37acf42a971684e09ea3af552318bf896b9fb5f5d75a461db6fd598df434e17e63fdcd80abdb
+docfiles size=448
+ RELOC/doc/generic/babel-greek/README.md details="Readme"
RELOC/doc/generic/babel-greek/athnum.pdf
+ RELOC/doc/generic/babel-greek/babel-greek-doc.html
+ RELOC/doc/generic/babel-greek/babel-greek-doc.rst
RELOC/doc/generic/babel-greek/babel-greek.pdf details="Documentation"
RELOC/doc/generic/babel-greek/grmath.pdf details="Maths documentation"
- RELOC/doc/generic/babel-greek/test-8bit-greek.pdf
- RELOC/doc/generic/babel-greek/test-8bit-greek.tex
- RELOC/doc/generic/babel-greek/test-greek-lgr.pdf
- RELOC/doc/generic/babel-greek/test-greek-tu.pdf
+ RELOC/doc/generic/babel-greek/test-athnum.pdf
+ RELOC/doc/generic/babel-greek/test-athnum.tex
+ RELOC/doc/generic/babel-greek/test-case-changing.tex
+ RELOC/doc/generic/babel-greek/test-greek-8bitcompat.tex
+ RELOC/doc/generic/babel-greek/test-greek-ini.tex
+ RELOC/doc/generic/babel-greek/test-greek.pdf
RELOC/doc/generic/babel-greek/test-greek.tex
- RELOC/doc/generic/babel-greek/test-greeknumeral.pdf
- RELOC/doc/generic/babel-greek/test-greeknumeral.tex
- RELOC/doc/generic/babel-greek/test-tu-lgr.pdf
- RELOC/doc/generic/babel-greek/test-tu-lgr.tex
+ RELOC/doc/generic/babel-greek/test-greeknum.tex
+ RELOC/doc/generic/babel-greek/test-lgr-fixes.tex
RELOC/doc/generic/babel-greek/usage.pdf details="Usage documentation"
RELOC/doc/generic/babel-greek/usage.tex
-srccontainersize 21012
-srccontainerchecksum 907493b19b16ed7a0c6377864a4b8266732065e2330c746d118dfec14a6a4976115eb48bd6b4286ce48cf6823e30fd3c9f06551aba2f52ef4a8ccfaf3f800810
-srcfiles size=22
+srccontainersize 24860
+srccontainerchecksum 2d7ab1f4f63f437f4988cc7572ee3eaf9fdafec0fdc9d88cb132ae3daa83bac33a9149a9fb9bd92be7ab6958e4bdd787a23c815771ca073453f7e4baa0e2a6be
+srcfiles size=26
RELOC/source/generic/babel-greek/Makefile
RELOC/source/generic/babel-greek/athnum.dtx
RELOC/source/generic/babel-greek/babel-greek.dtx
RELOC/source/generic/babel-greek/babel-greek.ins
RELOC/source/generic/babel-greek/grmath.dtx
-runfiles size=8
+runfiles size=9
RELOC/tex/generic/babel-greek/athnum.sty
RELOC/tex/generic/babel-greek/greek.ldf
RELOC/tex/generic/babel-greek/grmath.sty
catalogue-ctan /macros/latex/contrib/babel-contrib/greek
catalogue-license lppl1.3
catalogue-topics greek multilingual-addon
-catalogue-version 1.10
+catalogue-version 1.12
name babel-hebrew
category Package
@@ -114988,29 +114989,24 @@ catalogue-version 0.3
name etoc
category Package
-revision 65603
+revision 66351
shortdesc Completely customisable TOCs
relocated 1
-longdesc The package gives the user complete control of how the entries
-longdesc of the table of contents should be constituted from the name,
-longdesc number, and page number of each sectioning unit. The layout is
-longdesc controlled by the definition of 'line styles' for each
-longdesc sectioning level used in the document. The package provides its
-longdesc own custom line styles (which may be used as examples), and
-longdesc continues to support the standard formatting inherited from the
-longdesc LaTeX document classes, but the package can also allow the user
-longdesc to delegate the details to packages dealing with list making
-longdesc environments (such as enumitem). The package's default global
-longdesc style typesets tables of contents in a multi-column format,
-longdesc with either a standard heading, or a ruled title (optionally
-longdesc with a frame around the table). The \tableofcontents command
-longdesc may be used arbitrarily many times in the same document, while
-longdesc \localtableofcontents provides a 'local' table of contents.
-containersize 10020
-containerchecksum 186256dfd41fcb2577d82e5a713e728bd4b316b35b147cbb798633d5fccfeac7c9371546235da8002964b8e443047d7f9e4c80181d6dd5dd63b4bd1d5978a355
-doccontainersize 823512
-doccontainerchecksum 60f2c88402e126137f142e08c7543a16111960fe14d0070b3379369c5ab4f16f410cfabb7e7b42ab1e07c16d8a6e00d4be0fd7642138c2be2809cbb8831e8411
-docfiles size=242
+longdesc With etoc loaded, \tableofcontents can be used multiple times,
+longdesc and an added command \localtableofcontents allows to typeset
+longdesc "local" tables of contents, i.e. TOCs having their scope
+longdesc limited to the last sectioning command encountered. Since
+longdesc release 1.2, also \locallistoffigures and \locallistoftables
+longdesc are available. Loading etoc per itself does not modify the
+longdesc "contents lines" inherited from the class default or changed
+longdesc via other packages. But full usage of the package allows
+longdesc spectacular effects such as displaying TOCs as trees or mind
+longdesc maps.
+containersize 12780
+containerchecksum 09d7dfaff6ef2ecb45d65603fcfab0e4fa7810a91d8b27faf313167b763979dbe6ef14ab8fe75c22f978ad5e4ec32240eefe58ed13a85a7c186b5183de7163df
+doccontainersize 903780
+doccontainerchecksum 046215c38ee4006e519d23ea58feca30b00fb3961f713ac49e0b5743af775d4379c9642d019a0e537874902ad6f0a101d5152365ec5d283a2411ea9a024d1161
+docfiles size=260
RELOC/doc/latex/etoc/README.md details="Readme"
RELOC/doc/latex/etoc/etoc.pdf details="Package documentation"
RELOC/doc/latex/etoc/etoc.tex
@@ -115040,18 +115036,17 @@ docfiles size=242
RELOC/doc/latex/etoc/etocsnippet-24.tex
RELOC/doc/latex/etoc/etocsnippet-25.tex
RELOC/doc/latex/etoc/etocsnippet-26.tex
- RELOC/doc/latex/etoc/etocsnippet-27.tex
-srccontainersize 95012
-srccontainerchecksum e58e568e97790bfebf2518234be7b3003bb746b0908f56ea35dcd965091f8721ec47a5c366b638aedd3e715a0b4ec9f7f185e19c7e852ddf1bdac7e30614824b
-srcfiles size=96
+srccontainersize 113900
+srccontainerchecksum 3885e247d5872070c6197e3875e716d9c6bcec91656348ec06678c5def05f02add7440ae253df1ec940cb5205e7bc6eba398ac4b1b312b0da7a7b7f705b2ae80
+srcfiles size=115
RELOC/source/latex/etoc/etoc.dtx
-runfiles size=13
+runfiles size=18
RELOC/tex/latex/etoc/etoc.sty
catalogue-also titletoc tocbasic
catalogue-ctan /macros/latex/contrib/etoc
catalogue-license lppl1.3c
catalogue-topics toc-etc etex
-catalogue-version 1.1c
+catalogue-version 1.2
name etoolbox
category Package
@@ -283735,27 +283730,27 @@ catalogue-version 1.5b
name sillypage
category Package
-revision 64034
+revision 66350
shortdesc John Cleese's Silly Walk as page numbering style
relocated 1
longdesc This simple LaTeX package provides John Cleese's iconic silly
longdesc walk routine as a page numbering style. Other counters, as well
longdesc as integers, can be typeset in this "silly" style, too.
-containersize 13468
-containerchecksum 51c7bc990b31950470b3072044f5458844df5083fd42d5f1701147b1246e144837875b7c59b69480a0ca8f16d6c1585d862c5b779d4bd669c369cbc4e9bf5834
-doccontainersize 291164
-doccontainerchecksum 1ce76821f6f9ac961c8e53b6be3480c1458248aa8df3ae9635b2fba4160fd26ad59506e421bec061fa97d514ce5f4028821044d4052aec6b78a3d79f40b8c8cf
+containersize 16592
+containerchecksum a44430b5218392825604c9370fc01bdb177b91431959f55b33e68b834803e1cbe3fcae1b72f0ce09a984709f16770358ee8a0c43d5b94cd9244aaff78f8eb6f1
+doccontainersize 291276
+doccontainerchecksum c0c26e10ba5d17a6e45af4e00e900bb22972e88fdc999c70762290106241e6ecc535db6ce71c654b6ad31c21d456b00fba1aee66e87450dc38e6433e4fc7fd54
docfiles size=82
RELOC/doc/latex/sillypage/README.md details="Readme"
RELOC/doc/latex/sillypage/sillypage-example.pdf details="Example of use"
RELOC/doc/latex/sillypage/sillypage-example.tex
RELOC/doc/latex/sillypage/sillypage.pdf details="Package documentation"
-srccontainersize 4632
-srccontainerchecksum 72d4ca266835dc3cb902af1de9e3336c1d79b9f421df05c00eb1f5857e9fbae8f106f45f6ba0916151af30a70a2bc44a2879324ebe7c7edc95a3ba323be88603
+srccontainersize 4628
+srccontainerchecksum 250c32997d1917944b8e248e312bd99be090da1115644f73e04c0194e53664d5080441774a08478e412be5a6345a35520c40e1ac686f232abc9de8e398ffd92f
srcfiles size=4
RELOC/source/latex/sillypage/sillypage.dtx
RELOC/source/latex/sillypage/sillypage.ins
-runfiles size=6
+runfiles size=8
RELOC/tex/latex/sillypage/sillypage.sty
RELOC/tex/latex/sillypage/sillywalk-map.pdf
catalogue-contact-bugs https://github.com/cereda/sillypage/issues
@@ -283763,7 +283758,7 @@ catalogue-contact-repository https://github.com/cereda/sillypage
catalogue-ctan /macros/latex/contrib/sillypage
catalogue-license cc-by-sa-4 lppl1.3c
catalogue-topics amusements page-nos numbers
-catalogue-version 1.5
+catalogue-version 1.6
name simple-resume-cv
category Package
@@ -312820,7 +312815,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 66319
+revision 66344
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.
@@ -312828,10 +312823,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 113828
-containerchecksum de660ca9195adc40caacfb90d84661dd5816eea60ba5dc00cb0b77b6b0f9569f86e41d0e09a5c50c84f16e3cca38e524b92883ecf0e137c397758363abf5fbc3
-doccontainersize 424868
-doccontainerchecksum 60bdf51d70e54f4e05e39744b303755050f35e1aad209e6769bfced6b6b9f4afd720dfc0432b7b52d1732ccf83a2b0d2022d294bbb84c88572dedb9882074222
+containersize 113796
+containerchecksum c6d947379db246502d991ce5ae160b67be83f56926123ccb90b33b0188043f07e10fa79da905d68cbb9aff01fc486e933c2d02b0313917a264c9b5d93729e7f2
+doccontainersize 424756
+doccontainerchecksum b8b7d81aed06a6a39b55804cf65a329784899f60c4bb600b3fd8130a4d8bc4640a050d80f6eaddedd0a56896ac9912cedb76cada60657039aa87ab679cf7a500
docfiles size=534
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 9f4fac1a94..aa8931052e 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-e348228a8a786f5272e48ab52518613a texlive.tlpdb
+70312588c1e4ee945f0353bd17580dcb texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 0aa8c4f61e..57679d0a27 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-d415d541588211c86688714fec4dc0b7447c18029a3b1244417fbb10f242730c131709a32e51a2d5c5749c4ed8ee8308e1f6eccdd9000143b92a665cdabd39fb texlive.tlpdb
+065f44f76d1b0aacede88f8f4ff25c43569058faadaec4dd3393f305661ec9e13873d581897c9e6f6f9fda8566a416ea51701b8f9003ac4963caed66a1fe485b texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index c5eaaa4731..8c14edc018 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-----
-iQEcBAEBCgAGBQJkAq3AAAoJEEzhh34ZQ4xw4LAH/jdq6v/PH42CFCdNQZuElmzf
-9hi5zUBSFDDgBh3ebr8oBaDpZSThPjHRE1+O6DOv5PDNc7Hvmqr85oQ/bJIxyFUA
-U7y+oiGwuEpKtT1GMudQI3ut6FcHv5prSnT/FBDLxhXOhkB2L50DXlqA5C9WeAwu
-79K7m0wHyYaTq3CGSelwXbrvy/Oim13J6csFXUI/lbmAcPQII1QCrMYq1r4iMP4p
-lRYz0JDI3P9Kep0yssTQrcfIh5sm+5PSsjrrVBbK27l3SOrafhPPkuA2l0uC/aI9
-XcRX2JNSieCtIQnbVkiH8LONLr5htVQE9+mUWPAnKvG/MoeDKd1ylNiw2sAcKE8=
-=Ox9R
+iQEcBAEBCgAGBQJkA/9rAAoJEEzhh34ZQ4xw+U8IAJ5i/UnCBClaTXq/ttqIlHnk
+wAEjl1dE31BhFvll9w6g3GuMRtmXJxUvqxymnP3nB12fPCbmociMumQavjiYR2zh
+sdnYPB1ljAxw793GDrBDlMQwtKwbPVC2sWg74jyG/4XSNcZ9EZHOU/BR4fMkSiUV
+FlENG6mugOa4AZX48LYQy7QTbMLy76lXh6XHTXtuAufjLa8NIGFrVUwLLGGBpusw
+om9zUm/9oz9oR+MrWT4yAlNI5CSIwxmvHnCKKlW7NvOPvRjNGwtA2R1KCjgMYrsF
+1liGzuOz1eEwWjpowdmaz+zAS6hYdTWUeTxuv1ZxhyXZyubYDiO2LKTlX/oFjuY=
+=GvH5
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index beb3810d00..8d695f7fcf 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/TLW64/00README.TLW64 b/systems/win32/TLW64/00README.TLW64
index 2f60e24c37..16e884efdb 100644
--- a/systems/win32/TLW64/00README.TLW64
+++ b/systems/win32/TLW64/00README.TLW64
@@ -1,72 +1,4 @@
- How to install 64bit binaries for TeX Live on Windows
+tl-win64.zip is removed because Windows binaries in TeX Live
+are 64bit from TeX Live 2023.
-In the following, $INSTALLDIR is $SELFAUTOPARENT in the TeX Live,
-that is, the parent directory of "texmf-dist". Actually the
-directory $INSTALLDIR is shown by a command:
-
- kpsewhich --var-value=SELFAUTOPARENT
-
-
-(1) Expand the file tl-win64.zip in $INSTALLDIR.
- In the case of update, remove all files in $INSTALLDIR/bin/win64
- before expanding tl-win64.zip, because it is possible that
- some files are deleted in a new tl-win64.zip.
-
-(2) After expanding tl-win64.zip in $INSTALLDIR,
- change related command PATH from
- $INSTALLDIR\bin\win32
- to
- $INSTALLDIR\bin\win64;$INSTALLDIR\bin\win32
-
- Note that the following 32bit binaries in $INSTALLDIR\bin\win32
- are still used on WOW64:
-
- jbig2.exe latexindent.exe psviewer.exe tex2xindy.exe
- tlaunch.exe tlshell.exe unzip.exe xindy-lisp.exe
- xindy.mem zip.exe texaccents.exe
-
- Moreover, tlmgr.bat does not exist in $INSTALLDIR\bin\win64
- due to an obvious reason.
-
- Thus $INSTALLDIR\bin\win32 is necessary "after"
- $INSTALLDIR\bin\win64.
-
- If there are problems in 64bit binaries, it is easy to recover
- the original TeX Live win32, by changing back the PATH:
- $INSTALLDIR\bin\win64;$INSTALLDIR\bin\win32 --->
- $INSTALLDIR\bin\win32
-
-(3) Ghostscript is assumed to be 64bit. The dvisvgm.exe searches
- for gsdll64.dll by reading registry, and gsftopk.exe searches
- for gsdll64.dll in the command PATH. Therefore users should
- install 64bit Ghostscript and set the command PATH for the
- Ghostscript. However, don't define TEXLIVE_WINDOWS_EXTERNAL_GS
- in texmf.cnf, because the preinstalled 32bit Ghostscript is
- also used in several cases.
-
- gs1000w64full-gpl.exe in this directory is Ghostscript 10.0.0
- for 64bit Windows compiled with COMPILE_INITS=0. Users can install
- their favorite 'traineddata' files obtained from
- https://github.com/tesseract-ocr/tessdata_best
- into the predefined directory Resource/Tesseract in order to use
- ocr devices. Three files, eng.traineddata, jpn.traineddata
- and jpn_vert.traineddata, are already installed as examples.
- The eng.traineddata is the default for ocr devices.
-
- From TeX Live 2020, the version of 64bit binaries will be
- synchronized with that of 32bit binaries. It is expected that
- common format files can be usable for 32bit/64bit binaries.
-
- Recently in TeX Live 2021 and 2022, it is reported that luatex
- family requires different format files and luaotfload data
- in 64bit binaries compared with those in 32bit binaries. Thus
- The following commands may be necessary:
- fmtutil-sys --byengine luahbtex
- fmtutil-sys --byengine luatex
- fmtutil-sys --byengine luajithbtex
- fmtutil-sys --byengine luajittex
- luaotfload-tool -f -u -vvv
-
---
-Akira Kakuto
diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index 6790383b46..6d4e6e2599 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 619ed528f2..16a75bd02f 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 ac48a9adfa..bd4bac3a1c 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=1677168441
+date=1678044682
lastupd=miktex-zzip-bin-x64-2.9 miktex-zlib-bin-x64-2.9 miktex-yap-bin-x64-2.9 miktex-xml2pmx-bin-x64 miktex-xetex-bin-x64-2.9 miktex-web-bin-x64-2.9 miktex-uriparser-bin-x64-2.9 miktex-upmendex-bin-x64 miktex-ttf2pk2-bin-x64-2.9 miktex-texworks-bin-x64-2.9 miktex-texware-bin-x64-2.9 miktex-texify-bin-x64-2.9 miktex-tex4ht-bin-x64-2.9 miktex-tex2xindy-bin-x64-2.9 miktex-tex-bin-x64-2.9 miktex-teckit-bin-x64-2.9 miktex-tdsutil-bin-x64 miktex-synctex-bin-x64-2.9 miktex-runtime-bin-x64-2.9 miktex-ptex-bin-x64
-lstdigest=4087d2f6800bd6867d57c8215a49b6db
-numpkg=6423
+lstdigest=6474462992204f325e8533d5e44288c3
+numpkg=6426
relstate=next
-version=8454
+version=8464
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: piPD1UrE9BB35IlVGt6WXRsywRfuufmzDCMOQqWlUe5cvVZ7Inm6O3WFP8kpCzcFHVG9pu4iV7WVmucArDzDlZldWp2OrXcIdiTSanwTdjnzlwGXSq+FHo2wZ3tXQG2E2CCzAWgFBybBG0fvuKB1SoBl7wjJjjewnOY82wN3NXOArr0Yy0X6fp9dlWw8q/6ppNiNIQbAa1myDp+zDQedF6jL7tfRt8q1jD/UcpJfvf7vwb7clhTYCMJ/52dNwtqfmiUf4tKHMpt1deRmoz1orWBcngVBDrnG2PnJO+TZukIGp4UsbZRbRYkJRbUTxeB/FQa9urRFYLL8TUpS6z58AA==
+;;;; signature/miktex: DOgpyGrUzTDD3t9XqCVv9WfJno+e5tewEZ/r0j3nXPx9xwF1NibzdY3XtUiJ/A+8b9iTsWJTb6/qliNKyLOTEnE0l7qGhxeYfhZYtq3MBvsjSte96d8b2PJmOKbdLIszSHKTYpE7n4e6M+uxXOawcH+axQGV19TI9gHv9EiCeU8uUfHI0hjRYk4ja2ZMKf1JU9u0tbwI4pFnM2sxXoJIPgzQEZv90Ab1uQopUCo8Q2wjQuK121aZj5JUqCCFEPo2nZtTI/ctaWp/Z37+zwqN9tawf07VHZ7NOG89IJF1dVup3KvXUbwJs5JHXgcQtPPHXjCXHVCg87p5j6GIO/V87w==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 71a78bf579..43cd2a2134 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1677168395
-lastupd=ltxmisc latex-tools__source latex-tools__doc latex-tools zref-clever__source zref-clever__doc zref-clever yquant__source yquant__doc yquant xetexref__source xetexref xduts__source xduts__doc xduts witharrows__source witharrows__doc witharrows ut-thesis__source ut-thesis__doc
-lstdigest=aad6f2fe54f9771f87983242905e00b3
-numpkg=6423
+date=1678044641
+lastupd=dirtytalk__source dirtytalk__doc dirtytalk ltxmisc latex-tools__source latex-tools__doc latex-tools zref-clever__source zref-clever__doc zref-clever yquant__source yquant__doc yquant xetexref__source xetexref xduts__source xduts__doc xduts witharrows__source witharrows__doc
+lstdigest=ebc5eae6aa0d1cc570abedb01cea15f2
+numpkg=6426
relstate=stable
-version=8454
+version=8464
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: Kb4HS88s5rOLB+P0aaeatupn3Uo100s0aGaXCADBGafB1i9LFM306tO2xQ+Ke/ZHHgCVFUHvwfCnnGptNF16eJ0qJZgdT64hZ9lEvsgU9h/yirpij/zGuuqScy8FTBezV4qNkIllZYRMJBiagqhJCqQ4vZUG1Dd6AkNUtB7c+kX5cJInf+mzA5oJgQUmRcdxpsL2SzoZ4EYh0nf6CBsovwcH3R/CXPVKaIpq2OTBnZ0ckIi1FKgTe4m54AZOzTsGIyqm3DuTkrZx2vQjqcTFQimf8+/V20o/0Hvs+GHRL423IEEgaowJGtntxGZvdc1gM+mAwNb6hZLcrZQt0MqwLA==
+;;;; signature/miktex: J8fcKGfvcbBkbQG4b0uMxgrYx7p8SYhVLFWUQcd54zNLIp6CXAWgJ/pcvjPZCHq47sbT7ACTpMCyGOPKFWXHVrC0mMiBB2qaKVPHQ6Y507pM5NV3jFGNFOiUdTgg8knajO5IzW2NIQRUPfzNq0EGbdtAYY6OEpO609C8pFMUpwBp/he1JQY6hvwBauUD1xhs8imNk35EJ3TXJZxWn0+OEcTCbjeuMDGucZPhLjI0VxfOfAKH1QpV1q/Hk2+pOPzoV90EfbFLSGJ/bZK4DIPD2Z2u9srXyIK9p2YUT7adbQbxjXDFjWRzOcK/G8GcCjVJkFzNkogGd61xWxxo+v4VXA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 749def9f90..772f022ec9 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:
-2023-03-05-02-02
+2023-03-06-02-02