summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname463
-rw-r--r--FILES.byname.gzbin2678299 -> 2680499 bytes
-rw-r--r--FILES.last07days2409
-rw-r--r--biblio/ctan-bibdata/ctan.bib41
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/LICENSE11
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/README.md67
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/K001-1.dat441
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/K001-2.dat1208
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude-1.pdfbin0 -> 31597 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.1350
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.mp98
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.pdfbin0 -> 26625 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.pngbin0 -> 34214 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1.mp37
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.pdfbin0 -> 18225 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.pngbin0 -> 40094 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2.mp34
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-001.pdfbin0 -> 1937 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-1.pdfbin0 -> 1986 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-2.pdfbin0 -> 1892 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.00176
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.mp58
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-1.pdfbin0 -> 2430 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-2.pdfbin0 -> 2131 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-3.pdfbin0 -> 19759 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-4.pdfbin0 -> 9772 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse.mp105
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper-1.pdfbin0 -> 28292 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper.mp41
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers-1.pdfbin0 -> 5732 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers.mp126
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01-1.pdfbin0 -> 31695 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01.mp38
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02-1.pdfbin0 -> 31309 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02.mp35
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03-1.pdfbin0 -> 25836 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03.mp21
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04-1.pdfbin0 -> 29400 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04.mp37
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05-1.pdfbin0 -> 38450 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05.mp37
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06-1.pdfbin0 -> 31058 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06.mp31
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07-1.pdfbin0 -> 22960 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07.mp26
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08-1.pdfbin0 -> 23943 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08.mp38
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.dat441
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.pdfbin0 -> 37919 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-2.dat1208
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001.mp71
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach-1.pdfbin0 -> 19537 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach.mp54
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers-1.pdfbin0 -> 1738 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers.mp14
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const-1.pdfbin0 -> 32087 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const.mp66
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline-1.pdfbin0 -> 2952 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline.mp28
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point-0.pdfbin0 -> 4907 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.0446
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.mp25
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone-1.pdfbin0 -> 1863 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone.mp20
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs-1.pdfbin0 -> 1411 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs.mp14
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos-1.pdfbin0 -> 12489 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos.mp10
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1-1.pdfbin0 -> 37607 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1.mp25
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2-1.pdfbin0 -> 40524 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2.mp53
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01-1.pdfbin0 -> 29506 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01.mp40
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02-1.pdfbin0 -> 42776 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02.mp52
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03-1.pdfbin0 -> 154913 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03.mp33
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04-1.pdfbin0 -> 23279 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04.mp44
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05-1.pdfbin0 -> 27696 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05.mp57
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06-1.pdfbin0 -> 22415 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06.mp42
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07-1.pdfbin0 -> 28245 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07.mp29
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mptextmp.mp1
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mpxerr.tex14
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1-1.pdfbin0 -> 11287 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1.mp49
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2-1.pdfbin0 -> 19276 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2.mp69
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette-1.pdfbin0 -> 26385 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.12343
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.mp168
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie-1.pdfbin0 -> 2073 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie.mp36
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion-1.pdfbin0 -> 11418 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion.mp40
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie-1.pdfbin0 -> 3952 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie.mp26
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale-1.pdfbin0 -> 4076 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale.mp27
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius-1.pdfbin0 -> 12167 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius.mp90
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale-1.pdfbin0 -> 23243 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale.mp106
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles-1.pdfbin0 -> 10977 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles.mp27
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur-1.pdfbin0 -> 1382 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur.mp10
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/figure.pdfbin0 -> 18375 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/fond.pdfbin0 -> 1309 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/locctan.bib67
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.pdfbin0 -> 660409 bytes
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.tex3456
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/doc/solution0.dat101
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-arc.mp56
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-c2d.mp300
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-fct.mp22
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-lbl.mp84
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-main.mp1051
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-plt.mp97
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-rep.mp136
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-svgnames.mp152
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-tra.mp44
-rw-r--r--graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d.mp14
-rw-r--r--graphics/pgf/contrib/tikz-decofonts/README.md8
-rw-r--r--graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.pdfbin0 -> 132464 bytes
-rw-r--r--graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.tex344
-rw-r--r--graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.pdfbin0 -> 17239 bytes
-rw-r--r--graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.tex11
-rw-r--r--graphics/pgf/contrib/tikz-decofonts/tex/tikz-decofonts.sty896
-rw-r--r--macros/latex/contrib/animate/ChangeLog3
-rw-r--r--macros/latex/contrib/animate/README.md2
-rw-r--r--macros/latex/contrib/animate/animate.pdfbin3797724 -> 3598923 bytes
-rw-r--r--macros/latex/contrib/animate/animate.sty5
-rw-r--r--macros/latex/contrib/animate/files/pstmetronome.tex233
-rw-r--r--macros/latex/contrib/numbersets/README.md29
-rw-r--r--macros/latex/contrib/numbersets/numbersets-doc.pdfbin0 -> 59084 bytes
-rw-r--r--macros/latex/contrib/numbersets/numbersets-doc.tex301
-rw-r--r--macros/latex/contrib/numbersets/numbersets.sty120
-rw-r--r--macros/luatex/generic/luatexja/README6
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin700025 -> 700002 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1143813 -> 1144831 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja.dtx23
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-adjust.lua34
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfmglue.lua6
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja-core.sty5
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty2
-rw-r--r--timestamp2
151 files changed, 16905 insertions, 2311 deletions
diff --git a/FILES.byname b/FILES.byname
index d1e4a35f84..4e81bd79c3 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2147,12 +2147,12 @@
2024/10/05 | 1837 | biblio/citation-style-language/README.md
2024/10/05 | 12878 | biblio/citation-style-language/vancouver.csl
2024/10/05 | 4673585 | biblio/citation-style-language.zip
-2024/10/13 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/10/14 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2024/10/13 | 2892526 | biblio/ctan-bibdata/ctan.bib
-2024/10/13 | 3790528 | biblio/ctan-bibdata/ctan.pdf
+2024/10/14 | 2892527 | biblio/ctan-bibdata/ctan.bib
+2024/10/14 | 3790528 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2024/10/13 | 4207107 | biblio/ctan-bibdata.zip
+2024/10/14 | 4207078 | 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
@@ -5514,7 +5514,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2024/10/13 | 240034 | FILES.last07days
+2024/10/14 | 275690 | 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
@@ -171283,6 +171283,130 @@
2011/07/15 | 5007 | graphics/metapost/contrib/macros/mpcolornames/source/metapost/mpcolornames/spec-xcolor-sty.awk
2011/07/15 | 1393 | graphics/metapost/contrib/macros/mpcolornames/source/metapost/mpcolornames/tab-clash-svg-dvips.awk
2011/07/15 | 134370 | graphics/metapost/contrib/macros/mpcolornames.zip
+2024/10/13 | 17171 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.1
+2024/10/13 | 31597 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude-1.pdf
+2024/10/13 | 3104 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.mp
+2024/10/13 | 26625 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.pdf
+2024/10/13 | 34214 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.png
+2024/10/13 | 546 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1.mp
+2024/10/13 | 18225 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.pdf
+2024/10/13 | 40094 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.png
+2024/10/13 | 509 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2.mp
+2024/10/13 | 4050 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.001
+2024/10/13 | 1937 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-001.pdf
+2024/10/13 | 1986 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-1.pdf
+2024/10/13 | 1892 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-2.pdf
+2024/10/13 | 767 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.mp
+2024/10/13 | 2430 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-1.pdf
+2024/10/13 | 2131 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-2.pdf
+2024/10/13 | 19759 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-3.pdf
+2024/10/13 | 9772 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-4.pdf
+2024/10/13 | 1947 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse.mp
+2024/10/13 | 28292 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper-1.pdf
+2024/10/13 | 1208 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper.mp
+2024/10/13 | 5732 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers-1.pdf
+2024/10/13 | 4302 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers.mp
+2024/10/13 | 31695 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01-1.pdf
+2024/10/13 | 870 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01.mp
+2024/10/13 | 31309 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02-1.pdf
+2024/10/13 | 756 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02.mp
+2024/10/13 | 25836 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03-1.pdf
+2024/10/13 | 343 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03.mp
+2024/10/13 | 29400 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04-1.pdf
+2024/10/13 | 844 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04.mp
+2024/10/13 | 38450 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05-1.pdf
+2024/10/13 | 845 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05.mp
+2024/10/13 | 31058 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06-1.pdf
+2024/10/13 | 627 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06.mp
+2024/10/13 | 22960 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07-1.pdf
+2024/10/13 | 476 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07.mp
+2024/10/13 | 23943 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08-1.pdf
+2024/10/13 | 817 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08.mp
+2024/10/13 | 7626 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.dat
+2024/10/13 | 37919 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.pdf
+2024/10/13 | 19830 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-2.dat
+2024/10/13 | 1445 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001.mp
+2024/10/13 | 19537 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach-1.pdf
+2024/10/13 | 1129 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach.mp
+2024/10/13 | 1738 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers-1.pdf
+2024/10/13 | 157 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers.mp
+2024/10/13 | 32087 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const-1.pdf
+2024/10/13 | 1667 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const.mp
+2024/10/13 | 2952 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline-1.pdf
+2024/10/13 | 793 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline.mp
+2024/10/13 | 24900 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.0
+2024/10/13 | 4907 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point-0.pdf
+2024/10/13 | 297 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.mp
+2024/10/13 | 1863 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone-1.pdf
+2024/10/13 | 328 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone.mp
+2024/10/13 | 1411 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs-1.pdf
+2024/10/13 | 226 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs.mp
+2024/10/13 | 12489 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos-1.pdf
+2024/10/13 | 149 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos.mp
+2024/10/13 | 37607 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1-1.pdf
+2024/10/13 | 443 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1.mp
+2024/10/13 | 40524 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2-1.pdf
+2024/10/13 | 1760 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2.mp
+2024/10/13 | 29506 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01-1.pdf
+2024/10/13 | 1310 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01.mp
+2024/10/13 | 42776 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02-1.pdf
+2024/10/13 | 1499 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02.mp
+2024/10/13 | 154913 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03-1.pdf
+2024/10/13 | 695 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03.mp
+2024/10/13 | 23279 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04-1.pdf
+2024/10/13 | 1091 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04.mp
+2024/10/13 | 27696 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05-1.pdf
+2024/10/13 | 1655 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05.mp
+2024/10/13 | 22415 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06-1.pdf
+2024/10/13 | 976 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06.mp
+2024/10/13 | 28245 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07-1.pdf
+2024/10/13 | 509 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07.mp
+2024/10/13 | 23 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mptextmp.mp
+2024/10/13 | 437 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mpxerr.tex
+2024/10/13 | 11287 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1-1.pdf
+2024/10/13 | 984 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1.mp
+2024/10/13 | 19276 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2-1.pdf
+2024/10/13 | 1686 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2.mp
+2024/10/13 | 60628 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.1
+2024/10/13 | 26385 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette-1.pdf
+2024/10/13 | 2549 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.mp
+2024/10/13 | 2073 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie-1.pdf
+2024/10/13 | 615 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie.mp
+2024/10/13 | 11418 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion-1.pdf
+2024/10/13 | 607 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion.mp
+2024/10/13 | 3952 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie-1.pdf
+2024/10/13 | 4076 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale-1.pdf
+2024/10/13 | 389 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale.mp
+2024/10/13 | 354 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie.mp
+2024/10/13 | 12167 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius-1.pdf
+2024/10/13 | 1884 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius.mp
+2024/10/13 | 23243 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale-1.pdf
+2024/10/13 | 3113 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale.mp
+2024/10/13 | 10977 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles-1.pdf
+2024/10/13 | 488 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles.mp
+2024/10/13 | 1382 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur-1.pdf
+2024/10/13 | 115 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur.mp
+2024/10/13 | 18375 | graphics/metapost/contrib/macros/mp-geom2d/doc/figure.pdf
+2024/10/13 | 1309 | graphics/metapost/contrib/macros/mp-geom2d/doc/fond.pdf
+2024/10/13 | 7626 | graphics/metapost/contrib/macros/mp-geom2d/doc/K001-1.dat
+2024/10/13 | 19830 | graphics/metapost/contrib/macros/mp-geom2d/doc/K001-2.dat
+2024/10/13 | 2682 | graphics/metapost/contrib/macros/mp-geom2d/doc/locctan.bib
+2024/10/13 | 660409 | graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.pdf
+2024/10/13 | 106881 | graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.tex
+2024/10/13 | 1721 | graphics/metapost/contrib/macros/mp-geom2d/doc/solution0.dat
+2024/10/13 | 415 | graphics/metapost/contrib/macros/mp-geom2d/LICENSE
+2024/10/13 | 1527 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-arc.mp
+2024/10/13 | 7280 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-c2d.mp
+2024/10/13 | 627 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-fct.mp
+2024/10/13 | 1824 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-lbl.mp
+2024/10/13 | 30184 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-main.mp
+2024/10/13 | 222 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d.mp
+2024/10/13 | 3063 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-plt.mp
+2024/10/13 | 4203 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-rep.mp
+2024/10/13 | 6579 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-svgnames.mp
+2024/10/13 | 1156 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-tra.mp
+2024/10/13 | 1345 | graphics/metapost/contrib/macros/mp-geom2d/README.md
+2024/10/14 | 1838445 | graphics/metapost/contrib/macros/mp-geom2d.zip
2024/05/22 | 2823 | graphics/metapost/contrib/macros/mpkiviat/doc/ctan.bib
2024/05/22 | 1309 | graphics/metapost/contrib/macros/mpkiviat/doc/fond.pdf
2024/05/22 | 108472 | graphics/metapost/contrib/macros/mpkiviat/doc/mpkiviat-doc.pdf
@@ -174096,6 +174220,13 @@
2020/04/06 | 29026 | graphics/pgf/contrib/tikzcodeblocks/tikzcodeblocks-documentation.tex
2020/04/06 | 26311 | graphics/pgf/contrib/tikzcodeblocks/tikzcodeblocks.sty
2020/04/06 | 488871 | graphics/pgf/contrib/tikzcodeblocks.zip
+2024/10/14 | 132464 | graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.pdf
+2024/10/14 | 9414 | graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.tex
+2024/10/14 | 17239 | graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.pdf
+2024/10/14 | 254 | graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.tex
+2024/10/13 | 688 | graphics/pgf/contrib/tikz-decofonts/README.md
+2024/10/14 | 39590 | graphics/pgf/contrib/tikz-decofonts/tex/tikz-decofonts.sty
+2024/10/14 | 158123 | graphics/pgf/contrib/tikz-decofonts.zip
2016/11/07 | 42 | graphics/pgf/contrib/tikz-dependency/AUTHORS
2016/11/07 | 1131 | graphics/pgf/contrib/tikz-dependency/LICENSE
2016/11/07 | 2490 | graphics/pgf/contrib/tikz-dependency/pgfmanual.code.tex
@@ -207424,7 +207555,7 @@
2015/08/04 | 140785 | install/macros/latex/contrib/alertmessage.tds.zip
2019/12/09 | 365186 | install/macros/latex/contrib/alphalph.tds.zip
2013/03/08 | 2249874 | install/macros/latex/contrib/amsrefs.tds.zip
-2024/09/17 | 3233469 | install/macros/latex/contrib/animate.tds.zip
+2024/10/14 | 3230241 | install/macros/latex/contrib/animate.tds.zip
2014/08/24 | 220789 | install/macros/latex/contrib/answers.tds.zip
2020/01/15 | 195222 | install/macros/latex/contrib/ascmac.tds.zip
2010/03/20 | 235440 | install/macros/latex/contrib/asyfig.tds.zip
@@ -225258,19 +225389,20 @@
2007/10/11 | 13856 | macros/latex/contrib/analogclock/clock.ttf
2008/12/22 | 551 | macros/latex/contrib/analogclock/README
2008/12/22 | 69900 | macros/latex/contrib/analogclock.zip
-2024/09/17 | 3797724 | macros/latex/contrib/animate/animate.pdf
-2024/09/17 | 138873 | macros/latex/contrib/animate/animate.sty
-2024/09/17 | 87045 | macros/latex/contrib/animate/animate.tex
-2024/09/17 | 13552 | macros/latex/contrib/animate/ChangeLog
-2018/06/26 | 8561 | macros/latex/contrib/animate/files/bye_0.eps
-2018/06/26 | 8342 | macros/latex/contrib/animate/files/bye_1.eps
-2018/06/26 | 8561 | macros/latex/contrib/animate/files/bye_2.eps
-2018/06/26 | 8342 | macros/latex/contrib/animate/files/bye_3.eps
-2018/06/26 | 2574 | macros/latex/contrib/animate/files/click.mp3
-2022/01/26 | 2286 | macros/latex/contrib/animate/files/exp.mp
-2022/01/21 | 3127 | macros/latex/contrib/animate/files/scarab.mp
-2024/09/17 | 4266 | macros/latex/contrib/animate/README.md
-2024/09/17 | 3231192 | macros/latex/contrib/animate.zip
+2024/10/14 | 3598923 | macros/latex/contrib/animate/animate.pdf
+2024/10/14 | 138944 | macros/latex/contrib/animate/animate.sty
+2024/09/19 | 87045 | macros/latex/contrib/animate/animate.tex
+2024/10/14 | 13601 | macros/latex/contrib/animate/ChangeLog
+2020/03/11 | 8561 | macros/latex/contrib/animate/files/bye_0.eps
+2020/03/11 | 8342 | macros/latex/contrib/animate/files/bye_1.eps
+2020/03/11 | 8561 | macros/latex/contrib/animate/files/bye_2.eps
+2020/03/11 | 8342 | macros/latex/contrib/animate/files/bye_3.eps
+2020/03/11 | 2574 | macros/latex/contrib/animate/files/click.mp3
+2022/01/25 | 2286 | macros/latex/contrib/animate/files/exp.mp
+2024/10/14 | 9589 | macros/latex/contrib/animate/files/pstmetronome.tex
+2022/01/25 | 3127 | macros/latex/contrib/animate/files/scarab.mp
+2024/09/19 | 4319 | macros/latex/contrib/animate/README.md
+2024/10/14 | 3227892 | macros/latex/contrib/animate.zip
2020/07/29 | 19402 | macros/latex/contrib/annee-scolaire/annee-scolaire.dtx
2020/07/29 | 467107 | macros/latex/contrib/annee-scolaire/annee-scolaire-eng.pdf
2020/07/29 | 489195 | macros/latex/contrib/annee-scolaire/annee-scolaire-fra.pdf
@@ -245488,6 +245620,11 @@
2019/07/13 | 325870 | macros/latex/contrib/numberpt/numberpt.pdf
2019/07/13 | 1228 | macros/latex/contrib/numberpt/README.md
2019/07/14 | 329465 | macros/latex/contrib/numberpt.zip
+2024/10/14 | 59084 | macros/latex/contrib/numbersets/numbersets-doc.pdf
+2024/10/14 | 12618 | macros/latex/contrib/numbersets/numbersets-doc.tex
+2024/10/14 | 2715 | macros/latex/contrib/numbersets/numbersets.sty
+2024/10/14 | 1336 | macros/latex/contrib/numbersets/README.md
+2024/10/14 | 62261 | macros/latex/contrib/numbersets.zip
2015/05/08 | 183481 | macros/latex/contrib/numending/numending.pdf
2015/03/16 | 301 | macros/latex/contrib/numending/numending.sty
2015/05/08 | 278 | macros/latex/contrib/numending/README
@@ -261127,117 +261264,117 @@
2015/10/04 | 263467 | macros/luatex/generic/luatexbase/luatexbase.pdf
2015/10/04 | 450 | macros/luatex/generic/luatexbase/README.md
2015/10/04 | 270547 | macros/luatex/generic/luatexbase.zip
-2024/09/08 | 1536 | macros/luatex/generic/luatexja/COPYING
-2024/09/08 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
-2024/09/08 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
-2024/09/08 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
-2024/09/08 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
-2024/09/08 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
-2024/09/08 | 403681 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
-2024/09/08 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
-2024/09/08 | 461972 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
-2024/09/08 | 541298 | macros/luatex/generic/luatexja/doc/luatexja.dtx
-2024/09/08 | 700025 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
-2024/09/08 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
-2024/09/08 | 1143813 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
-2024/09/08 | 416321 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
-2024/09/08 | 64079 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
-2024/09/08 | 3658 | macros/luatex/generic/luatexja/README
-2024/09/08 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
-2024/09/08 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
-2024/09/08 | 16546 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
-2024/09/08 | 16546 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
-2024/09/08 | 16533 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
-2024/09/08 | 1839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
-2024/09/08 | 6922 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
-2024/09/08 | 29740 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
-2024/09/08 | 10800 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
-2024/09/08 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
-2024/09/08 | 2599 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
-2024/09/08 | 2203 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
-2024/09/08 | 2340 | macros/luatex/generic/luatexja/src/jfm-jis.lua
-2024/09/08 | 2582 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
-2024/09/08 | 8103 | macros/luatex/generic/luatexja/src/jfm-min.lua
-2024/09/08 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
-2024/09/08 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
-2024/09/08 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
-2024/09/08 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
-2024/09/08 | 2573 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
-2024/09/08 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
-2024/09/08 | 13895 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
-2024/09/08 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
-2024/09/08 | 28544 | macros/luatex/generic/luatexja/src/lltjext.sty
-2024/09/08 | 22125 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
-2024/09/08 | 12816 | macros/luatex/generic/luatexja/src/ltj-base.lua
-2024/09/08 | 6289 | macros/luatex/generic/luatexja/src/ltj-base.sty
-2024/09/08 | 4215 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
-2024/09/08 | 178115 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
-2024/09/08 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
-2024/09/08 | 3756 | macros/luatex/generic/luatexja/src/ltj-compat.lua
-2024/09/08 | 5230 | macros/luatex/generic/luatexja/src/ltj-debug.lua
-2024/09/08 | 40540 | macros/luatex/generic/luatexja/src/ltj-direction.lua
-2024/09/08 | 3650 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
-2024/09/08 | 155034 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
-2024/09/08 | 55428 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
-2024/09/08 | 49172 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
-2024/09/08 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
-2024/09/08 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
-2024/09/08 | 4998 | macros/luatex/generic/luatexja/src/ltj-latex.sty
-2024/09/08 | 4201 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
-2024/09/08 | 5931 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
-2024/09/08 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
-2024/09/08 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
-2024/09/08 | 7546 | macros/luatex/generic/luatexja/src/ltj-math.lua
-2024/09/08 | 8695 | macros/luatex/generic/luatexja/src/ltj-otf.lua
-2024/09/08 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty
-2024/09/08 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
-2024/09/08 | 15464 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
-2024/09/08 | 38688 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
-2024/09/08 | 189980 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
-2024/09/08 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
-2024/09/08 | 13577 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
-2024/09/08 | 4521 | macros/luatex/generic/luatexja/src/ltj-stack.lua
-2024/09/08 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
-2024/09/08 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
-2024/09/08 | 29891 | macros/luatex/generic/luatexja/src/luatexja-core.sty
-2024/09/08 | 22838 | macros/luatex/generic/luatexja/src/luatexja.lua
-2024/09/08 | 1973 | macros/luatex/generic/luatexja/src/luatexja.sty
-2024/09/08 | 13461 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
-2024/09/08 | 5573 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
-2024/09/08 | 39902 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
-2024/09/08 | 956 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
-2024/09/08 | 2152 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
-2024/09/08 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
-2024/09/08 | 425 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
-2024/09/08 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
-2024/09/08 | 272 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
-2024/09/08 | 18655 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
-2024/09/08 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
-2024/09/08 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
-2024/09/08 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
-2024/09/08 | 1746 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
-2024/09/08 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
-2024/09/08 | 6135 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
-2024/09/08 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
-2024/09/08 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
-2024/09/08 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
-2024/09/08 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
-2024/09/08 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
-2024/09/08 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
-2024/09/08 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
-2024/09/08 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
-2024/09/08 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
-2024/09/08 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
-2024/09/08 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
-2024/09/08 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
-2024/09/08 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
-2024/09/08 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
-2024/09/08 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
-2024/09/08 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
-2024/09/08 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
-2024/09/08 | 1740 | macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex
-2024/09/08 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
-2024/09/08 | 3859031 | macros/luatex/generic/luatexja.zip
+2024/10/14 | 1536 | macros/luatex/generic/luatexja/COPYING
+2024/10/14 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
+2024/10/14 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
+2024/10/14 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2024/10/14 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
+2024/10/14 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
+2024/10/14 | 403681 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+2024/10/14 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
+2024/10/14 | 461972 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
+2024/10/14 | 542051 | macros/luatex/generic/luatexja/doc/luatexja.dtx
+2024/10/14 | 700002 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+2024/10/14 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
+2024/10/14 | 1144831 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+2024/10/14 | 416321 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
+2024/10/14 | 64079 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
+2024/10/14 | 3659 | macros/luatex/generic/luatexja/README
+2024/10/14 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+2024/10/14 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
+2024/10/14 | 16546 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+2024/10/14 | 16546 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
+2024/10/14 | 16533 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
+2024/10/14 | 1839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+2024/10/14 | 6922 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
+2024/10/14 | 29740 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+2024/10/14 | 10800 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
+2024/10/14 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
+2024/10/14 | 2599 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
+2024/10/14 | 2203 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
+2024/10/14 | 2340 | macros/luatex/generic/luatexja/src/jfm-jis.lua
+2024/10/14 | 2582 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+2024/10/14 | 8103 | macros/luatex/generic/luatexja/src/jfm-min.lua
+2024/10/14 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
+2024/10/14 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
+2024/10/14 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
+2024/10/14 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
+2024/10/14 | 2573 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
+2024/10/14 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
+2024/10/14 | 13895 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
+2024/10/14 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
+2024/10/14 | 28544 | macros/luatex/generic/luatexja/src/lltjext.sty
+2024/10/14 | 23253 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
+2024/10/14 | 12816 | macros/luatex/generic/luatexja/src/ltj-base.lua
+2024/10/14 | 6289 | macros/luatex/generic/luatexja/src/ltj-base.sty
+2024/10/14 | 4215 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
+2024/10/14 | 178115 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2024/10/14 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
+2024/10/14 | 3756 | macros/luatex/generic/luatexja/src/ltj-compat.lua
+2024/10/14 | 5230 | macros/luatex/generic/luatexja/src/ltj-debug.lua
+2024/10/14 | 40540 | macros/luatex/generic/luatexja/src/ltj-direction.lua
+2024/10/14 | 3650 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+2024/10/14 | 155034 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+2024/10/14 | 55593 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+2024/10/14 | 49172 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
+2024/10/14 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
+2024/10/14 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
+2024/10/14 | 4998 | macros/luatex/generic/luatexja/src/ltj-latex.sty
+2024/10/14 | 4201 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+2024/10/14 | 5931 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+2024/10/14 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
+2024/10/14 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
+2024/10/14 | 7546 | macros/luatex/generic/luatexja/src/ltj-math.lua
+2024/10/14 | 8695 | macros/luatex/generic/luatexja/src/ltj-otf.lua
+2024/10/14 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty
+2024/10/14 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+2024/10/14 | 15464 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+2024/10/14 | 38688 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
+2024/10/14 | 189980 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+2024/10/14 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
+2024/10/14 | 13577 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+2024/10/14 | 4521 | macros/luatex/generic/luatexja/src/ltj-stack.lua
+2024/10/14 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+2024/10/14 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
+2024/10/14 | 29886 | macros/luatex/generic/luatexja/src/luatexja-core.sty
+2024/10/14 | 22838 | macros/luatex/generic/luatexja/src/luatexja.lua
+2024/10/14 | 1973 | macros/luatex/generic/luatexja/src/luatexja.sty
+2024/10/14 | 13461 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
+2024/10/14 | 5573 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+2024/10/14 | 39902 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+2024/10/14 | 956 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+2024/10/14 | 2152 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+2024/10/14 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
+2024/10/14 | 425 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
+2024/10/14 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+2024/10/14 | 272 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
+2024/10/14 | 18655 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+2024/10/14 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
+2024/10/14 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+2024/10/14 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
+2024/10/14 | 1746 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+2024/10/14 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
+2024/10/14 | 6135 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
+2024/10/14 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+2024/10/14 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
+2024/10/14 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
+2024/10/14 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
+2024/10/14 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
+2024/10/14 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
+2024/10/14 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
+2024/10/14 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
+2024/10/14 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
+2024/10/14 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
+2024/10/14 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+2024/10/14 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
+2024/10/14 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
+2024/10/14 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
+2024/10/14 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
+2024/10/14 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+2024/10/14 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
+2024/10/14 | 1740 | macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex
+2024/10/14 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
+2024/10/14 | 3860424 | macros/luatex/generic/luatexja.zip
2023/09/11 | 9502 | macros/luatex/generic/luatexko/ChangeLog
2023/09/11 | 339895 | macros/luatex/generic/luatexko/luatexko-doc.pdf
2023/09/11 | 35829 | macros/luatex/generic/luatexko/luatexko-doc.tex
@@ -303467,7 +303604,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2024/10/11 | 262956 | support/TeX4ht/source/ChangeLog
+2024/10/13 | 263144 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -303479,7 +303616,7 @@
2021/05/03 | 1121 | support/TeX4ht/source/README
2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua
2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex
-2024/10/11 | 1211722 | support/TeX4ht/source/tex4ht-4ht.tex
+2024/10/13 | 1212880 | support/TeX4ht/source/tex4ht-4ht.tex
2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex
2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex
2023/10/16 | 21307 | support/TeX4ht/source/tex4ht-cond4ht.tex
@@ -303518,7 +303655,7 @@
2021/05/03 | 3741 | support/TeX4ht/source/tex4ht-info-mml.tex
2021/05/03 | 2526 | support/TeX4ht/source/tex4ht-info-ooffice.tex
2021/05/03 | 4137 | support/TeX4ht/source/tex4ht-info-svg.tex
-2024/09/30 | 104946 | support/TeX4ht/source/tex4ht-info.tex
+2024/10/13 | 104940 | support/TeX4ht/source/tex4ht-info.tex
2024/08/13 | 27024 | support/TeX4ht/source/tex4ht-jats.tex
2021/05/03 | 42210 | support/TeX4ht/source/tex4ht-javahelp.tex
2021/05/03 | 15087 | support/TeX4ht/source/tex4ht-javahelp-xtpipes.tex
@@ -311098,9 +311235,9 @@
2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz
2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz
2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz
-2024/10/11 | 676220 | systems/texlive/tlnet/archive/easybook.doc.r72517.tar.xz
-2024/10/11 | 19924 | systems/texlive/tlnet/archive/easybook.r72517.tar.xz
-2024/10/11 | 19816 | systems/texlive/tlnet/archive/easybook.source.r72517.tar.xz
+2024/10/14 | 676516 | systems/texlive/tlnet/archive/easybook.doc.r72537.tar.xz
+2024/10/14 | 19996 | systems/texlive/tlnet/archive/easybook.r72537.tar.xz
+2024/10/14 | 19868 | systems/texlive/tlnet/archive/easybook.source.r72537.tar.xz
2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz
2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.aarch64-linux.r68514.tar.xz
2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.amd64-freebsd.r68514.tar.xz
@@ -313077,8 +313214,8 @@
2024/10/04 | 15660 | systems/texlive/tlnet/archive/hvfloat.r72452.tar.xz
2019/02/28 | 76336 | systems/texlive/tlnet/archive/hvindex.doc.r46051.tar.xz
2019/02/28 | 1672 | systems/texlive/tlnet/archive/hvindex.r46051.tar.xz
-2024/01/25 | 87044 | systems/texlive/tlnet/archive/hvlogos.doc.r69581.tar.xz
-2024/01/25 | 2796 | systems/texlive/tlnet/archive/hvlogos.r69581.tar.xz
+2024/10/14 | 89640 | systems/texlive/tlnet/archive/hvlogos.doc.r72538.tar.xz
+2024/10/14 | 2848 | systems/texlive/tlnet/archive/hvlogos.r72538.tar.xz
2022/03/05 | 22308 | systems/texlive/tlnet/archive/hvpygmentex.doc.r62405.tar.xz
2022/03/05 | 3576 | systems/texlive/tlnet/archive/hvpygmentex.r62405.tar.xz
2024/05/27 | 123452 | systems/texlive/tlnet/archive/hvqrurl.doc.r71361.tar.xz
@@ -314483,8 +314620,8 @@
2024/03/27 | 3436 | systems/texlive/tlnet/archive/litebook.r70777.tar.xz
2024/08/16 | 643420 | systems/texlive/tlnet/archive/litesolution.doc.r72036.tar.xz
2024/08/16 | 4480 | systems/texlive/tlnet/archive/litesolution.r72036.tar.xz
-2024/10/10 | 714192 | systems/texlive/tlnet/archive/litetable.doc.r72508.tar.xz
-2024/10/10 | 3592 | systems/texlive/tlnet/archive/litetable.r72508.tar.xz
+2024/10/14 | 324712 | systems/texlive/tlnet/archive/litetable.doc.r72539.tar.xz
+2024/10/14 | 3576 | systems/texlive/tlnet/archive/litetable.r72539.tar.xz
2023/03/08 | 56116 | systems/texlive/tlnet/archive/lithuanian.doc.r66461.tar.xz
2023/03/08 | 64828 | systems/texlive/tlnet/archive/lithuanian.r66461.tar.xz
2019/02/28 | 115684 | systems/texlive/tlnet/archive/liturg.doc.r15878.tar.xz
@@ -318987,8 +319124,8 @@
2024/03/08 | 2620 | systems/texlive/tlnet/archive/styledcmd.r70491.tar.xz
2024/03/08 | 6088 | systems/texlive/tlnet/archive/styledcmd.source.r70491.tar.xz
2019/02/28 | 544 | systems/texlive/tlnet/archive/suanpan.doc.r15878.tar.xz
-2024/10/09 | 438508 | systems/texlive/tlnet/archive/suanpan-l3.doc.r72496.tar.xz
-2024/10/09 | 8028 | systems/texlive/tlnet/archive/suanpan-l3.r72496.tar.xz
+2024/10/14 | 438584 | systems/texlive/tlnet/archive/suanpan-l3.doc.r72540.tar.xz
+2024/10/14 | 7940 | systems/texlive/tlnet/archive/suanpan-l3.r72540.tar.xz
2019/02/28 | 4528 | systems/texlive/tlnet/archive/suanpan.r15878.tar.xz
2019/02/28 | 95520 | systems/texlive/tlnet/archive/subdepth.doc.r15878.tar.xz
2019/02/28 | 1644 | systems/texlive/tlnet/archive/subdepth.r15878.tar.xz
@@ -319326,13 +319463,13 @@
2024/03/01 | 90916 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r70276.tar.xz
2024/03/01 | 88408 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r70286.tar.xz
2024/03/08 | 70304 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r70489.tar.xz
-2024/10/12 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r72528.tar.xz
+2024/10/14 | 136388 | systems/texlive/tlnet/archive/tex4ht.doc.r72541.tar.xz
2024/03/01 | 90856 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r70276.tar.xz
2024/03/01 | 91840 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r70276.tar.xz
2024/03/01 | 76840 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r70286.tar.xz
2024/03/01 | 86840 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r70276.tar.xz
-2024/10/12 | 1137396 | systems/texlive/tlnet/archive/tex4ht.r72528.tar.xz
-2024/10/12 | 1498832 | systems/texlive/tlnet/archive/tex4ht.source.r72528.tar.xz
+2024/10/14 | 1137564 | systems/texlive/tlnet/archive/tex4ht.r72541.tar.xz
+2024/10/14 | 1501428 | systems/texlive/tlnet/archive/tex4ht.source.r72541.tar.xz
2024/03/01 | 185964 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r70274.tar.xz
2024/03/01 | 61988 | systems/texlive/tlnet/archive/tex4ht.windows.r70269.tar.xz
2024/03/11 | 57948 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r70560.tar.xz
@@ -319610,7 +319747,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2024/10/12 | 437828 | systems/texlive/tlnet/archive/texlive-scripts.doc.r72529.tar.xz
+2024/10/14 | 437828 | systems/texlive/tlnet/archive/texlive-scripts.doc.r72543.tar.xz
2024/07/09 | 908 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r71749.tar.xz
2024/07/09 | 920 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r71749.tar.xz
2024/07/09 | 908 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r71749.tar.xz
@@ -319632,7 +319769,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2024/10/12 | 114416 | systems/texlive/tlnet/archive/texlive-scripts.r72529.tar.xz
+2024/10/14 | 114380 | systems/texlive/tlnet/archive/texlive-scripts.r72543.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2024/05/10 | 60592 | systems/texlive/tlnet/archive/texlive-scripts.windows.r71215.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -321593,16 +321730,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2024/07/20 | 125851 | systems/texlive/tlnet/install-tl
-2024/10/13 | 5756714 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2024/10/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/10/13 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/10/14 | 5756939 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/10/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/10/14 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/04/13 | 5743 | systems/texlive/tlnet/install-tl-windows.bat
-2024/10/13 | 27715185 | systems/texlive/tlnet/install-tl-windows.exe
-2024/10/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/10/13 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/10/13 | 34429462 | systems/texlive/tlnet/install-tl.zip
-2024/10/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/10/13 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/10/14 | 27713846 | systems/texlive/tlnet/install-tl-windows.exe
+2024/10/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/10/14 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/10/14 | 34429453 | systems/texlive/tlnet/install-tl.zip
+2024/10/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/10/14 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2024/03/13 | 1229 | systems/texlive/tlnet/README.md
2024/03/13 | 0 | systems/texlive/tlnet/TEXLIVE_2024
2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -321612,7 +321749,7 @@
2024/01/02 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2024/07/29 | 50743 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2024/10/12 | 7386 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/10/14 | 7382 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/09/25 | 234847 | 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
@@ -321654,12 +321791,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2024/05/02 | 5898 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2024/10/13 | 19627876 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/10/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/10/14 | 19627877 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/10/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2024/06/22 | 87725 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2024/10/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2024/10/13 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/10/13 | 2603180 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/10/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/10/14 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/10/14 | 2600184 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -333376,7 +333513,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2024/10/14 | 186 | timestamp
+2024/10/15 | 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 f5a2f1a875..a8a30294b2 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 8c60c9c677..8f993a61f4 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,7 +1,172 @@
+2024/10/14 | 9589 | macros/latex/contrib/animate/files/pstmetronome.tex
+2024/10/14 | 956 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+2024/10/14 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+2024/10/14 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
+2024/10/14 | 9414 | graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.tex
+2024/10/14 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
+2024/10/14 | 89640 | systems/texlive/tlnet/archive/hvlogos.doc.r72538.tar.xz
+2024/10/14 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
+2024/10/14 | 8695 | macros/luatex/generic/luatexja/src/ltj-otf.lua
+2024/10/14 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
+2024/10/14 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
+2024/10/14 | 8103 | macros/luatex/generic/luatexja/src/jfm-min.lua
+2024/10/14 | 7940 | systems/texlive/tlnet/archive/suanpan-l3.r72540.tar.xz
+2024/10/14 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
+2024/10/14 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+2024/10/14 | 7546 | macros/luatex/generic/luatexja/src/ltj-math.lua
+2024/10/14 | 7382 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/10/14 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+2024/10/14 | 700002 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+2024/10/14 | 6922 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
+2024/10/14 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
+2024/10/14 | 676516 | systems/texlive/tlnet/archive/easybook.doc.r72537.tar.xz
+2024/10/14 | 64079 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
+2024/10/14 | 6289 | macros/luatex/generic/luatexja/src/ltj-base.sty
+2024/10/14 | 62261 | macros/latex/contrib/numbersets.zip
+2024/10/14 | 6135 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
+2024/10/14 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
+2024/10/14 | 5931 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+2024/10/14 | 59084 | macros/latex/contrib/numbersets/numbersets-doc.pdf
+2024/10/14 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+2024/10/14 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
+2024/10/14 | 5756939 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/10/14 | 5573 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+2024/10/14 | 55593 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+2024/10/14 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
+2024/10/14 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
+2024/10/14 | 542051 | macros/luatex/generic/luatexja/doc/luatexja.dtx
+2024/10/14 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+2024/10/14 | 5230 | macros/luatex/generic/luatexja/src/ltj-debug.lua
+2024/10/14 | 4998 | macros/luatex/generic/luatexja/src/ltj-latex.sty
+2024/10/14 | 49172 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
+2024/10/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/10/14 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/10/14 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/10/14 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/10/14 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/10/14 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
+2024/10/14 | 461972 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
+2024/10/14 | 4521 | macros/luatex/generic/luatexja/src/ltj-stack.lua
+2024/10/14 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty
+2024/10/14 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2024/10/14 | 438584 | systems/texlive/tlnet/archive/suanpan-l3.doc.r72540.tar.xz
+2024/10/14 | 437828 | systems/texlive/tlnet/archive/texlive-scripts.doc.r72543.tar.xz
+2024/10/14 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
+2024/10/14 | 425 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
+2024/10/14 | 4215 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
+2024/10/14 | 4207078 | biblio/ctan-bibdata.zip
+2024/10/14 | 4201 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+2024/10/14 | 416321 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
+2024/10/14 | 40540 | macros/luatex/generic/luatexja/src/ltj-direction.lua
+2024/10/14 | 403681 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+2024/10/14 | 39902 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+2024/10/14 | 39590 | graphics/pgf/contrib/tikz-decofonts/tex/tikz-decofonts.sty
+2024/10/14 | 38688 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
+2024/10/14 | 3860424 | macros/luatex/generic/luatexja.zip
+2024/10/14 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
+2024/10/14 | 3790528 | biblio/ctan-bibdata/ctan.pdf
+2024/10/14 | 3756 | macros/luatex/generic/luatexja/src/ltj-compat.lua
+2024/10/14 | 3659 | macros/luatex/generic/luatexja/README
+2024/10/14 | 3650 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+2024/10/14 | 3598923 | macros/latex/contrib/animate/animate.pdf
+2024/10/14 | 3576 | systems/texlive/tlnet/archive/litetable.r72539.tar.xz
+2024/10/14 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
+2024/10/14 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
+2024/10/14 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
+2024/10/14 | 34429453 | systems/texlive/tlnet/install-tl.zip
+2024/10/14 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
+2024/10/14 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
+2024/10/14 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+2024/10/14 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
+2024/10/14 | 324712 | systems/texlive/tlnet/archive/litetable.doc.r72539.tar.xz
+2024/10/14 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
+2024/10/14 | 3230241 | install/macros/latex/contrib/animate.tds.zip
+2024/10/14 | 3227892 | macros/latex/contrib/animate.zip
+2024/10/14 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
+2024/10/14 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
+2024/10/14 | 29886 | macros/luatex/generic/luatexja/src/luatexja-core.sty
+2024/10/14 | 29740 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+2024/10/14 | 2892527 | biblio/ctan-bibdata/ctan.bib
+2024/10/14 | 28544 | macros/luatex/generic/luatexja/src/lltjext.sty
+2024/10/14 | 2848 | systems/texlive/tlnet/archive/hvlogos.r72538.tar.xz
+2024/10/14 | 27713846 | systems/texlive/tlnet/install-tl-windows.exe
+2024/10/14 | 272 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
+2024/10/14 | 2715 | macros/latex/contrib/numbersets/numbersets.sty
+2024/10/14 | 2600184 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/10/14 | 2599 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
+2024/10/14 | 2582 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+2024/10/14 | 2573 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
+2024/10/14 | 254 | graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.tex
+2024/10/14 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+2024/10/14 | 2340 | macros/luatex/generic/luatexja/src/jfm-jis.lua
+2024/10/14 | 23253 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
+2024/10/14 | 22838 | macros/luatex/generic/luatexja/src/luatexja.lua
+2024/10/14 | 2203 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
+2024/10/14 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
+2024/10/14 | 2152 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+2024/10/14 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+2024/10/14 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
+2024/10/14 | 19996 | systems/texlive/tlnet/archive/easybook.r72537.tar.xz
+2024/10/14 | 19868 | systems/texlive/tlnet/archive/easybook.source.r72537.tar.xz
+2024/10/14 | 1973 | macros/luatex/generic/luatexja/src/luatexja.sty
+2024/10/14 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
+2024/10/14 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
+2024/10/14 | 19627877 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/10/14 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
+2024/10/14 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
+2024/10/14 | 189980 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+2024/10/14 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
+2024/10/14 | 18655 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+2024/10/14 | 1839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+2024/10/14 | 1838445 | graphics/metapost/contrib/macros/mp-geom2d.zip
+2024/10/14 | 178115 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2024/10/14 | 1746 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+2024/10/14 | 1740 | macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex
+2024/10/14 | 17239 | graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.pdf
+2024/10/14 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/10/14 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
+2024/10/14 | 16546 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
+2024/10/14 | 16546 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+2024/10/14 | 16533 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
+2024/10/14 | 158123 | graphics/pgf/contrib/tikz-decofonts.zip
+2024/10/14 | 155034 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+2024/10/14 | 15464 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+2024/10/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/10/14 | 1536 | macros/luatex/generic/luatexja/COPYING
+2024/10/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/10/14 | 1501428 | systems/texlive/tlnet/archive/tex4ht.source.r72541.tar.xz
+2024/10/14 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
+2024/10/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/10/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/10/14 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
+2024/10/14 | 13895 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
+2024/10/14 | 138944 | macros/latex/contrib/animate/animate.sty
+2024/10/14 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
+2024/10/14 | 136388 | systems/texlive/tlnet/archive/tex4ht.doc.r72541.tar.xz
+2024/10/14 | 13601 | macros/latex/contrib/animate/ChangeLog
+2024/10/14 | 13577 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+2024/10/14 | 13461 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
+2024/10/14 | 1336 | macros/latex/contrib/numbersets/README.md
+2024/10/14 | 132464 | graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.pdf
+2024/10/14 | 12816 | macros/luatex/generic/luatexja/src/ltj-base.lua
+2024/10/14 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
+2024/10/14 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
+2024/10/14 | 12618 | macros/latex/contrib/numbersets/numbersets-doc.tex
+2024/10/14 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
+2024/10/14 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
+2024/10/14 | 1144831 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+2024/10/14 | 114380 | systems/texlive/tlnet/archive/texlive-scripts.r72543.tar.xz
+2024/10/14 | 1137564 | systems/texlive/tlnet/archive/tex4ht.r72541.tar.xz
+2024/10/14 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
+2024/10/14 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
+2024/10/14 | 10800 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
2024/10/13 | 99 | macros/latex-dev/base/ltpara-code.tex
2024/10/13 | 9935 | macros/latex-dev/base/ltnews21.tex
+2024/10/13 | 984 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1.mp
2024/10/13 | 9808 | macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx
2024/10/13 | 9804 | systems/texlive/tlnet/archive/uptex-base.r72534.tar.xz
+2024/10/13 | 9772 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-4.pdf
+2024/10/13 | 976 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06.mp
2024/10/13 | 96 | macros/latex-dev/base/doc-code.tex
2024/10/13 | 9559 | macros/latex-dev/required/tools/shellesc.dtx
2024/10/13 | 9557 | macros/latex-dev/base/ltcntrl.dtx
@@ -25,16 +190,20 @@
2024/10/13 | 881794 | macros/latex-dev/required/latex-lab/latex-lab-block.pdf
2024/10/13 | 881794 | macros/latex-dev/required/latex-lab/blocks-code.pdf
2024/10/13 | 8780 | macros/latex-dev/required/tools/showkeys-2014-10-28.sty
+2024/10/13 | 870 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01.mp
2024/10/13 | 868668 | macros/latex-dev/required/tools/array.pdf
2024/10/13 | 8663 | macros/latex-dev/required/amsmath/amsbsy.dtx
2024/10/13 | 8626 | macros/latex-dev/base/oldlfont.dtx
2024/10/13 | 85247 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+2024/10/13 | 845 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05.mp
+2024/10/13 | 844 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04.mp
2024/10/13 | 84233 | macros/latex-dev/base/ltfssini.dtx
2024/10/13 | 8352652 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
2024/10/13 | 83043 | macros/latex-dev/base/ltfssbas.dtx
2024/10/13 | 8257146 | macros/latex-dev/required/tools.zip
2024/10/13 | 821586 | macros/latex-dev/base/ltshipout-code.pdf
2024/10/13 | 821496 | macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
+2024/10/13 | 817 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08.mp
2024/10/13 | 81184 | macros/latex-dev/required/amsmath/testmath.tex
2024/10/13 | 80747 | macros/latex-dev/base/ltshipout.dtx
2024/10/13 | 806610 | macros/latex-dev/base/ltfilehook-code.pdf
@@ -42,10 +211,15 @@
2024/10/13 | 8051 | macros/latex-dev/base/ltnews.tex
2024/10/13 | 8048 | macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx
2024/10/13 | 793 | macros/latex/contrib/hvlogos/Changes
+2024/10/13 | 793 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline.mp
2024/10/13 | 778634 | macros/latex-dev/required/latex-lab/latex-lab-math.pdf
2024/10/13 | 7704 | macros/latex/contrib/hvlogos/latex/hvlogos.sty
+2024/10/13 | 767 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.mp
+2024/10/13 | 7626 | graphics/metapost/contrib/macros/mp-geom2d/doc/K001-1.dat
+2024/10/13 | 7626 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.dat
2024/10/13 | 762323 | macros/latex-dev/base/lthooks-doc.pdf
2024/10/13 | 758107 | macros/latex-dev/base/doc.pdf
+2024/10/13 | 756 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02.mp
2024/10/13 | 75698 | macros/latex-dev/base/ltluatex.dtx
2024/10/13 | 753317 | macros/latex-dev/base/ltcmdhooks-code.pdf
2024/10/13 | 7528 | macros/latex-dev/base/ltxguide.cls
@@ -54,6 +228,7 @@
2024/10/13 | 7452 | macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx
2024/10/13 | 73684 | macros/latex-dev/required/tools/tools-overview.pdf
2024/10/13 | 72911 | macros/latex-dev/required/tools/verbatim.dtx
+2024/10/13 | 7280 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-c2d.mp
2024/10/13 | 72493 | macros/latex-dev/base/ltfsstrc.dtx
2024/10/13 | 7244 | macros/latex-dev/base/ltnews20.tex
2024/10/13 | 7216 | macros/latex-dev/base/exscale.dtx
@@ -64,11 +239,13 @@
2024/10/13 | 7029 | macros/latex-dev/base/ltnews13.tex
2024/10/13 | 700703 | macros/latex/contrib/easybook.zip
2024/10/13 | 69732 | macros/latex-dev/required/amsmath/amstex.sty
+2024/10/13 | 695 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03.mp
2024/10/13 | 69441 | macros/latex-dev/base/clsguide-historic.tex
2024/10/13 | 6911 | macros/latex-dev/base/source2edoc.cls
2024/10/13 | 69087 | macros/latex-dev/base/clsguide.tex
2024/10/13 | 6901 | macros/latex-dev/base/ltmeta.dtx
2024/10/13 | 68979 | macros/latex-dev/base/ltpictur.dtx
+2024/10/13 | 688 | graphics/pgf/contrib/tikz-decofonts/README.md
2024/10/13 | 68746 | macros/latex-dev/base/usrguide-historic.tex
2024/10/13 | 68616 | macros/latex-dev/base/ltmiscen.dtx
2024/10/13 | 68373 | macros/latex-dev/base/ltcmdhooks.dtx
@@ -79,7 +256,9 @@
2024/10/13 | 6760 | macros/latex-dev/base/slides.ins
2024/10/13 | 672995 | macros/latex-dev/base/ltpara-code.pdf
2024/10/13 | 6709 | macros/latex-dev/base/latexsym.dtx
+2024/10/13 | 660409 | graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.pdf
2024/10/13 | 6601 | macros/latex-dev/required/latex-lab/latex-lab.ins
+2024/10/13 | 6579 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-svgnames.mp
2024/10/13 | 6506843 | macros/latex-dev/base/source2e.pdf
2024/10/13 | 646517 | macros/latex/contrib/easybook/easybook.pdf
2024/10/13 | 6441 | macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx
@@ -90,14 +269,19 @@
2024/10/13 | 63341 | macros/latex-dev/base/letter.dtx
2024/10/13 | 632196 | macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf
2024/10/13 | 62897 | macros/latex-dev/base/ltfiles.dtx
+2024/10/13 | 627 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-fct.mp
+2024/10/13 | 627 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06.mp
2024/10/13 | 6269 | macros/latex/contrib/litetable/doc/litetable-hk.tex
2024/10/13 | 6238 | macros/latex/contrib/litetable/doc/litetable-cn.tex
2024/10/13 | 6221 | macros/latex-dev/required/latex-lab/glyphtounicode-cmex.tex
2024/10/13 | 6202 | macros/latex-dev/base/latexrelease.ins
2024/10/13 | 61642 | macros/latex-dev/required/tools/bm.dtx
+2024/10/13 | 615 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie.mp
2024/10/13 | 6155 | macros/latex-dev/base/ltpar.dtx
2024/10/13 | 609 | macros/latex/contrib/litetable/README.md
2024/10/13 | 60824 | macros/latex-dev/base/fontdef.dtx
+2024/10/13 | 607 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion.mp
+2024/10/13 | 60628 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.1
2024/10/13 | 60434 | macros/latex-dev/base/ltplain.dtx
2024/10/13 | 599231 | macros/latex-dev/base/ltsockets-code.pdf
2024/10/13 | 5986 | macros/latex-dev/base/ltnews15.tex
@@ -110,9 +294,9 @@
2024/10/13 | 5791 | macros/latex-dev/required/tools/somedefs.dtx
2024/10/13 | 5775 | macros/latex-dev/base/ltnews16.tex
2024/10/13 | 575888 | macros/latex-dev/base/ltmarks-doc.pdf
-2024/10/13 | 5756714 | systems/texlive/tlnet/install-tl-unx.tar.gz
2024/10/13 | 5733 | macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.dtx
2024/10/13 | 5732 | macros/latex-dev/base/ltnews08.tex
+2024/10/13 | 5732 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers-1.pdf
2024/10/13 | 572577 | macros/latex-dev/required/latex-lab/latex-lab-table.pdf
2024/10/13 | 5714 | macros/latex-dev/base/inputenc.ins
2024/10/13 | 5699 | macros/latex-dev/base/ltnews05.tex
@@ -137,6 +321,7 @@
2024/10/13 | 551943 | macros/latex-dev/base/ltfilehook-doc.pdf
2024/10/13 | 5509 | macros/latex-dev/base/graphpap.dtx
2024/10/13 | 54988 | macros/latex-dev/base/ltpara.dtx
+2024/10/13 | 546 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1.mp
2024/10/13 | 546540 | macros/latex-dev/base/ltnews32.pdf
2024/10/13 | 5463 | macros/latex-dev/base/ltlength.dtx
2024/10/13 | 5462 | macros/latex-dev/base/ltnews02.tex
@@ -164,6 +349,8 @@
2024/10/13 | 512240 | macros/latex-dev/base/ltnews30.pdf
2024/10/13 | 51161 | macros/latex-dev/base/ltfinal.dtx
2024/10/13 | 51067 | macros/latex-dev/base/tlc3.err
+2024/10/13 | 509 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07.mp
+2024/10/13 | 509 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2.mp
2024/10/13 | 508345 | macros/latex-dev/base/ltnews34.pdf
2024/10/13 | 508207 | macros/latex-dev/required/amsmath/amsldoc.pdf
2024/10/13 | 50819 | macros/latex-dev/required/graphics/drivers.dtx
@@ -175,11 +362,8 @@
2024/10/13 | 495486 | macros/latex-dev/base/clsguide.pdf
2024/10/13 | 49532 | macros/latex-dev/base/ltspace.dtx
2024/10/13 | 4945 | macros/latex-dev/base/lthyphen.dtx
-2024/10/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/10/13 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/10/13 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2024/10/13 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/10/13 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/10/13 | 4907 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point-0.pdf
+2024/10/13 | 488 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles.mp
2024/10/13 | 487553 | macros/latex-dev/base/usrguide.pdf
2024/10/13 | 486885 | macros/latex-dev/base/ltnews40.pdf
2024/10/13 | 485663 | macros/latex-dev/required/latex-lab/blocks-doc.pdf
@@ -187,6 +371,7 @@
2024/10/13 | 4824 | macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx
2024/10/13 | 482086 | macros/latex-dev/base/ltsockets-doc.pdf
2024/10/13 | 47895 | macros/latex-dev/base/lttab.dtx
+2024/10/13 | 476 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07.mp
2024/10/13 | 474 | macros/latex-dev/required/firstaid/README.md
2024/10/13 | 467500 | macros/latex-dev/base/lttemplates-doc.pdf
2024/10/13 | 46421486 | install/macros/latex-dev/latex-base-dev.tds.zip
@@ -201,13 +386,17 @@
2024/10/13 | 446748 | macros/latex/contrib/suanpan-l3/suanpan-l3.pdf
2024/10/13 | 44531 | macros/latex-dev/base/cmfonts.fdd
2024/10/13 | 444624 | macros/latex-dev/required/latex-lab/latex-lab-float.pdf
+2024/10/13 | 443 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1.mp
2024/10/13 | 439393 | macros/latex-dev/base/usrguide-historic.pdf
2024/10/13 | 4390 | macros/latex-dev/base/ec.ins
+2024/10/13 | 437 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mpxerr.tex
2024/10/13 | 43423 | macros/latex-dev/required/tools/theorem.dtx
2024/10/13 | 4336 | macros/latex-dev/required/amsmath/amsxtra.dtx
2024/10/13 | 4324 | macros/latex-dev/base/cmfonts.ins
2024/10/13 | 432296 | macros/latex-dev/base/ltproperties-doc.pdf
+2024/10/13 | 4302 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers.mp
2024/10/13 | 4298 | macros/latex-dev/base/ltalloc.dtx
+2024/10/13 | 42776 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02-1.pdf
2024/10/13 | 4273 | macros/latex-dev/base/docstrip.ins
2024/10/13 | 42708 | macros/latex-dev/base/changes.old.txt
2024/10/13 | 4254 | macros/latex-dev/base/newdc.ins
@@ -215,36 +404,45 @@
2024/10/13 | 4219 | macros/latex-dev/base/latex209.ins
2024/10/13 | 421790 | macros/latex-dev/required/amsmath/amsmath.pdf
2024/10/13 | 420933 | macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
-2024/10/13 | 4207107 | biblio/ctan-bibdata.zip
+2024/10/13 | 4203 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-rep.mp
2024/10/13 | 419491 | macros/latex-dev/base/changes.txt
2024/10/13 | 4190 | macros/latex-dev/base/ltnews19.tex
+2024/10/13 | 415 | graphics/metapost/contrib/macros/mp-geom2d/LICENSE
2024/10/13 | 415956 | macros/latex-dev/base/clsguide-historic.pdf
2024/10/13 | 414685 | macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf
2024/10/13 | 4137 | macros/latex-dev/required/graphics/epsfig.dtx
2024/10/13 | 4087 | macros/latex-dev/base/classes.ins
2024/10/13 | 40804 | macros/latex-dev/base/ltlists.dtx
2024/10/13 | 4079 | macros/latex-dev/base/lablst.tex
+2024/10/13 | 4076 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale-1.pdf
2024/10/13 | 406053 | macros/latex-dev/required/latex-lab/latex-lab-toc.pdf
+2024/10/13 | 40524 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2-1.pdf
+2024/10/13 | 4050 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.001
2024/10/13 | 402854 | macros/latex-dev/required/tools/longtable.pdf
+2024/10/13 | 40094 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.png
2024/10/13 | 398505 | macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf
2024/10/13 | 39839 | macros/latex-dev/base/ltnews18.pdf
2024/10/13 | 39697 | macros/latex-dev/required/tools/ftnright.dtx
2024/10/13 | 3960 | macros/latex-dev/base/olddc.ins
+2024/10/13 | 3952 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie-1.pdf
2024/10/13 | 3946 | macros/latex-dev/required/graphics/lscape.dtx
2024/10/13 | 393884 | macros/latex-dev/required/tools/varioref.pdf
+2024/10/13 | 389 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale.mp
2024/10/13 | 389721 | macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf
2024/10/13 | 38730 | macros/latex-dev/base/latex209.dtx
2024/10/13 | 387212 | macros/latex-dev/required/tools/ftnright.pdf
2024/10/13 | 385504 | macros/latex-dev/base/tlc3.pdf
+2024/10/13 | 38450 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05-1.pdf
2024/10/13 | 383673 | macros/latex-dev/required/latex-lab/latex-lab-bib.pdf
2024/10/13 | 382388 | macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf
2024/10/13 | 38225 | macros/latex-dev/base/ltnews35.tex
2024/10/13 | 38040 | macros/latex-dev/required/graphics/grfguide.tex
2024/10/13 | 379733 | macros/latex-dev/base/ltnews26.pdf
-2024/10/13 | 3790528 | biblio/ctan-bibdata/ctan.pdf
+2024/10/13 | 37919 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.pdf
2024/10/13 | 3781 | macros/latex-dev/base/tulm.ins
2024/10/13 | 37714 | macros/latex-dev/base/ltsockets.dtx
2024/10/13 | 376950 | macros/latex-dev/base/ltnews28.pdf
+2024/10/13 | 37607 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1-1.pdf
2024/10/13 | 375493 | macros/latex-dev/base/slides.pdf
2024/10/13 | 37462 | macros/latex-dev/required/tools/tabularx.dtx
2024/10/13 | 373186 | macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf
@@ -256,14 +454,16 @@
2024/10/13 | 36656 | macros/latex-dev/base/ltnews39.tex
2024/10/13 | 36167 | macros/latex-dev/required/graphics/changes.txt
2024/10/13 | 355758 | macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf
+2024/10/13 | 354 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie.mp
2024/10/13 | 35431 | macros/latex-dev/base/ltdirchk.dtx
2024/10/13 | 353390 | macros/latex-dev/base/utf8ienc.pdf
2024/10/13 | 351812 | macros/latex-dev/required/tools/theorem.pdf
2024/10/13 | 348117 | macros/latex-dev/required/latex-lab/latex-lab-title.pdf
2024/10/13 | 34515 | macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx
-2024/10/13 | 34429462 | systems/texlive/tlnet/install-tl.zip
+2024/10/13 | 343 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03.mp
2024/10/13 | 3434 | macros/latex-dev/base/makeindx.ins
2024/10/13 | 34336 | macros/latex-dev/base/ltproperties.dtx
+2024/10/13 | 34214 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.png
2024/10/13 | 3401 | macros/latex-dev/base/proc.ins
2024/10/13 | 34011 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
2024/10/13 | 33928 | macros/latex-dev/base/ltsect.dtx
@@ -277,6 +477,7 @@
2024/10/13 | 331587 | macros/latex-dev/required/tools/verbatim.pdf
2024/10/13 | 331361 | macros/latex-dev/required/graphics/grfguide.pdf
2024/10/13 | 33083 | macros/latex-dev/base/ltnews37.tex
+2024/10/13 | 328 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone.mp
2024/10/13 | 3286 | macros/latex-dev/required/tools/manifest.txt
2024/10/13 | 3282 | macros/latex-dev/base/bugs.txt
2024/10/13 | 32771 | macros/latex-dev/base/lttagging.dtx
@@ -285,27 +486,40 @@
2024/10/13 | 323877 | macros/latex-dev/required/tools/xr.pdf
2024/10/13 | 323640 | macros/latex-dev/required/tools/bm.pdf
2024/10/13 | 32331 | macros/latex-dev/base/ltnews34.tex
+2024/10/13 | 32087 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const-1.pdf
2024/10/13 | 32047 | macros/latex-dev/required/tools/layout.dtx
2024/10/13 | 318372 | macros/latex-dev/base/inputenc.pdf
2024/10/13 | 3181 | macros/latex-dev/base/unpack.ins
2024/10/13 | 318193 | macros/latex-dev/base/ltnews20.pdf
2024/10/13 | 318026 | macros/latex-dev/base/ltnews22.pdf
+2024/10/13 | 31695 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01-1.pdf
+2024/10/13 | 31597 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude-1.pdf
2024/10/13 | 31467 | macros/latex-dev/required/tools/multicol-2019-10-01.sty
+2024/10/13 | 31309 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02-1.pdf
+2024/10/13 | 3113 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale.mp
+2024/10/13 | 31058 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06-1.pdf
+2024/10/13 | 3104 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.mp
2024/10/13 | 3098692 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
2024/10/13 | 3083 | macros/latex-dev/base/README.md
2024/10/13 | 307847 | macros/latex-dev/required/latex-lab/latex-lab-text.pdf
2024/10/13 | 307136 | macros/latex-dev/base/lthooks.dtx
+2024/10/13 | 3063 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-plt.mp
2024/10/13 | 3060929 | macros/latex-dev/required/graphics.zip
2024/10/13 | 30499 | macros/latex-dev/base/doc-2021-06-01.sty
2024/10/13 | 30464 | macros/latex-dev/required/graphics/graphicx.dtx
2024/10/13 | 30448 | macros/latex-dev/base/ltnews31.tex
2024/10/13 | 30386 | macros/latex-dev/required/tools/showkeys.dtx
2024/10/13 | 303762 | macros/latex-dev/required/graphics/graphics.pdf
+2024/10/13 | 30184 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-main.mp
2024/10/13 | 29965 | macros/latex-dev/base/doc-2016-02-15.sty
2024/10/13 | 2994 | macros/latex-dev/required/graphics/graphics-drivers.ins
2024/10/13 | 298160 | macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
2024/10/13 | 29812 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
+2024/10/13 | 297 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.mp
2024/10/13 | 296124 | macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf
+2024/10/13 | 2952 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline-1.pdf
+2024/10/13 | 29506 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01-1.pdf
+2024/10/13 | 29400 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04-1.pdf
2024/10/13 | 29270 | macros/latex-dev/base/ltfntcmd.dtx
2024/10/13 | 292600 | macros/latex-dev/base/cmfonts.pdf
2024/10/13 | 290257 | macros/latex-dev/base/tlc2.pdf
@@ -315,19 +529,20 @@
2024/10/13 | 2893 | macros/latex-dev/base/nfssfont.ins
2024/10/13 | 2892 | macros/latex-dev/base/graphpap.ins
2024/10/13 | 2892 | macros/latex-dev/base/fix-cm.ins
-2024/10/13 | 2892526 | biblio/ctan-bibdata/ctan.bib
2024/10/13 | 2890 | macros/latex-dev/base/alltt.ins
2024/10/13 | 2888 | macros/latex-dev/base/ifthen.ins
2024/10/13 | 287727 | macros/latex-dev/base/fix-cm.pdf
2024/10/13 | 286824 | macros/latex-dev/base/ltnews23.pdf
2024/10/13 | 286448 | macros/latex-dev/required/graphics/drivers.pdf
2024/10/13 | 283449 | install/macros/latex-dev/required/latex-firstaid-dev.tds.zip
+2024/10/13 | 28292 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper-1.pdf
+2024/10/13 | 28245 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07-1.pdf
2024/10/13 | 282447 | macros/latex-dev/base/latexrelease.pdf
2024/10/13 | 282259 | macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf
2024/10/13 | 2798443 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
2024/10/13 | 278524 | macros/latex-dev/required/graphics/rotating.pdf
2024/10/13 | 277913 | macros/latex-dev/required/firstaid.zip
-2024/10/13 | 27715185 | systems/texlive/tlnet/install-tl-windows.exe
+2024/10/13 | 27696 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05-1.pdf
2024/10/13 | 276636 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
2024/10/13 | 2765125 | macros/latex-dev/required/amsmath.zip
2024/10/13 | 2749 | macros/latex-dev/required/tools/xr-2023-07-04.sty
@@ -339,16 +554,21 @@
2024/10/13 | 27216 | macros/latex-dev/required/latex-lab/latex-lab-sec.dtx
2024/10/13 | 27122 | macros/latex-dev/base/ltxcheck.tex
2024/10/13 | 2705 | macros/latex-dev/base/idx.tex
+2024/10/13 | 2682 | graphics/metapost/contrib/macros/mp-geom2d/doc/locctan.bib
+2024/10/13 | 26625 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.pdf
2024/10/13 | 265497 | macros/latex-dev/base/ltnews24.pdf
2024/10/13 | 264168 | macros/latex-dev/base/cfgguide.pdf
-2024/10/13 | 2603180 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/10/13 | 26385 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette-1.pdf
+2024/10/13 | 263144 | support/TeX4ht/source/ChangeLog
2024/10/13 | 260278 | macros/latex-dev/required/tools/layout.pdf
2024/10/13 | 25896 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+2024/10/13 | 25836 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03-1.pdf
2024/10/13 | 257825 | macros/latex-dev/base/modguide.pdf
2024/10/13 | 2576 | macros/latex-dev/required/tools/multicol.ins
2024/10/13 | 257359 | macros/latex-dev/base/cyrguide.pdf
2024/10/13 | 257027 | macros/latex-dev/required/tools/xspace.pdf
2024/10/13 | 2554 | macros/latex-dev/required/tools/l3sys-query.ins
+2024/10/13 | 2549 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.mp
2024/10/13 | 2538 | macros/latex-dev/required/tools/longtable.ins
2024/10/13 | 2538 | macros/latex-dev/required/tools/afterpage.ins
2024/10/13 | 2535 | macros/latex-dev/required/tools/tabularx.ins
@@ -358,18 +578,22 @@
2024/10/13 | 2524 | macros/latex-dev/required/tools/bm.ins
2024/10/13 | 25146 | macros/latex-dev/required/tools/trace.dtx
2024/10/13 | 251283 | macros/latex-dev/base/ltnews27.pdf
+2024/10/13 | 24900 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.0
2024/10/13 | 24883 | macros/latex-dev/base/ltxref.dtx
2024/10/13 | 245228 | macros/latex-dev/base/ltnews21.pdf
2024/10/13 | 244141 | macros/latex-dev/base/ltxdoc.pdf
2024/10/13 | 243 | macros/latex-dev/base/ltproperties-doc.tex
+2024/10/13 | 2430 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-1.pdf
2024/10/13 | 242 | macros/latex-dev/base/lttemplates-doc.tex
2024/10/13 | 241 | macros/latex-dev/base/ltfilehook-doc.tex
2024/10/13 | 241889 | macros/latex-dev/base/doc.dtx
2024/10/13 | 240 | macros/latex-dev/base/ltsockets-doc.tex
2024/10/13 | 240 | macros/latex-dev/base/ltshipout-doc.tex
2024/10/13 | 240618 | macros/latex-dev/required/graphics/graphicx.pdf
+2024/10/13 | 23 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mptextmp.mp
2024/10/13 | 23994 | macros/latex-dev/required/latex-lab/documentmetadata-support.dtx
2024/10/13 | 239587 | macros/latex-dev/required/graphics/keyval.pdf
+2024/10/13 | 23943 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08-1.pdf
2024/10/13 | 238 | macros/latex-dev/base/ltmarks-doc.tex
2024/10/13 | 238 | macros/latex-dev/base/lthooks-doc.tex
2024/10/13 | 238 | macros/latex-dev/base/ltcmdhooks-doc.tex
@@ -380,16 +604,22 @@
2024/10/13 | 234 | macros/latex-dev/base/ltpara-doc.tex
2024/10/13 | 233905 | macros/latex-dev/base/slifonts.pdf
2024/10/13 | 23386 | macros/latex-dev/base/lppl.tex
+2024/10/13 | 23279 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04-1.pdf
+2024/10/13 | 23243 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale-1.pdf
2024/10/13 | 232339 | macros/latex-dev/required/amsmath/amsmath.dtx
2024/10/13 | 23177 | macros/latex-dev/base/ltkeys.dtx
+2024/10/13 | 22960 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07-1.pdf
2024/10/13 | 22946 | macros/latex-dev/base/ltnews38.tex
2024/10/13 | 22822 | macros/latex-dev/base/ltxdoc.dtx
2024/10/13 | 22813 | macros/latex-dev/required/latex-lab/latex-lab-float.dtx
2024/10/13 | 22723 | macros/latex-dev/base/cfgguide.tex
2024/10/13 | 227065 | macros/latex-dev/base/proc.pdf
+2024/10/13 | 226 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs.mp
2024/10/13 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
2024/10/13 | 225936 | macros/latex-dev/base/ltnews19.pdf
+2024/10/13 | 22415 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06-1.pdf
2024/10/13 | 223766 | macros/latex-dev/base/alltt.pdf
+2024/10/13 | 222 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d.mp
2024/10/13 | 222460 | macros/latex-dev/base/ifthen.pdf
2024/10/13 | 222074 | macros/latex-dev/required/tools/trace.pdf
2024/10/13 | 2219 | macros/latex-dev/required/tools/indentfirst.dtx
@@ -399,6 +629,7 @@
2024/10/13 | 217504 | macros/latex-dev/required/amsmath/amstext.pdf
2024/10/13 | 215077 | macros/latex-dev/required/tools/enumerate.pdf
2024/10/13 | 21488 | macros/latex-dev/base/ltnews.cls
+2024/10/13 | 2131 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-2.pdf
2024/10/13 | 212777 | macros/latex-dev/required/graphics/color.pdf
2024/10/13 | 21229 | macros/latex-dev/base/lgc2.err
2024/10/13 | 211314 | macros/latex-dev/base/nfssfont.pdf
@@ -406,18 +637,26 @@
2024/10/13 | 21067 | macros/latex-dev/required/graphics/rotating.dtx
2024/10/13 | 2090 | macros/latex-dev/required/graphics/README.md
2024/10/13 | 2084 | systems/texlive/tlnet/archive/collection-fontsextra.r72535.tar.xz
+2024/10/13 | 2073 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie-1.pdf
2024/10/13 | 205100 | macros/latex-dev/base/ltnews25.pdf
2024/10/13 | 204708 | macros/latex-dev/base/exscale.pdf
2024/10/13 | 20334 | macros/latex-dev/base/ltnews40.tex
2024/10/13 | 200759 | macros/latex-dev/base/latexsym.pdf
2024/10/13 | 20030 | macros/latex-dev/base/ltexpl.dtx
2024/10/13 | 199290 | macros/latex-dev/required/graphics/trig.pdf
+2024/10/13 | 1986 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-1.pdf
+2024/10/13 | 19830 | graphics/metapost/contrib/macros/mp-geom2d/doc/K001-2.dat
+2024/10/13 | 19830 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-2.dat
2024/10/13 | 198100 | macros/latex-dev/required/tools/afterpage.pdf
+2024/10/13 | 19759 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-3.pdf
2024/10/13 | 19732 | macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx
-2024/10/13 | 19627876 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/10/13 | 19537 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach-1.pdf
+2024/10/13 | 1947 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse.mp
2024/10/13 | 1941 | macros/latex-dev/base/minimal.cls
+2024/10/13 | 1937 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-001.pdf
2024/10/13 | 19333 | macros/latex-dev/base/ltnews36.tex
2024/10/13 | 193083 | macros/latex-dev/base/ltcmd.dtx
+2024/10/13 | 19276 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2-1.pdf
2024/10/13 | 191 | macros/latex-dev/required/latex-lab/documentmetadata-support-doc.tex
2024/10/13 | 19199 | macros/latex-dev/base/ifthen.dtx
2024/10/13 | 191058 | macros/latex-dev/required/tools/delarray.pdf
@@ -428,25 +667,35 @@
2024/10/13 | 189678 | macros/latex-dev/required/tools/hhline.pdf
2024/10/13 | 189462 | macros/latex-dev/base/syntonly.pdf
2024/10/13 | 18944 | macros/latex-dev/base/ltnews29.tex
+2024/10/13 | 1892 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-2.pdf
2024/10/13 | 1891 | macros/latex/contrib/litetable/doc/litetable-demo.tex
2024/10/13 | 188769 | macros/latex-dev/required/tools/multicol.dtx
+2024/10/13 | 1884 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius.mp
2024/10/13 | 187903 | macros/latex-dev/required/tools/fileerr.pdf
2024/10/13 | 18661 | macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx
+2024/10/13 | 1863 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone-1.pdf
2024/10/13 | 18401 | macros/latex-dev/base/nfssfont.dtx
+2024/10/13 | 18375 | graphics/metapost/contrib/macros/mp-geom2d/doc/figure.pdf
2024/10/13 | 18299 | macros/latex-dev/base/ltx3info.tex
+2024/10/13 | 1824 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-lbl.mp
2024/10/13 | 182483 | macros/latex-dev/base/ltnews13.pdf
+2024/10/13 | 18225 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.pdf
2024/10/13 | 179948 | macros/latex-dev/required/amsmath/amscd.pdf
2024/10/13 | 17856 | macros/latex-dev/required/tools/xspace.dtx
2024/10/13 | 178564 | macros/latex-dev/base/ltoutput.dtx
2024/10/13 | 178193 | macros/latex-dev/required/amsmath/amsgen.pdf
2024/10/13 | 17782 | macros/latex-dev/base/cyrguide.tex
2024/10/13 | 176171 | macros/latex-dev/required/tools/shellesc.pdf
+2024/10/13 | 1760 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2.mp
2024/10/13 | 175211 | macros/latex-dev/base/ltnews05.pdf
2024/10/13 | 174946 | macros/latex-dev/required/amsmath/amsbsy.pdf
+2024/10/13 | 1738 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers-1.pdf
2024/10/13 | 17389 | macros/latex-dev/base/ltbibl.dtx
2024/10/13 | 173013 | macros/latex-dev/base/tlc2.err
2024/10/13 | 172743 | macros/latex/contrib/litetable/doc/litetable-cn.pdf
2024/10/13 | 172252 | macros/latex-dev/required/graphics/rotex.pdf
+2024/10/13 | 1721 | graphics/metapost/contrib/macros/mp-geom2d/doc/solution0.dat
+2024/10/13 | 17171 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.1
2024/10/13 | 171410 | macros/latex-dev/base/docstrip.dtx
2024/10/13 | 170876 | macros/latex-dev/base/lamport-manual.pdf
2024/10/13 | 170722 | macros/latex-dev/base/ltnews14.pdf
@@ -455,11 +704,13 @@
2024/10/13 | 169553 | macros/latex-dev/base/ltnews01.pdf
2024/10/13 | 1694 | macros/latex-dev/base/small2e.tex
2024/10/13 | 169433 | macros/latex-dev/base/ltnews10.pdf
-2024/10/13 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/10/13 | 1686 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2.mp
2024/10/13 | 167583 | macros/latex-dev/required/tools/somedefs.pdf
+2024/10/13 | 1667 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const.mp
2024/10/13 | 1664 | macros/latex-dev/required/tools/README.md
2024/10/13 | 166269 | macros/latex-dev/base/ltnews17.pdf
2024/10/13 | 165816 | macros/latex-dev/base/makeindx.pdf
+2024/10/13 | 1655 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05.mp
2024/10/13 | 16500 | macros/latex-dev/base/modguide.tex
2024/10/13 | 1641556 | systems/texlive/tlnet/archive/fontscripts.source.r72535.tar.xz
2024/10/13 | 162773 | macros/latex-dev/base/tulm.pdf
@@ -467,6 +718,7 @@
2024/10/13 | 161722 | macros/latex-dev/base/graphpap.pdf
2024/10/13 | 16168 | macros/latex-dev/required/graphics/mathcolor.dtx
2024/10/13 | 159239 | macros/latex-dev/required/graphics/epsfig.pdf
+2024/10/13 | 157 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers.mp
2024/10/13 | 15737 | macros/latex-dev/required/graphics/cat.eps
2024/10/13 | 157352 | macros/latex-dev/required/tools/indentfirst.pdf
2024/10/13 | 15693 | macros/latex-dev/base/slifonts.fdd
@@ -476,9 +728,9 @@
2024/10/13 | 15577 | macros/latex-dev/required/graphics/graphics-2017-06-25.sty
2024/10/13 | 15553 | macros/latex-dev/base/source2e.tex
2024/10/13 | 155442 | macros/latex-dev/base/ltnews08.pdf
-2024/10/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/10/13 | 154913 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03-1.pdf
2024/10/13 | 15384 | macros/latex-dev/base/ltvers.dtx
-2024/10/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/10/13 | 1527 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-arc.mp
2024/10/13 | 152551 | macros/latex-dev/base/ltnews04.pdf
2024/10/13 | 152125 | macros/latex-dev/base/ltclass.dtx
2024/10/13 | 151773 | macros/latex-dev/base/ltnews02.pdf
@@ -486,6 +738,8 @@
2024/10/13 | 1505 | macros/latex-dev/required/amsmath/amsbsy.ins
2024/10/13 | 1504 | macros/latex-dev/required/amsmath/amsmath.ins
2024/10/13 | 15047 | macros/latex-dev/base/ltnews28.tex
+2024/10/13 | 149 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos.mp
+2024/10/13 | 1499 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02.mp
2024/10/13 | 1492 | macros/latex-dev/required/amsmath/amsxtra.ins
2024/10/13 | 1492 | macros/latex-dev/required/amsmath/amstext.ins
2024/10/13 | 1490 | macros/latex-dev/required/amsmath/amsopn.ins
@@ -495,29 +749,33 @@
2024/10/13 | 147459 | macros/latex-dev/required/amsmath/technote.pdf
2024/10/13 | 146438 | macros/latex-dev/required/tools/fontsmpl.pdf
2024/10/13 | 146205 | macros/latex-dev/base/webcomp.pdf
-2024/10/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2024/10/13 | 14575 | macros/latex-dev/required/graphics/rotex.tex
2024/10/13 | 145696 | macros/latex-dev/required/latex-lab/latex-lab-block.dtx
-2024/10/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/10/13 | 1445 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001.mp
2024/10/13 | 14421 | macros/latex-dev/base/lppl-1-2.txt
2024/10/13 | 14380 | macros/latex-dev/required/latex-lab/latex-lab-bib.dtx
2024/10/13 | 14341 | macros/latex-dev/base/lppl-1-1.txt
2024/10/13 | 143376 | macros/latex-dev/required/tools/array.dtx
2024/10/13 | 1431653 | macros/latex-dev/base/ltnews.pdf
2024/10/13 | 142867 | macros/latex-dev/base/ltnews06.pdf
+2024/10/13 | 1411 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs-1.pdf
2024/10/13 | 14091 | macros/latex-dev/base/ltpage.dtx
2024/10/13 | 14075 | macros/latex-dev/required/tools/afterpage.dtx
2024/10/13 | 140093 | macros/latex-dev/required/amsmath/amsopn.pdf
2024/10/13 | 138956 | macros/latex-dev/required/tools/rawfonts.pdf
2024/10/13 | 13875 | macros/latex-dev/required/graphics/keyval.dtx
+2024/10/13 | 1382 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur-1.pdf
2024/10/13 | 138214 | macros/latex-dev/base/ltnews07.pdf
2024/10/13 | 138107 | macros/latex-dev/base/ltnews16.pdf
2024/10/13 | 13759 | macros/latex-dev/base/lamport-manual.err
2024/10/13 | 13589 | macros/latex-dev/base/proc.dtx
+2024/10/13 | 1345 | graphics/metapost/contrib/macros/mp-geom2d/README.md
2024/10/13 | 13442 | macros/latex-dev/required/amsmath/amsgen.dtx
2024/10/13 | 1341 | macros/latex-dev/base/ltnews18.tex
2024/10/13 | 132370 | macros/latex-dev/base/lppl.pdf
2024/10/13 | 1318576 | macros/latex-dev/base/encguide.pdf
+2024/10/13 | 1310 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01.mp
+2024/10/13 | 1309 | graphics/metapost/contrib/macros/mp-geom2d/doc/fond.pdf
2024/10/13 | 130328 | macros/latex-dev/base/ltnews15.pdf
2024/10/13 | 130028 | macros/latex-dev/base/ltnews09.pdf
2024/10/13 | 1279 | macros/latex-dev/base/legal.txt
@@ -530,26 +788,37 @@
2024/10/13 | 12520 | macros/latex-dev/base/testpage.tex
2024/10/13 | 12515 | macros/latex-dev/required/tools/xr.dtx
2024/10/13 | 1251255 | macros/latex-dev/base/lthooks-code.pdf
+2024/10/13 | 12489 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos-1.pdf
2024/10/13 | 12334 | macros/latex-dev/base/ltnews24.tex
2024/10/13 | 12282 | macros/latex-dev/required/tools/longtable-2020-01-07.sty
2024/10/13 | 12246 | macros/latex-dev/base/tulm.fdd
+2024/10/13 | 12167 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius-1.pdf
+2024/10/13 | 1212880 | support/TeX4ht/source/tex4ht-4ht.tex
+2024/10/13 | 1208 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper.mp
2024/10/13 | 12005 | macros/latex-dev/required/amsmath/technote.tex
2024/10/13 | 11964 | macros/latex-dev/base/manifest.txt
2024/10/13 | 1189 | macros/latex-dev/required/graphics/graphics.ins
2024/10/13 | 11849 | macros/latex-dev/required/tools/array-2016-10-06.sty
2024/10/13 | 118173 | macros/latex/contrib/litetable/doc/litetable-en.pdf
2024/10/13 | 117 | macros/latex-dev/required/latex-lab/documentmetadata-support-code.tex
+2024/10/13 | 115 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur.mp
2024/10/13 | 1156 | macros/latex-dev/required/latex-lab/README.md
+2024/10/13 | 1156 | graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-tra.mp
2024/10/13 | 114484 | macros/latex-dev/required/tools/varioref.dtx
2024/10/13 | 114477 | macros/latex-dev/base/lttextcomp.dtx
+2024/10/13 | 11418 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion-1.pdf
2024/10/13 | 11398 | macros/latex-dev/required/amsmath/amstext.dtx
2024/10/13 | 113560 | macros/latex-dev/required/amsmath/amsxtra.pdf
+2024/10/13 | 1129 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach.mp
+2024/10/13 | 11287 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1-1.pdf
2024/10/13 | 11284 | macros/latex-dev/required/amsmath/amscd.dtx
2024/10/13 | 112740 | macros/latex/contrib/easybook/easybook.tex
2024/10/13 | 112208 | macros/latex-dev/base/ltnews11.pdf
2024/10/13 | 11148 | macros/latex-dev/required/tools/hhline.dtx
2024/10/13 | 111446 | macros/latex-dev/base/fntguide.tex
+2024/10/13 | 10977 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles-1.pdf
2024/10/13 | 109740 | macros/latex-dev/required/amsmath/subeqn.pdf
+2024/10/13 | 1091 | graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04.mp
2024/10/13 | 108 | macros/latex-dev/required/latex-lab/blocks-code.tex
2024/10/13 | 107 | macros/latex-dev/base/ltproperties-code.tex
2024/10/13 | 10798 | macros/latex-dev/base/ltnews26.tex
@@ -560,12 +829,14 @@
2024/10/13 | 10749 | macros/latex-dev/required/graphics/trig.dtx
2024/10/13 | 106 | macros/latex-dev/base/lttemplates-code.tex
2024/10/13 | 106906 | macros/latex-dev/base/inputenc.dtx
+2024/10/13 | 106881 | graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.tex
2024/10/13 | 10637 | macros/latex-dev/required/tools/enumerate.dtx
2024/10/13 | 10601 | macros/latex-dev/base/makeindx.dtx
2024/10/13 | 105 | macros/latex-dev/required/latex-lab/blocks-doc.tex
2024/10/13 | 105 | macros/latex-dev/base/ltfilehook-code.tex
2024/10/13 | 104 | macros/latex-dev/base/ltsockets-code.tex
2024/10/13 | 104 | macros/latex-dev/base/ltshipout-code.tex
+2024/10/13 | 104940 | support/TeX4ht/source/tex4ht-info.tex
2024/10/13 | 104792 | macros/latex-dev/required/amsmath/amsldoc.tex
2024/10/13 | 103 | macros/latex-dev/base/ltcmdhooks-code.tex
2024/10/13 | 10370 | macros/latex-dev/base/ltfsscmp.dtx
@@ -583,7 +854,6 @@
2024/10/12 | 813 | macros/jptex/generic/uptex-base/samples/console_io.tex
2024/10/12 | 74011 | macros/jptex/generic/uptex-base/samples/adobe-cns-utf8.tex
2024/10/12 | 73 | macros/jptex/generic/uptex-base/euptex.ini
-2024/10/12 | 7386 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/10/12 | 6784 | macros/jptex/generic/uptex-base/samples/aozora-ujreport-utf8.tex
2024/10/12 | 6782 | macros/jptex/generic/uptex-base/samples/aozora-ujbook-utf8.tex
2024/10/12 | 6748 | macros/jptex/generic/uptex-base/samples/aozora-ujarticle-utf8.tex
@@ -605,7 +875,6 @@
2024/10/12 | 458 | macros/jptex/generic/uptex-base/samples/area-sjis.mp
2024/10/12 | 457 | macros/jptex/generic/uptex-base/samples/area-euc.mp
2024/10/12 | 446 | macros/jptex/generic/uptex-base/README.md
-2024/10/12 | 437828 | systems/texlive/tlnet/archive/texlive-scripts.doc.r72529.tar.xz
2024/10/12 | 4089 | macros/jptex/generic/uptex-base/samples/sangoku-uptex.tex
2024/10/12 | 39361 | macros/jptex/generic/uptex-base/01uptex_doc_utf8.txt
2024/10/12 | 3886 | macros/jptex/generic/uptex-base/samples/testrun.bat
@@ -652,12 +921,10 @@
2024/10/12 | 1596 | systems/texlive/tlnet/archive/to-be-determined.r72527.tar.xz
2024/10/12 | 1591 | macros/jptex/generic/uptex-base/LICENSE
2024/10/12 | 15774 | macros/jptex/generic/uptex-base/samples/Makefile
-2024/10/12 | 1498832 | systems/texlive/tlnet/archive/tex4ht.source.r72528.tar.xz
2024/10/12 | 1419 | macros/jptex/generic/uptex-base/samples/check_enc.pl
2024/10/12 | 13795 | macros/jptex/generic/uptex-base/samples/punctuation.tex
2024/10/12 | 136 | macros/jptex/generic/uptex-base/samples/jstr-uptex-incl.tex
2024/10/12 | 136 | macros/jptex/generic/uptex-base/samples/area-uptex-incl.tex
-2024/10/12 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r72528.tar.xz
2024/10/12 | 134 | macros/jptex/generic/uptex-base/samples/jstr-utf8-incl.tex
2024/10/12 | 134 | macros/jptex/generic/uptex-base/samples/jstr-sjis-incl.tex
2024/10/12 | 134 | macros/jptex/generic/uptex-base/samples/area-utf8-incl.tex
@@ -670,8 +937,6 @@
2024/10/12 | 1184 | macros/jptex/generic/uptex-base/samples/umin10x.tfm
2024/10/12 | 1184 | macros/jptex/generic/uptex-base/samples/min10x.tfm
2024/10/12 | 11616 | macros/jptex/generic/uptex-base/samples/jis_uni_variation.tex
-2024/10/12 | 114416 | systems/texlive/tlnet/archive/texlive-scripts.r72529.tar.xz
-2024/10/12 | 1137396 | systems/texlive/tlnet/archive/tex4ht.r72528.tar.xz
2024/10/12 | 11271 | macros/jptex/generic/uptex-base/samples/misc-check-h-utf8.tex
2024/10/12 | 10491 | macros/jptex/generic/uptex-base/samples/misc-check-v-utf8.tex
2024/10/11 | 93795 | graphics/pgf/contrib/tkz-grapheur/doc/tkz-grapheur-doc-fr.tex
@@ -681,7 +946,6 @@
2024/10/11 | 8036 | systems/texlive/tlnet/archive/bookshelf.r72521.tar.xz
2024/10/11 | 764 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsonethree.tfm
2024/10/11 | 71344 | systems/texlive/tlnet/archive/hduthesis.r72513.tar.xz
-2024/10/11 | 676220 | systems/texlive/tlnet/archive/easybook.doc.r72517.tar.xz
2024/10/11 | 66753 | graphics/pgf/contrib/tkz-grapheur/doc/tkz-grapheur-doc-en.tex
2024/10/11 | 66520 | systems/texlive/tlnet/archive/commalists-tools.doc.r72518.tar.xz
2024/10/11 | 6385407 | fonts/simpleicons.zip
@@ -716,7 +980,6 @@
2024/10/11 | 264 | fonts/simpleicons/tex/usimpleiconsseven.fd
2024/10/11 | 264 | fonts/simpleicons/tex/usimpleiconseight.fd
2024/10/11 | 264415 | macros/latex/contrib/to-be-determined.zip
-2024/10/11 | 262956 | support/TeX4ht/source/ChangeLog
2024/10/11 | 261545 | macros/latex/contrib/to-be-determined/to-be-determined.pdf
2024/10/11 | 259 | fonts/simpleicons/tex/usimpleiconsnine.fd
2024/10/11 | 259 | fonts/simpleicons/tex/usimpleiconsfour.fd
@@ -731,8 +994,6 @@
2024/10/11 | 2462484 | fonts/simpleicons/opentype/SimpleIcons.otf
2024/10/11 | 2267775 | fonts/simpleicons/type1/SimpleIcons.pfb
2024/10/11 | 221 | macros/latex/contrib/to-be-determined/DEPENDS.txt
-2024/10/11 | 19924 | systems/texlive/tlnet/archive/easybook.r72517.tar.xz
-2024/10/11 | 19816 | systems/texlive/tlnet/archive/easybook.source.r72517.tar.xz
2024/10/11 | 183909 | fonts/simpleicons/doc/bindings.tex
2024/10/11 | 1813 | fonts/simpleicons/doc/simpleicons.tex
2024/10/11 | 17948 | systems/texlive/tlnet/archive/keytheorems.r72516.tar.xz
@@ -756,7 +1017,6 @@
2024/10/11 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsfour.tfm
2024/10/11 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsfive.tfm
2024/10/11 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconseight.tfm
-2024/10/11 | 1211722 | support/TeX4ht/source/tex4ht-4ht.tex
2024/10/11 | 1207 | fonts/simpleicons/README.md
2024/10/11 | 1144237 | graphics/pgf/contrib/tkz-grapheur/doc/tkz-grapheur-doc-en.pdf
2024/10/11 | 114120 | systems/texlive/tlnet/archive/odsfile.doc.r72514.tar.xz
@@ -770,7 +1030,6 @@
2024/10/10 | 818 | macros/latex/contrib/keytheorems/tex/class-support/keythms-amsbook-support.tex
2024/10/10 | 8090673 | graphics/bookshelf/doc/spines.pdf
2024/10/10 | 802 | graphics/pstricks/contrib/pst-circ/dvips/pst-circ.pro
-2024/10/10 | 714192 | systems/texlive/tlnet/archive/litetable.doc.r72508.tar.xz
2024/10/10 | 70276 | macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
2024/10/10 | 68808 | graphics/bookshelf/bookshelf.dtx
2024/10/10 | 67991 | macros/latex/contrib/commalists-tools.zip
@@ -788,7 +1047,6 @@
2024/10/10 | 3932 | graphics/bookshelf/bookshelf-svgnam.tex
2024/10/10 | 38435 | macros/latex/contrib/keytheorems/doc/keytheorems-doc.tex
2024/10/10 | 38136 | macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
-2024/10/10 | 3592 | systems/texlive/tlnet/archive/litetable.r72508.tar.xz
2024/10/10 | 33979 | macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
2024/10/10 | 3287 | macros/latex/contrib/keytheorems/tex/class-support/keythms-amsart-support.tex
2024/10/10 | 3156 | graphics/bookshelf/doc/bookshelf-listallfonts.1
@@ -852,7 +1110,6 @@
2024/10/09 | 82514 | macros/latex-dev/required/l3kernel/l3str.dtx
2024/10/09 | 816 | macros/xetex/latex/hduthesis/examples/hduthesis-bc.tex
2024/10/09 | 8060 | systems/texlive/tlnet/archive/pmdraw.r72486.tar.xz
-2024/10/09 | 8028 | systems/texlive/tlnet/archive/suanpan-l3.r72496.tar.xz
2024/10/09 | 80089 | macros/latex-dev/required/l3kernel/l3names.dtx
2024/10/09 | 7831 | macros/latex-dev/required/l3kernel/l3fp-functions.dtx
2024/10/09 | 773216 | systems/texlive/tlnet/archive/bithesis.doc.r72491.tar.xz
@@ -909,7 +1166,6 @@
2024/10/09 | 4712 | macros/xetex/latex/hduthesis/examples/figures/image-0236.png
2024/10/09 | 4666 | macros/xetex/latex/hduthesis/examples/cha/cha2.tex
2024/10/09 | 4570 | macros/latex-dev/required/l3kernel/l3legacy.dtx
-2024/10/09 | 438508 | systems/texlive/tlnet/archive/suanpan-l3.doc.r72496.tar.xz
2024/10/09 | 43235 | macros/latex-dev/required/l3kernel/l3sys.dtx
2024/10/09 | 420356 | systems/texlive/tlnet/archive/pmdraw.doc.r72486.tar.xz
2024/10/09 | 41859 | macros/latex-dev/required/l3kernel/l3debug.dtx
@@ -1392,2090 +1648,3 @@
2024/10/08 | 1025 | support/texlab/crates/completion/src/util/matchers.rs
2024/10/08 | 1021 | macros/latex/contrib/l3build/README.md
2024/10/08 | 100514 | macros/xetex/plain/unimath-plain-xetex.zip
-2024/10/07 | 99 | graphics/asymptote/base/asy_filetype.vim
-2024/10/07 | 99993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.png
-2024/10/07 | 9919 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
-2024/10/07 | 9895 | graphics/asymptote/runstring.in
-2024/10/07 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
-2024/10/07 | 988 | graphics/asymptote/GUI/res/icons/eye.svg
-2024/10/07 | 986 | graphics/asymptote/predicates.h
-2024/10/07 | 986 | graphics/asymptote/GUI/res/icons/brush.svg
-2024/10/07 | 985 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
-2024/10/07 | 9856 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-filepath.h
-2024/10/07 | 98539 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/readertest.cpp
-2024/10/07 | 983 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfig.cmake.in
-2024/10/07 | 9836 | graphics/asymptote/doc/asymptote.sty
-2024/10/07 | 982 | graphics/asymptote/LspCpp/third_party/rapidjson/example/CMakeLists.txt
-2024/10/07 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
-2024/10/07 | 98112 | graphics/asymptote/GUI/Window1.py
-2024/10/07 | 9791 | graphics/asymptote/doc/asy.1
-2024/10/07 | 9790 | graphics/asymptote/LspCpp/src/jsonrpc/StreamMessageProducer.cpp
-2024/10/07 | 978 | graphics/asymptote/examples/worksheet.asy
-2024/10/07 | 9782 | graphics/asymptote/triple.h
-2024/10/07 | 9765 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.zh-cn.md
-2024/10/07 | 9754 | graphics/asymptote/v3dfile.cc
-2024/10/07 | 974 | graphics/asymptote/prc/Makefile
-2024/10/07 | 973 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/executeCommand.h
-2024/10/07 | 973 | graphics/asymptote/examples/fequlogo.asy
-2024/10/07 | 973378 | macros/latex/contrib/unbtex.zip
-2024/10/07 | 972 | graphics/asymptote/examples/triads.asy
-2024/10/07 | 971 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.cpp
-2024/10/07 | 9708 | graphics/asymptote/profiler.h
-2024/10/07 | 969 | graphics/asymptote/runfile.h
-2024/10/07 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
-2024/10/07 | 966 | graphics/asymptote/tests/array/solve.asy
-2024/10/07 | 964 | graphics/asymptote/LspCpp/src/jsonrpc/Context.cpp
-2024/10/07 | 964 | graphics/asymptote/examples/RiemannSphere.asy
-2024/10/07 | 95 | graphics/asymptote/prc/test.asy
-2024/10/07 | 95 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
-2024/10/07 | 956416 | graphics/asymptote/binaries/x86_64-windows/fftw3.dll
-2024/10/07 | 9562 | graphics/asymptote/base/bezulate.asy
-2024/10/07 | 954 | graphics/asymptote/examples/poster.asy
-2024/10/07 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
-2024/10/07 | 951 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
-2024/10/07 | 9502 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest.py
-2024/10/07 | 94 | graphics/asymptote/LspCpp/third_party/rapidjson/include_dirs.js
-2024/10/07 | 946 | graphics/asymptote/examples/animations/cube.asy
-2024/10/07 | 94332 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
-2024/10/07 | 942 | graphics/asymptote/LspCpp/third_party/rapidjson/example/traverseaspointer.cpp
-2024/10/07 | 9428 | graphics/asymptote/glrender.h
-2024/10/07 | 941 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsRange.h
-2024/10/07 | 9375 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h
-2024/10/07 | 936 | graphics/asymptote/tests/array/array.asy
-2024/10/07 | 935 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.dot
-2024/10/07 | 934 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/declaration_definition.h
-2024/10/07 | 934 | graphics/asymptote/doc/fillcontour.asy
-2024/10/07 | 9349 | graphics/asymptote/LspCpp/third_party/rapidjson/example/lookaheadparser/lookaheadparser.cpp
-2024/10/07 | 9334 | graphics/asymptote/base/plain_paths.asy
-2024/10/07 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
-2024/10/07 | 9327 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_test_utils.py
-2024/10/07 | 9318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_stress_test.cc
-2024/10/07 | 930 | graphics/asymptote/examples/polararea.asy
-2024/10/07 | 929 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/platforms.md
-2024/10/07 | 9298 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/type.json
-2024/10/07 | 9267 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-internal-utils.cc
-2024/10/07 | 9252 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
-2024/10/07 | 924 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
-2024/10/07 | 923 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/required.json
-2024/10/07 | 92378 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.png
-2024/10/07 | 922 | graphics/asymptote/doc/imagecontour.asy
-2024/10/07 | 920 | graphics/asymptote/makeUnique.h
-2024/10/07 | 916 | graphics/asymptote/opcodes.h
-2024/10/07 | 912 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.dot
-2024/10/07 | 912 | graphics/asymptote/doc/errorbars.asy
-2024/10/07 | 910 | graphics/asymptote/tests/template/singletype.asy
-2024/10/07 | 9104 | graphics/asymptote/symbol.cc
-2024/10/07 | 908 | graphics/asymptote/modifier.h
-2024/10/07 | 908 | graphics/asymptote/coenv.h
-2024/10/07 | 9088 | graphics/asymptote/application.h
-2024/10/07 | 90624 | graphics/asymptote/binaries/x86_64-windows/zlib1.dll
-2024/10/07 | 905 | graphics/asymptote/tests/template/imports/structTemplate.asy
-2024/10/07 | 9059 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/bin/jsonschema_suite
-2024/10/07 | 9036 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/allocatorstest.cpp
-2024/10/07 | 9032 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strtod.h
-2024/10/07 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
-2024/10/07 | 9021 | graphics/asymptote/psfile.h
-2024/10/07 | 901 | graphics/asymptote/virtualfieldaccess.cc
-2024/10/07 | 900 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/range_formatting.h
-2024/10/07 | 8 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail16.json
-2024/10/07 | 897 | graphics/asymptote/doc/flowchartdemo.asy
-2024/10/07 | 896 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxLength.json
-2024/10/07 | 895 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxLength.json
-2024/10/07 | 891 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
-2024/10/07 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
-2024/10/07 | 8894 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/README.md
-2024/10/07 | 8883 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.md
-2024/10/07 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minLength.json
-2024/10/07 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minLength.json
-2024/10/07 | 886 | graphics/asymptote/angle.h
-2024/10/07 | 8861 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample6_unittest.cc
-2024/10/07 | 883 | graphics/asymptote/cudareflect/helper.cuh
-2024/10/07 | 88387 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest.h
-2024/10/07 | 881 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsDocumentUri.h
-2024/10/07 | 8814 | graphics/asymptote/runmath.in
-2024/10/07 | 8811 | graphics/asymptote/xstream.h
-2024/10/07 | 880 | graphics/asymptote/doc/xasy.1x
-2024/10/07 | 879 | graphics/asymptote/examples/markregular.asy
-2024/10/07 | 8795 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.zh-cn.md
-2024/10/07 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
-2024/10/07 | 8789 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp-string_test.cc
-2024/10/07 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
-2024/10/07 | 877 | graphics/asymptote/doc/markers2.asy
-2024/10/07 | 8767 | graphics/asymptote/LspCpp/third_party/uri/test/uri_normalization_test.cpp
-2024/10/07 | 873 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
-2024/10/07 | 872 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/menu.json
-2024/10/07 | 8729 | graphics/asymptote/base/plain_pens.asy
-2024/10/07 | 870 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
-2024/10/07 | 8702 | graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
-2024/10/07 | 86 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/readme.txt
-2024/10/07 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
-2024/10/07 | 869 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
-2024/10/07 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
-2024/10/07 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
-2024/10/07 | 86552 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/advanced.md
-2024/10/07 | 863 | graphics/asymptote/GUI/res/icons/edit.svg
-2024/10/07 | 86158 | graphics/asymptote/base/three.asy
-2024/10/07 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
-2024/10/07 | 858 | graphics/asymptote/shaders.h
-2024/10/07 | 858 | graphics/asymptote/GUI/res/icons/center.svg
-2024/10/07 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/pattern.json
-2024/10/07 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/pattern.json
-2024/10/07 | 856 | graphics/asymptote/examples/animations/sphere.asy
-2024/10/07 | 8561 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_.cc
-2024/10/07 | 854 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/definitions.json
-2024/10/07 | 85342 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port.h
-2024/10/07 | 8532 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.zh-cn.md
-2024/10/07 | 8528 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock.cc
-2024/10/07 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
-2024/10/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/oneOf_address.json
-2024/10/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/anyOf_address.json
-2024/10/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/allOf_address.json
-2024/10/07 | 849 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/booleans.json
-2024/10/07 | 848 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/formatting.h
-2024/10/07 | 848 | graphics/asymptote/base/shaders/sum2.glsl
-2024/10/07 | 846 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
-2024/10/07 | 8469 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
-2024/10/07 | 845 | graphics/asymptote/envcompleter.h
-2024/10/07 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
-2024/10/07 | 843 | graphics/asymptote/tests/arith/integer.asy
-2024/10/07 | 8439 | graphics/asymptote/runpath.in
-2024/10/07 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentEdit.h
-2024/10/07 | 8429 | graphics/asymptote/examples/thermodynamics.asy
-2024/10/07 | 841 | graphics/asymptote/examples/twistedtubes.asy
-2024/10/07 | 840 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
-2024/10/07 | 8407 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_utils.py
-2024/10/07 | 8403 | graphics/asymptote/base/simplex.asy
-2024/10/07 | 839 | graphics/asymptote/examples/venn3.asy
-2024/10/07 | 8386 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test_.cc
-2024/10/07 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
-2024/10/07 | 8361 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h
-2024/10/07 | 834 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/CMakeLists.txt
-2024/10/07 | 83427 | graphics/asymptote/lex.yy.cc
-2024/10/07 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
-2024/10/07 | 831 | graphics/asymptote/runbacktrace.in
-2024/10/07 | 831 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
-2024/10/07 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
-2024/10/07 | 8307 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-assertion-result.h
-2024/10/07 | 829 | graphics/asymptote/GUI/res/icons/close-round.svg
-2024/10/07 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
-2024/10/07 | 828 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeModules/FindGTestSrc.cmake
-2024/10/07 | 825 | graphics/asymptote/examples/xxsq01y.asy
-2024/10/07 | 8258 | graphics/asymptote/name.cc
-2024/10/07 | 8240 | graphics/asymptote/base/asy-kate.sh
-2024/10/07 | 822 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
-2024/10/07 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
-2024/10/07 | 820 | graphics/asymptote/webgl/license
-2024/10/07 | 820 | graphics/asymptote/v3dtypes.py
-2024/10/07 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
-2024/10/07 | 81 | graphics/asymptote/doc/bezier.asy
-2024/10/07 | 818 | graphics/asymptote/GLTextures.cc
-2024/10/07 | 81885 | macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.eps
-2024/10/07 | 814 | graphics/asymptote/camperror.h
-2024/10/07 | 8129 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/CMakeLists.txt
-2024/10/07 | 8120 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-message.h
-2024/10/07 | 81154 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
-2024/10/07 | 8112 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-test-part-test.cc
-2024/10/07 | 810 | graphics/asymptote/GUI/res/icons/android-expand.svg
-2024/10/07 | 810 | graphics/asymptote/examples/orthocenter.asy
-2024/10/07 | 8096 | graphics/asymptote/runhistory.cc
-2024/10/07 | 8092 | graphics/asymptote/LspCpp/examples/WebsocketExample.cpp
-2024/10/07 | 80925 | graphics/pgf/contrib/pmdraw/pmdraw.sty
-2024/10/07 | 808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
-2024/10/07 | 808668 | macros/latex/contrib/unbtex/unbtex-example.pdf
-2024/10/07 | 804347 | macros/unicodetex/latex/bithesis.zip
-2024/10/07 | 802 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/nulls.json
-2024/10/07 | 802 | graphics/asymptote/examples/vertexshading.asy
-2024/10/07 | 802 | graphics/asymptote/examples/controlsystem.asy
-2024/10/07 | 8014 | graphics/asymptote/base/stats.asy
-2024/10/07 | 800 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_close.h
-2024/10/07 | 8008 | graphics/asymptote/runpath3d.in
-2024/10/07 | 7 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail31.json
-2024/10/07 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
-2024/10/07 | 79857 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
-2024/10/07 | 795 | graphics/asymptote/GUI/res/icons/android-refresh.svg
-2024/10/07 | 7957 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-options-test.cc
-2024/10/07 | 794 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/execute_command.h
-2024/10/07 | 79469 | macros/luatex/latex/letgut/doc/letgut.tex
-2024/10/07 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
-2024/10/07 | 792 | graphics/asymptote/doc/secondaryaxis.asy
-2024/10/07 | 792689 | macros/luatex/latex/letgut/doc/letgut-code.pdf
-2024/10/07 | 790 | graphics/asymptote/LspCpp/include/LibLsp/lsp/AbsolutePath.h
-2024/10/07 | 790 | graphics/asymptote/GUI/res/icons/android-camera.svg
-2024/10/07 | 79003 | graphics/asymptote/GUI/windows/window1.ui
-2024/10/07 | 78 | graphics/asymptote/tests/template/imports/zip.asy
-2024/10/07 | 78 | graphics/asymptote/examples/randompath3.asy
-2024/10/07 | 784 | graphics/asymptote/LspCpp/third_party/uri/deps/CMakeLists.txt
-2024/10/07 | 781 | graphics/asymptote/LspCpp/third_party/uri/deps/WORKSPACE
-2024/10/07 | 77 | graphics/asymptote/tests/gc/string.asy
-2024/10/07 | 7793 | graphics/asymptote/coder.cc
-2024/10/07 | 7780 | graphics/asymptote/cudareflect/main.cc
-2024/10/07 | 77498 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_pred_impl_unittest.cc
-2024/10/07 | 7731 | graphics/asymptote/LspCpp/third_party/uri/include/network/string_view.hpp
-2024/10/07 | 773134 | macros/unicodetex/latex/bithesis/bithesis.pdf
-2024/10/07 | 771 | graphics/asymptote/GUI/res/icons/check.svg
-2024/10/07 | 7713 | graphics/asymptote/errortest.asy
-2024/10/07 | 7711 | graphics/asymptote/base/plain.asy
-2024/10/07 | 770 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/publishDiagnostics.h
-2024/10/07 | 770 | graphics/asymptote/asy.rc
-2024/10/07 | 76 | graphics/asymptote/examples/grid.asy
-2024/10/07 | 76865 | graphics/asymptote/base/three_surface.asy
-2024/10/07 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
-2024/10/07 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
-2024/10/07 | 7671 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Context.h
-2024/10/07 | 766 | graphics/asymptote/vm.h
-2024/10/07 | 76445 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-spec-builders.h
-2024/10/07 | 7639 | graphics/asymptote/LICENSE.LESSER
-2024/10/07 | 76304 | graphics/asymptote/runarray.cc
-2024/10/07 | 761 | macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex
-2024/10/07 | 759 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json
-2024/10/07 | 754 | graphics/asymptote/doc/graphmarkers.asy
-2024/10/07 | 752 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
-2024/10/07 | 751 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/message.h
-2024/10/07 | 750 | graphics/asymptote/GUI/res/icons/plus-round.svg
-2024/10/07 | 74 | graphics/asymptote/LspCpp/include/LibLsp/lsp/method_type.h
-2024/10/07 | 7483 | graphics/asymptote/base/simplex2.asy
-2024/10/07 | 747 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentItem.h
-2024/10/07 | 747 | graphics/asymptote/examples/pseudosphere.asy
-2024/10/07 | 7474 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
-2024/10/07 | 74749 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-spec-builders_test.cc
-2024/10/07 | 746 | graphics/asymptote/tests/array/sort.asy
-2024/10/07 | 743 | graphics/asymptote/GUI/res/icons/circle.svg
-2024/10/07 | 743 | graphics/asymptote/examples/xxsq01.asy
-2024/10/07 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
-2024/10/07 | 74120 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile
-2024/10/07 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32lebom.json
-2024/10/07 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32bebom.json
-2024/10/07 | 7407 | graphics/asymptote/base/graph_splinetype.asy
-2024/10/07 | 74016 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile.in
-2024/10/07 | 73 | graphics/asymptote/tests/template/imports/notTemplate2.asy
-2024/10/07 | 739 | graphics/asymptote/examples/condor.asy
-2024/10/07 | 737 | graphics/asymptote/tests/array/determinant.asy
-2024/10/07 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32le.json
-2024/10/07 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32be.json
-2024/10/07 | 7364 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cheat_sheet.md
-2024/10/07 | 734 | graphics/asymptote/examples/quilt.asy
-2024/10/07 | 73435 | graphics/asymptote/GL/glxew.h
-2024/10/07 | 733 | graphics/asymptote/GUI/xasySvg.py
-2024/10/07 | 7335 | graphics/asymptote/config.h.in
-2024/10/07 | 7322 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest.py
-2024/10/07 | 730 | graphics/asymptote/base/shaders/sum1.glsl
-2024/10/07 | 7304 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-string.h
-2024/10/07 | 7302 | graphics/asymptote/base/markers.asy
-2024/10/07 | 7301 | macros/latex/contrib/unbtex/README.md
-2024/10/07 | 72 | graphics/asymptote/tests/gc/pen.asy
-2024/10/07 | 729 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
-2024/10/07 | 729 | graphics/asymptote/base/labelpath.asy
-2024/10/07 | 7287 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_stress_test.cc
-2024/10/07 | 727 | graphics/asymptote/examples/fermi.asy
-2024/10/07 | 7274 | graphics/asymptote/runtime.pl
-2024/10/07 | 726 | graphics/asymptote/base/map.asy
-2024/10/07 | 725 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minProperties.json
-2024/10/07 | 722 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
-2024/10/07 | 7223 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
-2024/10/07 | 7218 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/schematest.cpp
-2024/10/07 | 72035 | graphics/asymptote/base/asy-mode.el
-2024/10/07 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
-2024/10/07 | 7184 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
-2024/10/07 | 7183 | macros/latex/contrib/unbtex/unbtex-example/referencias.bib
-2024/10/07 | 7180 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_repeat_test.cc
-2024/10/07 | 7178 | graphics/asymptote/tests/template/sortedsetTest.asy
-2024/10/07 | 7157 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/stack.h
-2024/10/07 | 714 | graphics/asymptote/mod.h
-2024/10/07 | 714 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
-2024/10/07 | 714 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
-2024/10/07 | 714 | graphics/asymptote/examples/Viviani.asy
-2024/10/07 | 714 | graphics/asymptote/examples/unitoctantx.asy
-2024/10/07 | 712 | graphics/asymptote/examples/clockarray.asy
-2024/10/07 | 7125 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.cpp
-2024/10/07 | 71239 | graphics/asymptote/base/graph3.asy
-2024/10/07 | 71201 | graphics/asymptote/prc/oPRCFile.cc
-2024/10/07 | 711 | graphics/asymptote/examples/partialsurface.asy
-2024/10/07 | 7117 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
-2024/10/07 | 710 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
-2024/10/07 | 710 | graphics/asymptote/examples/fjortoft.asy
-2024/10/07 | 70 | graphics/asymptote/tests/gc/transform.asy
-2024/10/07 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
-2024/10/07 | 708 | graphics/asymptote/examples/gamma3.asy
-2024/10/07 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxItems.json
-2024/10/07 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxItems.json
-2024/10/07 | 7067 | graphics/asymptote/LspCpp/third_party/uri/Makefile
-2024/10/07 | 705 | graphics/asymptote/GUI/res/icons/arrow-move.svg
-2024/10/07 | 703 | graphics/asymptote/examples/NURBScurve.asy
-2024/10/07 | 700 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
-2024/10/07 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
-2024/10/07 | 7008 | graphics/asymptote/main.cc
-2024/10/07 | 6964 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageIssue.h
-2024/10/07 | 694 | macros/latex/contrib/unbtex/unbtex-example/apendice-c.tex
-2024/10/07 | 6944 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-test-part.h
-2024/10/07 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
-2024/10/07 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minItems.json
-2024/10/07 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minItems.json
-2024/10/07 | 6934 | graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
-2024/10/07 | 6917 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
-2024/10/07 | 690 | graphics/asymptote/examples/layers.asy
-2024/10/07 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
-2024/10/07 | 688 | graphics/asymptote/examples/centroidfg.asy
-2024/10/07 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
-2024/10/07 | 687491 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/sample.json
-2024/10/07 | 6872 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/actions.md
-2024/10/07 | 6860 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.zh-cn.md
-2024/10/07 | 685 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simpledom/simpledom.cpp
-2024/10/07 | 6856 | systems/texlive/tlnet/archive/fontscale.r72479.tar.xz
-2024/10/07 | 6849 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archivertest.cpp
-2024/10/07 | 683 | graphics/asymptote/GUI/res/icons/android-close.svg
-2024/10/07 | 683 | graphics/asymptote/examples/fractaltree.asy
-2024/10/07 | 6818 | graphics/asymptote/LspCpp/third_party/rapidjson/CHANGELOG.md
-2024/10/07 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
-2024/10/07 | 6810 | macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex
-2024/10/07 | 680 | graphics/asymptote/tests/array/delete.asy
-2024/10/07 | 67 | graphics/asymptote/tests/template/imports/C.asy
-2024/10/07 | 679 | graphics/asymptote/examples/genusthree.asy
-2024/10/07 | 678 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/README.md
-2024/10/07 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
-2024/10/07 | 6787 | graphics/asymptote/drawlabel.cc
-2024/10/07 | 677 | graphics/asymptote/doc/Bode.asy
-2024/10/07 | 677 | graphics/asymptote/base/shaders/vertex.glsl
-2024/10/07 | 67792 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
-2024/10/07 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
-2024/10/07 | 6751 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/format.json
-2024/10/07 | 674 | graphics/asymptote/examples/sqrtx01.asy
-2024/10/07 | 6732 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stream.h
-2024/10/07 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
-2024/10/07 | 6725 | graphics/asymptote/guide.h
-2024/10/07 | 6717 | graphics/asymptote/GUI/xasyOptions.py
-2024/10/07 | 6709 | graphics/asymptote/base/shaders/fragment.glsl
-2024/10/07 | 67090 | graphics/asymptote/GUI/xasy2asy.py
-2024/10/07 | 6708 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.md
-2024/10/07 | 66 | graphics/asymptote/examples/shade.asy
-2024/10/07 | 669 | graphics/asymptote/drawpath.h
-2024/10/07 | 669 | graphics/asymptote/base/v3dtypes.asy
-2024/10/07 | 667 | graphics/asymptote/tinyexr.cc
-2024/10/07 | 667 | graphics/asymptote/examples/spring.asy
-2024/10/07 | 66795 | graphics/asymptote/glrender.cc
-2024/10/07 | 66751 | graphics/asymptote/prc/writePRC.cc
-2024/10/07 | 66625 | graphics/asymptote/base/webgl/asygl.js
-2024/10/07 | 6650 | graphics/asymptote/getopt.h
-2024/10/07 | 664 | graphics/asymptote/GUI/res/icons/android-delete.svg
-2024/10/07 | 663 | graphics/asymptote/GUI/res/icons/save.svg
-2024/10/07 | 6634 | graphics/asymptote/simpson.cc
-2024/10/07 | 6619 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
-2024/10/07 | 6616 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/meta.h
-2024/10/07 | 6605 | graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
-2024/10/07 | 65 | graphics/asymptote/tests/gc/guide.asy
-2024/10/07 | 6585 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample5_unittest.cc
-2024/10/07 | 657 | graphics/asymptote/examples/lowupint.asy
-2024/10/07 | 657 | graphics/asymptote/examples/100d.views
-2024/10/07 | 657 | graphics/asymptote/base/reload.js
-2024/10/07 | 6572 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/doxygenextra.css
-2024/10/07 | 656 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
-2024/10/07 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
-2024/10/07 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
-2024/10/07 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
-2024/10/07 | 654 | graphics/asymptote/fpu.h
-2024/10/07 | 654 | graphics/asymptote/examples/limit.asy
-2024/10/07 | 6543 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest.py
-2024/10/07 | 6525 | graphics/asymptote/drawfill.h
-2024/10/07 | 6514 | graphics/asymptote/lspserv.h
-2024/10/07 | 650 | graphics/asymptote/prcfile.h
-2024/10/07 | 6503 | graphics/asymptote/tests/types/constructor.asy
-2024/10/07 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
-2024/10/07 | 648 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
-2024/10/07 | 648 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
-2024/10/07 | 646 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
-2024/10/07 | 645 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateConstructors.h
-2024/10/07 | 6442 | graphics/asymptote/generate_enums.py
-2024/10/07 | 6425 | graphics/asymptote/mathop.h
-2024/10/07 | 64222 | graphics/asymptote/base/graph.asy
-2024/10/07 | 641 | graphics/asymptote/examples/pOrbital.asy
-2024/10/07 | 6418 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_environment_test.cc
-2024/10/07 | 6412 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test.cc
-2024/10/07 | 639 | graphics/asymptote/tests/arith/transform.asy
-2024/10/07 | 639 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
-2024/10/07 | 63842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-printers-test.cc
-2024/10/07 | 6376 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest_.cc
-2024/10/07 | 6370 | graphics/asymptote/asymptote.nsi
-2024/10/07 | 6369 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/traits.h
-2024/10/07 | 63574 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
-2024/10/07 | 63314 | graphics/asymptote/GL/wglew.h
-2024/10/07 | 632 | graphics/asymptote/examples/label3zoom.asy
-2024/10/07 | 631 | graphics/asymptote/locate.h
-2024/10/07 | 631 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
-2024/10/07 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
-2024/10/07 | 6318 | graphics/asymptote/doc/leastsquares.dat
-2024/10/07 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
-2024/10/07 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
-2024/10/07 | 6304 | graphics/asymptote/base/three_tube.asy
-2024/10/07 | 62 | graphics/asymptote/tests/gc/array.asy
-2024/10/07 | 62 | graphics/asymptote/revision.cc
-2024/10/07 | 628 | graphics/asymptote/examples/wedge.asy
-2024/10/07 | 628 | graphics/asymptote/examples/polarcircle.asy
-2024/10/07 | 6288 | graphics/asymptote/transform.h
-2024/10/07 | 6278 | graphics/asymptote/base/plain_filldraw.asy
-2024/10/07 | 62764 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
-2024/10/07 | 6275 | graphics/asymptote/base/plain_prethree.asy
-2024/10/07 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
-2024/10/07 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
-2024/10/07 | 626 | graphics/asymptote/examples/venn.asy
-2024/10/07 | 6256 | graphics/asymptote/camp.tab.h
-2024/10/07 | 6253 | graphics/asymptote/LspCpp/third_party/rapidjson/example/tutorial/tutorial.cpp
-2024/10/07 | 6252 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-type-util.h
-2024/10/07 | 6248 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
-2024/10/07 | 62413 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-death-test.cc
-2024/10/07 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
-2024/10/07 | 620 | graphics/asymptote/GUI/res/icons/android-done.svg
-2024/10/07 | 61 | graphics/asymptote/examples/axialshade.asy
-2024/10/07 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
-2024/10/07 | 6194 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample8_unittest.cc
-2024/10/07 | 617 | graphics/asymptote/doc/logo.asy
-2024/10/07 | 6175 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test.py
-2024/10/07 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
-2024/10/07 | 61699 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-internal.h
-2024/10/07 | 61681 | graphics/asymptote/runtime.cc
-2024/10/07 | 61667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-actions.h
-2024/10/07 | 615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_configuration.h
-2024/10/07 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
-2024/10/07 | 6159 | graphics/asymptote/base/plain_strings.asy
-2024/10/07 | 61440 | graphics/asymptote/binaries/x86_64-windows/pthreadvc3.dll
-2024/10/07 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
-2024/10/07 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
-2024/10/07 | 611 | graphics/asymptote/GUI/xasy.py
-2024/10/07 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
-2024/10/07 | 610 | graphics/asymptote/examples/impact.asy
-2024/10/07 | 6104 | graphics/asymptote/LspCpp/third_party/uri/deps/BUILD.bazel
-2024/10/07 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
-2024/10/07 | 60 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail1.json
-2024/10/07 | 609 | graphics/asymptote/keywords.cc
-2024/10/07 | 60980 | macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-en.bst
-2024/10/07 | 6097 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-cardinalities.h
-2024/10/07 | 6090 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/DoxygenLayout.xml
-2024/10/07 | 608 | graphics/asymptote/examples/spline.asy
-2024/10/07 | 608 | graphics/asymptote/base/size10.asy
-2024/10/07 | 60785 | macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-pt.bst
-2024/10/07 | 606 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/findLinks.h
-2024/10/07 | 604 | graphics/asymptote/doc/flow.asy
-2024/10/07 | 60434 | macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst
-2024/10/07 | 6037 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test.py
-2024/10/07 | 60331 | macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst
-2024/10/07 | 60311 | macros/latex/contrib/unbtex/unbtex-example/figuras/coresunb.pdf
-2024/10/07 | 602 | graphics/asymptote/examples/treetest.asy
-2024/10/07 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
-2024/10/07 | 601 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/widget.json
-2024/10/07 | 600 | graphics/asymptote/base/size11.asy
-2024/10/07 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail30.json
-2024/10/07 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/abcde.txt
-2024/10/07 | 59 | graphics/asymptote/examples/stroke3.asy
-2024/10/07 | 5996 | graphics/asymptote/LspCpp/third_party/rapidjson/example/jsonx/jsonx.cpp
-2024/10/07 | 598 | graphics/asymptote/examples/integraltest.asy
-2024/10/07 | 5985 | graphics/asymptote/runfile.in
-2024/10/07 | 595 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageProducer.h
-2024/10/07 | 59584 | graphics/asymptote/GUI/pyUIClass/window1.py
-2024/10/07 | 594 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
-2024/10/07 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
-2024/10/07 | 5933 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkeydom/filterkeydom.cpp
-2024/10/07 | 592 | graphics/asymptote/tests/template/multiImport.asy
-2024/10/07 | 5925 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample9_unittest.cc
-2024/10/07 | 591 | graphics/asymptote/examples/sinc.asy
-2024/10/07 | 58 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail10.json
-2024/10/07 | 58 | graphics/asymptote/examples/progrid.asy
-2024/10/07 | 589 | graphics/asymptote/examples/trefoilknot.asy
-2024/10/07 | 5883 | graphics/asymptote/Delaunay.cc
-2024/10/07 | 5879 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.h
-2024/10/07 | 586 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateAccessors.h
-2024/10/07 | 586 | graphics/asymptote/GUI/xasyStrings.py
-2024/10/07 | 585 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
-2024/10/07 | 5832 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/fwdtest.cpp
-2024/10/07 | 582 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/glossary.json
-2024/10/07 | 582 | graphics/asymptote/examples/cos3.asy
-2024/10/07 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
-2024/10/07 | 581 | graphics/asymptote/examples/BezierSaddle.asy
-2024/10/07 | 5818 | graphics/asymptote/LspCpp/include/LibLsp/lsp/IProgressMonitor.h
-2024/10/07 | 58180 | graphics/asymptote/runpicture.cc
-2024/10/07 | 581120 | graphics/asymptote/binaries/x86_64-windows/libcurl.dll
-2024/10/07 | 580 | graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
-2024/10/07 | 580 | graphics/asymptote/examples/xsin1x.asy
-2024/10/07 | 57 | graphics/asymptote/GUI/requirements.txt
-2024/10/07 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
-2024/10/07 | 579 | graphics/asymptote/examples/sin3.asy
-2024/10/07 | 579 | graphics/asymptote/examples/exp3.asy
-2024/10/07 | 5795 | graphics/asymptote/env.cc
-2024/10/07 | 5793 | graphics/asymptote/base/plain_scaling.asy
-2024/10/07 | 578 | graphics/asymptote/base/annotate.asy
-2024/10/07 | 5789 | graphics/asymptote/base/trembling.asy
-2024/10/07 | 5783 | graphics/asymptote/bezierpatch.h
-2024/10/07 | 576 | graphics/asymptote/examples/threeviews.asy
-2024/10/07 | 576 | graphics/asymptote/examples/circles.asy
-2024/10/07 | 5767 | graphics/asymptote/drawpath3.h
-2024/10/07 | 57566 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
-2024/10/07 | 5752 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.h
-2024/10/07 | 5748 | graphics/asymptote/fileio.cc
-2024/10/07 | 573 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/highlight.h
-2024/10/07 | 572 | graphics/asymptote/LspCpp/third_party/uri/test/invalid_urls.txt
-2024/10/07 | 572 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/config.hpp
-2024/10/07 | 572 | graphics/asymptote/examples/curvedlabel3.asy
-2024/10/07 | 5718 | graphics/asymptote/item.h
-2024/10/07 | 5717 | graphics/asymptote/errormsg.h
-2024/10/07 | 5711 | graphics/asymptote/LspCpp/third_party/uri/test/uri_encoding_test.cpp
-2024/10/07 | 5705 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-outfiles-test.py
-2024/10/07 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
-2024/10/07 | 5691 | graphics/asymptote/name.h
-2024/10/07 | 5689 | graphics/asymptote/interact.cc
-2024/10/07 | 5683 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTING.md
-2024/10/07 | 5658 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test.py
-2024/10/07 | 563 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.hpp
-2024/10/07 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
-2024/10/07 | 561 | graphics/asymptote/LspCpp/third_party/rapidjson/package.json
-2024/10/07 | 5605 | graphics/asymptote/tests/template/imports/sortedset.asy
-2024/10/07 | 55 | graphics/asymptote/tests/template/imports/notTemplate.asy
-2024/10/07 | 55991 | graphics/asymptote/base/smoothcontour3.asy
-2024/10/07 | 5595 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest_.cc
-2024/10/07 | 558 | graphics/asymptote/examples/floatingdisk.asy
-2024/10/07 | 557 | graphics/asymptote/examples/Pythagoras.asy
-2024/10/07 | 55733 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
-2024/10/07 | 55475 | graphics/asymptote/settings.cc
-2024/10/07 | 5542 | graphics/asymptote/drawpath3.cc
-2024/10/07 | 5540 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/stringbuffertest.cpp
-2024/10/07 | 5537 | graphics/asymptote/examples/cpkcolors.asy
-2024/10/07 | 5531 | graphics/asymptote/examples/filesurface.dat
-2024/10/07 | 5521 | graphics/asymptote/base/rational.asy
-2024/10/07 | 54 | graphics/asymptote/tests/gc/funcall.asy
-2024/10/07 | 549 | graphics/asymptote/examples/smoothelevation.asy
-2024/10/07 | 548 | graphics/asymptote/examples/equilchord.asy
-2024/10/07 | 548 | graphics/asymptote/cudareflect/Makefile
-2024/10/07 | 547 | graphics/asymptote/v3dtypes.h
-2024/10/07 | 547 | graphics/asymptote/examples/tetra.asy
-2024/10/07 | 547 | graphics/asymptote/examples/filesurface.asy
-2024/10/07 | 5415 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfiles_test.py
-2024/10/07 | 5415 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/istreamwrappertest.cpp
-2024/10/07 | 54109 | graphics/asymptote/optional.hpp
-2024/10/07 | 5375 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3-inl.h
-2024/10/07 | 5366 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/stream.h
-2024/10/07 | 5360 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3_unittest.cc
-2024/10/07 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
-2024/10/07 | 5358 | graphics/asymptote/LspCpp/src/lsp/working_files.cpp
-2024/10/07 | 533 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateToString.h
-2024/10/07 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
-2024/10/07 | 53373 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-more-actions_test.cc
-2024/10/07 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
-2024/10/07 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
-2024/10/07 | 5306 | graphics/asymptote/pair.h
-2024/10/07 | 52 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass2.json
-2024/10/07 | 52 | graphics/asymptote/doc/square.asy
-2024/10/07 | 5279 | graphics/asymptote/base/bsp.asy
-2024/10/07 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
-2024/10/07 | 5272 | graphics/asymptote/GUI/labelEditor.py
-2024/10/07 | 5265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-message-test.cc
-2024/10/07 | 5262 | graphics/asymptote/patches/bison.patch
-2024/10/07 | 5262 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-cardinalities.cc
-2024/10/07 | 525 | graphics/asymptote/examples/vectorfield3.asy
-2024/10/07 | 5259 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.png
-2024/10/07 | 5254 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest.py
-2024/10/07 | 5250 | graphics/asymptote/pipestream.cc
-2024/10/07 | 524 | graphics/asymptote/doc/brokenaxis.asy
-2024/10/07 | 5243 | graphics/asymptote/memory.h
-2024/10/07 | 5243 | graphics/asymptote/base/animation.asy
-2024/10/07 | 5242 | graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
-2024/10/07 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
-2024/10/07 | 5216 | graphics/asymptote/examples/mosaic.asy
-2024/10/07 | 5204 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-bazel.md
-2024/10/07 | 5193 | graphics/asymptote/stm.h
-2024/10/07 | 518 | graphics/asymptote/doc/CDlabel.asy
-2024/10/07 | 5189 | graphics/asymptote/runsystem.in
-2024/10/07 | 5171 | graphics/asymptote/fundec.h
-2024/10/07 | 5169 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
-2024/10/07 | 51669 | graphics/asymptote/prc/oPRCFile.h
-2024/10/07 | 5152 | graphics/asymptote/LspCpp/third_party/rapidjson/license.txt
-2024/10/07 | 513 | graphics/asymptote/examples/buildcycle.asy
-2024/10/07 | 51302 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-actions_test.cc
-2024/10/07 | 5129 | graphics/asymptote/LspCpp/third_party/rapidjson/example/parsebyparts/parsebyparts.cpp
-2024/10/07 | 511659 | macros/latex/contrib/updatemarks/doc/updatemarks.pdf
-2024/10/07 | 5114 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/future.h
-2024/10/07 | 5111 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1_unittest.cc
-2024/10/07 | 510 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/README.md
-2024/10/07 | 50 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail18.json
-2024/10/07 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
-2024/10/07 | 50 | graphics/asymptote/base/babel.asy
-2024/10/07 | 509 | graphics/asymptote/examples/dimension.asy
-2024/10/07 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
-2024/10/07 | 509287 | macros/latex/contrib/updatemarks.zip
-2024/10/07 | 50899 | graphics/asymptote/runarray.in
-2024/10/07 | 506 | graphics/asymptote/examples/delu.asy
-2024/10/07 | 506537 | macros/latex/contrib/mathtools/mathtools.pdf
-2024/10/07 | 5064 | graphics/asymptote/runhistory.in
-2024/10/07 | 5063 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
-2024/10/07 | 506313 | graphics/asymptote/libatomic_ops-7.6.12.tar.gz
-2024/10/07 | 5062 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/pkgconfig.md
-2024/10/07 | 5054 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-cmake.md
-2024/10/07 | 504 | graphics/asymptote/absyn.cc
-2024/10/07 | 50437 | graphics/asymptote/gsl.cc
-2024/10/07 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
-2024/10/07 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
-2024/10/07 | 5021 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.h
-2024/10/07 | 500 | graphics/asymptote/examples/floor.asy
-2024/10/07 | 500 | graphics/asymptote/doc/Hobbydir.asy
-2024/10/07 | 500298 | graphics/asymptote/doc/png/asymptote.info
-2024/10/07 | 4 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail29.json
-2024/10/07 | 49 | graphics/asymptote/doc/quartercircle.asy
-2024/10/07 | 49 | graphics/asymptote/doc/dots.asy
-2024/10/07 | 49 | graphics/asymptote/doc/colons.asy
-2024/10/07 | 499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/libgtest.la.in
-2024/10/07 | 499 | graphics/asymptote/examples/galleon.asy
-2024/10/07 | 4992 | graphics/asymptote/base/tube.asy
-2024/10/07 | 498 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/type_definition.h
-2024/10/07 | 498 | graphics/asymptote/examples/fano.asy
-2024/10/07 | 498 | graphics/asymptote/doc/penfunctionimage.asy
-2024/10/07 | 4985 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample10_unittest.cc
-2024/10/07 | 49797 | graphics/asymptote/config.guess
-2024/10/07 | 496 | graphics/asymptote/examples/bars3.asy
-2024/10/07 | 4963 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkey/filterkey.cpp
-2024/10/07 | 495 | graphics/asymptote/examples/cones.asy
-2024/10/07 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
-2024/10/07 | 4953 | graphics/asymptote/process.h
-2024/10/07 | 494 | graphics/asymptote/drawgrestore.h
-2024/10/07 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
-2024/10/07 | 4943 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
-2024/10/07 | 493 | graphics/asymptote/examples/extrudedcontour.asy
-2024/10/07 | 492 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Cancellation.h
-2024/10/07 | 4923 | graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
-2024/10/07 | 491 | graphics/asymptote/LspCpp/third_party/rapidjson/test/CMakeLists.txt
-2024/10/07 | 4906 | graphics/asymptote/env.h
-2024/10/07 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
-2024/10/07 | 489 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCompletionItem.h
-2024/10/07 | 4896 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test.py
-2024/10/07 | 488 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/implementation.h
-2024/10/07 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
-2024/10/07 | 4872 | graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
-2024/10/07 | 4862 | graphics/asymptote/drawpath.cc
-2024/10/07 | 485 | graphics/asymptote/examples/cards.asy
-2024/10/07 | 48481 | graphics/asymptote/prc/writePRC.h
-2024/10/07 | 4841 | graphics/asymptote/tests/array/slice.asy
-2024/10/07 | 483 | graphics/asymptote/LspCpp/third_party/uri/test/string_utility.hpp
-2024/10/07 | 482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialized.h
-2024/10/07 | 4811 | graphics/asymptote/base/x11colors.asy
-2024/10/07 | 480 | graphics/asymptote/doc/logimage.asy
-2024/10/07 | 4809 | graphics/asymptote/examples/interpolate1.asy
-2024/10/07 | 4807 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-port.h
-2024/10/07 | 4805 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.zh-cn.md
-2024/10/07 | 479 | graphics/asymptote/examples/magnetic.asy
-2024/10/07 | 47993 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test-test.cc
-2024/10/07 | 4787 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/README.md
-2024/10/07 | 4782 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
-2024/10/07 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
-2024/10/07 | 4765 | graphics/asymptote/GUI/xasyFile.py
-2024/10/07 | 4762 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
-2024/10/07 | 47582 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-port.cc
-2024/10/07 | 473 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
-2024/10/07 | 473 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
-2024/10/07 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
-2024/10/07 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
-2024/10/07 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
-2024/10/07 | 4735 | graphics/asymptote/array.cc
-2024/10/07 | 4733 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/jsoncheckertest.cpp
-2024/10/07 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
-2024/10/07 | 472 | graphics/asymptote/examples/colorplanes.asy
-2024/10/07 | 4727 | graphics/asymptote/doc/westnile.csv
-2024/10/07 | 4721 | graphics/asymptote/parser.cc
-2024/10/07 | 4718 | graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
-2024/10/07 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
-2024/10/07 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
-2024/10/07 | 47098 | graphics/asymptote/base/plain_picture.asy
-2024/10/07 | 469 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfigVersion.cmake.in
-2024/10/07 | 46854 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-internal-inl.h
-2024/10/07 | 4684 | graphics/asymptote/base/plain_shipout.asy
-2024/10/07 | 4674 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
-2024/10/07 | 4668 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest_.cc
-2024/10/07 | 465 | graphics/asymptote/LspCpp/src/jsonrpc/threaded_queue.cpp
-2024/10/07 | 464 | graphics/asymptote/drawgsave.h
-2024/10/07 | 464 | graphics/asymptote/doc/GaussianSurface.asy
-2024/10/07 | 463 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json
-2024/10/07 | 4635 | macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
-2024/10/07 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
-2024/10/07 | 462 | macros/luatex/latex/letgut/README.md
-2024/10/07 | 4629 | graphics/asymptote/castop.h
-2024/10/07 | 4620 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample7_unittest.cc
-2024/10/07 | 4613 | graphics/asymptote/LspCpp/third_party/uri/deps/README.md
-2024/10/07 | 460 | graphics/asymptote/examples/lever.asy
-2024/10/07 | 460 | graphics/asymptote/examples/cosaddition.asy
-2024/10/07 | 4608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/format.json
-2024/10/07 | 4602 | graphics/asymptote/util.h
-2024/10/07 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
-2024/10/07 | 459 | graphics/asymptote/examples/hierarchy.asy
-2024/10/07 | 4597 | graphics/asymptote/drawfill.cc
-2024/10/07 | 458 | graphics/asymptote/doc/multicontour.asy
-2024/10/07 | 4581 | graphics/asymptote/LspCpp/third_party/rapidjson/example/serialize/serialize.cpp
-2024/10/07 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
-2024/10/07 | 454 | graphics/asymptote/EXRFiles.h
-2024/10/07 | 453 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentIdentifier.h
-2024/10/07 | 4531 | graphics/asymptote/webgl/fragment.glsl
-2024/10/07 | 45222 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/string_ref.h
-2024/10/07 | 4520 | graphics/asymptote/getopt1.c
-2024/10/07 | 4514 | graphics/asymptote/bbox.h
-2024/10/07 | 449 | graphics/asymptote/tests/arith/pair.asy
-2024/10/07 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
-2024/10/07 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
-2024/10/07 | 44634 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.png
-2024/10/07 | 445 | graphics/asymptote/examples/sacone.asy
-2024/10/07 | 445 | graphics/asymptote/cudareflect/kernel.h
-2024/10/07 | 4458 | graphics/asymptote/v3dfile.h
-2024/10/07 | 44569 | macros/latex/contrib/unbtex/unbtex.cls
-2024/10/07 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
-2024/10/07 | 4438 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
-2024/10/07 | 4438 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/platformtest.cpp
-2024/10/07 | 442 | graphics/asymptote/doc/join3.asy
-2024/10/07 | 441 | graphics/asymptote/examples/triangles.asy
-2024/10/07 | 4416 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/bigintegertest.cpp
-2024/10/07 | 440789 | graphics/pgf/contrib/pmdraw.zip
-2024/10/07 | 4406 | graphics/asymptote/genv.cc
-2024/10/07 | 43 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean_target.cmake
-2024/10/07 | 43 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail13.json
-2024/10/07 | 43 | graphics/asymptote/examples/spring2.asy
-2024/10/07 | 439 | graphics/asymptote/examples/gamma.asy
-2024/10/07 | 439 | graphics/asymptote/doc/histogram.asy
-2024/10/07 | 4385 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/ref.json
-2024/10/07 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
-2024/10/07 | 43830 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/testing.md
-2024/10/07 | 4381 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/filestreamtest.cpp
-2024/10/07 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
-2024/10/07 | 4375 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/draft-04/schema
-2024/10/07 | 43757 | graphics/asymptote/fftw++.h
-2024/10/07 | 4371 | graphics/asymptote/cudareflect/kernel.cu
-2024/10/07 | 436 | graphics/asymptote/examples/colorpatch.asy
-2024/10/07 | 43670 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.png
-2024/10/07 | 4366 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/ref.json
-2024/10/07 | 4362 | graphics/asymptote/LspCpp/third_party/uri/test/optional_test.cpp
-2024/10/07 | 4357 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test.py
-2024/10/07 | 4348 | graphics/asymptote/doc/colo-asy.tex
-2024/10/07 | 433 | graphics/asymptote/examples/twoSpheres.asy
-2024/10/07 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
-2024/10/07 | 43335 | graphics/asymptote/examples/100d.pdb1
-2024/10/07 | 43167 | graphics/asymptote/picture.cc
-2024/10/07 | 4310 | macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex
-2024/10/07 | 430 | graphics/asymptote/examples/unitoctant.asy
-2024/10/07 | 42 | graphics/asymptote/base/animate.asy
-2024/10/07 | 4290 | graphics/asymptote/LspCpp/src/lsp/ParentProcessWatcher.cpp
-2024/10/07 | 428 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/symbol.h
-2024/10/07 | 4286 | graphics/asymptote/asy.ico
-2024/10/07 | 4285 | graphics/asymptote/newexp.cc
-2024/10/07 | 4283 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_premature_exit_test.cc
-2024/10/07 | 427 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
-2024/10/07 | 427 | graphics/asymptote/examples/projectrevolution.asy
-2024/10/07 | 42714 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test-golden-lin.txt
-2024/10/07 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
-2024/10/07 | 426 | graphics/asymptote/doc/grid3xyz.asy
-2024/10/07 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
-2024/10/07 | 424 | graphics/asymptote/examples/spiral3.asy
-2024/10/07 | 4248 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strtodtest.cpp
-2024/10/07 | 4247 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/prime_tables.h
-2024/10/07 | 4244 | graphics/asymptote/examples/fin.asy
-2024/10/07 | 4242 | graphics/asymptote/tests/types/keyword.asy
-2024/10/07 | 423 | graphics/asymptote/doc/log2graph.asy
-2024/10/07 | 423 | graphics/asymptote/doc/helix.asy
-2024/10/07 | 4230 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.svg
-2024/10/07 | 423075 | macros/latex/contrib/mathtools/empheq.pdf
-2024/10/07 | 422 | graphics/asymptote/v3dtypes.csv
-2024/10/07 | 4227 | graphics/asymptote/LspCpp/third_party/uri/src/uri_builder.cpp
-2024/10/07 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
-2024/10/07 | 4209 | graphics/asymptote/flatguide.h
-2024/10/07 | 4207 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port-arch.h
-2024/10/07 | 4202 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/guids.json
-2024/10/07 | 420095 | graphics/pgf/contrib/pmdraw/pmdraw.pdf
-2024/10/07 | 41 | graphics/asymptote/doc/bigdiagonal.asy
-2024/10/07 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
-2024/10/07 | 419 | graphics/asymptote/examples/torus.asy
-2024/10/07 | 419 | graphics/asymptote/base/shaders/compress.glsl
-2024/10/07 | 418 | graphics/asymptote/examples/planeproject.asy
-2024/10/07 | 417 | graphics/asymptote/doc/knots.asy
-2024/10/07 | 4173 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test.py
-2024/10/07 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
-2024/10/07 | 416 | graphics/asymptote/doc/bezier2.asy
-2024/10/07 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
-2024/10/07 | 4160 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/linux-presubmit.sh
-2024/10/07 | 415 | graphics/asymptote/doc/linetype.asy
-2024/10/07 | 4158 | graphics/asymptote/examples/advection.asy
-2024/10/07 | 415744 | graphics/asymptote/binaries/x86_64-windows/gslcblas.dll
-2024/10/07 | 4156 | graphics/asymptote/runpair.in
-2024/10/07 | 41517 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.png
-2024/10/07 | 414 | graphics/asymptote/examples/animations/glmovie.asy
-2024/10/07 | 4126 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-test-part.cc
-2024/10/07 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
-2024/10/07 | 4118 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lru_cache.h
-2024/10/07 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
-2024/10/07 | 410 | graphics/asymptote/examples/Sierpinski.asy
-2024/10/07 | 40 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail32.json
-2024/10/07 | 40998 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.cc
-2024/10/07 | 4089 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
-2024/10/07 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
-2024/10/07 | 40876 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-port-test.cc
-2024/10/07 | 407 | graphics/asymptote/examples/parametricsurface.asy
-2024/10/07 | 407 | graphics/asymptote/examples/BezierPatch.asy
-2024/10/07 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
-2024/10/07 | 4072 | graphics/asymptote/tests/types/order.asy
-2024/10/07 | 407154 | graphics/asymptote/doc/asymptote.texi
-2024/10/07 | 4067 | graphics/asymptote/doc/diatom.csv
-2024/10/07 | 4066 | graphics/asymptote/base/plain_boxes.asy
-2024/10/07 | 40665 | graphics/asymptote/examples/tvgen.asy
-2024/10/07 | 4051 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/istreamwrapper.h
-2024/10/07 | 402 | graphics/asymptote/examples/projectelevation.asy
-2024/10/07 | 401 | graphics/asymptote/doc/image.asy
-2024/10/07 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
-2024/10/07 | 400 | graphics/asymptote/examples/sacylinder.asy
-2024/10/07 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
-2024/10/07 | 4007 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/fwd.h
-2024/10/07 | 39 | graphics/asymptote/base/nopapersize.ps
-2024/10/07 | 398 | graphics/asymptote/examples/epix.asy
-2024/10/07 | 3978 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
-2024/10/07 | 396 | graphics/asymptote/doc/triangulate.asy
-2024/10/07 | 396 | graphics/asymptote/doc/legend.asy
-2024/10/07 | 3968 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stringbuffer.h
-2024/10/07 | 3967 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.h
-2024/10/07 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
-2024/10/07 | 3956 | macros/luatex/latex/letgut/doc/localconf.tex
-2024/10/07 | 3956 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/itoatest.cpp
-2024/10/07 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
-2024/10/07 | 393 | graphics/asymptote/GUI/setup.py
-2024/10/07 | 3936 | graphics/asymptote/base/interpolate.asy
-2024/10/07 | 3917 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2_unittest.cc
-2024/10/07 | 3915 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/Markup.h
-2024/10/07 | 3912 | graphics/asymptote/tr.h
-2024/10/07 | 390 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/buildWorkspace.h
-2024/10/07 | 390 | graphics/asymptote/doc/tile.asy
-2024/10/07 | 38 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail26.json
-2024/10/07 | 38 | graphics/asymptote/examples/spring0.asy
-2024/10/07 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
-2024/10/07 | 3881472 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
-2024/10/07 | 387550 | macros/luatex/latex/letgut/doc/letgut.pdf
-2024/10/07 | 3870 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_path_test.cpp
-2024/10/07 | 386 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
-2024/10/07 | 3857 | graphics/asymptote/examples/pipes.asy
-2024/10/07 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json
-2024/10/07 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json
-2024/10/07 | 384 | graphics/asymptote/Delaunay.h
-2024/10/07 | 3842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_assert_by_exception_test.cc
-2024/10/07 | 383 | graphics/asymptote/tests/io/csv.asy
-2024/10/07 | 383 | graphics/asymptote/tests/arith/real.asy
-2024/10/07 | 383 | graphics/asymptote/examples/Gouraud.asy
-2024/10/07 | 382 | graphics/asymptote/doc/loggrid.asy
-2024/10/07 | 37 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail3.json
-2024/10/07 | 37991 | graphics/asymptote/path3.cc
-2024/10/07 | 37913 | graphics/asymptote/exp.cc
-2024/10/07 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
-2024/10/07 | 378 | graphics/asymptote/examples/sinxlex.asy
-2024/10/07 | 378 | graphics/asymptote/doc/icon.asy
-2024/10/07 | 3780 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-typed-test.cc
-2024/10/07 | 377 | graphics/asymptote/examples/AiryDisk.asy
-2024/10/07 | 376 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ParentProcessWatcher.h
-2024/10/07 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
-2024/10/07 | 376 | graphics/asymptote/doc/generalaxis3.asy
-2024/10/07 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
-2024/10/07 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
-2024/10/07 | 3767 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_macro_stack_footprint_test.cc
-2024/10/07 | 3765 | graphics/asymptote/prc/PRCdouble.h
-2024/10/07 | 374 | graphics/asymptote/doc/monthaxis.asy
-2024/10/07 | 3740 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
-2024/10/07 | 373 | graphics/asymptote/doc/lineargraph.asy
-2024/10/07 | 3739 | graphics/asymptote/examples/xstitch.asy
-2024/10/07 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
-2024/10/07 | 37281 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.png
-2024/10/07 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-matchers.cc
-2024/10/07 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock.h
-2024/10/07 | 3719 | graphics/asymptote/base/three_light.asy
-2024/10/07 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
-2024/10/07 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16lebom.json
-2024/10/07 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16bebom.json
-2024/10/07 | 3706 | graphics/asymptote/base/plain_constants.asy
-2024/10/07 | 3704 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test_.cc
-2024/10/07 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
-2024/10/07 | 369 | graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
-2024/10/07 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16le.json
-2024/10/07 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16be.json
-2024/10/07 | 3683 | graphics/asymptote/shaders.cc
-2024/10/07 | 3676 | graphics/asymptote/constructor.cc
-2024/10/07 | 366 | graphics/asymptote/doc/lineargraph0.asy
-2024/10/07 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
-2024/10/07 | 36540 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-printers.h
-2024/10/07 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
-2024/10/07 | 3640 | graphics/asymptote/bbox3.h
-2024/10/07 | 363 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/npm.md
-2024/10/07 | 36371 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.png
-2024/10/07 | 36356 | graphics/asymptote/dec.cc
-2024/10/07 | 3634 | graphics/asymptote/GLTextures.h
-2024/10/07 | 3630 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
-2024/10/07 | 362 | graphics/asymptote/examples/pipeintersection.asy
-2024/10/07 | 36243 | graphics/asymptote/prc/test.cc
-2024/10/07 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
-2024/10/07 | 361 | graphics/asymptote/examples/phase.asy
-2024/10/07 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
-2024/10/07 | 36152 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test_.cc
-2024/10/07 | 360 | graphics/asymptote/examples/washer.asy
-2024/10/07 | 3601 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test_ex_test.cc
-2024/10/07 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
-2024/10/07 | 35 | graphics/asymptote/base/fontsize.asy
-2024/10/07 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
-2024/10/07 | 3583 | graphics/asymptote/build-scripts/build-asymptote.dos
-2024/10/07 | 357 | graphics/asymptote/doc/irregularcontour.asy
-2024/10/07 | 3567 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/pow10.h
-2024/10/07 | 3563 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.h
-2024/10/07 | 355 | graphics/asymptote/LspCpp/third_party/rapidjson/library.json
-2024/10/07 | 355 | graphics/asymptote/doc/scaledgraph.asy
-2024/10/07 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest_main.pc.in
-2024/10/07 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock_main.pc.in
-2024/10/07 | 354 | graphics/asymptote/doc/reloadpdf.tex
-2024/10/07 | 354 | graphics/asymptote/doc/planes.asy
-2024/10/07 | 354 | graphics/asymptote/base/pstoedit.asy
-2024/10/07 | 35461 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/misctest.cpp
-2024/10/07 | 352 | graphics/asymptote/examples/cylinder.asy
-2024/10/07 | 3526 | graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
-2024/10/07 | 35217 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-param-util.h
-2024/10/07 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
-2024/10/07 | 3517 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp_test.cc
-2024/10/07 | 35147 | graphics/asymptote/LICENSE
-2024/10/07 | 350 | graphics/asymptote/examples/RiemannSurface.asy
-2024/10/07 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail17.json
-2024/10/07 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail15.json
-2024/10/07 | 34 | graphics/asymptote/examples/teapotIBL.asy
-2024/10/07 | 34 | graphics/asymptote/autogen.sh
-2024/10/07 | 349 | graphics/asymptote/examples/logdown.asy
-2024/10/07 | 3485 | graphics/asymptote/picture.h
-2024/10/07 | 347 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock.pc.in
-2024/10/07 | 3470 | graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
-2024/10/07 | 3467 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/webapp.json
-2024/10/07 | 3466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest_.cc
-2024/10/07 | 345 | graphics/asymptote/examples/rainbow.asy
-2024/10/07 | 3441 | graphics/asymptote/rounding.h
-2024/10/07 | 343 | graphics/asymptote/doc/externalprc.tex
-2024/10/07 | 3437 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/dtoatest.cpp
-2024/10/07 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
-2024/10/07 | 342 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/community_created_documentation.md
-2024/10/07 | 342 | graphics/asymptote/lexical.h
-2024/10/07 | 341 | graphics/asymptote/examples/slidedemo_.bbl
-2024/10/07 | 341 | graphics/asymptote/examples/sacylinder3D.asy
-2024/10/07 | 341 | graphics/asymptote/doc/subpictures.asy
-2024/10/07 | 3419 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-matchers.h
-2024/10/07 | 3407 | graphics/asymptote/LspCpp/third_party/rapidjson/rapidjson.autopkg
-2024/10/07 | 33 | graphics/asymptote/tests/template/imports/A.asy
-2024/10/07 | 33 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail22.json
-2024/10/07 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
-2024/10/07 | 3392 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_throw_on_failure_ex_test.cc
-2024/10/07 | 3384 | graphics/asymptote/examples/slidedemo.asy
-2024/10/07 | 3383 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
-2024/10/07 | 33764 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/paragraphs.json
-2024/10/07 | 3375 | graphics/asymptote/tests/types/guide.asy
-2024/10/07 | 3374 | graphics/asymptote/base/roundedpath.asy
-2024/10/07 | 33741 | graphics/asymptote/LspCpp/src/lsp/Markup.cpp
-2024/10/07 | 33667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-function-mocker_test.cc
-2024/10/07 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json
-2024/10/07 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json
-2024/10/07 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
-2024/10/07 | 3349 | graphics/asymptote/stack.h
-2024/10/07 | 3349 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
-2024/10/07 | 33482 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-spec-builders.cc
-2024/10/07 | 3346 | graphics/asymptote/examples/pdb.asy
-2024/10/07 | 3346 | graphics/asymptote/base/shaders/blend.glsl
-2024/10/07 | 33417 | graphics/asymptote/path.cc
-2024/10/07 | 333 | graphics/asymptote/doc/asy.1.end
-2024/10/07 | 332 | graphics/asymptote/tests/template/functionTest.asy
-2024/10/07 | 3329 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
-2024/10/07 | 33296 | graphics/asymptote/LspCpp/third_party/uri/test/uri_test.cpp
-2024/10/07 | 33240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-matchers.h
-2024/10/07 | 3321 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
-2024/10/07 | 3302 | macros/unicodetex/latex/bithesis/bithesis.ins
-2024/10/07 | 32 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail21.json
-2024/10/07 | 3297 | graphics/asymptote/access.cc
-2024/10/07 | 3294 | graphics/asymptote/LspCpp/third_party/rapidjson/travis-doxygen.sh
-2024/10/07 | 32887 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.png
-2024/10/07 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
-2024/10/07 | 3282 | graphics/asymptote/LspCpp/third_party/uri/CMakeLists.txt
-2024/10/07 | 3280 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_ex_test.cc
-2024/10/07 | 327 | graphics/asymptote/examples/sin1x.asy
-2024/10/07 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
-2024/10/07 | 3278 | graphics/asymptote/base/obj.asy
-2024/10/07 | 3271 | graphics/asymptote/program.cc
-2024/10/07 | 326 | graphics/asymptote/examples/polardatagraph.asy
-2024/10/07 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
-2024/10/07 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
-2024/10/07 | 3266 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/BUILD.bazel
-2024/10/07 | 326607 | macros/luatex/latex/letgut/source/letgut.org
-2024/10/07 | 325 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
-2024/10/07 | 324 | graphics/asymptote/doc/HermiteSpline.asy
-2024/10/07 | 3240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest_.cc
-2024/10/07 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
-2024/10/07 | 3230 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test_.cc
-2024/10/07 | 322 | graphics/asymptote/examples/unitcircle.asy
-2024/10/07 | 322 | graphics/asymptote/examples/cheese.asy
-2024/10/07 | 3219 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test_.cc
-2024/10/07 | 3218 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test_utils.py
-2024/10/07 | 321584 | graphics/asymptote/base/geometry.asy
-2024/10/07 | 320 | graphics/asymptote/tests/Makefile
-2024/10/07 | 320 | graphics/asymptote/runtriple.h
-2024/10/07 | 320 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/Move.h
-2024/10/07 | 3204 | graphics/asymptote/asymptote.spec
-2024/10/07 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail14.json
-2024/10/07 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail12.json
-2024/10/07 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
-2024/10/07 | 319 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8bom.json
-2024/10/07 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
-2024/10/07 | 3197 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest_.cc
-2024/10/07 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
-2024/10/07 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
-2024/10/07 | 316 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8.json
-2024/10/07 | 31609 | graphics/asymptote/config.sub
-2024/10/07 | 315 | graphics/asymptote/examples/hyperboloid.asy
-2024/10/07 | 3150 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
-2024/10/07 | 314 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-generated-actions.h
-2024/10/07 | 314 | graphics/asymptote/doc/logticks.asy
-2024/10/07 | 314 | graphics/asymptote/base/graph_settings.asy
-2024/10/07 | 314436 | graphics/asymptote/configure
-2024/10/07 | 3139 | graphics/asymptote/LspCpp/third_party/uri/test/uri_comparison_test.cpp
-2024/10/07 | 3139 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/dependencies.json
-2024/10/07 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
-2024/10/07 | 31346 | graphics/asymptote/builtin.cc
-2024/10/07 | 312 | graphics/asymptote/examples/textpath.asy
-2024/10/07 | 3125 | graphics/asymptote/doc/latexusage.tex
-2024/10/07 | 311 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest.pc.in
-2024/10/07 | 3119 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filewritestream.h
-2024/10/07 | 310 | graphics/asymptote/doc/latexmkrc
-2024/10/07 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
-2024/10/07 | 30 | graphics/asymptote/tests/imp/imports/A.asy
-2024/10/07 | 309 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
-2024/10/07 | 30920 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-actions.h
-2024/10/07 | 308 | graphics/asymptote/tests/types/shadow.asy
-2024/10/07 | 308 | graphics/asymptote/examples/oneoverx.asy
-2024/10/07 | 3078 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
-2024/10/07 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json
-2024/10/07 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json
-2024/10/07 | 30716 | graphics/asymptote/LspCpp/src/lsp/lsp.cpp
-2024/10/07 | 306 | graphics/asymptote/doc/binarytreetest.asy
-2024/10/07 | 3069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test_.cc
-2024/10/07 | 3063 | graphics/asymptote/LspCpp/third_party/uri/src/detail/grammar.hpp
-2024/10/07 | 30638 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/macro_map.h
-2024/10/07 | 3060 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/CMakeLists.txt
-2024/10/07 | 3040 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
-2024/10/07 | 303 | graphics/asymptote/examples/tensor.asy
-2024/10/07 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
-2024/10/07 | 3034 | graphics/asymptote/doc/Makefile.in
-2024/10/07 | 30317 | graphics/asymptote/exp.h
-2024/10/07 | 3025 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-assertion-result.cc
-2024/10/07 | 3025 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/allOf.json
-2024/10/07 | 3024 | graphics/asymptote/drawimage.h
-2024/10/07 | 30208 | graphics/asymptote/prc/PRC.h
-2024/10/07 | 301 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/organizeImports.h
-2024/10/07 | 301 | graphics/asymptote/base/shaders/count.glsl
-2024/10/07 | 30147 | graphics/asymptote/getopt.c
-2024/10/07 | 3011 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock_main.cc
-2024/10/07 | 300 | graphics/asymptote/examples/strokepath.asy
-2024/10/07 | 30003 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/alotofkeys.json
-2024/10/07 | 2 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/progress.marks
-2024/10/07 | 2 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/progress.marks
-2024/10/07 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail25.json
-2024/10/07 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail11.json
-2024/10/07 | 299 | macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m
-2024/10/07 | 299 | graphics/asymptote/runpair.h
-2024/10/07 | 2996 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
-2024/10/07 | 29900 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/faq.md
-2024/10/07 | 298 | graphics/asymptote/examples/elevation.asy
-2024/10/07 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
-2024/10/07 | 2989 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/dependencies.json
-2024/10/07 | 2982 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.h
-2024/10/07 | 297 | graphics/asymptote/glew.c
-2024/10/07 | 297 | graphics/asymptote/build-scripts/README-binaries
-2024/10/07 | 297 | graphics/asymptote/binaries/x86_64-windows/texlive/README
-2024/10/07 | 2979 | graphics/asymptote/doc/diatom.asy
-2024/10/07 | 2974 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filereadstream.h
-2024/10/07 | 2969 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/ieee754.h
-2024/10/07 | 2964 | graphics/asymptote/access.h
-2024/10/07 | 2961 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
-2024/10/07 | 2960 | graphics/asymptote/material.h
-2024/10/07 | 294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/classFileContents.h
-2024/10/07 | 294 | graphics/asymptote/guideflags.h
-2024/10/07 | 2949 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
-2024/10/07 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
-2024/10/07 | 2940928 | graphics/asymptote/binaries/x86_64-windows/gsl.dll
-2024/10/07 | 293 | graphics/asymptote/doc/makepen.asy
-2024/10/07 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
-2024/10/07 | 29242 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodings.h
-2024/10/07 | 29203 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_for_dummies.md
-2024/10/07 | 291 | graphics/asymptote/LspCpp/src/jsonrpc/GCThreadContext.cpp
-2024/10/07 | 291 | graphics/asymptote/examples/trumpet.asy
-2024/10/07 | 29193 | graphics/asymptote/LspCpp/src/lsp/ProtocolJsonHandler.cpp
-2024/10/07 | 2915 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_sass/main.scss
-2024/10/07 | 2901 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/json.h
-2024/10/07 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
-2024/10/07 | 289 | graphics/asymptote/examples/jump.asy
-2024/10/07 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
-2024/10/07 | 289 | graphics/asymptote/base/res/notes.txt
-2024/10/07 | 288 | graphics/asymptote/examples/sacone3D.asy
-2024/10/07 | 288 | graphics/asymptote/doc/mexicanhat.asy
-2024/10/07 | 2888 | graphics/asymptote/statistics.h
-2024/10/07 | 288550 | macros/latex/contrib/reptheorem/reptheorem-doc.pdf
-2024/10/07 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/properties.json
-2024/10/07 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/properties.json
-2024/10/07 | 2880 | graphics/asymptote/drawgroup.h
-2024/10/07 | 287695 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-matchers_test.cc
-2024/10/07 | 2868 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/semanticHighlighting.h
-2024/10/07 | 2865 | macros/latex/contrib/mathtools/mathtools.ins
-2024/10/07 | 28512 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
-2024/10/07 | 284 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/Config.cmake.in
-2024/10/07 | 284 | graphics/asymptote/GUI/res/icons/text.svg
-2024/10/07 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
-2024/10/07 | 2830 | graphics/asymptote/examples/alignedaxis.asy
-2024/10/07 | 28277 | graphics/asymptote/symbolmaps.h
-2024/10/07 | 2814 | graphics/asymptote/LspCpp/third_party/rapidjson/example/messagereader/messagereader.cpp
-2024/10/07 | 2813 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test2-test.cc
-2024/10/07 | 28114 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-internal-utils_test.cc
-2024/10/07 | 2804 | graphics/asymptote/LspCpp/src/jsonrpc/message.cpp
-2024/10/07 | 2800 | graphics/asymptote/doc/asycolors.sty
-2024/10/07 | 279 | graphics/asymptote/doc/hatch.asy
-2024/10/07 | 2795 | macros/latex/contrib/mathtools/empheq.ins
-2024/10/07 | 27958 | graphics/asymptote/pen.h
-2024/10/07 | 2787 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_action.h
-2024/10/07 | 277 | graphics/asymptote/tests/template/initTest.asy
-2024/10/07 | 277 | graphics/asymptote/doc/generalaxis.asy
-2024/10/07 | 2776 | graphics/asymptote/symbol.h
-2024/10/07 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
-2024/10/07 | 2771 | graphics/asymptote/doc/pixel.pdf
-2024/10/07 | 276 | graphics/asymptote/tests/template/mapArrayTest.asy
-2024/10/07 | 276 | graphics/asymptote/tests/bench/6000circles.asy
-2024/10/07 | 2768 | graphics/asymptote/errormsg.cc
-2024/10/07 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
-2024/10/07 | 274 | macros/luatex/latex/letgut/doc/letgut.bib
-2024/10/07 | 2746 | macros/latex/contrib/unbtex/unbtexcover/contracapa.pdf
-2024/10/07 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json
-2024/10/07 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json
-2024/10/07 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
-2024/10/07 | 2732 | graphics/asymptote/record.h
-2024/10/07 | 2731 | graphics/asymptote/tests/types/resolve.asy
-2024/10/07 | 2729 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
-2024/10/07 | 2721 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strfunc.h
-2024/10/07 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
-2024/10/07 | 2707 | graphics/asymptote/settings.h
-2024/10/07 | 2707 | graphics/asymptote/runtriple.in
-2024/10/07 | 270390 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
-2024/10/07 | 2702 | macros/luatex/latex/letgut/doc/xindex-letgut.lua
-2024/10/07 | 2701 | graphics/asymptote/build-scripts/build-asymptote
-2024/10/07 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail7.json
-2024/10/07 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail6.json
-2024/10/07 | 26 | graphics/asymptote/doc/filegraph.dat
-2024/10/07 | 26 | graphics/asymptote/_config.yml
-2024/10/07 | 269 | graphics/asymptote/runmath.h
-2024/10/07 | 2697 | graphics/asymptote/table.h
-2024/10/07 | 268 | graphics/asymptote/base/asy-init.el
-2024/10/07 | 2688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
-2024/10/07 | 26844 | graphics/asymptote/runpath.cc
-2024/10/07 | 2682 | graphics/asymptote/LspCpp/third_party/uri/test/uri_reference_test.cpp
-2024/10/07 | 26817 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/writer.h
-2024/10/07 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
-2024/10/07 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
-2024/10/07 | 2674 | graphics/asymptote/doc/markers1.asy
-2024/10/07 | 26697 | macros/luatex/latex/letgut/source/letgut-banner.org
-2024/10/07 | 2662 | graphics/asymptote/LspCpp/third_party/rapidjson/appveyor.yml
-2024/10/07 | 2661 | graphics/asymptote/runbacktrace.cc
-2024/10/07 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
-2024/10/07 | 264 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Directory.h
-2024/10/07 | 264 | graphics/asymptote/examples/labelbox.asy
-2024/10/07 | 264 | graphics/asymptote/examples/coag.asy
-2024/10/07 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
-2024/10/07 | 2649 | graphics/asymptote/base/patterns.asy
-2024/10/07 | 2642 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorystream.h
-2024/10/07 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
-2024/10/07 | 262 | graphics/asymptote/doc/loggraph.asy
-2024/10/07 | 2628 | graphics/asymptote/examples/soccerball.asy
-2024/10/07 | 2626 | graphics/asymptote/examples/worldmap.asy
-2024/10/07 | 2623 | graphics/asymptote/jsfile.h
-2024/10/07 | 261 | graphics/asymptote/doc/join.asy
-2024/10/07 | 261756 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_unittest.cc
-2024/10/07 | 2615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
-2024/10/07 | 2614 | graphics/asymptote/pipestream.h
-2024/10/07 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json
-2024/10/07 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json
-2024/10/07 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
-2024/10/07 | 26102 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/regex.h
-2024/10/07 | 2608 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/macos-presubmit.sh
-2024/10/07 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
-2024/10/07 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
-2024/10/07 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/integer.json
-2024/10/07 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json
-2024/10/07 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
-2024/10/07 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
-2024/10/07 | 2591 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/extends.json
-2024/10/07 | 2578 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_scheme_test.cpp
-2024/10/07 | 2576 | graphics/asymptote/LspCpp/third_party/rapidjson/example/capitalize/capitalize.cpp
-2024/10/07 | 25701 | graphics/asymptote/runpath3d.cc
-2024/10/07 | 256 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/footer.html
-2024/10/07 | 256 | graphics/asymptote/doc/shadedtiling.asy
-2024/10/07 | 256933 | macros/latex/contrib/mathtools/mhsetup.pdf
-2024/10/07 | 25626 | graphics/asymptote/bezierpatch.cc
-2024/10/07 | 2561 | graphics/asymptote/program.h
-2024/10/07 | 255 | macros/luatex/latex/letgut/doc/listings-conf.tex
-2024/10/07 | 25584 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
-2024/10/07 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
-2024/10/07 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
-2024/10/07 | 25503 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-function-mocker.h
-2024/10/07 | 254 | graphics/asymptote/examples/parametricelevation.asy
-2024/10/07 | 254 | graphics/asymptote/examples/contextfonts.asy
-2024/10/07 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
-2024/10/07 | 2542 | graphics/asymptote/policy.h
-2024/10/07 | 25357 | graphics/asymptote/base/lmfit.asy
-2024/10/07 | 2534 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorybuffer.h
-2024/10/07 | 253177 | macros/latex/contrib/mathtools/mathtools.dtx
-2024/10/07 | 2526 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
-2024/10/07 | 252536 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest.cc
-2024/10/07 | 251 | graphics/asymptote/examples/triceratops.asy
-2024/10/07 | 251 | graphics/asymptote/doc/axis3.asy
-2024/10/07 | 251 | graphics/asymptote/base/metapost.asy
-2024/10/07 | 2518 | graphics/asymptote/prc/PRCbitStream.h
-2024/10/07 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
-2024/10/07 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
-2024/10/07 | 250 | graphics/asymptote/examples/transparentCubes.asy
-2024/10/07 | 2507 | graphics/asymptote/README
-2024/10/07 | 2507 | graphics/asymptote/binaries/x86_64-windows/README
-2024/10/07 | 2505 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test_.cc
-2024/10/07 | 2504 | graphics/asymptote/examples/mosquito.asy
-2024/10/07 | 24 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail5.json
-2024/10/07 | 24 | graphics/asymptote/doc/diagonal.asy
-2024/10/07 | 2499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_prod.h
-2024/10/07 | 2499 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
-2024/10/07 | 2496 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test.py
-2024/10/07 | 2495 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test.py
-2024/10/07 | 2492 | graphics/asymptote/base/three_margins.asy
-2024/10/07 | 24924 | graphics/asymptote/examples/uhrturm.obj
-2024/10/07 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
-2024/10/07 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
-2024/10/07 | 2477 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
-2024/10/07 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
-2024/10/07 | 24777 | graphics/asymptote/symbolmaps.cc
-2024/10/07 | 247296 | graphics/asymptote/binaries/x86_64-windows/freeglut.dll
-2024/10/07 | 24712 | graphics/asymptote/drawsurface.cc
-2024/10/07 | 2470 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.cc
-2024/10/07 | 245 | graphics/asymptote/examples/alignbox.asy
-2024/10/07 | 2459 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
-2024/10/07 | 2457 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
-2024/10/07 | 2451 | graphics/asymptote/base/labelpath3.asy
-2024/10/07 | 244 | graphics/asymptote/tests/arith/triple.asy
-2024/10/07 | 24483 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-output-unittest.py
-2024/10/07 | 24474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-listener-test.cc
-2024/10/07 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
-2024/10/07 | 243 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
-2024/10/07 | 243 | graphics/asymptote/doc/cube.asy
-2024/10/07 | 24372 | graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
-2024/10/07 | 242 | graphics/asymptote/examples/equilateral.asy
-2024/10/07 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
-2024/10/07 | 242 | graphics/asymptote/BUGS
-2024/10/07 | 2424 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/WebSocketServer.h
-2024/10/07 | 24230 | graphics/asymptote/doc/extra/intro.asy
-2024/10/07 | 241 | graphics/asymptote/cudareflect/common.h
-2024/10/07 | 2418 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageJsonHandler.h
-2024/10/07 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_check_output_test.py
-2024/10/07 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_json_test_utils.py
-2024/10/07 | 240 | graphics/asymptote/doc/parametricgraph.asy
-2024/10/07 | 2407 | graphics/asymptote/LspCpp/include/LibLsp/lsp/windows/MessageNotify.h
-2024/10/07 | 24043 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
-2024/10/07 | 2403 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_no_test_unittest.cc
-2024/10/07 | 2400 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test.py
-2024/10/07 | 23 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail20.json
-2024/10/07 | 23 | graphics/asymptote/GUI/__init__.py
-2024/10/07 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
-2024/10/07 | 2396 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.h
-2024/10/07 | 2396 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/namespacetest.cpp
-2024/10/07 | 23904 | graphics/asymptote/process.cc
-2024/10/07 | 238 | graphics/asymptote/GUI/xasyValidator.py
-2024/10/07 | 238 | graphics/asymptote/doc/filegraph.asy
-2024/10/07 | 2389 | graphics/asymptote/common.h
-2024/10/07 | 2378 | graphics/asymptote/profile.py
-2024/10/07 | 23717 | graphics/asymptote/base/three_arrows.asy
-2024/10/07 | 236 | graphics/asymptote/tests/string/erase.asy
-2024/10/07 | 236 | graphics/asymptote/examples/annotation.asy
-2024/10/07 | 2367 | macros/latex/contrib/reptheorem/reptheorem.ins
-2024/10/07 | 2362 | graphics/asymptote/examples/spectrum.asy
-2024/10/07 | 235 | graphics/asymptote/examples/cos2theta.asy
-2024/10/07 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
-2024/10/07 | 23567 | graphics/asymptote/drawsurface.h
-2024/10/07 | 2355 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test.py
-2024/10/07 | 2353 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
-2024/10/07 | 234 | graphics/asymptote/doc/beziercurve.asy
-2024/10/07 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
-2024/10/07 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
-2024/10/07 | 233 | graphics/asymptote/examples/cardioid.asy
-2024/10/07 | 2335 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_all_test.cc
-2024/10/07 | 2333 | graphics/asymptote/tests/template/imports/pureset.asy
-2024/10/07 | 232 | graphics/asymptote/tests/TestLib.asy
-2024/10/07 | 2328 | graphics/asymptote/virtualfieldaccess.h
-2024/10/07 | 2328 | graphics/asymptote/LspCpp/third_party/uri/README.rst
-2024/10/07 | 231 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/GCThreadContext.h
-2024/10/07 | 2319 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_layouts/default.html
-2024/10/07 | 2313 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
-2024/10/07 | 2310 | graphics/asymptote/base/plain_margins.asy
-2024/10/07 | 2303 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/ostreamwrapper.h
-2024/10/07 | 22 | graphics/asymptote/tests/output/line.asy
-2024/10/07 | 22 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/progress.make
-2024/10/07 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail9.json
-2024/10/07 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail19.json
-2024/10/07 | 22 | graphics/asymptote/GUI/configs/__init__.py
-2024/10/07 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSON.pc.in
-2024/10/07 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/docker/debian/Dockerfile
-2024/10/07 | 22946 | graphics/asymptote/base/syzygy.asy
-2024/10/07 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
-2024/10/07 | 228 | graphics/asymptote/examples/circumcircle.asy
-2024/10/07 | 2289 | graphics/asymptote/LspCpp/src/lsp/lsp_diagnostic.cpp
-2024/10/07 | 22873 | graphics/asymptote/examples/piicon.png
-2024/10/07 | 2286 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest_.cc
-2024/10/07 | 2282 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.h
-2024/10/07 | 2282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json
-2024/10/07 | 2281 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
-2024/10/07 | 2279 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/StreamMessageProducer.h
-2024/10/07 | 2277 | graphics/asymptote/base/texcolors.asy
-2024/10/07 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
-2024/10/07 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
-2024/10/07 | 226 | graphics/asymptote/tests/template/imports/wrapperWithEquals.asy
-2024/10/07 | 2266 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/not.json
-2024/10/07 | 2266 | graphics/asymptote/align.h
-2024/10/07 | 22663 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-param-test.h
-2024/10/07 | 2265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test.py
-2024/10/07 | 22642 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filepath-test.cc
-2024/10/07 | 2260 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.cc
-2024/10/07 | 2260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h
-2024/10/07 | 22580 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
-2024/10/07 | 2257 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json
-2024/10/07 | 2255 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplepullreader/simplepullreader.cpp
-2024/10/07 | 2252 | graphics/asymptote/build-scripts/HOWTO-MSWindows
-2024/10/07 | 22526 | graphics/asymptote/LspCpp/third_party/uri/test/uri_builder_test.cpp
-2024/10/07 | 224 | graphics/asymptote/tests/types/init.asy
-2024/10/07 | 2245 | graphics/asymptote/LspCpp/third_party/rapidjson/example/prettyauto/prettyauto.cpp
-2024/10/07 | 22426 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.md
-2024/10/07 | 223 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCodeLens.h
-2024/10/07 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
-2024/10/07 | 2239 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_all_test.cc
-2024/10/07 | 2239 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.dot
-2024/10/07 | 22345 | graphics/asymptote/knot.cc
-2024/10/07 | 2230 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_environment_check_output_test.py
-2024/10/07 | 222 | graphics/asymptote/wce
-2024/10/07 | 222 | graphics/asymptote/examples/yingyang.asy
-2024/10/07 | 2223 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTORS
-2024/10/07 | 2222 | graphics/asymptote/tests/frames/loop.asy
-2024/10/07 | 22121 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.md
-2024/10/07 | 2205 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RequestInMessage.h
-2024/10/07 | 2201 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-all.cc
-2024/10/07 | 219 | graphics/asymptote/doc/penimage.asy
-2024/10/07 | 219 | graphics/asymptote/doc/graphwithderiv.asy
-2024/10/07 | 21998 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri.hpp
-2024/10/07 | 21956 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.zh-cn.md
-2024/10/07 | 2194 | graphics/asymptote/locate.cc
-2024/10/07 | 218 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProtocolJsonHandler.h
-2024/10/07 | 218 | graphics/asymptote/doc/datagraph.asy
-2024/10/07 | 21899 | graphics/asymptote/camp.y
-2024/10/07 | 21898 | macros/latex/contrib/unbtex/unbtex-example/figuras/circuito.pdf
-2024/10/07 | 21892 | graphics/asymptote/runmath.cc
-2024/10/07 | 2187 | graphics/asymptote/base/plain_debugger.asy
-2024/10/07 | 2182 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
-2024/10/07 | 2182 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/documentColor.h
-2024/10/07 | 21784 | macros/latex/contrib/mathtools/mhsetup.dtx
-2024/10/07 | 2175 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_sole_header_test.cc
-2024/10/07 | 2175 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/LICENSE
-2024/10/07 | 21664 | macros/latex/contrib/updatemarks/tex/updatemarks.sty
-2024/10/07 | 2164 | graphics/asymptote/frame.h
-2024/10/07 | 2164 | graphics/asymptote/examples/splitpatch.asy
-2024/10/07 | 2161 | graphics/asymptote/LspCpp/include/LibLsp/lsp/working_files.h
-2024/10/07 | 215 | macros/latex/contrib/unbtex/unbtex-example/capitulo5.tex
-2024/10/07 | 21546 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.zh-cn.md
-2024/10/07 | 21537 | macros/latex/contrib/unbtex/unbtex-example/figuras/diodocurva.pdf
-2024/10/07 | 21535 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/assertions.md
-2024/10/07 | 2151 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
-2024/10/07 | 21515 | macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
-2024/10/07 | 21493 | graphics/asymptote/lspserv.cc
-2024/10/07 | 2147 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_prod_test.cc
-2024/10/07 | 2146 | graphics/asymptote/abs3doutfile.h
-2024/10/07 | 21466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest.py
-2024/10/07 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
-2024/10/07 | 21448 | graphics/asymptote/base/feynman.asy
-2024/10/07 | 2142 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
-2024/10/07 | 2138 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test_.cc
-2024/10/07 | 2134 | graphics/asymptote/drawlabel.h
-2024/10/07 | 21341 | graphics/asymptote/fileio.h
-2024/10/07 | 2132 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.h
-2024/10/07 | 2130 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.h
-2024/10/07 | 21276 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.md
-2024/10/07 | 21271 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/documenttest.cpp
-2024/10/07 | 21271 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
-2024/10/07 | 2115 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
-2024/10/07 | 2113 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
-2024/10/07 | 2110 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.cc
-2024/10/07 | 210 | graphics/asymptote/examples/spiral.asy
-2024/10/07 | 210 | graphics/asymptote/build-scripts/asy-indent.el
-2024/10/07 | 2109 | graphics/asymptote/base/drawtree.asy
-2024/10/07 | 2107 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-all.cc
-2024/10/07 | 2100 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm.hpp
-2024/10/07 | 20 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail23.json
-2024/10/07 | 20994 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
-2024/10/07 | 20989 | graphics/asymptote/base/plain_bounds.asy
-2024/10/07 | 20974 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/mocking.md
-2024/10/07 | 2094 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-printers.h
-2024/10/07 | 209115 | graphics/asymptote/doc/asy-latex.pdf
-2024/10/07 | 2088 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test_.cc
-2024/10/07 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
-2024/10/07 | 20818 | graphics/asymptote/runtime.in
-2024/10/07 | 207 | graphics/asymptote/examples/triangle.asy
-2024/10/07 | 207686 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-matchers.h
-2024/10/07 | 2073 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
-2024/10/07 | 2071 | graphics/asymptote/examples/truncatedIcosahedron.asy
-2024/10/07 | 207056 | graphics/asymptote/asy.list
-2024/10/07 | 206 | graphics/asymptote/examples/log.asy
-2024/10/07 | 2069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_in_environment_setup_test.cc
-2024/10/07 | 20639 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest.py
-2024/10/07 | 20565 | graphics/asymptote/dec.h
-2024/10/07 | 205495 | graphics/asymptote/base/colormap.asy
-2024/10/07 | 2053 | graphics/asymptote/LspCpp/third_party/uri/test/test_uri.hpp
-2024/10/07 | 2045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/clzll.h
-2024/10/07 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
-2024/10/07 | 2035 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
-2024/10/07 | 2034 | graphics/asymptote/doc/elliptic.asy
-2024/10/07 | 2033 | graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
-2024/10/07 | 202 | graphics/asymptote/tests/frames/stat2.asy
-2024/10/07 | 202 | graphics/asymptote/doc/exp.asy
-2024/10/07 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
-2024/10/07 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
-2024/10/07 | 20277 | graphics/asymptote/base/contour.asy
-2024/10/07 | 2023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test_.cc
-2024/10/07 | 20232 | graphics/asymptote/runpicture.in
-2024/10/07 | 2020 | graphics/asymptote/examples/slope.asy
-2024/10/07 | 2013 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsResponseMessage.h
-2024/10/07 | 2012 | graphics/asymptote/varinit.h
-2024/10/07 | 20123 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/matchers.md
-2024/10/07 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
-2024/10/07 | 2009 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
-2024/10/07 | 2005 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_test.cc
-2024/10/07 | 20051 | graphics/asymptote/doc/asyRefCard.tex
-2024/10/07 | 2004 | graphics/asymptote/varinit.cc
-2024/10/07 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
-2024/10/07 | 19 | graphics/asymptote/tests/template/imports/B.asy
-2024/10/07 | 199 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/progress.make
-2024/10/07 | 199 | graphics/asymptote/examples/upint.asy
-2024/10/07 | 199 | graphics/asymptote/examples/BezierTriangle.asy
-2024/10/07 | 19967 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.zh-cn.md
-2024/10/07 | 1995 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4_unittest.cc
-2024/10/07 | 198 | graphics/asymptote/examples/tanh.asy
-2024/10/07 | 198634 | graphics/asymptote/doc/CAD.pdf
-2024/10/07 | 1982 | graphics/asymptote/inst.h
-2024/10/07 | 1977 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-port_test.cc
-2024/10/07 | 1975 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/enum.json
-2024/10/07 | 1975 | graphics/asymptote/array.h
-2024/10/07 | 19752 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/uri.h
-2024/10/07 | 19735 | graphics/asymptote/base/plain_arrows.asy
-2024/10/07 | 1971 | graphics/asymptote/base/slopefield.asy
-2024/10/07 | 196 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
-2024/10/07 | 196 | graphics/asymptote/examples/lowint.asy
-2024/10/07 | 196 | graphics/asymptote/examples/label3ribbon.asy
-2024/10/07 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
-2024/10/07 | 1968 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest_main.cc
-2024/10/07 | 1968 | graphics/asymptote/examples/mergeExample.asy
-2024/10/07 | 1964 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/enum.json
-2024/10/07 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/refRemote.json
-2024/10/07 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/refRemote.json
-2024/10/07 | 19604 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.h
-2024/10/07 | 19597 | graphics/asymptote/doc/external-proposal.html
-2024/10/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile2_test_.cc
-2024/10/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile1_test_.cc
-2024/10/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test2_test.cc
-2024/10/07 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
-2024/10/07 | 1954 | graphics/asymptote/seconds.h
-2024/10/07 | 1953 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-port.h
-2024/10/07 | 1952 | graphics/asymptote/genv.h
-2024/10/07 | 1950 | graphics/asymptote/cudareflect/utils.cuh
-2024/10/07 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
-2024/10/07 | 1949 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test_.cc
-2024/10/07 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
-2024/10/07 | 19450 | graphics/asymptote/psfile.cc
-2024/10/07 | 1944 | macros/unicodetex/latex/bithesis/README.md
-2024/10/07 | 19444 | macros/luatex/latex/letgut/doc/exemple-nouveautes.pdf
-2024/10/07 | 193 | graphics/asymptote/tests/gc/shipout.asy
-2024/10/07 | 193 | graphics/asymptote/tests/arith/random.asy
-2024/10/07 | 1936 | graphics/asymptote/refaccess.h
-2024/10/07 | 1936 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/disallow.json
-2024/10/07 | 19321 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodingstest.cpp
-2024/10/07 | 192 | graphics/asymptote/base/shaders/zero.glsl
-2024/10/07 | 1927 | macros/latex/contrib/unbtex/unbtexcover/capa.pdf
-2024/10/07 | 1927 | graphics/asymptote/tests/array/fields.asy
-2024/10/07 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
-2024/10/07 | 1925 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
-2024/10/07 | 1923 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test_.cc
-2024/10/07 | 191 | graphics/asymptote/runpicture.h
-2024/10/07 | 1919 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.h
-2024/10/07 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
-2024/10/07 | 1918 | macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex
-2024/10/07 | 1918 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-matchers.h
-2024/10/07 | 1916 | graphics/asymptote/LspCpp/third_party/uri/src/uri_errors.cpp
-2024/10/07 | 1915 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.dot
-2024/10/07 | 19136 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/primer.md
-2024/10/07 | 1910 | graphics/asymptote/examples/linearregression.asy
-2024/10/07 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
-2024/10/07 | 18 | graphics/asymptote/tests/output/circle.asy
-2024/10/07 | 18 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_config.yml
-2024/10/07 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
-2024/10/07 | 1899 | graphics/asymptote/GUI/res/icons/social-python.svg
-2024/10/07 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
-2024/10/07 | 1898 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
-2024/10/07 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
-2024/10/07 | 18944 | graphics/asymptote/binaries/x86_64-windows/getopt.dll
-2024/10/07 | 18902 | graphics/asymptote/LspCpp/src/lsp/utils.cpp
-2024/10/07 | 188 | graphics/asymptote/runstring.h
-2024/10/07 | 188 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/cmake_clean.cmake
-2024/10/07 | 188 | graphics/asymptote/examples/transparency.asy
-2024/10/07 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
-2024/10/07 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
-2024/10/07 | 187 | graphics/asymptote/tests/string/rfind.asy
-2024/10/07 | 187 | graphics/asymptote/examples/label3solid.asy
-2024/10/07 | 1878 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test_.cc
-2024/10/07 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.cc
-2024/10/07 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link2_test.cc
-2024/10/07 | 1876 | graphics/asymptote/cc-mode2.el
-2024/10/07 | 18767 | graphics/asymptote/runstring.cc
-2024/10/07 | 1875 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/foldingRange.h
-2024/10/07 | 1873 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-port.h
-2024/10/07 | 186 | graphics/asymptote/runpath3d.h
-2024/10/07 | 186 | graphics/asymptote/doc/unitcircle3.asy
-2024/10/07 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
-2024/10/07 | 1866 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplereader/simplereader.cpp
-2024/10/07 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
-2024/10/07 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
-2024/10/07 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
-2024/10/07 | 1858 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest.h
-2024/10/07 | 1857 | graphics/pgf/contrib/pmdraw/README.md
-2024/10/07 | 18578 | graphics/asymptote/application.cc
-2024/10/07 | 1851 | graphics/asymptote/drawclipbegin.h
-2024/10/07 | 184 | graphics/asymptote/examples/roll.asy
-2024/10/07 | 18474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-printers.cc
-2024/10/07 | 18448 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-internal-utils.h
-2024/10/07 | 1841 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_main_unittest.cc
-2024/10/07 | 183 | graphics/asymptote/build-scripts/cc-indent.el
-2024/10/07 | 18382 | graphics/asymptote/LspCpp/third_party/uri/src/uri.cpp
-2024/10/07 | 1832 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/NotificationInMessage.h
-2024/10/07 | 18327 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_test.cpp
-2024/10/07 | 1831 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Endpoint.h
-2024/10/07 | 1830 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
-2024/10/07 | 182 | graphics/asymptote/tests/string/find.asy
-2024/10/07 | 182 | graphics/asymptote/examples/label3.asy
-2024/10/07 | 1829 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
-2024/10/07 | 1828 | graphics/asymptote/beziercurve.cc
-2024/10/07 | 18279 | graphics/asymptote/configure.ac
-2024/10/07 | 18222 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
-2024/10/07 | 1819 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/colorPresentation.h
-2024/10/07 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
-2024/10/07 | 18126 | graphics/asymptote/doc/asy-latex.dtx
-2024/10/07 | 1808 | graphics/asymptote/GUI/res/icons.qrc
-2024/10/07 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
-2024/10/07 | 17 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail2.json
-2024/10/07 | 17992 | graphics/asymptote/entry.cc
-2024/10/07 | 1796 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
-2024/10/07 | 17951 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-matchers.cc
-2024/10/07 | 1794 | graphics/asymptote/fftw++.cc
-2024/10/07 | 17907 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/writertest.cpp
-2024/10/07 | 178 | graphics/asymptote/fftw++asy.cc
-2024/10/07 | 1781 | graphics/asymptote/examples/cyclohexane.asy
-2024/10/07 | 177 | graphics/asymptote/runpath.h
-2024/10/07 | 177 | graphics/asymptote/examples/curvedlabel.asy
-2024/10/07 | 17796 | graphics/asymptote/runfile.cc
-2024/10/07 | 1778 | graphics/asymptote/examples/conicurv.asy
-2024/10/07 | 1775 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.dot
-2024/10/07 | 17737 | graphics/asymptote/texfile.cc
-2024/10/07 | 177246 | graphics/asymptote/prc/PRCdouble.cc
-2024/10/07 | 176 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/makefile
-2024/10/07 | 176640 | graphics/asymptote/binaries/x86_64-windows/readline.dll
-2024/10/07 | 1765 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/ScopeExit.h
-2024/10/07 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
-2024/10/07 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
-2024/10/07 | 175 | graphics/asymptote/examples/strokeshade.asy
-2024/10/07 | 175 | graphics/asymptote/errortestTemplate.asy
-2024/10/07 | 175536 | graphics/asymptote/GUI/icons_rc.py
-2024/10/07 | 1753 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/README.md
-2024/10/07 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
-2024/10/07 | 1752 | graphics/asymptote/base/shaders/sum3.glsl
-2024/10/07 | 1751 | graphics/asymptote/GUI/GuidesManager.py
-2024/10/07 | 17501 | graphics/asymptote/asy-keywords.el
-2024/10/07 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
-2024/10/07 | 1746 | graphics/asymptote/doc/westnile.asy
-2024/10/07 | 17435 | graphics/asymptote/tests/template/splaytreeTest.asy
-2024/10/07 | 173 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/readme.txt
-2024/10/07 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
-2024/10/07 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
-2024/10/07 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
-2024/10/07 | 1734486 | graphics/asymptote/ChangeLog
-2024/10/07 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
-2024/10/07 | 1732 | graphics/asymptote/GUI/res/icons/grid.svg
-2024/10/07 | 172 | graphics/asymptote/base/mapArray.asy
-2024/10/07 | 1728 | graphics/asymptote/webgl/vertex.glsl
-2024/10/07 | 17258 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/regextest.cpp
-2024/10/07 | 1710 | graphics/asymptote/tests/arith/roots.asy
-2024/10/07 | 1710 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_io.hpp
-2024/10/07 | 170 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/apitests.cpp
-2024/10/07 | 17049 | macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
-2024/10/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail8.json
-2024/10/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail4.json
-2024/10/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail24.json
-2024/10/07 | 169 | graphics/asymptote/runbacktrace.h
-2024/10/07 | 1698 | graphics/asymptote/record.cc
-2024/10/07 | 1698 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/floats.json
-2024/10/07 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
-2024/10/07 | 1694 | graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
-2024/10/07 | 168 | graphics/asymptote/examples/lines.asy
-2024/10/07 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
-2024/10/07 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
-2024/10/07 | 1675 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.cc
-2024/10/07 | 1674 | macros/latex/contrib/mathtools/README.md
-2024/10/07 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
-2024/10/07 | 16679 | graphics/asymptote/LspCpp/third_party/uri/src/Makefile
-2024/10/07 | 16598 | macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.pdf
-2024/10/07 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
-2024/10/07 | 1658 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/registerCapability.h
-2024/10/07 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
-2024/10/07 | 16569 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.png
-2024/10/07 | 16552 | graphics/asymptote/LspCpp/third_party/uri/include/network/optional.hpp
-2024/10/07 | 1651 | macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py
-2024/10/07 | 16492 | graphics/asymptote/base/plain_Label.asy
-2024/10/07 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
-2024/10/07 | 16483 | graphics/asymptote/runpair.cc
-2024/10/07 | 1642 | graphics/asymptote/callable.h
-2024/10/07 | 1640 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
-2024/10/07 | 164041 | macros/latex/contrib/mathtools/empheq.dtx
-2024/10/07 | 163 | graphics/asymptote/examples/1overx.asy
-2024/10/07 | 1638 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
-2024/10/07 | 16387 | graphics/asymptote/base/slide.asy
-2024/10/07 | 1630 | graphics/asymptote/builtin.h
-2024/10/07 | 162 | graphics/asymptote/examples/stereoscopic.asy
-2024/10/07 | 162 | graphics/asymptote/examples/sphereskeleton.asy
-2024/10/07 | 16298 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/rapidjsontest.cpp
-2024/10/07 | 1620 | graphics/asymptote/doc/colors.asy
-2024/10/07 | 161 | graphics/asymptote/runhistory.h
-2024/10/07 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
-2024/10/07 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
-2024/10/07 | 1612 | graphics/asymptote/asy-list.pl
-2024/10/07 | 16121 | macros/latex/contrib/reptheorem/reptheorem.dtx
-2024/10/07 | 1610 | graphics/asymptote/v3dheadertypes.py
-2024/10/07 | 1610 | graphics/asymptote/LspCpp/third_party/rapidjson/example/sortkeys/sortkeys.cpp
-2024/10/07 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
-2024/10/07 | 1608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/anyOf.json
-2024/10/07 | 16081 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.png
-2024/10/07 | 1607 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/oneOf.json
-2024/10/07 | 160672 | graphics/asymptote/examples/animations/dice.u3d
-2024/10/07 | 15 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail28.json
-2024/10/07 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
-2024/10/07 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
-2024/10/07 | 159 | graphics/asymptote/tests/types/cast.asy
-2024/10/07 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
-2024/10/07 | 1598 | graphics/asymptote/examples/NURBSsurface.asy
-2024/10/07 | 15959 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-typed-test.h
-2024/10/07 | 1594 | graphics/asymptote/pen.cc
-2024/10/07 | 158 | graphics/asymptote/tests/frames/stat.asy
-2024/10/07 | 158 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/optionalVersion.h
-2024/10/07 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
-2024/10/07 | 1588 | graphics/asymptote/build-scripts/asy-format.el
-2024/10/07 | 157 | graphics/asymptote/runsystem.h
-2024/10/07 | 157 | graphics/asymptote/doc/saddle.asy
-2024/10/07 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
-2024/10/07 | 1579 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_code_action.h
-2024/10/07 | 1578 | graphics/asymptote/build-scripts/cc-format.el
-2024/10/07 | 1566 | graphics/asymptote/examples/near_earth.asy
-2024/10/07 | 15645 | graphics/asymptote/install-sh
-2024/10/07 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
-2024/10/07 | 15601 | graphics/asymptote/base/ode.asy
-2024/10/07 | 155 | graphics/asymptote/tests/types/ecast.asy
-2024/10/07 | 15564 | graphics/asymptote/types.h
-2024/10/07 | 15529 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-nice-strict_test.cc
-2024/10/07 | 1550 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
-2024/10/07 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
-2024/10/07 | 154 | graphics/asymptote/examples/billboard.asy
-2024/10/07 | 1548 | graphics/asymptote/examples/BezierSurface.asy
-2024/10/07 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
-2024/10/07 | 15464 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.md
-2024/10/07 | 1545 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsRequestId.h
-2024/10/07 | 1544 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json
-2024/10/07 | 1542 | graphics/asymptote/GUI/xasyUtils.py
-2024/10/07 | 153 | graphics/asymptote/runlabel.h
-2024/10/07 | 15393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.zh-cn.md
-2024/10/07 | 1538 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/README.md
-2024/10/07 | 15382 | graphics/asymptote/base/palette.asy
-2024/10/07 | 1537 | graphics/asymptote/examples/refs.bib
-2024/10/07 | 15364 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.md
-2024/10/07 | 1532 | graphics/asymptote/LspCpp/src/jsonrpc/MessageJsonHandler.cpp
-2024/10/07 | 1531 | graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
-2024/10/07 | 15318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/BUILD.bazel
-2024/10/07 | 1528749 | install/macros/luatex/latex/letgut.tds.zip
-2024/10/07 | 15277 | graphics/asymptote/base/flowchart.asy
-2024/10/07 | 15272 | macros/latex/contrib/updatemarks/doc/updatemarks.tex
-2024/10/07 | 1525 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json
-2024/10/07 | 1524 | graphics/asymptote/patches/flex.patch
-2024/10/07 | 15249 | graphics/asymptote/runlabel.cc
-2024/10/07 | 1523 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.cpp
-2024/10/07 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
-2024/10/07 | 1520 | macros/luatex/latex/letgut/source/HOWTO.md
-2024/10/07 | 151 | graphics/asymptote/LspCpp/third_party/utfcpp/utf8cppConfig.cmake.in
-2024/10/07 | 15192 | graphics/asymptote/base/v3d.asy
-2024/10/07 | 15142 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/mixed.json
-2024/10/07 | 150 | graphics/asymptote/examples/spheresilhouette.asy
-2024/10/07 | 150794 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
-2024/10/07 | 15043 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_pred_impl.h
-2024/10/07 | 15030 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.zh-cn.md
-2024/10/07 | 1502 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.dot
-2024/10/07 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
-2024/10/07 | 15003 | graphics/asymptote/stack.cc
-2024/10/07 | 14 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail27.json
-2024/10/07 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
-2024/10/07 | 14980 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_faq.md
-2024/10/07 | 1492 | graphics/asymptote/runarray.h
-2024/10/07 | 14915 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest.py
-2024/10/07 | 148 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass3.json
-2024/10/07 | 14865 | graphics/asymptote/tests/template/imports/splaytree.asy
-2024/10/07 | 1480 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Condition.h
-2024/10/07 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
-2024/10/07 | 14799 | graphics/asymptote/stm.cc
-2024/10/07 | 1475 | graphics/asymptote/LspCpp/third_party/uri/deps/LICENSE
-2024/10/07 | 1475 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
-2024/10/07 | 14749 | graphics/asymptote/base/contour3.asy
-2024/10/07 | 147456 | graphics/asymptote/binaries/x86_64-windows/gc.dll
-2024/10/07 | 146 | graphics/asymptote/doc/slopefield1.asy
-2024/10/07 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
-2024/10/07 | 1469 | graphics/asymptote/doc/png/Makefile.in
-2024/10/07 | 1467 | graphics/asymptote/GUI/res/icons/android-hand.svg
-2024/10/07 | 146751 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
-2024/10/07 | 14651 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-death-test.h
-2024/10/07 | 1461 | graphics/asymptote/examples/logo3.asy
-2024/10/07 | 145 | graphics/asymptote/examples/star.asy
-2024/10/07 | 14575 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/internal_utils.cmake
-2024/10/07 | 1456 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.dot
-2024/10/07 | 1454 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.dot
-2024/10/07 | 145371 | macros/luatex/latex/letgut/doc/letgut-banner-code.pdf
-2024/10/07 | 14531 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.md
-2024/10/07 | 1452 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/platformtest.cpp
-2024/10/07 | 145014 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cook_book.md
-2024/10/07 | 1449 | graphics/asymptote/tests/imp/unravel.asy
-2024/10/07 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
-2024/10/07 | 14474 | graphics/asymptote/types.cc
-2024/10/07 | 14420 | graphics/asymptote/examples/teapot.asy
-2024/10/07 | 1441 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass1.json
-2024/10/07 | 143 | graphics/asymptote/tests/template/imports/wrapper.asy
-2024/10/07 | 143 | graphics/asymptote/tests/gc/label.asy
-2024/10/07 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
-2024/10/07 | 1435 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.dot
-2024/10/07 | 14325 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.zh-cn.md
-2024/10/07 | 14283 | graphics/asymptote/testv3d.asy
-2024/10/07 | 1427 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.dot
-2024/10/07 | 14261 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RemoteEndPoint.h
-2024/10/07 | 1423 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
-2024/10/07 | 1422 | graphics/asymptote/tests/template/structTest.asy
-2024/10/07 | 1421 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
-2024/10/07 | 141 | graphics/asymptote/examples/sphere.asy
-2024/10/07 | 141 | graphics/asymptote/examples/ring.asy
-2024/10/07 | 1419 | graphics/asymptote/LspCpp/third_party/uri/test/uri_stream_test.cpp
-2024/10/07 | 140 | graphics/asymptote/doc/vectorfield.asy
-2024/10/07 | 14089 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.cc
-2024/10/07 | 14081 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-filepath.cc
-2024/10/07 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
-2024/10/07 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/docs/README.md
-2024/10/07 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/docs/README.md
-2024/10/07 | 1399 | graphics/asymptote/parallel.cc
-2024/10/07 | 1398 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/swap.h
-2024/10/07 | 13972 | graphics/asymptote/arrayop.h
-2024/10/07 | 13944 | graphics/asymptote/runtriple.cc
-2024/10/07 | 1391 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialize.h
-2024/10/07 | 1391 | graphics/asymptote/doc/CAD1.asy
-2024/10/07 | 138 | graphics/asymptote/Pipfile
-2024/10/07 | 1389 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
-2024/10/07 | 1389084 | macros/luatex/latex/letgut.zip
-2024/10/07 | 1388 | graphics/asymptote/LspCpp/src/jsonrpc/Endpoint.cpp
-2024/10/07 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
-2024/10/07 | 1384 | graphics/asymptote/tests/pic/trans.asy
-2024/10/07 | 13816 | graphics/asymptote/GUI/xasyBezierInterface.py
-2024/10/07 | 13787 | graphics/asymptote/GUI/ContextWindow.py
-2024/10/07 | 13776 | graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
-2024/10/07 | 1376 | graphics/asymptote/LspCpp/src/lsp/initialize.cpp
-2024/10/07 | 137691 | macros/unicodetex/latex/bithesis/bithesis.dtx
-2024/10/07 | 1375 | graphics/asymptote/base/tree.asy
-2024/10/07 | 136 | graphics/asymptote/examples/latticeshading.asy
-2024/10/07 | 13663 | graphics/asymptote/doc/install-sh
-2024/10/07 | 13663 | graphics/asymptote/doc/FAQ/install-sh
-2024/10/07 | 13644 | graphics/asymptote/base/grid3.asy
-2024/10/07 | 13620 | graphics/asymptote/entry.h
-2024/10/07 | 13612 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_golden.txt
-2024/10/07 | 13591 | graphics/asymptote/texfile.h
-2024/10/07 | 1354 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
-2024/10/07 | 1352 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_watched_files.h
-2024/10/07 | 1352 | graphics/asymptote/examples/Klein.asy
-2024/10/07 | 134 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tox.ini
-2024/10/07 | 13491 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-pp.h
-2024/10/07 | 134839 | graphics/asymptote/ReleaseNotes
-2024/10/07 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
-2024/10/07 | 13477 | graphics/asymptote/base/asy.vim
-2024/10/07 | 1345 | graphics/asymptote/interact.h
-2024/10/07 | 134451 | graphics/asymptote/camp.tab.cc
-2024/10/07 | 1341 | graphics/asymptote/runtimebase.in
-2024/10/07 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
-2024/10/07 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
-2024/10/07 | 1338 | graphics/asymptote/LspCpp/third_party/uri/LICENSE_1_0.txt
-2024/10/07 | 1336 | graphics/asymptote/base/v3dheadertypes.asy
-2024/10/07 | 133685 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
-2024/10/07 | 13366 | macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
-2024/10/07 | 13366 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-death-test-internal.h
-2024/10/07 | 13355 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
-2024/10/07 | 13353 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
-2024/10/07 | 13335 | graphics/asymptote/camp.l
-2024/10/07 | 1331 | graphics/asymptote/tests/types/spec.asy
-2024/10/07 | 132 | graphics/asymptote/tests/string/length.asy
-2024/10/07 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
-2024/10/07 | 13217 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/type.json
-2024/10/07 | 1318 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProcessIoService.h
-2024/10/07 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
-2024/10/07 | 1317 | graphics/asymptote/beziercurve.h
-2024/10/07 | 1316 | graphics/asymptote/base/shaders/sum2fast.glsl
-2024/10/07 | 1315 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/idandref.json
-2024/10/07 | 1312 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strfunctest.cpp
-2024/10/07 | 13116 | macros/latex/contrib/unbtex/unbtex-example.tex
-2024/10/07 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
-2024/10/07 | 1309 | graphics/asymptote/examples/roundpath.asy
-2024/10/07 | 13060 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-unittest-api_test.cc
-2024/10/07 | 1302 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
-2024/10/07 | 13025 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
-2024/10/07 | 12 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail33.json
-2024/10/07 | 129 | graphics/asymptote/tests/gc/struct.asy
-2024/10/07 | 129 | graphics/asymptote/base/shaders/screen.glsl
-2024/10/07 | 1299 | graphics/asymptote/patches/dvipdf
-2024/10/07 | 1298 | graphics/asymptote/examples/electromagnetic.asy
-2024/10/07 | 1297410 | install/macros/latex/contrib/mathtools.tds.zip
-2024/10/07 | 1294 | graphics/asymptote/newexp.h
-2024/10/07 | 1293 | graphics/asymptote/TODO
-2024/10/07 | 1291 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsPosition.h
-2024/10/07 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
-2024/10/07 | 12868 | graphics/asymptote/LspCpp/CMakeLists.txt
-2024/10/07 | 12863 | graphics/asymptote/Makefile.in
-2024/10/07 | 1284 | graphics/asymptote/tests/output/Makefile
-2024/10/07 | 12831 | graphics/asymptote/impdatum.cc
-2024/10/07 | 1282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/required.json
-2024/10/07 | 127 | graphics/asymptote/index.html
-2024/10/07 | 1276 | graphics/asymptote/base/asymptote.py
-2024/10/07 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/default.json
-2024/10/07 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/default.json
-2024/10/07 | 1271796 | macros/latex/contrib/mathtools.zip
-2024/10/07 | 126 | graphics/asymptote/tests/template/imports/composeFunctions.asy
-2024/10/07 | 1268 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.md
-2024/10/07 | 12682 | graphics/asymptote/runsystem.cc
-2024/10/07 | 12670 | graphics/asymptote/pkg.m4
-2024/10/07 | 1266 | graphics/asymptote/drawverbatim.h
-2024/10/07 | 12648 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test.py
-2024/10/07 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
-2024/10/07 | 1261761 | graphics/asymptote/examples/worldmap.dat
-2024/10/07 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
-2024/10/07 | 1253 | graphics/asymptote/keywords.pl
-2024/10/07 | 12539 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test.py
-2024/10/07 | 12534 | graphics/asymptote/ax_pthread.m4
-2024/10/07 | 1251 | graphics/asymptote/examples/odetest.asy
-2024/10/07 | 124 | graphics/asymptote/tests/gc/path.asy
-2024/10/07 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
-2024/10/07 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
-2024/10/07 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
-2024/10/07 | 1245 | graphics/asymptote/findsym.pl
-2024/10/07 | 1243 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
-2024/10/07 | 123 | graphics/asymptote/examples/Coons.asy
-2024/10/07 | 123 | graphics/asymptote/doc/superpath.asy
-2024/10/07 | 1239 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h
-2024/10/07 | 1238 | graphics/asymptote/v3dheadertypes.h
-2024/10/07 | 1236 | graphics/asymptote/primitives.h
-2024/10/07 | 1236 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.zh-cn.md
-2024/10/07 | 1235 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
-2024/10/07 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
-2024/10/07 | 1235678 | graphics/asymptote/GL/glew.c
-2024/10/07 | 1232 | graphics/asymptote/build-scripts/build-asygl
-2024/10/07 | 12321 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-cardinalities_test.cc
-2024/10/07 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
-2024/10/07 | 12259 | graphics/asymptote/knot.h
-2024/10/07 | 1222158 | graphics/asymptote/doc/asymptote.pdf
-2024/10/07 | 1221 | macros/luatex/latex/letgut/doc/latexmkrc
-2024/10/07 | 121 | graphics/asymptote/doc/labelsquare.asy
-2024/10/07 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
-2024/10/07 | 1216 | graphics/asymptote/LspCpp/third_party/uri/CHANGELOG.md
-2024/10/07 | 1216 | graphics/asymptote/examples/dragon.asy
-2024/10/07 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
-2024/10/07 | 1213 | graphics/asymptote/examples/arrows3.asy
-2024/10/07 | 1213 | graphics/asymptote/base/plain_arcs.asy
-2024/10/07 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
-2024/10/07 | 1210929 | graphics/asymptote/gc-8.2.4.tar.gz
-2024/10/07 | 1206 | graphics/asymptote/parallel.h
-2024/10/07 | 1203 | graphics/asymptote/LspCpp/README.md
-2024/10/07 | 1202 | graphics/asymptote/camperror.cc
-2024/10/07 | 12012 | graphics/asymptote/base/solids.asy
-2024/10/07 | 1200 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_data/navigation.yml
-2024/10/07 | 11996 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
-2024/10/07 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
-2024/10/07 | 1197 | graphics/asymptote/drawclipend.h
-2024/10/07 | 11937 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/CMakeLists.txt
-2024/10/07 | 1192 | graphics/asymptote/LspCpp/include/LibLsp/lsp/SimpleTimer.h
-2024/10/07 | 11907 | graphics/asymptote/tests/gsl/random.asy
-2024/10/07 | 118 | graphics/asymptote/tests/string/substr.asy
-2024/10/07 | 118 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
-2024/10/07 | 1189 | graphics/asymptote/tests/types/var.asy
-2024/10/07 | 1188 | graphics/asymptote/EXRFiles.cc
-2024/10/07 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
-2024/10/07 | 1186601 | graphics/asymptote/GL/glew.h
-2024/10/07 | 1185 | graphics/asymptote/examples/functionshading.asy
-2024/10/07 | 1184 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
-2024/10/07 | 1183 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
-2024/10/07 | 1183 | graphics/asymptote/GUI/xasyArgs.py
-2024/10/07 | 11836 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
-2024/10/07 | 1182 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/TcpServer.h
-2024/10/07 | 1180 | graphics/asymptote/GUI/res/icons/code.svg
-2024/10/07 | 11804 | graphics/asymptote/jsfile.cc
-2024/10/07 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
-2024/10/07 | 1178 | graphics/asymptote/base/embed.asy
-2024/10/07 | 1175 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
-2024/10/07 | 1174 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
-2024/10/07 | 1171 | graphics/asymptote/parser.h
-2024/10/07 | 1170 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
-2024/10/07 | 1168 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
-2024/10/07 | 11663 | graphics/asymptote/path.h
-2024/10/07 | 11660 | graphics/asymptote/coder.h
-2024/10/07 | 11656 | graphics/asymptote/base/binarytree.asy
-2024/10/07 | 1164 | graphics/asymptote/examples/genustwo.asy
-2024/10/07 | 1163 | graphics/asymptote/runtime.h
-2024/10/07 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
-2024/10/07 | 116010 | graphics/asymptote/predicates.cc
-2024/10/07 | 115 | graphics/asymptote/doc/onecontour.asy
-2024/10/07 | 1158 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/codeActionResult.h
-2024/10/07 | 11580 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
-2024/10/07 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
-2024/10/07 | 11564 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
-2024/10/07 | 11541 | graphics/asymptote/aspy.py
-2024/10/07 | 11526 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
-2024/10/07 | 1151 | graphics/asymptote/callable.cc
-2024/10/07 | 11509 | graphics/asymptote/runlabel.in
-2024/10/07 | 1149 | graphics/asymptote/guide.cc
-2024/10/07 | 1149 | graphics/asymptote/examples/animations/wheel.asy
-2024/10/07 | 1147 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.h
-2024/10/07 | 1147 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/rename.h
-2024/10/07 | 11468 | graphics/asymptote/drawelement.h
-2024/10/07 | 1145 | graphics/asymptote/absyn.h
-2024/10/07 | 1142 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
-2024/10/07 | 1142 | graphics/asymptote/envcompleter.cc
-2024/10/07 | 1141 | macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex
-2024/10/07 | 113 | graphics/asymptote/patches/fixmem.reg
-2024/10/07 | 113 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
-2024/10/07 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
-2024/10/07 | 1138 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/onTypeFormatting.h
-2024/10/07 | 1137 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/header.html
-2024/10/07 | 11373 | graphics/asymptote/base/plain_markers.asy
-2024/10/07 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/items.json
-2024/10/07 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/items.json
-2024/10/07 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
-2024/10/07 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
-2024/10/07 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
-2024/10/07 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
-2024/10/07 | 1126 | graphics/asymptote/coenv.cc
-2024/10/07 | 11264 | graphics/asymptote/binaries/x86_64-windows/gccpp.dll
-2024/10/07 | 112376 | systems/texlive/tlnet/archive/fontscale.doc.r72479.tar.xz
-2024/10/07 | 11227 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
-2024/10/07 | 1120 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.h
-2024/10/07 | 1120 | graphics/asymptote/base/external.asy
-2024/10/07 | 111 | graphics/asymptote/GUI/res/icons/center.asy
-2024/10/07 | 111 | graphics/asymptote/examples/shadestroke.asy
-2024/10/07 | 1118 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/samples.md
-2024/10/07 | 1116 | graphics/asymptote/LspCpp/third_party/uri/test/valid_urls.txt
-2024/10/07 | 1114 | graphics/asymptote/examples/laserlattice.asy
-2024/10/07 | 11146 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.md
-2024/10/07 | 11122 | graphics/asymptote/base/math.asy
-2024/10/07 | 1111 | graphics/asymptote/examples/imagehistogram.asy
-2024/10/07 | 1110 | macros/latex/contrib/reptheorem/README.md
-2024/10/07 | 110 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/subSchemas.json
-2024/10/07 | 1108 | graphics/asymptote/GUI/res/icons/android-locate.svg
-2024/10/07 | 1104 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean.cmake
-2024/10/07 | 1103 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/unregisterCapability.h
-2024/10/07 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
-2024/10/07 | 109 | graphics/asymptote/tests/string/insert.asy
-2024/10/07 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
-2024/10/07 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
-2024/10/07 | 1098 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/integers.json
-2024/10/07 | 1096 | graphics/asymptote/tests/array/transpose.asy
-2024/10/07 | 1096 | graphics/asymptote/refaccess.cc
-2024/10/07 | 1096 | graphics/asymptote/drawlayer.h
-2024/10/07 | 1090 | graphics/asymptote/GUI/res/icons/redo.svg
-2024/10/07 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
-2024/10/07 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
-2024/10/07 | 1088 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/clzlltest.cpp
-2024/10/07 | 1088 | graphics/asymptote/examples/NURBSsphere.asy
-2024/10/07 | 10840 | graphics/asymptote/base/CAD.asy
-2024/10/07 | 1082 | graphics/asymptote/patches/README
-2024/10/07 | 108003 | graphics/pgf/contrib/pmdraw/pmdraw.tex
-2024/10/07 | 107 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.ts
-2024/10/07 | 1075 | graphics/asymptote/v3dheadertypes.csv
-2024/10/07 | 1075 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/OverridableMethod.h
-2024/10/07 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
-2024/10/07 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
-2024/10/07 | 1066 | graphics/asymptote/LspCpp/LICENSE
-2024/10/07 | 10663 | graphics/asymptote/LspCpp/src/jsonrpc/WebSocketServer.cpp
-2024/10/07 | 1065 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
-2024/10/07 | 1065 | graphics/asymptote/examples/shellmethod.asy
-2024/10/07 | 10641 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodedstream.h
-2024/10/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minimum.json
-2024/10/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maximum.json
-2024/10/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minimum.json
-2024/10/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maximum.json
-2024/10/07 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
-2024/10/07 | 105 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/noexceptionstests.cpp
-2024/10/07 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
-2024/10/07 | 10585 | graphics/asymptote/path3.h
-2024/10/07 | 1057 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/LICENSE
-2024/10/07 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
-2024/10/07 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
-2024/10/07 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
-2024/10/07 | 1055 | graphics/asymptote/examples/partitionExample.asy
-2024/10/07 | 1053 | graphics/bookshelf/bookshelf.ins
-2024/10/07 | 1052 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/CMakeLists.txt
-2024/10/07 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
-2024/10/07 | 1051 | graphics/asymptote/doc/eetomumu.asy
-2024/10/07 | 1050 | graphics/asymptote/opsymbols.pl
-2024/10/07 | 10504 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/prettywriter.h
-2024/10/07 | 104 | graphics/asymptote/examples/tiling.asy
-2024/10/07 | 1049 | macros/latex/contrib/unbtex/unbtex-example/codigos/ModalReduction.jl
-2024/10/07 | 1047 | graphics/asymptote/GUI/res/icons/undo.svg
-2024/10/07 | 10476 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-nice-strict.h
-2024/10/07 | 10448 | graphics/asymptote/INSTALL
-2024/10/07 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
-2024/10/07 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
-2024/10/07 | 10429 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
-2024/10/07 | 10414 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.cpp
-2024/10/07 | 1040 | graphics/asymptote/examples/lmfit1.asy
-2024/10/07 | 103 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/readme.txt
-2024/10/07 | 1039 | graphics/asymptote/LspCpp/third_party/uri/test/CMakeLists.txt
-2024/10/07 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
-2024/10/07 | 1034 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/index.md
-2024/10/07 | 103478 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.zh-cn.in
-2024/10/07 | 1033 | graphics/asymptote/doc/basealign.asy
-2024/10/07 | 103393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.in
-2024/10/07 | 1031 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri.hpp
-2024/10/07 | 10310 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/prettywritertest.cpp
-2024/10/07 | 1030 | graphics/asymptote/examples/workcone.asy
-2024/10/07 | 102 | graphics/asymptote/tests/gc/file.asy
-2024/10/07 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
-2024/10/07 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
-2024/10/07 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
-2024/10/07 | 1026 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplewriter/simplewriter.cpp
-2024/10/07 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
-2024/10/07 | 10224 | graphics/asymptote/tr.cc
-2024/10/07 | 1020 | graphics/asymptote/flatguide.cc
-2024/10/07 | 1019 | graphics/asymptote/LspCpp/third_party/rapidjson/example/pretty/pretty.cpp
-2024/10/07 | 10196 | graphics/asymptote/doc/CAD.tex
-2024/10/07 | 10173 | graphics/asymptote/LspCpp/src/jsonrpc/TcpServer.cpp
-2024/10/07 | 10168 | graphics/asymptote/LspCpp/third_party/uri/test/uri_resolve_test.cpp
-2024/10/07 | 1015 | graphics/asymptote/GUI/xasyTransform.py
-2024/10/07 | 10155 | graphics/asymptote/errors
-2024/10/07 | 101524 | graphics/asymptote/webgl/gl.js
-2024/10/07 | 1014 | graphics/asymptote/LspCpp/third_party/rapidjson/example/condense/condense.cpp
-2024/10/07 | 10116 | graphics/asymptote/util.cc
-2024/10/07 | 10110 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/itoa.h
-2024/10/07 | 1010 | graphics/asymptote/examples/washermethod.asy
-2024/10/07 | 100 | graphics/asymptote/tests/io/input_with_nan.csv
-2024/10/07 | 100 | graphics/asymptote/GUI/DebugFlags.py
-2024/10/07 | 1008 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeLists.txt
-2024/10/07 | 1008 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
-2024/10/07 | 1008 | graphics/asymptote/doc/leastsquares.asy
-2024/10/07 | 10073 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-spi.h
-2024/10/07 | 1005 | graphics/asymptote/doc/asy.1.begin
-2024/10/07 | 10055 | graphics/asymptote/fundec.cc
-2024/10/07 | 10039 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
-2024/10/07 | 10023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test.py
-2024/10/07 | 1000 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
-2024/10/07 | 1000 | graphics/asymptote/doc/FAQ/Makefile
-2024/10/07 | 10006 | graphics/asymptote/base/rationalSimplex.asy
-2024/10/07 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 11bf91b0b8..838a8ef8b1 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 14-10-2024, 02:00:02
+%% created at 15-10-2024, 02:00:02
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -2273,7 +2273,7 @@
title = {The \texttt{animate} package},
subtitle = {Create PDF and SVG animations from graphics files and inline graphics},
author = {Alexander Grahn},
- date = {2024-09-17},
+ date = {2024-10-14},
version = {},
license = {lppl},
mirror = {https://mirror.ctan.org/macros/latex/contrib/animate},
@@ -43187,8 +43187,8 @@
title = {The \texttt{luatexja} package},
subtitle = {Typeset Japanese with Lua(La)TeX},
author = {Hironori Kitagawa},
- date = {2024-09-08},
- version = {20240909.0},
+ date = {2024-10-14},
+ version = {20241014.0},
license = {bsd},
mirror = {https://mirror.ctan.org/macros/luatex/generic/luatexja},
url = {https://ctan.org/pkg/luatexja},
@@ -47725,6 +47725,17 @@
url = {https://ctan.org/pkg/movie15},
}
+@manual{ctan-mp-geom2d,
+ title = {The \texttt{mp-geom2d} package},
+ subtitle = {Flat geometry with MetaPost},
+ author = {Maxime Chupin and Jean-Michel Sarlat},
+ date = {2024-10-14},
+ version = {1.0},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/mp-geom2d},
+ url = {https://ctan.org/pkg/mp-geom2d},
+}
+
@manual{ctan-mp3d,
title = {The \texttt{threed} package},
subtitle = {3D animations},
@@ -50704,6 +50715,17 @@
url = {https://ctan.org/pkg/numberpt},
}
+@manual{ctan-numbersets,
+ title = {The \texttt{numbersets} package},
+ subtitle = {Display number sets with customizable typefaces},
+ author = {Takumi Noguchi},
+ date = {2024-10-14},
+ version = {0.1.0},
+ license = {mit},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/numbersets},
+ url = {https://ctan.org/pkg/numbersets},
+}
+
@manual{ctan-numending,
title = {The \texttt{numending} package},
subtitle = {Generates morphological end of units},
@@ -71496,6 +71518,17 @@
that match closely the arrows present in the Computer Modern typeface.},
}
+@manual{ctan-tikz-decofonts,
+ title = {The \texttt{tikz-decofonts} package},
+ subtitle = {Simple decoration fontes, made with TikZ, for short texts},
+ author = {Cédric Pierquet},
+ date = {2024-10-14},
+ version = {0.1.0},
+ license = {lppl1.3c,cc-by-sa-4},
+ mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-decofonts},
+ url = {https://ctan.org/pkg/tikz-decofonts},
+}
+
@manual{ctan-tikz-dependency,
title = {The \texttt{tikz-dependency} package},
subtitle = {A library for drawing dependency graphs},
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/LICENSE b/graphics/metapost/contrib/macros/mp-geom2d/LICENSE
new file mode 100644
index 0000000000..130ede1e51
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/LICENSE
@@ -0,0 +1,11 @@
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status “maintained”.
+
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/README.md b/graphics/metapost/contrib/macros/mp-geom2d/README.md
new file mode 100644
index 0000000000..ce5f6bfcca
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/README.md
@@ -0,0 +1,67 @@
+# MP-GEOM2D
+
+Flat geometry with MetaPost.
+
+
+![Geometry illustration](illustration.jpg)
+
+
+## Purpose
+
+mp-geom2d was written with the aim of providing MetaPost macros for creating
+a geometry figure that closely matches an imperative description:
+
+- Let A be the point with coordinates (2,3).
+- Let B be the point with coordinates (4,5).
+- Draw the line (A, B).
+- ...
+
+## Documentation
+
+The documentation, in French, is in the form of a PDF file:
+
+* [mp-geom2d-doc.pdf](doc/mp-geom2d-doc.pdf)
+
+## Contact
+
+
+- Jean-Michel Sarlat, `jm.sarlat(at)gmail.com`
+- Maxime Chupin, `notezik(at)gmail.com`
+
+## License
+
+LATEX Project Public License 1.3c.
+
+# mp-geom2d (français)
+
+De la géométrie plane avec MetaPost.
+
+
+![Illustration de géométrie](illustration.jpg)
+
+
+## Objectif
+
+mp-geom2d a été écrit avec le but de proposer des macros MetaPost permettant de réaliser
+une figure de géométrie en collant d’assez près à une description impérative :
+
+- Soit A le point de coordonnées (2,3).
+- Soit B le point de coordonnées (4,5).
+- Trace la droite (A, B).
+- ...
+
+## Documentation
+
+La documentation, en français, est sous forme d’un fichier PDF :
+
+* [mp-geom2d-doc.pdf](doc/mp-geom2d-doc.pdf)
+
+## Contact
+
+
+- Jean-Michel Sarlat, `jm.sarlat(at)gmail.com`
+- Maxime Chupin, `notezik(at)gmail.com`
+
+## Licence
+
+LATEX Project Public License 1.3c. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/K001-1.dat b/graphics/metapost/contrib/macros/mp-geom2d/doc/K001-1.dat
new file mode 100644
index 0000000000..82bb5f73b3
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/K001-1.dat
@@ -0,0 +1,441 @@
+-9.50332 39.03779
+-8.90985 36.92109
+-8.35830 34.94184
+-7.84242 33.07748
+-7.35647 31.30663
+-6.89478 29.60762
+-6.45128 27.95615
+-6.01847 26.32078
+-5.58493 24.65153
+-5.12641 22.83954
+-4.53013 20.37356
+-4.21630 18.99730
+-3.82624 17.15868
+-3.60655 16.02255
+-3.48053 15.31960
+-3.39084 14.78786
+-3.32137 14.35307
+-3.26497 13.98196
+-3.21775 13.65636
+-3.17735 13.36511
+-3.14222 13.10083
+-3.11127 12.85833
+-3.08371 12.63385
+-3.05896 12.42451
+-3.03656 12.22812
+-3.01615 12.04292
+-2.99745 11.86749
+-2.98023 11.70069
+-2.96428 11.54154
+-2.94946 11.38925
+-2.93563 11.24313
+-2.92266 11.10259
+-2.91047 10.96713
+-2.89896 10.83630
+-2.88807 10.70973
+-2.87772 10.58707
+-2.86785 10.46803
+-2.85843 10.35233
+-2.84940 10.23975
+-2.84071 10.13006
+-2.83235 10.02307
+-2.82426 9.91862
+-2.81643 9.81654
+-2.80883 9.71668
+-2.80143 9.61893
+-2.79421 9.52315
+-2.78715 9.42923
+-2.78023 9.33709
+-2.77343 9.24662
+-2.76675 9.15773
+-2.76016 9.07035
+-2.75365 8.98441
+-2.74721 8.89983
+-2.74083 8.81655
+-2.73449 8.73451
+-2.72820 8.65365
+-2.72193 8.57393
+-2.71568 8.49529
+-2.70944 8.41770
+-2.70321 8.34109
+-2.69697 8.26545
+-2.69072 8.19072
+-2.68446 8.11687
+-2.67818 8.04387
+-2.67186 7.97168
+-2.66552 7.90029
+-2.65914 7.82964
+-2.65272 7.75973
+-2.64625 7.69053
+-2.63973 7.62200
+-2.63316 7.55413
+-2.62653 7.48689
+-2.61983 7.42027
+-2.61308 7.35425
+-2.60625 7.28880
+-2.59935 7.22390
+-2.59238 7.15955
+-2.58533 7.09572
+-2.57821 7.03240
+-2.57100 6.96957
+-2.56370 6.90722
+-2.55632 6.84533
+-2.54885 6.78390
+-2.54129 6.72290
+-2.53363 6.66233
+-2.52588 6.60218
+-2.51803 6.54243
+-2.51009 6.48308
+-2.50204 6.42410
+-2.49389 6.36550
+-2.48564 6.30727
+-2.47728 6.24939
+-2.46881 6.19185
+-2.46024 6.13466
+-2.45155 6.07779
+-2.44276 6.02124
+-2.43385 5.96501
+-2.42483 5.90908
+-2.41569 5.85345
+-2.40644 5.79812
+-2.39707 5.74307
+-2.38758 5.68830
+-2.37797 5.63381
+-2.36823 5.57958
+-2.35838 5.52561
+-2.34841 5.47190
+-2.33831 5.41844
+-2.32808 5.36523
+-2.31773 5.31226
+-2.30726 5.25952
+-2.29665 5.20701
+-2.28592 5.15473
+-2.27506 5.10268
+-2.26406 5.05084
+-2.25294 4.99921
+-2.24168 4.94779
+-2.23030 4.89658
+-2.21877 4.84557
+-2.20712 4.79475
+-2.19532 4.74413
+-2.18340 4.69370
+-2.17133 4.64346
+-2.15913 4.59340
+-2.14679 4.54352
+-2.13431 4.49382
+-2.12169 4.44430
+-2.10893 4.39494
+-2.09603 4.34575
+-2.08299 4.29673
+-2.06981 4.24786
+-2.05648 4.19916
+-2.04301 4.15062
+-2.02939 4.10223
+-2.01563 4.05398
+-2.00172 4.00589
+-1.98766 3.95795
+-1.97346 3.91015
+-1.95911 3.86249
+-1.94461 3.81497
+-1.92996 3.76758
+-1.91516 3.72033
+-1.90020 3.67322
+-1.88510 3.62623
+-1.86984 3.57937
+-1.85443 3.53263
+-1.83887 3.48602
+-1.82315 3.43954
+-1.80727 3.39317
+-1.79124 3.34691
+-1.77505 3.30078
+-1.75870 3.25475
+-1.74219 3.20884
+-1.72552 3.16304
+-1.70869 3.11735
+-1.69170 3.07176
+-1.67455 3.02627
+-1.65723 2.98089
+-1.63975 2.93560
+-1.62210 2.89042
+-1.60429 2.84533
+-1.58631 2.80033
+-1.56816 2.75543
+-1.54984 2.71061
+-1.53135 2.66589
+-1.51269 2.62125
+-1.49386 2.57670
+-1.47485 2.53222
+-1.45567 2.48783
+-1.43631 2.44352
+-1.41677 2.39929
+-1.39705 2.35513
+-1.37716 2.31104
+-1.35708 2.26703
+-1.33682 2.22308
+-1.31637 2.17920
+-1.29574 2.13538
+-1.27492 2.09163
+-1.25392 2.04794
+-1.23272 2.00430
+-1.21133 1.96072
+-1.18974 1.91720
+-1.16796 1.87372
+-1.14598 1.83030
+-1.12380 1.78692
+-1.10142 1.74359
+-1.07884 1.70029
+-1.05605 1.65704
+-1.03305 1.61382
+-1.00984 1.57063
+-0.98641 1.52748
+-0.96277 1.48435
+-0.93892 1.44125
+-0.91484 1.39816
+-0.89054 1.35510
+-0.86601 1.31205
+-0.84125 1.26901
+-0.81625 1.22598
+-0.79102 1.18295
+-0.76556 1.13992
+-0.73984 1.09688
+-0.71388 1.05384
+-0.68767 1.01078
+-0.66120 0.96771
+-0.63447 0.92461
+-0.60747 0.88149
+-0.58020 0.83833
+-0.55266 0.79513
+-0.52484 0.75189
+-0.49673 0.70859
+-0.46833 0.66524
+-0.43962 0.62183
+-0.41062 0.57834
+-0.38130 0.53477
+-0.35165 0.49112
+-0.32168 0.44737
+-0.29137 0.40351
+-0.26072 0.35954
+-0.22971 0.31545
+-0.19833 0.27122
+-0.16657 0.22684
+-0.13443 0.18230
+-0.10188 0.13758
+-0.06892 0.09268
+-0.03553 0.04758
+-0.00169 0.00225
+0.03262 -0.04332
+0.06740 -0.08914
+0.10268 -0.13524
+0.13849 -0.18165
+0.17485 -0.22838
+0.21178 -0.27548
+0.24930 -0.32295
+0.28747 -0.37085
+0.32629 -0.41921
+0.36583 -0.46806
+0.40611 -0.51747
+0.44718 -0.56746
+0.48910 -0.61812
+0.53194 -0.66949
+0.57575 -0.72166
+0.62061 -0.77472
+0.66663 -0.82875
+0.71390 -0.88389
+0.76254 -0.94027
+0.81271 -0.99805
+0.86459 -1.05742
+0.91838 -1.11864
+0.97436 -1.18200
+1.03287 -1.24788
+1.09435 -1.31679
+1.15939 -1.38939
+1.22880 -1.46660
+1.30380 -1.54981
+1.38626 -1.64115
+1.47945 -1.74439
+1.59010 -1.86727
+1.73787 -2.03254
+2.00722 -2.34049
+2.21922 -2.59293
+2.36996 -2.78029
+2.47176 -2.91150
+2.55344 -3.01993
+2.62335 -3.11523
+2.68533 -3.20180
+2.74151 -3.28210
+2.79322 -3.35762
+2.84135 -3.42941
+2.88655 -3.49818
+2.92929 -3.56448
+2.96993 -3.62870
+3.00876 -3.69119
+3.04601 -3.75218
+3.08186 -3.81190
+3.11648 -3.87052
+3.14999 -3.92820
+3.18250 -3.98504
+3.21411 -4.04117
+3.24490 -4.09668
+3.27495 -4.15165
+3.30431 -4.20615
+3.33306 -4.26025
+3.36122 -4.31400
+3.38887 -4.36747
+3.41602 -4.42069
+3.44272 -4.47371
+3.46901 -4.52658
+3.49491 -4.57931
+3.52046 -4.63197
+3.54567 -4.68456
+3.57058 -4.73713
+3.59521 -4.78969
+3.61956 -4.84229
+3.64368 -4.89493
+3.66757 -4.94765
+3.69125 -5.00047
+3.71473 -5.05340
+3.73804 -5.10648
+3.76118 -5.15971
+3.78417 -5.21312
+3.80702 -5.26673
+3.82975 -5.32056
+3.85236 -5.37461
+3.87487 -5.42891
+3.89729 -5.48348
+3.91963 -5.53833
+3.94189 -5.59348
+3.96409 -5.64894
+3.98624 -5.70473
+4.00834 -5.76087
+4.03041 -5.81737
+4.05245 -5.87424
+4.07447 -5.93150
+4.09647 -5.98917
+4.11848 -6.04727
+4.14049 -6.10579
+4.16251 -6.16477
+4.18455 -6.22422
+4.20662 -6.28415
+4.22872 -6.34458
+4.25086 -6.40553
+4.27305 -6.46700
+4.29529 -6.52902
+4.31760 -6.59160
+4.33997 -6.65476
+4.36242 -6.71851
+4.38496 -6.78287
+4.40758 -6.84787
+4.43030 -6.91351
+4.45312 -6.97981
+4.47605 -7.04680
+4.49910 -7.11448
+4.52227 -7.18289
+4.54558 -7.25203
+4.56902 -7.32193
+4.59261 -7.39261
+4.61635 -7.46409
+4.64025 -7.53638
+4.66431 -7.60951
+4.68856 -7.68351
+4.71298 -7.75839
+4.73759 -7.83418
+4.76241 -7.91090
+4.78742 -7.98857
+4.81266 -8.06722
+4.83811 -8.14688
+4.86380 -8.22757
+4.88972 -8.30932
+4.91590 -8.39215
+4.94233 -8.47610
+4.96903 -8.56119
+4.99601 -8.64746
+5.02327 -8.73493
+5.05083 -8.82364
+5.07869 -8.91362
+5.10687 -9.00491
+5.13538 -9.09753
+5.16423 -9.19153
+5.19343 -9.28695
+5.22300 -9.38382
+5.25294 -9.48219
+5.28326 -9.58209
+5.31399 -9.68357
+5.34513 -9.78667
+5.37669 -9.89145
+5.40870 -9.99794
+5.44117 -10.10619
+5.47410 -10.21627
+5.50753 -10.32822
+5.54146 -10.44209
+5.57591 -10.55795
+5.61090 -10.67586
+5.64645 -10.79587
+5.68257 -10.91805
+5.71929 -11.04247
+5.75663 -11.16920
+5.79460 -11.29831
+5.83324 -11.42988
+5.87255 -11.56398
+5.91258 -11.70070
+5.95333 -11.84013
+5.99485 -11.98234
+6.03715 -12.12745
+6.08027 -12.27554
+6.12422 -12.42671
+6.16906 -12.58108
+6.21480 -12.73875
+6.26148 -12.89984
+6.30914 -13.06448
+6.35782 -13.23279
+6.40754 -13.40490
+6.45836 -13.58097
+6.51032 -13.76112
+6.56346 -13.94553
+6.61783 -14.13435
+6.67349 -14.32776
+6.73047 -14.52594
+6.78884 -14.72907
+6.84866 -14.93737
+6.90998 -15.15103
+6.97288 -15.37029
+7.03742 -15.59538
+7.10367 -15.82656
+7.17172 -16.06408
+7.24163 -16.30823
+7.31351 -16.55930
+7.38743 -16.81761
+7.46350 -17.08349
+7.54182 -17.35731
+7.62250 -17.63943
+7.70566 -17.93027
+7.79142 -18.23024
+7.87991 -18.53982
+7.97129 -18.85948
+8.06569 -19.18976
+8.16328 -19.53122
+8.26424 -19.88445
+8.36875 -20.25011
+8.47703 -20.62888
+8.58927 -21.02152
+8.70572 -21.42883
+8.82664 -21.85169
+8.95229 -22.29102
+9.08296 -22.74786
+9.21899 -23.22330
+9.36072 -23.71854
+9.50853 -24.23490
+9.66284 -24.77379
+9.82409 -25.33678
+9.99278 -25.92556
+10.16946 -26.54200
+10.35472 -27.18816
+10.54923 -27.86631
+10.75371 -28.57894
+10.96897 -29.32883
+11.19590 -30.11906
+11.43550 -30.95305
+11.68889 -31.83463
+11.95732 -32.76810
+12.24220 -33.75829
+12.54510 -34.81064
+12.86784 -35.93132
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/K001-2.dat b/graphics/metapost/contrib/macros/mp-geom2d/doc/K001-2.dat
new file mode 100644
index 0000000000..a9fb9ed80b
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/K001-2.dat
@@ -0,0 +1,1208 @@
+6.76428 -0.94750
+6.97936 -0.97051
+7.14459 -0.97893
+7.26220 -0.98025
+7.36013 -0.97848
+7.44648 -0.97481
+7.52497 -0.96978
+7.59767 -0.96371
+7.66587 -0.95678
+7.73043 -0.94915
+7.79199 -0.94089
+7.85100 -0.93209
+7.90781 -0.92280
+7.96270 -0.91306
+8.01589 -0.90292
+8.06755 -0.89241
+8.11785 -0.88154
+8.16690 -0.87034
+8.21481 -0.85884
+8.26168 -0.84704
+8.30759 -0.83496
+8.35260 -0.82261
+8.39677 -0.81001
+8.44016 -0.79716
+8.48281 -0.78407
+8.52478 -0.77076
+8.56609 -0.75723
+8.60678 -0.74348
+8.64688 -0.72952
+8.68642 -0.71537
+8.72543 -0.70101
+8.76393 -0.68647
+8.80194 -0.67173
+8.83948 -0.65682
+8.87657 -0.64173
+8.91323 -0.62646
+8.94946 -0.61102
+8.98529 -0.59542
+9.02073 -0.57965
+9.05580 -0.56372
+9.09049 -0.54763
+9.12483 -0.53138
+9.15883 -0.51498
+9.19249 -0.49844
+9.22582 -0.48174
+9.25883 -0.46490
+9.29154 -0.44791
+9.32394 -0.43078
+9.35604 -0.41352
+9.38785 -0.39611
+9.41938 -0.37857
+9.45064 -0.36090
+9.48162 -0.34309
+9.51233 -0.32515
+9.54278 -0.30709
+9.57298 -0.28889
+9.60292 -0.27058
+9.63262 -0.25213
+9.66207 -0.23357
+9.69128 -0.21488
+9.72026 -0.19607
+9.74900 -0.17715
+9.77752 -0.15811
+9.80581 -0.13895
+9.83387 -0.11967
+9.86172 -0.10029
+9.88935 -0.08079
+9.91676 -0.06118
+9.94397 -0.04146
+9.97096 -0.02163
+9.99775 -0.00169
+10.02433 0.01835
+10.05071 0.03850
+10.07689 0.05876
+10.10287 0.07912
+10.12865 0.09958
+10.15424 0.12014
+10.17964 0.14080
+10.20484 0.16157
+10.22986 0.18243
+10.25469 0.20339
+10.27933 0.22444
+10.30379 0.24560
+10.32806 0.26684
+10.35215 0.28819
+10.37607 0.30962
+10.39980 0.33115
+10.42335 0.35277
+10.44673 0.37448
+10.46993 0.39628
+10.49295 0.41817
+10.51580 0.44014
+10.53848 0.46221
+10.56098 0.48436
+10.58332 0.50660
+10.60548 0.52892
+10.62748 0.55133
+10.64931 0.57382
+10.67097 0.59639
+10.69246 0.61905
+10.71379 0.64178
+10.73495 0.66460
+10.75594 0.68750
+10.77678 0.71047
+10.79745 0.73353
+10.81796 0.75666
+10.83830 0.77987
+10.85849 0.80315
+10.87851 0.82651
+10.89837 0.84995
+10.91808 0.87346
+10.93762 0.89704
+10.95701 0.92069
+10.97624 0.94442
+10.99531 0.96822
+11.01422 0.99209
+11.03298 1.01603
+11.05158 1.04003
+11.07002 1.06411
+11.08831 1.08825
+11.10644 1.11247
+11.12442 1.13674
+11.14225 1.16109
+11.15992 1.18549
+11.17744 1.20997
+11.19480 1.23450
+11.21201 1.25910
+11.22907 1.28377
+11.24598 1.30849
+11.26274 1.33328
+11.27934 1.35812
+11.29579 1.38303
+11.31209 1.40799
+11.32824 1.43302
+11.34424 1.45810
+11.36009 1.48324
+11.37579 1.50843
+11.39134 1.53368
+11.40674 1.55899
+11.42199 1.58435
+11.43709 1.60977
+11.45204 1.63523
+11.46685 1.66076
+11.48150 1.68633
+11.49601 1.71196
+11.51037 1.73763
+11.52458 1.76336
+11.53864 1.78914
+11.55256 1.81496
+11.56633 1.84084
+11.57995 1.86676
+11.59342 1.89273
+11.60675 1.91874
+11.61993 1.94480
+11.63296 1.97091
+11.64585 1.99706
+11.65859 2.02326
+11.67118 2.04950
+11.68363 2.07578
+11.69593 2.10211
+11.70809 2.12847
+11.72010 2.15488
+11.73196 2.18133
+11.74368 2.20781
+11.75526 2.23434
+11.76669 2.26091
+11.77797 2.28751
+11.78911 2.31415
+11.80010 2.34083
+11.81095 2.36754
+11.82166 2.39429
+11.83222 2.42107
+11.84263 2.44789
+11.85290 2.47474
+11.86303 2.50163
+11.87301 2.52855
+11.88285 2.55550
+11.89255 2.58248
+11.90210 2.60949
+11.91151 2.63653
+11.92077 2.66360
+11.92989 2.69070
+11.93887 2.71783
+11.94770 2.74499
+11.95639 2.77217
+11.96494 2.79938
+11.97334 2.82661
+11.98160 2.85387
+11.98972 2.88116
+11.99769 2.90847
+12.00552 2.93580
+12.01321 2.96316
+12.02076 2.99054
+12.02816 3.01794
+12.03542 3.04536
+12.04254 3.07280
+12.04952 3.10026
+12.05635 3.12774
+12.06304 3.15524
+12.06959 3.18276
+12.07600 3.21029
+12.08226 3.23784
+12.08839 3.26541
+12.09437 3.29299
+12.10021 3.32059
+12.10590 3.34821
+12.11146 3.37583
+12.11688 3.40347
+12.12215 3.43113
+12.12728 3.45879
+12.13227 3.48647
+12.13712 3.51416
+12.14183 3.54185
+12.14640 3.56956
+12.15082 3.59728
+12.15511 3.62500
+12.15925 3.65274
+12.16326 3.68048
+12.16712 3.70822
+12.17084 3.73598
+12.17442 3.76374
+12.17786 3.79150
+12.18117 3.81927
+12.18433 3.84704
+12.18735 3.87482
+12.19023 3.90259
+12.19297 3.93037
+12.19557 3.95816
+12.19803 3.98594
+12.20035 4.01372
+12.20253 4.04150
+12.20457 4.06928
+12.20648 4.09706
+12.20824 4.12484
+12.20986 4.15261
+12.21135 4.18038
+12.21269 4.20815
+12.21390 4.23591
+12.21496 4.26367
+12.21589 4.29142
+12.21668 4.31917
+12.21733 4.34691
+12.21785 4.37464
+12.21822 4.40236
+12.21845 4.43007
+12.21855 4.45778
+12.21851 4.48547
+12.21833 4.51316
+12.21801 4.54083
+12.21756 4.56849
+12.21697 4.59614
+12.21624 4.62378
+12.21537 4.65140
+12.21436 4.67901
+12.21322 4.70661
+12.21194 4.73419
+12.21052 4.76175
+12.20897 4.78930
+12.20728 4.81683
+12.20545 4.84434
+12.20349 4.87184
+12.20139 4.89931
+12.19915 4.92677
+12.19677 4.95421
+12.19426 4.98162
+12.19162 5.00902
+12.18884 5.03639
+12.18592 5.06374
+12.18287 5.09107
+12.17968 5.11837
+12.17635 5.14565
+12.17289 5.17291
+12.16930 5.20014
+12.16557 5.22735
+12.16170 5.25452
+12.15771 5.28168
+12.15357 5.30880
+12.14930 5.33590
+12.14490 5.36296
+12.14036 5.39000
+12.13569 5.41701
+12.13089 5.44398
+12.12595 5.47093
+12.12087 5.49784
+12.11567 5.52473
+12.11033 5.55157
+12.10486 5.57839
+12.09925 5.60517
+12.09351 5.63192
+12.08764 5.65863
+12.08164 5.68530
+12.07550 5.71194
+12.06923 5.73855
+12.06283 5.76511
+12.05630 5.79164
+12.04963 5.81812
+12.04283 5.84457
+12.03591 5.87098
+12.02885 5.89735
+12.02166 5.92367
+12.01433 5.94996
+12.00688 5.97620
+11.99930 6.00240
+11.99159 6.02856
+11.98374 6.05467
+11.97577 6.08074
+11.96766 6.10676
+11.95943 6.13273
+11.95107 6.15866
+11.94257 6.18455
+11.93395 6.21038
+11.92520 6.23617
+11.91632 6.26191
+11.90731 6.28760
+11.89817 6.31323
+11.88891 6.33882
+11.87951 6.36436
+11.86999 6.38984
+11.86034 6.41528
+11.85057 6.44066
+11.84066 6.46599
+11.83063 6.49126
+11.82047 6.51648
+11.81019 6.54164
+11.79977 6.56675
+11.78923 6.59180
+11.77857 6.61679
+11.76778 6.64173
+11.75686 6.66660
+11.74582 6.69142
+11.73465 6.71618
+11.72336 6.74088
+11.71194 6.76552
+11.70040 6.79010
+11.68873 6.81462
+11.67694 6.83907
+11.66503 6.86346
+11.65299 6.88779
+11.64083 6.91205
+11.62854 6.93625
+11.61613 6.96038
+11.60360 6.98445
+11.59094 7.00845
+11.57816 7.03239
+11.56526 7.05626
+11.55224 7.08005
+11.53910 7.10378
+11.52583 7.12744
+11.51244 7.15104
+11.49894 7.17456
+11.48531 7.19800
+11.47156 7.22138
+11.45769 7.24469
+11.44370 7.26792
+11.42958 7.29108
+11.41535 7.31416
+11.40100 7.33717
+11.38653 7.36011
+11.37195 7.38296
+11.35724 7.40575
+11.34241 7.42845
+11.32747 7.45108
+11.31241 7.47363
+11.29723 7.49610
+11.28193 7.51849
+11.26651 7.54080
+11.25098 7.56303
+11.23533 7.58518
+11.21957 7.60725
+11.20369 7.62923
+11.18769 7.65113
+11.17157 7.67295
+11.15534 7.69469
+11.13900 7.71633
+11.12254 7.73790
+11.10597 7.75938
+11.08928 7.78077
+11.07247 7.80207
+11.05556 7.82329
+11.03853 7.84441
+11.02138 7.86545
+11.00412 7.88640
+10.98675 7.90726
+10.96927 7.92803
+10.95168 7.94870
+10.93397 7.96929
+10.91615 7.98978
+10.89822 8.01018
+10.88018 8.03048
+10.86202 8.05069
+10.84376 8.07081
+10.82538 8.09082
+10.80690 8.11075
+10.78831 8.13057
+10.76960 8.15030
+10.75079 8.16993
+10.73186 8.18946
+10.71283 8.20889
+10.69369 8.22822
+10.67444 8.24745
+10.65509 8.26658
+10.63562 8.28561
+10.61605 8.30453
+10.59637 8.32335
+10.57659 8.34207
+10.55670 8.36068
+10.53670 8.37919
+10.51659 8.39759
+10.49638 8.41589
+10.47607 8.43408
+10.45565 8.45216
+10.43512 8.47013
+10.41449 8.48799
+10.39376 8.50575
+10.37292 8.52339
+10.35198 8.54092
+10.33093 8.55834
+10.30979 8.57565
+10.28853 8.59285
+10.26718 8.60993
+10.24572 8.62689
+10.22417 8.64375
+10.20251 8.66048
+10.18074 8.67710
+10.15888 8.69361
+10.13692 8.70999
+10.11485 8.72626
+10.09269 8.74241
+10.07043 8.75844
+10.04806 8.77435
+10.02560 8.79013
+10.00304 8.80580
+9.98038 8.82134
+9.95762 8.83676
+9.93476 8.85206
+9.91180 8.86723
+9.88875 8.88227
+9.86560 8.89719
+9.84235 8.91199
+9.81900 8.92665
+9.79556 8.94119
+9.77202 8.95560
+9.74839 8.96988
+9.72466 8.98402
+9.70083 8.99804
+9.67691 9.01192
+9.65290 9.02568
+9.62879 9.03929
+9.60458 9.05278
+9.58028 9.06613
+9.55589 9.07934
+9.53141 9.09241
+9.50683 9.10535
+9.48215 9.11815
+9.45739 9.13081
+9.43253 9.14333
+9.40758 9.15571
+9.38254 9.16795
+9.35741 9.18005
+9.33218 9.19200
+9.30686 9.20381
+9.28146 9.21547
+9.25596 9.22699
+9.23037 9.23836
+9.20469 9.24959
+9.17892 9.26066
+9.15306 9.27159
+9.12712 9.28236
+9.10108 9.29299
+9.07495 9.30346
+9.04874 9.31378
+9.02243 9.32394
+8.99604 9.33395
+8.96956 9.34380
+8.94299 9.35350
+8.91633 9.36304
+8.88959 9.37242
+8.86276 9.38164
+8.83584 9.39069
+8.80883 9.39959
+8.78174 9.40832
+8.75456 9.41689
+8.72729 9.42529
+8.69994 9.43353
+8.67250 9.44160
+8.64498 9.44950
+8.61737 9.45723
+8.58967 9.46478
+8.56189 9.47217
+8.53402 9.47938
+8.50607 9.48642
+8.47803 9.49328
+8.44991 9.49997
+8.42170 9.50647
+8.39341 9.51280
+8.36503 9.51894
+8.33657 9.52490
+8.30802 9.53068
+8.27939 9.53627
+8.25067 9.54168
+8.22187 9.54690
+8.19298 9.55192
+8.16401 9.55676
+8.13496 9.56140
+8.10582 9.56585
+8.07659 9.57010
+8.04728 9.57416
+8.01789 9.57801
+7.98841 9.58167
+7.95884 9.58512
+7.92920 9.58836
+7.89946 9.59140
+7.86964 9.59423
+7.83974 9.59686
+7.80975 9.59926
+7.77967 9.60146
+7.74951 9.60344
+7.71926 9.60520
+7.68892 9.60674
+7.65850 9.60805
+7.62799 9.60914
+7.59740 9.61001
+7.56671 9.61064
+7.53594 9.61104
+7.50508 9.61121
+7.47413 9.61114
+7.44309 9.61083
+7.41196 9.61027
+7.38074 9.60947
+7.34943 9.60843
+7.31802 9.60713
+7.28653 9.60557
+7.25494 9.60376
+7.22326 9.60169
+7.19148 9.59935
+7.15960 9.59674
+7.12763 9.59386
+7.09557 9.59071
+7.06340 9.58728
+7.03113 9.58356
+6.99877 9.57955
+6.96630 9.57526
+6.93373 9.57066
+6.90105 9.56577
+6.86827 9.56057
+6.83538 9.55506
+6.80238 9.54923
+6.76926 9.54308
+6.73604 9.53660
+6.70270 9.52979
+6.66924 9.52264
+6.63567 9.51514
+6.60197 9.50729
+6.56815 9.49908
+6.53420 9.49050
+6.50012 9.48155
+6.46591 9.47221
+6.43156 9.46248
+6.39708 9.45235
+6.36244 9.44181
+6.32767 9.43084
+6.29274 9.41944
+6.25765 9.40761
+6.22240 9.39531
+6.18699 9.38255
+6.15141 9.36931
+6.11565 9.35557
+6.07970 9.34132
+6.04356 9.32654
+6.00722 9.31122
+5.97068 9.29533
+5.93392 9.27886
+5.89694 9.26179
+5.85972 9.24408
+5.82225 9.22573
+5.78452 9.20669
+5.74652 9.18694
+5.70822 9.16645
+5.66963 9.14518
+5.63071 9.12309
+5.59144 9.10015
+5.55181 9.07629
+5.51178 9.05147
+5.47133 9.02564
+5.43043 8.99871
+5.38904 8.97063
+5.34711 8.94130
+5.30460 8.91063
+5.26145 8.87850
+5.21760 8.84478
+5.17296 8.80932
+5.12744 8.77194
+5.08093 8.73241
+5.03329 8.69047
+4.98434 8.64578
+4.93386 8.59790
+4.88154 8.54628
+4.82698 8.49015
+4.76961 8.42843
+4.70857 8.35952
+4.64243 8.28078
+4.56857 8.18739
+4.48095 8.06825
+4.35469 7.87798
+4.24481 7.69069
+4.12202 7.45061
+4.04236 7.27224
+3.99228 7.14844
+3.95432 7.04733
+3.92342 6.95961
+3.89728 6.88103
+3.87460 6.80919
+3.85459 6.74262
+3.83671 6.68030
+3.82057 6.62151
+3.80591 6.56571
+3.79249 6.51251
+3.78015 6.46157
+3.76875 6.41263
+3.75819 6.36548
+3.74837 6.31994
+3.73922 6.27587
+3.73067 6.23313
+3.72266 6.19162
+3.71515 6.15124
+3.70810 6.11191
+3.70147 6.07355
+3.69522 6.03610
+3.68933 5.99951
+3.68378 5.96371
+3.67854 5.92867
+3.67358 5.89433
+3.66890 5.86067
+3.66447 5.82765
+3.66027 5.79523
+3.65631 5.76339
+3.65255 5.73209
+3.64900 5.70132
+3.64563 5.67105
+3.64245 5.64126
+3.63943 5.61193
+3.63658 5.58304
+3.63388 5.55458
+3.63133 5.52652
+3.62892 5.49885
+3.62664 5.47157
+3.62449 5.44464
+3.62246 5.41807
+3.62055 5.39184
+3.61875 5.36594
+3.61705 5.34036
+3.61546 5.31508
+3.61397 5.29011
+3.61257 5.26542
+3.61127 5.24101
+3.61005 5.21688
+3.60891 5.19302
+3.60786 5.16941
+3.60688 5.14605
+3.60598 5.12293
+3.60516 5.10006
+3.60440 5.07741
+3.60371 5.05499
+3.60309 5.03279
+3.60253 5.01081
+3.60203 4.98903
+3.60159 4.96746
+3.60121 4.94609
+3.60088 4.92491
+3.60061 4.90392
+3.60039 4.88312
+3.60022 4.86250
+3.60010 4.84206
+3.60003 4.82179
+3.60000 4.80169
+3.60002 4.78176
+3.60008 4.76199
+3.60019 4.74238
+3.60033 4.72293
+3.60052 4.70363
+3.60074 4.68449
+3.60100 4.66549
+3.60130 4.64663
+3.60164 4.62792
+3.60201 4.60934
+3.60241 4.59091
+3.60285 4.57260
+3.60332 4.55443
+3.60382 4.53639
+3.60435 4.51848
+3.60492 4.50069
+3.60551 4.48302
+3.60613 4.46547
+3.60677 4.44805
+3.60745 4.43074
+3.60815 4.41354
+3.60888 4.39646
+3.60963 4.37948
+3.61041 4.36262
+3.61121 4.34586
+3.61203 4.32921
+3.61288 4.31266
+3.61375 4.29622
+3.61464 4.27987
+3.61556 4.26363
+3.61649 4.24748
+3.61745 4.23143
+3.61843 4.21547
+3.61942 4.19961
+3.62044 4.18384
+3.62147 4.16816
+3.62253 4.15256
+3.62360 4.13706
+3.62469 4.12164
+3.62579 4.10631
+3.62692 4.09106
+3.62806 4.07590
+3.62922 4.06082
+3.63039 4.04582
+3.63158 4.03089
+3.63278 4.01605
+3.63400 4.00129
+3.63524 3.98660
+3.63649 3.97198
+3.63775 3.95744
+3.63903 3.94298
+3.64033 3.92858
+3.64163 3.91426
+3.64295 3.90001
+3.64429 3.88583
+3.64563 3.87172
+3.64699 3.85767
+3.64836 3.84370
+3.64975 3.82979
+3.65115 3.81594
+3.65255 3.80216
+3.65397 3.78844
+3.65541 3.77479
+3.65685 3.76120
+3.65830 3.74767
+3.65977 3.73420
+3.66125 3.72079
+3.66273 3.70744
+3.66423 3.69415
+3.66574 3.68092
+3.66726 3.66774
+3.66879 3.65463
+3.67033 3.64156
+3.67188 3.62856
+3.67343 3.61560
+3.67500 3.60270
+3.67658 3.58986
+3.67817 3.57707
+3.67976 3.56433
+3.68137 3.55164
+3.68298 3.53900
+3.68461 3.52641
+3.68624 3.51388
+3.68788 3.50139
+3.68953 3.48895
+3.69118 3.47656
+3.69285 3.46422
+3.69452 3.45192
+3.69620 3.43967
+3.69789 3.42747
+3.69959 3.41532
+3.70130 3.40320
+3.70301 3.39114
+3.70473 3.37912
+3.70646 3.36714
+3.70820 3.35520
+3.70994 3.34331
+3.71169 3.33146
+3.71345 3.31965
+3.71522 3.30789
+3.71699 3.29616
+3.71877 3.28448
+3.72056 3.27283
+3.72235 3.26123
+3.72415 3.24966
+3.72596 3.23814
+3.72778 3.22665
+3.72960 3.21520
+3.73142 3.20379
+3.73326 3.19242
+3.73510 3.18108
+3.73695 3.16978
+3.73880 3.15852
+3.74066 3.14729
+3.74253 3.13610
+3.74440 3.12494
+3.74628 3.11382
+3.74817 3.10274
+3.75006 3.09168
+3.75196 3.08067
+3.75386 3.06968
+3.75577 3.05873
+3.75769 3.04781
+3.75961 3.03692
+3.76154 3.02607
+3.76347 3.01525
+3.76541 3.00446
+3.76736 2.99370
+3.76931 2.98297
+3.77127 2.97227
+3.77323 2.96160
+3.77520 2.95097
+3.77718 2.94036
+3.77916 2.92978
+3.78115 2.91923
+3.78314 2.90871
+3.78514 2.89822
+3.78714 2.88776
+3.78915 2.87733
+3.79116 2.86692
+3.79318 2.85654
+3.79521 2.84619
+3.79724 2.83586
+3.79928 2.82557
+3.80132 2.81529
+3.80337 2.80505
+3.80542 2.79483
+3.80748 2.78464
+3.80954 2.77447
+3.81161 2.76433
+3.81369 2.75421
+3.81577 2.74412
+3.81786 2.73405
+3.81995 2.72401
+3.82204 2.71399
+3.82415 2.70399
+3.82625 2.69402
+3.82837 2.68407
+3.83049 2.67414
+3.83261 2.66424
+3.83474 2.65436
+3.83687 2.64451
+3.83901 2.63467
+3.84116 2.62486
+3.84331 2.61507
+3.84547 2.60530
+3.84763 2.59555
+3.84979 2.58582
+3.85197 2.57612
+3.85414 2.56643
+3.85633 2.55677
+3.85852 2.54713
+3.86071 2.53750
+3.86291 2.52790
+3.86511 2.51832
+3.86732 2.50875
+3.86954 2.49921
+3.87176 2.48968
+3.87399 2.48018
+3.87622 2.47069
+3.87846 2.46122
+3.88070 2.45177
+3.88295 2.44234
+3.88520 2.43293
+3.88746 2.42353
+3.88973 2.41415
+3.89200 2.40479
+3.89427 2.39545
+3.89656 2.38613
+3.89884 2.37682
+3.90114 2.36753
+3.90343 2.35825
+3.90574 2.34900
+3.90805 2.33975
+3.91036 2.33053
+3.91268 2.32132
+3.91501 2.31213
+3.91734 2.30295
+3.91968 2.29379
+3.92203 2.28464
+3.92438 2.27551
+3.92673 2.26640
+3.92909 2.25729
+3.93146 2.24821
+3.93383 2.23914
+3.93621 2.23008
+3.93860 2.22104
+3.94099 2.21201
+3.94339 2.20299
+3.94579 2.19399
+3.94820 2.18501
+3.95061 2.17603
+3.95303 2.16707
+3.95546 2.15813
+3.95790 2.14919
+3.96033 2.14027
+3.96278 2.13137
+3.96523 2.12247
+3.96769 2.11359
+3.97016 2.10472
+3.97263 2.09586
+3.97510 2.08702
+3.97759 2.07818
+3.98008 2.06936
+3.98257 2.06055
+3.98508 2.05175
+3.98759 2.04297
+3.99010 2.03419
+3.99263 2.02543
+3.99515 2.01667
+3.99769 2.00793
+4.00023 1.99920
+4.00278 1.99048
+4.00534 1.98177
+4.00790 1.97307
+4.01047 1.96438
+4.01305 1.95570
+4.01563 1.94703
+4.01822 1.93837
+4.02082 1.92972
+4.02343 1.92108
+4.02604 1.91245
+4.02866 1.90382
+4.03128 1.89521
+4.03392 1.88661
+4.03656 1.87801
+4.03921 1.86943
+4.04186 1.86085
+4.04453 1.85228
+4.04720 1.84372
+4.04987 1.83517
+4.05256 1.82663
+4.05525 1.81809
+4.05795 1.80956
+4.06066 1.80104
+4.06338 1.79253
+4.06610 1.78403
+4.06884 1.77553
+4.07158 1.76704
+4.07433 1.75856
+4.07708 1.75008
+4.07985 1.74162
+4.08262 1.73315
+4.08540 1.72470
+4.08819 1.71625
+4.09099 1.70781
+4.09379 1.69938
+4.09661 1.69095
+4.09943 1.68252
+4.10226 1.67411
+4.10511 1.66570
+4.10795 1.65729
+4.11081 1.64889
+4.11368 1.64050
+4.11656 1.63211
+4.11944 1.62373
+4.12233 1.61535
+4.12524 1.60698
+4.12815 1.59861
+4.13107 1.59025
+4.13400 1.58189
+4.13694 1.57354
+4.13989 1.56519
+4.14285 1.55685
+4.14582 1.54851
+4.14880 1.54017
+4.15179 1.53184
+4.15479 1.52351
+4.15780 1.51519
+4.16082 1.50687
+4.16385 1.49856
+4.16689 1.49024
+4.16994 1.48193
+4.17300 1.47363
+4.17607 1.46533
+4.17915 1.45703
+4.18224 1.44873
+4.18534 1.44043
+4.18846 1.43214
+4.19158 1.42386
+4.19472 1.41557
+4.19786 1.40729
+4.20102 1.39900
+4.20419 1.39072
+4.20737 1.38245
+4.21056 1.37417
+4.21377 1.36590
+4.21698 1.35763
+4.22021 1.34936
+4.22345 1.34109
+4.22670 1.33282
+4.22997 1.32455
+4.23324 1.31629
+4.23653 1.30803
+4.23983 1.29976
+4.24314 1.29150
+4.24647 1.28324
+4.24981 1.27498
+4.25316 1.26672
+4.25653 1.25846
+4.25991 1.25020
+4.26330 1.24194
+4.26670 1.23368
+4.27012 1.22542
+4.27355 1.21715
+4.27700 1.20889
+4.28046 1.20063
+4.28393 1.19237
+4.28742 1.18411
+4.29093 1.17584
+4.29444 1.16758
+4.29798 1.15931
+4.30152 1.15104
+4.30509 1.14278
+4.30866 1.13451
+4.31225 1.12623
+4.31586 1.11796
+4.31949 1.10969
+4.32313 1.10141
+4.32678 1.09313
+4.33045 1.08485
+4.33414 1.07656
+4.33784 1.06828
+4.34156 1.05999
+4.34530 1.05170
+4.34905 1.04340
+4.35282 1.03510
+4.35661 1.02680
+4.36042 1.01850
+4.36424 1.01019
+4.36808 1.00188
+4.37194 0.99357
+4.37582 0.98525
+4.37972 0.97693
+4.38363 0.96860
+4.38756 0.96027
+4.39151 0.95193
+4.39549 0.94360
+4.39948 0.93525
+4.40349 0.92690
+4.40752 0.91855
+4.41157 0.91019
+4.41564 0.90183
+4.41973 0.89346
+4.42384 0.88508
+4.42798 0.87670
+4.43213 0.86832
+4.43631 0.85993
+4.44050 0.85153
+4.44472 0.84313
+4.44896 0.83472
+4.45323 0.82630
+4.45752 0.81788
+4.46183 0.80945
+4.46616 0.80101
+4.47052 0.79257
+4.47490 0.78412
+4.47930 0.77566
+4.48373 0.76719
+4.48819 0.75872
+4.49267 0.75024
+4.49717 0.74175
+4.50171 0.73325
+4.50626 0.72474
+4.51085 0.71623
+4.51546 0.70770
+4.52009 0.69917
+4.52476 0.69063
+4.52945 0.68208
+4.53417 0.67352
+4.53892 0.66495
+4.54370 0.65637
+4.54851 0.64778
+4.55334 0.63918
+4.55821 0.63057
+4.56311 0.62195
+4.56804 0.61332
+4.57300 0.60467
+4.57799 0.59602
+4.58302 0.58735
+4.58807 0.57868
+4.59316 0.56999
+4.59828 0.56129
+4.60344 0.55258
+4.60863 0.54385
+4.61386 0.53512
+4.61912 0.52637
+4.62442 0.51760
+4.62976 0.50883
+4.63513 0.50004
+4.64054 0.49123
+4.64599 0.48242
+4.65148 0.47358
+4.65700 0.46474
+4.66257 0.45588
+4.66818 0.44700
+4.67383 0.43811
+4.67952 0.42921
+4.68525 0.42028
+4.69103 0.41135
+4.69685 0.40239
+4.70271 0.39342
+4.70862 0.38444
+4.71458 0.37543
+4.72058 0.36641
+4.72664 0.35737
+4.73274 0.34831
+4.73889 0.33924
+4.74509 0.33014
+4.75134 0.32103
+4.75764 0.31190
+4.76399 0.30275
+4.77040 0.29358
+4.77687 0.28439
+4.78339 0.27518
+4.78996 0.26594
+4.79660 0.25669
+4.80329 0.24742
+4.81005 0.23812
+4.81686 0.22880
+4.82374 0.21946
+4.83068 0.21009
+4.83768 0.20071
+4.84475 0.19129
+4.85189 0.18186
+4.85910 0.17240
+4.86637 0.16291
+4.87372 0.15340
+4.88114 0.14386
+4.88863 0.13430
+4.89621 0.12470
+4.90385 0.11509
+4.91158 0.10544
+4.91939 0.09576
+4.92728 0.08606
+4.93526 0.07633
+4.94332 0.06656
+4.95147 0.05677
+4.95971 0.04694
+4.96804 0.03708
+4.97647 0.02719
+4.98500 0.01727
+4.99362 0.00731
+5.00235 -0.00268
+5.01118 -0.01271
+5.02012 -0.02277
+5.02916 -0.03287
+5.03832 -0.04301
+5.04760 -0.05318
+5.05699 -0.06340
+5.06650 -0.07365
+5.07614 -0.08395
+5.08591 -0.09428
+5.09581 -0.10466
+5.10584 -0.11508
+5.11602 -0.12555
+5.12634 -0.13606
+5.13680 -0.14662
+5.14742 -0.15723
+5.15820 -0.16789
+5.16914 -0.17859
+5.18024 -0.18935
+5.19152 -0.20016
+5.20298 -0.21102
+5.21462 -0.22194
+5.22645 -0.23292
+5.23848 -0.24395
+5.25071 -0.25505
+5.26316 -0.26620
+5.27582 -0.27742
+5.28872 -0.28871
+5.30185 -0.30006
+5.31523 -0.31149
+5.32886 -0.32298
+5.34276 -0.33455
+5.35694 -0.34620
+5.37141 -0.35792
+5.38619 -0.36973
+5.40128 -0.38162
+5.41670 -0.39360
+5.43248 -0.40567
+5.44862 -0.41783
+5.46514 -0.43009
+5.48207 -0.44246
+5.49943 -0.45493
+5.51724 -0.46752
+5.53553 -0.48022
+5.55433 -0.49305
+5.57367 -0.50600
+5.59359 -0.51909
+5.61412 -0.53232
+5.63530 -0.54570
+5.65720 -0.55925
+5.67986 -0.57296
+5.70334 -0.58685
+5.72773 -0.60094
+5.75309 -0.61524
+5.77952 -0.62976
+5.80714 -0.64452
+5.83607 -0.65955
+5.86648 -0.67488
+5.89854 -0.69052
+5.93249 -0.70652
+5.96862 -0.72294
+6.00730 -0.73982
+6.04901 -0.75724
+6.09440 -0.77530
+6.14442 -0.79416
+6.20046 -0.81401
+6.26480 -0.83521
+6.34164 -0.85836
+6.44070 -0.88489
+6.60174 -0.92047
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude-1.pdf
new file mode 100644
index 0000000000..02861f899f
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.1 b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.1
new file mode 100644
index 0000000000..5429141f81
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.1
@@ -0,0 +1,350 @@
+%!PS
+%%BoundingBox: -185 -185 351 130
+%%HiResBoundingBox: -184.75018 -184.75018 350.57535 129.47513
+%%Creator: MetaPost 2.10
+%%CreationDate: 2024.10.13:1449
+%%Pages: 1
+%*Font: cmr10 9.96263 9.96265 41:80000000189839
+%*Font: cmr7 6.97385 6.97385 31:e
+%*Font: cmmi10 9.96265 9.96265 43:a2
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+gsave newpath -184.25018 -184.25018 moveto
+-184.25018 128.97513 lineto
+350.07535 128.97513 lineto
+350.07535 -184.25018 lineto
+ closepath clip
+ 0.6552 0.7448 0.84001 setrgbcolor
+newpath 313.28333 0.00839 moveto
+-184.24129 -71.80072 lineto
+-184.24452 -71.8012 -184.25018 -71.81084 -184.25018 -71.80405 curveto
+-184.25018 71.80447 lineto
+-184.25018 71.81917 -184.236 71.79997 -184.22711 71.79869 curveto
+313.25258 -0.00392 lineto
+313.27377 -0.00697 313.3094 0.01216 313.28333 0.00839 curveto closepath fill
+ 0.5148 0.5852 0.66 setrgbcolor
+newpath 27.63303 24.44064 moveto
+3.69157 0.0059 lineto
+3.6894 0.00371 3.66844 0.01772 3.67947 0.00645 curveto
+27.64157 -24.45049 lineto
+27.64903 -24.4581 27.63753 -24.44553 27.63753 -24.44109 curveto
+27.63753 24.44263 lineto
+27.63753 24.44481 27.63507 24.44273 27.63303 24.44064 curveto closepath fill
+newpath -27.63326 -31.96431 moveto
+3.68849 0.00275 lineto
+3.69342 0.00778 3.68306 0.00278 3.68193 0.00394 curveto
+-27.63858 31.97127 lineto
+-27.63937 31.97208 -27.63753 31.97284 -27.63753 31.97162 curveto
+-27.63753 -31.97179 lineto
+-27.63753 -31.97998 -27.63583 -31.96693 -27.63326 -31.96431 curveto closepath fill
+ 1 1 1 setrgbcolor 0 0.99626 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath -18.42502 0 moveto
+-18.42502 14.6605 -24.24976 28.71881 -34.61551 39.08456 curveto
+-44.98126 49.45032 -59.03957 55.27505 -73.70007 55.27505 curveto
+-88.36058 55.27505 -102.41888 49.45032 -112.78464 39.08456 curveto
+-123.15039 28.71881 -128.97513 14.6605 -128.97513 0 curveto
+-128.97513 -14.6605 -123.15039 -28.71881 -112.78464 -39.08456 curveto
+-102.41888 -49.45032 -88.36058 -55.27505 -73.70007 -55.27505 curveto
+-59.03957 -55.27505 -44.98126 -49.45032 -34.61551 -39.08456 curveto
+-24.24976 -28.71881 -18.42502 -14.6605 -18.42502 0 curveto closepath
+gsave fill grestore stroke
+newpath 92.12509 0 moveto
+92.12509 9.77367 88.24194 19.14587 81.33144 26.05638 curveto
+74.42093 32.96689 65.04872 36.85004 55.27505 36.85004 curveto
+45.50139 36.85004 36.12918 32.96689 29.21867 26.05638 curveto
+22.30817 19.14587 18.42502 9.77367 18.42502 0 curveto
+18.42502 -9.77367 22.30817 -19.14587 29.21867 -26.05638 curveto
+36.12918 -32.96689 45.50139 -36.85004 55.27505 -36.85004 curveto
+65.04872 -36.85004 74.42093 -32.96689 81.33144 -26.05638 curveto
+88.24194 -19.14587 92.12509 -9.77367 92.12509 0 curveto closepath
+gsave fill grestore stroke
+newpath 18.42502 -73.70007 moveto
+18.42502 -68.81323 16.48344 -64.12714 13.02818 -60.67189 curveto
+9.57294 -57.21663 4.88684 -55.27505 0 -55.27505 curveto
+-4.88684 -55.27505 -9.57294 -57.21663 -13.02818 -60.67189 curveto
+-16.48344 -64.12714 -18.42502 -68.81323 -18.42502 -73.70007 curveto
+-18.42502 -78.58691 -16.48344 -83.27301 -13.02818 -86.72826 curveto
+-9.57294 -90.18352 -4.88684 -92.12509 0 -92.12509 curveto
+4.88684 -92.12509 9.57294 -90.18352 13.02818 -86.72826 curveto
+16.48344 -83.27301 18.42502 -78.58691 18.42502 -73.70007 curveto closepath
+gsave fill grestore stroke
+ 0.468 0.532 0.6 setrgbcolor
+newpath -18.42502 0 moveto
+-18.42502 14.6605 -24.24976 28.71881 -34.61551 39.08456 curveto
+-44.98126 49.45032 -59.03957 55.27505 -73.70007 55.27505 curveto
+-88.36058 55.27505 -102.41888 49.45032 -112.78464 39.08456 curveto
+-123.15039 28.71881 -128.97513 14.6605 -128.97513 0 curveto
+-128.97513 -14.6605 -123.15039 -28.71881 -112.78464 -39.08456 curveto
+-102.41888 -49.45032 -88.36058 -55.27505 -73.70007 -55.27505 curveto
+-59.03957 -55.27505 -44.98126 -49.45032 -34.61551 -39.08456 curveto
+-24.24976 -28.71881 -18.42502 -14.6605 -18.42502 0 curveto closepath stroke
+newpath 92.12509 0 moveto
+92.12509 9.77367 88.24194 19.14587 81.33144 26.05638 curveto
+74.42093 32.96689 65.04872 36.85004 55.27505 36.85004 curveto
+45.50139 36.85004 36.12918 32.96689 29.21867 26.05638 curveto
+22.30817 19.14587 18.42502 9.77367 18.42502 0 curveto
+18.42502 -9.77367 22.30817 -19.14587 29.21867 -26.05638 curveto
+36.12918 -32.96689 45.50139 -36.85004 55.27505 -36.85004 curveto
+65.04872 -36.85004 74.42093 -32.96689 81.33144 -26.05638 curveto
+88.24194 -19.14587 92.12509 -9.77367 92.12509 0 curveto closepath stroke
+newpath 18.42502 -73.70007 moveto
+18.42502 -68.81323 16.48344 -64.12714 13.02818 -60.67189 curveto
+9.57294 -57.21663 4.88684 -55.27505 0 -55.27505 curveto
+-4.88684 -55.27505 -9.57294 -57.21663 -13.02818 -60.67189 curveto
+-16.48344 -64.12714 -18.42502 -68.81323 -18.42502 -73.70007 curveto
+-18.42502 -78.58691 -16.48344 -83.27301 -13.02818 -86.72826 curveto
+-9.57294 -90.18352 -4.88684 -92.12509 0 -92.12509 curveto
+4.88684 -92.12509 9.57294 -90.18352 13.02818 -86.72826 curveto
+16.48344 -83.27301 18.42502 -78.58691 18.42502 -73.70007 curveto closepath stroke
+ 0 0 0 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
+ 1 setlinecap
+newpath 1216.05121 0 moveto
+-1234.47623 0 lineto stroke
+newpath 552.75055 663.30066 moveto
+-497.4755 -737.00073 lineto stroke
+newpath 663.30066 -737.00073 moveto
+-737.00073 663.30066 lineto stroke
+ 0 0 0.545 setrgbcolor [3 3 ] 0 setdash
+newpath -3371.77554 -1473.99866 moveto
+3629.72607 1326.59879 lineto stroke
+ 0.545 0 0 setrgbcolor
+newpath 313.22531 0 moveto
+-18.42502 -55.27505 lineto stroke
+newpath 3.68579 0 moveto
+36.85004 -110.55011 lineto stroke
+newpath 3.68579 0 moveto
+-55.27478 -147.39987 lineto stroke
+ 1 1 0 setrgbcolor
+newpath -72.20007 0 moveto
+-72.20007 0.39784 -72.35814 0.77934 -72.63943 1.06064 curveto
+-72.92073 1.34193 -73.30223 1.5 -73.70007 1.5 curveto
+-74.09792 1.5 -74.47942 1.34193 -74.76071 1.06064 curveto
+-75.042 0.77934 -75.20007 0.39784 -75.20007 0 curveto
+-75.20007 -0.39784 -75.042 -0.77934 -74.76071 -1.06064 curveto
+-74.47942 -1.34193 -74.09792 -1.5 -73.70007 -1.5 curveto
+-73.30223 -1.5 -72.92073 -1.34193 -72.63943 -1.06064 curveto
+-72.35814 -0.77934 -72.20007 -0.39784 -72.20007 0 curveto closepath fill
+ 0 0 0 setrgbcolor [] 0 setdash
+newpath -72.20007 0 moveto
+-72.20007 0.39784 -72.35814 0.77934 -72.63943 1.06064 curveto
+-72.92073 1.34193 -73.30223 1.5 -73.70007 1.5 curveto
+-74.09792 1.5 -74.47942 1.34193 -74.76071 1.06064 curveto
+-75.042 0.77934 -75.20007 0.39784 -75.20007 0 curveto
+-75.20007 -0.39784 -75.042 -0.77934 -74.76071 -1.06064 curveto
+-74.47942 -1.34193 -74.09792 -1.5 -73.70007 -1.5 curveto
+-73.30223 -1.5 -72.92073 -1.34193 -72.63943 -1.06064 curveto
+-72.35814 -0.77934 -72.20007 -0.39784 -72.20007 0 curveto closepath stroke
+ 1 1 0 setrgbcolor
+newpath 56.77505 0 moveto
+56.77505 0.39784 56.61699 0.77934 56.3357 1.06064 curveto
+56.0544 1.34193 55.6729 1.5 55.27505 1.5 curveto
+54.87721 1.5 54.49571 1.34193 54.21442 1.06064 curveto
+53.93312 0.77934 53.77505 0.39784 53.77505 0 curveto
+53.77505 -0.39784 53.93312 -0.77934 54.21442 -1.06064 curveto
+54.49571 -1.34193 54.87721 -1.5 55.27505 -1.5 curveto
+55.6729 -1.5 56.0544 -1.34193 56.3357 -1.06064 curveto
+56.61699 -0.77934 56.77505 -0.39784 56.77505 0 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 56.77505 0 moveto
+56.77505 0.39784 56.61699 0.77934 56.3357 1.06064 curveto
+56.0544 1.34193 55.6729 1.5 55.27505 1.5 curveto
+54.87721 1.5 54.49571 1.34193 54.21442 1.06064 curveto
+53.93312 0.77934 53.77505 0.39784 53.77505 0 curveto
+53.77505 -0.39784 53.93312 -0.77934 54.21442 -1.06064 curveto
+54.49571 -1.34193 54.87721 -1.5 55.27505 -1.5 curveto
+55.6729 -1.5 56.0544 -1.34193 56.3357 -1.06064 curveto
+56.61699 -0.77934 56.77505 -0.39784 56.77505 0 curveto closepath stroke
+ 1 1 0 setrgbcolor
+newpath 1.5 -73.70007 moveto
+1.5 -73.30223 1.34193 -72.92073 1.06064 -72.63943 curveto
+0.77934 -72.35814 0.39784 -72.20007 0 -72.20007 curveto
+-0.39784 -72.20007 -0.77934 -72.35814 -1.06064 -72.63943 curveto
+-1.34193 -72.92073 -1.5 -73.30223 -1.5 -73.70007 curveto
+-1.5 -74.09792 -1.34193 -74.47942 -1.06064 -74.76071 curveto
+-0.77934 -75.042 -0.39784 -75.20007 0 -75.20007 curveto
+0.39784 -75.20007 0.77934 -75.042 1.06064 -74.76071 curveto
+1.34193 -74.47942 1.5 -74.09792 1.5 -73.70007 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 1.5 -73.70007 moveto
+1.5 -73.30223 1.34193 -72.92073 1.06064 -72.63943 curveto
+0.77934 -72.35814 0.39784 -72.20007 0 -72.20007 curveto
+-0.39784 -72.20007 -0.77934 -72.35814 -1.06064 -72.63943 curveto
+-1.34193 -72.92073 -1.5 -73.30223 -1.5 -73.70007 curveto
+-1.5 -74.09792 -1.34193 -74.47942 -1.06064 -74.76071 curveto
+-0.77934 -75.042 -0.39784 -75.20007 0 -75.20007 curveto
+0.39784 -75.20007 0.77934 -75.042 1.06064 -74.76071 curveto
+1.34193 -74.47942 1.5 -74.09792 1.5 -73.70007 curveto closepath stroke
+ 0 0 0.545 setrgbcolor
+newpath 314.72531 0 moveto
+314.72531 0.39784 314.56725 0.77934 314.28595 1.06064 curveto
+314.00465 1.34193 313.62315 1.5 313.22531 1.5 curveto
+312.82747 1.5 312.44597 1.34193 312.16467 1.06064 curveto
+311.88338 0.77934 311.72531 0.39784 311.72531 0 curveto
+311.72531 -0.39784 311.88338 -0.77934 312.16467 -1.06064 curveto
+312.44597 -1.34193 312.82747 -1.5 313.22531 -1.5 curveto
+313.62315 -1.5 314.00465 -1.34193 314.28595 -1.06064 curveto
+314.56725 -0.77934 314.72531 -0.39784 314.72531 0 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 314.72531 0 moveto
+314.72531 0.39784 314.56725 0.77934 314.28595 1.06064 curveto
+314.00465 1.34193 313.62315 1.5 313.22531 1.5 curveto
+312.82747 1.5 312.44597 1.34193 312.16467 1.06064 curveto
+311.88338 0.77934 311.72531 0.39784 311.72531 0 curveto
+311.72531 -0.39784 311.88338 -0.77934 312.16467 -1.06064 curveto
+312.44597 -1.34193 312.82747 -1.5 313.22531 -1.5 curveto
+313.62315 -1.5 314.00465 -1.34193 314.28595 -1.06064 curveto
+314.56725 -0.77934 314.72531 -0.39784 314.72531 0 curveto closepath stroke
+ 0 0 0.545 setrgbcolor
+newpath 38.35004 -110.55011 moveto
+38.35004 -110.15227 38.19197 -109.77077 37.91068 -109.48947 curveto
+37.62938 -109.20818 37.24788 -109.05011 36.85004 -109.05011 curveto
+36.4522 -109.05011 36.0707 -109.20818 35.7894 -109.48947 curveto
+35.5081 -109.77077 35.35004 -110.15227 35.35004 -110.55011 curveto
+35.35004 -110.94795 35.5081 -111.32945 35.7894 -111.61075 curveto
+36.0707 -111.89204 36.4522 -112.05011 36.85004 -112.05011 curveto
+37.24788 -112.05011 37.62938 -111.89204 37.91068 -111.61075 curveto
+38.19197 -111.32945 38.35004 -110.94795 38.35004 -110.55011 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 38.35004 -110.55011 moveto
+38.35004 -110.15227 38.19197 -109.77077 37.91068 -109.48947 curveto
+37.62938 -109.20818 37.24788 -109.05011 36.85004 -109.05011 curveto
+36.4522 -109.05011 36.0707 -109.20818 35.7894 -109.48947 curveto
+35.5081 -109.77077 35.35004 -110.15227 35.35004 -110.55011 curveto
+35.35004 -110.94795 35.5081 -111.32945 35.7894 -111.61075 curveto
+36.0707 -111.89204 36.4522 -112.05011 36.85004 -112.05011 curveto
+37.24788 -112.05011 37.62938 -111.89204 37.91068 -111.61075 curveto
+38.19197 -111.32945 38.35004 -110.94795 38.35004 -110.55011 curveto closepath stroke
+ 0 0 0.545 setrgbcolor
+newpath -53.77478 -147.39987 moveto
+-53.77478 -147.00203 -53.93285 -146.62053 -54.21414 -146.33923 curveto
+-54.49544 -146.05794 -54.87694 -145.89987 -55.27478 -145.89987 curveto
+-55.67262 -145.89987 -56.05412 -146.05794 -56.33542 -146.33923 curveto
+-56.61671 -146.62053 -56.77478 -147.00203 -56.77478 -147.39987 curveto
+-56.77478 -147.79771 -56.61671 -148.17921 -56.33542 -148.46051 curveto
+-56.05412 -148.7418 -55.67262 -148.89987 -55.27478 -148.89987 curveto
+-54.87694 -148.89987 -54.49544 -148.7418 -54.21414 -148.46051 curveto
+-53.93285 -148.17921 -53.77478 -147.79771 -53.77478 -147.39987 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath -53.77478 -147.39987 moveto
+-53.77478 -147.00203 -53.93285 -146.62053 -54.21414 -146.33923 curveto
+-54.49544 -146.05794 -54.87694 -145.89987 -55.27478 -145.89987 curveto
+-55.67262 -145.89987 -56.05412 -146.05794 -56.33542 -146.33923 curveto
+-56.61671 -146.62053 -56.77478 -147.00203 -56.77478 -147.39987 curveto
+-56.77478 -147.79771 -56.61671 -148.17921 -56.33542 -148.46051 curveto
+-56.05412 -148.7418 -55.67262 -148.89987 -55.27478 -148.89987 curveto
+-54.87694 -148.89987 -54.49544 -148.7418 -54.21414 -148.46051 curveto
+-53.93285 -148.17921 -53.77478 -147.79771 -53.77478 -147.39987 curveto closepath stroke
+ 0.545 0 0 setrgbcolor
+newpath 5.18579 0 moveto
+5.18579 0.39784 5.02773 0.77934 4.74643 1.06064 curveto
+4.46513 1.34193 4.08363 1.5 3.68579 1.5 curveto
+3.28795 1.5 2.90645 1.34193 2.62515 1.06064 curveto
+2.34386 0.77934 2.18579 0.39784 2.18579 0 curveto
+2.18579 -0.39784 2.34386 -0.77934 2.62515 -1.06064 curveto
+2.90645 -1.34193 3.28795 -1.5 3.68579 -1.5 curveto
+4.08363 -1.5 4.46513 -1.34193 4.74643 -1.06064 curveto
+5.02773 -0.77934 5.18579 -0.39784 5.18579 0 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 5.18579 0 moveto
+5.18579 0.39784 5.02773 0.77934 4.74643 1.06064 curveto
+4.46513 1.34193 4.08363 1.5 3.68579 1.5 curveto
+3.28795 1.5 2.90645 1.34193 2.62515 1.06064 curveto
+2.34386 0.77934 2.18579 0.39784 2.18579 0 curveto
+2.18579 -0.39784 2.34386 -0.77934 2.62515 -1.06064 curveto
+2.90645 -1.34193 3.28795 -1.5 3.68579 -1.5 curveto
+4.08363 -1.5 4.46513 -1.34193 4.74643 -1.06064 curveto
+5.02773 -0.77934 5.18579 -0.39784 5.18579 0 curveto closepath stroke
+ 0.545 0 0 setrgbcolor
+newpath -16.92502 -55.27505 moveto
+-16.92502 -54.87721 -17.08308 -54.49571 -17.36438 -54.21442 curveto
+-17.64568 -53.93312 -18.02718 -53.77505 -18.42502 -53.77505 curveto
+-18.82286 -53.77505 -19.20436 -53.93312 -19.48566 -54.21442 curveto
+-19.76695 -54.49571 -19.92502 -54.87721 -19.92502 -55.27505 curveto
+-19.92502 -55.6729 -19.76695 -56.0544 -19.48566 -56.3357 curveto
+-19.20436 -56.61699 -18.82286 -56.77505 -18.42502 -56.77505 curveto
+-18.02718 -56.77505 -17.64568 -56.61699 -17.36438 -56.3357 curveto
+-17.08308 -56.0544 -16.92502 -55.6729 -16.92502 -55.27505 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath -16.92502 -55.27505 moveto
+-16.92502 -54.87721 -17.08308 -54.49571 -17.36438 -54.21442 curveto
+-17.64568 -53.93312 -18.02718 -53.77505 -18.42502 -53.77505 curveto
+-18.82286 -53.77505 -19.20436 -53.93312 -19.48566 -54.21442 curveto
+-19.76695 -54.49571 -19.92502 -54.87721 -19.92502 -55.27505 curveto
+-19.92502 -55.6729 -19.76695 -56.0544 -19.48566 -56.3357 curveto
+-19.20436 -56.61699 -18.82286 -56.77505 -18.42502 -56.77505 curveto
+-18.02718 -56.77505 -17.64568 -56.61699 -17.36438 -56.3357 curveto
+-17.08308 -56.0544 -16.92502 -55.6729 -16.92502 -55.27505 curveto closepath stroke
+ 0.545 0 0 setrgbcolor
+newpath 19.92474 -49.13376 moveto
+19.92474 -48.73592 19.76668 -48.35442 19.48538 -48.07312 curveto
+19.20409 -47.79182 18.82259 -47.63376 18.42474 -47.63376 curveto
+18.0269 -47.63376 17.6454 -47.79182 17.3641 -48.07312 curveto
+17.08281 -48.35442 16.92474 -48.73592 16.92474 -49.13376 curveto
+16.92474 -49.5316 17.08281 -49.9131 17.3641 -50.1944 curveto
+17.6454 -50.4757 18.0269 -50.63376 18.42474 -50.63376 curveto
+18.82259 -50.63376 19.20409 -50.4757 19.48538 -50.1944 curveto
+19.76668 -49.9131 19.92474 -49.5316 19.92474 -49.13376 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 19.92474 -49.13376 moveto
+19.92474 -48.73592 19.76668 -48.35442 19.48538 -48.07312 curveto
+19.20409 -47.79182 18.82259 -47.63376 18.42474 -47.63376 curveto
+18.0269 -47.63376 17.6454 -47.79182 17.3641 -48.07312 curveto
+17.08281 -48.35442 16.92474 -48.73592 16.92474 -49.13376 curveto
+16.92474 -49.5316 17.08281 -49.9131 17.3641 -50.1944 curveto
+17.6454 -50.4757 18.0269 -50.63376 18.42474 -50.63376 curveto
+18.82259 -50.63376 19.20409 -50.4757 19.48538 -50.1944 curveto
+19.76668 -49.9131 19.92474 -49.5316 19.92474 -49.13376 curveto closepath stroke
+305.3278 7.49442 moveto
+(E) cmmi10 9.96265 fshow
+312.6822 6.00002 moveto
+(12) cmr7 6.97385 fshow
+28.95253 -123.35791 moveto
+(E) cmmi10 9.96265 fshow
+36.30693 -124.85231 moveto
+(31) cmr7 6.97385 fshow
+-63.17229 -160.20767 moveto
+(E) cmmi10 9.96265 fshow
+-55.81789 -161.70207 moveto
+(23) cmr7 6.97385 fshow
+-2.72421 7.49442 moveto
+(I) cmmi10 9.96265 fshow
+1.65518 6.00002 moveto
+(12) cmr7 6.97385 fshow
+-35.445 -66.28284 moveto
+(I) cmmi10 9.96265 fshow
+-31.06561 -67.77724 moveto
+(31) cmr7 6.97385 fshow
+22.62473 -60.14154 moveto
+(I) cmmi10 9.96265 fshow
+27.00412 -61.63594 moveto
+(23) cmr7 6.97385 fshow
+-79.49503 7.49442 moveto
+(C) cmmi10 9.96265 fshow
+-72.37453 6.00002 moveto
+(1) cmr7 6.97385 fshow
+49.4801 7.49442 moveto
+(C) cmmi10 9.96265 fshow
+56.6006 6.00002 moveto
+(2) cmr7 6.97385 fshow
+-5.79495 -86.50787 moveto
+(C) cmmi10 9.96265 fshow
+1.32555 -88.00227 moveto
+(3) cmr7 6.97385 fshow
+gsave [0.92719 0.3746 -0.3746 0.92719 128.9754 -70.6998 ] concat 0 0 moveto
+(Axe) cmr10 9.96263 fshow grestore
+gsave [0.92719 0.3746 -0.3746 0.92719 147.96304 -63.02837 ] concat 0 0 moveto
+(de) cmr10 9.96263 fshow grestore
+gsave [0.92719 0.3746 -0.3746 0.92719 160.2793 -58.05234 ] concat 0 0 moveto
+(similitude) cmr10 9.96263 fshow grestore
+grestore
+ 1 1 1 setrgbcolor 0 1 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath -184.25018 -184.25018 moveto
+-184.25018 128.97513 lineto
+350.07535 128.97513 lineto
+350.07535 -184.25018 lineto
+ closepath stroke
+showpage
+%%EOF
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.mp
new file mode 100644
index 0000000000..fd4a0f4755
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/axessimilitude.mp
@@ -0,0 +1,98 @@
+input geom2d;
+%%% depuis Drawing with Metapost de Toby Thurston
+labeloffset := 6;
+gddTaillePoint := 3;
+gddCouleurPoint := Yellow;
+gddU:=0.65cm;
+beginfig(1);
+ C1 = Cercle((-4,0),3);
+ C2 = Cercle((3,0),2);
+ C3 = Cercle((0,-4),1);
+
+ T1 = TangenteCommuneExterieure(C1,C2);
+ T2 = TangenteCommuneExterieure(C2,C1);
+ T3 = TangenteCommuneInterieure(C1,C2);
+ T4 = TangenteCommuneInterieure(C2,C1);
+
+ T5 = TangenteCommuneExterieure(C2,C3);
+ T6 = TangenteCommuneExterieure(C3,C2);
+ T7 = TangenteCommuneInterieure(C2,C3);
+ T8 = TangenteCommuneInterieure(C3,C2);
+
+ T9 = TangenteCommuneExterieure(C1,C3);
+ T10 = TangenteCommuneExterieure(C3,C1);
+ T11 = TangenteCommuneInterieure(C1,C3);
+ T12 = TangenteCommuneInterieure(C3,C1);
+
+ E12 = IntersectionDroites(T1,T2);
+ E23 = IntersectionDroites(T5,T6);
+ E31 = IntersectionDroites(T9,T10);
+ I12 = IntersectionDroites(T3,T4);
+ I23 = IntersectionDroites(T7,T8);
+ I31 = IntersectionDroites(T11,T12);
+
+ path t[];
+ t1 :=(gddTraceObjet T1) gddEnPlace;
+ t2 := (gddTraceObjet T2) gddEnPlace;
+ t3 := (-10*gddU,-10*gddU)--(-10gddU,10*gddU);
+ fill buildcycle(t1, t3,reverse t2) withcolor 1.4*LightSlateGrey;
+
+ t4 :=(gddTraceObjet T3) gddEnPlace;
+ t5 := (gddTraceObjet T4) gddEnPlace;
+ t6 := (1.5*gddU,-10*gddU)--(1.5*gddU,10*gddU);
+ fill buildcycle(t4, t5,reverse t6) withcolor 1.1*LightSlateGrey;
+
+ t7 :=(gddTraceObjet T3) gddEnPlace;
+ t8 := (gddTraceObjet T4) gddEnPlace;
+ t9 := (-1.5*gddU,-10*gddU)--(-1.5*gddU,10*gddU);
+ fill buildcycle(t7, t8,reverse t9) withcolor 1.1*LightSlateGrey;
+
+ drawoptions(withpen pencircle scaled 1pt withcolor LightSlateGrey);
+ colorie C1 withcolor white;
+ colorie C2 withcolor white;
+ colorie C3 withcolor white;
+ trace C1; trace C2; trace C3;
+
+ drawoptions();
+ trace Droite(Centre(C1),Centre(C2));
+ trace Droite(Centre(C3),Centre(C2));
+ trace Droite(Centre(C1),Centre(C3));
+
+ D_E = Droite(E12,E23);
+ trace D_E dashed evenly withcolor DarkBlue;
+
+ E_I = Segment(E12,I31);
+ trace E_I dashed evenly withcolor DarkRed;
+ I_E1 = Segment(I12,E31);
+ trace I_E1 dashed evenly withcolor DarkRed;
+ I_E2 = Segment(I12,E23);
+ trace I_E2 dashed evenly withcolor DarkRed;
+
+
+ drawoptions();
+ pointe Centre(C1);
+ pointe Centre(C2);
+ pointe Centre(C3);
+ gddCouleurPoint := DarkBlue;
+ pointe E12; pointe E31; pointe E23;
+ gddCouleurPoint := DarkRed;
+ pointe I12; pointe I31; pointe I23;
+
+ label.top(btex $E_{12}$ etex,PointTOPair(E12) gddEnPlace);
+ label.bot(btex $E_{31}$ etex,PointTOPair(E31) gddEnPlace);
+ label.bot(btex $E_{23}$ etex,PointTOPair(E23) gddEnPlace);
+
+ label.top(btex $I_{12}$ etex,PointTOPair(I12) gddEnPlace);
+ label.llft(btex $I_{31}$ etex,PointTOPair(I31) gddEnPlace);
+ label.lrt(btex $I_{23}$ etex,PointTOPair(I23) gddEnPlace);
+
+
+ label.top(btex $C_{1}$ etex,PointTOPair(Centre(C1)) gddEnPlace);
+ label.top(btex $C_{2}$ etex,PointTOPair(Centre(C2)) gddEnPlace);
+ label.bot(btex $C_{3}$ etex,PointTOPair(Centre(C3)) gddEnPlace);
+
+ draw textext("Axe de similitude") rotated (22) shifted (0.5[Pt(E23),Pt(E12)]
+ gddEnPlace +(0,3));
+ Fenetre(-10,-10,19,7);
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.pdf
new file mode 100644
index 0000000000..b32e7b092c
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.png b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.png
new file mode 100644
index 0000000000..5288505bf3
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1-1.png
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1.mp
new file mode 100644
index 0000000000..c7f1c99699
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles1.mp
@@ -0,0 +1,37 @@
+input geom2d;
+
+labeloffset := 6;
+
+gddTaillePoint := 3;
+gddCouleurPoint := Yellow;
+
+beginfig(1);
+
+ Repere(9,9,4,5,0.8,0.8);
+ Axes;
+ Debut;
+ Graduations;
+ Unites(1);
+
+ C1 = Cercle((1,1),3);
+ C2 = Cercle((-1,-2),1);
+
+ P1 = IntersectionCercles(C1,C2);
+ P2 = IntersectionCercles(C2,C1);
+
+ drawoptions(withcolor LightSlateGrey);
+ trace C1;
+ trace C2;
+
+ drawoptions();
+ pointe Point(1,1);
+ pointe Point(-1,-2);
+ pointe P1;
+ pointe P2;
+ label.urt(textext("\(P_1\)"),PtR(P1));
+ label.top(textext("\(P_2\)"),PtR(P2));
+
+ Fin;
+
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.pdf
new file mode 100644
index 0000000000..d39a73d14f
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.png b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.png
new file mode 100644
index 0000000000..c32660dfd6
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2-1.png
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2.mp
new file mode 100644
index 0000000000..9020be7c20
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles2.mp
@@ -0,0 +1,34 @@
+input geom2d;
+
+labeloffset := 6;
+gddTaillePoint := 2;
+gddCouleurPoint := Yellow;
+
+beginfig(1);
+ Repere(9,9,4,5,0.8,0.8);
+ Axes;
+ Debut;
+ Axes;
+ Graduations; Unites(1);
+
+ C1 = Cercle((1,1),3);
+ C2 = Cercle((-1,-2),1);
+
+ T1 = TangenteCommuneExterieure(C1,C2);
+ T2 = TangenteCommuneExterieure(C2,C1);
+
+ drawoptions(withcolor LightSlateGrey);
+ trace C1;
+ trace C2;
+
+ drawoptions(withcolor Olive);
+ trace T1;
+ trace T2;
+
+ drawoptions();
+ pointe Point(1,1);
+ pointe Point(-1,-2);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-001.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-001.pdf
new file mode 100644
index 0000000000..5f16f972ac
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-001.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-1.pdf
new file mode 100644
index 0000000000..9e9d57dacb
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-2.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-2.pdf
new file mode 100644
index 0000000000..c3f83f5ae6
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3-2.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.001 b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.001
new file mode 100644
index 0000000000..29a5d6af67
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.001
@@ -0,0 +1,76 @@
+%!PS
+%%BoundingBox: -1033 -2116 849 2051
+%%HiResBoundingBox: -1032.62207 -2115.02084 848.11754 2050.78284
+%%Creator: MetaPost 2.02
+%%CreationDate: 2023.11.19:1336
+%%Pages: 1
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0.468 0.532 0.6 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath 113.3858 28.34645 moveto
+113.3858 50.90129 104.42459 72.52965 88.47713 88.47713 curveto
+72.52965 104.42459 50.90129 113.3858 28.34645 113.3858 curveto
+5.79161 113.3858 -15.83675 104.42459 -31.78423 88.47713 curveto
+-47.73169 72.52965 -56.6929 50.90129 -56.6929 28.34645 curveto
+-56.6929 5.79161 -47.73169 -15.83675 -31.78423 -31.78423 curveto
+-15.83675 -47.73169 5.79161 -56.6929 28.34645 -56.6929 curveto
+50.90129 -56.6929 72.52965 -47.73169 88.47713 -31.78423 curveto
+104.42459 -15.83675 113.3858 5.79161 113.3858 28.34645 curveto closepath stroke
+newpath -56.6929 -85.03935 moveto
+-56.6929 -77.52107 -59.67998 -70.31161 -64.99579 -64.99579 curveto
+-70.31161 -59.67998 -77.52107 -56.6929 -85.03935 -56.6929 curveto
+-92.55763 -56.6929 -99.76709 -59.67998 -105.08292 -64.99579 curveto
+-110.39873 -70.31161 -113.3858 -77.52107 -113.3858 -85.03935 curveto
+-113.3858 -92.55763 -110.39873 -99.76709 -105.08292 -105.08292 curveto
+-99.76709 -110.39873 -92.55763 -113.3858 -85.03935 -113.3858 curveto
+-77.52107 -113.3858 -70.31161 -110.39873 -64.99579 -105.08292 curveto
+-59.67998 -99.76709 -56.6929 -92.55763 -56.6929 -85.03935 curveto closepath stroke
+ 0.5 0.5 0 setrgbcolor 1 setlinecap
+newpath 847.86754 2050.53284 moveto
+-1032.37207 -2114.77084 lineto stroke
+newpath 589.01413 188.14299 moveto
+-799.40399 -438.61998 lineto stroke
+ 1 1 0 setrgbcolor
+newpath 29.34645 28.34645 moveto
+29.34645 28.61168 29.24107 28.86601 29.05354 29.05354 curveto
+28.86601 29.24107 28.61168 29.34645 28.34645 29.34645 curveto
+28.08122 29.34645 27.82689 29.24107 27.63936 29.05354 curveto
+27.45183 28.86601 27.34645 28.61168 27.34645 28.34645 curveto
+27.34645 28.08122 27.45183 27.82689 27.63936 27.63936 curveto
+27.82689 27.45183 28.08122 27.34645 28.34645 27.34645 curveto
+28.61168 27.34645 28.86601 27.45183 29.05354 27.63936 curveto
+29.24107 27.82689 29.34645 28.08122 29.34645 28.34645 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 29.34645 28.34645 moveto
+29.34645 28.61168 29.24107 28.86601 29.05354 29.05354 curveto
+28.86601 29.24107 28.61168 29.34645 28.34645 29.34645 curveto
+28.08122 29.34645 27.82689 29.24107 27.63936 29.05354 curveto
+27.45183 28.86601 27.34645 28.61168 27.34645 28.34645 curveto
+27.34645 28.08122 27.45183 27.82689 27.63936 27.63936 curveto
+27.82689 27.45183 28.08122 27.34645 28.34645 27.34645 curveto
+28.61168 27.34645 28.86601 27.45183 29.05354 27.63936 curveto
+29.24107 27.82689 29.34645 28.08122 29.34645 28.34645 curveto closepath stroke
+ 1 1 0 setrgbcolor
+newpath -84.03935 -85.03935 moveto
+-84.03935 -84.77412 -84.14473 -84.51979 -84.33226 -84.33226 curveto
+-84.51979 -84.14473 -84.77412 -84.03935 -85.03935 -84.03935 curveto
+-85.30458 -84.03935 -85.55891 -84.14473 -85.74644 -84.33226 curveto
+-85.93398 -84.51979 -86.03935 -84.77412 -86.03935 -85.03935 curveto
+-86.03935 -85.30458 -85.93398 -85.55891 -85.74644 -85.74644 curveto
+-85.55891 -85.93398 -85.30458 -86.03935 -85.03935 -86.03935 curveto
+-84.77412 -86.03935 -84.51979 -85.93398 -84.33226 -85.74644 curveto
+-84.14473 -85.55891 -84.03935 -85.30458 -84.03935 -85.03935 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath -84.03935 -85.03935 moveto
+-84.03935 -84.77412 -84.14473 -84.51979 -84.33226 -84.33226 curveto
+-84.51979 -84.14473 -84.77412 -84.03935 -85.03935 -84.03935 curveto
+-85.30458 -84.03935 -85.55891 -84.14473 -85.74644 -84.33226 curveto
+-85.93398 -84.51979 -86.03935 -84.77412 -86.03935 -85.03935 curveto
+-86.03935 -85.30458 -85.93398 -85.55891 -85.74644 -85.74644 curveto
+-85.55891 -85.93398 -85.30458 -86.03935 -85.03935 -86.03935 curveto
+-84.77412 -86.03935 -84.51979 -85.93398 -84.33226 -85.74644 curveto
+-84.14473 -85.55891 -84.03935 -85.30458 -84.03935 -85.03935 curveto closepath stroke
+showpage
+%%EOF
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.mp
new file mode 100644
index 0000000000..aff09b49ea
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cercles/cercles3.mp
@@ -0,0 +1,58 @@
+input geom2d;
+
+labeloffset := 6;
+
+gddTaillePoint := 2;
+gddCouleurPoint := Yellow;
+
+
+
+beginfig(1);
+
+
+ C1 = Cercle((1,1),3);
+ C2 = Cercle((-3,-3),1);
+
+ T1 = TangenteCommuneExterieure(C1,C2);
+ T2 = TangenteCommuneExterieure(C2,C1);
+ T3 = TangenteCommuneInterieure(C1,C2);
+ T4 = TangenteCommuneInterieure(C2,C1);
+
+
+ drawoptions(withcolor LightSlateGrey);
+ trace C1;
+ trace C2;
+
+ drawoptions(withcolor Olive);
+ trace T1;
+ trace T2;
+
+
+ drawoptions(withcolor DarkRed);
+ trace T3;
+ trace T4;
+
+ drawoptions();
+ pointe Centre(C1);
+ pointe Centre(C2);
+
+ a = angle((0,-1));
+ show a;
+
+endfig;
+
+beginfig(2);
+
+ A = Point(0,0);
+ B = Point(2,1);
+ C = Point(1,3);
+
+ K = CercleTroisPoints(A,B,C);
+
+ trace K;
+ pointe A;
+ pointe B;
+ pointe C;
+endfig;
+
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-1.pdf
new file mode 100644
index 0000000000..41fa9854bd
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-2.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-2.pdf
new file mode 100644
index 0000000000..377acbfc82
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-2.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-3.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-3.pdf
new file mode 100644
index 0000000000..4dca328210
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-3.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-4.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-4.pdf
new file mode 100644
index 0000000000..9f4c93c43f
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse-4.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse.mp
new file mode 100644
index 0000000000..b95e3d82d2
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/ellipse.mp
@@ -0,0 +1,105 @@
+input geom2d;
+
+beginfig(1);
+ C = Point(3,2);
+ A = Point(5,1);
+ B = Point(3.5,3) ;
+ E = Ellipse(C,A,B);
+ F = EllipseF(C,A,2.5);
+ D = Centre(F);
+ pointe D;
+ trace E;
+ trace F;
+ pointe C;
+ pointe A;
+ pointe B;
+endfig;
+
+
+
+beginfig(2);
+ F1 = Point(3,1);
+ F2 = Point(1.5,0.5);
+ E := EllipseF(F1,F2,1.2);
+ trace E;
+
+ bboxmargin := 1cm;
+ path cadre; cadre = bbox currentpicture;
+
+ pair M;
+ M = point 3.5 of (gddTraceObjet(E)) ;
+ M' = PointImp(M);
+
+ d:=Longueur(M',F1)+Longueur(M',F2);
+ show d; % Pour vérifier que l'on obtient bien 2a
+
+ trace Segment(F1,M');
+ trace Segment(F2,M');
+ D := TangenteEllipse(E,M);
+ trace D;
+
+ gddTaillePoint := 1.5;
+ gddCouleurPoint := Yellow;
+ pointe M';
+ gddCouleurPoint := Gainsboro;
+ pointe F1;
+ pointe F2;
+
+ setbounds currentpicture to cadre;
+endfig;
+
+
+beginfig(3);
+ F1 := Point(3,1);
+ F2 := Point(1.5,0.5);
+ E := EllipseF(F1,F2,1.2);
+ trace E;
+
+ bboxmargin := 5cm;
+ path cadre; cadre = bbox currentpicture;
+ numeric M;
+ P = Point(1,-1);
+ C1 = CercleCP(P,F1);
+ trace C1;
+ C2 = Cercle(F2,2*DemiGrandAxe(E));
+ trace C2;
+ T1 = IntersectionCercles(C1,C2);
+ T2 = IntersectionCercles(C2,C1);
+ if(Longueur(F1,T1)<Longueur(F1,T2)):
+ U = T1;
+ else:
+ U = T2;
+ fi
+ DU = Segment(F2,U);
+ pair Ip;
+ Ip := (gddTraceObjet(DU)) intersectionpoint (gddTraceObjet(E));
+ M = PointImp(Ip);
+ trace DU;
+ marque.urt "M";
+ marque.urt "P";
+ marque.urt "F1";
+ marque.urt "F2";
+ marque.urt "T1";
+ marque.urt "T2";
+
+ setbounds currentpicture to cadre;
+endfig;
+beginfig(4);
+ F1 := Point(3,1);
+ F2 := Point(1.5,0.5);
+ E := EllipseF(F1,F2,1.2);
+ trace E;
+ P := Point(4,1);
+ bboxmargin := 5cm;
+ path cadre; cadre = bbox currentpicture;
+ T1 := TangenteExterieureEllipse(E,P,1);
+ trace T1;
+ T2 := TangenteExterieureEllipse(E,P,2);
+ trace T2;
+ marque.urt "P";
+ pointe gddB[T1];
+
+ pointe gddB[T2];
+ setbounds currentpicture to cadre;
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper-1.pdf
new file mode 100644
index 0000000000..7bd2bd78e6
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper.mp
new file mode 100644
index 0000000000..5186bdcb39
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/coniques/hyper.mp
@@ -0,0 +1,41 @@
+input geom2d;
+
+beginfig(1);
+ A = Point(0,0);
+ B = Point(3,2);
+ AB = Droite(A,B);
+ F_1 = Point(-1,1);
+ Hyper = HyperboleFD(F_1,AB,1.5);
+ O = Centre(Hyper);
+ F_2 = Foyer(Hyper,2);
+ Axe = Droite(F_1,F_2);
+ S_1 = Sommet(Hyper,1);
+ S_2 = Sommet(Hyper,2);
+
+ trace Axe dashed evenly;
+ C = CerclePrincipale(Hyper) ;
+ trace C avecCrayon(0.5,LightSlateGray) dashed evenly;
+ A_1 = AsymptoteHyperbole(Hyper,1);
+ A_2 = AsymptoteHyperbole(Hyper,2);
+ trace A_1 dashed evenly;
+ trace A_2 dashed evenly;
+
+ D_1 = Directrice(Hyper,1);
+ D_2 = Directrice(Hyper,2);
+
+ trace D_1 avecCrayon(1.1,CornflowerBlue);
+ trace D_2 avecCrayon(1.1,CornflowerBlue);
+ trace DemieHyperbole(Hyper,1) avecCrayon(1.5,Crimson);
+ trace DemieHyperbole(Hyper,2) avecCrayon(1.5,Crimson);
+
+ marque.lft "O";
+ marque.lft "S_1";
+ marque.lft "S_2";
+ marque.lft "F_1";
+ marque.lft "F_2";
+ label.lft(textext("\(\mathcal{C}\)"),Pt(PointDe(C,0.6)) gddEnPlace) withcolor LightSlateGray;
+ label.top(textext("\(\mathcal{D}_1\)"),Pt(PointDe(D_1,0.47)) gddEnPlace) withcolor CornflowerBlue;
+ label.top(textext("\(\mathcal{D}_2\)"),Pt(PointDe(D_2,0.46)) gddEnPlace) withcolor CornflowerBlue;
+ Fenetre(-4,-7,4,4);
+endfig;
+end.
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers-1.pdf
new file mode 100644
index 0000000000..91f4a16e7d
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers.mp
new file mode 100644
index 0000000000..cc010f0ea7
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/construction/ogiveentiers.mp
@@ -0,0 +1,126 @@
+input geom2d;
+
+beginfig(1);
+ % les points de base pour l’ogive
+ O = Point(0,0);
+ A = Point(-3,0);
+ A2 = Point(-4,0);
+ B = Point(3,0);
+ B2 = Point(4,0);
+ % la droite de base de l’ogive
+ AB = Droite(A,B);
+ % on se prend une droite quelconque
+ Ct = Point(0.8,-2); % point quelconque
+ AC = Droite(A,Ct); % droite quelconque
+ % on prend trois longueures égales sur la droite
+ longueurTier := 1.4;
+ C1 = ReportSurDroite(A,AC,longueurTier);
+ C2 = ReportSurDroite(C1,AC,longueurTier);
+ C3 = ReportSurDroite(C2,AC,longueurTier);
+ % on définit la droite qui passe par B et le dernier point
+ BC = Droite(B,C3);
+ % on construit une droite perpendiculaire à BC
+ D = Point(-4,0);
+ perpD = DroitePerpendiculaire(BC,D);
+ DD = IntersectionDroites(perpD,BC);
+ % on projette C2 et C1 sar la droite AB pour diviser [AB] en 3 parties
+ % égales
+ perpC2 = DroitePerpendiculaire(perpD,C2);
+ perpC1 = DroitePerpendiculaire(perpD,C1);
+ D1 = IntersectionDroites(AB,perpC1);
+ D2 = IntersectionDroites(AB,perpC2);
+ % on construit l’enveloppe de l’ogive
+ C_DA = CercleCP(D2,A);
+ C_DB = CercleCP(D1,B);
+ C_DA2 = CercleCP(D2,A2);
+ C_DB2 = CercleCP(D1,B2);
+ % on construit le point P pour la projection finale
+ C_AB = CercleCP(A,B);
+ C_BA = CercleCP(B,A);
+ P = IntersectionCercles(C_BA,C_AB);
+ % on prend 5 longueures égales sur la droite quelconque du début
+ longueurCinq :=0.8;
+ F1 = ReportSurDroite(A,AC,longueurCinq);
+ F2 = ReportSurDroite(F1,AC,longueurCinq);
+ F3 = ReportSurDroite(F2,AC,longueurCinq);
+ F4 = ReportSurDroite(F3,AC,longueurCinq);
+ F5 = ReportSurDroite(F4,AC,longueurCinq);
+ % on projette les points sur AB pour diviser [AB] en 5 parties égale
+ BF5 = Droite(B,F5);
+ perpF5 = DroitePerpendiculaire(BF5,A2);
+ CC = IntersectionDroites(BF5,perpF5);
+ perpF4 = DroitePerpendiculaire(perpF5,F4);
+ perpF3 = DroitePerpendiculaire(perpF5,F3);
+ perpF2 = DroitePerpendiculaire(perpF5,F2);
+ perpF1 = DroitePerpendiculaire(perpF5,F1);
+ G1 = IntersectionDroites(AB,perpF1);
+ G2 = IntersectionDroites(AB,perpF2);
+ G3 = IntersectionDroites(AB,perpF3);
+ G4 = IntersectionDroites(AB,perpF4);
+ % on projette les Gi sur l’ogive avec le point P
+ PG1 = Droite(P,G1);
+ PG2 = Droite(P,G2);
+ PG3 = Droite(P,G3);
+ PG4 = Droite(P,G4);
+ I1 = IntersectionDroiteCercle(PG1,C_DA,1);
+ I2 = IntersectionDroiteCercle(PG2,C_DA,2);
+ I3 = IntersectionDroiteCercle(PG3,C_DB,2);
+ I4 = IntersectionDroiteCercle(PG4,C_DB,2);
+ % à partir des 2 points issus de la division en 3 de [AB]
+ % on trace les séparations des pierres qui constituent l’ogive
+ Dvoute1 = Droite(D2,I1);
+ Dvoute2 = Droite(D2,I2);
+ Dvoute3 = Droite(D1,I3);
+ Dvoute4 = Droite(D1,I4);
+
+ % les tracés
+ drawoptions(withcolor 1.3*Grey);
+ trace perpC2; trace perpC1;
+ trace AB;
+ trace AC;
+ trace BC;
+ trace perpD;
+ trace SigneOrtho(B,DD,A2,0.2);
+
+ drawoptions(withcolor Bisque);
+ trace BF5;
+ trace perpF5;trace perpF4;trace perpF3;trace perpF2;trace perpF1;
+ trace SigneOrtho(B,CC,A2,0.2);
+
+ drawoptions(withcolor SteelBlue withpen pencircle scaled 0.85pt);
+ trace gddTraceArcDeCercle(C_DA,Pi/2,Pi);
+ trace gddTraceArcDeCercle(C_DA2,Pi/2,Pi);
+ trace gddTraceArcDeCercle(C_DB2,0,Pi/2);
+ trace gddTraceArcDeCercle(C_DB,0,Pi/2);
+
+ drawoptions();
+ trace gddTraceArcDeCercle(C_AB,0,-Pi/2) dashed evenly;
+ trace gddTraceArcDeCercle(C_BA,Pi,3Pi/2) dashed evenly;
+
+ drawoptions(withcolor DarkSalmon);
+ trace PG1; trace PG2; trace PG3; trace PG4;
+
+ drawoptions(withcolor SteelBlue withpen pencircle scaled 0.85pt);
+ trace Dvoute1; trace Dvoute2; trace Dvoute3; trace Dvoute4;
+ drawoptions();
+
+ gddCouleurPoint := DarkRed;
+ pointe O;
+ pointe A;
+ pointe B; pointe D;
+ pointe B2;
+
+ gddCouleurPoint := Bisque;
+ pointe F1; pointe F2; pointe F3; pointe F4; pointe F5;
+ pointe G1; pointe G2;pointe G3;pointe G4;
+ gddCouleurPoint := 1.3*Grey;
+ pointe DD;
+ pointe C1; pointe C2; pointe C3;
+ pointe D1; pointe D2;
+
+ gddCouleurPoint := DarkSalmon;
+ pointe P;
+ pointe I1; pointe I2; pointe I3; pointe I4;
+ Fenetre(-5,-7,5,5);
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01-1.pdf
new file mode 100644
index 0000000000..f3e9c46b9f
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01.mp
new file mode 100644
index 0000000000..615e1cca93
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp01.mp
@@ -0,0 +1,38 @@
+input geom2d;
+
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef f(expr t) = 2*cos(t)*cos(t)*cos(t) enddef;
+vardef g(expr t) = 2*sin(t)*sin(t)*sin(t) enddef;
+
+
+beginfig(1);
+ Repere(8,8,4,4,1.8,1.8);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+ drawoptions(withpen pencircle scaled 0.5 withcolor LightSlateGrey);
+ trace ((-2,-2)--(-2,2)--(2,2)--(2,-2)--cycle);
+
+ nb = 80;
+ pas = 2*Pi/nb;
+ for i=0 upto nb: trace (0,2*sin(i*pas))--(2*cos(i*pas),0); endfor;
+
+ fleche Segment((2,0),(1.2,0)) avecCrayon(1,RoyalBlue);
+ fleche Segment((-2,0),(-1.2,0)) avecCrayon(1,RoyalBlue);
+ fleche Segment((0,2),(0,1.2)) avecCrayon(1,RoyalBlue);
+ fleche Segment((0,-2),(0,-1.2)) avecCrayon(1,RoyalBlue);
+
+ trace Courbe(f,g,0,2*Pi,500) avecCrayon(1.5,DarkOrange);
+
+ pointe Point(0,0);
+ pointe Point(2,0);
+ pointe Point(0,2);
+ pointe Point(0,-2);
+ pointe Point(-2,0);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02-1.pdf
new file mode 100644
index 0000000000..456b3d7eb2
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02.mp
new file mode 100644
index 0000000000..6e0162b6d9
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp02.mp
@@ -0,0 +1,35 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef f(expr t) = sin(2*t+Pi/3) enddef;
+vardef g(expr t) = sin(3*t) enddef;
+
+beginfig(1);
+ Repere(8,8,4,4,3,3);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ drawoptions(withcolor LightSlateGrey);
+ trace ((-1,-1)--(-1,1)--(1,1)--(1,-1)--cycle);
+ trace ((-1,-1)--(1,1));
+ trace (1,-1)--(-1,1);
+ trace Cercle(origine,1);
+ trace ((-1,0.5)--(1,0.5));
+ trace ((-1,-0.5)--(1,-0.5));
+ trace ((0.5,-1)--(0.5,1));
+ trace ((-0.5,-1)--(-0.5,1));
+ trace ((-1,sqrt(3)/2)--(1,sqrt(3)/2));
+ trace ((-1,-sqrt(3)/2)--(1,-sqrt(3)/2));
+ trace ((sqrt(3)/2,-1)--(sqrt(3)/2,1));
+ trace ((-sqrt(3)/2,-1)--(-sqrt(3)/2,1));
+
+ trace Courbe(f,g,0,2*Pi,500) avecCrayon(1.5,Orchid);
+
+ pointe Point(0,0);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03-1.pdf
new file mode 100644
index 0000000000..a40bc09ec5
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03.mp
new file mode 100644
index 0000000000..f96fdfed5c
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp03.mp
@@ -0,0 +1,21 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1cm;
+
+vardef f(expr t) = t*t enddef;
+vardef g(expr t) = t*t*t enddef;
+
+beginfig(1);
+
+ Repere(8,12,2,6,1,1);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+ fleche Segment((0,0),(2,0)) avecCrayon(1,Crimson);
+ trace Courbe(f,g,-3,3,300) avecCrayon(1.5,DarkTurquoise);
+ pointe Point(0,0);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04-1.pdf
new file mode 100644
index 0000000000..53791974cd
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04.mp
new file mode 100644
index 0000000000..d179e05f05
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp04.mp
@@ -0,0 +1,37 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef f(expr t) = t*t+2/t enddef;
+vardef g(expr t) = t+1/t enddef;
+vardef fp(expr t) = t*t enddef;
+vardef gp(expr t) = t enddef;
+
+beginfig(1);
+
+ Repere(12,10,5,4,0.7,0.7);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ drawoptions(withcolor LightSlateGrey);
+ trace Droite(Point(-4,-2),Point(4,2));
+ trace (3,0)--(3,2)--(0,2) dashed evenly;
+ trace (-1,0)--(-1,-2)--(0,-2) dashed evenly;
+ trace Courbe(fp,gp,-4,4,500);
+
+ fleche Segment((3,2),(5,8/3)) avecCrayon(1,DeepPink);
+ fleche Segment((-1,-2),(-2.8,-2)) avecCrayon(1,DeepPink);
+ fleche Segment((-1,-2),(0.8,-2)) avecCrayon(1,DeepPink);
+
+ trace Courbe(f,g,-5,-0.1,100) avecCrayon(1.5,DarkCyan);
+ trace Courbe(f,g,0.1,5,100) avecCrayon(1.5,DarkCyan);
+
+ pointe Point(0,0);
+ pointe Point(3,2);
+ pointe Point(-1,-2);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05-1.pdf
new file mode 100644
index 0000000000..d44adddc0d
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05.mp
new file mode 100644
index 0000000000..902fff5db3
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp05.mp
@@ -0,0 +1,37 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef f(expr t) = t*t-2*t enddef;
+vardef g(expr t) = t*t + 1/(t*t) enddef;
+vardef fp(expr t) = 2*t+t*t enddef;
+vardef gp(expr t) = t*t enddef;
+
+beginfig(1);
+
+ Repere(8,10,2,1,1,1);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ drawoptions(withcolor LightSlateGrey);
+ trace (3,0)--(3,2)--(-1,2)--(-1,0) dashed evenly;
+ trace (1,0)--(1,6)--(0,6) dashed evenly;
+ trace Courbe(fp,gp,-5,5,500);
+
+ fleche Segment((-1,2),(-1,2)+(0.5,2)) avecCrayon(1,Crimson);
+ fleche Segment((3,2),(4,2)) avecCrayon(1,Crimson);
+ fleche Segment((3,2),(2,2)) avecCrayon(1,Crimson);
+
+ trace Courbe(f,g,-10,-0.05,300) avecCrayon(1.5,DarkGoldenrod);
+ trace Courbe(f,g,0.05,10,300) avecCrayon(1.5,DarkGoldenrod);
+
+ pointe Point(0,0);
+ pointe Point(-1,2);
+ pointe Point(3,2);
+ pointe Point(1,6);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06-1.pdf
new file mode 100644
index 0000000000..ac66491dcf
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06.mp
new file mode 100644
index 0000000000..9c0b170d2c
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp06.mp
@@ -0,0 +1,31 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef f(expr t) = 1/t + 1/(t+1) enddef;
+vardef g(expr t) = 1/t + 1/(1+2*t+t**2) enddef;
+vardef p(expr x) = x*(x+2)+2 enddef;
+
+beginfig(1);
+
+ Repere(10,10,5,5,1,1);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ drawoptions(withcolor LightSlateGrey);
+ trace Droite(origine,Point(1,1));
+ trace Representation(p,-3,1,20);
+
+ trace Courbe(f,g,-20,-1.1,300) avecCrayon(1.5,Teal);
+ trace Courbe(f,g,-0.9,-0.1,300) avecCrayon(1.5,Teal);
+ trace Courbe(f,g,0.1,20,300) avecCrayon(1.5,Teal);
+
+ pointe Point(0,0);
+ pointe Point(-1,0);
+ pointe Point(-0.526,-0.140);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07-1.pdf
new file mode 100644
index 0000000000..8d20576d7e
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07.mp
new file mode 100644
index 0000000000..7b595e0ea9
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp07.mp
@@ -0,0 +1,26 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef f(expr t) = t/sqrt(1+t*t) enddef;
+vardef g(expr t) = t*(1+f(t)) enddef;
+vardef h(expr t) = -t*(1+f(t)) enddef;
+
+beginfig(1);
+
+ Repere(6,10,3,5,2,2);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ trace Droite((1,-2),(1,2)) withcolor MidnightBlue;
+
+ trace (-1,0)..Courbe(f,g,-18,18,200) avecCrayon(1.5,DarkSalmon);
+ trace (-1,0)..Courbe(f,h,-18,18,200) avecCrayon(1.5,DarkSalmon);
+
+ pointe Point(0,0);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08-1.pdf
new file mode 100644
index 0000000000..182205040d
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08.mp
new file mode 100644
index 0000000000..6a2f749580
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/courbes/cp08.mp
@@ -0,0 +1,38 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1cm;
+
+vardef f(expr t) = 2*sin(t) enddef;
+vardef g(expr t) = 2*cos(t)*cos(t)/(2-cos(t)) enddef;
+vardef h(expr t) = -t*(1+f(t)) enddef;
+
+def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
+
+path bicorne;
+bicorne = Courbe(f,g,-Pi,Pi,200)--cycle;
+
+beginfig(1);
+
+ Repere(9,6,4.5,1,2,2);
+ Axes;
+ Debut;
+ Axes;
+ Graduations; Unites(1);
+
+ colorieAvecTransparence(bicorne,CadetBlue,0.2);
+
+ traceDoubleVecteur((0,2),(0.5,0)) avecCrayon(1,Crimson);
+ traceDoubleVecteur((0,2/3),(0.5,0)) avecCrayon(1,Crimson);
+ fleche Segment((2,0),(1.6,0.4)) avecCrayon(1,Crimson);
+ fleche Segment((-2,0),(-1.6,0.4)) avecCrayon(1,Crimson);
+
+ trace bicorne avecCrayon(1.5,CadetBlue);
+
+ pointe Point(0,0);
+ pointe Point(2,0);
+ pointe Point(-2,0);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.dat b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.dat
new file mode 100644
index 0000000000..82bb5f73b3
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.dat
@@ -0,0 +1,441 @@
+-9.50332 39.03779
+-8.90985 36.92109
+-8.35830 34.94184
+-7.84242 33.07748
+-7.35647 31.30663
+-6.89478 29.60762
+-6.45128 27.95615
+-6.01847 26.32078
+-5.58493 24.65153
+-5.12641 22.83954
+-4.53013 20.37356
+-4.21630 18.99730
+-3.82624 17.15868
+-3.60655 16.02255
+-3.48053 15.31960
+-3.39084 14.78786
+-3.32137 14.35307
+-3.26497 13.98196
+-3.21775 13.65636
+-3.17735 13.36511
+-3.14222 13.10083
+-3.11127 12.85833
+-3.08371 12.63385
+-3.05896 12.42451
+-3.03656 12.22812
+-3.01615 12.04292
+-2.99745 11.86749
+-2.98023 11.70069
+-2.96428 11.54154
+-2.94946 11.38925
+-2.93563 11.24313
+-2.92266 11.10259
+-2.91047 10.96713
+-2.89896 10.83630
+-2.88807 10.70973
+-2.87772 10.58707
+-2.86785 10.46803
+-2.85843 10.35233
+-2.84940 10.23975
+-2.84071 10.13006
+-2.83235 10.02307
+-2.82426 9.91862
+-2.81643 9.81654
+-2.80883 9.71668
+-2.80143 9.61893
+-2.79421 9.52315
+-2.78715 9.42923
+-2.78023 9.33709
+-2.77343 9.24662
+-2.76675 9.15773
+-2.76016 9.07035
+-2.75365 8.98441
+-2.74721 8.89983
+-2.74083 8.81655
+-2.73449 8.73451
+-2.72820 8.65365
+-2.72193 8.57393
+-2.71568 8.49529
+-2.70944 8.41770
+-2.70321 8.34109
+-2.69697 8.26545
+-2.69072 8.19072
+-2.68446 8.11687
+-2.67818 8.04387
+-2.67186 7.97168
+-2.66552 7.90029
+-2.65914 7.82964
+-2.65272 7.75973
+-2.64625 7.69053
+-2.63973 7.62200
+-2.63316 7.55413
+-2.62653 7.48689
+-2.61983 7.42027
+-2.61308 7.35425
+-2.60625 7.28880
+-2.59935 7.22390
+-2.59238 7.15955
+-2.58533 7.09572
+-2.57821 7.03240
+-2.57100 6.96957
+-2.56370 6.90722
+-2.55632 6.84533
+-2.54885 6.78390
+-2.54129 6.72290
+-2.53363 6.66233
+-2.52588 6.60218
+-2.51803 6.54243
+-2.51009 6.48308
+-2.50204 6.42410
+-2.49389 6.36550
+-2.48564 6.30727
+-2.47728 6.24939
+-2.46881 6.19185
+-2.46024 6.13466
+-2.45155 6.07779
+-2.44276 6.02124
+-2.43385 5.96501
+-2.42483 5.90908
+-2.41569 5.85345
+-2.40644 5.79812
+-2.39707 5.74307
+-2.38758 5.68830
+-2.37797 5.63381
+-2.36823 5.57958
+-2.35838 5.52561
+-2.34841 5.47190
+-2.33831 5.41844
+-2.32808 5.36523
+-2.31773 5.31226
+-2.30726 5.25952
+-2.29665 5.20701
+-2.28592 5.15473
+-2.27506 5.10268
+-2.26406 5.05084
+-2.25294 4.99921
+-2.24168 4.94779
+-2.23030 4.89658
+-2.21877 4.84557
+-2.20712 4.79475
+-2.19532 4.74413
+-2.18340 4.69370
+-2.17133 4.64346
+-2.15913 4.59340
+-2.14679 4.54352
+-2.13431 4.49382
+-2.12169 4.44430
+-2.10893 4.39494
+-2.09603 4.34575
+-2.08299 4.29673
+-2.06981 4.24786
+-2.05648 4.19916
+-2.04301 4.15062
+-2.02939 4.10223
+-2.01563 4.05398
+-2.00172 4.00589
+-1.98766 3.95795
+-1.97346 3.91015
+-1.95911 3.86249
+-1.94461 3.81497
+-1.92996 3.76758
+-1.91516 3.72033
+-1.90020 3.67322
+-1.88510 3.62623
+-1.86984 3.57937
+-1.85443 3.53263
+-1.83887 3.48602
+-1.82315 3.43954
+-1.80727 3.39317
+-1.79124 3.34691
+-1.77505 3.30078
+-1.75870 3.25475
+-1.74219 3.20884
+-1.72552 3.16304
+-1.70869 3.11735
+-1.69170 3.07176
+-1.67455 3.02627
+-1.65723 2.98089
+-1.63975 2.93560
+-1.62210 2.89042
+-1.60429 2.84533
+-1.58631 2.80033
+-1.56816 2.75543
+-1.54984 2.71061
+-1.53135 2.66589
+-1.51269 2.62125
+-1.49386 2.57670
+-1.47485 2.53222
+-1.45567 2.48783
+-1.43631 2.44352
+-1.41677 2.39929
+-1.39705 2.35513
+-1.37716 2.31104
+-1.35708 2.26703
+-1.33682 2.22308
+-1.31637 2.17920
+-1.29574 2.13538
+-1.27492 2.09163
+-1.25392 2.04794
+-1.23272 2.00430
+-1.21133 1.96072
+-1.18974 1.91720
+-1.16796 1.87372
+-1.14598 1.83030
+-1.12380 1.78692
+-1.10142 1.74359
+-1.07884 1.70029
+-1.05605 1.65704
+-1.03305 1.61382
+-1.00984 1.57063
+-0.98641 1.52748
+-0.96277 1.48435
+-0.93892 1.44125
+-0.91484 1.39816
+-0.89054 1.35510
+-0.86601 1.31205
+-0.84125 1.26901
+-0.81625 1.22598
+-0.79102 1.18295
+-0.76556 1.13992
+-0.73984 1.09688
+-0.71388 1.05384
+-0.68767 1.01078
+-0.66120 0.96771
+-0.63447 0.92461
+-0.60747 0.88149
+-0.58020 0.83833
+-0.55266 0.79513
+-0.52484 0.75189
+-0.49673 0.70859
+-0.46833 0.66524
+-0.43962 0.62183
+-0.41062 0.57834
+-0.38130 0.53477
+-0.35165 0.49112
+-0.32168 0.44737
+-0.29137 0.40351
+-0.26072 0.35954
+-0.22971 0.31545
+-0.19833 0.27122
+-0.16657 0.22684
+-0.13443 0.18230
+-0.10188 0.13758
+-0.06892 0.09268
+-0.03553 0.04758
+-0.00169 0.00225
+0.03262 -0.04332
+0.06740 -0.08914
+0.10268 -0.13524
+0.13849 -0.18165
+0.17485 -0.22838
+0.21178 -0.27548
+0.24930 -0.32295
+0.28747 -0.37085
+0.32629 -0.41921
+0.36583 -0.46806
+0.40611 -0.51747
+0.44718 -0.56746
+0.48910 -0.61812
+0.53194 -0.66949
+0.57575 -0.72166
+0.62061 -0.77472
+0.66663 -0.82875
+0.71390 -0.88389
+0.76254 -0.94027
+0.81271 -0.99805
+0.86459 -1.05742
+0.91838 -1.11864
+0.97436 -1.18200
+1.03287 -1.24788
+1.09435 -1.31679
+1.15939 -1.38939
+1.22880 -1.46660
+1.30380 -1.54981
+1.38626 -1.64115
+1.47945 -1.74439
+1.59010 -1.86727
+1.73787 -2.03254
+2.00722 -2.34049
+2.21922 -2.59293
+2.36996 -2.78029
+2.47176 -2.91150
+2.55344 -3.01993
+2.62335 -3.11523
+2.68533 -3.20180
+2.74151 -3.28210
+2.79322 -3.35762
+2.84135 -3.42941
+2.88655 -3.49818
+2.92929 -3.56448
+2.96993 -3.62870
+3.00876 -3.69119
+3.04601 -3.75218
+3.08186 -3.81190
+3.11648 -3.87052
+3.14999 -3.92820
+3.18250 -3.98504
+3.21411 -4.04117
+3.24490 -4.09668
+3.27495 -4.15165
+3.30431 -4.20615
+3.33306 -4.26025
+3.36122 -4.31400
+3.38887 -4.36747
+3.41602 -4.42069
+3.44272 -4.47371
+3.46901 -4.52658
+3.49491 -4.57931
+3.52046 -4.63197
+3.54567 -4.68456
+3.57058 -4.73713
+3.59521 -4.78969
+3.61956 -4.84229
+3.64368 -4.89493
+3.66757 -4.94765
+3.69125 -5.00047
+3.71473 -5.05340
+3.73804 -5.10648
+3.76118 -5.15971
+3.78417 -5.21312
+3.80702 -5.26673
+3.82975 -5.32056
+3.85236 -5.37461
+3.87487 -5.42891
+3.89729 -5.48348
+3.91963 -5.53833
+3.94189 -5.59348
+3.96409 -5.64894
+3.98624 -5.70473
+4.00834 -5.76087
+4.03041 -5.81737
+4.05245 -5.87424
+4.07447 -5.93150
+4.09647 -5.98917
+4.11848 -6.04727
+4.14049 -6.10579
+4.16251 -6.16477
+4.18455 -6.22422
+4.20662 -6.28415
+4.22872 -6.34458
+4.25086 -6.40553
+4.27305 -6.46700
+4.29529 -6.52902
+4.31760 -6.59160
+4.33997 -6.65476
+4.36242 -6.71851
+4.38496 -6.78287
+4.40758 -6.84787
+4.43030 -6.91351
+4.45312 -6.97981
+4.47605 -7.04680
+4.49910 -7.11448
+4.52227 -7.18289
+4.54558 -7.25203
+4.56902 -7.32193
+4.59261 -7.39261
+4.61635 -7.46409
+4.64025 -7.53638
+4.66431 -7.60951
+4.68856 -7.68351
+4.71298 -7.75839
+4.73759 -7.83418
+4.76241 -7.91090
+4.78742 -7.98857
+4.81266 -8.06722
+4.83811 -8.14688
+4.86380 -8.22757
+4.88972 -8.30932
+4.91590 -8.39215
+4.94233 -8.47610
+4.96903 -8.56119
+4.99601 -8.64746
+5.02327 -8.73493
+5.05083 -8.82364
+5.07869 -8.91362
+5.10687 -9.00491
+5.13538 -9.09753
+5.16423 -9.19153
+5.19343 -9.28695
+5.22300 -9.38382
+5.25294 -9.48219
+5.28326 -9.58209
+5.31399 -9.68357
+5.34513 -9.78667
+5.37669 -9.89145
+5.40870 -9.99794
+5.44117 -10.10619
+5.47410 -10.21627
+5.50753 -10.32822
+5.54146 -10.44209
+5.57591 -10.55795
+5.61090 -10.67586
+5.64645 -10.79587
+5.68257 -10.91805
+5.71929 -11.04247
+5.75663 -11.16920
+5.79460 -11.29831
+5.83324 -11.42988
+5.87255 -11.56398
+5.91258 -11.70070
+5.95333 -11.84013
+5.99485 -11.98234
+6.03715 -12.12745
+6.08027 -12.27554
+6.12422 -12.42671
+6.16906 -12.58108
+6.21480 -12.73875
+6.26148 -12.89984
+6.30914 -13.06448
+6.35782 -13.23279
+6.40754 -13.40490
+6.45836 -13.58097
+6.51032 -13.76112
+6.56346 -13.94553
+6.61783 -14.13435
+6.67349 -14.32776
+6.73047 -14.52594
+6.78884 -14.72907
+6.84866 -14.93737
+6.90998 -15.15103
+6.97288 -15.37029
+7.03742 -15.59538
+7.10367 -15.82656
+7.17172 -16.06408
+7.24163 -16.30823
+7.31351 -16.55930
+7.38743 -16.81761
+7.46350 -17.08349
+7.54182 -17.35731
+7.62250 -17.63943
+7.70566 -17.93027
+7.79142 -18.23024
+7.87991 -18.53982
+7.97129 -18.85948
+8.06569 -19.18976
+8.16328 -19.53122
+8.26424 -19.88445
+8.36875 -20.25011
+8.47703 -20.62888
+8.58927 -21.02152
+8.70572 -21.42883
+8.82664 -21.85169
+8.95229 -22.29102
+9.08296 -22.74786
+9.21899 -23.22330
+9.36072 -23.71854
+9.50853 -24.23490
+9.66284 -24.77379
+9.82409 -25.33678
+9.99278 -25.92556
+10.16946 -26.54200
+10.35472 -27.18816
+10.54923 -27.86631
+10.75371 -28.57894
+10.96897 -29.32883
+11.19590 -30.11906
+11.43550 -30.95305
+11.68889 -31.83463
+11.95732 -32.76810
+12.24220 -33.75829
+12.54510 -34.81064
+12.86784 -35.93132
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.pdf
new file mode 100644
index 0000000000..6f500479b5
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-2.dat b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-2.dat
new file mode 100644
index 0000000000..a9fb9ed80b
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001-2.dat
@@ -0,0 +1,1208 @@
+6.76428 -0.94750
+6.97936 -0.97051
+7.14459 -0.97893
+7.26220 -0.98025
+7.36013 -0.97848
+7.44648 -0.97481
+7.52497 -0.96978
+7.59767 -0.96371
+7.66587 -0.95678
+7.73043 -0.94915
+7.79199 -0.94089
+7.85100 -0.93209
+7.90781 -0.92280
+7.96270 -0.91306
+8.01589 -0.90292
+8.06755 -0.89241
+8.11785 -0.88154
+8.16690 -0.87034
+8.21481 -0.85884
+8.26168 -0.84704
+8.30759 -0.83496
+8.35260 -0.82261
+8.39677 -0.81001
+8.44016 -0.79716
+8.48281 -0.78407
+8.52478 -0.77076
+8.56609 -0.75723
+8.60678 -0.74348
+8.64688 -0.72952
+8.68642 -0.71537
+8.72543 -0.70101
+8.76393 -0.68647
+8.80194 -0.67173
+8.83948 -0.65682
+8.87657 -0.64173
+8.91323 -0.62646
+8.94946 -0.61102
+8.98529 -0.59542
+9.02073 -0.57965
+9.05580 -0.56372
+9.09049 -0.54763
+9.12483 -0.53138
+9.15883 -0.51498
+9.19249 -0.49844
+9.22582 -0.48174
+9.25883 -0.46490
+9.29154 -0.44791
+9.32394 -0.43078
+9.35604 -0.41352
+9.38785 -0.39611
+9.41938 -0.37857
+9.45064 -0.36090
+9.48162 -0.34309
+9.51233 -0.32515
+9.54278 -0.30709
+9.57298 -0.28889
+9.60292 -0.27058
+9.63262 -0.25213
+9.66207 -0.23357
+9.69128 -0.21488
+9.72026 -0.19607
+9.74900 -0.17715
+9.77752 -0.15811
+9.80581 -0.13895
+9.83387 -0.11967
+9.86172 -0.10029
+9.88935 -0.08079
+9.91676 -0.06118
+9.94397 -0.04146
+9.97096 -0.02163
+9.99775 -0.00169
+10.02433 0.01835
+10.05071 0.03850
+10.07689 0.05876
+10.10287 0.07912
+10.12865 0.09958
+10.15424 0.12014
+10.17964 0.14080
+10.20484 0.16157
+10.22986 0.18243
+10.25469 0.20339
+10.27933 0.22444
+10.30379 0.24560
+10.32806 0.26684
+10.35215 0.28819
+10.37607 0.30962
+10.39980 0.33115
+10.42335 0.35277
+10.44673 0.37448
+10.46993 0.39628
+10.49295 0.41817
+10.51580 0.44014
+10.53848 0.46221
+10.56098 0.48436
+10.58332 0.50660
+10.60548 0.52892
+10.62748 0.55133
+10.64931 0.57382
+10.67097 0.59639
+10.69246 0.61905
+10.71379 0.64178
+10.73495 0.66460
+10.75594 0.68750
+10.77678 0.71047
+10.79745 0.73353
+10.81796 0.75666
+10.83830 0.77987
+10.85849 0.80315
+10.87851 0.82651
+10.89837 0.84995
+10.91808 0.87346
+10.93762 0.89704
+10.95701 0.92069
+10.97624 0.94442
+10.99531 0.96822
+11.01422 0.99209
+11.03298 1.01603
+11.05158 1.04003
+11.07002 1.06411
+11.08831 1.08825
+11.10644 1.11247
+11.12442 1.13674
+11.14225 1.16109
+11.15992 1.18549
+11.17744 1.20997
+11.19480 1.23450
+11.21201 1.25910
+11.22907 1.28377
+11.24598 1.30849
+11.26274 1.33328
+11.27934 1.35812
+11.29579 1.38303
+11.31209 1.40799
+11.32824 1.43302
+11.34424 1.45810
+11.36009 1.48324
+11.37579 1.50843
+11.39134 1.53368
+11.40674 1.55899
+11.42199 1.58435
+11.43709 1.60977
+11.45204 1.63523
+11.46685 1.66076
+11.48150 1.68633
+11.49601 1.71196
+11.51037 1.73763
+11.52458 1.76336
+11.53864 1.78914
+11.55256 1.81496
+11.56633 1.84084
+11.57995 1.86676
+11.59342 1.89273
+11.60675 1.91874
+11.61993 1.94480
+11.63296 1.97091
+11.64585 1.99706
+11.65859 2.02326
+11.67118 2.04950
+11.68363 2.07578
+11.69593 2.10211
+11.70809 2.12847
+11.72010 2.15488
+11.73196 2.18133
+11.74368 2.20781
+11.75526 2.23434
+11.76669 2.26091
+11.77797 2.28751
+11.78911 2.31415
+11.80010 2.34083
+11.81095 2.36754
+11.82166 2.39429
+11.83222 2.42107
+11.84263 2.44789
+11.85290 2.47474
+11.86303 2.50163
+11.87301 2.52855
+11.88285 2.55550
+11.89255 2.58248
+11.90210 2.60949
+11.91151 2.63653
+11.92077 2.66360
+11.92989 2.69070
+11.93887 2.71783
+11.94770 2.74499
+11.95639 2.77217
+11.96494 2.79938
+11.97334 2.82661
+11.98160 2.85387
+11.98972 2.88116
+11.99769 2.90847
+12.00552 2.93580
+12.01321 2.96316
+12.02076 2.99054
+12.02816 3.01794
+12.03542 3.04536
+12.04254 3.07280
+12.04952 3.10026
+12.05635 3.12774
+12.06304 3.15524
+12.06959 3.18276
+12.07600 3.21029
+12.08226 3.23784
+12.08839 3.26541
+12.09437 3.29299
+12.10021 3.32059
+12.10590 3.34821
+12.11146 3.37583
+12.11688 3.40347
+12.12215 3.43113
+12.12728 3.45879
+12.13227 3.48647
+12.13712 3.51416
+12.14183 3.54185
+12.14640 3.56956
+12.15082 3.59728
+12.15511 3.62500
+12.15925 3.65274
+12.16326 3.68048
+12.16712 3.70822
+12.17084 3.73598
+12.17442 3.76374
+12.17786 3.79150
+12.18117 3.81927
+12.18433 3.84704
+12.18735 3.87482
+12.19023 3.90259
+12.19297 3.93037
+12.19557 3.95816
+12.19803 3.98594
+12.20035 4.01372
+12.20253 4.04150
+12.20457 4.06928
+12.20648 4.09706
+12.20824 4.12484
+12.20986 4.15261
+12.21135 4.18038
+12.21269 4.20815
+12.21390 4.23591
+12.21496 4.26367
+12.21589 4.29142
+12.21668 4.31917
+12.21733 4.34691
+12.21785 4.37464
+12.21822 4.40236
+12.21845 4.43007
+12.21855 4.45778
+12.21851 4.48547
+12.21833 4.51316
+12.21801 4.54083
+12.21756 4.56849
+12.21697 4.59614
+12.21624 4.62378
+12.21537 4.65140
+12.21436 4.67901
+12.21322 4.70661
+12.21194 4.73419
+12.21052 4.76175
+12.20897 4.78930
+12.20728 4.81683
+12.20545 4.84434
+12.20349 4.87184
+12.20139 4.89931
+12.19915 4.92677
+12.19677 4.95421
+12.19426 4.98162
+12.19162 5.00902
+12.18884 5.03639
+12.18592 5.06374
+12.18287 5.09107
+12.17968 5.11837
+12.17635 5.14565
+12.17289 5.17291
+12.16930 5.20014
+12.16557 5.22735
+12.16170 5.25452
+12.15771 5.28168
+12.15357 5.30880
+12.14930 5.33590
+12.14490 5.36296
+12.14036 5.39000
+12.13569 5.41701
+12.13089 5.44398
+12.12595 5.47093
+12.12087 5.49784
+12.11567 5.52473
+12.11033 5.55157
+12.10486 5.57839
+12.09925 5.60517
+12.09351 5.63192
+12.08764 5.65863
+12.08164 5.68530
+12.07550 5.71194
+12.06923 5.73855
+12.06283 5.76511
+12.05630 5.79164
+12.04963 5.81812
+12.04283 5.84457
+12.03591 5.87098
+12.02885 5.89735
+12.02166 5.92367
+12.01433 5.94996
+12.00688 5.97620
+11.99930 6.00240
+11.99159 6.02856
+11.98374 6.05467
+11.97577 6.08074
+11.96766 6.10676
+11.95943 6.13273
+11.95107 6.15866
+11.94257 6.18455
+11.93395 6.21038
+11.92520 6.23617
+11.91632 6.26191
+11.90731 6.28760
+11.89817 6.31323
+11.88891 6.33882
+11.87951 6.36436
+11.86999 6.38984
+11.86034 6.41528
+11.85057 6.44066
+11.84066 6.46599
+11.83063 6.49126
+11.82047 6.51648
+11.81019 6.54164
+11.79977 6.56675
+11.78923 6.59180
+11.77857 6.61679
+11.76778 6.64173
+11.75686 6.66660
+11.74582 6.69142
+11.73465 6.71618
+11.72336 6.74088
+11.71194 6.76552
+11.70040 6.79010
+11.68873 6.81462
+11.67694 6.83907
+11.66503 6.86346
+11.65299 6.88779
+11.64083 6.91205
+11.62854 6.93625
+11.61613 6.96038
+11.60360 6.98445
+11.59094 7.00845
+11.57816 7.03239
+11.56526 7.05626
+11.55224 7.08005
+11.53910 7.10378
+11.52583 7.12744
+11.51244 7.15104
+11.49894 7.17456
+11.48531 7.19800
+11.47156 7.22138
+11.45769 7.24469
+11.44370 7.26792
+11.42958 7.29108
+11.41535 7.31416
+11.40100 7.33717
+11.38653 7.36011
+11.37195 7.38296
+11.35724 7.40575
+11.34241 7.42845
+11.32747 7.45108
+11.31241 7.47363
+11.29723 7.49610
+11.28193 7.51849
+11.26651 7.54080
+11.25098 7.56303
+11.23533 7.58518
+11.21957 7.60725
+11.20369 7.62923
+11.18769 7.65113
+11.17157 7.67295
+11.15534 7.69469
+11.13900 7.71633
+11.12254 7.73790
+11.10597 7.75938
+11.08928 7.78077
+11.07247 7.80207
+11.05556 7.82329
+11.03853 7.84441
+11.02138 7.86545
+11.00412 7.88640
+10.98675 7.90726
+10.96927 7.92803
+10.95168 7.94870
+10.93397 7.96929
+10.91615 7.98978
+10.89822 8.01018
+10.88018 8.03048
+10.86202 8.05069
+10.84376 8.07081
+10.82538 8.09082
+10.80690 8.11075
+10.78831 8.13057
+10.76960 8.15030
+10.75079 8.16993
+10.73186 8.18946
+10.71283 8.20889
+10.69369 8.22822
+10.67444 8.24745
+10.65509 8.26658
+10.63562 8.28561
+10.61605 8.30453
+10.59637 8.32335
+10.57659 8.34207
+10.55670 8.36068
+10.53670 8.37919
+10.51659 8.39759
+10.49638 8.41589
+10.47607 8.43408
+10.45565 8.45216
+10.43512 8.47013
+10.41449 8.48799
+10.39376 8.50575
+10.37292 8.52339
+10.35198 8.54092
+10.33093 8.55834
+10.30979 8.57565
+10.28853 8.59285
+10.26718 8.60993
+10.24572 8.62689
+10.22417 8.64375
+10.20251 8.66048
+10.18074 8.67710
+10.15888 8.69361
+10.13692 8.70999
+10.11485 8.72626
+10.09269 8.74241
+10.07043 8.75844
+10.04806 8.77435
+10.02560 8.79013
+10.00304 8.80580
+9.98038 8.82134
+9.95762 8.83676
+9.93476 8.85206
+9.91180 8.86723
+9.88875 8.88227
+9.86560 8.89719
+9.84235 8.91199
+9.81900 8.92665
+9.79556 8.94119
+9.77202 8.95560
+9.74839 8.96988
+9.72466 8.98402
+9.70083 8.99804
+9.67691 9.01192
+9.65290 9.02568
+9.62879 9.03929
+9.60458 9.05278
+9.58028 9.06613
+9.55589 9.07934
+9.53141 9.09241
+9.50683 9.10535
+9.48215 9.11815
+9.45739 9.13081
+9.43253 9.14333
+9.40758 9.15571
+9.38254 9.16795
+9.35741 9.18005
+9.33218 9.19200
+9.30686 9.20381
+9.28146 9.21547
+9.25596 9.22699
+9.23037 9.23836
+9.20469 9.24959
+9.17892 9.26066
+9.15306 9.27159
+9.12712 9.28236
+9.10108 9.29299
+9.07495 9.30346
+9.04874 9.31378
+9.02243 9.32394
+8.99604 9.33395
+8.96956 9.34380
+8.94299 9.35350
+8.91633 9.36304
+8.88959 9.37242
+8.86276 9.38164
+8.83584 9.39069
+8.80883 9.39959
+8.78174 9.40832
+8.75456 9.41689
+8.72729 9.42529
+8.69994 9.43353
+8.67250 9.44160
+8.64498 9.44950
+8.61737 9.45723
+8.58967 9.46478
+8.56189 9.47217
+8.53402 9.47938
+8.50607 9.48642
+8.47803 9.49328
+8.44991 9.49997
+8.42170 9.50647
+8.39341 9.51280
+8.36503 9.51894
+8.33657 9.52490
+8.30802 9.53068
+8.27939 9.53627
+8.25067 9.54168
+8.22187 9.54690
+8.19298 9.55192
+8.16401 9.55676
+8.13496 9.56140
+8.10582 9.56585
+8.07659 9.57010
+8.04728 9.57416
+8.01789 9.57801
+7.98841 9.58167
+7.95884 9.58512
+7.92920 9.58836
+7.89946 9.59140
+7.86964 9.59423
+7.83974 9.59686
+7.80975 9.59926
+7.77967 9.60146
+7.74951 9.60344
+7.71926 9.60520
+7.68892 9.60674
+7.65850 9.60805
+7.62799 9.60914
+7.59740 9.61001
+7.56671 9.61064
+7.53594 9.61104
+7.50508 9.61121
+7.47413 9.61114
+7.44309 9.61083
+7.41196 9.61027
+7.38074 9.60947
+7.34943 9.60843
+7.31802 9.60713
+7.28653 9.60557
+7.25494 9.60376
+7.22326 9.60169
+7.19148 9.59935
+7.15960 9.59674
+7.12763 9.59386
+7.09557 9.59071
+7.06340 9.58728
+7.03113 9.58356
+6.99877 9.57955
+6.96630 9.57526
+6.93373 9.57066
+6.90105 9.56577
+6.86827 9.56057
+6.83538 9.55506
+6.80238 9.54923
+6.76926 9.54308
+6.73604 9.53660
+6.70270 9.52979
+6.66924 9.52264
+6.63567 9.51514
+6.60197 9.50729
+6.56815 9.49908
+6.53420 9.49050
+6.50012 9.48155
+6.46591 9.47221
+6.43156 9.46248
+6.39708 9.45235
+6.36244 9.44181
+6.32767 9.43084
+6.29274 9.41944
+6.25765 9.40761
+6.22240 9.39531
+6.18699 9.38255
+6.15141 9.36931
+6.11565 9.35557
+6.07970 9.34132
+6.04356 9.32654
+6.00722 9.31122
+5.97068 9.29533
+5.93392 9.27886
+5.89694 9.26179
+5.85972 9.24408
+5.82225 9.22573
+5.78452 9.20669
+5.74652 9.18694
+5.70822 9.16645
+5.66963 9.14518
+5.63071 9.12309
+5.59144 9.10015
+5.55181 9.07629
+5.51178 9.05147
+5.47133 9.02564
+5.43043 8.99871
+5.38904 8.97063
+5.34711 8.94130
+5.30460 8.91063
+5.26145 8.87850
+5.21760 8.84478
+5.17296 8.80932
+5.12744 8.77194
+5.08093 8.73241
+5.03329 8.69047
+4.98434 8.64578
+4.93386 8.59790
+4.88154 8.54628
+4.82698 8.49015
+4.76961 8.42843
+4.70857 8.35952
+4.64243 8.28078
+4.56857 8.18739
+4.48095 8.06825
+4.35469 7.87798
+4.24481 7.69069
+4.12202 7.45061
+4.04236 7.27224
+3.99228 7.14844
+3.95432 7.04733
+3.92342 6.95961
+3.89728 6.88103
+3.87460 6.80919
+3.85459 6.74262
+3.83671 6.68030
+3.82057 6.62151
+3.80591 6.56571
+3.79249 6.51251
+3.78015 6.46157
+3.76875 6.41263
+3.75819 6.36548
+3.74837 6.31994
+3.73922 6.27587
+3.73067 6.23313
+3.72266 6.19162
+3.71515 6.15124
+3.70810 6.11191
+3.70147 6.07355
+3.69522 6.03610
+3.68933 5.99951
+3.68378 5.96371
+3.67854 5.92867
+3.67358 5.89433
+3.66890 5.86067
+3.66447 5.82765
+3.66027 5.79523
+3.65631 5.76339
+3.65255 5.73209
+3.64900 5.70132
+3.64563 5.67105
+3.64245 5.64126
+3.63943 5.61193
+3.63658 5.58304
+3.63388 5.55458
+3.63133 5.52652
+3.62892 5.49885
+3.62664 5.47157
+3.62449 5.44464
+3.62246 5.41807
+3.62055 5.39184
+3.61875 5.36594
+3.61705 5.34036
+3.61546 5.31508
+3.61397 5.29011
+3.61257 5.26542
+3.61127 5.24101
+3.61005 5.21688
+3.60891 5.19302
+3.60786 5.16941
+3.60688 5.14605
+3.60598 5.12293
+3.60516 5.10006
+3.60440 5.07741
+3.60371 5.05499
+3.60309 5.03279
+3.60253 5.01081
+3.60203 4.98903
+3.60159 4.96746
+3.60121 4.94609
+3.60088 4.92491
+3.60061 4.90392
+3.60039 4.88312
+3.60022 4.86250
+3.60010 4.84206
+3.60003 4.82179
+3.60000 4.80169
+3.60002 4.78176
+3.60008 4.76199
+3.60019 4.74238
+3.60033 4.72293
+3.60052 4.70363
+3.60074 4.68449
+3.60100 4.66549
+3.60130 4.64663
+3.60164 4.62792
+3.60201 4.60934
+3.60241 4.59091
+3.60285 4.57260
+3.60332 4.55443
+3.60382 4.53639
+3.60435 4.51848
+3.60492 4.50069
+3.60551 4.48302
+3.60613 4.46547
+3.60677 4.44805
+3.60745 4.43074
+3.60815 4.41354
+3.60888 4.39646
+3.60963 4.37948
+3.61041 4.36262
+3.61121 4.34586
+3.61203 4.32921
+3.61288 4.31266
+3.61375 4.29622
+3.61464 4.27987
+3.61556 4.26363
+3.61649 4.24748
+3.61745 4.23143
+3.61843 4.21547
+3.61942 4.19961
+3.62044 4.18384
+3.62147 4.16816
+3.62253 4.15256
+3.62360 4.13706
+3.62469 4.12164
+3.62579 4.10631
+3.62692 4.09106
+3.62806 4.07590
+3.62922 4.06082
+3.63039 4.04582
+3.63158 4.03089
+3.63278 4.01605
+3.63400 4.00129
+3.63524 3.98660
+3.63649 3.97198
+3.63775 3.95744
+3.63903 3.94298
+3.64033 3.92858
+3.64163 3.91426
+3.64295 3.90001
+3.64429 3.88583
+3.64563 3.87172
+3.64699 3.85767
+3.64836 3.84370
+3.64975 3.82979
+3.65115 3.81594
+3.65255 3.80216
+3.65397 3.78844
+3.65541 3.77479
+3.65685 3.76120
+3.65830 3.74767
+3.65977 3.73420
+3.66125 3.72079
+3.66273 3.70744
+3.66423 3.69415
+3.66574 3.68092
+3.66726 3.66774
+3.66879 3.65463
+3.67033 3.64156
+3.67188 3.62856
+3.67343 3.61560
+3.67500 3.60270
+3.67658 3.58986
+3.67817 3.57707
+3.67976 3.56433
+3.68137 3.55164
+3.68298 3.53900
+3.68461 3.52641
+3.68624 3.51388
+3.68788 3.50139
+3.68953 3.48895
+3.69118 3.47656
+3.69285 3.46422
+3.69452 3.45192
+3.69620 3.43967
+3.69789 3.42747
+3.69959 3.41532
+3.70130 3.40320
+3.70301 3.39114
+3.70473 3.37912
+3.70646 3.36714
+3.70820 3.35520
+3.70994 3.34331
+3.71169 3.33146
+3.71345 3.31965
+3.71522 3.30789
+3.71699 3.29616
+3.71877 3.28448
+3.72056 3.27283
+3.72235 3.26123
+3.72415 3.24966
+3.72596 3.23814
+3.72778 3.22665
+3.72960 3.21520
+3.73142 3.20379
+3.73326 3.19242
+3.73510 3.18108
+3.73695 3.16978
+3.73880 3.15852
+3.74066 3.14729
+3.74253 3.13610
+3.74440 3.12494
+3.74628 3.11382
+3.74817 3.10274
+3.75006 3.09168
+3.75196 3.08067
+3.75386 3.06968
+3.75577 3.05873
+3.75769 3.04781
+3.75961 3.03692
+3.76154 3.02607
+3.76347 3.01525
+3.76541 3.00446
+3.76736 2.99370
+3.76931 2.98297
+3.77127 2.97227
+3.77323 2.96160
+3.77520 2.95097
+3.77718 2.94036
+3.77916 2.92978
+3.78115 2.91923
+3.78314 2.90871
+3.78514 2.89822
+3.78714 2.88776
+3.78915 2.87733
+3.79116 2.86692
+3.79318 2.85654
+3.79521 2.84619
+3.79724 2.83586
+3.79928 2.82557
+3.80132 2.81529
+3.80337 2.80505
+3.80542 2.79483
+3.80748 2.78464
+3.80954 2.77447
+3.81161 2.76433
+3.81369 2.75421
+3.81577 2.74412
+3.81786 2.73405
+3.81995 2.72401
+3.82204 2.71399
+3.82415 2.70399
+3.82625 2.69402
+3.82837 2.68407
+3.83049 2.67414
+3.83261 2.66424
+3.83474 2.65436
+3.83687 2.64451
+3.83901 2.63467
+3.84116 2.62486
+3.84331 2.61507
+3.84547 2.60530
+3.84763 2.59555
+3.84979 2.58582
+3.85197 2.57612
+3.85414 2.56643
+3.85633 2.55677
+3.85852 2.54713
+3.86071 2.53750
+3.86291 2.52790
+3.86511 2.51832
+3.86732 2.50875
+3.86954 2.49921
+3.87176 2.48968
+3.87399 2.48018
+3.87622 2.47069
+3.87846 2.46122
+3.88070 2.45177
+3.88295 2.44234
+3.88520 2.43293
+3.88746 2.42353
+3.88973 2.41415
+3.89200 2.40479
+3.89427 2.39545
+3.89656 2.38613
+3.89884 2.37682
+3.90114 2.36753
+3.90343 2.35825
+3.90574 2.34900
+3.90805 2.33975
+3.91036 2.33053
+3.91268 2.32132
+3.91501 2.31213
+3.91734 2.30295
+3.91968 2.29379
+3.92203 2.28464
+3.92438 2.27551
+3.92673 2.26640
+3.92909 2.25729
+3.93146 2.24821
+3.93383 2.23914
+3.93621 2.23008
+3.93860 2.22104
+3.94099 2.21201
+3.94339 2.20299
+3.94579 2.19399
+3.94820 2.18501
+3.95061 2.17603
+3.95303 2.16707
+3.95546 2.15813
+3.95790 2.14919
+3.96033 2.14027
+3.96278 2.13137
+3.96523 2.12247
+3.96769 2.11359
+3.97016 2.10472
+3.97263 2.09586
+3.97510 2.08702
+3.97759 2.07818
+3.98008 2.06936
+3.98257 2.06055
+3.98508 2.05175
+3.98759 2.04297
+3.99010 2.03419
+3.99263 2.02543
+3.99515 2.01667
+3.99769 2.00793
+4.00023 1.99920
+4.00278 1.99048
+4.00534 1.98177
+4.00790 1.97307
+4.01047 1.96438
+4.01305 1.95570
+4.01563 1.94703
+4.01822 1.93837
+4.02082 1.92972
+4.02343 1.92108
+4.02604 1.91245
+4.02866 1.90382
+4.03128 1.89521
+4.03392 1.88661
+4.03656 1.87801
+4.03921 1.86943
+4.04186 1.86085
+4.04453 1.85228
+4.04720 1.84372
+4.04987 1.83517
+4.05256 1.82663
+4.05525 1.81809
+4.05795 1.80956
+4.06066 1.80104
+4.06338 1.79253
+4.06610 1.78403
+4.06884 1.77553
+4.07158 1.76704
+4.07433 1.75856
+4.07708 1.75008
+4.07985 1.74162
+4.08262 1.73315
+4.08540 1.72470
+4.08819 1.71625
+4.09099 1.70781
+4.09379 1.69938
+4.09661 1.69095
+4.09943 1.68252
+4.10226 1.67411
+4.10511 1.66570
+4.10795 1.65729
+4.11081 1.64889
+4.11368 1.64050
+4.11656 1.63211
+4.11944 1.62373
+4.12233 1.61535
+4.12524 1.60698
+4.12815 1.59861
+4.13107 1.59025
+4.13400 1.58189
+4.13694 1.57354
+4.13989 1.56519
+4.14285 1.55685
+4.14582 1.54851
+4.14880 1.54017
+4.15179 1.53184
+4.15479 1.52351
+4.15780 1.51519
+4.16082 1.50687
+4.16385 1.49856
+4.16689 1.49024
+4.16994 1.48193
+4.17300 1.47363
+4.17607 1.46533
+4.17915 1.45703
+4.18224 1.44873
+4.18534 1.44043
+4.18846 1.43214
+4.19158 1.42386
+4.19472 1.41557
+4.19786 1.40729
+4.20102 1.39900
+4.20419 1.39072
+4.20737 1.38245
+4.21056 1.37417
+4.21377 1.36590
+4.21698 1.35763
+4.22021 1.34936
+4.22345 1.34109
+4.22670 1.33282
+4.22997 1.32455
+4.23324 1.31629
+4.23653 1.30803
+4.23983 1.29976
+4.24314 1.29150
+4.24647 1.28324
+4.24981 1.27498
+4.25316 1.26672
+4.25653 1.25846
+4.25991 1.25020
+4.26330 1.24194
+4.26670 1.23368
+4.27012 1.22542
+4.27355 1.21715
+4.27700 1.20889
+4.28046 1.20063
+4.28393 1.19237
+4.28742 1.18411
+4.29093 1.17584
+4.29444 1.16758
+4.29798 1.15931
+4.30152 1.15104
+4.30509 1.14278
+4.30866 1.13451
+4.31225 1.12623
+4.31586 1.11796
+4.31949 1.10969
+4.32313 1.10141
+4.32678 1.09313
+4.33045 1.08485
+4.33414 1.07656
+4.33784 1.06828
+4.34156 1.05999
+4.34530 1.05170
+4.34905 1.04340
+4.35282 1.03510
+4.35661 1.02680
+4.36042 1.01850
+4.36424 1.01019
+4.36808 1.00188
+4.37194 0.99357
+4.37582 0.98525
+4.37972 0.97693
+4.38363 0.96860
+4.38756 0.96027
+4.39151 0.95193
+4.39549 0.94360
+4.39948 0.93525
+4.40349 0.92690
+4.40752 0.91855
+4.41157 0.91019
+4.41564 0.90183
+4.41973 0.89346
+4.42384 0.88508
+4.42798 0.87670
+4.43213 0.86832
+4.43631 0.85993
+4.44050 0.85153
+4.44472 0.84313
+4.44896 0.83472
+4.45323 0.82630
+4.45752 0.81788
+4.46183 0.80945
+4.46616 0.80101
+4.47052 0.79257
+4.47490 0.78412
+4.47930 0.77566
+4.48373 0.76719
+4.48819 0.75872
+4.49267 0.75024
+4.49717 0.74175
+4.50171 0.73325
+4.50626 0.72474
+4.51085 0.71623
+4.51546 0.70770
+4.52009 0.69917
+4.52476 0.69063
+4.52945 0.68208
+4.53417 0.67352
+4.53892 0.66495
+4.54370 0.65637
+4.54851 0.64778
+4.55334 0.63918
+4.55821 0.63057
+4.56311 0.62195
+4.56804 0.61332
+4.57300 0.60467
+4.57799 0.59602
+4.58302 0.58735
+4.58807 0.57868
+4.59316 0.56999
+4.59828 0.56129
+4.60344 0.55258
+4.60863 0.54385
+4.61386 0.53512
+4.61912 0.52637
+4.62442 0.51760
+4.62976 0.50883
+4.63513 0.50004
+4.64054 0.49123
+4.64599 0.48242
+4.65148 0.47358
+4.65700 0.46474
+4.66257 0.45588
+4.66818 0.44700
+4.67383 0.43811
+4.67952 0.42921
+4.68525 0.42028
+4.69103 0.41135
+4.69685 0.40239
+4.70271 0.39342
+4.70862 0.38444
+4.71458 0.37543
+4.72058 0.36641
+4.72664 0.35737
+4.73274 0.34831
+4.73889 0.33924
+4.74509 0.33014
+4.75134 0.32103
+4.75764 0.31190
+4.76399 0.30275
+4.77040 0.29358
+4.77687 0.28439
+4.78339 0.27518
+4.78996 0.26594
+4.79660 0.25669
+4.80329 0.24742
+4.81005 0.23812
+4.81686 0.22880
+4.82374 0.21946
+4.83068 0.21009
+4.83768 0.20071
+4.84475 0.19129
+4.85189 0.18186
+4.85910 0.17240
+4.86637 0.16291
+4.87372 0.15340
+4.88114 0.14386
+4.88863 0.13430
+4.89621 0.12470
+4.90385 0.11509
+4.91158 0.10544
+4.91939 0.09576
+4.92728 0.08606
+4.93526 0.07633
+4.94332 0.06656
+4.95147 0.05677
+4.95971 0.04694
+4.96804 0.03708
+4.97647 0.02719
+4.98500 0.01727
+4.99362 0.00731
+5.00235 -0.00268
+5.01118 -0.01271
+5.02012 -0.02277
+5.02916 -0.03287
+5.03832 -0.04301
+5.04760 -0.05318
+5.05699 -0.06340
+5.06650 -0.07365
+5.07614 -0.08395
+5.08591 -0.09428
+5.09581 -0.10466
+5.10584 -0.11508
+5.11602 -0.12555
+5.12634 -0.13606
+5.13680 -0.14662
+5.14742 -0.15723
+5.15820 -0.16789
+5.16914 -0.17859
+5.18024 -0.18935
+5.19152 -0.20016
+5.20298 -0.21102
+5.21462 -0.22194
+5.22645 -0.23292
+5.23848 -0.24395
+5.25071 -0.25505
+5.26316 -0.26620
+5.27582 -0.27742
+5.28872 -0.28871
+5.30185 -0.30006
+5.31523 -0.31149
+5.32886 -0.32298
+5.34276 -0.33455
+5.35694 -0.34620
+5.37141 -0.35792
+5.38619 -0.36973
+5.40128 -0.38162
+5.41670 -0.39360
+5.43248 -0.40567
+5.44862 -0.41783
+5.46514 -0.43009
+5.48207 -0.44246
+5.49943 -0.45493
+5.51724 -0.46752
+5.53553 -0.48022
+5.55433 -0.49305
+5.57367 -0.50600
+5.59359 -0.51909
+5.61412 -0.53232
+5.63530 -0.54570
+5.65720 -0.55925
+5.67986 -0.57296
+5.70334 -0.58685
+5.72773 -0.60094
+5.75309 -0.61524
+5.77952 -0.62976
+5.80714 -0.64452
+5.83607 -0.65955
+5.86648 -0.67488
+5.89854 -0.69052
+5.93249 -0.70652
+5.96862 -0.72294
+6.00730 -0.73982
+6.04901 -0.75724
+6.09440 -0.77530
+6.14442 -0.79416
+6.20046 -0.81401
+6.26480 -0.83521
+6.34164 -0.85836
+6.44070 -0.88489
+6.60174 -0.92047
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001.mp
new file mode 100644
index 0000000000..5bb0ab195c
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/cubiques/K001.mp
@@ -0,0 +1,71 @@
+input geom2d;
+gddU := 0.5cm;
+labeloffset := 8pt;
+gddTailleLabel := 1;
+
+beginfig(1);
+ A := Point(3.6,4.8);
+ B := Point(0,0);
+ C := Point(10,0);
+ T := Triangle(A,B,C);
+ X_74 := Point(3.6,-4.8);
+
+ C1 := CourbeDat("K001-1",0);
+ C2 := CourbeDat("K001-2",1);
+
+ CE1 := CercleExinscrit(T,1);
+ CE2 := CercleExinscrit(T,2);
+ CE3 := CercleExinscrit(T,3);
+ I_1 := Centre(CE1);
+ I_2 := Centre(CE2);
+ I_3 := Centre(CE3);
+ CC := CercleCirconscrit(T);
+ O := Centre(CC);
+
+ drawoptions(withcolor LightBlue);
+ trace Droite(A,B);
+ trace Droite(B,C);
+ trace Droite(C,A);
+ trace Droite(I_1,I_2);
+ trace Droite(I_2,I_3);
+ trace Droite(I_3,I_1);
+ trace CE1;
+ trace CE2;
+ trace CE3;
+ trace CC;
+ colorie T withcolor LightGrey;
+ drawoptions(withpen pencircle scaled 1.5);
+ trace T;
+ drawoptions(withcolor DodgerBlue withpen pencircle scaled 1.5);
+ trace Droite(O,A);
+ trace Droite(X_74, Point(2.2,0));
+ drawoptions(withpen pencircle scaled 2);
+ trace C1 withcolor FireBrick;
+ trace C2 withcolor FireBrick;
+ drawoptions(withcolor Olive);
+ trace Droite(A,X_74);
+ trace Droite(B,X_74);
+ trace Droite(C,X_74);
+ drawoptions();
+ pointe A;
+ pointe B;
+ pointe C;
+ pointe I_1;
+ pointe I_2;
+ pointe I_3;
+ pointe O;
+ pointe X_74;
+
+ marque.urt "A";
+ marque.llft "B";
+ marque.lrt "C";
+ marque.rt "I_1";
+ marque.rt "I_2";
+ marque.lft "I_3";
+ marque.bot "O";
+ marque.llft "X_74";
+
+ Fenetre(-4,-13,16,15);
+endfig;
+
+end \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach-1.pdf
new file mode 100644
index 0000000000..afeb4adb35
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach.mp
new file mode 100644
index 0000000000..12bdb994c3
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/brach.mp
@@ -0,0 +1,54 @@
+input geom2d;
+
+color darkred,darkblue;
+darkred=(.6,0,0);
+darkblue=(0,0,.6);
+
+labeloffset := 6;
+gddTaillePoint := 3;
+gddCouleurPoint := (1,1,1);
+
+
+% la cycloide
+vardef f(expr t)=
+ t-sin(t)
+enddef;
+vardef g(expr t)=
+ cos(t)-1
+enddef;
+
+
+beginfig(1);
+ Repere(6,4,1,3,1,1);
+ Axes;
+ Debut;
+ Axes;
+ Graduations; Unites(2);
+
+ A = Point(0,0);
+ B = Point(f(3),g(3));
+ C = Point(2.4,-1);
+ M = Point(f(2.4),g(2.4));
+ N = Point(2.4,0);
+ C1 = Cercle(C,1);
+ trace Arc(C,.3,Pi/2,Pi/2+2.4);
+ trace Droite((2.4,0),C) dashed evenly;
+ trace Courbe(f,g,0,3,500) withcolor darkred withpen pencircle scaled 1pt;
+ trace Courbe(f,g,3,4.5,100) dashed evenly;
+ trace Courbe(f,g,-2,0,100) dashed evenly;
+ trace C1;
+ trace Segment(C,M);
+ trace Arc(C,1,Pi/2,Pi/2+2.4) withcolor darkblue withpen pencircle scaled .7pt;
+ trace Segment(A,N) withcolor darkblue withpen pencircle scaled .7pt;
+
+ marque.rt "C";
+ marque.llft "M";
+ pointe(N);
+ label.urt(textext("$N$"),PtR(N));
+ label.ulft(textext("$\theta$"),PtR(C)+.2*gddU*(cos(Pi/2+1.2),sin(Pi/2+1.2)));
+ gddCouleurPoint := Yellow;
+ marque.urt "A";
+ marque.llft "B";
+ Fin;
+endfig;
+end \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers-1.pdf
new file mode 100644
index 0000000000..2605afcf7d
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers.mp
new file mode 100644
index 0000000000..ec691d5e5e
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/divers.mp
@@ -0,0 +1,14 @@
+input geom2d;
+
+beginfig(1);
+
+A = Point(2,2);
+B = Rotation(A,Pi/2);
+pointe origine;
+pointe A;
+pointe B;
+C = RotationCentre(B,A,Pi/2);
+pointe C;
+
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const-1.pdf
new file mode 100644
index 0000000000..141ce02802
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const.mp
new file mode 100644
index 0000000000..5b743ff695
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/epicycloide-const.mp
@@ -0,0 +1,66 @@
+input geom2d;
+input geom2d-rep;
+input geom2d-lbl;
+input geom2d-tra;
+input geom2d-fct;
+input geom2d-plt;
+input geom2d-arc;
+input svgnames;
+
+lblPreambule := "\usepackage[frenchb]{babel}" &
+ "\usepackage[garamond]{mathdesign}" &
+ "\usepackage{amsmath}";
+
+labeloffset := 4;
+gddU:=1.3cm;
+
+def avecCrayon(expr t,c) = withpen pencircle scaled t withcolor c enddef;
+
+beginfig(1);
+
+ Repere(10,10,5,4,3,3);
+ Axes;
+ Debut;
+ Graduations;
+ Axes;
+ ColorieAvecTransparence(Cercle(origine,1),LightSlateGrey,0.5);
+ trace Cercle(origine,1) avecCrayon(1.5,LightSlateGrey);
+
+ trace Cercle(4/3(cosd(130),sind(130)),1/3);
+
+ drawoptions(withcolor LightSlateGrey);
+ trace Cercle((0,4/3),1/3);
+
+ centre = Point(4/3cosd(130),4/3sind(130));
+ mobile = Point(4/3cosd(130)+1/3cosd(70),4/3sind(130)+1/3sind(70));
+
+ trace (0,0)--Pt(centre)--Pt(mobile) dashed evenly;
+
+ trace Arc(centre,1/3,-5Pi/18,7Pi/18) avecCrayon(1,DodgerBlue);
+ trace Arc(origine,1,Pi/2,13Pi/18) avecCrayon(1,DodgerBlue);
+ fleche Arc(centre,1/6,-5Pi/18,7Pi/18);
+ fleche Arc(origine,1/3,Pi/2,13Pi/18);
+
+ pointe Point(0,4/3);
+ pointe centre;
+ pointe Point(0,0);
+ pointe Point(cosd(130),sind(130));
+
+ gddCouleurPoint := Crimson;
+
+ pointe Point(0,1);
+ pointe mobile;
+
+ drawoptions(withcolor black);
+
+ label.lrt(TEX("\(O\)"),PtR(origine));
+ label.ulft(TEX("\(\Omega(\theta)\)"),PtR(centre));
+ label.urt(TEX("\(M(\theta)\)"),PtR(mobile));
+ label.top(TEX("\(\theta\)"),(1/3cos(11Pi/18),1/3sin(11Pi/18)) gddEnPlace);
+ label.rt(TEX("\(3\theta\)"),PtR(Addition(centre,(1/6,0))));
+ label.bot(TEX("\(N(\theta)\)"),(cos(13Pi/18),sin(13Pi/18)) gddEnPlace);
+ Fin;
+
+endfig;
+
+end \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline-1.pdf
new file mode 100644
index 0000000000..f08d33ee17
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline.mp
new file mode 100644
index 0000000000..f7471da779
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/pascalline.mp
@@ -0,0 +1,28 @@
+input geom2d;
+
+beginfig(1);
+C = Cercle(origine,3);
+for i:=1 upto 6:
+ rd := uniformdeviate(1.0/6)+(i-1)/6;
+ P[i] := PointDe(C,rd);
+endfor;
+D1 = Droite(P1,P3); S1 = Segment(P1,P3);
+D2 = Droite(P3,P5); S2 = Segment(P3,P5);
+D3 = Droite(P6,P2); S3 = Segment(P6,P2);
+D4 = Droite(P4,P6); S4 = Segment(P4,P6);
+D5 = Droite(P5,P2); S5 = Segment(P5,P2);
+D6 = Droite(P1,P4); S6 = Segment(P1,P4);
+I1 = IntersectionDroites(D1,D3);
+I2 = IntersectionDroites(D2,D4);
+I3 = IntersectionDroites(D5,D6);
+PL = Segment(I1,I2);
+trace C;
+drawoptions(withcolor (0.7,0.1,0.1));
+trace S1; trace S2; trace S3; trace S4; trace S5; trace S6;
+drawoptions(withcolor (0.1,0.7,0.1));
+trace PL;
+drawoptions();
+pointe(P1); pointe P2; pointe P3; pointe P4; pointe P5; pointe P6;
+pointe I1; pointe I2; pointe I3;
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point-0.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point-0.pdf
new file mode 100644
index 0000000000..9256dd2d2d
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point-0.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.0 b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.0
new file mode 100644
index 0000000000..a620b964b9
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.0
@@ -0,0 +1,446 @@
+%!PS
+%%BoundingBox: 26 15 144 99
+%%HiResBoundingBox: 26.3517 15.35753 143.727 98.02957
+%%Creator: MetaPost 2.10
+%%CreationDate: 2024.05.27:1529
+%%Pages: 1
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath 141.73225 28.34602 moveto
+145.4914 35.8643 143.12198 46.06082 135.14781 56.69247 curveto
+127.17451 67.32455 114.24915 77.52065 99.21259 85.03893 curveto
+84.17601 92.5572 68.26358 96.78001 54.97446 96.77959 curveto
+41.68446 96.78044 32.10559 92.55806 28.34645 85.03978 curveto
+24.58731 77.5215 26.95673 67.32498 34.9309 56.69333 curveto
+42.90419 46.06125 55.82956 35.86516 70.86613 28.34688 curveto
+85.9027 20.8286 101.81512 16.60579 115.10425 16.60622 curveto
+128.39424 16.60536 137.97311 20.82774 141.73225 28.34602 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 143.23225 28.34602 moveto
+143.23225 28.74387 143.07419 29.12537 142.7929 29.40666 curveto
+142.5116 29.68796 142.1301 29.84602 141.73225 29.84602 curveto
+141.33441 29.84602 140.95291 29.68796 140.67162 29.40666 curveto
+140.39032 29.12537 140.23225 28.74387 140.23225 28.34602 curveto
+140.23225 27.94818 140.39032 27.56668 140.67162 27.28539 curveto
+140.95291 27.00409 141.33441 26.84602 141.73225 26.84602 curveto
+142.1301 26.84602 142.5116 27.00409 142.7929 27.28539 curveto
+143.07419 27.56668 143.23225 27.94818 143.23225 28.34602 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 143.23225 28.34602 moveto
+143.23225 28.74387 143.07419 29.12537 142.7929 29.40666 curveto
+142.5116 29.68796 142.1301 29.84602 141.73225 29.84602 curveto
+141.33441 29.84602 140.95291 29.68796 140.67162 29.40666 curveto
+140.39032 29.12537 140.23225 28.74387 140.23225 28.34602 curveto
+140.23225 27.94818 140.39032 27.56668 140.67162 27.28539 curveto
+140.95291 27.00409 141.33441 26.84602 141.73225 26.84602 curveto
+142.1301 26.84602 142.5116 27.00409 142.7929 27.28539 curveto
+143.07419 27.56668 143.23225 27.94818 143.23225 28.34602 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 140.75471 50.38484 moveto
+140.75471 50.78268 140.59665 51.16418 140.31535 51.44548 curveto
+140.03406 51.72678 139.65256 51.88484 139.25471 51.88484 curveto
+138.85687 51.88484 138.47537 51.72678 138.19408 51.44548 curveto
+137.91278 51.16418 137.75471 50.78268 137.75471 50.38484 curveto
+137.75471 49.987 137.91278 49.6055 138.19408 49.3242 curveto
+138.47537 49.04291 138.85687 48.88484 139.25471 48.88484 curveto
+139.65256 48.88484 140.03406 49.04291 140.31535 49.3242 curveto
+140.59665 49.6055 140.75471 49.987 140.75471 50.38484 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 140.75471 50.38484 moveto
+140.75471 50.78268 140.59665 51.16418 140.31535 51.44548 curveto
+140.03406 51.72678 139.65256 51.88484 139.25471 51.88484 curveto
+138.85687 51.88484 138.47537 51.72678 138.19408 51.44548 curveto
+137.91278 51.16418 137.75471 50.78268 137.75471 50.38484 curveto
+137.75471 49.987 137.91278 49.6055 138.19408 49.3242 curveto
+138.47537 49.04291 138.85687 48.88484 139.25471 48.88484 curveto
+139.65256 48.88484 140.03406 49.04291 140.31535 49.3242 curveto
+140.59665 49.6055 140.75471 49.987 140.75471 50.38484 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 117.55756 74.87787 moveto
+117.55756 75.27571 117.39949 75.65721 117.1182 75.9385 curveto
+116.8369 76.2198 116.4554 76.37787 116.05756 76.37787 curveto
+115.65971 76.37787 115.27821 76.2198 114.99692 75.9385 curveto
+114.71562 75.65721 114.55756 75.27571 114.55756 74.87787 curveto
+114.55756 74.48003 114.71562 74.09853 114.99692 73.81723 curveto
+115.27821 73.53593 115.65971 73.37787 116.05756 73.37787 curveto
+116.4554 73.37787 116.8369 73.53593 117.1182 73.81723 curveto
+117.39949 74.09853 117.55756 74.48003 117.55756 74.87787 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 117.55756 74.87787 moveto
+117.55756 75.27571 117.39949 75.65721 117.1182 75.9385 curveto
+116.8369 76.2198 116.4554 76.37787 116.05756 76.37787 curveto
+115.65971 76.37787 115.27821 76.2198 114.99692 75.9385 curveto
+114.71562 75.65721 114.55756 75.27571 114.55756 74.87787 curveto
+114.55756 74.48003 114.71562 74.09853 114.99692 73.81723 curveto
+115.27821 73.53593 115.65971 73.37787 116.05756 73.37787 curveto
+116.4554 73.37787 116.8369 73.53593 117.1182 73.81723 curveto
+117.39949 74.09853 117.55756 74.48003 117.55756 74.87787 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 82.46533 92.42181 moveto
+82.46533 92.81966 82.30727 93.20116 82.02597 93.48245 curveto
+81.74467 93.76375 81.36317 93.92181 80.96533 93.92181 curveto
+80.56749 93.92181 80.18599 93.76375 79.9047 93.48245 curveto
+79.6234 93.20116 79.46533 92.81966 79.46533 92.42181 curveto
+79.46533 92.02397 79.6234 91.64247 79.9047 91.36118 curveto
+80.18599 91.07988 80.56749 90.92181 80.96533 90.92181 curveto
+81.36317 90.92181 81.74467 91.07988 82.02597 91.36118 curveto
+82.30727 91.64247 82.46533 92.02397 82.46533 92.42181 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 82.46533 92.42181 moveto
+82.46533 92.81966 82.30727 93.20116 82.02597 93.48245 curveto
+81.74467 93.76375 81.36317 93.92181 80.96533 93.92181 curveto
+80.56749 93.92181 80.18599 93.76375 79.9047 93.48245 curveto
+79.6234 93.20116 79.46533 92.81966 79.46533 92.42181 curveto
+79.46533 92.02397 79.6234 91.64247 79.9047 91.36118 curveto
+80.18599 91.07988 80.56749 90.92181 80.96533 90.92181 curveto
+81.36317 90.92181 81.74467 91.07988 82.02597 91.36118 curveto
+82.30727 91.64247 82.46533 92.02397 82.46533 92.42181 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 48.95618 96.27957 moveto
+48.95618 96.67741 48.79811 97.05891 48.51682 97.34021 curveto
+48.23552 97.6215 47.85402 97.77957 47.45618 97.77957 curveto
+47.05833 97.77957 46.67683 97.6215 46.39554 97.34021 curveto
+46.11424 97.05891 45.95618 96.67741 45.95618 96.27957 curveto
+45.95618 95.88173 46.11424 95.50023 46.39554 95.21893 curveto
+46.67683 94.93764 47.05833 94.77957 47.45618 94.77957 curveto
+47.85402 94.77957 48.23552 94.93764 48.51682 95.21893 curveto
+48.79811 95.50023 48.95618 95.88173 48.95618 96.27957 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 48.95618 96.27957 moveto
+48.95618 96.67741 48.79811 97.05891 48.51682 97.34021 curveto
+48.23552 97.6215 47.85402 97.77957 47.45618 97.77957 curveto
+47.05833 97.77957 46.67683 97.6215 46.39554 97.34021 curveto
+46.11424 97.05891 45.95618 96.67741 45.95618 96.27957 curveto
+45.95618 95.88173 46.11424 95.50023 46.39554 95.21893 curveto
+46.67683 94.93764 47.05833 94.77957 47.45618 94.77957 curveto
+47.85402 94.77957 48.23552 94.93764 48.51682 95.21893 curveto
+48.79811 95.50023 48.95618 95.88173 48.95618 96.27957 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 29.84386 85.03459 moveto
+29.84386 85.43243 29.68579 85.81393 29.4045 86.09523 curveto
+29.1232 86.37653 28.7417 86.53459 28.34386 86.53459 curveto
+27.94601 86.53459 27.56451 86.37653 27.28322 86.09523 curveto
+27.00192 85.81393 26.84386 85.43243 26.84386 85.03459 curveto
+26.84386 84.63675 27.00192 84.25525 27.28322 83.97395 curveto
+27.56451 83.69266 27.94601 83.53459 28.34386 83.53459 curveto
+28.7417 83.53459 29.1232 83.69266 29.4045 83.97395 curveto
+29.68579 84.25525 29.84386 84.63675 29.84386 85.03459 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 29.84386 85.03459 moveto
+29.84386 85.43243 29.68579 85.81393 29.4045 86.09523 curveto
+29.1232 86.37653 28.7417 86.53459 28.34386 86.53459 curveto
+27.94601 86.53459 27.56451 86.37653 27.28322 86.09523 curveto
+27.00192 85.81393 26.84386 85.43243 26.84386 85.03459 curveto
+26.84386 84.63675 27.00192 84.25525 27.28322 83.97395 curveto
+27.56451 83.69266 27.94601 83.53459 28.34386 83.53459 curveto
+28.7417 83.53459 29.1232 83.69266 29.4045 83.97395 curveto
+29.68579 84.25525 29.84386 84.63675 29.84386 85.03459 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 32.3279 62.99316 moveto
+32.3279 63.391 32.16983 63.7725 31.88853 64.0538 curveto
+31.60724 64.3351 31.22574 64.49316 30.8279 64.49316 curveto
+30.43005 64.49316 30.04855 64.3351 29.76726 64.0538 curveto
+29.48596 63.7725 29.3279 63.391 29.3279 62.99316 curveto
+29.3279 62.59532 29.48596 62.21382 29.76726 61.93253 curveto
+30.04855 61.65123 30.43005 61.49316 30.8279 61.49316 curveto
+31.22574 61.49316 31.60724 61.65123 31.88853 61.93253 curveto
+32.16983 62.21382 32.3279 62.59532 32.3279 62.99316 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 32.3279 62.99316 moveto
+32.3279 63.391 32.16983 63.7725 31.88853 64.0538 curveto
+31.60724 64.3351 31.22574 64.49316 30.8279 64.49316 curveto
+30.43005 64.49316 30.04855 64.3351 29.76726 64.0538 curveto
+29.48596 63.7725 29.3279 63.391 29.3279 62.99316 curveto
+29.3279 62.59532 29.48596 62.21382 29.76726 61.93253 curveto
+30.04855 61.65123 30.43005 61.49316 30.8279 61.49316 curveto
+31.22574 61.49316 31.60724 61.65123 31.88853 61.93253 curveto
+32.16983 62.21382 32.3279 62.59532 32.3279 62.99316 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 55.53067 38.50102 moveto
+55.53067 38.89886 55.3726 39.28036 55.09131 39.56166 curveto
+54.81001 39.84296 54.42851 40.00102 54.03067 40.00102 curveto
+53.63283 40.00102 53.25133 39.84296 52.97003 39.56166 curveto
+52.68874 39.28036 52.53067 38.89886 52.53067 38.50102 curveto
+52.53067 38.10318 52.68874 37.72168 52.97003 37.44038 curveto
+53.25133 37.15909 53.63283 37.00102 54.03067 37.00102 curveto
+54.42851 37.00102 54.81001 37.15909 55.09131 37.44038 curveto
+55.3726 37.72168 55.53067 38.10318 55.53067 38.50102 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 55.53067 38.50102 moveto
+55.53067 38.89886 55.3726 39.28036 55.09131 39.56166 curveto
+54.81001 39.84296 54.42851 40.00102 54.03067 40.00102 curveto
+53.63283 40.00102 53.25133 39.84296 52.97003 39.56166 curveto
+52.68874 39.28036 52.53067 38.89886 52.53067 38.50102 curveto
+52.53067 38.10318 52.68874 37.72168 52.97003 37.44038 curveto
+53.25133 37.15909 53.63283 37.00102 54.03067 37.00102 curveto
+54.42851 37.00102 54.81001 37.15909 55.09131 37.44038 curveto
+55.3726 37.72168 55.53067 38.10318 55.53067 38.50102 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 90.62419 20.96053 moveto
+90.62419 21.35837 90.46613 21.73987 90.18483 22.02116 curveto
+89.90353 22.30246 89.52203 22.46053 89.12419 22.46053 curveto
+88.72635 22.46053 88.34485 22.30246 88.06355 22.02116 curveto
+87.78226 21.73987 87.62419 21.35837 87.62419 20.96053 curveto
+87.62419 20.56268 87.78226 20.18118 88.06355 19.89989 curveto
+88.34485 19.61859 88.72635 19.46053 89.12419 19.46053 curveto
+89.52203 19.46053 89.90353 19.61859 90.18483 19.89989 curveto
+90.46613 20.18118 90.62419 20.56268 90.62419 20.96053 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 90.62419 20.96053 moveto
+90.62419 21.35837 90.46613 21.73987 90.18483 22.02116 curveto
+89.90353 22.30246 89.52203 22.46053 89.12419 22.46053 curveto
+88.72635 22.46053 88.34485 22.30246 88.06355 22.02116 curveto
+87.78226 21.73987 87.62419 21.35837 87.62419 20.96053 curveto
+87.62419 20.56268 87.78226 20.18118 88.06355 19.89989 curveto
+88.34485 19.61859 88.72635 19.46053 89.12419 19.46053 curveto
+89.52203 19.46053 89.90353 19.61859 90.18483 19.89989 curveto
+90.46613 20.18118 90.62419 20.56268 90.62419 20.96053 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 124.13162 17.10753 moveto
+124.13162 17.50537 123.97356 17.88687 123.69226 18.16817 curveto
+123.41096 18.44946 123.02946 18.60753 122.63162 18.60753 curveto
+122.23378 18.60753 121.85228 18.44946 121.57098 18.16817 curveto
+121.28969 17.88687 121.13162 17.50537 121.13162 17.10753 curveto
+121.13162 16.70969 121.28969 16.32819 121.57098 16.04689 curveto
+121.85228 15.7656 122.23378 15.60753 122.63162 15.60753 curveto
+123.02946 15.60753 123.41096 15.7656 123.69226 16.04689 curveto
+123.97356 16.32819 124.13162 16.70969 124.13162 17.10753 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 124.13162 17.10753 moveto
+124.13162 17.50537 123.97356 17.88687 123.69226 18.16817 curveto
+123.41096 18.44946 123.02946 18.60753 122.63162 18.60753 curveto
+122.23378 18.60753 121.85228 18.44946 121.57098 18.16817 curveto
+121.28969 17.88687 121.13162 17.50537 121.13162 17.10753 curveto
+121.13162 16.70969 121.28969 16.32819 121.57098 16.04689 curveto
+121.85228 15.7656 122.23378 15.60753 122.63162 15.60753 curveto
+123.02946 15.60753 123.41096 15.7656 123.69226 16.04689 curveto
+123.97356 16.32819 124.13162 16.70969 124.13162 17.10753 curveto closepath stroke
+newpath 141.73225 28.34645 moveto
+99.21259 85.03935 lineto
+85.03935 56.6929 lineto
+ closepath stroke
+ 1 1 1 setrgbcolor
+newpath 143.23225 28.34645 moveto
+143.23225 28.7443 143.07419 29.1258 142.7929 29.40709 curveto
+142.5116 29.68839 142.1301 29.84645 141.73225 29.84645 curveto
+141.33441 29.84645 140.95291 29.68839 140.67162 29.40709 curveto
+140.39032 29.1258 140.23225 28.7443 140.23225 28.34645 curveto
+140.23225 27.94861 140.39032 27.56711 140.67162 27.28581 curveto
+140.95291 27.00452 141.33441 26.84645 141.73225 26.84645 curveto
+142.1301 26.84645 142.5116 27.00452 142.7929 27.28581 curveto
+143.07419 27.56711 143.23225 27.94861 143.23225 28.34645 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 143.23225 28.34645 moveto
+143.23225 28.7443 143.07419 29.1258 142.7929 29.40709 curveto
+142.5116 29.68839 142.1301 29.84645 141.73225 29.84645 curveto
+141.33441 29.84645 140.95291 29.68839 140.67162 29.40709 curveto
+140.39032 29.1258 140.23225 28.7443 140.23225 28.34645 curveto
+140.23225 27.94861 140.39032 27.56711 140.67162 27.28581 curveto
+140.95291 27.00452 141.33441 26.84645 141.73225 26.84645 curveto
+142.1301 26.84645 142.5116 27.00452 142.7929 27.28581 curveto
+143.07419 27.56711 143.23225 27.94861 143.23225 28.34645 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 130.47557 45.35536 moveto
+130.47557 45.7532 130.3175 46.1347 130.03621 46.416 curveto
+129.75491 46.6973 129.37341 46.85536 128.97557 46.85536 curveto
+128.57773 46.85536 128.19623 46.6973 127.91493 46.416 curveto
+127.63364 46.1347 127.47557 45.7532 127.47557 45.35536 curveto
+127.47557 44.95752 127.63364 44.57602 127.91493 44.29472 curveto
+128.19623 44.01343 128.57773 43.85536 128.97557 43.85536 curveto
+129.37341 43.85536 129.75491 44.01343 130.03621 44.29472 curveto
+130.3175 44.57602 130.47557 44.95752 130.47557 45.35536 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 130.47557 45.35536 moveto
+130.47557 45.7532 130.3175 46.1347 130.03621 46.416 curveto
+129.75491 46.6973 129.37341 46.85536 128.97557 46.85536 curveto
+128.57773 46.85536 128.19623 46.6973 127.91493 46.416 curveto
+127.63364 46.1347 127.47557 45.7532 127.47557 45.35536 curveto
+127.47557 44.95752 127.63364 44.57602 127.91493 44.29472 curveto
+128.19623 44.01343 128.57773 43.85536 128.97557 43.85536 curveto
+129.37341 43.85536 129.75491 44.01343 130.03621 44.29472 curveto
+130.3175 44.57602 130.47557 44.95752 130.47557 45.35536 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 117.71889 62.36427 moveto
+117.71889 62.76212 117.56082 63.14362 117.27953 63.42491 curveto
+116.99823 63.7062 116.61673 63.86427 116.21889 63.86427 curveto
+115.82104 63.86427 115.43954 63.7062 115.15825 63.42491 curveto
+114.87695 63.14362 114.71889 62.76212 114.71889 62.36427 curveto
+114.71889 61.96643 114.87695 61.58493 115.15825 61.30363 curveto
+115.43954 61.02234 115.82104 60.86427 116.21889 60.86427 curveto
+116.61673 60.86427 116.99823 61.02234 117.27953 61.30363 curveto
+117.56082 61.58493 117.71889 61.96643 117.71889 62.36427 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 117.71889 62.36427 moveto
+117.71889 62.76212 117.56082 63.14362 117.27953 63.42491 curveto
+116.99823 63.7062 116.61673 63.86427 116.21889 63.86427 curveto
+115.82104 63.86427 115.43954 63.7062 115.15825 63.42491 curveto
+114.87695 63.14362 114.71889 62.76212 114.71889 62.36427 curveto
+114.71889 61.96643 114.87695 61.58493 115.15825 61.30363 curveto
+115.43954 61.02234 115.82104 60.86427 116.21889 60.86427 curveto
+116.61673 60.86427 116.99823 61.02234 117.27953 61.30363 curveto
+117.56082 61.58493 117.71889 61.96643 117.71889 62.36427 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 104.9622 79.37274 moveto
+104.9622 79.77058 104.80414 80.15208 104.52284 80.43338 curveto
+104.24155 80.71468 103.86005 80.87274 103.4622 80.87274 curveto
+103.06436 80.87274 102.68286 80.71468 102.40157 80.43338 curveto
+102.12027 80.15208 101.9622 79.77058 101.9622 79.37274 curveto
+101.9622 78.9749 102.12027 78.5934 102.40157 78.3121 curveto
+102.68286 78.0308 103.06436 77.87274 103.4622 77.87274 curveto
+103.86005 77.87274 104.24155 78.0308 104.52284 78.3121 curveto
+104.80414 78.5934 104.9622 78.9749 104.9622 79.37274 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 104.9622 79.37274 moveto
+104.9622 79.77058 104.80414 80.15208 104.52284 80.43338 curveto
+104.24155 80.71468 103.86005 80.87274 103.4622 80.87274 curveto
+103.06436 80.87274 102.68286 80.71468 102.40157 80.43338 curveto
+102.12027 80.15208 101.9622 79.77058 101.9622 79.37274 curveto
+101.9622 78.9749 102.12027 78.5934 102.40157 78.3121 curveto
+102.68286 78.0308 103.06436 77.87274 103.4622 77.87274 curveto
+103.86005 77.87274 104.24155 78.0308 104.52284 78.3121 curveto
+104.80414 78.5934 104.9622 78.9749 104.9622 79.37274 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 97.87733 79.36755 moveto
+97.87733 79.7654 97.71927 80.1469 97.43797 80.42819 curveto
+97.15668 80.70949 96.77518 80.86755 96.37733 80.86755 curveto
+95.97949 80.86755 95.59799 80.70949 95.3167 80.42819 curveto
+95.0354 80.1469 94.87733 79.7654 94.87733 79.36755 curveto
+94.87733 78.96971 95.0354 78.58821 95.3167 78.30692 curveto
+95.59799 78.02562 95.97949 77.86755 96.37733 77.86755 curveto
+96.77518 77.86755 97.15668 78.02562 97.43797 78.30692 curveto
+97.71927 78.58821 97.87733 78.96971 97.87733 79.36755 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 97.87733 79.36755 moveto
+97.87733 79.7654 97.71927 80.1469 97.43797 80.42819 curveto
+97.15668 80.70949 96.77518 80.86755 96.37733 80.86755 curveto
+95.97949 80.86755 95.59799 80.70949 95.3167 80.42819 curveto
+95.0354 80.1469 94.87733 79.7654 94.87733 79.36755 curveto
+94.87733 78.96971 95.0354 78.58821 95.3167 78.30692 curveto
+95.59799 78.02562 95.97949 77.86755 96.37733 77.86755 curveto
+96.77518 77.86755 97.15668 78.02562 97.43797 78.30692 curveto
+97.71927 78.58821 97.87733 78.96971 97.87733 79.36755 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 93.62424 70.86397 moveto
+93.62424 71.26181 93.46617 71.64331 93.18488 71.9246 curveto
+92.90358 72.2059 92.52208 72.36397 92.12424 72.36397 curveto
+91.7264 72.36397 91.3449 72.2059 91.0636 71.9246 curveto
+90.7823 71.64331 90.62424 71.26181 90.62424 70.86397 curveto
+90.62424 70.46613 90.7823 70.08463 91.0636 69.80333 curveto
+91.3449 69.52203 91.7264 69.36397 92.12424 69.36397 curveto
+92.52208 69.36397 92.90358 69.52203 93.18488 69.80333 curveto
+93.46617 70.08463 93.62424 70.46613 93.62424 70.86397 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 93.62424 70.86397 moveto
+93.62424 71.26181 93.46617 71.64331 93.18488 71.9246 curveto
+92.90358 72.2059 92.52208 72.36397 92.12424 72.36397 curveto
+91.7264 72.36397 91.3449 72.2059 91.0636 71.9246 curveto
+90.7823 71.64331 90.62424 71.26181 90.62424 70.86397 curveto
+90.62424 70.46613 90.7823 70.08463 91.0636 69.80333 curveto
+91.3449 69.52203 91.7264 69.36397 92.12424 69.36397 curveto
+92.52208 69.36397 92.90358 69.52203 93.18488 69.80333 curveto
+93.46617 70.08463 93.62424 70.46613 93.62424 70.86397 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 89.37201 62.35951 moveto
+89.37201 62.75735 89.21394 63.13885 88.93265 63.42015 curveto
+88.65135 63.70145 88.26985 63.85951 87.87201 63.85951 curveto
+87.47417 63.85951 87.09267 63.70145 86.81137 63.42015 curveto
+86.53008 63.13885 86.37201 62.75735 86.37201 62.35951 curveto
+86.37201 61.96167 86.53008 61.58017 86.81137 61.29887 curveto
+87.09267 61.01758 87.47417 60.85951 87.87201 60.85951 curveto
+88.26985 60.85951 88.65135 61.01758 88.93265 61.29887 curveto
+89.21394 61.58017 89.37201 61.96167 89.37201 62.35951 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 89.37201 62.35951 moveto
+89.37201 62.75735 89.21394 63.13885 88.93265 63.42015 curveto
+88.65135 63.70145 88.26985 63.85951 87.87201 63.85951 curveto
+87.47417 63.85951 87.09267 63.70145 86.81137 63.42015 curveto
+86.53008 63.13885 86.37201 62.75735 86.37201 62.35951 curveto
+86.37201 61.96167 86.53008 61.58017 86.81137 61.29887 curveto
+87.09267 61.01758 87.47417 60.85951 87.87201 60.85951 curveto
+88.26985 60.85951 88.65135 61.01758 88.93265 61.29887 curveto
+89.21394 61.58017 89.37201 61.96167 89.37201 62.35951 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 92.21634 53.85506 moveto
+92.21634 54.2529 92.05827 54.6344 91.77698 54.9157 curveto
+91.49568 55.19699 91.11418 55.35506 90.71634 55.35506 curveto
+90.3185 55.35506 89.937 55.19699 89.6557 54.9157 curveto
+89.3744 54.6344 89.21634 54.2529 89.21634 53.85506 curveto
+89.21634 53.45721 89.3744 53.07571 89.6557 52.79442 curveto
+89.937 52.51312 90.3185 52.35506 90.71634 52.35506 curveto
+91.11418 52.35506 91.49568 52.51312 91.77698 52.79442 curveto
+92.05827 53.07571 92.21634 53.45721 92.21634 53.85506 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 92.21634 53.85506 moveto
+92.21634 54.2529 92.05827 54.6344 91.77698 54.9157 curveto
+91.49568 55.19699 91.11418 55.35506 90.71634 55.35506 curveto
+90.3185 55.35506 89.937 55.19699 89.6557 54.9157 curveto
+89.3744 54.6344 89.21634 54.2529 89.21634 53.85506 curveto
+89.21634 53.45721 89.3744 53.07571 89.6557 52.79442 curveto
+89.937 52.51312 90.3185 52.35506 90.71634 52.35506 curveto
+91.11418 52.35506 91.49568 52.51312 91.77698 52.79442 curveto
+92.05827 53.07571 92.21634 53.45721 92.21634 53.85506 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 109.22482 45.35017 moveto
+109.22482 45.74802 109.06676 46.12952 108.78546 46.41081 curveto
+108.50417 46.69211 108.12267 46.85017 107.72482 46.85017 curveto
+107.32698 46.85017 106.94548 46.69211 106.66418 46.41081 curveto
+106.38289 46.12952 106.22482 45.74802 106.22482 45.35017 curveto
+106.22482 44.95233 106.38289 44.57083 106.66418 44.28954 curveto
+106.94548 44.00824 107.32698 43.85017 107.72482 43.85017 curveto
+108.12267 43.85017 108.50417 44.00824 108.78546 44.28954 curveto
+109.06676 44.57083 109.22482 44.95233 109.22482 45.35017 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 109.22482 45.35017 moveto
+109.22482 45.74802 109.06676 46.12952 108.78546 46.41081 curveto
+108.50417 46.69211 108.12267 46.85017 107.72482 46.85017 curveto
+107.32698 46.85017 106.94548 46.69211 106.66418 46.41081 curveto
+106.38289 46.12952 106.22482 45.74802 106.22482 45.35017 curveto
+106.22482 44.95233 106.38289 44.57083 106.66418 44.28954 curveto
+106.94548 44.00824 107.32698 43.85017 107.72482 43.85017 curveto
+108.12267 43.85017 108.50417 44.00824 108.78546 44.28954 curveto
+109.06676 44.57083 109.22482 44.95233 109.22482 45.35017 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 126.23372 36.84572 moveto
+126.23372 37.24356 126.07565 37.62506 125.79436 37.90636 curveto
+125.51306 38.18765 125.13156 38.34572 124.73372 38.34572 curveto
+124.33588 38.34572 123.95438 38.18765 123.67308 37.90636 curveto
+123.39178 37.62506 123.23372 37.24356 123.23372 36.84572 curveto
+123.23372 36.44788 123.39178 36.06638 123.67308 35.78508 curveto
+123.95438 35.50378 124.33588 35.34572 124.73372 35.34572 curveto
+125.13156 35.34572 125.51306 35.50378 125.79436 35.78508 curveto
+126.07565 36.06638 126.23372 36.44788 126.23372 36.84572 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 126.23372 36.84572 moveto
+126.23372 37.24356 126.07565 37.62506 125.79436 37.90636 curveto
+125.51306 38.18765 125.13156 38.34572 124.73372 38.34572 curveto
+124.33588 38.34572 123.95438 38.18765 123.67308 37.90636 curveto
+123.39178 37.62506 123.23372 37.24356 123.23372 36.84572 curveto
+123.23372 36.44788 123.39178 36.06638 123.67308 35.78508 curveto
+123.95438 35.50378 124.33588 35.34572 124.73372 35.34572 curveto
+125.13156 35.34572 125.51306 35.50378 125.79436 35.78508 curveto
+126.07565 36.06638 126.23372 36.44788 126.23372 36.84572 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 100.71259 85.03806 moveto
+100.71259 85.4359 100.55452 85.8174 100.27322 86.0987 curveto
+99.99193 86.37999 99.61043 86.53806 99.21259 86.53806 curveto
+98.81474 86.53806 98.43324 86.37999 98.15195 86.0987 curveto
+97.87065 85.8174 97.71259 85.4359 97.71259 85.03806 curveto
+97.71259 84.64021 97.87065 84.25871 98.15195 83.97742 curveto
+98.43324 83.69612 98.81474 83.53806 99.21259 83.53806 curveto
+99.61043 83.53806 99.99193 83.69612 100.27322 83.97742 curveto
+100.55452 84.25871 100.71259 84.64021 100.71259 85.03806 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 100.71259 85.03806 moveto
+100.71259 85.4359 100.55452 85.8174 100.27322 86.0987 curveto
+99.99193 86.37999 99.61043 86.53806 99.21259 86.53806 curveto
+98.81474 86.53806 98.43324 86.37999 98.15195 86.0987 curveto
+97.87065 85.8174 97.71259 85.4359 97.71259 85.03806 curveto
+97.71259 84.64021 97.87065 84.25871 98.15195 83.97742 curveto
+98.43324 83.69612 98.81474 83.53806 99.21259 83.53806 curveto
+99.61043 83.53806 99.99193 83.69612 100.27322 83.97742 curveto
+100.55452 84.25871 100.71259 84.64021 100.71259 85.03806 curveto closepath stroke
+showpage
+%%EOF
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.mp
new file mode 100644
index 0000000000..24c969abd1
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/point.mp
@@ -0,0 +1,25 @@
+input geom2d;
+
+beginfig(0);
+
+ C = Point(3,2);
+ A = Point(5,1);
+ B = Point(3.5,3) ;
+ E = Ellipse(C,A,B);
+ trace E;
+for i=0 step 0.1 until 1:
+pointe PointDe(E,i);
+endfor
+
+T = Triangle(A,B,C);
+trace T;
+
+for i=0 step 0.1 until 1:
+pointe PointDe(T,i);
+endfor
+
+pointe PointDe(0.33333,T);
+
+endfig;
+
+end.
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone-1.pdf
new file mode 100644
index 0000000000..e3c0e1d154
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone.mp
new file mode 100644
index 0000000000..619e978fa5
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/polygone.mp
@@ -0,0 +1,20 @@
+input geom2d;
+
+beginfig(1);
+
+
+ A = Point(0,0);
+ B = Point(3,3);
+ C = Point(3,4);
+ D = Point(2,2.4);
+ F = Point(0,5);
+ G = Barycentre(A,B,C,D,F);
+ P = Polygone(A,B,C,D,F);
+ Q1 = PolygoneRegulier(10,2,0,(2,2));
+ trace(P);
+ pointe(G);
+ trace(Q1);
+ pointe(PointPolygone(Q1,1));
+ pointe(CentrePolygone(Q1));
+endfig;
+end \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs-1.pdf
new file mode 100644
index 0000000000..787f569ced
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs.mp
new file mode 100644
index 0000000000..95a6dff144
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/divers/vecteurs.mp
@@ -0,0 +1,14 @@
+input geom2d;
+
+beginfig(1);
+ A = Point(2,0);
+ B = Point(3,3);
+ C = Vecteur(2,2);
+ D = Segment(A,B);
+ fleche C;
+ fleche D;
+ E = SegmentToVecteur(D);
+ fleche E;
+ show ProduitScalaire(C,E);
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos-1.pdf
new file mode 100644
index 0000000000..6c5a08e777
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos.mp
new file mode 100644
index 0000000000..471fe58e10
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/cos.mp
@@ -0,0 +1,10 @@
+input geom2d;
+beginfig(1);
+RepereMinMax(-2Pi,2Pi,-1.1,1.1,0.5,1);
+Axes;
+Graduations;
+Debut;
+trace Representation(cos,-2Pi,2Pi,100);
+Fin;
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1-1.pdf
new file mode 100644
index 0000000000..69a7e72076
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1.mp
new file mode 100644
index 0000000000..f81d13067b
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction1.mp
@@ -0,0 +1,25 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef f(expr x) = sqrt(x+3-4*sqrt(x-1))+sqrt(x+8-6*sqrt(x-1)) enddef;
+
+
+beginfig(1);
+
+Repere(10,6,1,2,.8,0.8);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ trace Representation(f,1,12,100) avecCrayon(1.5,Indigo);
+
+ pointe Point(5,1);
+ pointe Point(10,1);
+
+ label.top(textext("\(y=\sqrt{x+3-4\sqrt{x-1}}+\sqrt{x+8-6\sqrt{x-1}}\)"),
+ (7,2.5) gddEnPlace) withcolor Olive;
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2-1.pdf
new file mode 100644
index 0000000000..f25b1b9d27
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2.mp
new file mode 100644
index 0000000000..6357a76815
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/fonctions/fonction2.mp
@@ -0,0 +1,53 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1cm;
+
+vardef f(expr x) = x*(Pi-x) enddef; % f
+vardef g(expr x) = Pi-2*x enddef; % f'
+vardef h(expr x) = -2 enddef; % f''
+
+beginfig(1);
+
+Repere(9,6,5,3,.8,0.8);
+Axes;
+ Debut;
+ Graduations;
+
+ trace (Pi,-2)--(Pi,2) dashed evenly;
+ trace (-Pi,-2)--(-Pi,2) dashed evenly;
+
+ trace Representation(f,0,Pi,100) avecCrayon(1.5,Indigo);
+ trace (Representation(f,0,Pi,100) scaled -1) avecCrayon(1.5,Indigo);
+ trace (Representation(f,0,Pi,100) shifted (-2*Pi,0)) avecCrayon(1.5,Indigo);
+ trace (Representation(f,0,Pi,100) scaled -1 shifted (2*Pi,0)) avecCrayon(1.5,Indigo);
+
+ trace Representation(g,0,Pi,100) avecCrayon(1.5,Olive);
+ trace (Representation(g,0,Pi,100) xscaled -1) avecCrayon(1.5,Olive);
+ trace (Representation(g,0,Pi,100) shifted (-2*Pi,0)) avecCrayon(1.5,Olive);
+ trace (Representation(g,0,Pi,100) xscaled -1 shifted (2*Pi,0)) avecCrayon(1.5,Olive);
+
+ trace Representation(h,0,Pi,100) avecCrayon(1.5,Orange);
+ trace (Representation(h,0,Pi,100) scaled -1) avecCrayon(1.5,Orange);
+ trace (Representation(h,0,Pi,100) shifted (-2*Pi,0)) avecCrayon(1.5,Orange);
+ trace (Representation(h,0,Pi,100) scaled -1 shifted (2*Pi,0)) avecCrayon(1.5,Orange);
+
+ pointe Point(Pi,2);
+ pointe Point(Pi,-2);
+ pointe Point(-Pi,2);
+ pointe Point(-Pi,-2);
+
+ label.urt(textext("\(-\pi\)"), (-Pi,0) gddEnPlace) withcolor Peru;
+ label.ulft(textext("\(\pi\)"), (Pi,0) gddEnPlace) withcolor Peru;
+Fin;
+
+trace (0,-0.5)--(1,-0.5) avecCrayon(1.5,Indigo);
+label.rt(textext("\(f\)"), (1,-0.5) gddEnPlace);
+trace (2,-0.5)--(3,-0.5) avecCrayon(1.5,Olive);
+label.rt(textext("\(f'\)"), (3,-0.5) gddEnPlace);
+trace (4,-0.5)--(5,-0.5) avecCrayon(1.5,Orange);
+label.rt(textext("\(f''\)"), (5,-0.5) gddEnPlace);
+
+endfig;
+
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01-1.pdf
new file mode 100644
index 0000000000..b2d5723139
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01.mp
new file mode 100644
index 0000000000..a806fb6e56
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol01.mp
@@ -0,0 +1,40 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef r(expr t) = 1/(cos(t)-cos(2*t)) enddef;
+vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef;
+vardef f(expr t) = 3/2*t*t-7/18 enddef;
+
+def DroiteN(expr r, t) = Droite((r*cos(t),r*sin(t)), (r*cos(t)-2*sin(t),r*sin(t)+2*cos(t))) enddef;
+def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
+
+def Crayon(expr t,c) = drawoptions(withpen pencircle scaled t withcolor c) enddef;
+
+beginfig(1);
+Repere(10,10,2,5,3.5,3.5);
+Axes;
+ Debut;
+ Graduations; Unites(1);
+ trace Cercle(origine,1);
+ Crayon(0.75,1.1*LightSlateGrey);
+ trace rp(-arccos(1/4))--(0,0)--rp(arccos(1/4)) dashed evenly;
+ Crayon(0.75,1.1*FireBrick);
+ trace DroiteN(-2/3/sqrt(3),7*Pi/6);
+ trace DroiteN(-2/3/sqrt(3),5*Pi/6);
+ trace Representation(f,-3,3,100) rotated -90;
+ Crayon(1.5,0.8*LightSlateGrey);
+ trace CourbeEnPolaires(r,0.1,2*Pi/3-0.1,100);
+ trace CourbeEnPolaires(r,-0.1,-2*Pi/3+0.1,100);
+ trace CourbeEnPolaires(r,2*Pi/3+0.1,4*Pi/3-0.1,100);
+ Crayon(1,DodgerBlue);
+ traceDoubleVecteur(rp(Pi),(0,0.2));
+ traceDoubleVecteur(rp(arccos(1/4)),0.05*(-sqrt(15),1));
+ traceDoubleVecteur(rp(-arccos(1/4)),0.05*(sqrt(15),1));
+ pointe rp(Pi);
+ pointe rp(arccos(1/4));
+ pointe rp(-arccos(1/4));
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02-1.pdf
new file mode 100644
index 0000000000..9b66ecc5ef
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02.mp
new file mode 100644
index 0000000000..26b9287b09
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol02.mp
@@ -0,0 +1,52 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=0.9cm;
+
+vardef r(expr t) = 1+cos(t) enddef;
+vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef;
+
+def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
+
+beginfig(1);
+ Repere(10,10,2,5,3.5,3.5);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ drawoptions(withcolor LightSlateGrey);
+ draw fullcircle shifted (0.5,0) gddEnPlace avecCrayon(1,Gold);
+
+ nb = 80;
+ pas = 2Pi / nb;
+ for i=0 upto nb:
+ theta := i * pas;
+ draw (fullcircle scaled 2cos(theta)
+ shifted (cos(theta)*cos(theta),cos(theta)*sin(theta))) gddEnPlace;
+ endfor;
+
+
+ traceDoubleVecteur(rp(0),(0,0.3)) avecCrayon(1,LightPink);
+ traceDoubleVecteur(rp(Pi/3),(0.3,0)) avecCrayon(1,LightPink);
+ traceDoubleVecteur(rp(Pi/2),(0.2,0.2)) avecCrayon(1,LightPink);
+ traceDoubleVecteur(rp(2Pi/3),(0,0.3)) avecCrayon(1,LightPink);
+ traceDoubleVecteur(rp(-Pi/3),(0.3,0)) avecCrayon(1,LightPink);
+ traceDoubleVecteur(rp(-Pi/2),(0.2,-0.2)) avecCrayon(1,LightPink);
+ traceDoubleVecteur(rp(-2Pi/3),(0,0.3)) avecCrayon(1,LightPink);
+
+ fleche Segment(origine,(-0.3,0)) avecCrayon(1,LightPink);
+ trace CourbeEnPolaires(r,-Pi,Pi,100) avecCrayon(1.5,Indigo);
+
+ pointe Point(0,0);
+ pointe Point(2,0);
+ pointe PairTOPoint(rp(Pi/3));
+ pointe PairTOPoint(rp(-Pi/3));
+ pointe PairTOPoint(rp(2Pi/3));
+ pointe PairTOPoint(rp(-2Pi/3));
+ pointe Point(0,1);
+ pointe Point(0,-1);
+
+ label.urt(textext("\(\mathcal{C}\)"),PtR(Point(1,0))) withcolor Magenta;
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03-1.pdf
new file mode 100644
index 0000000000..d542588f38
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03.mp
new file mode 100644
index 0000000000..20f1a95fb6
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol03.mp
@@ -0,0 +1,33 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef r(expr t) = 1+2*cos(t) enddef;
+vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef;
+
+def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
+
+beginfig(1);
+ Repere(10,10,2.2,5,2,2);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+ drawoptions(withcolor LightSlateGrey);
+
+ nb = 50;
+ pas = 4 / nb;
+ for i=1 upto nb:
+ vardef rt(expr t) = 1 + (-1+i*pas)*cos(t) enddef;
+ trace CourbeEnPolaires(rt,-Pi,Pi,100) withcolor ((i/nb)[Gainsboro,Chartreuse]);
+ endfor;
+
+ trace CourbeEnPolaires(r,-Pi,Pi,100) avecCrayon(1.5,LightSeaGreen);
+
+ pointe Point(0,0);
+ pointe Point(0,1);
+ pointe Point(0,-1);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04-1.pdf
new file mode 100644
index 0000000000..bdc593c6b3
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04.mp
new file mode 100644
index 0000000000..385f876f98
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol04.mp
@@ -0,0 +1,44 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef r(expr t) = cos(2t)+cos(t)*cos(t) enddef;
+vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef;
+
+def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
+
+a = arccos(1/sqrt(3));
+
+beginfig(1);
+ Repere(10,8,5,4,2,2);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+ drawoptions(withcolor LightBlue);
+
+ nb = 60;
+ pas = 2Pi/ nb;
+ for i:=0 upto nb:
+ trace (0,0) -- rp(i*pas);
+ endfor;
+
+ traceDoubleVecteur((0,0),0.5(cos(a),sin(a))) avecCrayon(1,MediumVioletRed);
+ traceDoubleVecteur((0,0),0.5(-cos(a),sin(a))) avecCrayon(1,MediumVioletRed);
+ traceDoubleVecteur((2,0),(0,0.5)) avecCrayon(1,MediumVioletRed);
+ traceDoubleVecteur((-2,0),(0,0.5)) avecCrayon(1,MediumVioletRed);
+ traceDoubleVecteur((0,1),(0.5,0)) avecCrayon(1,MediumVioletRed);
+ traceDoubleVecteur((0,-1),(-0.5,0)) avecCrayon(1,MediumVioletRed);
+
+ trace CourbeEnPolaires(r,-Pi,Pi,150) avecCrayon(1.5,DarkOliveGreen);
+
+ pointe Point(0,0);
+ pointe Point(0,1);
+ pointe Point(0,-1);
+ pointe Point(2,0);
+ pointe Point(-2,0);
+
+ Fin;
+endfig;
+
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05-1.pdf
new file mode 100644
index 0000000000..45e6e36582
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05.mp
new file mode 100644
index 0000000000..376990a5b4
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol05.mp
@@ -0,0 +1,57 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.2cm;
+
+vardef r(expr t) = sqrt(cos(2*t)) enddef;
+vardef ri(expr t) = -sqrt(cos(2*t)) enddef;
+vardef rh(expr t) = 1 / r(t) enddef;
+vardef rhi(expr t) = 1 / ri(t) enddef;
+
+vardef u(expr v) = sqrt(v*v+4) enddef;
+vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef;
+
+def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
+
+a = arccos(1/sqrt(3));
+
+beginfig(1);
+ Repere(10,6,5,3,3,3);
+ Axes;
+ Debut;
+ Graduations;
+ drawoptions(withcolor Gainsboro);
+
+ nb = 40;
+ pas = Pi / (2*nb);
+ for i:=0 upto nb:
+ trace Droite((0,0),(cos(-Pi/4+i*pas),sin(-Pi/4+i*pas)));
+ endfor;
+
+ trace Droite((0,0),(1,1));
+ trace Droite((0,0),(-1,1));
+
+ trace CourbeEnPolaires(rh,-Pi/4+0.01,Pi/4-0.01,150)
+ avecCrayon(0.75,Crimson);
+ trace CourbeEnPolaires(rhi,-Pi/4+0.01,Pi/4-0.01,150)
+ avecCrayon(0.75,Crimson);
+
+ traceDoubleVecteur((0,0),0.25(1,1)) avecCrayon(1,LightSalmon);
+ traceDoubleVecteur((0,0),0.25(-1,1)) avecCrayon(1,LightSalmon);
+ traceDoubleVecteur((1,0),(0,0.2)) avecCrayon(1,LightSalmon);
+ traceDoubleVecteur((-1,0),(0,0.2)) avecCrayon(1,LightSalmon);
+ traceDoubleVecteur(rp(Pi/6),(0.2,0)) avecCrayon(1,LightSalmon);
+ traceDoubleVecteur(rp(-Pi/6),(0.2,0)) avecCrayon(1,LightSalmon);
+ traceDoubleVecteur(rp(5Pi/6),(0.2,0)) avecCrayon(1,LightSalmon);
+ traceDoubleVecteur(rp(-5Pi/6),(0.2,0)) avecCrayon(1,LightSalmon);
+
+ trace (0,0)--CourbeEnPolaires(r,-Pi/4+0.0001,Pi/4-0.0001,150)--cycle
+ avecCrayon(1.5,LightSlateGrey);
+ trace (0,0)--CourbeEnPolaires(ri,-Pi/4+0.0001,Pi/4-0.0001,150)--cycle
+ avecCrayon(1.5,LightSlateGrey);
+
+ pointe Point(0,0);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06-1.pdf
new file mode 100644
index 0000000000..526f1f8063
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06.mp
new file mode 100644
index 0000000000..74a2fd81ac
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol06.mp
@@ -0,0 +1,42 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.5cm;
+
+vardef r(expr t) = cos(t)*cos(t)*cos(t)-sin(t)*sin(t)*sin(t) enddef;
+vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef;
+
+def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
+
+a = arccos(1/sqrt(3));
+
+beginfig(1);
+
+ Repere(6,6,2,4,3,3);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ drawoptions(withcolor Gainsboro);
+
+ trace (0,0)--rp(-Pi/12);
+ trace (0,0)--rp(-Pi/4);
+ trace (0,0)--rp(-5Pi/12);
+
+ traceDoubleVecteur(rp(Pi/4),(0.18,0.18)) avecCrayon(1,DarkOrchid);
+ traceDoubleVecteur(rp(-Pi/4),(0.18,0.18)) avecCrayon(1,DarkOrchid);
+ traceDoubleVecteur(rp(-Pi/12),(0.18,0.18)) avecCrayon(1,DarkOrchid);
+ traceDoubleVecteur(rp(-5Pi/12),(0.18,0.18)) avecCrayon(1,DarkOrchid);
+
+ trace CourbeEnPolaires(r,-Pi/2,Pi/2,150) avecCrayon(1.5,Crimson);
+
+ drawoptions(withcolor LightGoldenrod);
+
+ pointe Point(0,0);
+ pointe rp(-Pi/12);
+ pointe rp(-Pi/4);
+ pointe rp(-5Pi/12);
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07-1.pdf
new file mode 100644
index 0000000000..2b2f5a7d11
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07.mp
new file mode 100644
index 0000000000..35ba629654
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/polaires/pol07.mp
@@ -0,0 +1,29 @@
+input geom2d;
+
+labeloffset := 6;
+gddU:=1.5cm;
+
+vardef r(expr t) = 4*cos(t/3)*cos(t/3)*cos(t/3) enddef;
+vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef;
+
+def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
+
+
+
+beginfig(1);
+ Repere(8,8,2,4,1,1);
+ Axes;
+ Debut;
+ Graduations; Unites(1);
+
+ drawoptions(withcolor Gainsboro);
+
+ trace CourbeEnPolaires(r,0,3Pi,450)
+ avecCrayon(1.5,Crimson);
+
+ drawoptions(withcolor LightGoldenrod);
+
+ pointe Point(0,0);
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mptextmp.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mptextmp.mp
new file mode 100644
index 0000000000..3ca1aafb46
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mptextmp.mp
@@ -0,0 +1 @@
+btex $\vec\jmath$ etex
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mpxerr.tex b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mpxerr.tex
new file mode 100644
index 0000000000..8d1b74bb84
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/mpxerr.tex
@@ -0,0 +1,14 @@
+\gdef\mpxshipout{\shipout\hbox\bgroup%
+ \setbox0=\hbox\bgroup}%
+\gdef\stopmpxshipout{\egroup \dimen0=\ht0 \advance\dimen0\dp0
+ \dimen1=\ht0 \dimen2=\dp0
+ \setbox0=\hbox\bgroup
+ \box0
+ \ifnum\dimen0>0 \vrule width1sp height\dimen1 depth\dimen2
+ \else \vrule width1sp height1sp depth0sp\relax
+ \fi\egroup
+ \ht0=0pt \dp0=0pt \box0 \egroup}
+\mpxshipout% line 1 ./mptextmp.mp
+\(y\vec\jmath\)%
+\stopmpxshipout
+\end{document}
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1-1.pdf
new file mode 100644
index 0000000000..0363226636
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1.mp
new file mode 100644
index 0000000000..55feff5ce4
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes1.mp
@@ -0,0 +1,49 @@
+input geom2d;
+
+labeloffset := 4;
+gddU:=1.3cm;
+
+beginfig(1);
+
+
+ O = Point(0,0);
+ I = Point(1,0);
+ J = Point(0.3,0.8);
+ M = PointDansRepere(5,3,O,I,J);
+ H = PointDansRepere(5,0,O,I,J);
+ K = PointDansRepere(0,3,O,I,J);
+
+ Repere(8,6,1.5,1.5,1,1);
+ Debut;
+
+ trace Droite(O,I);
+ trace Droite(O,J);
+ trace Pt(K)--Pt(M)--Pt(H) dashed evenly;
+
+ marque.urt "M";
+
+ drawoptions(withpen pencircle scaled 1pt withcolor DodgerBlue);
+ trace Vecteur(O,K);
+ trace Vecteur(O,H);
+ trace Vecteur(O,M);
+ label.top(textext("$x\vec\imath$"),PtR(Milieu(O,H)));
+ label.rt(textext("$y\vec\jmath$"),PtR(Milieu(O,K)));
+
+ drawoptions(withpen pencircle scaled 1.5pt withcolor Crimson);
+ trace Vecteur(O,I);
+ trace Vecteur(O,J);
+
+ drawoptions();
+ marque.llft "O";
+
+ label.bot(textext("$x$"), PtR(H));
+ label.lft(textext("$y$"), PtR(K));
+ label.bot(textext("$\vec\imath$"), PtR(I));
+ label.lft(textext("$\vec\jmath$"), PtR(J));
+
+ Fin;
+
+
+endfig;
+
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2-1.pdf
new file mode 100644
index 0000000000..eaa6100c43
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2.mp
new file mode 100644
index 0000000000..bdb86d553b
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/reperes/reperes2.mp
@@ -0,0 +1,69 @@
+input geom2d;
+
+labeloffset := 4;
+gddU:=1.cm;
+
+beginfig(1);
+ O = Point(0,0);
+ I = Point(1,0);
+ J = Point(0.3,0.8);
+ M = PointDansRepere(5,3,O,I,J);
+ H = PointDansRepere(5,0,O,I,J);
+ K = PointDansRepere(0,3,O,I,J);
+ O' = Point(3,2);
+ I' = Point(3.7,1.8);
+ J' = Point(2.8,3);
+
+ pair Mt;
+ Mt = CoordonneesRepere(M,O',I',J');
+ H' = PointDansRepere(xpart Mt,0,O',I',J');
+ K' = PointDansRepere(0,ypart Mt,O',I',J');
+
+ Repere(8,6,1.5,1.5,1,1);
+ Debut;
+ trace Droite(O,I);
+ trace Droite(O,J);
+ trace Droite(O',I');
+ trace Droite(O',J');
+
+ trace Pt(K)--Pt(M)--Pt(H) dashed evenly;
+ trace Pt(K')--Pt(M)--Pt(H') dashed evenly;
+
+ marque.urt "M";
+
+ drawoptions(withpen pencircle scaled 1pt withcolor DodgerBlue);
+ fleche Segment(O,K);
+ fleche Segment(O,H);
+ fleche Segment(O,M);
+
+ drawoptions(withpen pencircle scaled 1pt withcolor LimeGreen);
+ fleche Segment(O',M);
+ fleche Segment(O',H');
+ fleche Segment(O',K');
+
+ drawoptions(withpen pencircle scaled 1.5pt withcolor Crimson);
+ fleche Segment(O,I);
+ fleche Segment(O,J);
+ fleche Segment(O',I');
+ fleche Segment(O',J');
+
+ drawoptions(withpen pencircle scaled 1pt withcolor LightCoral);
+ fleche Segment(O,O');
+
+ drawoptions();
+ marque.llft "O";
+ marque.llft "O'";
+
+ label.bot(textext("\(x\)"), PtR(H));
+ label.lft(textext("\(y\)"), PtR(K));
+ label.bot(textext("\(\vec\imath\)"), PtR(I));
+ label.lft(textext("\(\vec\jmath\)"), PtR(J));
+
+ label.bot(textext("\(x'\)"), PtR(H'));
+ label.urt(textext("\(y'\)"), PtR(K'));
+ label.bot(textext("\(\vec\imath'\)"), PtR(I'));
+ label.lft(textext("\(\vec\jmath'\)"), PtR(J'));
+
+ Fin;
+endfig;
+end
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette-1.pdf
new file mode 100644
index 0000000000..090883d771
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.1 b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.1
new file mode 100644
index 0000000000..79db8deef8
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.1
@@ -0,0 +1,2343 @@
+%!PS
+%%BoundingBox: -1 -437 438 10
+%%HiResBoundingBox: -0.25 -436.56975 437.76807 9.32108
+%%Creator: MetaPost 2.10
+%%CreationDate: 2024.10.13:2206
+%%Pages: 1
+%*Font: cmr9 8.96637 8.96637 0b:a0000000000003defdda03effffb
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0.94 0.972 1 setrgbcolor
+newpath 0 0 moveto
+18.14215 0 lineto
+18.14215 9.07108 lineto
+0 9.07108 lineto
+ closepath fill
+ 0 0 0 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath 0 0 moveto
+18.14215 0 lineto
+18.14215 9.07108 lineto
+0 9.07108 lineto
+ closepath stroke
+21.14215 1.42218 moveto
+(AliceBlue) cmr9 8.96637 fshow
+ 0.98 0.92 0.844 setrgbcolor
+newpath 108.8529 0 moveto
+126.99506 0 lineto
+126.99506 9.07108 lineto
+108.8529 9.07108 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 0 moveto
+126.99506 0 lineto
+126.99506 9.07108 lineto
+108.8529 9.07108 lineto
+ closepath stroke
+129.99506 2.29393 moveto
+(An) cmr9 8.96637 fshow
+141.76886 2.29393 moveto
+(tiqueWhite) cmr9 8.96637 fshow
+ 0 1 1 setrgbcolor
+newpath 217.70581 0 moveto
+235.84796 0 lineto
+235.84796 9.07108 lineto
+217.70581 9.07108 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 0 moveto
+235.84796 0 lineto
+235.84796 9.07108 lineto
+217.70581 9.07108 lineto
+ closepath stroke
+238.84796 2.34378 moveto
+(Aqua) cmr9 8.96637 fshow
+ 0.498 1 0.83 setrgbcolor
+newpath 326.55872 0 moveto
+344.70087 0 lineto
+344.70087 9.07108 lineto
+326.55872 9.07108 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 0 moveto
+344.70087 0 lineto
+344.70087 9.07108 lineto
+326.55872 9.07108 lineto
+ closepath stroke
+347.70087 2.34378 moveto
+(Aquamarine) cmr9 8.96637 fshow
+ 0.94 1 1 setrgbcolor
+newpath 0 -11.79242 moveto
+18.14215 -11.79242 lineto
+18.14215 -2.72134 lineto
+0 -2.72134 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -11.79242 moveto
+18.14215 -11.79242 lineto
+18.14215 -2.72134 lineto
+0 -2.72134 lineto
+ closepath stroke
+21.14215 -10.32039 moveto
+(Azure) cmr9 8.96637 fshow
+ 0.96 0.96 0.864 setrgbcolor
+newpath 108.8529 -11.79242 moveto
+126.99506 -11.79242 lineto
+126.99506 -2.72134 lineto
+108.8529 -2.72134 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -11.79242 moveto
+126.99506 -11.79242 lineto
+126.99506 -2.72134 lineto
+108.8529 -2.72134 lineto
+ closepath stroke
+129.99506 -9.44864 moveto
+(Beige) cmr9 8.96637 fshow
+ 1 0.894 0.77 setrgbcolor
+newpath 217.70581 -11.79242 moveto
+235.84796 -11.79242 lineto
+235.84796 -2.72134 lineto
+217.70581 -2.72134 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -11.79242 moveto
+235.84796 -11.79242 lineto
+235.84796 -2.72134 lineto
+217.70581 -2.72134 lineto
+ closepath stroke
+238.84796 -9.44864 moveto
+(Bisque) cmr9 8.96637 fshow
+newpath 326.55872 -11.79242 moveto
+344.70087 -11.79242 lineto
+344.70087 -2.72134 lineto
+326.55872 -2.72134 lineto
+ closepath fill
+newpath 326.55872 -11.79242 moveto
+344.70087 -11.79242 lineto
+344.70087 -2.72134 lineto
+326.55872 -2.72134 lineto
+ closepath stroke
+347.70087 -10.37024 moveto
+(Blac) cmr9 8.96637 fshow
+365.23497 -10.37024 moveto
+(k) cmr9 8.96637 fshow
+ 1 0.92 0.804 setrgbcolor
+newpath 0 -23.58485 moveto
+18.14215 -23.58485 lineto
+18.14215 -14.51378 lineto
+0 -14.51378 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -23.58485 moveto
+18.14215 -23.58485 lineto
+18.14215 -14.51378 lineto
+0 -14.51378 lineto
+ closepath stroke
+21.14215 -22.16267 moveto
+(Blanc) cmr9 8.96637 fshow
+43.79594 -22.16267 moveto
+(hedAlmond) cmr9 8.96637 fshow
+ 0 0 1 setrgbcolor
+newpath 108.8529 -23.58485 moveto
+126.99506 -23.58485 lineto
+126.99506 -14.51378 lineto
+108.8529 -14.51378 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -23.58485 moveto
+126.99506 -23.58485 lineto
+126.99506 -14.51378 lineto
+108.8529 -14.51378 lineto
+ closepath stroke
+129.99506 -22.16267 moveto
+(Blue) cmr9 8.96637 fshow
+ 0.54 0.17 0.888 setrgbcolor
+newpath 217.70581 -23.58485 moveto
+235.84796 -23.58485 lineto
+235.84796 -14.51378 lineto
+217.70581 -14.51378 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -23.58485 moveto
+235.84796 -23.58485 lineto
+235.84796 -14.51378 lineto
+217.70581 -14.51378 lineto
+ closepath stroke
+238.84796 -22.16267 moveto
+(BlueViolet) cmr9 8.96637 fshow
+ 0.648 0.165 0.165 setrgbcolor
+newpath 326.55872 -23.58485 moveto
+344.70087 -23.58485 lineto
+344.70087 -14.51378 lineto
+326.55872 -14.51378 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -23.58485 moveto
+344.70087 -23.58485 lineto
+344.70087 -14.51378 lineto
+326.55872 -14.51378 lineto
+ closepath stroke
+347.70087 -22.11282 moveto
+(Bro) cmr9 8.96637 fshow
+362.18396 -22.11282 moveto
+(wn) cmr9 8.96637 fshow
+ 0.87 0.72 0.53 setrgbcolor
+newpath 0 -35.37727 moveto
+18.14215 -35.37727 lineto
+18.14215 -26.3062 lineto
+0 -26.3062 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -35.37727 moveto
+18.14215 -35.37727 lineto
+18.14215 -26.3062 lineto
+0 -26.3062 lineto
+ closepath stroke
+21.14215 -33.08334 moveto
+(BurlyW) cmr9 8.96637 fshow
+52.51865 -33.08334 moveto
+(o) cmr9 8.96637 fshow
+57.38235 -33.08334 moveto
+(o) cmr9 8.96637 fshow
+62.24605 -33.08334 moveto
+(d) cmr9 8.96637 fshow
+ 0.372 0.62 0.628 setrgbcolor
+newpath 108.8529 -35.37727 moveto
+126.99506 -35.37727 lineto
+126.99506 -26.3062 lineto
+108.8529 -26.3062 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -35.37727 moveto
+126.99506 -35.37727 lineto
+126.99506 -26.3062 lineto
+108.8529 -26.3062 lineto
+ closepath stroke
+129.99506 -33.9551 moveto
+(CadetBlue) cmr9 8.96637 fshow
+ 0.498 1 0 setrgbcolor
+newpath 217.70581 -35.37727 moveto
+235.84796 -35.37727 lineto
+235.84796 -26.3062 lineto
+217.70581 -26.3062 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -35.37727 moveto
+235.84796 -35.37727 lineto
+235.84796 -26.3062 lineto
+217.70581 -26.3062 lineto
+ closepath stroke
+238.84796 -33.9551 moveto
+(Chartreuse) cmr9 8.96637 fshow
+ 0.824 0.41 0.116 setrgbcolor
+newpath 326.55872 -35.37727 moveto
+344.70087 -35.37727 lineto
+344.70087 -26.3062 lineto
+326.55872 -26.3062 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -35.37727 moveto
+344.70087 -35.37727 lineto
+344.70087 -26.3062 lineto
+326.55872 -26.3062 lineto
+ closepath stroke
+347.70087 -33.9551 moveto
+(Cho) cmr9 8.96637 fshow
+364.33977 -33.9551 moveto
+(colate) cmr9 8.96637 fshow
+ 1 0.498 0.312 setrgbcolor
+newpath 0 -47.16971 moveto
+18.14215 -47.16971 lineto
+18.14215 -38.09863 lineto
+0 -38.09863 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -47.16971 moveto
+18.14215 -47.16971 lineto
+18.14215 -38.09863 lineto
+0 -38.09863 lineto
+ closepath stroke
+21.14215 -45.74753 moveto
+(Coral) cmr9 8.96637 fshow
+ 0.392 0.585 0.93 setrgbcolor
+newpath 108.8529 -47.16971 moveto
+126.99506 -47.16971 lineto
+126.99506 -38.09863 lineto
+108.8529 -38.09863 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -47.16971 moveto
+126.99506 -47.16971 lineto
+126.99506 -38.09863 lineto
+108.8529 -38.09863 lineto
+ closepath stroke
+129.99506 -45.74753 moveto
+(Corn\015o) cmr9 8.96637 fshow
+159.45386 -45.74753 moveto
+(w) cmr9 8.96637 fshow
+165.85336 -45.74753 moveto
+(erBlue) cmr9 8.96637 fshow
+ 1 0.972 0.864 setrgbcolor
+newpath 217.70581 -47.16971 moveto
+235.84796 -47.16971 lineto
+235.84796 -38.09863 lineto
+217.70581 -38.09863 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -47.16971 moveto
+235.84796 -47.16971 lineto
+235.84796 -38.09863 lineto
+217.70581 -38.09863 lineto
+ closepath stroke
+238.84796 -45.74753 moveto
+(Cornsilk) cmr9 8.96637 fshow
+ 0.864 0.08 0.235 setrgbcolor
+newpath 326.55872 -47.16971 moveto
+344.70087 -47.16971 lineto
+344.70087 -38.09863 lineto
+326.55872 -38.09863 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -47.16971 moveto
+344.70087 -47.16971 lineto
+344.70087 -38.09863 lineto
+326.55872 -38.09863 lineto
+ closepath stroke
+347.70087 -45.69768 moveto
+(Crimson) cmr9 8.96637 fshow
+ 0 1 1 setrgbcolor
+newpath 0 -58.96213 moveto
+18.14215 -58.96213 lineto
+18.14215 -49.89105 lineto
+0 -49.89105 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -58.96213 moveto
+18.14215 -58.96213 lineto
+18.14215 -49.89105 lineto
+0 -49.89105 lineto
+ closepath stroke
+21.14215 -56.61835 moveto
+(Cy) cmr9 8.96637 fshow
+32.40535 -56.61835 moveto
+(an) cmr9 8.96637 fshow
+ 0 0 0.545 setrgbcolor
+newpath 108.8529 -58.96213 moveto
+126.99506 -58.96213 lineto
+126.99506 -49.89105 lineto
+108.8529 -49.89105 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -58.96213 moveto
+126.99506 -58.96213 lineto
+126.99506 -49.89105 lineto
+108.8529 -49.89105 lineto
+ closepath stroke
+129.99506 -57.53995 moveto
+(DarkBlue) cmr9 8.96637 fshow
+ 0 0.545 0.545 setrgbcolor
+newpath 217.70581 -58.96213 moveto
+235.84796 -58.96213 lineto
+235.84796 -49.89105 lineto
+217.70581 -49.89105 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -58.96213 moveto
+235.84796 -58.96213 lineto
+235.84796 -49.89105 lineto
+217.70581 -49.89105 lineto
+ closepath stroke
+238.84796 -56.6682 moveto
+(DarkCy) cmr9 8.96637 fshow
+270.22586 -56.6682 moveto
+(an) cmr9 8.96637 fshow
+ 0.72 0.525 0.044 setrgbcolor
+newpath 326.55872 -58.96213 moveto
+344.70087 -58.96213 lineto
+344.70087 -49.89105 lineto
+326.55872 -49.89105 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -58.96213 moveto
+344.70087 -58.96213 lineto
+344.70087 -49.89105 lineto
+326.55872 -49.89105 lineto
+ closepath stroke
+347.70087 -57.53995 moveto
+(DarkGoldenro) cmr9 8.96637 fshow
+405.02097 -57.53995 moveto
+(d) cmr9 8.96637 fshow
+ 0.664 0.664 0.664 setrgbcolor
+newpath 0 -70.75455 moveto
+18.14215 -70.75455 lineto
+18.14215 -61.68347 lineto
+0 -61.68347 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -70.75455 moveto
+18.14215 -70.75455 lineto
+18.14215 -61.68347 lineto
+0 -61.68347 lineto
+ closepath stroke
+21.14215 -68.46062 moveto
+(DarkGra) cmr9 8.96637 fshow
+56.44424 -68.46062 moveto
+(y) cmr9 8.96637 fshow
+ 0 0.392 0 setrgbcolor
+newpath 108.8529 -70.75455 moveto
+126.99506 -70.75455 lineto
+126.99506 -61.68347 lineto
+108.8529 -61.68347 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -70.75455 moveto
+126.99506 -70.75455 lineto
+126.99506 -61.68347 lineto
+108.8529 -61.68347 lineto
+ closepath stroke
+129.99506 -69.33237 moveto
+(DarkGreen) cmr9 8.96637 fshow
+ 0.664 0.664 0.664 setrgbcolor
+newpath 217.70581 -70.75455 moveto
+235.84796 -70.75455 lineto
+235.84796 -61.68347 lineto
+217.70581 -61.68347 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -70.75455 moveto
+235.84796 -70.75455 lineto
+235.84796 -61.68347 lineto
+217.70581 -61.68347 lineto
+ closepath stroke
+238.84796 -68.46062 moveto
+(DarkGrey) cmr9 8.96637 fshow
+ 0.74 0.716 0.42 setrgbcolor
+newpath 326.55872 -70.75455 moveto
+344.70087 -70.75455 lineto
+344.70087 -61.68347 lineto
+326.55872 -61.68347 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -70.75455 moveto
+344.70087 -70.75455 lineto
+344.70087 -61.68347 lineto
+326.55872 -61.68347 lineto
+ closepath stroke
+347.70087 -69.33237 moveto
+(DarkKhaki) cmr9 8.96637 fshow
+ 0.545 0 0.545 setrgbcolor
+newpath 0 -82.54698 moveto
+18.14215 -82.54698 lineto
+18.14215 -73.4759 lineto
+0 -73.4759 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -82.54698 moveto
+18.14215 -82.54698 lineto
+18.14215 -73.4759 lineto
+0 -73.4759 lineto
+ closepath stroke
+21.14215 -80.25305 moveto
+(DarkMagen) cmr9 8.96637 fshow
+67.88115 -80.25305 moveto
+(ta) cmr9 8.96637 fshow
+ 0.332 0.42 0.185 setrgbcolor
+newpath 108.8529 -82.54698 moveto
+126.99506 -82.54698 lineto
+126.99506 -73.4759 lineto
+108.8529 -73.4759 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -82.54698 moveto
+126.99506 -82.54698 lineto
+126.99506 -73.4759 lineto
+108.8529 -73.4759 lineto
+ closepath stroke
+129.99506 -81.1248 moveto
+(DarkOliv) cmr9 8.96637 fshow
+167.00465 -81.1248 moveto
+(eGreen) cmr9 8.96637 fshow
+ 1 0.55 0 setrgbcolor
+newpath 217.70581 -82.54698 moveto
+235.84796 -82.54698 lineto
+235.84796 -73.4759 lineto
+217.70581 -73.4759 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -82.54698 moveto
+235.84796 -82.54698 lineto
+235.84796 -73.4759 lineto
+217.70581 -73.4759 lineto
+ closepath stroke
+238.84796 -80.25305 moveto
+(DarkOrange) cmr9 8.96637 fshow
+ 0.6 0.196 0.8 setrgbcolor
+newpath 326.55872 -82.54698 moveto
+344.70087 -82.54698 lineto
+344.70087 -73.4759 lineto
+326.55872 -73.4759 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -82.54698 moveto
+344.70087 -82.54698 lineto
+344.70087 -73.4759 lineto
+326.55872 -73.4759 lineto
+ closepath stroke
+347.70087 -81.1248 moveto
+(DarkOrc) cmr9 8.96637 fshow
+382.42737 -81.1248 moveto
+(hid) cmr9 8.96637 fshow
+ 0.545 0 0 setrgbcolor
+newpath 0 -94.3394 moveto
+18.14215 -94.3394 lineto
+18.14215 -85.26833 lineto
+0 -85.26833 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -94.3394 moveto
+18.14215 -94.3394 lineto
+18.14215 -85.26833 lineto
+0 -85.26833 lineto
+ closepath stroke
+21.14215 -92.91722 moveto
+(DarkRed) cmr9 8.96637 fshow
+ 0.912 0.59 0.48 setrgbcolor
+newpath 108.8529 -94.3394 moveto
+126.99506 -94.3394 lineto
+126.99506 -85.26833 lineto
+108.8529 -85.26833 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -94.3394 moveto
+126.99506 -94.3394 lineto
+126.99506 -85.26833 lineto
+108.8529 -85.26833 lineto
+ closepath stroke
+129.99506 -92.91722 moveto
+(DarkSalmon) cmr9 8.96637 fshow
+ 0.56 0.736 0.56 setrgbcolor
+newpath 217.70581 -94.3394 moveto
+235.84796 -94.3394 lineto
+235.84796 -85.26833 lineto
+217.70581 -85.26833 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -94.3394 moveto
+235.84796 -94.3394 lineto
+235.84796 -85.26833 lineto
+217.70581 -85.26833 lineto
+ closepath stroke
+238.84796 -92.91722 moveto
+(DarkSeaGreen) cmr9 8.96637 fshow
+ 0.284 0.24 0.545 setrgbcolor
+newpath 326.55872 -94.3394 moveto
+344.70087 -94.3394 lineto
+344.70087 -85.26833 lineto
+326.55872 -85.26833 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -94.3394 moveto
+344.70087 -94.3394 lineto
+344.70087 -85.26833 lineto
+326.55872 -85.26833 lineto
+ closepath stroke
+347.70087 -92.91722 moveto
+(DarkSlateBlue) cmr9 8.96637 fshow
+ 0.185 0.31 0.31 setrgbcolor
+newpath 0 -106.13184 moveto
+18.14215 -106.13184 lineto
+18.14215 -97.06076 lineto
+0 -97.06076 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -106.13184 moveto
+18.14215 -106.13184 lineto
+18.14215 -97.06076 lineto
+0 -97.06076 lineto
+ closepath stroke
+21.14215 -103.8379 moveto
+(DarkSlateGra) cmr9 8.96637 fshow
+76.41435 -103.8379 moveto
+(y) cmr9 8.96637 fshow
+ 0.185 0.31 0.31 setrgbcolor
+newpath 108.8529 -106.13184 moveto
+126.99506 -106.13184 lineto
+126.99506 -97.06076 lineto
+108.8529 -97.06076 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -106.13184 moveto
+126.99506 -106.13184 lineto
+126.99506 -97.06076 lineto
+108.8529 -97.06076 lineto
+ closepath stroke
+129.99506 -103.8379 moveto
+(DarkSlateGrey) cmr9 8.96637 fshow
+ 0 0.808 0.82 setrgbcolor
+newpath 217.70581 -106.13184 moveto
+235.84796 -106.13184 lineto
+235.84796 -97.06076 lineto
+217.70581 -97.06076 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -106.13184 moveto
+235.84796 -106.13184 lineto
+235.84796 -97.06076 lineto
+217.70581 -97.06076 lineto
+ closepath stroke
+238.84796 -103.8379 moveto
+(DarkT) cmr9 8.96637 fshow
+264.85027 -103.8379 moveto
+(urquoise) cmr9 8.96637 fshow
+ 0.58 0 0.828 setrgbcolor
+newpath 326.55872 -106.13184 moveto
+344.70087 -106.13184 lineto
+344.70087 -97.06076 lineto
+326.55872 -97.06076 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -106.13184 moveto
+344.70087 -106.13184 lineto
+344.70087 -97.06076 lineto
+326.55872 -97.06076 lineto
+ closepath stroke
+347.70087 -104.70966 moveto
+(DarkViolet) cmr9 8.96637 fshow
+ 1 0.08 0.576 setrgbcolor
+newpath 0 -117.92426 moveto
+18.14215 -117.92426 lineto
+18.14215 -108.85318 lineto
+0 -108.85318 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -117.92426 moveto
+18.14215 -117.92426 lineto
+18.14215 -108.85318 lineto
+0 -108.85318 lineto
+ closepath stroke
+21.14215 -115.63033 moveto
+(DeepPink) cmr9 8.96637 fshow
+ 0 0.75 1 setrgbcolor
+newpath 108.8529 -117.92426 moveto
+126.99506 -117.92426 lineto
+126.99506 -108.85318 lineto
+108.8529 -108.85318 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -117.92426 moveto
+126.99506 -117.92426 lineto
+126.99506 -108.85318 lineto
+108.8529 -108.85318 lineto
+ closepath stroke
+129.99506 -115.63033 moveto
+(DeepSkyBlue) cmr9 8.96637 fshow
+ 0.41 0.41 0.41 setrgbcolor
+newpath 217.70581 -117.92426 moveto
+235.84796 -117.92426 lineto
+235.84796 -108.85318 lineto
+217.70581 -108.85318 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -117.92426 moveto
+235.84796 -117.92426 lineto
+235.84796 -108.85318 lineto
+217.70581 -108.85318 lineto
+ closepath stroke
+238.84796 -115.58047 moveto
+(DimGra) cmr9 8.96637 fshow
+271.31346 -115.58047 moveto
+(y) cmr9 8.96637 fshow
+ 0.41 0.41 0.41 setrgbcolor
+newpath 326.55872 -117.92426 moveto
+344.70087 -117.92426 lineto
+344.70087 -108.85318 lineto
+326.55872 -108.85318 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -117.92426 moveto
+344.70087 -117.92426 lineto
+344.70087 -108.85318 lineto
+326.55872 -108.85318 lineto
+ closepath stroke
+347.70087 -115.58047 moveto
+(DimGrey) cmr9 8.96637 fshow
+ 0.116 0.565 1 setrgbcolor
+newpath 0 -129.71669 moveto
+18.14215 -129.71669 lineto
+18.14215 -120.64561 lineto
+0 -120.64561 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -129.71669 moveto
+18.14215 -129.71669 lineto
+18.14215 -120.64561 lineto
+0 -120.64561 lineto
+ closepath stroke
+21.14215 -127.42276 moveto
+(Do) cmr9 8.96637 fshow
+33.04465 -127.42276 moveto
+(dgerBlue) cmr9 8.96637 fshow
+ 0.698 0.132 0.132 setrgbcolor
+newpath 108.8529 -129.71669 moveto
+126.99506 -129.71669 lineto
+126.99506 -120.64561 lineto
+108.8529 -120.64561 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -129.71669 moveto
+126.99506 -129.71669 lineto
+126.99506 -120.64561 lineto
+108.8529 -120.64561 lineto
+ closepath stroke
+129.99506 -128.29451 moveto
+(FireBric) cmr9 8.96637 fshow
+162.80435 -128.29451 moveto
+(k) cmr9 8.96637 fshow
+ 1 0.98 0.94 setrgbcolor
+newpath 217.70581 -129.71669 moveto
+235.84796 -129.71669 lineto
+235.84796 -120.64561 lineto
+217.70581 -120.64561 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -129.71669 moveto
+235.84796 -129.71669 lineto
+235.84796 -120.64561 lineto
+217.70581 -120.64561 lineto
+ closepath stroke
+238.84796 -128.29451 moveto
+(FloralWhite) cmr9 8.96637 fshow
+ 0.132 0.545 0.132 setrgbcolor
+newpath 326.55872 -129.71669 moveto
+344.70087 -129.71669 lineto
+344.70087 -120.64561 lineto
+326.55872 -120.64561 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -129.71669 moveto
+344.70087 -129.71669 lineto
+344.70087 -120.64561 lineto
+326.55872 -120.64561 lineto
+ closepath stroke
+347.70087 -128.24466 moveto
+(F) cmr9 8.96637 fshow
+352.94777 -128.24466 moveto
+(orestGreen) cmr9 8.96637 fshow
+ 1 0 1 setrgbcolor
+newpath 0 -141.50911 moveto
+18.14215 -141.50911 lineto
+18.14215 -132.43803 lineto
+0 -132.43803 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -141.50911 moveto
+18.14215 -141.50911 lineto
+18.14215 -132.43803 lineto
+0 -132.43803 lineto
+ closepath stroke
+21.14215 -140.08693 moveto
+(F) cmr9 8.96637 fshow
+26.38905 -140.08693 moveto
+(uc) cmr9 8.96637 fshow
+35.34845 -140.08693 moveto
+(hsia) cmr9 8.96637 fshow
+ 0.864 0.864 0.864 setrgbcolor
+newpath 108.8529 -141.50911 moveto
+126.99506 -141.50911 lineto
+126.99506 -132.43803 lineto
+108.8529 -132.43803 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -141.50911 moveto
+126.99506 -141.50911 lineto
+126.99506 -132.43803 lineto
+108.8529 -132.43803 lineto
+ closepath stroke
+129.99506 -140.08693 moveto
+(Gainsb) cmr9 8.96637 fshow
+158.52396 -140.08693 moveto
+(oro) cmr9 8.96637 fshow
+ 0.972 0.972 1 setrgbcolor
+newpath 217.70581 -141.50911 moveto
+235.84796 -141.50911 lineto
+235.84796 -132.43803 lineto
+217.70581 -132.43803 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -141.50911 moveto
+235.84796 -141.50911 lineto
+235.84796 -132.43803 lineto
+217.70581 -132.43803 lineto
+ closepath stroke
+238.84796 -140.08693 moveto
+(GhostWhite) cmr9 8.96637 fshow
+ 1 0.844 0 setrgbcolor
+newpath 326.55872 -141.50911 moveto
+344.70087 -141.50911 lineto
+344.70087 -132.43803 lineto
+326.55872 -132.43803 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -141.50911 moveto
+344.70087 -141.50911 lineto
+344.70087 -132.43803 lineto
+326.55872 -132.43803 lineto
+ closepath stroke
+347.70087 -140.08693 moveto
+(Gold) cmr9 8.96637 fshow
+ 0.855 0.648 0.125 setrgbcolor
+newpath 0 -153.30153 moveto
+18.14215 -153.30153 lineto
+18.14215 -144.23045 lineto
+0 -144.23045 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -153.30153 moveto
+18.14215 -153.30153 lineto
+18.14215 -144.23045 lineto
+0 -144.23045 lineto
+ closepath stroke
+21.14215 -151.87935 moveto
+(Goldenro) cmr9 8.96637 fshow
+58.34755 -151.87935 moveto
+(d) cmr9 8.96637 fshow
+ 0.5 0.5 0.5 setrgbcolor
+newpath 108.8529 -153.30153 moveto
+126.99506 -153.30153 lineto
+126.99506 -144.23045 lineto
+108.8529 -144.23045 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -153.30153 moveto
+126.99506 -153.30153 lineto
+126.99506 -144.23045 lineto
+108.8529 -144.23045 lineto
+ closepath stroke
+129.99506 -150.95775 moveto
+(Gra) cmr9 8.96637 fshow
+145.18245 -150.95775 moveto
+(y) cmr9 8.96637 fshow
+ 0 0.5 0 setrgbcolor
+newpath 217.70581 -153.30153 moveto
+235.84796 -153.30153 lineto
+235.84796 -144.23045 lineto
+217.70581 -144.23045 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -153.30153 moveto
+235.84796 -153.30153 lineto
+235.84796 -144.23045 lineto
+217.70581 -144.23045 lineto
+ closepath stroke
+238.84796 -151.8295 moveto
+(Green) cmr9 8.96637 fshow
+ 0.68 1 0.185 setrgbcolor
+newpath 326.55872 -153.30153 moveto
+344.70087 -153.30153 lineto
+344.70087 -144.23045 lineto
+326.55872 -144.23045 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -153.30153 moveto
+344.70087 -153.30153 lineto
+344.70087 -144.23045 lineto
+326.55872 -144.23045 lineto
+ closepath stroke
+347.70087 -151.87935 moveto
+(GreenY) cmr9 8.96637 fshow
+377.99677 -151.87935 moveto
+(ello) cmr9 8.96637 fshow
+391.56726 -151.87935 moveto
+(w) cmr9 8.96637 fshow
+ 0.5 0.5 0.5 setrgbcolor
+newpath 0 -165.09396 moveto
+18.14215 -165.09396 lineto
+18.14215 -156.02289 lineto
+0 -156.02289 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -165.09396 moveto
+18.14215 -165.09396 lineto
+18.14215 -156.02289 lineto
+0 -156.02289 lineto
+ closepath stroke
+21.14215 -162.75018 moveto
+(Grey) cmr9 8.96637 fshow
+ 0.94 1 0.94 setrgbcolor
+newpath 108.8529 -165.09396 moveto
+126.99506 -165.09396 lineto
+126.99506 -156.02289 lineto
+108.8529 -156.02289 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -165.09396 moveto
+126.99506 -165.09396 lineto
+126.99506 -156.02289 lineto
+108.8529 -156.02289 lineto
+ closepath stroke
+129.99506 -162.80003 moveto
+(Honeydew) cmr9 8.96637 fshow
+ 1 0.41 0.705 setrgbcolor
+newpath 217.70581 -165.09396 moveto
+235.84796 -165.09396 lineto
+235.84796 -156.02289 lineto
+217.70581 -156.02289 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -165.09396 moveto
+235.84796 -165.09396 lineto
+235.84796 -156.02289 lineto
+217.70581 -156.02289 lineto
+ closepath stroke
+238.84796 -163.67178 moveto
+(HotPink) cmr9 8.96637 fshow
+ 0.804 0.36 0.36 setrgbcolor
+newpath 326.55872 -165.09396 moveto
+344.70087 -165.09396 lineto
+344.70087 -156.02289 lineto
+326.55872 -156.02289 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -165.09396 moveto
+344.70087 -165.09396 lineto
+344.70087 -156.02289 lineto
+326.55872 -156.02289 lineto
+ closepath stroke
+347.70087 -163.67178 moveto
+(IndianRed) cmr9 8.96637 fshow
+ 0.294 0 0.51 setrgbcolor
+newpath 0 -176.88638 moveto
+18.14215 -176.88638 lineto
+18.14215 -167.8153 lineto
+0 -167.8153 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -176.88638 moveto
+18.14215 -176.88638 lineto
+18.14215 -167.8153 lineto
+0 -167.8153 lineto
+ closepath stroke
+21.14215 -174.59245 moveto
+(Indigo) cmr9 8.96637 fshow
+ 1 1 0.94 setrgbcolor
+newpath 108.8529 -176.88638 moveto
+126.99506 -176.88638 lineto
+126.99506 -167.8153 lineto
+108.8529 -167.8153 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -176.88638 moveto
+126.99506 -176.88638 lineto
+126.99506 -167.8153 lineto
+108.8529 -167.8153 lineto
+ closepath stroke
+129.99506 -174.5426 moveto
+(Iv) cmr9 8.96637 fshow
+137.92915 -174.5426 moveto
+(ory) cmr9 8.96637 fshow
+ 0.94 0.9 0.55 setrgbcolor
+newpath 217.70581 -176.88638 moveto
+235.84796 -176.88638 lineto
+235.84796 -167.8153 lineto
+217.70581 -167.8153 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -176.88638 moveto
+235.84796 -176.88638 lineto
+235.84796 -167.8153 lineto
+217.70581 -167.8153 lineto
+ closepath stroke
+238.84796 -175.4642 moveto
+(Khaki) cmr9 8.96637 fshow
+ 0.9 0.9 0.98 setrgbcolor
+newpath 326.55872 -176.88638 moveto
+344.70087 -176.88638 lineto
+344.70087 -167.8153 lineto
+326.55872 -167.8153 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -176.88638 moveto
+344.70087 -176.88638 lineto
+344.70087 -167.8153 lineto
+326.55872 -167.8153 lineto
+ closepath stroke
+347.70087 -175.4642 moveto
+(La) cmr9 8.96637 fshow
+357.81146 -175.4642 moveto
+(v) cmr9 8.96637 fshow
+362.41917 -175.4642 moveto
+(ender) cmr9 8.96637 fshow
+ 1 0.94 0.96 setrgbcolor
+newpath 0 -188.67882 moveto
+18.14215 -188.67882 lineto
+18.14215 -179.60774 lineto
+0 -179.60774 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -188.67882 moveto
+18.14215 -188.67882 lineto
+18.14215 -179.60774 lineto
+0 -179.60774 lineto
+ closepath stroke
+21.14215 -187.25664 moveto
+(La) cmr9 8.96637 fshow
+31.25275 -187.25664 moveto
+(v) cmr9 8.96637 fshow
+35.86046 -187.25664 moveto
+(enderBlush) cmr9 8.96637 fshow
+ 0.488 0.99 0 setrgbcolor
+newpath 108.8529 -188.67882 moveto
+126.99506 -188.67882 lineto
+126.99506 -179.60774 lineto
+108.8529 -179.60774 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -188.67882 moveto
+126.99506 -188.67882 lineto
+126.99506 -179.60774 lineto
+108.8529 -179.60774 lineto
+ closepath stroke
+129.99506 -187.20679 moveto
+(La) cmr9 8.96637 fshow
+140.10565 -187.20679 moveto
+(wnGreen) cmr9 8.96637 fshow
+ 1 0.98 0.804 setrgbcolor
+newpath 217.70581 -188.67882 moveto
+235.84796 -188.67882 lineto
+235.84796 -179.60774 lineto
+217.70581 -179.60774 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -188.67882 moveto
+235.84796 -188.67882 lineto
+235.84796 -179.60774 lineto
+217.70581 -179.60774 lineto
+ closepath stroke
+238.84796 -187.25664 moveto
+(LemonChi\013on) cmr9 8.96637 fshow
+ 0.68 0.848 0.9 setrgbcolor
+newpath 326.55872 -188.67882 moveto
+344.70087 -188.67882 lineto
+344.70087 -179.60774 lineto
+326.55872 -179.60774 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -188.67882 moveto
+344.70087 -188.67882 lineto
+344.70087 -179.60774 lineto
+326.55872 -179.60774 lineto
+ closepath stroke
+347.70087 -186.38489 moveto
+(Ligh) cmr9 8.96637 fshow
+365.49097 -186.38489 moveto
+(tBlue) cmr9 8.96637 fshow
+ 0.94 0.5 0.5 setrgbcolor
+newpath 0 -200.47124 moveto
+18.14215 -200.47124 lineto
+18.14215 -191.40016 lineto
+0 -191.40016 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -200.47124 moveto
+18.14215 -200.47124 lineto
+18.14215 -191.40016 lineto
+0 -191.40016 lineto
+ closepath stroke
+21.14215 -198.1773 moveto
+(Ligh) cmr9 8.96637 fshow
+38.93225 -198.1773 moveto
+(tCoral) cmr9 8.96637 fshow
+ 0.88 1 1 setrgbcolor
+newpath 108.8529 -200.47124 moveto
+126.99506 -200.47124 lineto
+126.99506 -191.40016 lineto
+108.8529 -191.40016 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -200.47124 moveto
+126.99506 -200.47124 lineto
+126.99506 -191.40016 lineto
+108.8529 -191.40016 lineto
+ closepath stroke
+129.99506 -198.1773 moveto
+(Ligh) cmr9 8.96637 fshow
+147.78516 -198.1773 moveto
+(tCy) cmr9 8.96637 fshow
+162.63216 -198.1773 moveto
+(an) cmr9 8.96637 fshow
+ 0.933 0.867 0.51 setrgbcolor
+newpath 217.70581 -200.47124 moveto
+235.84796 -200.47124 lineto
+235.84796 -191.40016 lineto
+217.70581 -191.40016 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -200.47124 moveto
+235.84796 -200.47124 lineto
+235.84796 -191.40016 lineto
+217.70581 -191.40016 lineto
+ closepath stroke
+238.84796 -198.1773 moveto
+(Ligh) cmr9 8.96637 fshow
+256.63806 -198.1773 moveto
+(tGoldenro) cmr9 8.96637 fshow
+297.42715 -198.1773 moveto
+(d) cmr9 8.96637 fshow
+ 0.98 0.98 0.824 setrgbcolor
+newpath 326.55872 -200.47124 moveto
+344.70087 -200.47124 lineto
+344.70087 -191.40016 lineto
+326.55872 -191.40016 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -200.47124 moveto
+344.70087 -200.47124 lineto
+344.70087 -191.40016 lineto
+326.55872 -191.40016 lineto
+ closepath stroke
+347.70087 -198.1773 moveto
+(Ligh) cmr9 8.96637 fshow
+365.49097 -198.1773 moveto
+(tGoldenro) cmr9 8.96637 fshow
+406.28006 -198.1773 moveto
+(dY) cmr9 8.96637 fshow
+417.54196 -198.1773 moveto
+(ello) cmr9 8.96637 fshow
+431.11247 -198.1773 moveto
+(w) cmr9 8.96637 fshow
+ 0.828 0.828 0.828 setrgbcolor
+newpath 0 -212.26366 moveto
+18.14215 -212.26366 lineto
+18.14215 -203.19258 lineto
+0 -203.19258 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -212.26366 moveto
+18.14215 -212.26366 lineto
+18.14215 -203.19258 lineto
+0 -203.19258 lineto
+ closepath stroke
+21.14215 -209.96973 moveto
+(Ligh) cmr9 8.96637 fshow
+38.93225 -209.96973 moveto
+(tGra) cmr9 8.96637 fshow
+57.70335 -209.96973 moveto
+(y) cmr9 8.96637 fshow
+ 0.565 0.932 0.565 setrgbcolor
+newpath 108.8529 -212.26366 moveto
+126.99506 -212.26366 lineto
+126.99506 -203.19258 lineto
+108.8529 -203.19258 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -212.26366 moveto
+126.99506 -212.26366 lineto
+126.99506 -203.19258 lineto
+108.8529 -203.19258 lineto
+ closepath stroke
+129.99506 -209.96973 moveto
+(Ligh) cmr9 8.96637 fshow
+147.78516 -209.96973 moveto
+(tGreen) cmr9 8.96637 fshow
+ 0.828 0.828 0.828 setrgbcolor
+newpath 217.70581 -212.26366 moveto
+235.84796 -212.26366 lineto
+235.84796 -203.19258 lineto
+217.70581 -203.19258 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -212.26366 moveto
+235.84796 -212.26366 lineto
+235.84796 -203.19258 lineto
+217.70581 -203.19258 lineto
+ closepath stroke
+238.84796 -209.96973 moveto
+(Ligh) cmr9 8.96637 fshow
+256.63806 -209.96973 moveto
+(tGrey) cmr9 8.96637 fshow
+ 1 0.712 0.756 setrgbcolor
+newpath 326.55872 -212.26366 moveto
+344.70087 -212.26366 lineto
+344.70087 -203.19258 lineto
+326.55872 -203.19258 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -212.26366 moveto
+344.70087 -212.26366 lineto
+344.70087 -203.19258 lineto
+326.55872 -203.19258 lineto
+ closepath stroke
+347.70087 -209.96973 moveto
+(Ligh) cmr9 8.96637 fshow
+365.49097 -209.96973 moveto
+(tPink) cmr9 8.96637 fshow
+ 1 0.628 0.48 setrgbcolor
+newpath 0 -224.05609 moveto
+18.14215 -224.05609 lineto
+18.14215 -214.98502 lineto
+0 -214.98502 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -224.05609 moveto
+18.14215 -224.05609 lineto
+18.14215 -214.98502 lineto
+0 -214.98502 lineto
+ closepath stroke
+21.14215 -221.76216 moveto
+(Ligh) cmr9 8.96637 fshow
+38.93225 -221.76216 moveto
+(tSalmon) cmr9 8.96637 fshow
+ 0.125 0.698 0.668 setrgbcolor
+newpath 108.8529 -224.05609 moveto
+126.99506 -224.05609 lineto
+126.99506 -214.98502 lineto
+108.8529 -214.98502 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -224.05609 moveto
+126.99506 -224.05609 lineto
+126.99506 -214.98502 lineto
+108.8529 -214.98502 lineto
+ closepath stroke
+129.99506 -221.76216 moveto
+(Ligh) cmr9 8.96637 fshow
+147.78516 -221.76216 moveto
+(tSeaGreen) cmr9 8.96637 fshow
+ 0.53 0.808 0.98 setrgbcolor
+newpath 217.70581 -224.05609 moveto
+235.84796 -224.05609 lineto
+235.84796 -214.98502 lineto
+217.70581 -214.98502 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -224.05609 moveto
+235.84796 -224.05609 lineto
+235.84796 -214.98502 lineto
+217.70581 -214.98502 lineto
+ closepath stroke
+238.84796 -221.76216 moveto
+(Ligh) cmr9 8.96637 fshow
+256.63806 -221.76216 moveto
+(tSkyBlue) cmr9 8.96637 fshow
+ 0.518 0.44 1 setrgbcolor
+newpath 326.55872 -224.05609 moveto
+344.70087 -224.05609 lineto
+344.70087 -214.98502 lineto
+326.55872 -214.98502 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -224.05609 moveto
+344.70087 -224.05609 lineto
+344.70087 -214.98502 lineto
+326.55872 -214.98502 lineto
+ closepath stroke
+347.70087 -221.76216 moveto
+(Ligh) cmr9 8.96637 fshow
+365.49097 -221.76216 moveto
+(tSlateBlue) cmr9 8.96637 fshow
+ 0.468 0.532 0.6 setrgbcolor
+newpath 0 -235.84851 moveto
+18.14215 -235.84851 lineto
+18.14215 -226.77744 lineto
+0 -226.77744 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -235.84851 moveto
+18.14215 -235.84851 lineto
+18.14215 -226.77744 lineto
+0 -226.77744 lineto
+ closepath stroke
+21.14215 -233.55458 moveto
+(Ligh) cmr9 8.96637 fshow
+38.93225 -233.55458 moveto
+(tSlateGra) cmr9 8.96637 fshow
+77.67355 -233.55458 moveto
+(y) cmr9 8.96637 fshow
+ 0.468 0.532 0.6 setrgbcolor
+newpath 108.8529 -235.84851 moveto
+126.99506 -235.84851 lineto
+126.99506 -226.77744 lineto
+108.8529 -226.77744 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -235.84851 moveto
+126.99506 -235.84851 lineto
+126.99506 -226.77744 lineto
+108.8529 -226.77744 lineto
+ closepath stroke
+129.99506 -233.55458 moveto
+(Ligh) cmr9 8.96637 fshow
+147.78516 -233.55458 moveto
+(tSlateGrey) cmr9 8.96637 fshow
+ 0.69 0.77 0.87 setrgbcolor
+newpath 217.70581 -235.84851 moveto
+235.84796 -235.84851 lineto
+235.84796 -226.77744 lineto
+217.70581 -226.77744 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -235.84851 moveto
+235.84796 -235.84851 lineto
+235.84796 -226.77744 lineto
+217.70581 -226.77744 lineto
+ closepath stroke
+238.84796 -233.55458 moveto
+(Ligh) cmr9 8.96637 fshow
+256.63806 -233.55458 moveto
+(tSteelBlue) cmr9 8.96637 fshow
+ 1 1 0.88 setrgbcolor
+newpath 326.55872 -235.84851 moveto
+344.70087 -235.84851 lineto
+344.70087 -226.77744 lineto
+326.55872 -226.77744 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -235.84851 moveto
+344.70087 -235.84851 lineto
+344.70087 -226.77744 lineto
+326.55872 -226.77744 lineto
+ closepath stroke
+347.70087 -233.55458 moveto
+(Ligh) cmr9 8.96637 fshow
+365.49097 -233.55458 moveto
+(tY) cmr9 8.96637 fshow
+375.21687 -233.55458 moveto
+(ello) cmr9 8.96637 fshow
+388.78746 -233.55458 moveto
+(w) cmr9 8.96637 fshow
+ 0 1 0 setrgbcolor
+newpath 0 -247.64095 moveto
+18.14215 -247.64095 lineto
+18.14215 -238.56987 lineto
+0 -238.56987 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -247.64095 moveto
+18.14215 -247.64095 lineto
+18.14215 -238.56987 lineto
+0 -238.56987 lineto
+ closepath stroke
+21.14215 -246.16891 moveto
+(Lime) cmr9 8.96637 fshow
+ 0.196 0.804 0.196 setrgbcolor
+newpath 108.8529 -247.64095 moveto
+126.99506 -247.64095 lineto
+126.99506 -238.56987 lineto
+108.8529 -238.56987 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -247.64095 moveto
+126.99506 -247.64095 lineto
+126.99506 -238.56987 lineto
+108.8529 -238.56987 lineto
+ closepath stroke
+129.99506 -246.16891 moveto
+(LimeGreen) cmr9 8.96637 fshow
+ 0.98 0.94 0.9 setrgbcolor
+newpath 217.70581 -247.64095 moveto
+235.84796 -247.64095 lineto
+235.84796 -238.56987 lineto
+217.70581 -238.56987 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -247.64095 moveto
+235.84796 -247.64095 lineto
+235.84796 -238.56987 lineto
+217.70581 -238.56987 lineto
+ closepath stroke
+238.84796 -246.16891 moveto
+(Linen) cmr9 8.96637 fshow
+ 1 0 1 setrgbcolor
+newpath 326.55872 -247.64095 moveto
+344.70087 -247.64095 lineto
+344.70087 -238.56987 lineto
+326.55872 -238.56987 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -247.64095 moveto
+344.70087 -247.64095 lineto
+344.70087 -238.56987 lineto
+326.55872 -238.56987 lineto
+ closepath stroke
+347.70087 -245.29716 moveto
+(Magen) cmr9 8.96637 fshow
+374.32516 -245.29716 moveto
+(ta) cmr9 8.96637 fshow
+ 0.5 0 0 setrgbcolor
+newpath 0 -259.43336 moveto
+18.14215 -259.43336 lineto
+18.14215 -250.36229 lineto
+0 -250.36229 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -259.43336 moveto
+18.14215 -259.43336 lineto
+18.14215 -250.36229 lineto
+0 -250.36229 lineto
+ closepath stroke
+21.14215 -257.96133 moveto
+(Maro) cmr9 8.96637 fshow
+42.66405 -257.96133 moveto
+(on) cmr9 8.96637 fshow
+ 0.4 0.804 0.668 setrgbcolor
+newpath 108.8529 -259.43336 moveto
+126.99506 -259.43336 lineto
+126.99506 -250.36229 lineto
+108.8529 -250.36229 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -259.43336 moveto
+126.99506 -259.43336 lineto
+126.99506 -250.36229 lineto
+108.8529 -250.36229 lineto
+ closepath stroke
+129.99506 -257.13943 moveto
+(MediumAquamarine) cmr9 8.96637 fshow
+ 0 0 0.804 setrgbcolor
+newpath 217.70581 -259.43336 moveto
+235.84796 -259.43336 lineto
+235.84796 -250.36229 lineto
+217.70581 -250.36229 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -259.43336 moveto
+235.84796 -259.43336 lineto
+235.84796 -250.36229 lineto
+217.70581 -250.36229 lineto
+ closepath stroke
+238.84796 -258.01118 moveto
+(MediumBlue) cmr9 8.96637 fshow
+ 0.73 0.332 0.828 setrgbcolor
+newpath 326.55872 -259.43336 moveto
+344.70087 -259.43336 lineto
+344.70087 -250.36229 lineto
+326.55872 -250.36229 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -259.43336 moveto
+344.70087 -259.43336 lineto
+344.70087 -250.36229 lineto
+326.55872 -250.36229 lineto
+ closepath stroke
+347.70087 -258.01118 moveto
+(MediumOrc) cmr9 8.96637 fshow
+395.33647 -258.01118 moveto
+(hid) cmr9 8.96637 fshow
+ 0.576 0.44 0.86 setrgbcolor
+newpath 0 -271.2258 moveto
+18.14215 -271.2258 lineto
+18.14215 -262.15472 lineto
+0 -262.15472 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -271.2258 moveto
+18.14215 -271.2258 lineto
+18.14215 -262.15472 lineto
+0 -262.15472 lineto
+ closepath stroke
+21.14215 -268.93187 moveto
+(MediumPurple) cmr9 8.96637 fshow
+ 0.235 0.7 0.444 setrgbcolor
+newpath 108.8529 -271.2258 moveto
+126.99506 -271.2258 lineto
+126.99506 -262.15472 lineto
+108.8529 -262.15472 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -271.2258 moveto
+126.99506 -271.2258 lineto
+126.99506 -262.15472 lineto
+108.8529 -262.15472 lineto
+ closepath stroke
+129.99506 -269.80362 moveto
+(MediumSeaGreen) cmr9 8.96637 fshow
+ 0.484 0.408 0.932 setrgbcolor
+newpath 217.70581 -271.2258 moveto
+235.84796 -271.2258 lineto
+235.84796 -262.15472 lineto
+217.70581 -262.15472 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -271.2258 moveto
+235.84796 -271.2258 lineto
+235.84796 -262.15472 lineto
+217.70581 -262.15472 lineto
+ closepath stroke
+238.84796 -269.80362 moveto
+(MediumSlateBlue) cmr9 8.96637 fshow
+ 0 0.98 0.604 setrgbcolor
+newpath 326.55872 -271.2258 moveto
+344.70087 -271.2258 lineto
+344.70087 -262.15472 lineto
+326.55872 -262.15472 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -271.2258 moveto
+344.70087 -271.2258 lineto
+344.70087 -262.15472 lineto
+326.55872 -262.15472 lineto
+ closepath stroke
+347.70087 -268.93187 moveto
+(MediumSpringGreen) cmr9 8.96637 fshow
+ 0.284 0.82 0.8 setrgbcolor
+newpath 0 -283.01822 moveto
+18.14215 -283.01822 lineto
+18.14215 -273.94714 lineto
+0 -273.94714 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -283.01822 moveto
+18.14215 -283.01822 lineto
+18.14215 -273.94714 lineto
+0 -273.94714 lineto
+ closepath stroke
+21.14215 -280.72429 moveto
+(MediumT) cmr9 8.96637 fshow
+60.05356 -280.72429 moveto
+(urquoise) cmr9 8.96637 fshow
+ 0.78 0.084 0.52 setrgbcolor
+newpath 108.8529 -283.01822 moveto
+126.99506 -283.01822 lineto
+126.99506 -273.94714 lineto
+108.8529 -273.94714 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -283.01822 moveto
+126.99506 -283.01822 lineto
+126.99506 -273.94714 lineto
+108.8529 -273.94714 lineto
+ closepath stroke
+129.99506 -281.59604 moveto
+(MediumVioletRed) cmr9 8.96637 fshow
+ 0.098 0.098 0.44 setrgbcolor
+newpath 217.70581 -283.01822 moveto
+235.84796 -283.01822 lineto
+235.84796 -273.94714 lineto
+217.70581 -273.94714 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -283.01822 moveto
+235.84796 -283.01822 lineto
+235.84796 -273.94714 lineto
+217.70581 -273.94714 lineto
+ closepath stroke
+238.84796 -280.72429 moveto
+(Midnigh) cmr9 8.96637 fshow
+272.12436 -280.72429 moveto
+(tBlue) cmr9 8.96637 fshow
+ 0.96 1 0.98 setrgbcolor
+newpath 326.55872 -283.01822 moveto
+344.70087 -283.01822 lineto
+344.70087 -273.94714 lineto
+326.55872 -273.94714 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -283.01822 moveto
+344.70087 -283.01822 lineto
+344.70087 -273.94714 lineto
+326.55872 -273.94714 lineto
+ closepath stroke
+347.70087 -281.54619 moveto
+(Min) cmr9 8.96637 fshow
+363.57037 -281.54619 moveto
+(tCream) cmr9 8.96637 fshow
+ 1 0.894 0.884 setrgbcolor
+newpath 0 -294.81064 moveto
+18.14215 -294.81064 lineto
+18.14215 -285.73956 lineto
+0 -285.73956 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -294.81064 moveto
+18.14215 -294.81064 lineto
+18.14215 -285.73956 lineto
+0 -285.73956 lineto
+ closepath stroke
+21.14215 -292.46686 moveto
+(Mist) cmr9 8.96637 fshow
+39.11075 -292.46686 moveto
+(yRose) cmr9 8.96637 fshow
+ 1 0.894 0.71 setrgbcolor
+newpath 108.8529 -294.81064 moveto
+126.99506 -294.81064 lineto
+126.99506 -285.73956 lineto
+108.8529 -285.73956 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -294.81064 moveto
+126.99506 -294.81064 lineto
+126.99506 -285.73956 lineto
+108.8529 -285.73956 lineto
+ closepath stroke
+129.99506 -293.33861 moveto
+(Mo) cmr9 8.96637 fshow
+143.30475 -293.33861 moveto
+(ccasin) cmr9 8.96637 fshow
+ 1 0.87 0.68 setrgbcolor
+newpath 217.70581 -294.81064 moveto
+235.84796 -294.81064 lineto
+235.84796 -285.73956 lineto
+217.70581 -285.73956 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -294.81064 moveto
+235.84796 -294.81064 lineto
+235.84796 -285.73956 lineto
+217.70581 -285.73956 lineto
+ closepath stroke
+238.84796 -292.51671 moveto
+(Na) cmr9 8.96637 fshow
+250.10976 -292.51671 moveto
+(v) cmr9 8.96637 fshow
+254.46156 -292.51671 moveto
+(a) cmr9 8.96637 fshow
+259.58116 -292.51671 moveto
+(joWhite) cmr9 8.96637 fshow
+ 0 0 0.5 setrgbcolor
+newpath 326.55872 -294.81064 moveto
+344.70087 -294.81064 lineto
+344.70087 -285.73956 lineto
+326.55872 -285.73956 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -294.81064 moveto
+344.70087 -294.81064 lineto
+344.70087 -285.73956 lineto
+326.55872 -285.73956 lineto
+ closepath stroke
+347.70087 -292.46686 moveto
+(Na) cmr9 8.96637 fshow
+358.96266 -292.46686 moveto
+(vy) cmr9 8.96637 fshow
+ 0 0 0.5 setrgbcolor
+newpath 0 -306.60307 moveto
+18.14215 -306.60307 lineto
+18.14215 -297.532 lineto
+0 -297.532 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -306.60307 moveto
+18.14215 -306.60307 lineto
+18.14215 -297.532 lineto
+0 -297.532 lineto
+ closepath stroke
+21.14215 -304.30914 moveto
+(Na) cmr9 8.96637 fshow
+32.40395 -304.30914 moveto
+(vyBlue) cmr9 8.96637 fshow
+ 0.992 0.96 0.9 setrgbcolor
+newpath 108.8529 -306.60307 moveto
+126.99506 -306.60307 lineto
+126.99506 -297.532 lineto
+108.8529 -297.532 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -306.60307 moveto
+126.99506 -306.60307 lineto
+126.99506 -297.532 lineto
+108.8529 -297.532 lineto
+ closepath stroke
+129.99506 -305.1809 moveto
+(OldLace) cmr9 8.96637 fshow
+ 0.5 0.5 0 setrgbcolor
+newpath 217.70581 -306.60307 moveto
+235.84796 -306.60307 lineto
+235.84796 -297.532 lineto
+217.70581 -297.532 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -306.60307 moveto
+235.84796 -306.60307 lineto
+235.84796 -297.532 lineto
+217.70581 -297.532 lineto
+ closepath stroke
+238.84796 -305.1809 moveto
+(Oliv) cmr9 8.96637 fshow
+255.74286 -305.1809 moveto
+(e) cmr9 8.96637 fshow
+ 0.42 0.556 0.136 setrgbcolor
+newpath 326.55872 -306.60307 moveto
+344.70087 -306.60307 lineto
+344.70087 -297.532 lineto
+326.55872 -297.532 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -306.60307 moveto
+344.70087 -306.60307 lineto
+344.70087 -297.532 lineto
+326.55872 -297.532 lineto
+ closepath stroke
+347.70087 -305.1809 moveto
+(Oliv) cmr9 8.96637 fshow
+364.59576 -305.1809 moveto
+(eDrab) cmr9 8.96637 fshow
+ 1 0.648 0 setrgbcolor
+newpath 0 -318.3955 moveto
+18.14215 -318.3955 lineto
+18.14215 -309.32442 lineto
+0 -309.32442 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -318.3955 moveto
+18.14215 -318.3955 lineto
+18.14215 -309.32442 lineto
+0 -309.32442 lineto
+ closepath stroke
+21.14215 -316.05171 moveto
+(Orange) cmr9 8.96637 fshow
+ 1 0.27 0 setrgbcolor
+newpath 108.8529 -318.3955 moveto
+126.99506 -318.3955 lineto
+126.99506 -309.32442 lineto
+108.8529 -309.32442 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -318.3955 moveto
+126.99506 -318.3955 lineto
+126.99506 -309.32442 lineto
+108.8529 -309.32442 lineto
+ closepath stroke
+129.99506 -316.10156 moveto
+(OrangeRed) cmr9 8.96637 fshow
+ 0.855 0.44 0.84 setrgbcolor
+newpath 217.70581 -318.3955 moveto
+235.84796 -318.3955 lineto
+235.84796 -309.32442 lineto
+217.70581 -309.32442 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -318.3955 moveto
+235.84796 -318.3955 lineto
+235.84796 -309.32442 lineto
+217.70581 -309.32442 lineto
+ closepath stroke
+238.84796 -316.97331 moveto
+(Orc) cmr9 8.96637 fshow
+253.45976 -316.97331 moveto
+(hid) cmr9 8.96637 fshow
+ 0.932 0.91 0.668 setrgbcolor
+newpath 326.55872 -318.3955 moveto
+344.70087 -318.3955 lineto
+344.70087 -309.32442 lineto
+326.55872 -309.32442 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -318.3955 moveto
+344.70087 -318.3955 lineto
+344.70087 -309.32442 lineto
+326.55872 -309.32442 lineto
+ closepath stroke
+347.70087 -316.97331 moveto
+(P) cmr9 8.96637 fshow
+353.71576 -316.97331 moveto
+(aleGoldenro) cmr9 8.96637 fshow
+402.18776 -316.97331 moveto
+(d) cmr9 8.96637 fshow
+ 0.596 0.985 0.596 setrgbcolor
+newpath 0 -330.18793 moveto
+18.14215 -330.18793 lineto
+18.14215 -321.11685 lineto
+0 -321.11685 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -330.18793 moveto
+18.14215 -330.18793 lineto
+18.14215 -321.11685 lineto
+0 -321.11685 lineto
+ closepath stroke
+21.14215 -328.76575 moveto
+(P) cmr9 8.96637 fshow
+27.15704 -328.76575 moveto
+(aleGreen) cmr9 8.96637 fshow
+ 0.688 0.932 0.932 setrgbcolor
+newpath 108.8529 -330.18793 moveto
+126.99506 -330.18793 lineto
+126.99506 -321.11685 lineto
+108.8529 -321.11685 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -330.18793 moveto
+126.99506 -330.18793 lineto
+126.99506 -321.11685 lineto
+108.8529 -321.11685 lineto
+ closepath stroke
+129.99506 -327.894 moveto
+(P) cmr9 8.96637 fshow
+136.00995 -327.894 moveto
+(aleT) cmr9 8.96637 fshow
+153.16426 -327.894 moveto
+(urquoise) cmr9 8.96637 fshow
+ 0.86 0.44 0.576 setrgbcolor
+newpath 217.70581 -330.18793 moveto
+235.84796 -330.18793 lineto
+235.84796 -321.11685 lineto
+217.70581 -321.11685 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -330.18793 moveto
+235.84796 -330.18793 lineto
+235.84796 -321.11685 lineto
+217.70581 -321.11685 lineto
+ closepath stroke
+238.84796 -328.76575 moveto
+(P) cmr9 8.96637 fshow
+244.86285 -328.76575 moveto
+(aleVioletRed) cmr9 8.96637 fshow
+ 1 0.936 0.835 setrgbcolor
+newpath 326.55872 -330.18793 moveto
+344.70087 -330.18793 lineto
+344.70087 -321.11685 lineto
+326.55872 -321.11685 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -330.18793 moveto
+344.70087 -330.18793 lineto
+344.70087 -321.11685 lineto
+326.55872 -321.11685 lineto
+ closepath stroke
+347.70087 -327.894 moveto
+(P) cmr9 8.96637 fshow
+353.71576 -327.894 moveto
+(apa) cmr9 8.96637 fshow
+367.79477 -327.894 moveto
+(y) cmr9 8.96637 fshow
+372.40247 -327.894 moveto
+(aWhip) cmr9 8.96637 fshow
+ 1 0.855 0.725 setrgbcolor
+newpath 0 -341.98035 moveto
+18.14215 -341.98035 lineto
+18.14215 -332.90927 lineto
+0 -332.90927 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -341.98035 moveto
+18.14215 -341.98035 lineto
+18.14215 -332.90927 lineto
+0 -332.90927 lineto
+ closepath stroke
+21.14215 -340.55817 moveto
+(P) cmr9 8.96637 fshow
+27.15704 -340.55817 moveto
+(eac) cmr9 8.96637 fshow
+39.70364 -340.55817 moveto
+(hPu\013) cmr9 8.96637 fshow
+ 0.804 0.52 0.248 setrgbcolor
+newpath 108.8529 -341.98035 moveto
+126.99506 -341.98035 lineto
+126.99506 -332.90927 lineto
+108.8529 -332.90927 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -341.98035 moveto
+126.99506 -341.98035 lineto
+126.99506 -332.90927 lineto
+108.8529 -332.90927 lineto
+ closepath stroke
+129.99506 -340.50832 moveto
+(P) cmr9 8.96637 fshow
+136.00995 -340.50832 moveto
+(eru) cmr9 8.96637 fshow
+ 1 0.752 0.796 setrgbcolor
+newpath 217.70581 -341.98035 moveto
+235.84796 -341.98035 lineto
+235.84796 -332.90927 lineto
+217.70581 -332.90927 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -341.98035 moveto
+235.84796 -341.98035 lineto
+235.84796 -332.90927 lineto
+217.70581 -332.90927 lineto
+ closepath stroke
+238.84796 -340.55817 moveto
+(Pink) cmr9 8.96637 fshow
+ 0.868 0.628 0.868 setrgbcolor
+newpath 326.55872 -341.98035 moveto
+344.70087 -341.98035 lineto
+344.70087 -332.90927 lineto
+326.55872 -332.90927 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -341.98035 moveto
+344.70087 -341.98035 lineto
+344.70087 -332.90927 lineto
+326.55872 -332.90927 lineto
+ closepath stroke
+347.70087 -340.55817 moveto
+(Plum) cmr9 8.96637 fshow
+ 0.69 0.88 0.9 setrgbcolor
+newpath 0 -353.77277 moveto
+18.14215 -353.77277 lineto
+18.14215 -344.70169 lineto
+0 -344.70169 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -353.77277 moveto
+18.14215 -353.77277 lineto
+18.14215 -344.70169 lineto
+0 -344.70169 lineto
+ closepath stroke
+21.14215 -352.35059 moveto
+(P) cmr9 8.96637 fshow
+27.15704 -352.35059 moveto
+(o) cmr9 8.96637 fshow
+31.50874 -352.35059 moveto
+(wderBlue) cmr9 8.96637 fshow
+ 0.5 0 0.5 setrgbcolor
+newpath 108.8529 -353.77277 moveto
+126.99506 -353.77277 lineto
+126.99506 -344.70169 lineto
+108.8529 -344.70169 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -353.77277 moveto
+126.99506 -353.77277 lineto
+126.99506 -344.70169 lineto
+108.8529 -344.70169 lineto
+ closepath stroke
+129.99506 -351.47884 moveto
+(Purple) cmr9 8.96637 fshow
+ 1 0 0 setrgbcolor
+newpath 217.70581 -353.77277 moveto
+235.84796 -353.77277 lineto
+235.84796 -344.70169 lineto
+217.70581 -344.70169 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -353.77277 moveto
+235.84796 -353.77277 lineto
+235.84796 -344.70169 lineto
+217.70581 -344.70169 lineto
+ closepath stroke
+238.84796 -352.35059 moveto
+(Red) cmr9 8.96637 fshow
+ 0.736 0.56 0.56 setrgbcolor
+newpath 326.55872 -353.77277 moveto
+344.70087 -353.77277 lineto
+344.70087 -344.70169 lineto
+326.55872 -344.70169 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -353.77277 moveto
+344.70087 -353.77277 lineto
+344.70087 -344.70169 lineto
+326.55872 -344.70169 lineto
+ closepath stroke
+347.70087 -351.42899 moveto
+(RosyBro) cmr9 8.96637 fshow
+382.07306 -351.42899 moveto
+(wn) cmr9 8.96637 fshow
+ 0.255 0.41 0.884 setrgbcolor
+newpath 0 -365.5652 moveto
+18.14215 -365.5652 lineto
+18.14215 -356.49413 lineto
+0 -356.49413 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -365.5652 moveto
+18.14215 -365.5652 lineto
+18.14215 -356.49413 lineto
+0 -356.49413 lineto
+ closepath stroke
+21.14215 -363.27127 moveto
+(Ro) cmr9 8.96637 fshow
+32.27666 -363.27127 moveto
+(y) cmr9 8.96637 fshow
+36.88435 -363.27127 moveto
+(alBlue) cmr9 8.96637 fshow
+ 0.545 0.27 0.075 setrgbcolor
+newpath 108.8529 -365.5652 moveto
+126.99506 -365.5652 lineto
+126.99506 -356.49413 lineto
+108.8529 -356.49413 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -365.5652 moveto
+126.99506 -365.5652 lineto
+126.99506 -356.49413 lineto
+108.8529 -356.49413 lineto
+ closepath stroke
+129.99506 -364.14302 moveto
+(SaddleBro) cmr9 8.96637 fshow
+171.10376 -364.14302 moveto
+(wn) cmr9 8.96637 fshow
+ 0.98 0.5 0.448 setrgbcolor
+newpath 217.70581 -365.5652 moveto
+235.84796 -365.5652 lineto
+235.84796 -356.49413 lineto
+217.70581 -356.49413 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -365.5652 moveto
+235.84796 -365.5652 lineto
+235.84796 -356.49413 lineto
+217.70581 -356.49413 lineto
+ closepath stroke
+238.84796 -364.14302 moveto
+(Salmon) cmr9 8.96637 fshow
+ 0.956 0.644 0.376 setrgbcolor
+newpath 326.55872 -365.5652 moveto
+344.70087 -365.5652 lineto
+344.70087 -356.49413 lineto
+326.55872 -356.49413 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -365.5652 moveto
+344.70087 -365.5652 lineto
+344.70087 -356.49413 lineto
+326.55872 -356.49413 lineto
+ closepath stroke
+347.70087 -363.27127 moveto
+(SandyBro) cmr9 8.96637 fshow
+387.01427 -363.27127 moveto
+(wn) cmr9 8.96637 fshow
+ 0.18 0.545 0.34 setrgbcolor
+newpath 0 -377.35762 moveto
+18.14215 -377.35762 lineto
+18.14215 -368.28654 lineto
+0 -368.28654 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -377.35762 moveto
+18.14215 -377.35762 lineto
+18.14215 -368.28654 lineto
+0 -368.28654 lineto
+ closepath stroke
+21.14215 -375.88559 moveto
+(SeaGreen) cmr9 8.96637 fshow
+ 1 0.96 0.932 setrgbcolor
+newpath 108.8529 -377.35762 moveto
+126.99506 -377.35762 lineto
+126.99506 -368.28654 lineto
+108.8529 -368.28654 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -377.35762 moveto
+126.99506 -377.35762 lineto
+126.99506 -368.28654 lineto
+108.8529 -368.28654 lineto
+ closepath stroke
+129.99506 -375.93544 moveto
+(Seashell) cmr9 8.96637 fshow
+ 0.628 0.32 0.176 setrgbcolor
+newpath 217.70581 -377.35762 moveto
+235.84796 -377.35762 lineto
+235.84796 -368.28654 lineto
+217.70581 -368.28654 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -377.35762 moveto
+235.84796 -377.35762 lineto
+235.84796 -368.28654 lineto
+217.70581 -368.28654 lineto
+ closepath stroke
+238.84796 -375.88559 moveto
+(Sienna) cmr9 8.96637 fshow
+ 0.752 0.752 0.752 setrgbcolor
+newpath 326.55872 -377.35762 moveto
+344.70087 -377.35762 lineto
+344.70087 -368.28654 lineto
+326.55872 -368.28654 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -377.35762 moveto
+344.70087 -377.35762 lineto
+344.70087 -368.28654 lineto
+326.55872 -368.28654 lineto
+ closepath stroke
+347.70087 -375.93544 moveto
+(Silv) cmr9 8.96637 fshow
+362.54787 -375.93544 moveto
+(er) cmr9 8.96637 fshow
+ 0.53 0.808 0.92 setrgbcolor
+newpath 0 -389.15005 moveto
+18.14215 -389.15005 lineto
+18.14215 -380.07898 lineto
+0 -380.07898 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -389.15005 moveto
+18.14215 -389.15005 lineto
+18.14215 -380.07898 lineto
+0 -380.07898 lineto
+ closepath stroke
+21.14215 -386.85612 moveto
+(SkyBlue) cmr9 8.96637 fshow
+ 0.415 0.352 0.804 setrgbcolor
+newpath 108.8529 -389.15005 moveto
+126.99506 -389.15005 lineto
+126.99506 -380.07898 lineto
+108.8529 -380.07898 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -389.15005 moveto
+126.99506 -389.15005 lineto
+126.99506 -380.07898 lineto
+108.8529 -380.07898 lineto
+ closepath stroke
+129.99506 -387.72787 moveto
+(SlateBlue) cmr9 8.96637 fshow
+ 0.44 0.5 0.565 setrgbcolor
+newpath 217.70581 -389.15005 moveto
+235.84796 -389.15005 lineto
+235.84796 -380.07898 lineto
+217.70581 -380.07898 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -389.15005 moveto
+235.84796 -389.15005 lineto
+235.84796 -380.07898 lineto
+217.70581 -380.07898 lineto
+ closepath stroke
+238.84796 -386.85612 moveto
+(SlateGra) cmr9 8.96637 fshow
+274.00546 -386.85612 moveto
+(y) cmr9 8.96637 fshow
+ 0.44 0.5 0.565 setrgbcolor
+newpath 326.55872 -389.15005 moveto
+344.70087 -389.15005 lineto
+344.70087 -380.07898 lineto
+326.55872 -380.07898 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -389.15005 moveto
+344.70087 -389.15005 lineto
+344.70087 -380.07898 lineto
+326.55872 -380.07898 lineto
+ closepath stroke
+347.70087 -386.85612 moveto
+(SlateGrey) cmr9 8.96637 fshow
+ 1 0.98 0.98 setrgbcolor
+newpath 0 -400.94247 moveto
+18.14215 -400.94247 lineto
+18.14215 -391.8714 lineto
+0 -391.8714 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -400.94247 moveto
+18.14215 -400.94247 lineto
+18.14215 -391.8714 lineto
+0 -391.8714 lineto
+ closepath stroke
+21.14215 -399.47044 moveto
+(Sno) cmr9 8.96637 fshow
+35.73315 -399.47044 moveto
+(w) cmr9 8.96637 fshow
+ 0 1 0.498 setrgbcolor
+newpath 108.8529 -400.94247 moveto
+126.99506 -400.94247 lineto
+126.99506 -391.8714 lineto
+108.8529 -391.8714 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -400.94247 moveto
+126.99506 -400.94247 lineto
+126.99506 -391.8714 lineto
+108.8529 -391.8714 lineto
+ closepath stroke
+129.99506 -398.5987 moveto
+(SpringGreen) cmr9 8.96637 fshow
+ 0.275 0.51 0.705 setrgbcolor
+newpath 217.70581 -400.94247 moveto
+235.84796 -400.94247 lineto
+235.84796 -391.8714 lineto
+217.70581 -391.8714 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -400.94247 moveto
+235.84796 -400.94247 lineto
+235.84796 -391.8714 lineto
+217.70581 -391.8714 lineto
+ closepath stroke
+238.84796 -399.5203 moveto
+(SteelBlue) cmr9 8.96637 fshow
+ 0.824 0.705 0.55 setrgbcolor
+newpath 326.55872 -400.94247 moveto
+344.70087 -400.94247 lineto
+344.70087 -391.8714 lineto
+326.55872 -391.8714 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -400.94247 moveto
+344.70087 -400.94247 lineto
+344.70087 -391.8714 lineto
+326.55872 -391.8714 lineto
+ closepath stroke
+347.70087 -399.47044 moveto
+(T) cmr9 8.96637 fshow
+353.58847 -399.47044 moveto
+(an) cmr9 8.96637 fshow
+ 0 0.5 0.5 setrgbcolor
+newpath 0 -412.7349 moveto
+18.14215 -412.7349 lineto
+18.14215 -403.66382 lineto
+0 -403.66382 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -412.7349 moveto
+18.14215 -412.7349 lineto
+18.14215 -403.66382 lineto
+0 -403.66382 lineto
+ closepath stroke
+21.14215 -411.31271 moveto
+(T) cmr9 8.96637 fshow
+27.02975 -411.31271 moveto
+(eal) cmr9 8.96637 fshow
+ 0.848 0.75 0.848 setrgbcolor
+newpath 108.8529 -412.7349 moveto
+126.99506 -412.7349 lineto
+126.99506 -403.66382 lineto
+108.8529 -403.66382 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -412.7349 moveto
+126.99506 -412.7349 lineto
+126.99506 -403.66382 lineto
+108.8529 -403.66382 lineto
+ closepath stroke
+129.99506 -411.31271 moveto
+(Thistle) cmr9 8.96637 fshow
+ 1 0.39 0.28 setrgbcolor
+newpath 217.70581 -412.7349 moveto
+235.84796 -412.7349 lineto
+235.84796 -403.66382 lineto
+217.70581 -403.66382 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -412.7349 moveto
+235.84796 -412.7349 lineto
+235.84796 -403.66382 lineto
+217.70581 -403.66382 lineto
+ closepath stroke
+238.84796 -411.26286 moveto
+(T) cmr9 8.96637 fshow
+244.73557 -411.26286 moveto
+(omato) cmr9 8.96637 fshow
+ 0.25 0.88 0.815 setrgbcolor
+newpath 326.55872 -412.7349 moveto
+344.70087 -412.7349 lineto
+344.70087 -403.66382 lineto
+326.55872 -403.66382 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -412.7349 moveto
+344.70087 -412.7349 lineto
+344.70087 -403.66382 lineto
+326.55872 -403.66382 lineto
+ closepath stroke
+347.70087 -410.39111 moveto
+(T) cmr9 8.96637 fshow
+353.58847 -410.39111 moveto
+(urquoise) cmr9 8.96637 fshow
+ 0.932 0.51 0.932 setrgbcolor
+newpath 0 -424.52733 moveto
+18.14215 -424.52733 lineto
+18.14215 -415.45625 lineto
+0 -415.45625 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -424.52733 moveto
+18.14215 -424.52733 lineto
+18.14215 -415.45625 lineto
+0 -415.45625 lineto
+ closepath stroke
+21.14215 -423.10515 moveto
+(Violet) cmr9 8.96637 fshow
+ 0.816 0.125 0.565 setrgbcolor
+newpath 108.8529 -424.52733 moveto
+126.99506 -424.52733 lineto
+126.99506 -415.45625 lineto
+108.8529 -415.45625 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -424.52733 moveto
+126.99506 -424.52733 lineto
+126.99506 -415.45625 lineto
+108.8529 -415.45625 lineto
+ closepath stroke
+129.99506 -423.10515 moveto
+(VioletRed) cmr9 8.96637 fshow
+ 0.96 0.87 0.7 setrgbcolor
+newpath 217.70581 -424.52733 moveto
+235.84796 -424.52733 lineto
+235.84796 -415.45625 lineto
+217.70581 -415.45625 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -424.52733 moveto
+235.84796 -424.52733 lineto
+235.84796 -415.45625 lineto
+217.70581 -415.45625 lineto
+ closepath stroke
+238.84796 -423.10515 moveto
+(Wheat) cmr9 8.96637 fshow
+ 1 1 1 setrgbcolor
+newpath 326.55872 -424.52733 moveto
+344.70087 -424.52733 lineto
+344.70087 -415.45625 lineto
+326.55872 -415.45625 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 326.55872 -424.52733 moveto
+344.70087 -424.52733 lineto
+344.70087 -415.45625 lineto
+326.55872 -415.45625 lineto
+ closepath stroke
+347.70087 -423.10515 moveto
+(White) cmr9 8.96637 fshow
+ 0.96 0.96 0.96 setrgbcolor
+newpath 0 -436.31975 moveto
+18.14215 -436.31975 lineto
+18.14215 -427.24867 lineto
+0 -427.24867 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 0 -436.31975 moveto
+18.14215 -436.31975 lineto
+18.14215 -427.24867 lineto
+0 -427.24867 lineto
+ closepath stroke
+21.14215 -434.89757 moveto
+(WhiteSmok) cmr9 8.96637 fshow
+67.98904 -434.89757 moveto
+(e) cmr9 8.96637 fshow
+ 1 1 0 setrgbcolor
+newpath 108.8529 -436.31975 moveto
+126.99506 -436.31975 lineto
+126.99506 -427.24867 lineto
+108.8529 -427.24867 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 108.8529 -436.31975 moveto
+126.99506 -436.31975 lineto
+126.99506 -427.24867 lineto
+108.8529 -427.24867 lineto
+ closepath stroke
+129.99506 -434.89757 moveto
+(Y) cmr9 8.96637 fshow
+136.13725 -434.89757 moveto
+(ello) cmr9 8.96637 fshow
+149.70776 -434.89757 moveto
+(w) cmr9 8.96637 fshow
+ 0.604 0.804 0.196 setrgbcolor
+newpath 217.70581 -436.31975 moveto
+235.84796 -436.31975 lineto
+235.84796 -427.24867 lineto
+217.70581 -427.24867 lineto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath 217.70581 -436.31975 moveto
+235.84796 -436.31975 lineto
+235.84796 -427.24867 lineto
+217.70581 -427.24867 lineto
+ closepath stroke
+238.84796 -434.89757 moveto
+(Y) cmr9 8.96637 fshow
+244.99016 -434.89757 moveto
+(ello) cmr9 8.96637 fshow
+258.56067 -434.89757 moveto
+(wGreen) cmr9 8.96637 fshow
+showpage
+%%EOF
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.mp
new file mode 100644
index 0000000000..f3f4ee137b
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/svgnames/palette.mp
@@ -0,0 +1,168 @@
+input geom2d;
+
+gddU:=0.32cm;
+beginfig(1);
+i:=0;
+N:=4;
+for t=
+"AliceBlue",
+"AntiqueWhite",
+"Aqua",
+"Aquamarine",
+"Azure",
+"Beige",
+"Bisque",
+"Black",
+"BlanchedAlmond",
+"Blue",
+"BlueViolet",
+"Brown",
+"BurlyWood",
+"CadetBlue",
+"Chartreuse",
+"Chocolate",
+"Coral",
+"CornflowerBlue",
+"Cornsilk",
+"Crimson",
+"Cyan",
+"DarkBlue",
+"DarkCyan",
+"DarkGoldenrod",
+"DarkGray",
+"DarkGreen",
+"DarkGrey",
+"DarkKhaki",
+"DarkMagenta",
+"DarkOliveGreen",
+"DarkOrange",
+"DarkOrchid",
+"DarkRed",
+"DarkSalmon",
+"DarkSeaGreen",
+"DarkSlateBlue",
+"DarkSlateGray",
+"DarkSlateGrey",
+"DarkTurquoise",
+"DarkViolet",
+"DeepPink",
+"DeepSkyBlue",
+"DimGray",
+"DimGrey",
+"DodgerBlue",
+"FireBrick",
+"FloralWhite",
+"ForestGreen",
+"Fuchsia",
+"Gainsboro",
+"GhostWhite",
+"Gold",
+"Goldenrod",
+"Gray",
+"Green",
+"GreenYellow",
+"Grey",
+"Honeydew",
+"HotPink",
+"IndianRed",
+"Indigo",
+"Ivory",
+"Khaki",
+"Lavender",
+"LavenderBlush",
+"LawnGreen",
+"LemonChiffon",
+"LightBlue",
+"LightCoral",
+"LightCyan",
+"LightGoldenrod",
+"LightGoldenrodYellow",
+"LightGray",
+"LightGreen",
+"LightGrey",
+"LightPink",
+"LightSalmon",
+"LightSeaGreen",
+"LightSkyBlue",
+"LightSlateBlue",
+"LightSlateGray",
+"LightSlateGrey",
+"LightSteelBlue",
+"LightYellow",
+"Lime",
+"LimeGreen",
+"Linen",
+"Magenta",
+"Maroon",
+"MediumAquamarine",
+"MediumBlue",
+"MediumOrchid",
+"MediumPurple",
+"MediumSeaGreen",
+"MediumSlateBlue",
+"MediumSpringGreen",
+"MediumTurquoise",
+"MediumVioletRed",
+"MidnightBlue",
+"MintCream",
+"MistyRose",
+"Moccasin",
+"NavajoWhite",
+"Navy",
+"NavyBlue",
+"OldLace",
+"Olive",
+"OliveDrab",
+"Orange",
+"OrangeRed",
+"Orchid",
+"PaleGoldenrod",
+"PaleGreen",
+"PaleTurquoise",
+"PaleVioletRed",
+"PapayaWhip",
+"PeachPuff",
+"Peru",
+"Pink",
+"Plum",
+"PowderBlue",
+"Purple",
+"Red",
+"RosyBrown",
+"RoyalBlue",
+"SaddleBrown",
+"Salmon",
+"SandyBrown",
+"SeaGreen",
+"Seashell",
+"Sienna",
+"Silver",
+"SkyBlue",
+"SlateBlue",
+"SlateGray",
+"SlateGrey",
+"Snow",
+"SpringGreen",
+"SteelBlue",
+"Tan",
+"Teal",
+"Thistle",
+"Tomato",
+"Turquoise",
+"Violet",
+"VioletRed",
+"Wheat",
+"White",
+"WhiteSmoke",
+"Yellow",
+"YellowGreen":
+fill ((0,0)--(2,0)--(2,1)--(0,1)--cycle) scaled gddU shifted (((i mod N)
+)*(gddU+11*gddU),-(i div N)*1.3*gddU) withcolor scantokens t;
+draw ((0,0)--(2,0)--(2,1)--(0,1)--cycle) scaled gddU shifted ((i mod
+N )*(gddU+11*gddU),-(i div N)*1.3*gddU);
+label.rt(textext("\small "&t),(((i mod N)
+)*(gddU+11*gddU)+2*gddU,-(i div N)*1.3*gddU+0.5*gddU));
+i:=i+1;
+endfor;
+endfig;
+end.
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie-1.pdf
new file mode 100644
index 0000000000..5f3a9ac552
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie.mp
new file mode 100644
index 0000000000..f398d17da2
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/homothetie.mp
@@ -0,0 +1,36 @@
+input geom2d;
+
+beginfig(1);
+ O = Point(0,0);
+ P = Point(2,1);
+ A = Point(3,2);
+ Q = Point(-1,2);
+ R = Point(0,4);
+ B = Homothetie(A,P,3);
+ fleche Segment(O,P);
+ fleche Segment(P,A);
+ fleche Segment(A,B);
+
+ T = Triangle(A,Q,R);
+ T'= Homothetie(T,P,3);
+ trace T;
+ trace T';
+
+ C = Cercle(A,1.5);
+ trace C;
+ CC = Homothetie(C,P,3);
+ trace CC;
+
+ path p;
+ p:=Pt(A)..Pt(Q)..Pt(R);
+ W = Chemin(p);
+ trace W;
+ X = Homothetie(W,P,3);
+ trace X;
+
+ Q1 = PolygoneRegulier(10,2,0,(2,2));
+ trace Q1;
+ Q2 = Homothetie(Q1,P,3);
+ trace Q2;
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion-1.pdf
new file mode 100644
index 0000000000..cce481b377
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion.mp
new file mode 100644
index 0000000000..fcd762b574
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/inversion.mp
@@ -0,0 +1,40 @@
+input geom2d;
+
+beginfig(1);
+A = Point(2,2);
+C = Cercle(A,2);
+trace C;
+marque.rt "A";
+B = Point(0,1);
+D = Inversion(B,C);
+drawoptions(withcolor DarkRed);
+CB = Cercle(B,1);
+trace CB;
+CD = Inversion(CB,C);
+trace CB;
+trace CD;
+ marque.rt "B"; marque.rt "D";
+
+drawoptions(withcolor DarkBlue);
+E = Point(3,1);
+CE = Cercle(E,0.5);
+trace CE;
+marque.rt "E";
+iCE = Inversion(CE,C);
+trace iCE;
+
+
+drawoptions(withcolor DarkGreen);
+d = Droite((3,3),(4,2));
+trace d;
+Cd = Inversion(d,C);
+trace Cd;
+
+drawoptions(withcolor Salmon);
+S = Point(1,3);
+CS = CercleCP(S,A);
+trace CS;
+dS = Inversion(CS,C);
+trace dS;
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie-1.pdf
new file mode 100644
index 0000000000..1c4288a545
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie.mp
new file mode 100644
index 0000000000..d152d9018a
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrie.mp
@@ -0,0 +1,26 @@
+input geom2d;
+
+beginfig(1);
+
+A = Point(2,2);
+a = Point(-1,-1);
+b = Point(2,0);
+c = Point(3,-2);
+aa = Point(-1,-1.5);
+DD = Droite(aa,c);
+D = Droite(a,b);
+B = SymetrieAxialePoint(A,D);
+pointe A;
+pointe B;
+trace D;
+C = Cercle(A,2);
+P = ParaboleFD(A,DD);
+trace C;
+CC = SymetrieAxiale(C,D);
+PP = SymetrieAxiale(P,D);
+trace CC;
+trace P;
+trace PP;
+
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale-1.pdf
new file mode 100644
index 0000000000..c32b7f91f2
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale.mp
new file mode 100644
index 0000000000..077b216de6
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/transformations/symetrieCentrale.mp
@@ -0,0 +1,27 @@
+input geom2d;
+
+beginfig(1);
+
+A = Point(2,2);
+a = Point(-1,-1);
+b = Point(2,0);
+c = Point(3,-2);
+aa = Point(-1,-1.5);
+DD = Droite(aa,c);
+D = Droite(a,b);
+B = SymetrieCentralePoint(A,a);
+pointe a avecCrayon(1,red);
+pointe A;
+pointe B;
+%trace D;
+C = Cercle(A,2);
+P = ParaboleFD(A,DD);
+trace C;
+CC = SymetrieCentrale(C,a);
+PP = SymetrieCentrale(P,a);
+trace CC;
+trace P;
+trace PP;
+
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius-1.pdf
new file mode 100644
index 0000000000..0af9a23393
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius.mp
new file mode 100644
index 0000000000..8658139b1b
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/apollonius.mp
@@ -0,0 +1,90 @@
+input geom2d;
+gddU:=0.35cm;
+beginfig(1);
+% nos trois points
+A = Point(0,0);
+B = Point(6,0);
+C = Point(0.8,4);
+T_ABC = Triangle(A,B,C);
+
+C_I = CercleInscrit(T_ABC);
+C_A = CercleExinscrit(T_ABC,2);
+C_B = CercleExinscrit(T_ABC,3);
+C_C = CercleExinscrit(T_ABC,1);
+
+d_AB = Droite(A,B);
+d_BC = Droite(B,C);
+d_CA = Droite(C,A);
+
+I = Centre(C_I);
+I_C_A = Centre(C_A);
+I_C_B = Centre(C_B);
+I_C_C = Centre(C_C);
+d_CAA = Droite(A,I_C_A);
+d_CAB = Droite(B,I_C_B);
+d_CAC = Droite(C,I_C_C);
+
+A_S = AxeDeSimilitude(C_A,C_B,C_C);
+P_CA = ProjectionPointSurDroite(I_C_A,A_S);
+P_CB = ProjectionPointSurDroite(I_C_B,A_S);
+P_CC = ProjectionPointSurDroite(I_C_C,A_S);
+
+P_A = Inversion(P_CA,C_A);
+P_B = Inversion(P_CB,C_B);
+P_C = Inversion(P_CC,C_C);
+
+C_R = CentreRadical(C_A,C_B,C_C);
+% les neuf points pour les cercles d’euler (tangent intérieur)
+% et d’apollonius (tangent extérieur)
+D1 = Droite(C_R,P_A);
+P1 = IntersectionDroiteCercle(D1,C_A,1);
+Q1 = IntersectionDroiteCercle(D1,C_A,2);
+
+D2 = Droite(C_R,P_B);
+P2 = IntersectionDroiteCercle(D2,C_B,1);
+Q2 = IntersectionDroiteCercle(D2,C_B,2);
+
+D3 = Droite(C_R,P_C);
+P3 = IntersectionDroiteCercle(D3,C_C,2);
+Q3 = IntersectionDroiteCercle(D3,C_C,1);
+
+% le cercle d’apollonius
+Apol = CercleTroisPoints(P1,P2,P3);
+colorie Apol withcolor 1.05*Lavender;
+trace Apol withcolor CadetBlue;
+
+% cercle inscrit
+colorie C_I withcolor LightBlue;
+% cercles exinscrits
+colorie C_A withcolor PapayaWhip;
+colorie C_B withcolor PapayaWhip;
+colorie C_C withcolor PapayaWhip;
+
+trace d_AB;
+trace d_BC;
+trace d_CA;
+
+trace d_CAA dashed evenly;
+trace d_CAB dashed evenly;
+trace d_CAC dashed evenly;
+
+trace T_ABC withpen pencircle scaled 2 withcolor Chocolate;
+
+C_E = CercleEuler(T_ABC);
+trace C_E withcolor Goldenrod;
+
+pointe P1;
+pointe P2;
+pointe P3;
+
+pointe Q1;
+pointe Q2;
+pointe Q3;
+
+
+marque.llft "A";
+marque.urt "B";
+marque.urt "C";
+Fenetre(-7,-12,20,15)
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale-1.pdf
new file mode 100644
index 0000000000..d3adab46ec
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale.mp
new file mode 100644
index 0000000000..b581ddfbda
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/pedale.mp
@@ -0,0 +1,106 @@
+input geom2d;
+gddU:=1.5cm;
+beginfig(1);
+numeric A[],B[],C[],E[],F[],G[],U[],W[],V[],T[],R[],P[];
+A[1] = Point(0,0);
+B1 = Point(1,2);
+C1 = Point(2.5,0.2);
+W1 = PointDe(Segment(A1,B1),0.2);
+U1 = PointDe(Segment(B1,C1),0.23);
+V1 = PointDe(Segment(C1,A1),0.3);
+G1 = ProjectionPointSurDroite(B1,Droite(A1,C1));
+F1 = ProjectionPointSurDroite(C1,Droite(A1,B1));
+E1 = ProjectionPointSurDroite(A1,Droite(B1,C1));
+
+
+
+for i:=0 step 3 until 3:
+
+D[1+i] = Droite(B[1+i],C[1+i]);
+A[2+i] = SymetrieAxiale(A[1+i],D[1+i]);
+
+B[2+i] = B[1+i];
+C[2+i] = C[1+i];
+
+W[2+i] = SymetrieAxiale(W[1+i],D[1+i]);
+V[2+i] = SymetrieAxiale(V[1+i],D[1+i]);
+U[2+i] = U[1+i];
+
+G[2+i] = SymetrieAxiale(G[1+i],D[1+i]);
+F[2+i] = SymetrieAxiale(F[1+i],D[1+i]);
+E[2+i] = E[1+i];
+
+D[2+i] = Droite(A[2+i],C[2+i]);
+B[3+i] = SymetrieAxiale(B[2+i],D[2+i]);
+A[3+i] = A[2+i];
+C[3+i] = C[2+i];
+W[3+i] = SymetrieAxiale(W[2+i],D[2+i]);
+U[3+i] = SymetrieAxiale(U[2+i],D[2+i]);
+V[3+i] = V[2+i];
+E[3+i] = SymetrieAxiale(E[2+i],D[2+i]);
+F[3+i] = SymetrieAxiale(F[2+i],D[2+i]);
+G[3+i] = G[2+i];
+
+D[3+i] = Droite(A[3+i],B[3+i]);
+C[4+i] = SymetrieAxiale(C[3+i],D[3+i]);
+A[4+i] = A[3+i];
+B[4+i] = B[3+i];
+U[4+i] = SymetrieAxiale(U[3+i],D[3+i]);
+V[4+i] = SymetrieAxiale(V[3+i],D[3+i]);
+W[4+i] = W[3+i];
+E[4+i] = SymetrieAxiale(E[3+i],D[3+i]);
+G[4+i] = SymetrieAxiale(G[3+i],D[3+i]);
+F[4+i] = F[3+i];
+endfor;
+
+for i:=1 upto 7:
+ T[i] = Triangle(A[i],B[i],C[i]);
+ Q[i] = Triangle(U[i],V[i],W[i]);
+ P[i] = Triangle(E[i],F[i],G[i]);
+ colorie Q[i] avecCrayon(0.5,LightGray);
+ trace P[i] avecCrayon(0.8,MediumSlateBlue);
+endfor;
+for i:=1 upto 7:
+ trace T[i] avecCrayon(1,black);
+endfor;
+
+trace LigneBrisee(U1,V2,W3,U4,V5,W6,U7) avecCrayon(1,Peru) ;
+trace Segment(U1,U7) dashed evenly;
+trace Segment(E1,E7) dashed evenly;
+pointe A1; pointe B1; pointe C1;
+pointe A2; pointe B3; pointe C4;
+pointe A5; pointe B6; pointe C7;
+gddLabel.lft(textext("$A$"),A1);
+gddLabel.lft(textext("$B$"),B1);
+gddLabel.bot(textext("$C$"),C1);
+gddLabel.top(textext("$A'$"),A2);
+gddLabel.bot(textext("$B'$"),B3);
+gddLabel.top(textext("$C'$"),C4);
+gddLabel.bot(textext("$A''$"),A5);
+gddLabel.top(textext("$B''$"),B7);
+gddLabel.bot(textext("$C''$"),C7);
+
+pointe U1; pointe V1; pointe W1;
+label.lft(textext("$U$"),PtR(U1)) withcolor Gray;
+label.bot(textext("$V$"),PtR(V1)) withcolor Gray;
+label.lft(textext("$W$"),PtR(W1)) withcolor Gray;
+
+label.lft(textext("$U'$"),PtR(U4)) withcolor Gray;
+label.lrt(textext("$V'$"),PtR(V2)) withcolor Gray;
+label.urt(textext("$W'$"),PtR(W3)) withcolor Gray;
+label.urt(textext("$U''$"),PtR(U7)) withcolor Gray;
+label.urt(textext("$V''$"),PtR(V5)) withcolor Gray;
+label.lrt(textext("$W''$"),PtR(W7)) withcolor Gray;
+pointe U4; pointe V2; pointe W3;
+pointe U7; pointe V5; pointe W7;
+pointe E1; pointe F1; pointe G1;
+label.lrt(textext("$E$"),PtR(E1)) withcolor MediumSlateBlue;
+label.lft(textext("$F$"),PtR(F1)) withcolor MediumSlateBlue;
+label.bot(textext("$G$"),PtR(G1)) withcolor MediumSlateBlue;
+
+label.ulft(textext("$F''$"),PtR(F7)) withcolor MediumSlateBlue;
+pointe F7;
+label.rt(textext("$E''$"),PtR(E7)) withcolor MediumSlateBlue;
+pointe E7;
+endfig;
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles-1.pdf
new file mode 100644
index 0000000000..e3afa92dd4
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles.mp
new file mode 100644
index 0000000000..882335af1f
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/triangles/triangles.mp
@@ -0,0 +1,27 @@
+input geom2d;
+
+beginfig(1);
+
+ A = Point(0,0);
+ B = Point(7,0.3);
+ C = Point(1,3);
+ TABC = Triangle(A,B,C);
+ D = Orthocentre(TABC);
+ C_C = CercleCirconscrit(TABC);
+ C_E = CercleEuler(TABC);
+ trace TABC;
+ trace C_C withcolor DarkBlue;
+ trace C_E withcolor DarkRed;
+ pointe A;
+ pointe B;
+ pointe C;
+ pointe D;
+ pointe Centre(C_C);
+ pointe Centre(C_E);
+ marque.lft "A";
+ marque.rt "B";
+ marque.lft "C";
+ marque.rt "D";
+endfig;
+
+end. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur-1.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur-1.pdf
new file mode 100644
index 0000000000..e8626844e4
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur-1.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur.mp b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur.mp
new file mode 100644
index 0000000000..082aea0dd3
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/exemples/vecteur/vecteur.mp
@@ -0,0 +1,10 @@
+input geom2d;
+beginfig(1);
+AB = Vecteur(2,3);
+pair a;
+a := (3,2);
+A = VecteurP(a);
+trace AB;
+trace A;
+endfig;
+end.
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/figure.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/figure.pdf
new file mode 100644
index 0000000000..54db90cf07
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/figure.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/fond.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/fond.pdf
new file mode 100644
index 0000000000..22218152cc
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/fond.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/locctan.bib b/graphics/metapost/contrib/macros/mp-geom2d/doc/locctan.bib
new file mode 100644
index 0000000000..d6546fe5ab
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/locctan.bib
@@ -0,0 +1,67 @@
+@manual{ctan-metapost,
+ title = {The \texttt{metapost} package},
+ subtitle = {A development of Metafont for creating graphics},
+ author = {{The MetaPost Team} and John Hobby},
+ date = {2021-08-26},
+ license = {lgpl},
+ url = {https://ctan.org/pkg/metapost},
+ annotation = {MetaPost uses a language based on that of
+ to produce precise
+ technical illustrations. Its output is scalable PostScript or
+ SVG, rather than the bitmaps Metafont creates.},
+}
+
+@manual{ctan-luamplib,
+ title = {The \texttt{luamplib} package},
+ subtitle = {Use LuaTeX’s built-in MetaPost interpreter},
+ author = {Hans Hagen and Taco Hoekwater and Élie Roux and Manuel Pégourié-Gonnard and Philipp Gesang and Dohyun Kim},
+ date = {2024-08-03},
+ version = {2.34.5},
+ license = {gpl2},
+ mirror = {https://mirror.ctan.org/macros/luatex/generic/luamplib},
+ url = {https://ctan.org/pkg/luamplib},
+}
+
+@manual{ctan-minim-mp,
+ title = {The \texttt{minim-mp} package},
+ subtitle = {Low-level mplib integration for LuaTeX},
+ author = {Esger Renkema},
+ date = {2024-04-06},
+ version = {2024/1.6},
+ license = {eupl},
+ mirror = {https://mirror.ctan.org/macros/luatex/generic/minim-mp},
+ url = {https://ctan.org/pkg/minim-mp},
+}
+
+@manual{ctan-latexmp,
+ title = {The \texttt{latexMP} package},
+ subtitle = {Interface for \LaTeX{}-based typesetting in MetaPost},
+ author = {Jens-Uwe Morawski},
+ date = {2020-06-21},
+ version = {1.2.1},
+ license = {pd},
+ mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/latexmp},
+ url = {https://ctan.org/pkg/latexmp},
+ annotation = {The MetaPost package latexMP implements a user-friendly
+ interface to access \LaTeX{}-based typesetting capabilities in
+ MetaPost. The text to be typeset is given as string. This
+ allows even dynamic text elements, for example counters, to be
+ used in labels. Compared to other implementations it is much
+ more flexible, since it can be used as direct replacement for
+ , and much faster, compared for example to the
+ solution provided by .},
+}
+
+@book{toeplitz,
+ Author = {Rademacher, Hans and Toeplitz, Otto},
+ Title = {The enjoyment of math. {Translated} from the {German}. {With} a new foreword by {Alex} {Kontorovich}},
+ Edition = {Reprint},
+ FSeries = {Princeton Science Library},
+ Series = {Princeton Sci. Libr.},
+ ISBN = {978-0-691-24154-8; 978-0-691-24153-1},
+ Year = {2023},
+ Publisher = {Princeton, NJ: Princeton University Press},
+ Language = {English},
+ DOI = {10.1515/9780691241531},
+ Keywords = {00A08,01A75},
+} \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.pdf b/graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.pdf
new file mode 100644
index 0000000000..71092f16ab
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.tex b/graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.tex
new file mode 100644
index 0000000000..dc3f723713
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/mp-geom2d-doc.tex
@@ -0,0 +1,3456 @@
+
+%! TEX root
+\documentclass[a4paper,french]{article}
+
+\usepackage{xcharter-otf}
+\usepackage[left=4cm]{geometry}
+\usepackage{xspace}
+\usepackage[svgnames]{xcolor}
+\usepackage{multicol}
+\usepackage{hologo}
+\usepackage{listings}
+\usepackage{showexpl} % examples
+\usepackage{mflogo}
+\usepackage{babel}
+\usepackage{tikz}
+\usepackage{url}
+\usepackage{tikz}
+\usepackage{luamplib}
+\usepackage{siunitx}
+\usepackage{pdflscape}
+\usepackage{fancyvrb,xparse,xargs}
+\usepackage{imakeidx}
+\usepackage[colorlinks]{hyperref}
+\setmonofont{FiraCode-Regular}[
+BoldFont=FiraCode-Bold,
+Contextuals=Alternate, % Activate the calt feature
+Scale=MatchLowercase
+]
+\usepackage{biblatex}
+
+\makeindex[title=Index, columns=2]
+\usepackage[verbatim]{lstfiracode} % Activate ligatures in verbatim
+\usepackage[most]{tcolorbox}
+\tcbuselibrary{listings,breakable}
+\addbibresource{locctan.bib}
+\newcommand\package[1]{\href{https://ctan.org/pkg/#1}{#1}}
+
+\newtcolorbox{colourband}[1][]{%
+arc=0pt,outer arc=0pt,enhanced, breakable, spread sidewards, left*=0pt, right*=0pt, boxrule=0pt, colback=LightSteelBlue!10, #1}
+
+
+\definecolor{hellgelb}{rgb}{1,1,0.85}
+\definecolor{colKeys}{rgb}{0,0,1}
+\definecolor{colIdentifier}{rgb}{0,0,0}
+\definecolor{colComments}{rgb}{0.3,0.7,0.3}
+\definecolor{colString}{rgb}{0,0.5,0}
+\definecolor{mpcode}{rgb}{0.5,0.1,0.1}
+
+\lstset{%
+ language=metapost,%
+ float=hbp,%
+ basicstyle=\ttfamily, %
+ identifierstyle=\color{DarkSlateGrey}, %
+ keywordstyle=\color{DarkBlue}\itshape, %
+ stringstyle=\color{Green}, %
+ commentstyle=\color{LightSlateGrey}\itshape, %
+ columns=flexible, %
+ tabsize=4, %
+ extendedchars=true, %
+ showspaces=false, %
+ showstringspaces=false, %
+ numbers=left,
+ numbersep=1em,
+ numberstyle=\tiny\color{gray}, %
+ breaklines=true, %
+ breakautoindent=true,
+ captionpos=b,
+ xleftmargin=0em,
+ sensitive=true,
+ morekeywords=[10]{colorie, trace,fermeture,fleche,pointe,marque,gddLabel,avecCrayon,ChampVecteurs,ChampVecteursDD,EtiquetteChemin},
+ keywordstyle=[10]\color{Salmon},
+ morekeywords=[7]{Abscisse,Addition,AdditionAbscisses,AdditionOrdonnee,AdditionVecteur,AireTriangle,Arc,arccos,arctan,arcsin,AsymptoteHyperbole,AxeDeSimilitude,AxeRadical,Axes,AxesBords,
+ Barycentre,Bissectrice,
+ CadreRepere,Centre,CentreRadical,Cercle,CercleCirconscrit,CercleCP,CercleD,CercleEuler,CercleExinscrit,CercleInscrit,CerclePrincipale,CercleTroisPoints,ch,Chemin,cos,Courbe,CourbeDat,CourbeEnPolaires,
+ CoVertex,
+ Debut,DemieHyperbole,DemiGrandAxe,DemiPetitAxe,Directrice,DistancePointDroite,Droite,DroitePerpendiculaire,
+ Ellipse,EllipseF, EquationDroite,Excentricite,exp,
+ Fenetre, Fin,Foyer,
+ gddEnPlace,gddTraceArcDeCercle,gddTraceObjet,Graduations,GraduationsBords,GrilleRepere,
+ Homothetie,HyperboleFD,
+ Inclinaison,IntersectionCercles,IntersectionDroiteCercle,IntersectionDroites,Inversion,IsoBarycentre,
+ LigneBrisee,ln,Longueur,LongueurSegment,
+ Marque,MarqueTrait,Milieu,
+ NombreCotesPolygone,
+ Norme,
+ Ordonnee,OrdonneeRelativePointDroite,Orthocentre,
+ PairImp,PairTOPoint,ParaboleFD,Point,PointDansRepere,PointDe,
+ PointImp,PointPolygone,PointTOPair,Polygone,PolygoneRegulier,ProduitScalaire,ProjectionPointSurDroite,ProjectionPointSurDroite,
+ Rayon,Repere,RepereMinMax,ReportSurDroite,Representation,Rotation,RotationCentre,
+ ScalaireVecteur,Segment,SegmentTOVecteur,sh,SigneOrtho,sin,Sommet,SoustractionVecteur,SymetrieAxiale,SymetrieCentrale,
+ tan,TangenteCommuneExterieure,TangenteCommuneInterieure,TangenteExterieureEllipse,TangenteEllipse,th,Triangle,
+ Unites,
+ Vecteur,VecteurP,Vertex},
+ keywordstyle=[7]\color{FireBrick},
+ morekeywords=[8]{gddO,gddA,gddB,gddC,gddD,gddE,gddF,gddT,gddP,gddS,gddX,gddPX,gddU,gddW,gddCouleurPoint,gddExtensionDroite,gddTaillePoint,
+ gddXlabel,gddYlabel, _E, Pi,
+ AliceBlue,
+AntiqueWhite,
+Aqua,
+Aquamarine,
+Azure,
+Beige,
+Bisque,
+Black,
+BlanchedAlmond,
+Blue,
+BlueViolet,
+Brown,
+BurlyWood,
+CadetBlue,
+Chartreuse,
+Chocolate,
+Coral,
+CornflowerBlue,
+Cornsilk,
+Crimson,
+Cyan,
+DarkBlue,
+DarkCyan,
+DarkGoldenrod,
+DarkGray,
+DarkGreen,
+DarkGrey,
+DarkKhaki,
+DarkMagenta,
+DarkOliveGreen,
+DarkOrange,
+DarkOrchid,
+DarkRed,
+DarkSalmon,
+DarkSeaGreen,
+DarkSlateBlue,
+DarkSlateGray,
+DarkSlateGrey,
+DarkTurquoise,
+DarkViolet,
+DeepPink,
+DeepSkyBlue,
+DimGray,
+DimGrey,
+DodgerBlue,
+FireBrick,
+FloralWhite,
+ForestGreen,
+Fuchsia,
+Gainsboro,
+GhostWhite,
+Gold,
+Goldenrod,
+Gray,
+Green,
+GreenYellow,
+Grey,
+Honeydew,
+HotPink,
+IndianRed,
+Indigo,
+Ivory,
+Khaki,
+Lavender,
+LavenderBlush,
+LawnGreen,
+LemonChiffon,
+LightBlue,
+LightCoral,
+LightCyan,
+LightGoldenrod,
+LightGoldenrodYellow,
+LightGray,
+LightGreen,
+LightGrey,
+LightPink,
+LightSalmon,
+LightSeaGreen,
+LightSkyBlue,
+LightSlateBlue,
+LightSlateGray,
+LightSlateGrey,
+LightSteelBlue,
+LightYellow,
+Lime,
+LimeGreen,
+Linen,
+Magenta,
+Maroon,
+MediumAquamarine,
+MediumBlue,
+MediumOrchid,
+MediumPurple,
+MediumSeaGreen,
+MediumSlateBlue,
+MediumSpringGreen,
+MediumTurquoise,
+MediumVioletRed,
+MidnightBlue,
+MintCream,
+MistyRose,
+Moccasin,
+NavajoWhite,
+Navy,
+NavyBlue,
+OldLace,
+Olive,
+OliveDrab,
+Orange,
+OrangeRed,
+Orchid,
+PaleGoldenrod,
+PaleGreen,
+PaleTurquoise,
+PaleVioletRed,
+PapayaWhip,
+PeachPuff,
+Peru,
+Pink,
+Plum,
+PowderBlue,
+Purple,
+Red,
+RosyBrown,
+RoyalBlue,
+SaddleBrown,
+Salmon,
+SandyBrown,
+SeaGreen,
+Seashell,
+Sienna,
+Silver,
+SkyBlue,
+SlateBlue,
+SlateGray,
+SlateGrey,
+Snow,
+SpringGreen,
+SteelBlue,
+Tan,
+Teal,
+Thistle,
+Tomato,
+Turquoise,
+Violet,
+VioletRed,
+Wheat,
+White,
+WhiteSmoke,
+Yellow,
+YellowGreen},
+ keywordstyle=[8]\color{Sienna},
+ morekeywords=[9]{},
+ keywordstyle=[9]\color{Olive}
+}
+\lstset{explpreset={pos=t,wide=false,rframe={},preset=\centering}}
+\lstdefinestyle{syntax}{backgroundcolor=\color{blue!15},numbers=none,xleftmargin=0pt,xrightmargin=0pt,
+ frame=single}
+\lstdefinestyle{code}{backgroundcolor=\color{red!15},%numbers=left,
+ xleftmargin=0pt,xrightmargin=0pt,
+ frame=single}
+
+\newtcblisting{mpcode}{
+ arc=0pt,outer arc=0pt,
+ colback=mpcode!3,
+ breakable,
+ boxsep=0pt,left=2pt,right=2pt,top=0pt,bottom=0pt, bottomtitle =
+ 3pt, toptitle=3pt,
+ boxrule=0pt,bottomrule=0.pt,toprule=0.pt, toprule at break =
+ 0pt, bottomrule at break = 0pt,
+ listing only,boxsep=0pt,listing
+ options={breaklines}
+}
+
+\makeatletter
+\tcbset{%
+ listing metapost/.code={%
+ \def\tcbuselistingtext@input{\begin{mplibcode}
+ background:=(.988,.976,.976); input \jobname.listing;
+ \end{mplibcode}}%
+ }
+}
+\makeatother
+\newtcblisting[auto counter,]{ExempleMP}[1][]{%
+ arc=0pt,outer arc=0pt,
+ colback=FireBrick!3,
+ colframe=FireBrick,
+ breakable,fontupper=\small,
+ boxsep=0pt,left=2pt,right=2pt,top=0pt,bottom=2pt, bottomtitle =
+ 3pt, toptitle=3pt, lefttitle=5pt,
+ boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
+ 0pt, bottomrule at break = 0pt,
+ listing side text,
+ listing metapost,
+ title={\bfseries\sffamily Exemple~\thetcbcounter},
+ listing options={breaklines},#1
+}
+
+
+\newcommand\mpgeomdd{\texttt{mp-geom2d}\xspace}
+\newcommand\fichier[1]{\texttt{#1}}
+\newcommand\variableGDD[1]{\texttt{\color{Sienna}#1}}
+\newcommand\typeMP[1]{\texorpdfstring{\texttt{\color{Tomato}#1}}{#1}}
+\newcommand\typeGDD[1]{\texorpdfstring{\texttt{\color{Sienna}#1}}{#1}}
+\newcommand\foncGDD[1]{\texorpdfstring{\texttt{\color{Sienna}#1}}{#1}}
+
+\newenvironment{Note}{
+ \noindent\textbf{Note~---~}}
+ {}
+
+
+
+%
+\colorlet{code}{blue!80!black}
+\newcommand\cmd{\texttt}
+\newcommand\code[1]{\texorpdfstring{\texttt{\color{code}#1}}{#1}}
+\newcommand*\cs[1]{\code{\textbackslash #1}}
+\newcommand*\macro{\par\bigskip\noindent\hspace{-30pt}%
+ \SaveVerb[aftersave={%
+ \UseVerb{Vitem}%
+ }%
+ ]{Vitem}%
+ % \bigskip
+}
+\newcommand\vitem[1][]{\SaveVerb[%
+ aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}}
+\newcommand*\textme[1]{\textcolor{black}{\rmfamily\textit{#1}}}
+\newcommand*\meta[1]{% % meta
+ \textme{\ensuremath{\langle}#1\ensuremath{\rangle}}%
+}
+\newcommand*\optstar{% % optional star
+ \meta{\ensuremath{*}}\xspace
+}
+\DefineShortVerb{\|}
+\setlength{\fboxsep}{2pt}
+\fvset{%
+ codes={\catcode`\«\active \catcode`\×\active },
+ defineactive={\makefancyog\makefancytimes},
+ formatcom=\color{FireBrick},
+ frame=single
+}
+% rendre «...» équivalent à \meta{...}
+{\catcode`\«\active
+ \newcommandx\makefancyog[0][addprefix=\global]{%
+ \def«##1»{\meta{##1}}}}
+% rendre × équivalent à \optstar
+{\catcode`\×\active
+ \newcommandx\makefancytimes[0][addprefix=\global]{%
+ \def×{\optstar{}}}}
+
+\NewDocumentEnvironment{Macro}{ov}{%
+\Verb+#2+
+}{%
+}
+\newcommand{\return}[1]{~$\rightarrow$~#1}
+\newcommand{\indication}[1]{\hfill(\itshape #1)}
+
+\newcommand{\R}{\mathbf{R}}
+
+\begin{document}
+%% === Page de garde ===================================================
+\thispagestyle{empty}
+\begin{tikzpicture}[remember picture, overlay]
+ \node[below right, shift={(-4pt,4pt)}] at (current page.north west) {%
+ \includegraphics{fond.pdf}%
+ };
+\end{tikzpicture}%
+
+\noindent
+{\scalebox{1.5}{\Huge \mpgeomdd}}\\
+{\Large Paquet \MP{} pour des figures de géométrie plane}\\[1cm]
+\parbox{0.6\textwidth}{
+\includegraphics[scale=0.86]{figure.pdf}
+}\hfill
+\parbox{0.4\textwidth}{\Large\raggedleft
+ \textbf{Contributeurs}\\
+ Maxime \textsc{Chupin}\\
+ Jean-Michel \textsc{Sarlat}
+}
+\vfill
+\begin{center}
+Version 1.0 du 13 octobre 2024\\
+\url{https://gitlab.gutenberg-asso.fr/mchupin/mp-geom2d}\\
+\url{https://ctan.org/pkg/mp-geom2d}
+\end{center}
+%% == Page de garde ====================================================
+\newpage
+
+
+
+\section{Objectif}
+
+\mpgeomdd a été écrit avec le but de proposer des macros \MP{} permettant
+de réaliser une figure de géométrie \emph{en collant} d'assez près
+à une description impérative:
+\begin{quote}\itshape
+Soit \(A\) le point de coordonnées (2,3).\\
+Soit \(B\) le point de coordonnées (4,5).\\
+Trace la droite \((A,B)\).\\
+....
+\end{quote}
+Dans ce cadre, les objets géométriques sont le plus souvent nommés
+(\(A\), \(B\), etc.) ou désignés par leur nature et leurs attributs
+(droite \((A,B)\), etc.). Pour ne pas avoir à dépasser ce mode de
+description, en particulier pour éviter d'avoir à déclarer le
+\emph{type} de ces objets, le choix a été fait de les identifier par
+un \emph{index}\footnote{Le type \typeMP{numeric}, qui est le type par
+défaut dans \MP, ne demande pas de déclaration préalable.} dans des
+tables qui en précisent les caractéristiques.
+
+\begin{Note} À ce jour, l'objectif n'est pas atteint, le
+développement est loin d'être achevé; il est encore nécessaire de
+faire appel à des commandes \MP{} ou à des \emph{macros
+intermédiaires} pour décrire une figure. Cela évoluera sans doute
+avec le temps, le temps de trouver une syntaxe satisfaisante...
+\end{Note}
+
+
+\section{Les fichiers}
+
+\mpgeomdd est un ensemble d'outils pour la géométrie plane avec
+\MP~\cite{ctan-metapost}. Cet
+ensemble est organisé en plusieurs fichiers :
+
+\begin{enumerate}
+\item \fichier{geom2d.mp} : c’est le fichier principal, qui charge tous les
+autres.
+\item \fichier{geom2d-main.mp} : il contient
+ les structures et fonctions générales.
+\item \fichier{geom2d.mp} :
+ contient tout ce qui concerne les arcs de cercles.
+\item \fichier{geom2d-c2d.mp} :
+ contient tout ce qui concerne les courbes du second degré.
+\item \fichier{geom2d-fct.mp} :
+ contient quelques fonctions mathématiques usuelles.
+\item \fichier{geom2d-lbl.mp} :
+ contient les fonctions relatives aux labels.
+\item \fichier{geom2d-plt.mp} :
+ contient des fonctions facilitant la représentation de fonctions
+ mathématiques.
+\item \fichier{geom2d-rep.mp}
+ contient différents outils pour le tracé de figure dans un repère.
+\item \fichier{geom2d-tra.mp}
+ contient les fonctions permettant de gérer la transparence (code
+ emprunté à Anthony \bsc{Phan}).
+\item \fichier{geom2d-svgnames.mp} fournit les 150 couleurs de la spécification
+SVG.
+\end{enumerate}
+
+Nous allons, dans la suite, décrire plus en détails chacune de ces
+fonctions. Certaines fonctions s'appuient sur
+l'extension \fichier{graph.mp} présente dans toutes les bonnes
+distributions \TeX.
+
+\section{Principe général de fonctionnement}
+
+\mpgeomdd utilise des tables comme structure principale. Chaque objet est
+numéroté \emph{via} le compteur \variableGDD{gddO}, son type\footnote{Les types
+sont propres à \mpgeomdd et seront décrits plus tard.} est stocké dans
+la table \variableGDD{gddT[]} à la place \variableGDD{gddT[gddO]}. Les
+propriétés des objets sont définies dans, là encore, des tables de
+type \typeMP{numeric} qui sont \variableGDD{gddA[]}, \variableGDD{gddB[]},
+\dots, \variableGDD{gddF[]}.
+
+Par exemple, pour un \typeGDD{Point} (type \mpgeomdd), la première coordonnée
+se trouve dans \variableGDD{gddA[]} et la seconde dans \variableGDD{gddB[]}
+(les autres table ne sont pas utilisées pour un tel objet).
+
+Il y a trois tables particulières \variableGDD{gddP[]} qui est du type
+\typeMP{path}, \variableGDD{gddPX[][]} qui est saversion étendue, et \variableGDD{gddS[]} qui est du type
+\typeMP{string}. Nous verrons plus tard quelle est leur utilité.
+
+Bien entendu, lors d'une utilisation classique de \mpgeomdd, l'appel à
+toutes ces tables n'est pas chose courante. Les fonctions que nous
+allons décrire dans la suite de ce document permettent de ne pas
+avoir recours trop précisément à cette machinerie.
+
+
+\section{Tracés}
+
+\mpgeomdd fournit des macros pour tracer des objets. Une commande permet de tracer
+la plupart des objets de \mpgeomdd (qui sont décrits dans la
+section~\ref{sec:types}), ainsi que certains type \MP. Les exemples tout au long
+de la documentation permettrons d’illustrer les commandes de tracé.
+
+Pour comprendre comment fonctionne les représentations avec \mpgeomdd, il nous faut
+tout d’abord décrire le mécanisme de gestion des unités.
+
+\subsection{Unité}
+
+\mpgeomdd définit une unité générale avec la variable globale
+\lstinline+gddU+. Ce \typeMP{numeric} vaut par
+défaut \SI{1}{cm}.
+\begin{colourband}
+ \macro|gddU|
+ \index{gddU@\lstinline+gddU+}
+ \end{colourband}
+\subsection{En place}
+
+Lors de l’utilisation des commandes de tracé, \mpgeomdd utilise la macro\label{gddEnPlace}
+\begin{colourband}
+\macro|gddEnPlace|
+\index{gddEnPlace@\lstinline+gddEnPlace+}
+\end{colourband}
+Cette macro permet de spécifier les transformations géomtriques nécessaires au
+placement de l’objet, notamment le facteur d’échelle relatif à l’unité
+\lstinline+gddU+.
+
+En interne, cette macro est un \lstinline+scantoken+ de la variable globale
+\variableGDD{gddW}\index{gddW@\lstinline+gddW+} (\typeMP{string}) qui contient les transformations.
+
+\subsection{Commandes de tracés}\label{sec:trace}
+
+La macro de tracé la plus courante est la macro \lstinline+trace+.
+\begin{colourband}
+\macro|trace(«objet»)|
+\begin{description}
+ \item[\meta{objet}:] peut être:
+ \begin{itemize}
+ \item pour le côté \MP, un \typeMP{path}, une
+ \typeMP{picture} ou un \typeMP{pair}, et dans ce cas \lstinline+trace+ sera
+ équivalent à \lstinline+draw+;
+ \item du côté de \mpgeomdd,
+ n’importe quel des 6 objets définis jusque là : \typeGDD{triangle},
+ \typeGDD{segment}, \typeGDD{droite}, \typeGDD{cercle}, \typeGDD{ellipse},
+ \typeGDD{parabole}, \typeGDD{hyperbole},
+ \typeGDD{polygone}, \typeGDD{chemin},
+ \typeGDD{courbe} ou \typeGDD{vecteur} (pour ce dernier, une flêche sera
+ ajoutée à l’extrếmité du vecteur).
+ \end{itemize}
+\end{description}\index{trace@\lstinline+trace+}
+\end{colourband}
+
+Lorsque \lstinline+trace+ est utilisée sur un objet de \mpgeomdd, la macro fait
+appel à la commande \MP\ \lstinline+draw+ avec le mécanisme de mise en place
+décrit plus haut.
+
+\mpgeomdd fournit un tracé avec flêche faisant non plus appel à \lstinline+draw+
+mais à \lstinline+drawarrow+.
+
+\begin{colourband}
+\macro|fleche(«objet»)|
+\begin{description}
+ \item[\meta{objet}:] peut être:
+ \begin{itemize}
+ \item pour le côté \MP, un \typeMP{path}, une
+ \typeMP{picture} ou un \typeMP{pair}, et dans ce cas \lstinline+trace+ sera
+ équivalent à \lstinline+drawarrow+;
+ \item du côté de \mpgeomdd,
+ n’importe quel des 6 objets définis jusque là : \typeGDD{triangle},
+ \typeGDD{segment}, \typeGDD{droite}, \typeGDD{cercle}, \typeGDD{ellipse},
+ \typeGDD{polygone}, \typeGDD{chemin},
+ \typeGDD{courbe} ou \typeGDD{vecteur} (pour ce dernier, une flêche sera
+ ajoutée à l’extrếmité du vecteur).
+ \end{itemize}
+\end{description}\index{fleche@\lstinline+fleche+}
+\end{colourband}
+
+On peut aussi colorier un objet grâce à la macro suivante.
+\begin{colourband}
+\macro|colorie(«objet»)|
+\begin{description}
+ \item[\meta{objet}:] peut être:
+ \begin{itemize}
+ \item pour le côté \MP, uniquement un \typeMP{path} et dans ce cas \lstinline+trace+ sera équivalent à \lstinline+fill+;
+ \item du côté de \mpgeomdd,
+ n’importe quel objets coloriable : \typeGDD{triangle},
+ \typeGDD{cercle}, \typeGDD{ellipse}, \typeGDD{polygone}, \typeGDD{chemin}, ou
+ \typeGDD{courbe}.
+ \end{itemize}
+\end{description}\index{colorie@\lstinline+colorie+}
+\end{colourband}
+
+
+Les commandes de tracés de \mpgeomdd font appel aux macros de
+base de \MP : \lstinline+draw+ et \lstinline+fill+. Ainsi, pour spécifier la
+couleur, on pourra
+utiliser la commande \lstinline+withcolor+ ou bien la macro
+\lstinline+drawoptions+.
+
+
+On peut aussi colorier avec de la transparence\footnote{En réalité, on simule de
+la transparence avec le code emprunté à Anthony Phan :
+\url{http://www-math.univ-poitiers.fr/~phan/metalpha.html}} avec la commande
+suivante.
+\begin{colourband}
+\macro|colorieAvecTransparence(«objet»,«couleur»,«coefficient de transparence»)|
+\begin{description}
+ \item[\meta{objet}:] peut être:
+ \begin{itemize}
+ \item pour le côté \MP, uniquement un \typeMP{path} et dans ce cas \lstinline+trace+ sera équivalent à \lstinline+fill+;
+ \item du côté de \mpgeomdd,
+ n’importe quel objets coloriable : \typeGDD{triangle},
+ \typeGDD{cercle}, \typeGDD{ellipse}, \typeGDD{polygone}, \typeGDD{chemin}, ou
+ \typeGDD{courbe}.
+ \end{itemize}
+ \item[\meta{couleur}:] est une \typeMP{color}.
+ \item[\meta{coefficient de transparence}:] est un \typeMP{numeric} compris
+ entre 0 et 1, 0 pour un coloriage opaque et 1 pour un coloriage invisible.
+\end{description}\index{colorie@\lstinline+colorie+}
+\end{colourband}
+
+
+
+
+Les macros ci-dessus, font appel à une macro plus bas niveau qui permet de
+retourner le \typeMP{path} à tracer ou colorier pour tous les objets \mpgeomdd.
+
+\begin{colourband}
+\macro|gddTraceObjet(«objet»)|\return{\typeMP{path}}
+\begin{description}
+ \item[\meta{objet}:]
+ \typeGDD{triangle}, \typeGDD{segment}, \typeGDD{vecteur},
+ \typeGDD{cercle}, \typeGDD{ellipse}, \typeGDD{parabole}, \typeGDD{hyperbole},\typeGDD{polygone}, \typeGDD{chemin}, ou
+ \typeGDD{courbe}.
+\end{description}\index{gddTraceObjet@\lstinline+gddTraceObjet+}
+\end{colourband}
+
+Si l’objet n’est pas fermé, \mpgeomdd fournit la macro suivante qui ajoute un
+\lstinline+--cycle+ à la suite du chemin :
+\begin{colourband}
+\macro|fermeture(«objet»)|\return{\typeMP{path}}\indication{fermé \lstinline+--cycle+}
+\begin{description}
+ \item[\meta{objet}:]
+ \begin{itemize}
+ \item du côté de \MP, \typeMP{path} ;
+ \item du côté de \mpgeomdd, \typeGDD{triangle}, \typeGDD{segment}, \typeGDD{vecteur},
+ \typeGDD{cercle}, \typeGDD{chemin}, ou
+ \typeGDD{courbe}.
+ \end{itemize}
+\end{description}\index{fermeture@\lstinline+fermeture+}
+\end{colourband}
+
+On pourra spécifier le \emph{crayon} utilisé pour les tracés avec la commande
+suivante:
+
+\begin{colourband}
+ \macro|avecCrayon(«taille»,«couleur»)|
+ \begin{description}
+ \item[\meta{taille}:] facteur d’échelle \typeMP{numeric} du \typeMP{pen}
+ \lstinline+pencircle+ de \MP{} utilisé ;
+ \item[\meta{couleur}:] couleur \typeMP{color} à utiliser.
+ \end{description}\index{avecCrayon@\lstinline+avecCrayon+}
+\end{colourband}
+
+Cette macro est un raccourci pour le \emph{classique} \texttt{withpen
+pencircle scaled ... withcolor ...}. On peut d’ailleurs évidemment toujours
+utiliser les commandes \MP{} pour le dessin.
+
+On peut représenter les objets de type \typeGDD{point}. Pour cela, on dispose
+d’une commande qui trace un petit cercle coloré à l’endroit du point. La
+commande est la suivante :
+
+\begin{colourband}
+\macro|pointe(«point»)|
+\begin{description}
+ \item[\meta{point}:] \typeGDD{point} ou \typeMP{pair}
+\end{description}\index{pointe@\lstinline+pointe+}
+\end{colourband}
+
+Cette macro utilise deux variables globales de \mpgeomdd qui sont
+\begin{colourband}
+\macro|gddTaillePoint|\indication{\typeMP{numeric}, valeur par défaut 3}
+\index{gddTaillePoint@\lstinline+gddTaillePoint+}
+\end{colourband}
+et
+\begin{colourband}
+\macro|gddCouleurPoint| \indication{\typeMP{color}, valeur par défaut \lstinline+white+}
+\index{gddCouleurPoint@\lstinline+gddCouleurPoint+}
+\end{colourband}
+
+\subsection{Contenir les tracés}
+
+Il est souvent nécessaire de restreindre les tracés à une zone du plan $\R^2$.
+Pour cela, \mpgeomdd fournit la commande \lstinline+Fenetre+:
+\begin{colourband}
+\macro|Fenetre(«Xmin»,«Ymin»,«Xmax»,«Ymin»)|
+\index{Fenetre@\lstinline+Fenetre+}
+\end{colourband}
+Cette fonction trace un rectangle dans deux sommets opposés sont les points
+\lstinline|(Xmin,Ymin)| et \lstinline|(Xmax,Ymax)| avec la couleur \MP{}
+\lstinline+background+ et découpe l’image courante autour de ce cadre (avec la
+commande \MP{} \lstinline+clip currentpicture+).
+
+
+\section{Les types}\label{sec:types}
+
+\mpgeomdd, fournit plusieurs types d'objets. Le type d'objet est
+stocké dans la table \variableGDD{gddT[]}, et les tables \variableGDD{gddA[]}
+à \variableGDD{gddF[]}, ainsi que la table \variableGDD{gddX} contiennent les propriétés des objets.
+
+Nous allons ici décrire chaque type de l'extension \mpgeomdd,
+leurs propriétés respectives, ainsi que des méthodes associées directement à
+l’objet.
+
+\subsection{Le type \typeGDD{point}}
+
+Ce type correspond au point de
+l'espace euclidien.
+
+\subsubsection{Constructeur}
+
+Pour être plus clair voici la fonction principale
+pour créer un tel objet :
+%
+\begin{mpcode}
+vardef Point(expr a,b) =
+ gddT[incr gddO] = "point";
+ gddA[gddO] = a; gddB[gddO] = b; gddO
+enddef;
+\end{mpcode}
+
+\begin{colourband}
+\macro|Point(«x»,«y»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{x}:] \typeMP{numeric}
+ \item[\meta{y}:] \typeMP{numeric}
+\end{description}\index{Point@\lstinline+Point+}
+\end{colourband}
+\bigskip
+
+
+Cette fonction \og{}retourne\fg{} le compteur \variableGDD{gdd0} et crée dans la
+table de type une entrée \typeGDD{point} et les attributs (coordonnées)
+correspondants \variableGDD{a} et \variableGDD{b} dans les tables
+\variableGDD{gddA} et \variableGDD{gddB}.
+
+Avec un tel type de fonctionnement, la plupart des manipulations se
+fait sur des \typeMP{numeric}s. En effet, pour déclarer un
+\typeGDD{point}, il suffit d'écrire
+\begin{mpcode}
+A = Point(2,3);
+\end{mpcode}
+\variableGDD{A} prend alors la valeur courante de \variableGDD{gddO}. C'est
+l'identifiant du point.
+
+On peut aussi définir un \typeGDD{point} par ses coordonnées \emph{polaires}
+avec la commande suivante.
+
+\begin{colourband}
+\macro|PointPolaire(«r»,«a»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{r}:] \typeMP{numeric}, module du point.
+ \item[\meta{a}:] \typeMP{numeric}, angle par rapport à l’axe des abscisses.
+\end{description}\index{Point@\lstinline+Point+}
+\end{colourband}
+\bigskip
+
+
+
+On peut définir un point dans un repère défini lui par un point
+d’origine et deux vecteurs avec la fonction suivante:
+\begin{colourband}
+\macro|PointDansRepere(«x»,«y»,«o»,«i»,«j»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{x}:] \typeMP{numeric}
+ \item[\meta{y}:] \typeMP{numeric}
+ \item[\meta{o}:] \typeGDD{Point} d’origine du repère
+ \item[\meta{i}:] \typeGDD{Vecteur} (ou \typeGDD{Point}) définissant l’axe des abscisses
+ \item[\meta{j}:] \typeGDD{Vecteur} (ou \typeGDD{Point}) définissant l’axe des ordonnées
+\end{description}\index{PointDansRepere@\lstinline+PointDansRepere+}
+\end{colourband}
+
+\bigskip
+
+On pourra alors définir un point comme ceci:
+Un vecteur se définit alors comme ceci (pas soucis de concision, on utilise ici
+des \typeGDD{Point}s qui devraient être des \typeGDD{Vecteur}s):
+\begin{mpcode}
+O = Point(0,0);
+I = Point(2,0);
+J = Point(0,3);
+A = PointDansRepere(2,3,O,I,J);
+\end{mpcode}
+
+
+\subsubsection{Macros associées}
+
+On peut récupérer les abscisse et ordonnée d’un point avec les commandes
+suivantes :
+\begin{colourband}
+\macro|Abscisse(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point}, \typeGDD{vecteur} ou \typeMP{pair}.
+\end{description}\index{Abscisse@\lstinline+Abscisse+}
+\end{colourband}
+
+\begin{colourband}
+\macro|Ordonnee(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point}, \typeGDD{vecteur} ou \typeMP{pair}.
+\end{description}\index{Ordonnee@\lstinline+Ordonnee+}
+\end{colourband}
+
+On pourra ajouter les abscisses, les ordonnées ou bien, à la manière des
+vecteurs, des points entre eux avec les commandes suivantes.
+\begin{colourband}
+\macro|AdditionAbscisses(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair}.
+\end{description}\index{AdditionAbscisses@\lstinline+AdditionAbscisses+}
+\end{colourband}
+\begin{colourband}
+\macro|AdditionOrdonnee(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair}.
+\end{description}\index{AdditionOrdonnee@\lstinline+AdditionOrdonnee+}
+\end{colourband}
+et
+\begin{colourband}
+\macro|Addition(«a»,«b»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair};
+ \item[\meta{b}:] \typeGDD{point} ou \typeMP{pair}.
+\end{description}\index{Addition@\lstinline+Addition+}
+\end{colourband}
+
+On peut aussi calculer la longueur entre deux points grâce à la commande
+suivante:
+\begin{colourband}
+\macro|Longueur(«a»,«b»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair};
+ \item[\meta{b}:] \typeGDD{point} ou \typeMP{pair}.
+\end{description}\index{Longueur@\lstinline+Longueur+}
+\end{colourband}
+
+On peut calculer le point équidistant de deux point, le milieu :
+\begin{colourband}
+\macro|Milieu(«a»,«b»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair};
+ \item[\meta{b}:] \typeGDD{point} ou \typeMP{pair}.
+\end{description}\index{Milieu@\lstinline+Milieu+}
+\end{colourband}
+
+On peut réaliser la rotation d’un point autour de l’origine $(0,0)$ avec la
+commande suivante:
+\begin{colourband}
+\macro|Rotation(«a»,«b»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair};
+ \item[\meta{b}:] \typeMP{numeric}, l’angle de rotation en radian.
+\end{description}\index{Rotation@\lstinline+Rotation+}
+\end{colourband}
+
+Si on veut réaliser la rotation d’un point autour d’un autre, on utilisera la
+commande suivante:
+\begin{colourband}
+\macro|RotationCentre(«a»,«b»,«c»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair};
+ \item[\meta{b}:] \typeGDD{point} ou \typeMP{pair};
+ \item[\meta{c}:] \typeMP{numeric}, l’angle de rotation en radian.
+\end{description}\index{RotationCentre@\lstinline+RotationCentre+}
+\end{colourband}
+
+On peut calculer l’isobarycentre d’une liste de points (ou de \typeMP{pair} de \MP) avec la commande suivante.
+\begin{colourband}
+\macro|IsoBarycentre(«a»,«b»,«c», etc.)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair};
+ \item[\meta{b}:] \typeGDD{point} ou \typeMP{pair}.
+\end{description}\index{IsoBarycentre@\lstinline+IsoBarycentre+}
+\end{colourband}
+
+On peut calculer le barycentre d’une liste de points associées à des poids (mais
+ici, il n’est pas possible d’utiliser des \typeMP{pair} de \MP).
+\begin{colourband}
+\macro|Barycentre((«A»,«a»),(«B»,«b»),(«C»,«c»), etc.)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{A}:] \typeGDD{point} ;
+ \item[\meta{a}:] \typeMP{numeric}, poids associé à \meta{A} ;
+ \item[\meta{B}:] \typeGDD{point} ;
+ \item[\meta{b}:] \typeMP{numeric}, poids associé à \meta{B} ;
+ \item[] etc.
+\end{description}\index{Barycentre@\lstinline+Barycentre+}
+\end{colourband}
+
+
+On peut déterminer la bissectrice d’un secteur angulaire défini par trois
+points. La fonction retourne une \typeGDD{droite}..
+\begin{colourband}
+\macro|Bissectrice(«A»,«B»,«C»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{A}:] \typeGDD{point} ;
+ \item[\meta{B}:] \typeGDD{point} ;
+ \item[\meta{C}:] \typeGDD{point} ;
+\end{description}\index{Bissectrice@\lstinline+Bissectrice+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,0);
+B = Point(0,0);
+C = Point(1,1);
+D = Bissectrice(A,B,C);
+trace D;
+marque.bot "A";
+marque.bot "B";
+marque.bot "C";
+Fenetre(-0.5,-0.5,2,2);
+endfig;
+\end{ExempleMP}
+
+
+Le type \typeGDD{point} est évidemment lié au type \MP{} \typeMP{pair}.
+
+\mpgeomdd fournit des macros qui permettent de passer de \typeGDD{point} à
+\typeMP{pair} et réciproquement.
+\begin{colourband}
+\macro|PointTOPair(«a»,«b»)|\return{\typeMP{pair}}
+\begin{description}
+ \item[\meta{a}:] \typeMP{numeric}, abscisse
+ \item[\meta{b}:] \typeMP{numeric}, ordonnée
+\end{description}\index{PointTOPair@\lstinline+PointTOPair+}
+\end{colourband}
+
+
+\begin{colourband}
+\macro|PairTOPoint(«p»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{p}:] \typeMP{pair}
+\end{description}\index{PairTOPoint@\lstinline+PairTOPoint+}
+\end{colourband}
+
+Ces deux commandes sont complétées par deux autres qui assure qu’un élément est
+d’un type donné:
+\begin{colourband}
+\macro|PairImp(«p»)|\return{\typeGDD{pair}}
+\begin{description}
+ \item[\meta{p}:] \typeGDD{point} ou \typeMP{pair}
+\end{description}\index{PairImp@\lstinline+PairImp+}
+\end{colourband}
+
+
+\begin{colourband}
+\macro|PointImp(«p»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{p}:] \typeGDD{point} ou \typeMP{pair}
+\end{description}\index{PointImp@\lstinline+PointImp+}
+\end{colourband}
+
+On peut aussi récupérer un point le long d’un objet \mpgeomdd (décris dans les
+sections suivantes). La macro suivante retourne un \typeGDD{point} le long du
+chemin (cyclique ou non) de l’objet le paramétrant entre 0 et 1.
+
+\begin{colourband}
+\macro|PointDe(«o»,«t»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{o}:] n’importe quel objet \mpgeomdd (même un \typeGDD{point} pour
+ lequel lui-même est retourné);
+ \item[\meta{t}:] \typeMP{numeric} compris entre 0 et 1 (qui paramètre le
+ chemin de l’objet entre 0 et 1).
+\end{description}\index{PointDe@\lstinline+PointDe+}
+\end{colourband}
+
+
+
+\subsection{Le type \typeGDD{vecteur}}
+
+Ce type correspond aux vecteurs
+définis à l'aide de deux coordonnées de l'espace euclidien.
+
+\subsubsection{Constructeurs}
+
+La fonction
+créatrice d'un tel objet est celle-ci
+%
+\begin{mpcode}
+vardef Vecteur(expr a,b) =
+ save n; n = incr gddO;
+ gddT[n] = "vecteur"; gddA[n] = a; gddB[n] = b; n
+enddef;
+\end{mpcode}
+
+\begin{colourband}
+\macro|Vecteur(«a»,«b»)|\return{\typeGDD{vecteur}}
+\begin{description}
+ \item[\meta{a}:] \typeMP{numeric}
+ \item[\meta{b}:] \typeMP{numeric}
+\end{description}\index{Vecteur@\lstinline+Vecteur+}
+\end{colourband}
+\bigskip
+
+Cette fonction a la même architecture que celle correspondante au
+\typeGDD{point} : elle retourne la valeur courante de \variableGDD{gddO}
+après incrémentation, puis affecte le type \typeGDD{vecteur} à
+l'entrée correspondante dans la table \variableGDD{gddT}.
+
+On peut aussi définir un vecteur à partir d’un \typeMP{pair} \MP.
+\begin{mpcode}
+vardef VecteurP(expr a) =
+ save n; n = incr gddO;
+ gddT[n] = "vecteur"; gddA[n] = xpart a; gddB[n] = ypart a; n
+enddef;
+\end{mpcode}
+
+\begin{colourband}
+\macro|VecteurP(«a»)|\return{\typeGDD{vecteur}}
+\begin{description}
+ \item[\meta{a}:] \typeMP{pair}
+\end{description}\index{VecteurP@\lstinline+VecteurP+}
+\end{colourband}
+\bigskip
+
+Un vecteur peut se définir alors comme ceci:
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+AB = Vecteur(2,3);
+pair a;
+a := (3,2);
+A = VecteurP(a);
+trace AB;
+trace A;
+endfig;
+\end{ExempleMP}
+
+\subsubsection{Macros associées}
+
+Comme les objets de \mpgeomdd sont des \typeMP{numeric}s, les opérations classiques
+de l’espace vectoriel ne peuvent pas s’écrire avec les simple caractères
+\lstinline-+-, \lstinline+-+, et \lstinline-*-.
+
+\begin{colourband}
+\macro|AdditionVecteur(«a»,«b»)|\return{\typeGDD{vecteur}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{vecteur}
+ \item[\meta{b}:] \typeGDD{vecteur}
+\end{description}\index{AdditionVecteur@\lstinline+AdditionVecteur+}
+\end{colourband}
+\bigskip
+
+
+\begin{colourband}
+\macro|SoustractionVecteur(«a»,«b»)|\return{\typeGDD{vecteur}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{vecteur}
+ \item[\meta{b}:] \typeGDD{vecteur}
+\end{description}\index{SoustractionVecteur@\lstinline+SoustractionVecteur+}
+\end{colourband}
+\bigskip
+
+
+\begin{colourband}
+\macro|ScalaireVecteur(«k»,«b»)|\return{\typeGDD{vecteur}}
+\begin{description}
+ \item[\meta{k}:] \typeMP{numeric}
+ \item[\meta{b}:] \typeGDD{vecteur}
+\end{description}\index{ScalaireVecteur@\lstinline+ScalaireVecteur+}
+\end{colourband}
+\bigskip
+
+On pourra alors faire les opérations classiques sur les vecteurs.
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+AB = Vecteur(2,3);
+BC = Vecteur(1,0);
+AC = AdditionVecteur(AB,BC);
+kAC = ScalaireVecteur(3.0,AC);
+trace AB;
+trace BC;
+trace AC;
+endfig;
+\end{ExempleMP}
+
+On peut aussi calculer le produit scalaire de deux vecteurs avec la commande
+suivante.
+
+\begin{colourband}
+\macro|ProduitScalaire(«a»,«b»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeMP{vecteur}
+ \item[\meta{b}:] \typeGDD{vecteur}
+\end{description}\index{ProduitScalaire@\lstinline+ProduitScalaire+}
+\end{colourband}
+\bigskip
+
+On peut aussi calculer la norme euclidienne d’un vecteur.
+\begin{colourband}
+\macro|Norme(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{vecteur}
+\end{description}\index{Norme@\lstinline+Norme+}
+\end{colourband}
+\bigskip
+
+La commande suivante permet d’obtenir l’angle, en radian, entre $[0,\pi]$ formé
+entre deux vecteurs. Si on note $u$ et $v$ les deux vecteurs de $\R^2$, l’angle
+calculé par la commande suivante est obtenu avec la formule suivante :
+\[\theta = \arccos \left(\frac{u\cdot v}{\|u\|\|v\|}\right).\]
+
+\begin{colourband}
+\macro|Angle(«a»,«b»)|\return{\typeMP{numeric} (dans $[0,\pi]$)}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{vecteur}
+ \item[\meta{b}:] \typeGDD{vecteur}
+\end{description}\index{Norme@\lstinline+Norme+}
+\end{colourband}
+\bigskip
+
+
+\subsection{Le type \typeGDD{segment}}
+Les segments sont
+définis par deux points de $\R^2$.
+
+
+\subsubsection{Contructeur}
+La fonction créatrice de cet objet est
+celle-ci
+\begin{mpcode}
+vardef Segment (expr a,b) =
+ save n; n = incr gddO;
+ gddT[n] = "segment"; gddA[n] = PointImp(a); gddB[n] = PointImp(b); n
+enddef;
+\end{mpcode}
+
+\begin{colourband}
+\macro|Segment(«a»,«b»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point}
+ \item[\meta{b}:] \typeGDD{point}
+\end{description}\index{Segment@\lstinline+Segment+}
+\end{colourband}
+
+\bigskip
+
+Un segment se définit alors comme ceci:
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(2,3);
+B = Point(4,5);
+C = Point(2,1);
+AB = Segment(A,B);
+BC = Segment(B,C);
+AC = Segment(A,C);
+fleche AB;
+fleche BC;
+fleche AC;
+endfig;
+\end{ExempleMP}
+
+\subsubsection{Macros associées}
+
+On peut calculer la longueur d’un segment avec la macro suivante.
+\begin{colourband}
+\macro|LongueurSegment(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{segment}
+\end{description}\index{LongueurSegment@\lstinline+LongueurSegment+}
+\end{colourband}
+
+On peut aussi convertir un segment en vecteur avec la macro suivante qui fait la
+différente des coordonnées des deux points définissant le segment.
+\begin{colourband}
+\macro|SegmentTOVecteur(«a»)|\return{\typeGDD{vecteur}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{segment}
+\end{description}\index{SegmentTOVecteur@\lstinline+SegmentTOVecteur+}
+\end{colourband}
+
+
+
+\subsection{Le type \typeGDD{droite}}
+Une droite est simplement définie par
+deux points.
+
+\subsubsection{Constructeur}
+
+Ainsi la fonction créatrice de cet objet est la suivante
+\begin{mpcode}
+vardef Droite (expr a,b) =
+ save n; n = incr gddO;
+ gddT[n] = "droite"; gddA[n] = PointImp(a); gddB[n] = PointImp(b); n
+enddef;
+\end{mpcode}
+\begin{colourband}
+\macro|Droite(«a»,«b»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point}
+ \item[\meta{b}:] \typeGDD{point}
+\end{description}\index{Droite@\lstinline+Droite+}
+\end{colourband}
+\bigskip
+
+Lors de la représentation des droites (voir section~\ref{sec:trace}), le
+caractère \emph{infini} de la droite est géré par la variable globale
+\lstinline+gddExtensionDroite+
+\index{gddExtensionDroite@\lstinline+gddExtensionDroite+}
+qui vaut 10 par défaut.
+
+\subsubsection{Macros associées}
+
+
+La macro suivante permet, sous forme d’un triplet, et donc d’une \typeMP{color},
+d’obtenir les coefficients d’une droite donnée. Pour une droite $(D)$, la macro
+donne le triplet $(u,v,w)\in\R^3$ tel que $\forall (x,y)\in(D)$, $ux+vy+w=0$.
+
+\begin{colourband}
+\macro|EquationDroite(«a»)|\return{\typeMP{color}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{droite}
+\end{description}\index{EquationDroite@\lstinline+EquationDroite+}
+\end{colourband}
+
+On peut calculer la projection d’un point sur une droite avec la commande
+suivante.
+
+\begin{colourband}
+\macro|ProjectionPointSurDroite(«p»,«a»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{p}:] \typeGDD{point}
+ \item[\meta{a}:] \typeGDD{droite}
+\end{description}\index{ProjectionPointSurDroite@\lstinline+ProjectionPointSurDroite+}
+\end{colourband}
+
+On peut obtenir l’ordonnée relative d’un point sur une droite avec la macro
+suivante.
+\begin{colourband}
+\macro|OrdonneeRelativePointDroite(«p»,«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{p}:] \typeGDD{point}
+ \item[\meta{a}:] \typeGDD{droite}
+\end{description}\index{OrdonneeRelativePointDroite@\lstinline+OrdonneeRelativePointDroite+}
+\end{colourband}
+
+Le calcul de la distance d’un point à une droite se fait avec la macro suivante.
+\begin{colourband}
+\macro|DistancePointDroite(«p»,«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{p}:] \typeGDD{point}
+ \item[\meta{a}:] \typeGDD{droite}
+\end{description}\index{DistancePointDroite@\lstinline+DistancePointDroite+}
+\end{colourband}
+
+La macro suivante permet d’obtenir la droite perpendiculaire à un droite passant
+par un point.
+\begin{colourband}
+\macro|DroitePerpendiculaire(«a»,«p»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{droite}
+ \item[\meta{p}:] \typeGDD{point}
+\end{description}\index{DroitePerpendiculaire@\lstinline+DroitePerpendiculaire+}
+\end{colourband}
+
+On pourra obtenir le \typeGDD{point} d’intersection de deux droites avec la
+macro suivante.
+\begin{colourband}
+\macro|IntersectionDroites(«a»,«b»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{droite}
+ \item[\meta{b}:] \typeGDD{droite}
+\end{description}\index{IntersectionDroites@\lstinline+IntersectionDroites+}
+\end{colourband}
+
+La macro suivante permet de reporter un point sur une droite avec une certaine
+longueure, à la manière d’un compas.
+
+\begin{colourband}
+\macro|ReportSurDroite(«P»,«D»,«l»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{P}:] \typeGDD{point}
+ \item[\meta{D}:] \typeGDD{droite}
+ \item[\meta{l}:] \typeGDD{numeric}
+\end{description}\index{ReportSurDroite@\lstinline+ReportSurDroite+}
+\end{colourband}
+
+Voici un exemple permettant d’illustrer l’utilisation de quelques commandes
+relatives aux droites.
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(0,0);
+B = Point(3,2);
+AB = Droite(A,B);
+trace AB;
+pointe A;
+pointe B;
+C = Point(0,2);
+DC = DroitePerpendiculaire(AB,C);
+trace DC;
+pointe C;
+D = ProjectionPointSurDroite(C,AB);
+pointe D;
+Fenetre(-2,-2,4,4);
+endfig;
+\end{ExempleMP}
+
+
+
+
+
+\subsection{Le type \typeGDD{cercle}}
+Un cercle est défini par un point et un
+rayon.
+
+\subsubsection{Constructeurs}
+La fonction créatrice de base de cet objet est la suivante
+\begin{mpcode}
+vardef Cercle (expr a,b) =
+ save n; n = incr gddO;
+ gddT[n] = "cercle"; gddA[n] = PointImp(a); gddB[n] = b; n
+enddef;
+\end{mpcode}
+\begin{colourband}
+\macro|Cercle(«a»,«b»)|\return{\typeGDD{cercle}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair},
+ centre du cercle
+ \item[\meta{b}:] \typeMP{numeric}, rayon du cercle
+\end{description}\index{Cercle@\lstinline+Cercle+}
+\end{colourband}
+\bigskip
+
+
+Deux autres fonctions permettent de définir des cercles. La fonction
+\foncGDD{CercleCP} définit le cercle par un centre et un point par lequel passe
+le cercle.
+\begin{colourband}
+\macro|CercleCP(«a»,«b»)|\return{\typeGDD{cercle}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair},
+ centre du cercle
+ \item[\meta{b}:] \typeGDD{point},
+ tel que \meta{b}-\meta{a} est le rayon
+\end{description}\index{CercleCP@\lstinline+CercleCP+}
+\end{colourband}
+\bigskip
+
+
+
+On peut aussi définir un cercle par deux points définissant son diamètre. La
+fonction correspondante est la suivante
+
+\begin{colourband}
+\macro|CercleD(«a»,«b»)|\return{\typeGDD{cercle}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair}
+ \item[\meta{b}:] \typeGDD{point} ou \typeMP{pair},
+ tel que (\meta{a}--\meta{b}) est le diamètre du cercle
+\end{description}\index{CercleD@\lstinline+CercleD+}
+\end{colourband}
+\bigskip
+
+On peut aussi définir un cercle comme le cercle qui passe par trois points avec
+la macro suivante.
+
+\begin{colourband}
+\macro|CercleTroisPoints(«a»,«b»,«c»)|\return{\typeGDD{cercle}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair}
+ \item[\meta{b}:] \typeGDD{point} ou \typeMP{pair}
+ \item[\meta{c}:] \typeGDD{point} ou \typeMP{pair}
+\end{description}\index{CercleTroisPoints@\lstinline+CercleTroisPoints+}
+\end{colourband}
+\bigskip
+
+
+
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(3,1);
+B = Point(0,2);
+O = Point(0,0);
+r = 1.0;
+COr = Cercle(O,r);
+COA = CercleCP(O,A);
+CAB = CercleD(A,B);
+COAB = CercleTroisPoints(O,A,B);
+trace COr;
+trace COA;
+trace CAB;
+trace COAB;
+pointe A; pointe B; pointe O;
+endfig;
+\end{ExempleMP}
+
+\subsubsection{Macros associées}
+
+De nombreuses macros sont associées aux cercles.
+
+On pourra récupérer le rayon d’un cercle avec la commande suivante.
+
+
+\begin{colourband}
+\macro|Rayon(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}
+\end{description}\index{Rayon@\lstinline+Rayon+}
+\end{colourband}
+\bigskip
+
+On pourra obtenir le centre (\typeGDD{point}) d’un cercle avec la commande :
+\begin{colourband}
+\macro|Centre(«a»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}, \typeGDD{ellipse} ou \typeGDD{hyperbole}
+\end{description}\index{Centre@\lstinline+Centre+}
+\end{colourband}
+\bigskip
+
+On peut calculer l’intersection entre deux cercles grâce à la macro suivante.
+
+\begin{colourband}
+\macro|IntersectionCercles(«a»,«b»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}
+ \item[\meta{b}:] \typeGDD{cercle}
+\end{description}\index{IntersectionCercles@\lstinline+IntersectionCercles+}
+\end{colourband}
+\bigskip
+
+Cette macro ne donnera qu’un seul point d’intersection. Pour obtenir les deux
+points d’intersection, il faudra inverser l’ordre d’appel sur les cercles comme
+l’exemple suivant l’illustre.
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(0,0);
+CA = Cercle(A,1);
+B = Point(1.5,0);
+CB = Cercle(B,2);
+D1 = IntersectionCercles(CA,CB);
+D2 = IntersectionCercles(CB,CA);
+trace CA; trace CB;
+pointe A; pointe B; pointe D1; pointe D2;
+endfig;
+\end{ExempleMP}
+
+\mpgeomdd fournit aussi une macro permettant d’obtenir les intersections entre une
+droite et un cercle.
+
+\begin{colourband}
+\macro|IntersectionDroiteCercle(«d»,«c»,«n»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{d}:] \typeGDD{droite}
+ \item[\meta{c}:] \typeGDD{cercle}
+ \item[\meta{n}:] \typeMP{numeric} qui vaut 1 ou 2 suivant le point
+ d’intersection que l’on souhaite (s’il n’existe qu’un point d’intersection
+ alors les deux valeurs renvoient le même point)
+\end{description}\index{IntersectionDroiteCercle@\lstinline+IntersectionDroiteCercle+}
+\end{colourband}
+\bigskip
+
+L’exemple suivant permet d’illuster cette macro.
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(2,2);
+C_A = Cercle(A,1);
+B = Point(0,1);
+C = Point(4,2);
+BC = Droite(B,C);
+E1 = IntersectionDroiteCercle(BC,C_A,1);
+trace C_A;
+trace BC dashed evenly;
+pointe A; pointe B; pointe C; pointe E1;
+Fenetre(-0.5,-0.5,5,4);
+endfig;
+\end{ExempleMP}
+
+
+
+On peut obtenir les tangentes intérieures et extérieures communes à deux cercles
+avec les deux macros suivantes. Là encore, comme il existe deux tangentes, pour
+obtenir les deux, on inversera l’ordre d’appel des deux cercles.
+
+\begin{colourband}
+\macro|TangenteCommuneExterieure(«a»,«b»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}
+ \item[\meta{b}:] \typeGDD{cercle}
+\end{description}\index{TangenteCommuneExterieure@\lstinline+TangenteCommuneExterieure+}
+\end{colourband}
+\bigskip
+
+
+\begin{colourband}
+\macro|TangenteCommuneInterieure(«a»,«b»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}
+ \item[\meta{b}:] \typeGDD{cercle}
+\end{description}\index{TangenteCommuneInterieure@\lstinline+TangenteCommuneInterieure+}
+\end{colourband}
+\bigskip
+
+L’exemple suivante illustre l’utilisation de ces deux macros.
+\begin{ExempleMP}[sidebyside=false]
+input geom2d;
+beginfig(1);
+C1 = Cercle((-2,0),2);
+C2 = Cercle((1.5,0),1);
+T1 = TangenteCommuneExterieure(C1,C2);
+T2 = TangenteCommuneExterieure(C2,C1);
+T3 = TangenteCommuneInterieure(C1,C2);
+T4 = TangenteCommuneInterieure(C2,C1);
+trace C1; trace C2;
+trace T1; trace T2;
+trace T3; trace T4;
+
+Fenetre(-5,-3,6,3);
+endfig;
+\end{ExempleMP}
+
+La macro suivante permet de calculer l’axe radical (\typeGDD{droite}) de deux
+cercles\footnote{La méthode de construction a été largement inspirée du code de
+T.~Thurston dans son document \emph{Drawing with \MP}.}.
+\begin{colourband}
+\macro|AxeRadical(«a»,«b»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}
+ \item[\meta{b}:] \typeGDD{cercle}
+\end{description}\index{AxeRadical@\lstinline+AxeRadical+}
+\end{colourband}
+\bigskip
+
+La macro suivante permet d’obtenir le centre radical de trois cercles.
+\begin{colourband}
+\macro|CentreRadical(«a»,«b»,«c»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}
+ \item[\meta{b}:] \typeGDD{cercle}
+ \item[\meta{c}:] \typeGDD{cercle}
+\end{description}\index{CentreRadical@\lstinline+CentreRadical+}
+\end{colourband}
+\bigskip
+
+La macro suivante permet de calculer l’axe de similitude de trois cercles.
+\begin{colourband}
+\macro|AxeDeSimilitude(«a»,«b»,«c»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}
+ \item[\meta{b}:] \typeGDD{cercle}
+ \item[\meta{c}:] \typeGDD{cercle}
+\end{description}\index{AxeDeSimilitude@\lstinline+AxeDeSimilitude+}
+\end{colourband}
+\bigskip
+
+\subsection{Le type \typeGDD{ellipse}}
+\subsubsection{Contructeurs}
+
+Les ellipses peuvent être définies de plusieurs façons. Tout d’abord, on peut la
+définir avec son centre, un des points de l’ellipse sur le grand axe (appelé
+vertex), et un des points de l’ellipse sur le petit axe (appelé co-vertex).
+Cependant, lors de la création d’une ellipse de nombreux attribus sont calculés.
+
+Le code du contructeur est le suivant:
+\begin{mpcode}
+vardef Ellipse(expr C,A,B) =
+ % C : centre
+ % A : vertex
+ % B : co-vertex
+ save n,a,b,c,e,_tmp,slope;
+ pair _tmp;
+ n = incr gddO;
+ gddT[n] = "ellipse"; gddA[n] = PointImp(C); gddB[n] = PointImp(A);
+ gddC[n] = PointImp(B);
+ % calcul des deux foyers
+ a = Longueur(C,A);
+ b = Longueur(C,B);
+ c = sqrt(a**2-b**2);
+ e = c/a;
+ _tmp = e*(Pt(A)-Pt(C));
+ % les foyers
+ gddD[n] = PairTOPoint(Pt(C)+_tmp);
+ gddE[n] = PairTOPoint(Pt(C)-_tmp);
+ gddX[n][1] = a;
+ gddX[n][2] = b;
+ gddX[n][3] = e;
+ % angle du demi grand axe
+ slope = angle(PairImp(A)-PairImp(C));
+ gddX[n][4] = slope;
+ n
+enddef;
+\end{mpcode}
+
+\begin{colourband}
+\macro|Ellipse(«c»,«a»,«b»)|\return{\typeGDD{ellipse}}
+\begin{description}
+ \item[\meta{c}:] \typeGDD{point} ou \typeMP{pair}, le centre
+ \item[\meta{a}:] \typeGDD{point} ou \typeMP{pair}, le vertex
+ \item[\meta{b}:] \typeGDD{point} ou \typeMP{pair}, le co-vertex
+\end{description}\index{Ellipse@\lstinline+Ellipse+}
+\end{colourband}
+\bigskip
+
+Cette macro s’utilise comme le montre l’exemple suivant.
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+C = Point(0,0);
+A = Point(3,1);
+B = Rotation((1.5,0.5),Pi/2);
+E = Ellipse(C,A,B);
+trace E;
+pointe A; pointe B; pointe C;
+endfig;
+\end{ExempleMP}
+
+On pourra définir une ellipse avec la donnée de ses deux foyers et du demi
+grand-axe avec la commande suivante:
+\begin{colourband}
+\macro|EllipseF(«A»,«B»,«a»)|\return{\typeGDD{ellipse}}
+\begin{description}
+ \item[\meta{A}:] \typeGDD{point} ou \typeMP{pair}, premier foyer
+ \item[\meta{B}:] \typeGDD{point} ou \typeMP{pair}, deuxième foyer
+ \item[\meta{a}:] \typeGDD{numeric}, le demi grand-axe
+\end{description}\index{EllipseF@\lstinline+EllipseF+}
+\end{colourband}
+\bigskip
+
+
+Cette macro s’utilise comme le montre l’exemple suivant.
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+F1 = Point(3,1);
+F2 = Point(1.5,0.5);
+E = EllipseF(F1,F2,1.7);
+trace E;
+pointe F1; pointe F2;
+endfig;
+\end{ExempleMP}
+
+\subsubsection{Macros associées}
+
+On pourra obtenir le centre (\typeGDD{point}) d’un cercle avec la commande :
+\begin{colourband}
+ \macro|Centre(«a»)|\return{\typeGDD{point}}
+ \begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}, \typeGDD{ellipse} ou \typeGDD{hyperbole}
+ \end{description}\index{Centre@\lstinline+Centre+}
+\end{colourband}
+
+On obtient le vertex et le co-vertex avec les commandes suivantes:
+\begin{colourband}
+\macro|Vertex(«a»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}
+\end{description}\index{Vertex@\lstinline+Vertex+}
+\end{colourband}
+\bigskip
+
+\begin{colourband}
+\macro|CoVertex(«a»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}
+\end{description}\index{CoVertex@\lstinline+CoVertex+}
+\end{colourband}
+\bigskip
+
+La commande suivante permet d’obtenir les deux foyer suivant l’entier passé en
+argument.
+\begin{colourband}
+\macro|Foyer(«a»,«n»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}
+ \item[\meta{n}:] \typeMP{numeric}, entier qui vaut 1 ou 2 pour obtenir chaque
+ foyer
+\end{description}\index{Foyer@\lstinline+Foyer+}
+\end{colourband}
+\bigskip
+
+On peut obtenir le demi grand-axe et le demi petit-axe avec les commandes
+suivantes.
+\begin{colourband}
+\macro|DemiGrandAxe(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}
+\end{description}\index{DemiGrandAxe@\lstinline+DemiGrandAxe+}
+\end{colourband}
+\bigskip
+
+
+\begin{colourband}
+\macro|DemiPetitAxe(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}
+\end{description}\index{DemiPetitAxe@\lstinline+DemiPetitAxe+}
+\end{colourband}
+\bigskip
+
+On obtient l’excentricité, souvent notée $e$, avec la commande suivante.
+
+\begin{colourband}
+\macro|Excentricite(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}, \typeGDD{parabole} ou \typeGDD{hyperbole}
+\end{description}\index{Excentricite@\lstinline+Excentricite+}
+\end{colourband}
+\bigskip
+
+Pour obtenir l’inclinaison (coefficient directeur de la droite passant par les
+foyers de l’ellipse), on utilisera la commande suivante.
+
+\begin{colourband}
+\macro|Inclinaison(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}, \typeGDD{parabole} ou \typeGDD{hyperbole}
+\end{description}\index{Inclinaison@\lstinline+Inclinaison+}
+\end{colourband}
+\bigskip
+
+Pour obtenir la tangente (\typeGDD{droite}) à un point de l’ellipse, on
+utilisera la commande suivante.
+
+\begin{colourband}
+\macro|TangenteEllipse(«e»,«p»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{e}:] \typeGDD{ellipse}
+ \item[\meta{p}:] \typeGDD{point} ou \typeGDD{pair}
+\end{description}\index{TangenteEllipse@\lstinline+TangenteEllipse+}
+\end{colourband}
+\bigskip
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+F1 = Point(3,1);
+F2 = Point(1.5,0.5);
+E := EllipseF(F1,F2,2.4);
+pointe F1; pointe F2;
+trace E;
+M' := PointDe(E,0.5);
+D := TangenteEllipse(E,M');
+trace D;
+pointe M';
+pointe Foyer(E,1);
+pointe Foyer(E,2);
+Fenetre(-0.2,-2.5,6,4);
+endfig;
+\end{ExempleMP}
+
+
+Pour obtenir les tangentes (\typeGDD{droite}) passant par un point extérieur à
+l’ellipse, on utilisera la commande suivante. Si le point choisi n’est pas
+extérieur à l’ellipse, alors il y aura une erreur de compilation.
+
+\begin{colourband}
+\macro|TangenteExterieureEllipse(«e»,«p»,«n»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{e}:] \typeGDD{ellipse}
+ \item[\meta{p}:] \typeGDD{point} ou \typeGDD{pair}
+ \item[\meta{n}:] \typeMP{numeric} qui vaut 1 ou 2 pour choisir la tangente
+ parmi les deux possibles
+\end{description}\index{TangenteExterieureEllipse@\lstinline+TangenteExterieureEllipse+}
+\end{colourband}
+\bigskip
+
+Les points de tangence sont accessibles comme deuxième point de la définition de
+la \typeGDD{droite} grâce à la table \variableGDD{gddB[]}.
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+F1 = Point(3,1);
+F2 = Point(1.5,0.5);
+E := EllipseF(F1,F2,2.4);
+pointe F1; pointe F2;
+trace E;
+M := Point(4,3);
+D1 := TangenteExterieureEllipse(E,M,1);
+trace D1;
+pointe gddB[D1];
+D2 := TangenteExterieureEllipse(E,M,2);
+trace D2;
+pointe gddB[D2];
+pointe M;
+pointe Foyer(E,1);
+pointe Foyer(E,2);
+Fenetre(-0.2,-2.5,6,4);
+endfig;
+\end{ExempleMP}
+
+\subsection{Le type \typeGDD{parabole}}
+
+Le constructeur de base de la parabole défini cette objet à partir du foyer et
+de la directrice.
+
+Le code du contructeur est le suivant:
+\begin{mpcode}
+vardef ParaboleFD(expr F,D) =
+ % F : foyer (point)
+ % D : directrice (droite)
+ save u, v, w, d, i, n,_tmp,slope;
+ pair _tmp;
+ n = incr gddO;
+ (u,v,w) = EquationDroite(D);
+ % ordonnée relative
+ d := u * gddA[F] + v * gddB[F] + w;
+ gddT[n] := "parabole";
+ gddX[n][1] := D; % on stock la directrice
+ gddX[n][2] := D; % on stock la directrice (compatibilité avec hyperbole)
+ % sommet
+ _tmp := (((-d/2)*(u,v)) shifted PairImp(F));
+ gddB[n] = PointImp(_tmp);
+ gddC[n] = PointImp(_tmp);
+ % le foyer (doublé pour compatibilité)
+ gddD[n] := F;
+ gddE[n] := F;
+ gddX[n][3] := 1.0; % excentricité
+ % angle du demi grand axe
+ slope = angle(PairImp(gddA[D])-PairImp(gddB[D]))+90;
+ gddX[n][4] = slope;
+ i := -gddC2Dparam-1;
+ gddP[n] := (
+ ((i*(v,-u)+((i*i-d*d)/(2d))*(u,v))
+ for i:= -gddC2Dparam upto gddC2Dparam:
+ ..(i*(v,-u)+((i*i-d*d)/(2d))*(u,v))
+ endfor)) shifted PairImp(F);
+ n
+enddef;
+\end{mpcode}
+
+\begin{colourband}
+ \macro|ParaboleFD(«f»,«d»)|\return{\typeGDD{chemin}}
+ \begin{description}
+ \item[\meta{f}:] est le foyer (\typeGDD{point}) de la parabole;
+ \item[\meta{d}:] est la directrice (\typeGDD{droite}) de la parabole.
+ \end{description}
+ \index{ParaboleFD@\lstinline+ParaboleFD+}
+\end{colourband}
+
+Lors de la représentation d’une parabole, le caractère \emph{infini} est géré
+par la variable globale \lstinline+gddC2Dparam+ qui vaut 15 par défaut.
+
+\subsubsection{Fonctions associées}
+
+
+On obtient l’excentricité, souvent notée $e$, avec la commande suivante.
+
+\begin{colourband}
+\macro|Excentricite(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}, \typeGDD{parabole} ou \typeGDD{hyperbole}
+\end{description}\index{Excentricite@\lstinline+Excentricite+}
+\end{colourband}
+\bigskip
+
+
+Pour obtenir l’inclinaison (coefficient directeur de la droite axe de symétrie
+de la parabole), on utilisera la commande suivante:
+
+\begin{colourband}
+\macro|Inclinaison(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}, \typeGDD{parabole} ou \typeGDD{hyperbole}
+\end{description}\index{Inclinaison@\lstinline+Inclinaison+}
+\end{colourband}
+\bigskip
+
+On peut obtenir le sommet de la parabole avec la commande suivante:
+
+\begin{colourband}
+\macro|Sommet(«a»,«n»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{parabole} ou \typeGDD{hyperbole}
+ \item[\meta{n}:] 1 ou 2 (\typeMP{numeric}), argument utile pour l’hyperbole
+ qui possède deux sommets. Ici, peut importe la valeur de \meta{n}, l’unique
+ sommet sera donné.
+\end{description}\index{Sommet@\lstinline+Sommet+}
+\end{colourband}
+\bigskip
+
+On peut obtenir la directrice de la parabole avec la commande suivante:
+
+\begin{colourband}
+\macro|Directrice(«a»,«n»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{parabole} ou \typeGDD{hyperbole}
+ \item[\meta{n}:] 1 ou 2 (\typeMP{numeric}), argument utile pour l’hyperbole
+ qui possède deux directrices. Ici, peut importe la valeur de \meta{n},
+ l’unique directrice sera donnée.
+\end{description}\index{Directrice@\lstinline+Directrice+}
+\end{colourband}
+\bigskip
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(0,0);
+B = Point(3,2);
+AB = Droite(A,B);
+F = Point(-1,1);
+Para = ParaboleFD(F,AB);
+trace AB;
+trace Para;
+pointe Sommet(Para,1);
+pointe F;
+Fenetre(-4,-5,2,5);
+endfig;
+\end{ExempleMP}
+
+
+\subsection{Le type \typeGDD{hyperbole}}
+
+Le constructeur de base de la parabole défini cette objet à partir du foyer et
+de la directrice.
+
+Le code du contructeur est le suivant:
+\begin{mpcode}
+vardef HyperboleFD(expr F,D,e) =
+ % F : foyer (point)
+ % D : directrice (droite)
+ % e : exentricité (numeric)
+ % pm : +1 ou -1 pour les deux branches
+ save u, v, w, d, i, n,_tmp,slope,aa,bb;
+ pair _tmp;
+ n = incr gddO;
+
+ (u,v,w) = EquationDroite(D);
+ d := u * gddA[F] + v * gddB[F] + w;
+ gddT[n] := "hyperbole";
+
+ % sommets
+ _tmp := -(d+1*sqrt(e*e*d*d))/(e*e-1)*(u,v)shifted (ProduitScalaire(F,Vecteur(v,-u))*(v,-u));
+ gddB[n] := PointImp(_tmp);
+ _tmp := -(d-1*sqrt(e*e*d*d))/(e*e-1)*(u,v)shifted
+ (ProduitScalaire(F,Vecteur(v,-u))*(v,-u));
+ gddC[n] := PointImp(_tmp);
+ % centre comme milieu des deux sommets
+ gddA[n] = Milieu(gddB[n],gddC[n]);
+ % le foyer (doublé pour compatibilité)
+ gddD[n] := F;
+ gddE[n] := RotationCentre(F, gddA[n], Pi);
+ gddX[n][3] := e; % excentricité
+ % directrices
+ gddX[n][1] := D; % on stock la directrice
+ gddX[n][2] := Droite(RotationCentre(gddA[D], gddA[n], Pi),RotationCentre(gddB[D], gddA[n], Pi));
+ % angle de l’axe
+ slope = angle(PairImp(gddA[D])-PairImp(gddB[D]))+90;
+ gddX[n][4] = slope;
+ % cercle principale
+ gddX[n][5] = CercleD(gddB[n],gddC[n]);
+ % asymptotes
+ aa = IntersectionDroiteCercle(D,gddX[n][5],1);
+ bb = IntersectionDroiteCercle(D,gddX[n][5],2);
+ gddX[n][6] = Droite(gddA[n],aa);
+ gddX[n][7] = Droite(gddA[n],bb);
+ % tracés des moitiées
+ i := -gddC2Dparam-1;
+ gddPX[n][1] := (
+ (
+ (i*(v,-u)-(d+sqrt(e*e*d*d+i*i*(e*e-1)))/(e*e-1)*(u,v))
+ for i:= -gddC2Dparam upto gddC2Dparam:
+ ..(i*(v,-u)-(d+sqrt(e*e*d*d+i*i*(e*e-1)))/(e*e-1)*(u,v))
+ endfor
+ ) shifted (ProduitScalaire(F,Vecteur(v,-u))*(v,-u))
+ );
+ gddPX[n][2] := (
+ (
+ (i*(v,-u)-(d-sqrt(e*e*d*d+i*i*(e*e-1)))/(e*e-1)*(u,v))
+ for i:= -gddC2Dparam upto gddC2Dparam:
+ ..(i*(v,-u)-(d-sqrt(e*e*d*d+i*i*(e*e-1)))/(e*e-1)*(u,v))
+ endfor
+ ) shifted (ProduitScalaire(F,Vecteur(v,-u))*(v,-u))
+ );
+ n
+enddef;
+\end{mpcode}
+
+On peut voir dans ce constructeur l’utilisation de la table de \typeMP{path}
+étendu \variableGDD{gddPX[][]} qui permet d’associer plusieurs \typeMP{path}s à
+un seul objet.
+
+\begin{colourband}
+ \macro|HyperboleFD(«f»,«d»,«e»)|\return{\typeGDD{chemin}}
+ \begin{description}
+ \item[\meta{f}:] est le foyer (\typeGDD{point}) de la parabole;
+ \item[\meta{d}:] est la directrice (\typeGDD{droite}) de la parabole;
+ \item[\meta{e}:] est l’excentricité de l’hyperbole.
+ \end{description}
+ \index{HyperboleFD@\lstinline+HyperboleFD+}
+\end{colourband}
+
+\subsubsection{Fonctions associées}
+
+On pourra obtenir le centre (\typeGDD{point}) d’un cercle avec la commande :
+\begin{colourband}
+ \macro|Centre(«a»)|\return{\typeGDD{point}}
+ \begin{description}
+ \item[\meta{a}:] \typeGDD{cercle}, \typeGDD{ellipse} ou \typeGDD{hyperbole}
+ \end{description}\index{Centre@\lstinline+Centre+}
+\end{colourband}
+
+
+On obtient l’excentricité, souvent notée $e$, avec la commande suivante.
+
+\begin{colourband}
+\macro|Excentricite(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}, \typeGDD{parabole} ou \typeGDD{hyperbole}
+\end{description}\index{Excentricite@\lstinline+Excentricite+}
+\end{colourband}
+\bigskip
+
+
+Pour obtenir l’inclinaison (coefficient directeur de la droite passant par les
+foyers de l’hyperbole), on utilisera la commande suivante.
+
+\begin{colourband}
+\macro|Inclinaison(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{ellipse}, \typeGDD{parabole} ou \typeGDD{hyperbole}
+\end{description}\index{Inclinaison@\lstinline+Inclinaison+}
+\end{colourband}
+\bigskip
+
+On peut obtenir les sommets de l’hyperbole avec la commande suivante:
+
+\begin{colourband}
+\macro|Sommet(«a»,«n»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{parabole} ou \typeGDD{hyperbole}
+ \item[\meta{n}:] 1 ou 2 (\typeMP{numeric}), pour choisir l’un des deux sommets.
+\end{description}\index{Sommet@\lstinline+Sommet+}
+\end{colourband}
+\bigskip
+
+On peut obtenir les directrices de l’hyperbole avec la commande suivante:
+
+\begin{colourband}
+\macro|Directrice(«a»,«n»)|\return{\typeGDD{droite}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{parabole} ou \typeGDD{hyperbole}
+ \item[\meta{n}:] 1 ou 2 (\typeMP{numeric}), pour choisir l’une des deux
+ directrices.
+\end{description}\index{Directrice@\lstinline+Directrice+}
+\end{colourband}
+\bigskip
+
+Pour obtenir le \emph{cercle principal} de l’hyperbole, on pourra utiliser la
+commande suivante:
+
+
+\begin{colourband}
+ \macro|CerclePrincipale(«h»)|\return{\typeGDD{cercle}}
+ \begin{description}
+ \item[\meta{h}:] \typeGDD{hyperbole}
+ \end{description}\index{CerclePrincipale@\lstinline+CerclePrincipale+}
+\end{colourband}
+\bigskip
+
+On pourra aussi obtenir les deux asymptotes de l’hyperbole avec le commande
+suivante:
+
+\begin{colourband}
+ \macro|AsymptoteHyperbole(«h»,«n»)|\return{\typeGDD{droite}}
+ \begin{description}
+ \item[\meta{h}:] \typeGDD{hyperbole}
+ \item[\meta{n}:] 1 ou 2 (\typeMP{numeric}), pour choisir l’une des deux
+ asymptotes.
+ \end{description}\index{AsymptoteHyperbole@\lstinline+AsymptoteHyperbole+}
+\end{colourband}
+\bigskip
+
+Parce que une hyperbole est constituée de deux parties disjointes, on ne peut
+pas, comme pour les autres objets \mpgeomdd, utiliser directement la command
+\lstinline+trace+ directement sur l’objet. Il faudra utiliser la commande
+suivante pour obtenir le \typeMP{path} associé à une des deux parties de
+l’hyperbole.
+
+\begin{colourband}
+ \macro|DemieHyperbole(«h»,«n»)|\return{\typeGDD{path}}
+ \begin{description}
+ \item[\meta{h}:] \typeGDD{hyperbole}
+ \item[\meta{n}:] 1 ou 2 (\typeMP{numeric}), pour choisir l’une des deux
+ parties.
+ \end{description}\index{DemieHyperbole@\lstinline+DemieHyperbole+}
+\end{colourband}
+\bigskip
+
+
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(0,0);
+B = Point(3,2);
+AB = Droite(A,B);
+F = Point(-1,1);
+Hyper = HyperboleFD(F,AB,1.5);
+trace AB;
+trace DemieHyperbole(Hyper,1);
+trace DemieHyperbole(Hyper,2);
+trace Directrice(Hyper,2);
+trace CerclePrincipale(Hyper) dashed evenly;
+trace AsymptoteHyperbole(Hyper,1) dashed evenly;
+trace AsymptoteHyperbole(Hyper,2) dashed evenly;
+pointe Centre(Hyper);
+pointe Foyer(Hyper,1);
+pointe Foyer(Hyper,2);
+pointe Sommet(Hyper,1);
+pointe Sommet(Hyper,2);
+Fenetre(-3,-5,3,5);
+endfig;
+\end{ExempleMP}
+
+
+\subsection{Le type \typeGDD{triangle}}
+
+Les triangles sont définis par trois
+points de $\R^2$.
+
+\subsubsection{Constructeur}
+La fonction créatrice de cet objet est la suivante
+\begin{mpcode}
+vardef Triangle (expr a,b,c) =
+ save n; n = incr gddO; gddT[n] = "triangle";
+ gddA[n] = PointImp(a); gddB[n] = PointImp(b); gddC[n] = PointImp(c); n
+enddef;
+\end{mpcode}
+
+\begin{colourband}
+\macro|Triangle(«a»,«b»,«c»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{point}
+ \item[\meta{b}:] \typeGDD{point}
+ \item[\meta{c}:] \typeGDD{point}
+\end{description}\index{Triangle@\lstinline+Triangle+}
+\end{colourband}
+
+
+\bigskip
+
+Ici, on voit l’appel à la troisième table \variableGDD{gddC} pour stocker le
+troisième point.
+
+Un triangle se définit alors comme ceci:
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(3,1);
+B = Point(1,3);
+C = Point(0,0);
+ABC = Triangle(A,B,C);
+trace ABC;
+endfig;
+\end{ExempleMP}
+
+\subsubsection{Macros associées}
+
+La macro suivante permet de calculer l’aire d’un triangle.
+\begin{colourband}
+\macro|AireTriangle(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{triangle}
+\end{description}\index{AireTriangle@\lstinline+AireTriangle+}
+\end{colourband}
+
+On peut calculer aussi l’orthocentre d’un triangle avec la commande suivante.
+\begin{colourband}
+\macro|Orthocentre(«a»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{triangle}
+\end{description}\index{Orthocentre@\lstinline+Orthocentre+}
+\end{colourband}
+
+La macro suivante calcul le cercle inscrit d’un triangle.
+\begin{colourband}
+\macro|CercleInscrit(«a»)|\return{\typeGDD{cercle}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{triangle}
+\end{description}\index{CercleInscrit@\lstinline+CercleInscrit+}
+\end{colourband}
+
+On peut aussi obtenir le cercle circonscrit avec la macro suivante.
+\begin{colourband}
+\macro|CercleCirconscrit(«a»)|\return{\typeGDD{cercle}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{triangle}
+\end{description}\index{CercleCirconscrit@\lstinline+CercleCirconscrit+}
+\end{colourband}
+
+On peut aussi calculer les cercles exinscrits. Soit $A$, $B$ et $C$ trois points
+définissant un triangle $ABC$\footnote{Évidemment, les points peuvent s’appeler
+autrement.}. La commande suivante permet d’obtenir, au choix, un des trois
+cercles exinscrits.
+\begin{colourband}
+\macro|CercleExinscrit(«a»,«n»)|\return{\typeGDD{cercle}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{triangle}
+ \item[\meta{n}:] \typeMP{numeric} qui vaut 1, 2 ou 3. Si \meta{n}$=1$, c’est
+ le cercle exinscrit tangent au côté $[BC]$ du triangle, si \meta{n}$=2$, c’est
+ celui tangent au côté $[AC]$ et si \meta{n}$=1$, c’est celui tangent au côté $[AB]$.
+\end{description}\index{CercleExinscrit@\lstinline+CercleExinscrit+}
+\end{colourband}
+
+On peut aussi obtenir le cercle d’Euler d’un triangle avec la commande suivante.
+\begin{colourband}
+\macro|CercleEuler(«a»)|\return{\typeGDD{cercle}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{triangle}
+\end{description}\index{CercleEuler@\lstinline+CercleEuler+}
+\end{colourband}
+
+Voici un exemple d’illustration des quelques unes des macros relatives aux
+triangles.
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(3,1);
+B = Point(1,3);
+C = Point(0,0);
+AB = Droite(A,B);
+BC = Droite(B,C);
+ABC = Triangle(A,B,C);
+trace AB dashed evenly;
+trace BC dashed evenly;
+trace ABC avecCrayon(1.5,black);
+Euler = CercleEuler(ABC);
+trace Euler avecCrayon(1,DarkRed);
+C_E1 = CercleExinscrit(ABC,2);
+trace C_E1 avecCrayon(1,LightBlue);
+C_C = CercleCirconscrit(ABC);
+trace C_C avecCrayon(1,LightCoral);
+Fenetre(-1,-4,4,4);
+endfig;
+\end{ExempleMP}
+
+\subsection{Le type \typeGDD{polygone}}
+Les triangles sont définis par $N$
+points de $\R^2$.
+
+\subsubsection{Constructeurs}
+
+La fonction créatrice de cet objet est la suivante
+\begin{mpcode}
+vardef Polygone (text plist) =
+ save n,_point,i; n = incr gddO; gddT[n] = "polygone";
+ i:=1;
+ for _point = plist:
+ gddX[gddO][i] = PointImp(_point);
+ i:=i+1;
+ endfor
+ gddA[n] = i-1; % nombre de côté
+ gddB[n] = IsoBarycentre(plist); % centre
+ n
+enddef;
+\end{mpcode}
+
+\begin{colourband}
+\macro|Polygone(«liste»)|\return{\typeGDD{polygone}}
+\begin{description}
+ \item[\meta{liste}:] est une liste de \typeGDD{point} ou de \typeMP{pair}
+\end{description}\index{Polygone@\lstinline+Polygone+}
+\end{colourband}
+
+
+\bigskip
+
+Ici, on voit l’appel à la \emph{double} table \variableGDD{gddX} pour stocker
+les $N$ points.
+
+Un polygone se définit alors comme ceci:
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(2,0);
+B = Point(3,1);
+C = Point(0,2);
+D = Point(0,0);
+P = Polygone(A,B,C,D);
+trace P;
+endfig;
+\end{ExempleMP}
+
+On pourra aussi construire des polygones réguliers avec la commande suivante.
+\begin{colourband}
+\macro|PolygoneRegulier(«N»,«rayon»,«rotation»,«translation»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{N}:] entier (\typeMP{numeric}) indiquant le nombre de points ;
+ \item[\meta{rayon}:] \typeMP{numeric}, rayon du cercle circonscrit ;
+ \item[\meta{rotation}:] \typeMP{numeric}, rotation du polygone ;
+ \item[\meta{translation}:] \typeGDD(point) ou \typeGDD{vecteur} (ou même
+ \typeMP{pair}), déplacement du centre du polygone.
+\end{description}\index{PolygoneRegulier@\lstinline+PolygoneRegulier+}
+\end{colourband}
+
+\begin{ExempleMP}
+ input geom2d;
+ beginfig(1);
+ P = PolygoneRegulier(7,3,0,origine);
+ trace P;
+ endfig;
+ \end{ExempleMP}
+
+\subsubsection{Macros associées}
+
+On pourra obtenir le nombre de côté d’un polygone avec la commande suivante.
+
+\begin{colourband}
+\macro|NombreCotesPolygone(«a»)|\return{\typeMP{numeric}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{polygone}
+\end{description}\index{NombreCotesPolygone@\lstinline+NombreCotesPolygone+}
+\end{colourband}
+\bigskip
+
+On pourra avoir accès aux différents sommets du polygone, numérotés à partir de
+1, avec la macro suivante.
+
+\begin{colourband}
+\macro|PointPolygone(«a»,«i»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{a}:] \typeGDD{polygone}
+ \item[\meta{i}:] \typeMP{numeric}, entier plus grand que 1, permettant
+ d’accéder au $i$\ieme{} point du polygone
+\end{description}\index{PointPolygone@\lstinline+PointPolygone+}
+\end{colourband}
+ \bigskip
+
+\subsection{Le type \typeGDD{chemin}} Pour ce type particulier, \mpgeomdd stocke
+le \typeMP{path} dans la table \variableGDD{gddP} réservée. Ainsi la fonction
+créatrice de ce type d’objet est la suivante
+\begin{mpcode}
+vardef Chemin (expr p) =
+gddT[incr gddO] = "chemin"; gddP[gddO] = p; gddO
+enddef;
+\end{mpcode}
+\begin{colourband}
+\macro|Chemin(«p»)|\return{\typeGDD{chemin}}
+\begin{description}
+ \item[\meta{p}:] un \typeMP{path} de \MP
+\end{description}\index{Chemin@\lstinline+Chemin+}
+\end{colourband}
+
+
+\subsubsection{Macros associées}
+
+La macro suivante contruit, à partir d’une liste de \typeGDD{point}s, une ligne
+brisée de type \typeGDD{chemin}.
+
+\begin{colourband}
+ \macro|LigneBrisee(«liste»)|\return{\typeGDD{chemin}}
+ \begin{description}
+ \item[\meta{liste}:] est une liste de \typeGDD{point} ou de \typeMP{pair}
+ \end{description}\index{LigneBrisee@\lstinline+LigneBrisee+}
+\end{colourband}
+
+
+\subsection{Le type \typeGDD{courbe}}
+
+Pour ce type particulier, \mpgeomdd stocke
+une chaine de caractère (un nom de fichier à exploiter avec l’extension
+\fichier{graph.mp}) dans la table \variableGDD{gddS} réservée.
+
+\subsubsection{Constructeur}
+
+Ainsi la fonction
+créatrice de ce type d’objet est la suivante
+\begin{mpcode}
+vardef CourbeDat (expr s) =
+ gddT[incr gddO] = "courbe"; gddS[gddO] = s; gddO
+enddef;
+\end{mpcode}
+\begin{colourband}
+\macro|CourbeDat(«s»)|\return{\typeGDD{courbe}}
+\begin{description}
+ \item[\meta{s}:] un nom de fichier sous forme de \typeMP{string} de \MP
+\end{description}\index{CourbeDat@\lstinline+CourbeDat+}
+\end{colourband}
+
+\bigskip
+
+\section{Arc de cercle}
+
+Avec \mpgeomdd{}, quelques commandes permettent de travailler avec les arcs de
+cercle. Tout d’abord, on peut décider de ne représenter qu’un arc de cercle d’un
+\typeGDD{cercle} précédemment défini. Ceci se fait avec la commande suivante qui
+prend en argument un \typeGDD{cercle} et deux angles en radian, et retourne un
+\typeMP{path} de \MP{} correspondant à l’arc de cercle compris entre les deux
+angles donnés (l’angle 0 étant parallèle à l’axe $Ox$).
+
+\begin{colourband}
+\macro|gddTraceArcDeCercle(«C»,«a»,«b»)|\return{\typeMP{path}}
+\begin{description}
+ \item[\meta{C}:] \typeGDD{cercle} dont on souhaite représenter un arc.
+ \item[\meta{a}:] premier angle en radian (\typeMP{numeric}).
+ \item[\meta{b}:] deuxième angle en radian (\typeMP{numeric}).
+\end{description}\index{gddTraceArcDeCercle@\lstinline+gddTraceArcDeCercle+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+C = Cercle(origine,2);
+trace C;
+trace gddTraceArcDeCercle(C,Pi/3,Pi) avecCrayon(2,DarkRed);
+endfig;
+\end{ExempleMP}
+
+On peut aussi définir un objet \typeGDD{chemin}. Pour cela on pourra utiliser
+les deux commandes suivantes. La première permet de définir un arc de cercle à
+partir d’un point, d’un rayon et de deux angles.
+
+\begin{colourband}
+\macro|Arc(«P»,«r»,«a»,«b»)|\return{\typeGDD{chemin}}
+\begin{description}
+ \item[\meta{P}:] \typeGDD{point} ou \typeMP{pair} centre de l’arc de cercle.
+ \item[\meta{r}:] rayon de l’arc de cercle (\typeMP{numeric}).
+ \item[\meta{a}:] premier angle en radian (\typeMP{numeric}).
+ \item[\meta{b}:] premier angle en radian (\typeMP{numeric}).
+\end{description}\index{Arc@\lstinline+Arc+}
+\end{colourband}
+
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(2,2);
+Ac = Arc(A,2,Pi/3,Pi);
+pointe A;
+trace Ac;
+endfig;
+\end{ExempleMP}
+
+La deuxième commande définissant un \typeGDD{chemin} est la suivante. Elle prend
+comme arguments trois points, notons les $C$, $A$ et $B$ : le centre de l’arc de
+cercle $C$, et les points $A$ et $B$. Elle prend ensuite comme argument le rayon
+de l’arc défini entre les segments $[C,A]$ et $[C,B]$.
+
+\begin{colourband}
+\macro|ArcEntrePoints(«P»,«r»,«A»,«B»,«s»)|\return{\typeGDD{chemin}}
+\begin{description}
+ \item[\meta{P}:] \typeGDD{point} ou \typeMP{pair} centre de l’arc de cercle.
+ \item[\meta{r}:] rayon de l’arc de cercle (\typeMP{numeric}).
+ \item[\meta{A}:] premier \typeGDD{point} ou \typeMP{pair}.
+ \item[\meta{B}:] deuxième \typeGDD{point} ou \typeMP{pair}.
+ \item[\meta{s}:] \typeMP{numeric}, $-1$ ou $1$ suivant le sens choisi.
+\end{description}\index{Arc@\lstinline+Arc+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+C = Point(0,0);
+A = Point(2,2);
+B = Point(0,3);
+Cab = ArcEntrePoints(C,1,A,B,1);
+Cba = ArcEntrePoints(C,1,A,B,-1);
+trace Segment(C,A);
+trace Segment(C,B);
+pointe A; pointe B; pointe C;
+fleche Cab;
+fleche Cba avecCrayon(1,DarkRed);
+endfig;
+\end{ExempleMP}
+
+
+\section{Quelques transformations}
+
+\subsection{Homothétie}
+
+On peut réaliser une homothétie sur n’importe quel objet \mpgeomdd avec la commande
+suivante.
+
+\begin{colourband}
+\macro|Homothetie(«p»,«o»,«k»)|\return{du même type que \meta{p}}
+\begin{description}
+ \item[\meta{p}:] un objet \mpgeomdd.
+ \item[\meta{o}:] \typeGDD{point} ou \typeMP{pair}, centre de l’homothétie.
+ \item[\meta{k}:] \typeMP{numeric}, facteur de l’homothétie.
+\end{description}\index{Homothetie@\lstinline+Homothetie+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,2);
+B = Point(0,2);
+C_B = Cercle(B,1);
+T = Triangle((1,1),(0,0),(0,1));
+C_H = Homothetie(C_B, A, 2);
+T_H = Homothetie(T, A ,-1);
+trace C_B; trace C_H;
+trace T; trace T_H;
+pointe A; pointe B;
+endfig;
+\end{ExempleMP}
+
+\subsection{Symétrie axiale}
+
+On peut réaliser une symétrie axiale sur n’importe quel objet \mpgeomdd avec la
+commande suivante.
+
+\begin{colourband}
+\macro|SymetrieAxiale(«p»,«d»)|\return{du même type que \meta{p}}
+\begin{description}
+ \item[\meta{p}:] un objet \mpgeomdd.
+ \item[\meta{d}:] \typeGDD{droite} définissant l’axe de symétrie.
+\end{description}\index{SymetrieAxiale@\lstinline+SymetrieAxiale+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,2);
+B = Point(0,2);
+C_B = Cercle(B,1);
+T = Triangle((1,1),(0,0),(0,1));
+D = Droite((-1,0),(3,-1));
+C_H = SymetrieAxiale(C_B, D);
+T_H = SymetrieAxiale(T, D);
+trace C_B; trace C_H;
+trace T; trace T_H;
+trace D;
+pointe A; pointe B;
+Fenetre(-2.5,-3.5,3,3.2);
+endfig;
+\end{ExempleMP}
+
+\subsection{Symétrie centrale}
+
+On peut réaliser une symétrie centrale sur n’importe quel objet \mpgeomdd avec la
+commande suivante.
+
+\begin{colourband}
+\macro|SymetrieCentrale(«p»,«d»)|\return{du même type que \meta{p}}
+\begin{description}
+ \item[\meta{p}:] un objet \mpgeomdd.
+ \item[\meta{d}:] \typeGDD{point} définissant le centre de symétrie.
+\end{description}\index{SymetrieCentrale@\lstinline+SymetrieCentrale+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,2);
+B = Point(0,2);
+C_B = Cercle(B,1);
+T = Triangle((1,1),(0,0),(0,1));
+D = Point(-1,0);
+C_H = SymetrieCentrale(C_B, D);
+T_H = SymetrieCentrale(T, D);
+trace C_B; trace C_H;
+trace T; trace T_H;
+pointe D;
+pointe A; pointe B;
+Fenetre(-3.5,-3.5,3,3.2);
+endfig;
+\end{ExempleMP}
+
+\subsection{Inversion}
+
+On peut calculer l’inversion d’un point, d’un cercle ou d’une droite par rapport à un cercle avec la macro
+suivante.
+\begin{colourband}
+\macro|Inversion(«p»,«c»)|\return{\typeGDD{point}}
+\begin{description}
+ \item[\meta{p}:] \typeGDD{point}, \typeGDD{cercle} ou \typeGDD{droite}
+ \item[\meta{c}:] \typeGDD{cercle}
+\end{description}\index{Inversion@\lstinline+Inversion+}
+\end{colourband}
+\bigskip
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+ A = Point(2,2);
+ C = Cercle(A,2);
+ trace C;
+ marque.rt "A";
+ B = Point(-0.5,1);
+ D = Inversion(B,C);
+ drawoptions(withcolor DarkRed);
+ marque.rt "B"; marque.rt "D";
+
+ drawoptions(withcolor DarkBlue);
+ E = Point(3,1);
+ CE = Cercle(E,0.5);
+ trace CE;
+ marque.rt "E";
+ iCE = Inversion(CE,C);
+ trace iCE;
+
+
+ drawoptions(withcolor DarkGreen);
+ d = Droite((3,3),(4,2));
+ trace d;
+ Cd = Inversion(d,C);
+ trace Cd;
+ Fenetre(-1,-1,5.5,6);
+endfig;
+\end{ExempleMP}
+
+
+\section{Annotations et labels}
+
+\subsection{Signes}
+
+\mpgeomdd fournit la macro suivante pour marquer un angle droit formé par trois
+points:
+\begin{colourband}
+\macro|SigneOrtho(«a»,«b»,«c»,«x»)|
+\begin{description}
+ \item[\meta{a},\meta{b},\meta{c}:] sont les trois \typeGDD{point}s formant
+ l’angle droit $\widehat{ABC}$.
+ \item[\meta{x}:] est la \og{}taille\fg{} (\typeMP{numeric}) du signe d’orthogonalité.
+\end{description}\index{SigneOrtho@\lstinline+SigneOrtho+}
+\end{colourband}
+
+On peut aussi réaliser des marques entre deux points ou sur un segment, un
+vecteur, ou tout type d’objet. Pour cela, la première macro est la suivante:
+\begin{colourband}
+\macro|Marque(«a»,«b»,«n»)|
+\begin{description}
+ \item[\meta{a}:] premier \typeGDD{point} formant
+ le segment à marquer;
+ \item[\meta{b}:] deuxième \typeGDD{point} formant
+ le segment à marquer;
+ \item[\meta{n}:] est le type (\typeMP{numeric}) de marque, il y en a quatre
+ \meta{n}$=1$, $2$, $3$ ou $4$.
+\end{description}\index{Marque@\lstinline+Marque+}
+\end{colourband}
+
+On peut aussi marquer n’importe quel type de trait avec la macro suivante:
+\begin{colourband}
+\macro|MarqueTrait(«a»,«n»)|
+\begin{description}
+ \item[\meta{a}:] est n’importe quel objet \mpgeomdd ou même un \typeMP{path} \MP;
+ \item[\meta{n}:] est le type (\typeMP{numeric}) de marque, il y en a quatre
+ \meta{n}$=1$, $2$, $3$ ou $4$.
+\end{description}\index{MarqueTrait@\lstinline+MarqueTrait+}
+\end{colourband}
+
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(4,0);
+B = Point(0,0);
+C = Point(0,2);
+trace Segment(B,A);
+trace Segment(B,C);
+marque.bot "A";
+marque.bot "B";
+marque.lft "C";
+trace SigneOrtho(A,B,C,0.5);
+trace Marque(A,B,1);
+trace MarqueTrait(Segment(B,C),3);
+endfig;
+\end{ExempleMP}
+
+
+\subsection{Labels}
+
+Comme le code produit avec \mpgeomdd est un code \MP{}\cite{ctan-metapost}, on peut utiliser les outils
+classiques de labélisation. Cependant, pour permettre plus de flexibilité (et
+notamment une compatibilité avec \hologo{LuaLaTeX} et
+\package{luamplib}~\cite{ctan-luamplib} ou
+\package{minim-mp}~\cite{ctan-minim-mp}), si le code est compilé avec \MP{},
+alors le package~\package{latexmp}~\cite{ctan-latexmp} est chargé et fournit la
+commande \lstinline+textext()+.
+
+De plus, \mpgeomdd fournit quelques commandes pour se faciliter la vie.
+
+On peut marquer les points avec la commande suivante. Cette commande
+\emph{pointe} le point (avec la commande \lstinline+pointe+, voir
+section~\ref{sec:trace}) et inscrit un label.
+\begin{colourband}
+\macro|marque.«place» "«nom»"|
+\begin{description}
+ \item[\meta{place}:] peut être les classiques placement de \MP{} :
+ \lstinline+top+, \lstinline+bot+, \lstinline+rt+,
+ \lstinline+lft+,+\lstinline+urt+, \lstinline+ulft+, \lstinline+lrt+, \lstinline+llft+.
+ \item[\meta{nom}:] entre double quote, doit être un nom de variable de
+ point. Le nom sera composé en mode mathématique (entre \lstinline+$+). Si le
+ nom contient un \lstinline+_+, tout ce qui sera après sera mis en
+ indice (ex. \lstinline+A_be+ deviendra $A_{be}$). Si le nom est
+ \lstinline+alpha+, \lstinline+beta+, \lstinline+gamma+ ou \lstinline+delta+,
+ alors le résultat donnera la lettre grecque composée en mode mathématique.
+\end{description}\index{marque@\lstinline+marque+}
+\end{colourband}
+
+
+\mpgeomdd fournit aussi une adaptation au classique \lstinline+label+ de \MP{}.
+
+\begin{colourband}
+\macro|gddLabel.«place»(«materiel»,«point»)|
+\begin{description}
+ \item[\meta{place}:] peut être les classiques placement de \MP{} :
+ \lstinline+top+, \lstinline+bot+, \lstinline+rt+,
+ \lstinline+lft+,+\lstinline+urt+, \lstinline+ulft+, \lstinline+lrt+, \lstinline+llft+.
+ \item[\meta{materiel}:] classiquement ce qu’on donne à \lstinline+label+, une
+ chaîne de caractères, ou une \typeMP{picture} (qui peut-être produite par
+ exemple avec \lstinline+btex ... etex+ ou, puisque \package{latexmp} est
+ chargé par \mpgeomdd, \lstinline+textext()+).
+ \item[\meta{point}:] doit être un \typeGDD{point} de \mpgeomdd.
+\end{description}\index{gddLabel@\lstinline+gddLabel+}
+\end{colourband}
+
+On peut aussi étiquetter un \typeGDD{chemin}, une \typeGDD{courbe} ou un
+\typeMP{path} avec la macro suivante:
+
+\begin{colourband}
+\macro|EtiquetteChemin.«place»(«materiel»,«chemin»,«position»)|
+\begin{description}
+ \item[\meta{place}:] peut être les classiques placement de \MP{} :
+ \lstinline+top+, \lstinline+bot+, \lstinline+rt+,
+ \lstinline+lft+,+\lstinline+urt+, \lstinline+ulft+, \lstinline+lrt+, \lstinline+llft+.
+ \item[\meta{materiel}:] classiquement ce qu’on donne à \lstinline+label+, une
+ chaîne de caractères, ou une \typeMP{picture} (qui peut-être produite par
+ exemple avec \lstinline+btex ... etex+ ou, puisque \package{latexmp} est
+ chargé par \mpgeomdd, \lstinline+textext()+).
+ \item[\meta{chemin}:] doit être un \typeGDD{chemin}, une \typeGDD{courbe}, ou
+ un \typeMP{path}.
+\end{description}\index{EtiquetteChemin@\lstinline+EtiquetteChemin+}
+\end{colourband}
+
+
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(0,0);
+B_23 = Point(3,3);
+alpha = Point(0,2);
+trace Segment(A,B_23);
+C = Milieu(A,B_23);
+pointe C;
+gddLabel.top(textext("Milieu"),C);
+marque.top "A";
+marque.urt "B_23";
+marque.llft "alpha";
+P = Chemin(Pt(A)..Pt(alpha)..Pt(B_23));
+trace P;
+EtiquetteChemin.top("Test",P,0.6);
+endfig;
+\end{ExempleMP}
+
+
+\section{Repère}
+
+\mpgeomdd fournit un ensemble de commandes permettant de faciliter le dessin de
+repère.
+
+La commande principale est la définition du repère, c’est-à-dire la boîte dans
+laquelle le dessin sera représenté.
+\begin{colourband}
+ \macro|Repere(«l»,«h»,«ox»,«oy»,«ux»,«uy»)|
+ \begin{description}
+ \item[\meta{l}:] \typeMP{numeric}, largeur du repère (en unité \lstinline+gddU+).
+ \item[\meta{h}:] \typeMP{numeric}, hauteur du repère (en unité \lstinline+gddU+).
+ \item[\meta{ox}:] \typeMP{numeric}, distance (en unité \lstinline+gddU+) de
+ l’origine (\typeGDD{point} $(0,0)$) par rapport au bord gauche.
+ \item[\meta{oy}:] \typeMP{numeric}, distance (en unité \lstinline+gddU+) de
+ l’origine (\typeGDD{point} $(0,0)$) par rapport au bord bas.
+ \item[\meta{ux}:] \typeMP{numeric}, unité de l’axe $(Ox)$ (en unité \lstinline+gddU+).
+ \item[\meta{uy}:] \typeMP{numeric}, unité de l’axe $(Oy)$ (en unité \lstinline+gddU+).
+ \end{description}\index{Repere@\lstinline+Repere+}
+\end{colourband}
+
+Ce commande ne retourne, ni ne trace rien. Elle sert à spécifier quelques
+variables internes de définition du dessin. Elle modifie d’ailleurs le
+comportement de la macro \lstinline+gddEnPlace+ (voir
+page~\pageref{gddEnPlace}). Noter que cette commande impose le fait que
+l’origine (c’est-à-dire le \typeGDD{point} $(0,0)$) soit à l’intérieur du
+repère.
+
+Cette macro s’accompagne de deux autres, elles aussi \emph{silencieuses}, ne
+servant qu’à :
+\begin{itemize}
+\item sauvegarder la \typeMP{picture} courante ;
+\item construire une \typeMP{picture} avec le contenu se trouvant entre
+\lstinline+Debut+ et \lstinline+Fin+ ;
+\item rogner (avec \lstinline+clip+) la \typeMP{picture} aux cadre du repère
+construit ;
+\item ajouter la \typeMP{picture} courant à celle sauvegarder ;
+\item enfin rétablir le
+fonctionnement de \lstinline+gddEnPlace+ comme avant l’utilisation de
+\lstinline+Repere+.
+\end{itemize}
+
+Ces deux commandes sont appelées \lstinline+Debut+ et
+\lstinline+Fin+.
+
+\begin{colourband}
+\macro|Debut|
+\index{Debut@\lstinline+Debut+}
+\end{colourband}
+
+
+\begin{colourband}
+\macro|Fin|
+\index{Fin@\lstinline+Fin+}
+\end{colourband}
+
+Ainsi, il est très simple d’illustrer le fait qu’à un changement de base
+orthogonale prêt, un cercle est une ellipse.
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,1);
+CA = Cercle(A,2);
+Repere(5,5,1,1,1,0.5);
+Debut;
+trace CA;
+Fin;
+endfig;
+\end{ExempleMP}
+
+On dispose de deux commandes pour tracer les axes du repère. La première trace
+les axes passant par l’origine.
+\begin{colourband}
+\macro|Axes|\indication{trace un essemble d’éléments sur le repère}
+\index{Axes@\lstinline+Axes+}
+\end{colourband}
+
+Cette commande inscrit aussi les labels des axes des abscisses et des ordonnées
+qui sont stockées dans les variables globales dédiées suivantes:
+\begin{colourband}
+\macro|gddXlabel|\indication{\typeMP{string}, valeur par défaut \lstinline+"$x$"+}
+\index{gddXlabel@\lstinline+gddXlabel+}
+\end{colourband}
+
+\begin{colourband}
+\macro|gddYlabel|\indication{\typeMP{string}, valeur par défaut \lstinline+"$y$"+}
+\index{gddYlabel@\lstinline+gddYlabel+}
+\end{colourband}
+
+Attention, ces commandes doivent s’utiliser avant l’appel à \lstinline+Debut+.
+
+L’exemple suivant permet d’illustrer le tracé des axes.
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,1);
+CA = Cercle(A,2);
+Repere(5,5,1,1,1,1);
+gddYlabel:="$z$";
+Axes;
+Debut;
+trace CA;
+Fin;
+endfig;
+\end{ExempleMP}
+
+On pourra aussi définir un repère en utilisant une syntaxe permettant de
+spécifier les abscisses et les ordonnées extrêmales.
+
+\begin{colourband}
+ \macro|RepereMinMax(«xmin»,«xmax»,«ymin»,«ymax»,«ux»,«uy»)|
+ \begin{description}
+ \item[\meta{xmin}:] \typeMP{numeric}, abscisse minimum (en unité \lstinline+gddU+).
+ \item[\meta{xmax}:] \typeMP{numeric}, abscisse maximum (en unité \lstinline+gddU+).
+ \item[\meta{ymin}:] \typeMP{numeric}, ordonnée minimum (en unité \lstinline+gddU+).
+ \item[\meta{ymax}:] \typeMP{numeric}, ordonnée maximum (en unité \lstinline+gddU+).
+ \item[\meta{ux}:] \typeMP{numeric}, unité de l’axe $(Ox)$ (en unité \lstinline+gddU+).
+ \item[\meta{uy}:] \typeMP{numeric}, unité de l’axe $(Oy)$ (en unité \lstinline+gddU+).
+ \end{description}\index{RepereMinMax@\lstinline+RepereMinMax+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,1);
+CA = Cercle(A,2);
+RepereMinMax(-1,4,-1,4,1,1);
+Axes;
+Debut;
+trace CA;
+Fin;
+endfig;
+\end{ExempleMP}
+
+\mpgeomdd fournit aussi de quoi tracer les axes sur le bord du cadre avec la
+commande suivante.
+\begin{colourband}
+\macro|AxesBords|\indication{trace un essemble d’éléments sur le repère}
+\index{AxesBords@\lstinline+AxesBords+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,1);
+CA = Cercle(A,2);
+RepereMinMax(-1,4,-1,4,1,1);
+AxesBords;
+Debut;
+trace CA;
+Fin;
+endfig;
+\end{ExempleMP}
+
+Les commandes suivantes permettent de graduer les axes (classiques ou sur le
+bord). Là encore, ce sont des commandes qui n’ont pas d’arguments ni ne
+retournent rien et qui tracent.
+
+\begin{colourband}
+\macro|Graduations|\indication{trace un essemble d’éléments sur le repère}
+\index{Graduations@\lstinline+Graduations+}
+\end{colourband}
+
+
+\begin{colourband}
+\macro|GraduationsBords|\indication{trace un essemble d’éléments sur le repère}
+\index{GraduationsBords@\lstinline+GraduationsBords+}
+\end{colourband}
+
+On utilisera la version en cohérence avec les axes choisis.
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,1);
+CA = Cercle(A,2);
+RepereMinMax(-1,4,-1,4,1,1);
+AxesBords;
+GraduationsBords;
+Debut;
+trace CA;
+Fin;
+endfig;
+\end{ExempleMP}
+
+Si on désire marqué les unités, \mpgeomdd{} propose la macro suivante (qui n’est
+utilisable que si l’on ne place pas les axes sur le bords).
+\begin{colourband}
+\macro|Unites(«unité»)|\indication{trace un essemble d’éléments sur le repère}
+\begin{description}
+ \item[\meta{unité}:] \typeMP{numeric}, valeur à inscrire sur les deux axes.
+\end{description}
+\index{Unites@\lstinline+Unites+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,1);
+CA = Cercle(A,2);
+RepereMinMax(-1,4,-1,4,1,1);
+Axes;
+Debut;
+ Graduations;
+ Unites(2);
+ trace CA;
+Fin;
+endfig;
+\end{ExempleMP}
+
+On peut aussi ajouter une grille sur notre repère avec la macro suivante.
+\begin{colourband}
+\macro|GrilleRepere|\indication{trace un essemble d’éléments sur le repère}
+\index{GrilleRepere@\lstinline+GrilleRepere+}
+\end{colourband}
+Dans l’exemple suivant, on règle la couleur de la grille avec la commande
+\hologo{MetaPost} \lstinline+drawoptions+.
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,1);
+CA = Cercle(A,2);
+RepereMinMax(-1,4,-1,4,1,1);
+drawoptions(withcolor LightGrey);
+GrilleRepere;
+drawoptions();
+Axes;
+Debut;
+ Graduations;
+ Unites(1);
+ trace CA;
+Fin;
+endfig;
+\end{ExempleMP}
+On pourra aussi ajouter un cadre au repère avec la macro suivante.
+\begin{colourband}
+ \macro|CadreRepere|\return{\typeMP{path}}
+ \index{CadreRepere@\lstinline+CadreRepere+}
+\end{colourband}
+ Dans l’exemple suivant, on règle la couleur de la grille avec la commande
+ \hologo{MetaPost} \lstinline+drawoptions+.
+ \begin{ExempleMP}
+input geom2d;
+beginfig(1);
+A = Point(1,1);
+CA = Cercle(A,2);
+RepereMinMax(-1,4,-1,4,1,1);
+drawoptions(withcolor LightGrey);
+GrilleRepere;
+drawoptions();
+Axes;
+Debut;
+ Graduations;
+ Unites(1);
+ trace CA;
+ trace CadreRepere withcolor OrangeRed;
+Fin;
+endfig;
+ \end{ExempleMP}
+
+\section{Quelques constantes et fonctions mathématiques}
+
+\mpgeomdd définit deux constantes mathématiques \lstinline+Pi+ et \lstinline+_E+
+\index{Pi@\lstinline+Pi+}\index{_E@\lstinline+_E+} pour les constantes
+$\pi\simeq 3.14159265$ et $\mathrm{e}=2.71828183$.
+
+De plus, le package définit quelques fonctions mathématiques de la variable
+rééelle :
+\begin{colourband}
+\macro|sin(«x»)| \index{sin@\lstinline+sin+}
+\macro|cos(«x»)| \index{cos@\lstinline+cos+}
+\macro|tan(«x»)| \index{tan@\lstinline+tan+}
+\macro|exp(«x»)| \index{exp@\lstinline+exp+}
+\macro|ln(«x»)| \index{ln@\lstinline+ln+}
+\macro|ch(«x»)| \index{ch@\lstinline+ch+}
+\macro|sh(«x»)| \index{sh@\lstinline+sh+}
+\macro|th(«x»)| \index{th@\lstinline+th+}
+\macro|arcsin(«x»)| \index{arcsin@\lstinline+arcsin+}
+\macro|arccos(«x»)| \index{arccos@\lstinline+arccos+}
+\macro|arctan(«x»)| \index{arctan@\lstinline+arctan+}
+\end{colourband}
+
+\section{Représentation de courbes et de fonctions}
+
+\mpgeomdd{} fournit aussi quelques macros facilitant la représentation simple de
+courbes et de fonctions mathématiques.
+
+\subsection{Fonction de la variable réelle}
+
+Pour représenter une fonction de la variable réelle, on utilisera la macro
+suivante:
+\begin{colourband}
+ \macro|Representation(«fonction»)(«ti»,«tf»,«n»)|\return{\typeMP{path}}
+ \begin{description}
+ \item[\meta{fonction}:] est une macro \MP{} qui définit la fonction
+ mathématique d’une variable réelle que l’on souhaite represénter ;
+ \item[\meta{ti}:] est la valeur (\typeMP{numeric}) initiale de la variable à
+ partir de laquelle on souhaite construire la représentation de la fonction ;
+ \item[\meta{tf}:] est la valeur (\typeMP{numeric}) finale de la variable
+ jusqu’à laquelle on souhaite construire la représentation de la fonction ;
+ \item[\meta{n}:] est le nombre de pas (\typeMP{numeric}) utilisé pour la
+ discrétisation de la représentation.
+ \end{description}
+ \index{Representation@\lstinline+Representation+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+beginfig(1);
+RepereMinMax(-2Pi,2Pi,-1.1,1.1,0.4,1);
+Axes;
+Debut;
+ Graduations;
+ trace Representation(cos,-2Pi,2Pi,100);
+Fin;
+endfig;
+ \end{ExempleMP}
+
+\subsection{Courbe plane}
+
+Pour représenter une courbe plane définie par deux fonctions décrivant les
+abscisse et ordonnée en fonction d’un paramètre, on utilisera la macro suivante:
+\begin{colourband}
+ \macro|Courbe(«fct_abscisse»)(«fct_ordonnee»)(«ti»,«tf»,«n»)|\return{\typeMP{path}}
+ \begin{description}
+ \item[\meta{fct\_abscisse}:] est une macro \MP{} qui définit la fonction
+ mathématique d’une variable réelle décrivant l’évolution de l’abscisse des
+ points de la courbe que l’on souhaite représenter ;
+ \item[\meta{fct\_ordonnee}:] est une macro \MP{} qui définit la fonction
+ mathématique d’une variable réelle décrivant l’évolution de l’ordonnée des
+ points de la courbe que l’on souhaite représenter ;
+ \item[\meta{ti}:] est la valeur (\typeMP{numeric}) initiale de la variable à
+ partir de laquelle on souhaite construire la représentation de la fonction ;
+ \item[\meta{tf}:] est la valeur (\typeMP{numeric}) finale de la variable
+ jusqu’à laquelle on souhaite construire la représentation de la fonction ;
+ \item[\meta{n}:] est le nombre de pas (\typeMP{numeric}) utilisé pour la
+ discrétisation de la représentation.
+ \end{description}
+ \index{Courbe@\lstinline+Courbe+}
+\end{colourband}
+
+\begin{ExempleMP}
+input geom2d;
+vardef f_a(expr t)= cos(t) enddef;
+vardef f_o(expr t)= sin(2*t) enddef;
+
+beginfig(1);
+RepereMinMax(-1.1,1.1,-1.1,1.1,2,2);
+Axes;
+Debut;
+ Graduations;
+ trace Courbe(f_a,f_o,-2Pi,2Pi,100);
+Fin;
+endfig;
+ \end{ExempleMP}
+
+ Pour représenter une courbe plane définie par une fonction décrivant les
+ coordonées polaires en fonction d’un paramètre, on utilisera la macro suivante:
+ \begin{colourband}
+ \macro|CourbeEnPolaires(«fonction»)(«ti»,«tf»,«n»)|\return{\typeMP{path}}
+ \begin{description}
+ \item[\meta{fonction}:] est une macro \MP{} qui définit la fonction
+ mathématique d’une variable réelle décrivant l’évolution des coordonnées polaires des
+ points de la courbe que l’on souhaite représenter ;
+ \item[\meta{ti}:] est la valeur (\typeMP{numeric}) initiale de la variable à
+ partir de laquelle on souhaite construire la représentation de la fonction ;
+ \item[\meta{tf}:] est la valeur (\typeMP{numeric}) finale de la variable
+ jusqu’à laquelle on souhaite construire la représentation de la fonction ;
+ \item[\meta{n}:] est le nombre de pas (\typeMP{numeric}) utilisé pour la
+ discrétisation de la représentation.
+ \end{description}
+ \index{CourbeEnPolaires@\lstinline+CourbeEnPolaires+}
+ \end{colourband}
+
+ \begin{ExempleMP}
+input geom2d;
+a := 2;
+vardef cardioide(expr t)= a*(1+cos(t)) enddef;
+beginfig(1);
+RepereMinMax(-1.1,4.1,-2.8,2.8,1,1);
+Axes;
+Debut;
+ Graduations;
+ trace CourbeEnPolaires(cardioide,0,2Pi,100);
+Fin;
+endfig;
+ \end{ExempleMP}
+
+
+\subsection{Champs de vecteurs}
+
+\mpgeomdd fournit des macros pour la représentation des champs de vecteurs.
+
+Tout d’abord, on peut tracer des champs de vecteurs associée à une équation
+différentielle du premier ordre pour une fonction $y$ de la variable $x$:
+\[y'=F(x,y).\]
+La macro associée est la suivante:
+\begin{colourband}
+ \macro|ChampVecteurs(«fonction»)(«x»,«y»,«px»,«py»,«dx»,«couleur»)|\return{\typeMP{path}}
+ \begin{description}
+ \item[\meta{fonction}:] est une macro \MP{} qui définit une fonction
+ mathématique de $\R^2$ dans $\R$ ;
+ \item[\meta{x}:] est une valeur (\typeMP{numeric}), en unité \variableGDD{gddU}, qui permet de décaler la
+ grille des vecteurs suivant la direction $x$, les points étant tous les
+ \meta{x}$+i$\meta{px} pour $i$ entier ;
+ \item[\meta{y}:] est une valeur (\typeMP{numeric}), en unité \variableGDD{gddU}, qui permet de décaler la
+ grille des vecteurs suivant la direction $y$, les points étant tous les
+ \meta{y}$+i$\meta{py} pour $i$ entier ;
+ \item[\meta{px}:] est la valeur (\typeMP{numeric}), en unité
+ \variableGDD{gddU}, du pas de la grille suivant l’axe $x$ pour
+ la représentation des vecteurs ;
+ \item[\meta{py}:] est la valeur (\typeMP{numeric}), en unité
+ \variableGDD{gddU}, du pas de la grille suivant l’axe $y$ pour
+ la représentation des vecteurs ;
+ \item[\meta{dx}:] est la norme (\typeMP{numeric}), en unité
+ \variableGDD{gddU}, des vecteurs du champ de vecteur ;
+ \item[\meta{couleur}:] est la couleur (\typeMP{color}) utilisée pour tracer
+ les vecteurs.
+ \end{description}
+ \index{ChampVecteurs@\lstinline+ChampVecteurs+}
+\end{colourband}
+
+Comme cette macro utilise la macro \lstinline+drawarrow+ de \MP{}, il faudra
+jouer avec le paramètre \lstinline+ahlength+ pour régler la taille du triangle
+des flêches (voir~\cite{ctan-metapost}).
+
+\begin{ExempleMP}
+input geom2d;
+vardef F(expr x,y) = x - 2 * x * y enddef;
+vardef f(expr x) = 1/2 + a * exp(- x*x) enddef;
+beginfig(1);
+RepereMinMax(-2.5,2.5,-2.8,2.8,1,1);
+Axes;
+Debut;
+Graduations;
+ahlength := 1;
+ChampVecteurs(F,0,0,0.2,0.2,0.1,0.5white);
+% Courbes intégrales
+for n = 0 upto 16:
+ a := (n/2) - 4;
+ trace Representation(f,-2.5,2.5,50)
+ avecCrayon(1,(0.7,0.2,0.2));
+endfor
+Fin;
+endfig;
+ \end{ExempleMP}
+
+Sur le même modèle, on peut tracer des champs de vecteurs d’une fonction de
+$\R^2$ dans $\R^2$.
+La macro associée est la suivante:
+\begin{colourband}
+ \macro|ChampVecteursDD(«fonction»)(«x»,«y»,«px»,«py»,«dx»,«couleur»)|\return{\typeMP{path}}
+ \begin{description}
+ \item[\meta{fonction}:] est une macro \MP{} qui définit une fonction
+ mathématique de $\R^2$ dans $\R^2$ (donc qui retourne une \typeMP{pair}) ;
+ \item[\meta{x}:] est une valeur (\typeMP{numeric}), en unité \variableGDD{gddU}, qui permet de décaler la
+ grille des vecteurs suivant la direction $x$, les points étant tous les
+ \meta{x}$+i$\meta{px} pour $i$ entier ;
+ \item[\meta{y}:] est une valeur (\typeMP{numeric}), en unité \variableGDD{gddU}, qui permet de décaler la
+ grille des vecteurs suivant la direction $y$, les points étant tous les
+ \meta{y}$+i$\meta{py} pour $i$ entier ;
+ \item[\meta{px}:] est la valeur (\typeMP{numeric}), en unité
+ \variableGDD{gddU}, du pas de la grille suivant l’axe $x$ pour
+ la représentation des vecteurs ;
+ \item[\meta{py}:] est la valeur (\typeMP{numeric}), en unité
+ \variableGDD{gddU}, du pas de la grille suivant l’axe $y$ pour
+ la représentation des vecteurs ;
+ \item[\meta{dx}:] est la norme (\typeMP{numeric}), en unité
+ \variableGDD{gddU}, des vecteurs du champ de vecteur ;
+ \item[\meta{couleur}:] est la couleur (\typeMP{color}) utilisée pour tracer
+ les vecteurs.
+ \end{description}
+ \index{ChampVecteursDD@\lstinline+ChampVecteursDD+}
+\end{colourband}
+
+ \begin{ExempleMP}[sidebyside=false]
+input geom2d;
+gddXlabel := "$\theta$";
+gddYlabel := "$\dot\theta$";
+numeric b,c;
+b:=0.5;
+c=1.0;
+
+vardef F(expr x,y) = (y,-b*y-c*sin(x)) enddef;
+
+beginfig(1);
+Repere(10,6,2,4,2,2);
+Axes;
+Unites(1);
+Debut;
+Graduations;
+trajectoire := CourbeDat("solution0",0);
+ChampVecteursDD(F,0.5,0.5,0.2,0.2,0.15,0.5white);
+trace trajectoire avecCrayon(1,(0.7,0.2,0.2));
+pointe Point(0,0) avecCrayon(1,(0.7,0.2,0.2));
+pointe Point(3.1415,0) avecCrayon(1,(0.7,0.2,0.2));
+Fin;
+endfig;
+ \end{ExempleMP}
+
+
+
+
+\section{Couleurs \texttt{svgnames}}
+
+\begin{mplibcode}
+input exemples/svgnames/palette.mp
+\end{mplibcode}
+
+
+
+\pagestyle{empty}
+\begin{landscape}
+ \section{Galerie}
+ \subsection{Repère et tangentes extérieure}
+ \begin{minipage}{0.5\linewidth}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/cercles/cercles2.mp;
+ \end{mplibcode}
+ \end{center}
+ \end{minipage}
+ \begin{minipage}{0.5\linewidth}
+ \lstinputlisting[basicstyle=\ttfamily\small]{exemples/cercles/cercles2.mp}
+ \end{minipage}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Vecteur dans un repère}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/reperes/reperes2.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/reperes/reperes2.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Théorème de Pascale}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/divers/pascalline.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/divers/pascalline.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Hyperbole}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/coniques/hyper.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/coniques/hyper.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Astroïde comme enveloppe de droites}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/courbes/cp01.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/courbes/cp01.mp}
+ \end{multicols}
+\end{landscape}
+
+
+\begin{landscape}
+ \subsection{Courbe de Lissajous}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/courbes/cp02.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/courbes/cp02.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Étude de fonctions}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/courbes/cp05.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/courbes/cp05.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Le bicorne}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/courbes/cp08.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/courbes/cp08.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Une fonction et ses dérivées}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/fonctions/fonction2.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/fonctions/fonction2.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Cardioïde}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/polaires/pol02.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/polaires/pol02.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Axe de similitude}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/cercles/axessimilitude.mp;
+ \end{mplibcode}
+ \end{center}
+ \begin{multicols}{2}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/cercles/axessimilitude.mp}
+ \end{multicols}
+\end{landscape}
+
+
+\begin{landscape}
+ \subsection{Tracé d’une cubique}
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/cubiques/K001.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/cubiques/K001.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Apollonius}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/triangles/apollonius.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/triangles/apollonius.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Épure d’ogive}
+
+ \begin{multicols}{2}
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/construction/ogiveentiers.mp;
+ \end{mplibcode}
+ \end{center}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/construction/ogiveentiers.mp}
+ \end{multicols}
+\end{landscape}
+
+\begin{landscape}
+ \subsection{Triangle \og{}pédale\fg{}}
+
+ Figure 21 de~\cite{toeplitz}.
+ \begin{center}
+ \begin{mplibcode}
+ input exemples/triangles/pedale.mp;
+ \end{mplibcode}
+ \end{center}
+ \begin{multicols}{2}
+ \lstinputlisting[basicstyle=\ttfamily\scriptsize]{exemples/triangles/pedale.mp}
+ \end{multicols}
+\end{landscape}
+
+\printbibliography
+\addcontentsline{toc}{section}{Références}%Including it as a chapter
+\printindex
+\addcontentsline{toc}{section}{Index}%Including it as a chapter
+
+
+\end{document}
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/doc/solution0.dat b/graphics/metapost/contrib/macros/mp-geom2d/doc/solution0.dat
new file mode 100644
index 0000000000..225ff5a9c9
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/doc/solution0.dat
@@ -0,0 +1,101 @@
+3.13159 0.00000
+3.13129 -0.00237
+3.13042 -0.00461
+3.12899 -0.00686
+3.12698 -0.00924
+3.12434 -0.01189
+3.12100 -0.01494
+3.11683 -0.01850
+3.11169 -0.02274
+3.10539 -0.02783
+3.09769 -0.03396
+3.08830 -0.04137
+3.07687 -0.05035
+3.06297 -0.06124
+3.04606 -0.07446
+3.02550 -0.09050
+3.00052 -0.10997
+2.97017 -0.13357
+2.93332 -0.16218
+2.88859 -0.19678
+2.83433 -0.23856
+2.76860 -0.28883
+2.68909 -0.34904
+2.59313 -0.42065
+2.47770 -0.50493
+2.33954 -0.60261
+2.17531 -0.71326
+1.98203 -0.83441
+1.75769 -0.96045
+1.50220 -1.08156
+1.21850 -1.18348
+0.91349 -1.24911
+0.59833 -1.26236
+0.28752 -1.21344
+-0.00322 -1.10279
+-0.25960 -0.94110
+-0.47092 -0.74535
+-0.63096 -0.53366
+-0.73772 -0.32146
+-0.79260 -0.12012
+-0.79935 0.06255
+-0.76333 0.22118
+-0.69110 0.35173
+-0.59008 0.45099
+-0.46841 0.51659
+-0.33468 0.54751
+-0.19748 0.54459
+-0.06496 0.51084
+0.05578 0.45130
+0.15908 0.37245
+0.24099 0.28137
+0.29933 0.18501
+0.33357 0.08961
+0.34466 0.00047
+0.33468 -0.07822
+0.30668 -0.14334
+0.26432 -0.19281
+0.21167 -0.22558
+0.15292 -0.24161
+0.09218 -0.24180
+0.03320 -0.22790
+-0.02079 -0.20232
+-0.06722 -0.16793
+-0.10427 -0.12778
+-0.13089 -0.08493
+-0.14675 -0.04218
+-0.15220 -0.00202
+-0.14814 0.03354
+-0.13594 0.06298
+-0.11725 0.08531
+-0.09392 0.10007
+-0.06785 0.10727
+-0.04088 0.10737
+-0.01469 0.10118
+0.00928 0.08981
+0.02989 0.07453
+0.04634 0.05669
+0.05814 0.03764
+0.06516 0.01863
+0.06755 0.00076
+0.06571 -0.01505
+0.06025 -0.02812
+0.05192 -0.03802
+0.04153 -0.04453
+0.02993 -0.04768
+0.01795 -0.04768
+0.00633 -0.04488
+-0.00430 -0.03980
+-0.01343 -0.03298
+-0.02070 -0.02504
+-0.02590 -0.01657
+-0.02898 -0.00812
+-0.03001 -0.00020
+-0.02916 0.00681
+-0.02671 0.01260
+-0.02298 0.01697
+-0.01835 0.01983
+-0.01319 0.02120
+-0.00787 0.02117
+-0.00271 0.01991
+0.00200 0.01763
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-arc.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-arc.mp
new file mode 100644
index 0000000000..931f4af3d4
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-arc.mp
@@ -0,0 +1,56 @@
+%%% --------------------------------------------------------------------------
+%%% Arcs de cercles
+%%% --------------------------------------------------------------------------
+
+vardef Arc(expr c,r,a,b) =
+ % c: centre de l’arc (point ou pair)
+ % r: rayon (numeric)
+ % a: angle de départ (numeric)
+ % b: angle d’arrivée (numeric)
+ save n,centre,pas; n = incr gddO;
+ gddT[n] = "chemin";
+ pair centre; centre = PairImp(c); pas =(b-a)/10;
+ gddP[n]:=(centre+r*(cos(a),sin(a))) for i=0 upto 10: ..
+ (centre+r*(cos(a+i*pas),sin(a+i*pas))) endfor;
+ n
+enddef;
+
+vardef ArcEntrePoints(expr C, r, A, B,s) =
+ % C : centre de l’arc (point ou pair)
+ % r : rayon (numeric)
+ % A : point ou pair de départ de l’arc
+ % B : point ou pair d’arrivée
+ % s : sens 1 ou -1
+ save n,cercle,t; n = incr gddO;
+ gddT[n] = "chemin";
+ numeric t[];
+ path cercle;
+ cercle := fullcircle scaled 2r shifted PairImp(C);
+ (t1,t2) = cercle intersectiontimes (PairImp(C)--5[PairImp(C),PairImp(A)]);
+ (t3,t4) = cercle intersectiontimes (PairImp(C)--5[PairImp(C),PairImp(B)]);
+
+ if(t1<t3):
+ t5 = t1;
+ t6 = t3;
+ else:
+ t5 = t3;
+ t6 = t1;
+ fi
+ if(s=1):
+ gddP[n] := subpath (t5,t6) of cercle;
+ else:
+ gddP[n] := subpath (t5,t6-8) of cercle;
+ fi
+ n
+enddef;
+
+
+% obtenir seulement une partie d’un cercle déjà défini
+vardef gddTraceArcDeCercle(expr C,r,d)=
+ % C : cercle 4
+ % r : premier angle en radian
+ % d : deuxième angle en radian
+ (subpath(r/Pi*4,d/Pi*4) of gddTraceObjet(C))
+enddef;
+
+endinput \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-c2d.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-c2d.mp
new file mode 100644
index 0000000000..c47f92bf8c
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-c2d.mp
@@ -0,0 +1,300 @@
+%%% --------------------------------------------------------------------------
+%%% mp-gdd %%% Courbes du second degré
+%%% --------------------------------------------------------------------------
+
+gddC2Dparam := 15; % pour les tracés des parabole et hyperbole
+
+% macros factorisées
+
+vardef Foyer(expr c,n) =
+ % c : ellipse, parabole, hyperbole
+ % n : 1 ou 2
+ if(n=1):
+ gddD[c]
+ else:
+ if(gddT[c]="parabole"): % si parabole c’est le même foyer
+ gddD[c]
+ else:
+ gddE[c]
+ fi
+ fi
+enddef;
+
+vardef Excentricite(expr c)=
+ gddX[c][3]
+enddef;
+
+vardef Inclinaison(expr c)=
+ gddX[c][4]
+enddef;
+
+% Ellipse ----------------------------------------------------------------------
+
+vardef Ellipse(expr C,A,B) =
+ % C : centre
+ % A : vertex
+ % B : co-vertex
+ save n,a,b,c,e,_tmp,slope;
+ pair _tmp;
+ n = incr gddO;
+ gddT[n] = "ellipse"; gddA[n] = PointImp(C); gddB[n] = PointImp(A);
+ gddC[n] = PointImp(B);
+ % calcul des deux foyers
+ a = Longueur(C,A);
+ b = Longueur(C,B);
+ c = sqrt(a**2-b**2);
+ e = c/a;
+ _tmp = e*(Pt(A)-Pt(C));
+ % les foyers
+ gddD[n] = PairTOPoint(Pt(C)+_tmp);
+ gddE[n] = PairTOPoint(Pt(C)-_tmp);
+ gddX[n][1] = a;
+ gddX[n][2] = b;
+ gddX[n][3] = e;
+ % angle du demi grand axe
+ slope = angle(PairImp(A)-PairImp(C));
+ gddX[n][4] = slope;
+ n
+enddef;
+
+vardef EllipseF(expr A,B,a) =
+ % A : foyer 1
+ % B : foyer 2
+ save n,b,c,e,_tmp,slope;
+ pair _tmp;
+ n = incr gddO;
+ gddT[n] = "ellipse";
+ % Foyers
+ gddD[n] = PointImp(A);
+ gddE[n] = PointImp(B);
+ % centre
+ gddA[n] = Milieu(A,B);
+ % La distance entre les deux foyers est égale à 2c
+ c = Longueur(A,B)/2;
+ if(c>a):
+ errmessage("le demi grand axe est trop petit");
+ fi
+ e = c/a;
+
+ b = sqrt(a**2-c**2);
+
+ % vertex et co-vertex
+ _tmp := 1.0/c*(Pt(B)-Pt(gddA[n]));
+ gddB[n] = PairTOPoint(Pt(gddA[n])+a*_tmp);
+ gddC[n] = PairTOPoint(Pt(gddA[n])+b*Pt(Rotation(_tmp,Pi/2)));
+ gddX[n][1] = a;
+ gddX[n][2] = b;
+ gddX[n][3] = e;
+ % angle du demi grand axe
+ slope = angle(PairImp(gddB[n])-PairImp(gddA[n]));
+ gddX[n][4] = slope;
+ n
+enddef;
+
+
+
+vardef Vertex(expr c) =
+ gddB[c]
+enddef;
+
+vardef Covertex(expr c) =
+ gddC[c]
+enddef;
+
+
+
+vardef DemiGrandAxe(expr c)=
+ gddX[c][1]
+enddef;
+
+vardef DemiPetitAxe(expr c)=
+ gddX[c][2]
+enddef;
+
+
+
+
+vardef TangenteEllipse(expr e,p) =
+ % détermine la tangente à une ellipse e au point p
+ % appartenant à l’ellipse
+ % par la méthode de la bissectrice
+ save F,Fp,M,B;
+ F = Foyer(e,1);
+ Fp = Foyer(e,2);
+ M = PointImp(p);
+ B = Bissectrice(F,M,Fp);
+ DroitePerpendiculaire(B,M)
+enddef;
+
+vardef TangenteExterieureEllipse(expr ell, p,n) =
+ % ell : ellipse
+ % p : point
+ % n : 1 ou 2 pour choisir la tangente
+ % http://choumac44.free.fr/NGEOMETRIE/Ellipse.htm
+ % Du point p comme centre tracer un arc de cercle de rayon PF'
+ % Du foyer F comme centre tracer un arc de cercle de rayon 2a
+ % l'intersection des 2 arcs donne le point T
+ % Tracer la droite TF puis la droite TF' et sa médiatrice , l'intersection de
+ % la médiatrice et la droite TF nous donne le point ( M ) ( contact avec la
+ % courbe) -> ici on laisse MetaPost trouver l’intersection segment,ellipse
+ save F,P,T,C,Ip,U,DU,M;
+ P = PointImp(p);
+ if(n=1):
+ F1 = Foyer(ell,1);
+ F2 = Foyer(ell,2);
+ else:
+ F1 = Foyer(ell,2);
+ F2 = Foyer(ell,1);
+ fi
+ C1 = CercleCP(P,F1);
+ C2 = Cercle(F2,2*DemiGrandAxe(ell));
+ T1 = IntersectionCercles(C1,C2);
+ T2 = IntersectionCercles(C2,C1);
+ if(Longueur(F1,T1)<Longueur(F1,T2)):
+ U = T1;
+ else:
+ U = T2;
+ fi
+ DU = Segment(F2,U);
+ pair Ip;
+ Ip := (gddTraceObjet(DU)) intersectionpoint (gddTraceObjet(ell));
+ M = PointImp(Ip);
+ Droite(P,M)
+enddef;
+
+
+%%% Paraboles ----------------------------------------------------------------
+
+% Parabole par Foyer-Directrice.
+
+
+
+vardef ParaboleFD(expr F,D) =
+ % F : foyer (point)
+ % D : directrice (droite)
+ save u, v, w, d, i, n,_tmp,slope;
+ pair _tmp;
+ n = incr gddO;
+ (u,v,w) = EquationDroite(D);
+ % ordonnée relative
+ d := u * gddA[F] + v * gddB[F] + w;
+ gddT[n] := "parabole";
+ gddX[n][1] := D; % on stock la directrice
+ gddX[n][2] := D; % on stock la directrice (compatibilité avec hyperbole)
+ % sommet
+ _tmp := (((-d/2)*(u,v)) shifted PairImp(F));
+ gddB[n] = PointImp(_tmp);
+ gddC[n] = PointImp(_tmp);
+ % le foyer (doublé pour compatibilité)
+ gddD[n] := F;
+ gddE[n] := F;
+ gddX[n][3] := 1.0; % excentricité
+ % angle du demi grand axe
+ slope = angle(PairImp(gddA[D])-PairImp(gddB[D]))+90;
+ gddX[n][4] = slope;
+ i := -gddC2Dparam-1;
+ gddP[n] := (
+ ((i*(v,-u)+((i*i-d*d)/(2d))*(u,v))
+ for i:= -gddC2Dparam upto gddC2Dparam:
+ ..(i*(v,-u)+((i*i-d*d)/(2d))*(u,v))
+ endfor)) shifted PairImp(F);
+ n
+enddef;
+
+% Parabole par Foyer-Sommet
+vardef ParaboleFS(expr F,S) =
+enddef;
+
+
+%% Hyperbole ----------------------------------------------------------
+
+vardef HyperboleFD(expr F,D,e) =
+ % F : foyer (point)
+ % D : directrice (droite)
+ % e : exentricité (numeric)
+ % pm : +1 ou -1 pour les deux branches
+ save u, v, w, d, i, n,_tmp,slope,aa,bb;
+ pair _tmp;
+ n = incr gddO;
+
+ (u,v,w) = EquationDroite(D);
+ d := u * gddA[F] + v * gddB[F] + w;
+ gddT[n] := "hyperbole";
+
+ % sommets
+ _tmp := -(d+1*sqrt(e*e*d*d))/(e*e-1)*(u,v)shifted (ProduitScalaire(F,Vecteur(v,-u))*(v,-u));
+ gddB[n] := PointImp(_tmp);
+ _tmp := -(d-1*sqrt(e*e*d*d))/(e*e-1)*(u,v)shifted
+ (ProduitScalaire(F,Vecteur(v,-u))*(v,-u));
+ gddC[n] := PointImp(_tmp);
+ % centre comme milieu des deux sommets
+ gddA[n] = Milieu(gddB[n],gddC[n]);
+ % le foyer (doublé pour compatibilité)
+ gddD[n] := F;
+ gddE[n] := RotationCentre(F, gddA[n], Pi);
+ gddX[n][3] := e; % excentricité
+ % directrices
+ gddX[n][1] := D; % on stock la directrice
+ gddX[n][2] := Droite(RotationCentre(gddA[D], gddA[n], Pi),RotationCentre(gddB[D], gddA[n], Pi));
+ % angle de l’axe
+ slope = angle(PairImp(gddA[D])-PairImp(gddB[D]))+90;
+ gddX[n][4] = slope;
+ % cercle principale
+ gddX[n][5] = CercleD(gddB[n],gddC[n]);
+ % asymptotes
+ aa = IntersectionDroiteCercle(D,gddX[n][5],1);
+ bb = IntersectionDroiteCercle(D,gddX[n][5],2);
+ gddX[n][6] = Droite(gddA[n],aa);
+ gddX[n][7] = Droite(gddA[n],bb);
+ % tracés des moitiées
+ i := -gddC2Dparam-1;
+ gddPX[n][1] := (
+ (
+ (i*(v,-u)-(d+sqrt(e*e*d*d+i*i*(e*e-1)))/(e*e-1)*(u,v))
+ for i:= -gddC2Dparam upto gddC2Dparam:
+ ..(i*(v,-u)-(d+sqrt(e*e*d*d+i*i*(e*e-1)))/(e*e-1)*(u,v))
+ endfor
+ ) shifted (ProduitScalaire(F,Vecteur(v,-u))*(v,-u))
+ );
+ gddPX[n][2] := (
+ (
+ (i*(v,-u)-(d-sqrt(e*e*d*d+i*i*(e*e-1)))/(e*e-1)*(u,v))
+ for i:= -gddC2Dparam upto gddC2Dparam:
+ ..(i*(v,-u)-(d-sqrt(e*e*d*d+i*i*(e*e-1)))/(e*e-1)*(u,v))
+ endfor
+ ) shifted (ProduitScalaire(F,Vecteur(v,-u))*(v,-u))
+ );
+ n
+enddef;
+
+vardef CerclePrincipale(expr h)=
+ %h : hyperbole
+ gddX[h][5]
+enddef;
+
+vardef AsymptoteHyperbole(expr h,n)=
+ % h : hyperbole
+ % n : 1 ou 2 pour choisir l’hyperbole
+ gddX[h][5+n]
+enddef;
+
+vardef DemieHyperbole(expr h,n)=
+ gddPX[h][n]
+enddef;
+
+% sommet
+vardef Sommet(expr p,n) =
+ % p : parabole ou hyperbole
+ % n : 1 ou 2, choisir un des sommets (le même pour la parabole)
+ if n=1:
+ gddB[p]
+ else:
+ gddC[p]
+ fi
+enddef;
+
+vardef Directrice(expr p,n) =
+ % p : parabole ou hyperbole
+ gddX[p][n]
+enddef;
+endinput \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-fct.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-fct.mp
new file mode 100644
index 0000000000..8d70154b5f
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-fct.mp
@@ -0,0 +1,22 @@
+numeric Pi;
+numeric _E;
+
+Pi := 3.14159265;
+_E := 2.71828183;
+
+vardef sin(expr x) = sind(x/Pi*180) enddef;
+vardef cos(expr x) = cosd(x/Pi*180) enddef;
+vardef tan(expr x) = sin(x)/cos(x) enddef;
+
+vardef exp(expr x) = _E**x enddef;
+
+vardef ln(expr x) = mlog(x)/256 enddef;
+vardef ch(expr x) = (_E**x + _E**(-x))/2 enddef;
+vardef sh(expr x) = (_E**x - _E**(-x))/2 enddef;
+vardef th(expr x) = (_E**(2*x) - 1)/(_E**(2*x) + 1) enddef;
+
+vardef arcsin(expr t) = angle((sqrt(1-t**2),t)) / 180 * Pi enddef;
+vardef arccos(expr t) = angle(t,(sqrt(1-t**2))) / 180 * Pi enddef;
+vardef arctan(expr t) = angle(1,t) / 180 * Pi enddef;
+
+endinput \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-lbl.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-lbl.mp
new file mode 100644
index 0000000000..562a321b23
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-lbl.mp
@@ -0,0 +1,84 @@
+
+string lblS[];
+lblS[0] = "alpha";
+lblS[1] = "beta";
+lblS[2] = "gamma";
+lblS[3] = "delta";
+lblN = 3;
+
+
+vardef lTEX primary s =
+ textext("$"&scanchaine_label(s)&"$")
+enddef;
+
+vardef gddLabel.@#(expr s,p) =
+ % comme label mais qui s’applique à un point
+ % s : matériel de l’annotation
+ % p : point mpgdd
+ label.@#(s,Pt(p) gddEnPlace)
+enddef;
+
+vardef Etiquette.@#(expr s,t,p) = label.@#(textext(s) scaled t,p gddEnPlace) enddef;
+
+vardef EtiquetteChemin.@#(expr s,p,pos) = % label, chemin, position
+ save chemin;
+ path chemin;
+ if path p:
+ chemin:=p;
+ else:
+ chemin:=gddP[p]; % fonction pour chemin et courbe
+ fi;
+ label.@#(textext(s), _milieuChemin(chemin,pos) gddEnPlace)
+enddef;
+
+vardef _milieuChemin(expr p,pos) = % p est du type path
+ save midtime;
+ midtime = arctime (pos*(arclength(p))) of p;
+ point infinity of (subpath (0,midtime) of p)
+enddef;
+
+vardef FICHIER primary s =
+ save _s; string _s; _s = "input " & s;
+ scantokens _s
+enddef;
+
+vardef m_arque.@# expr p =
+ pointe p;
+ label.@#(gddL[p] scaled gddTailleLabel,PointTOPair(p) gddEnPlace);
+enddef;
+
+vardef m_a_rque.@# expr p =
+ pointe(scantokens p);
+ label.@#(lTEX(p) scaled gddTailleLabel,PointTOPair(scantokens p) gddEnPlace);
+enddef;
+
+vardef marque.@# expr p =
+ if string p: m_a_rque.@# p else: m_arque.@# p fi
+enddef;
+
+
+
+vardef scanchaine_label(expr s) =
+ save d,m,f,c,l,flag,i; string d,m,f,c;
+ d := ""; m := ""; f := "";
+ l = length(s); flag := 0;
+ for i:=0 upto l:
+ c := substring (i,i+1) of s;
+ if c = "'":
+ f := f & c; flag := 2;
+ elseif c = "_":
+ flag := 1;
+ else:
+ if flag = 0:
+ d := d & c
+ else:
+ m := m & c
+ fi;
+ fi
+ endfor;
+ for i:=0 upto lblN:
+ if d = lblS[i]: d := "\" & d fi
+ endfor;
+ d := d & "_{" & m & "}" & f; d
+enddef;
+endinput \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-main.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-main.mp
new file mode 100644
index 0000000000..b79da9ac0a
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-main.mp
@@ -0,0 +1,1051 @@
+
+
+%%% ----------------------------------------------------------------------------
+%%% Déclarations
+%%% ----------------------------------------------------------------------------
+
+numeric gddA[];
+numeric gddB[];
+numeric gddC[];
+numeric gddD[];
+numeric gddE[];
+numeric gddF[];
+numeric gddX[][];
+picture gddL[]; % Table des labels TeX (btex .. etex)
+numeric gddO; % Compteur des objets
+path gddP[]; % Table des chemins (paths internes)
+path gddPX[][]; % Tables des chemins étendues
+string gddS[]; % Table des chaînes (noms de fichiers)
+string gddT[]; % Table des types
+numeric gddU; % Unité graphique
+string gddW; % Chaîne spécifiant le placement des objets
+
+%%% ----------------------------------------------------------------------------
+%%% Initialisations
+%%% ----------------------------------------------------------------------------
+
+% Initialisation de gddO -------------------------------------------------------
+gddO := 0;
+
+% Valeur par défaut de gddU ----------------------------------------------------
+gddU := 1cm;
+
+% Initialisation de gddW et procédure associée ---------------------------------
+gddW = "scaled gddU";
+def gddEnPlace = scantokens gddW enddef;
+
+%%% ----------------------------------------------------------------------------
+%%% Définition des objets
+%%% ----------------------------------------------------------------------------
+
+% Point ------------------------------------------------------------------------
+vardef Point(expr a,b) =
+ gddT[incr gddO] = "point";
+ gddA[gddO] = a; gddB[gddO] = b; gddO
+enddef;
+
+vardef PointPolaire(expr r,a) =
+ % r : rayon
+ % a : angle en radian
+ gddT[incr gddO] = "point";
+ gddA[gddO] = r*cos(a); gddB[gddO] = r*sin(a); gddO
+enddef;
+
+vardef PointDansRepere(expr x,y,o,i,j) =
+ gddT[incr gddO] = "point";
+ gddA[gddO] = gddA[o] + x*(gddA[i]-gddA[o]) + y*(gddA[j]-gddA[o]);
+ gddB[gddO] = gddB[o] + x*(gddB[i]-gddB[o]) + y*(gddB[j]-gddB[o]);
+ gddO
+enddef;
+
+vardef CoordonneesRepere(expr m,o,i,j) =
+ save x,y; numeric x,y;
+ gddA[m] = (gddA[i]-gddA[o])*x + (gddA[j]-gddA[o])*y + gddA[o];
+ gddB[m] = (gddB[i]-gddB[o])*x + (gddB[j]-gddB[o])*y + gddB[o];
+ (x,y)
+enddef;
+
+vardef Milieu(expr a,b) =
+ gddT[incr gddO] = "point";
+ gddA[gddO] = 0.5*(gddA[a]+gddA[b]);
+ gddB[gddO] = 0.5*(gddB[a]+gddB[b]);
+ gddO
+enddef;
+
+vardef Rotation(expr A, a) =
+ % A : point
+ % a : angle
+ save _tmp,n;
+ n = incr gddO;
+ _tmp = PointImp(A);
+ gddT[n] = "point";
+ gddA[n] = cos(a)*gddA[_tmp]-sin(a)*gddB[_tmp];
+ gddB[n] = sin(a)*gddA[_tmp]+cos(a)*gddB[_tmp];
+ n
+enddef;
+
+vardef RotationCentre(expr A, C, a) =
+ % A : point
+ % C : point centre de la rotation
+ % a : angle
+ save _tmp,_tmp,n;
+ n = incr gddO;
+ _tmp1 = PointImp(A);
+ _tmp2 = PointImp(C);
+ gddT[n] = "point";
+ gddA[n] = cos(a)*(gddA[_tmp1]-gddA[_tmp2])-sin(a)*(gddB[_tmp1]-gddB[_tmp2])+gddA[_tmp2];
+ gddB[n] = sin(a)*(gddA[_tmp1]-gddA[_tmp2])+cos(a)*(gddB[_tmp1]-gddB[_tmp2])+gddB[_tmp2];
+ n
+enddef;
+
+vardef IsoBarycentre(text t) =
+ save n, G;
+ pair G; numeric n;
+ G := origin; n:=0;
+ for a=t:
+ G:=G+PairImp(a);
+ n:=n+1;
+ endfor;
+ PointImp(G/n)
+enddef;
+
+vardef Barycentre(text t) =
+ % liste sous la forme (A,a),(B,b),(C,c), etc.
+ save n, Gs;
+ pair G; numeric n;
+ G := origin; n:=0;
+ for a=t:
+ G:=G+((ypart a)*Pt(xpart a));
+ n:=n+(ypart a);
+ endfor;
+ PointImp(G/n)
+enddef;
+
+
+% Transformations pair <-> Point -----------------------------------------------
+def PointTOPair(expr a) = (gddA[a],gddB[a]) enddef;
+def PairTOPoint(expr p) = Point(xpart p,ypart p) enddef;
+def PairImp(expr a) = if pair a: a else: PointTOPair(a) fi enddef;
+def PointImp(expr a) = if pair a: PairTOPoint(a) else: a fi enddef;
+def Pt(expr a) = (gddA[a],gddB[a]) enddef;
+def PtR(expr a) = (gddA[a],gddB[a]) gddEnPlace enddef;
+
+% Transformations pair <-> Point -----------------------------------------------
+def VecteurTOPair(expr a) = (gddA[a],gddB[a]) enddef;
+def PairTOVecteur(expr p) = Vecteur(xpart p,ypart p) enddef;
+
+% Abscisse et ordonnées --------------------------------------------------------
+vardef Abscisse(expr a) = if pair a: xpart a else: gddA[a] fi enddef;
+vardef Ordonnee(expr a) = if pair a: ypart a else: gddB[a] fi enddef;
+
+
+% Addition ---------------------------------------------------------------------
+vardef AdditionAbscisses(expr a,b) = if pair a: xpart a else: gddA[a] fi + if pair b: xpart b else: gddA[b] fi enddef;
+vardef AdditionOrdonnees(expr a,b) = if pair a: ypart a else: gddB[a] fi + if pair b: ypart b else: gddB[b] fi enddef;
+vardef Addition(expr a,b) =
+ gddT[incr gddO] = "point";
+ gddA[gddO] = AdditionAbscisses(a,b);
+ gddB[gddO] = AdditionOrdonnees(a,b);
+ gddO
+enddef;
+
+vardef Longueur (expr a,b) =
+ abs(PairImp(a)-PairImp(b))
+enddef;
+
+vardef Bissectrice(expr a,b,c) =
+ % bisectrice du secteur angulaire défini par les points (abc)
+ save dba,dbc,ap,cp;
+ dba = Droite(b,a);
+ dbc = Droite(b,c);
+ ap = ReportSurDroite(b,dba,2);
+ cp = ReportSurDroite(b,dbc,2);
+ %% C'est une bonne idée cette procédure ReportSurDroite !
+ %% Pour obtenir la bissectrice il suffit de prendre la droite qui joint
+ %% le sommet au milieu du segment dont les extrémités sont les reports.
+ %% Ainsi le cas où les droites (b,a) et (b,c) sont confondues est traité.
+ Droite(b,Milieu(ap,cp))
+enddef;
+
+% Vecteur ----------------------------------------------------------------------
+vardef Vecteur (expr a,b) =
+ save n; n = incr gddO;
+ gddT[n] = "vecteur"; gddA[n] = a; gddB[n] = b; n
+enddef;
+
+vardef VecteurP (expr a) =
+ % définition d’un vecteur à partir d’un pair
+ save n; n = incr gddO;
+ gddT[n] = "vecteur"; gddA[n] =xpart a; gddB[n] = ypart a; n
+enddef;
+
+vardef ScalaireVecteur (expr k,a) =
+ % multiplication par un scalaire
+ % k : scalaire
+ % a : vecteur
+ save x,y;
+ x = k*gddA[a];
+ y = k*gddB[a];
+ Vecteur(x,y)
+enddef;
+
+vardef AdditionVecteur (expr u,v) =
+ save n,x,y; n = incr gddO;
+ gddT[n] = "vecteur";
+ x = gddA[u]+gddA[v];
+ y = gddB[u]+gddB[v];
+ gddA[n] = x; gddB[n] = y; n
+enddef;
+
+vardef SoustractionVecteur (expr u,v) =
+ save n,x,y; n = incr gddO;
+ gddT[n] = "vecteur";
+ x = gddA[u]-gddA[v];
+ y = gddB[u]-gddB[v];
+ gddA[n] = x; gddB[n] = y; n
+enddef;
+
+
+vardef ProduitScalaire (expr u,v)=
+ (gddA[u]*gddA[v]+gddB[u]*gddB[v])
+enddef;
+
+vardef Norme (expr s) =
+ sqrt(gddA[s]**2+gddB[s]**2)
+enddef;
+
+vardef VecteursAngle (expr u,v)=
+ arccos((ProduitScalaire(u,v))/(Norme(u)*Norme(v)))
+enddef;
+
+% Segment ----------------------------------------------------------------------
+vardef Segment (expr a,b) =
+ save n; n = incr gddO;
+ gddT[n] = "segment"; gddA[n] = PointImp(a); gddB[n] = PointImp(b); n
+enddef;
+
+vardef LongueurSegment (expr s) =
+ abs(Pt(gddA[s])-Pt(gddB[s]))
+enddef;
+
+vardef SegmentTOVecteur (expr s)=
+ VecteurP(Pt(gddB[s])-Pt(gddA[s]))
+enddef;
+
+
+% Triangle ---------------------------------------------------------------------
+vardef Triangle (expr a,b,c) =
+ save n; n = incr gddO; gddT[n] = "triangle";
+ gddA[n] = PointImp(a); gddB[n] = PointImp(b); gddC[n] = PointImp(c); n
+enddef;
+
+% Drawing with Metapost, Thurston
+vardef Orthocentre (expr t) =
+ save A,B,C,D,p,q;
+ pair A,B,C,D,p,q;
+ A = PointTOPair(gddA[t]);
+ B = PointTOPair(gddB[t]);
+ C = PointTOPair(gddC[t]);
+ p = whatever[B,C] ; A-p = whatever*(B-C) rotated 90;
+ q = whatever[C,A] ; B-q = whatever*(C-A) rotated 90;
+ D = whatever[A,p] = whatever[B,q];
+ PairTOPoint(D)
+enddef;
+
+
+
+vardef AireTriangle ( expr t) =
+ save droite,h,l;
+ droite = Droite(gddA[t],gddB[t]);
+ h = ProjectionPointSurDroite(gddC[t],droite);
+ l = Longueur(gddC[t],h);
+ (Longueur(gddA[t],gddB[t])*l/2.0)
+enddef;
+
+vardef CercleInscrit(expr t) =
+ save AB,BC,CA,a,b,c,I,Aire,rayon;
+ c = Longueur(gddA[t],gddB[t]);
+ a = Longueur(gddB[t],gddC[t]);
+ b = Longueur(gddC[t],gddA[t]);
+ I = Barycentre((gddA[t],a),(gddB[t],b),(gddC[t],c));
+ Aire = AireTriangle(t);
+ rayon = 2*Aire/(a+b+c);
+ Cercle(I,rayon)
+enddef;
+
+
+vardef CercleExinscrit(expr t,n) =
+ % t : gdd triangle
+ % s : 1,2 ou 3 pour choisir AB, BC ou CA
+ save AB,BC,CA,a,b,c,I,p,Aire,rayon;
+ c = Longueur(gddA[t],gddB[t]);
+ a = Longueur(gddB[t],gddC[t]);
+ b = Longueur(gddC[t],gddA[t]);
+ p = (a+b+c)/2.0;
+ Aire = AireTriangle(t);
+ if(n=1):
+ rayon = Aire/(p-a);
+ I = Barycentre((gddA[t],-a),(gddB[t],b),(gddC[t],c));
+ elseif(n=2):
+ rayon = Aire/(p-b);
+ I = Barycentre((gddA[t],a),(gddB[t],-b),(gddC[t],c));
+ elseif(n=3):
+ rayon = Aire/(p-c);
+ I = Barycentre((gddA[t],a),(gddB[t],b),(gddC[t],-c));
+ fi
+ Cercle(I,rayon)
+enddef;
+
+vardef CercleCirconscrit(expr t) =
+ % t : gdd triangle
+ CercleTroisPoints(gddA[t],gddB[t],gddC[t])
+enddef;
+
+vardef CercleEuler(expr t) =
+ % t : gdd triangle
+ % cercle des neuf points
+ save D,C,N,r;
+ pair N;
+ D = Orthocentre(t);
+ C = CercleCirconscrit(t);
+ N = 0.5[Pt(D),Pt(Centre(C))];
+ r = abs(N-1/2[Pt(gddA[t]),Pt(gddB[t])]); % un des neuf points est le
+ % milieu de [A,B]
+ Cercle(N,r)
+enddef;
+
+
+% Polygones --------------------------------------------------------------------
+vardef Polygone (text plist) =
+ save n,_point,i; n = incr gddO; gddT[n] = "polygone";
+ i:=1;
+ for _point = plist:
+ gddX[gddO][i] = PointImp(_point);
+ i:=i+1;
+ endfor
+ gddB[n] = i-1; % nombre de côté
+ gddA[n] = IsoBarycentre(plist); % centre
+ n
+enddef;
+
+vardef PolygoneRegulier (expr N,s,r,t)=
+ % N : (entier) nombre de côtés
+ % s : (numeric) rayon du cercle circonscrit
+ % r : (numeric en degré) rotation du polygone (premier point
+ % commence sur l’axe des abscisses)
+ % t : (pair ou point) translation
+ save n,_point,i; n = incr gddO; gddT[n] = "polygone";
+ pair _point;
+ for i=1 upto N:
+ _point := (s*cos((2*Pi/N)*(i-1)+r/180*Pi),s*sin((2*Pi/N)*(i-1)+r/180*Pi))+PairImp(t);
+ gddX[n][i] = PointImp(_point);
+ endfor
+ gddB[n] = N; % nombre de côtés
+ gddA[n] = PointImp(t); % centre
+ n
+enddef;
+
+def NombreCotesPolygone(expr p) =
+ gddA[p]
+enddef;
+
+def PointPolygone(expr p,i) =
+ gddX[p][i]
+enddef;
+
+% Droite -----------------------------------------------------------------------
+vardef Droite (expr a,b) =
+ save n; n = incr gddO;
+ gddT[n] = "droite"; gddA[n] = PointImp(a); gddB[n] = PointImp(b); n
+enddef;
+
+% Équation de droite : triplet (u,v,w) tel que ux+vy+w=0 -----------------------
+% L'équation rendue est normalisée !
+vardef EquationDroite(expr d) =
+ save u, v, w, n;
+ u := gddB[gddB[d]] - gddB[gddA[d]];
+ v := gddA[gddA[d]] - gddA[gddB[d]];
+ w := - u * gddA[gddA[d]] - v * gddB[gddA[d]];
+ n := u ++ v;
+ (u/n,v/n,w/n)
+enddef;
+
+% Ordonnée relative à une droite orientée --------------------------------------
+vardef OrdonneeRelativePointDroite(expr p, d) =
+ savec u, v, w;
+ (u,v,w) = EquationDroite(d);
+ u * gddA[p] + v * gddB[p] + w
+enddef;
+
+% Distance d'un point à une droite ---------------------------------------------
+def DistancePointDroite(expr p, d) =
+ abs(OrdonneeRelativePointDroite(p, d))
+enddef;
+
+% Projection d'un point sur une droite -----------------------------------------
+vardef ProjectionPointSurDroite(expr p, d) =
+ save u,v,w, l;
+ (u,v,w) = EquationDroite(d);
+ l := - u * gddA[p] - v * gddB[p] - w;
+ Point(gddA[p] + l * u, gddB[p] + l * v)
+enddef;
+
+% Droite perpendicalaire -------------------------------------------------------
+
+vardef DroitePerpendiculaire (expr D,p) =
+ % D : droite par rapport à laquelle on doit être perpendiculaire
+ % p : point par lequel doit passer la droite
+ save n,_t,A,B,v,pP,pD; n = incr gddO;
+ pair _t,A,B,v,q;
+ A := Pt(gddA[D]);
+ B := Pt(gddB[D]);
+ v := B-A; v := (-(ypart v), xpart v); %% Vecteur normal à B-A
+ q := Pt(p) + v;
+ Droite(p,q)
+enddef;
+
+vardef ReportSurDroite(expr P,D,d) =
+ % P : point de départ du segment
+ % D : droite sur laquelle construire le point
+ % d : longueure du segment
+ save n,_t; n = incr gddO;
+ pair _t;
+ _t := PairImp(P)+d*unitvector(Pt(gddB[D])-Pt(gddA[D]));
+ gddT[n] = "point"; gddA[n] = xpart _t; gddB[n] = ypart _t; n
+enddef;
+
+% Intersection de deux droites -------------------------------------------------
+vardef IntersectionDroites (expr a,b) =
+ save _p;
+ pair _p;
+ _p := mpIntersectionDroites(Pt(gddA[a]),Pt(gddB[a]),Pt(gddA[b]),Pt(gddB[b]));
+ PairTOPoint(_p)
+enddef;
+
+% Cercles ----------------------------------------------------------------------
+vardef Cercle (expr a,b) =
+ save n; n = incr gddO;
+ gddT[n] = "cercle"; gddA[n] = PointImp(a); gddB[n] = b; n
+enddef;
+
+
+vardef Rayon(expr c) =
+ gddB[c]
+enddef;
+
+
+vardef CercleCP(expr a,b) = Cercle(a,abs(Pt(a)-Pt(b))) enddef;
+vardef CercleD(expr a,b) = CercleCP(Milieu(a,b),a) enddef;
+
+% Drawing with MetaPost Thurston
+vardef CercleTroisPoints(expr A, B, C) =
+ save o; pair o;
+ o = whatever * (Pt(A)-Pt(B)) rotated 90 shifted 1/2 [Pt(A),Pt(B)] = whatever * (Pt(B)-Pt(C)) rotated 90 shifted 1/2 [Pt(B),Pt(C)];
+ Cercle(o,abs(Pt(A)-o))
+enddef;
+
+vardef AxeDeSimilitude(expr a,b,c) =
+ % Axe de similitude de trois cercles
+ save T,E;
+ numeric T[],E[];
+ T1 = TangenteCommuneExterieure(a,b);
+ T2 = TangenteCommuneExterieure(b,a);
+ T3 = TangenteCommuneExterieure(b,c);
+ T4 = TangenteCommuneExterieure(c,b);
+ E1 = IntersectionDroites(T1,T2);
+ E2 = IntersectionDroites(T3,T4);
+ Droite(E1,E2)
+enddef;
+
+
+
+% Tangente commune extérieure à deux cercles -----------------------------------
+vardef TangenteCommuneExterieure(expr a, b) =
+ save O, A, d, f; pair O, A;
+ O = (gddB[a]/(gddB[a]-gddB[b]))[Pt(gddA[a]),Pt(gddA[b])]; % Centre de l'homothétie
+ d = abs(O-Pt(gddA[a]));
+ f := if gddA[a] < gddA[b] : 1 else: -1 fi;
+ A = Pt(gddA[a]) rotatedaround(O,angle(d+-+gddB[a],f*gddB[a]));
+ Droite(O,A)
+enddef;
+
+% Tangente commune intérieure à deux cercles -----------------------------------
+vardef TangenteCommuneInterieure(expr a, b) =
+ save O, A, d, f; pair O, A;
+ O = (gddB[a]/(gddB[a]+gddB[b]))[Pt(gddA[a]),Pt(gddA[b])]; % Centre de l'homothétie
+ d = abs(O-Pt(gddA[a]));
+ f := if gddA[a] < gddA[b] : 1 else: -1 fi;
+ A = Pt(gddA[a]) rotatedaround(O,angle(d+-+gddB[a],f*gddB[a]));
+ Droite(O,A)
+enddef;
+
+
+% Intersection de deux cercles -------------------------------------------------
+vardef IntersectionCercles (expr a, b) =
+ save d, x, y, u; pair u;
+ u = unitvector(Pt(gddA[b])-Pt(gddA[a]));
+ d = abs(Pt(gddA[a])-Pt(gddA[b]));
+ x = (gddB[a]**2-gddB[b]**2+d**2)/(2d);
+ y = gddB[a]+-+x;
+ PairTOPoint(Pt(gddA[a])+x*u+y*(u rotated 90))
+enddef;
+
+
+
+% Intersection d’une droite et d’un cercle ------------------------------------
+vardef IntersectionDroiteCercle (expr D, CC, n) =
+ % D : droite
+ % CC : cercle
+ % n : identification du point 1 ou 2, le même si point unique
+ % résolution par le calcul
+ save a,b,c,Xc,Yc,R,A,B,C,Delta,Xp,Yp;
+ numeric a,b,c,Xc,Yc,R,A,B,C,Delta,Xp,Yp;
+ (a,b,c) = EquationDroite(D);
+ (Xc,Yc) = Pt(Centre(CC));
+ R := Rayon(CC);
+ if(b=0): % si la droite est verticale
+ Xp := xpart Pt(gddA[D]);
+ A := 1;
+ B := 2*(-Yc);
+ C := Yc**2+(Xp-Xc)**2-R**2;
+ Delta := B**2-4*A*C;
+ if(Delta>0):
+ if(n=1):
+ Yp := (-B - sqrt(Delta))/(2*A);
+ elseif(n=2):
+ Yp := (-B + sqrt(Delta))/(2*A);
+ fi
+ elseif(Delta=0):
+ Yp := -B/(2*A);
+ fi
+ else:
+ if(abs(a/b)<8): % si la droite est suffisamment horizontale
+ A := 1+(-a/b)**2;
+ B := 2*((-a/b)*(-c/b-Yc)-Xc);
+ C := Xc**2+(-c/b-Yc)**2-R**2;
+ Delta := B**2-4*A*C;
+ if(Delta>0):
+ if(n=1):
+ Xp := (-B - sqrt(Delta))/(2*A);
+ Yp := (-a/b*Xp-c/b);
+ elseif(n=2):
+ Xp := (-B + sqrt(Delta))/(2*A);
+ Yp := (-a/b*Xp-c/b);
+ fi
+ elseif(Delta=0):
+ Xp := -B/(2*A);
+ Yp := -a/b*Xp-c/b;
+ fi
+ else: % sinon
+ A := 1+(b/a)**2;
+ B := 2*((b/a)*(c/a+Xc)-Yc);
+ C := Yc**2+(c/a+Xc)**2-R**2;
+ Delta := B**2-4*A*C;
+ if(Delta>0):
+ if(n=1):
+ Yp := (-B - sqrt(Delta))/(2*A);
+ Xp := (-b/a*Yp-c/a);
+ elseif(n=2):
+ Yp := (-B + sqrt(Delta))/(2*A);
+ Xp := (-b/a*Yp-c/a);
+ fi
+ elseif(Delta=0):
+ Yp := -B/(2*A);
+ Xp := -b/a*Yp-c/a;
+ fi
+ fi
+ fi
+ Point(Xp,Yp)
+enddef;
+
+
+% Inversion par rapport à un cercle -------------------------------------------
+vardef Inversion (expr P, C) =
+ save O,r,s,Cc,Pp,rr,Co,Po,ro,M,iM,R;
+ O = Centre(C);
+ r = Rayon(C);
+ if(gddT[P]="point"):
+ s = r / Longueur(P,O);
+ PairTOPoint(Pt(O) + (Pt(P) - Pt(O)) * s * s)
+ elseif(gddT[P]="cercle"):
+ Cc = Centre(P);
+ rr = Rayon(P);
+ if(Longueur(O,Cc)=rr): % si le cercle objet passe par le centre du cercle
+ % % d’inversion
+ % point du cercle sur rayon passant par les deux centre
+ M = PairTOPoint(Pt(Cc)+Pt(Cc)-Pt(O));
+ % inversion de ce point
+ iM = Inversion(M,C);
+ R = Droite(O,iM);
+ DroitePerpendiculaire(R,iM)
+ else:
+ Pp = PairTOPoint(Pt(Cc)+rr*right);
+ Co = Inversion(Cc,C);
+ Po = Inversion(Pp,C);
+ CercleCP(Co,Po)
+ fi
+ elseif(gddT[P]="droite"):
+ R = DroitePerpendiculaire(P,O);
+ iM = IntersectionDroites(R,P);
+ M = Inversion(iM,C);
+ Cc = Milieu(O,M);
+ CercleCP(Cc,O)
+ fi
+enddef;
+
+
+% Axe radical entre deux cercles -----------------------------------------------
+% drawing with metapost Thurston
+vardef AxeRadical (expr CA, CB) =
+ save O,ra,rb,d,t,C_CA,C_CB,_p,_q;
+ pair _p,_q;
+ ra = Rayon(CA);
+ rb = Rayon(CB);
+ C_CA = Centre(CA);
+ C_CB = Centre(CB);
+ d = abs(Pt(C_CA) - Pt(C_CB));
+ 2t = 1 + (ra+rb) / d * (ra-rb) / d;
+ _p := up scaled 2*gddU
+ rotated angle (Pt(C_CB) - Pt(C_CA))
+ shifted t[Pt(C_CA), Pt(C_CB)];
+ _q := down scaled 2*gddU
+ rotated angle (Pt(C_CB) - Pt(C_CA))
+ shifted t[Pt(C_CA), Pt(C_CB)];
+ Droite(_p,_q)
+enddef;
+
+% Centre radical de trois cercles ---------------------------------------------
+% drawing with metapost Thurston
+vardef CentreRadical (expr CA, CB, CC) =
+ save DAB,DAC;
+ DAB = AxeRadical(CA,CB);
+ DAC = AxeRadical(CA,CC);
+ IntersectionDroites(DAB,DAC)
+enddef;
+
+vardef Centre(expr c) =
+ % pour cercle, ellipse et polygone
+ if((gddT[c] = "ellipse") or (gddT[c] = "cercle") or (gddT[c] = "polygone") or (gddT[c] = "hyperbole")):
+ gddA[c]
+ fi
+enddef;
+
+% Chemin -----------------------------------------------------------------------
+vardef Chemin (expr p) =
+ gddT[incr gddO] = "chemin"; gddP[gddO] = p; gddO
+enddef;
+
+vardef LigneBrisee(text t)=
+ save n, _p,a,i;
+ path _p;
+ i:=0;
+ for a=t:
+ if(i=0):
+ _p:=PairImp(a);
+ else:
+ _p:=_p--PairImp(a);
+ fi
+ i:=i+1;
+ endfor;
+ Chemin(_p)
+enddef;
+
+% Courbe -----------------------------------------------------------------------
+vardef CourbeDat (expr s, c) =
+ % c = 1 ou 0, selon que la courbe doit être fermée ou pas !
+ gddT[incr gddO] = "courbe"; gddS[gddO] = s; gddA[gddO] = c; gddO
+enddef;
+
+% Homothétie ------------------------------------------------------------------
+vardef HomothetiePoint (expr p,o,k) =
+ % p : point
+ % o : centre homothetie
+ % k : facteur
+ save OP,OM;
+ pair OP,OM;
+ OP = PairImp(p)-PairImp(o);
+ OM = k*OP;
+ PairTOPoint(PairImp(o)+OM)
+enddef;
+
+
+vardef Homothetie (expr p,o,k) =
+ % p : objet
+ % o : centre homothetie
+ % k : facteur
+ save A,B,C,R,_p,X,n;
+ numeric X[];
+ pair _p;
+ if((gddT[p]="point")):
+ HomothetiePoint(p,o,k)
+ elseif((gddT[p]="vecteur")):
+ A = HomothetiePoint(p,o,k);
+ Vecteur(gddA[A],gddB[A])
+ elseif((gddT[p]="segment")):
+ A = HomothetiePoint(gddA[p],o,k);
+ B = HomothetiePoint(gddB[p],o,k);
+ Segment(A,B)
+ elseif((gddT[p]="droite")):
+ A = HomothetiePoint(gddA[p],o,k);
+ B = HomothetiePoint(gddB[p],o,k);
+ Droite(A,B)
+ elseif(gddT[p]="triangle"):
+ A = HomothetiePoint(gddA[p],o,k);
+ B = HomothetiePoint(gddB[p],o,k);
+ C = HomothetiePoint(gddC[p],o,k);
+ Triangle(A,B,C)
+ elseif(gddT[p]="cercle"):
+ A = HomothetiePoint(gddA[p],o,k);
+ R = k*Rayon(p);
+ Cercle(A,R)
+ elseif(gddT[p]="ellipse"):
+ % homothetie des foyers
+ A = HomothetiePoint(gddD[p],o,k);
+ B = HomothetiePoint(gddE[p],o,k);
+ % echelle du demi grand axe
+ R = k*gddX[p][1];
+ EllipseF(A,B,R)
+ elseif(gddT[p]="parabole"):
+ A = HomothetiePoint(Foyer(p,1),o,k);
+ B = Directrice(p,1);
+ C = Homothetie(B,o,k);
+ ParaboleFD(A,C)
+ elseif(gddT[p]="hyperbole"):
+ A = HomothetiePoint(Foyer(p,1),o,k);
+ B = Directrice(p,1);
+ C = Homothetie(B,o,k);
+ HyperboleFD(A,C)
+ elseif(gddT[p]="polygone"):
+ % reprise du constructeur
+ n = incr gddO; gddT[n] = "polygone";
+ for i=1 upto gddA[p]:
+ gddX[n][i] := HomothetiePoint(gddX[p][i],o,k);
+ endfor
+ gddA[n] := gddA[p]; % nombre de côté
+ gddB[n] := HomothetiePoint(gddB[p],o,k); % centre
+ n
+ elseif(gddT[p]="chemin"):
+ _p := PairImp(o);
+ Chemin(((gddP[p] shifted (-_p)) scaled k) shifted _p)
+ fi
+enddef;
+
+% Symétrie ------------------------------------------------------------------
+vardef SymetrieAxialePoint (expr p,d) =
+ % p : point
+ % d : axe de symétrie
+ save O,l,D;
+ O = ProjectionPointSurDroite(p,d);
+ l = Longueur(p,O);
+ D = Droite(p,O);
+ ReportSurDroite(p,D,2*l)
+enddef;
+
+
+vardef SymetrieAxiale (expr p,d) =
+ % p : objet
+ % d : axe de symétrie
+ save A,B,C,R,_p,X,n;
+ numeric X[];
+ pair _p;
+ if((gddT[p]="point")):
+ SymetrieAxialePoint(p,d)
+ elseif((gddT[p]="vecteur")):
+ A = SymetrieAxialePoint(p,d);
+ Vecteur(gddA[A],gddB[A])
+ elseif((gddT[p]="segment")):
+ A = SymetrieAxialePoint(gddA[p],d);
+ B = SymetrieAxialePoint(gddB[p],d);
+ Segment(A,B)
+ elseif((gddT[p]="droite")):
+ A = SymetrieAxialePoint(gddA[p],d);
+ B = SymetrieAxialePoint(gddB[p],d);
+ Droite(A,B)
+ elseif(gddT[p]="triangle"):
+ A = SymetrieAxialePoint(gddA[p],d);
+ B = SymetrieAxialePoint(gddB[p],d);
+ C = SymetrieAxialePoint(gddC[p],d);
+ Triangle(A,B,C)
+ elseif(gddT[p]="cercle"):
+ A = SymetrieAxialePoint(gddA[p],d);
+ R = Rayon(p);
+ Cercle(A,R)
+ elseif(gddT[p]="ellipse"):
+ % homothetie des foyers
+ A = SymetrieAxialePoint(gddD[p],d);
+ B = SymetrieAxialePoint(gddE[p],d);
+ % echelle du demi grand axe
+ R = gddX[p][1];
+ EllipseF(A,B,R)
+ elseif(gddT[p]="parabole"):
+ A = SymetrieAxialePoint(Foyer(p,1),d);
+ B = Directrice(p,1);
+ C = SymetrieAxiale(B,d);
+ ParaboleFD(A,C)
+ elseif(gddT[p]="hyperbole"):
+ A = SymetrieAxialePoint(Foyer(p,1),d);
+ B = Directrice(p,1);
+ C = SymetrieAxiale(B,d);
+ HyperboleFD(A,C)
+ elseif(gddT[p]="polygone"):
+ % reprise du constructeur
+ n = incr gddO; gddT[n] = "polygone";
+ for i=1 upto gddA[p]:
+ gddX[n][i] := SymetrieAxialePoint(gddX[p][i],d);
+ endfor
+ gddA[n] := gddA[p]; % nombre de côté
+ gddB[n] := SymetrieAxialePoint(gddB[p],d); % centre
+ n
+ fi
+enddef;
+
+% Symétrie ------------------------------------------------------------------
+vardef SymetrieCentralePoint (expr p,d) =
+ % p : point
+ % d : point centre de symétrie
+ save O,l,D;
+ RotationCentre(p,d,Pi)
+enddef;
+
+
+vardef SymetrieCentrale (expr p,d) =
+ % p : objet
+ % d : point centre de symétrie
+ save A,B,C,R,X,n;
+ numeric X[];
+ if((gddT[p]="point")):
+ SymetrieCentralePoint(p,d)
+ elseif((gddT[p]="vecteur")):
+ A = SymetrieCentralePoint(p,d);
+ Vecteur(gddA[A],gddB[A])
+ elseif((gddT[p]="segment")):
+ A = SymetrieCentralePoint(gddA[p],d);
+ B = SymetrieCentralePoint(gddB[p],d);
+ Segment(A,B)
+ elseif((gddT[p]="droite")):
+ A = SymetrieCentralePoint(gddA[p],d);
+ B = SymetrieCentralePoint(gddB[p],d);
+ Droite(A,B)
+ elseif(gddT[p]="triangle"):
+ A = SymetrieCentralePoint(gddA[p],d);
+ B = SymetrieCentralePoint(gddB[p],d);
+ C = SymetrieCentralePoint(gddC[p],d);
+ Triangle(A,B,C)
+ elseif(gddT[p]="cercle"):
+ A = SymetrieCentralePoint(gddA[p],d);
+ R = Rayon(p);
+ Cercle(A,R)
+ elseif(gddT[p]="ellipse"):
+ % homothetie des foyers
+ A = SymetrieCentralePoint(gddD[p],d);
+ B = SymetrieCentralePoint(gddE[p],d);
+ % echelle du demi grand axe
+ R = gddX[p][1];
+ EllipseF(A,B,R)
+ elseif(gddT[p]="parabole"):
+ A = SymetrieCentralePoint(Foyer(p,1),d);
+ B = Directrice(p,1);
+ C = SymetrieCentrale(B,d);
+ ParaboleFD(A,C)
+ elseif(gddT[p]="hyperbole"):
+ A = SymetrieCentralePoint(Foyer(p,1),d);
+ B = Directrice(p,1);
+ C = SymetrieCentrale(B,d);
+ HyperboleFD(A,C)
+ elseif(gddT[p]="polygone"):
+ % reprise du constructeur
+ n = incr gddO; gddT[n] = "polygone";
+ for i=1 upto gddA[p]:
+ gddX[n][i] := SymetrieCentralePoint(gddX[p][i],d);
+ endfor
+ gddA[n] := gddA[p]; % nombre de côté
+ gddB[n] := SymetrieCentralePoint(gddB[p],d); % centre
+ n
+ fi
+enddef;
+
+vardef PointDe(expr o,t)=
+ % t: paramètre le long de l’objet entre 0 et 1
+ % o: objet mpgdd
+ save _l,_t,_p;
+ path _p;
+ if((gddT[o]="point")):
+ o
+ else:
+ _p := gddTraceObjet(o);
+ _l := length(_p);
+ PointImp(point (t*_l) of _p)
+ fi
+enddef;
+
+%%% ----------------------------------------------------------------------------
+%%% Définitions liées au repère
+%%% ----------------------------------------------------------------------------
+
+% Définition de l'origine ------------------------------------------------------
+origine = Point(0,0);
+
+% Définition des axes ----------------------------------------------------------
+AxeOx = Droite(origin,right);
+AxeOy = Droite(origin,up);
+
+%%% ----------------------------------------------------------------------------
+%%% Calculs MetaPost
+%%% ----------------------------------------------------------------------------
+
+vardef mpIntersectionDroites (expr a,b,c,d) =
+ save t; pair t; t = whatever [a,b]; t = whatever [c,d]; t
+enddef;
+
+%%% --------------------------------------------------------------------------
+%%% Tracés des courbes
+%%% --------------------------------------------------------------------------
+vardef gddTraceCourbe (expr f, c) =
+ save s; gdata(f, s, if i>1:..fi (scantokens s1,scantokens s2)) if c>0:..cycle fi
+enddef;
+
+%%% ----------------------------------------------------------------------------
+%%% Tracés des objets
+%%% ----------------------------------------------------------------------------
+
+gddExtensionDroite := 10;
+
+
+def gddTracePolygone expr o=
+%show "test";
+ for i=1 upto gddB[o]:
+ PointTOPair(gddX[o][i])--
+ endfor
+ cycle
+enddef;
+
+def gddTraceEllipse expr o=
+ (fullcircle xscaled (2*gddX[o][1]) yscaled (2*gddX[o][2])) rotated gddX[o][4] shifted PairImp(gddA[o])
+enddef;
+
+def gddTraceObjet expr o =
+ if gddT[o] = "triangle":
+ PointTOPair(gddA[o])--PointTOPair(gddB[o])--
+ PointTOPair(gddC[o])--cycle
+ elseif (gddT[o] = "segment") :
+ PointTOPair(gddA[o])--PointTOPair(gddB[o])
+ elseif (gddT[o] = "vecteur"):
+ (0,0)--(gddA[o],gddB[o])
+ elseif gddT[o] = "droite":
+ (gddExtensionDroite [ PointTOPair(gddA[o]), PointTOPair(gddB[o]) ]) --
+ (gddExtensionDroite [ PointTOPair(gddB[o]), PointTOPair(gddA[o]) ])
+ elseif gddT[o] = "cercle":
+ fullcircle scaled (gddB[o]*2) shifted PointTOPair(gddA[o])
+ elseif gddT[o] = "ellipse":
+ gddTraceEllipse (o)
+ elseif ((gddT[o] = "chemin") or (gddT[o] = "parabole")):
+ gddP[o]
+ elseif gddT[o] = "courbe":
+ %message "This is a debug message.";
+ gddTraceCourbe (gddS[o] & ".dat", gddA[o])
+ elseif gddT[o] = "polygone":
+ gddTracePolygone (o)
+ fi
+enddef;
+
+def trace expr p =
+ if path p or picture p or pair p: draw (p)
+ elseif gddT[p] = "vecteur": drawarrow (gddTraceObjet p)
+ else: draw (gddTraceObjet p)
+ fi
+ gddEnPlace
+enddef;
+
+def fleche expr p =
+ if path p or picture p: drawarrow (p)
+ else: drawarrow (gddTraceObjet p)
+ fi gddEnPlace
+enddef;
+
+def colorie expr p =
+ if path p: fill p else: fill (gddTraceObjet p) fi gddEnPlace
+enddef;
+
+def fermeture expr p =
+ if path p: p else: (gddTraceObjet p) fi -- cycle
+enddef;
+
+def avecCrayon(expr t,c) = withpen pencircle scaled t withcolor c enddef;
+
+%%% --------------------------------------------------------------------------
+%%% Marque et label des points
+%%% --------------------------------------------------------------------------
+gddTaillePoint := 3; % Diamètre des cercles marquant un point.
+color gddCouleurPoint; % Couleur de fond de la marque d'un point.
+gddCouleurPoint := white;
+gddTailleLabel := 1; % Taille d'un label.
+
+
+def gddPointe(expr p) =
+ fill (fullcircle scaled gddTaillePoint) shifted (p gddEnPlace)
+ withcolor gddCouleurPoint;
+ draw (fullcircle scaled gddTaillePoint) shifted (p gddEnPlace)
+enddef;
+
+def pointe expr p =
+ gddPointe(if pair p: p else: PointTOPair(p) fi)
+enddef;
+
+
+
+%%% --------------------------------------------------------------------------
+%%% Signes
+%%% --------------------------------------------------------------------------
+def SigneOrtho(expr a,b,c,x) =
+ (Pt(b) + x * unitvector(Pt(a)-Pt(b)))
+ -- (Pt(b) + x * unitvector(Pt(a) - Pt(b))
+ + x * unitvector(Pt(c) - Pt(b)))
+ -- (Pt(b) + x * unitvector(Pt(c) - Pt(b)))
+enddef;
+
+picture gdd_marque[];
+gdd_marque1 = image(draw (-7,-7)--(7,7));
+gdd_marque2 = image(draw (-7,-7)--(7,7); draw (-7,7)--(7,-7));
+gdd_marque3 = image(draw (-9,-7)--(5,7); draw (-5,-7)--(9,7);
+ draw (-7,7)--(7,-7));
+gdd_marque4 = image(draw (-9,-7)--(5,7); draw (-5,-7)--(9,7);
+ draw (-9,7)--(5,-7); draw (-5,7)--(9,-7));
+
+def Marque(expr a,b,n) =
+ gdd_marque[n] rotated angle(PairImp(b)-PairImp(a)) scaled (0.5/gddU)
+ shifted 0.5[PairImp(a),PairImp(b)]
+enddef;
+
+vardef MarqueTrait(expr s,n) =
+ save chemin;
+ path chemin;
+ if path s:
+ chemin:=s;
+ elseif(numeric s):
+ chemin:= gddTraceObjet(s)
+ fi;
+ gdd_marque[n] scaled (0.5/gddU)
+ shifted _milieuChemin(chemin,0.5)
+enddef;
+
+%%% --------------------------------------------------------------------------
+%%% Fenêtrage
+%%% --------------------------------------------------------------------------
+
+def Fenetre(expr xg,yg,xd,yd) =
+ gddXG := xg;
+ gddYB := yg;
+ gddXD := xd;
+ gddYH := yd;
+ extra_endfig := "gddFenetre;" & extra_endfig;
+enddef;
+
+def gddFenetre =
+ clip currentpicture to
+ ((gddXG,gddYB)--(gddXG,gddYH)--(gddXD,gddYH)--(gddXD,gddYB)--cycle)
+ gddEnPlace;
+ draw ((gddXG,gddYB)--(gddXG,gddYH)--(gddXD,gddYH)--(gddXD,gddYB)--cycle)
+ gddEnPlace withpen pencircle scaled 1 withcolor background;
+enddef;
+
+endinput
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-plt.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-plt.mp
new file mode 100644
index 0000000000..6ab6ff7a35
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-plt.mp
@@ -0,0 +1,97 @@
+%
+% Courbe param�tr�e
+% ------------------------------------------------------------------------------
+vardef Courbe(suffix fx)(suffix fy)(expr ti,tf,n) =
+ save fpas; fpas := (tf-ti)/n;
+ (fx(ti),fy(ti)) for i=1 upto n: ..(fx(ti+i*fpas),fy(ti+i*fpas)) endfor
+enddef;
+
+%
+% Repr�sentation de fonction
+% ------------------------------------------------------------------------------
+vardef Representation(suffix f)(expr ti,tf,n) =
+ save fpas;
+ fpas := (tf-ti)/n;
+ (ti,f(ti)) for i=1 upto n: ..(ti+i*fpas,f(ti+i*fpas)) endfor
+enddef;
+
+%
+% Courbe en polaire
+% ------------------------------------------------------------------------------
+vardef CourbeEnPolaires(suffix r)(expr ti,tf,n) =
+ save fpas,t;
+ fpas := (tf-ti)/n;
+ r(ti)*(cos(ti),sin(ti))
+ for i=1 upto n: hide(t:=ti+i*fpas) .. r(t)*(cos(t),sin(t)) endfor
+enddef;
+
+%
+% Champs de vecteurs
+% ------------------------------------------------------------------------------
+vardef ChampVecteurs(suffix f)(expr x,y,px,py,dx,couleur) =
+ for i = 0 upto (x - repXmin)/px:
+ for j = 0 upto (y - repYmin)/py:
+ drawarrow
+ (((0,0)--dx*unitvector((1,f(x-i*px,y-j*py))))
+ shifted (x-i*px,y-j*py)) gddEnPlace
+ withcolor couleur;
+ endfor
+ for j = 0 upto (repYmax - y)/py:
+ drawarrow
+ (((0,0)--dx*unitvector((1,f(x-i*px,y+j*py))))
+ shifted (x-i*px,y+j*py)) gddEnPlace
+ withcolor couleur;
+ endfor
+ endfor
+ for i = 0 upto (repXmax - x)/px:
+ for j = 0 upto (y - repYmin)/py:
+ drawarrow
+ (((0,0)--dx*unitvector((1,f(x+i*px,y-j*py))))
+ shifted (x+i*px,y-j*px)) gddEnPlace
+ withcolor couleur;
+ endfor
+ for j = 0 upto (repYmax - y)/py:
+ drawarrow
+ (((0,0)--dx*unitvector((1,f(x+i*px,y+j*py))))
+ shifted (x+i*px,y+j*py)) gddEnPlace
+ withcolor couleur;
+ endfor
+ endfor
+enddef;
+
+
+%
+% Champs de vecteurs f R^2 -> R^2
+% ------------------------------------------------------------------------------
+vardef ChampVecteursDD(suffix f)(expr x,y,px,py,dx,couleur) =
+ for i = 0 upto (x - repXmin)/px:
+ for j = 0 upto (y - repYmin)/py:
+ drawarrow
+ (((0,0)--dx*unitvector(f(x-i*px,y-j*py)))
+ shifted (x-i*px,y-j*py)) gddEnPlace
+ withcolor couleur;
+ endfor
+ for j = 0 upto (repYmax - y)/py:
+ drawarrow
+ (((0,0)--dx*unitvector(f(x-i*px,y+j*py)))
+ shifted (x-i*px,y+j*py)) gddEnPlace
+ withcolor couleur;
+ endfor
+ endfor
+ for i = 0 upto (repXmax - x)/px:
+ for j = 0 upto (y - repYmin)/py:
+ drawarrow
+ (((0,0)--dx*unitvector(f(x+i*px,y-j*py)))
+ shifted (x+i*px,y-j*px)) gddEnPlace
+ withcolor couleur;
+ endfor
+ for j = 0 upto (repYmax - y)/py:
+ drawarrow
+ (((0,0)--dx*unitvector(f(x+i*px,y+j*py)))
+ shifted (x+i*px,y+j*py)) gddEnPlace
+ withcolor couleur;
+ endfor
+ endfor
+enddef;
+
+endinput;
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-rep.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-rep.mp
new file mode 100644
index 0000000000..299f3086a1
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-rep.mp
@@ -0,0 +1,136 @@
+picture repSavePict;
+string repSaveW;
+
+% x and y labels
+string gddXlabel;
+gddXlabel := "$x$";
+string gddYlabel;
+gddYlabel := "$y$";
+
+def Repere(expr l,h,ox,oy,ux,uy) =
+ repLargeur := l; repHauteur := h;
+ repOX := ox ; repOY := oy;
+ repXmin := - ox / ux; repXmax := repXmin + l / ux;
+ repYmin := - oy / uy; repYmax := repYmin + h / uy;
+ repUX := ux; repUY := uy;
+ repSaveW := gddW;
+ gddW := "xscaled repUX yscaled repUY shifted (repOX,repOY) scaled gddU";
+enddef;
+
+def RepereMinMax(expr xmin,xmax,ymin,ymax,ux,uy) =
+ repLargeur := (xmax-xmin)*ux; repHauteur := (ymax-ymin)*uy;
+ repOX := -xmin*ux ; repOY := -ymin*uy;
+ repXmin := xmin; repXmax := xmax;
+ repYmin := ymin; repYmax := ymax;
+ repUX := ux; repUY := uy;
+ repSaveW := gddW;
+ gddW := "xscaled repUX yscaled repUY shifted (repOX,repOY) scaled gddU";
+enddef;
+
+def Debut =
+ repSavePict := currentpicture; currentpicture := nullpicture;
+enddef;
+
+def repClip =
+ clip currentpicture to (%
+ ((0,0)--(repLargeur,0)--(repLargeur,repHauteur)--(0,repHauteur)--cycle)
+ scaled gddU);
+enddef;
+
+def repStroke (expr c) =
+ draw ((0,0)--(repLargeur,0)--(repLargeur,repHauteur)--(0,repHauteur)--cycle)
+ scaled gddU withcolor c;
+enddef;
+
+def Fin =
+ repClip;
+ addto repSavePict also currentpicture; currentpicture := repSavePict;
+ gddW := repSaveW;
+enddef;
+
+def Axes =
+ drawarrow ((repXmin,0)--(repXmax,0)) gddEnPlace;
+ drawarrow ((0,repYmin)--(0,repYmax)) gddEnPlace;
+ label.lrt(textext(gddXlabel),(repXmax,0) gddEnPlace);
+ label.ulft(textext(gddYlabel),(0,repYmax) gddEnPlace);
+enddef;
+
+def AxesBords =
+ drawarrow ((repXmin,repYmin)--(repXmax,repYmin)) gddEnPlace;
+ drawarrow ((repXmin,repYmin)--(repXmin,repYmax)) gddEnPlace;
+ label.lrt(textext(gddXlabel),(repXmax,repYmin) gddEnPlace);
+ label.ulft(textext(gddYlabel),(repXmin,repYmax) gddEnPlace);
+enddef;
+
+
+vardef Graduations =
+ save xmin, xmax, ymin, ymax;
+ xmin = round(repXmin); xmax = round(repXmax) ;
+ ymin = round(repYmin); ymax = round(repYmax) ;
+ SequenceTirets((xmin,0),(1,0),(0,-4),xmax-xmin);
+ SequenceTirets((xmin+0.5,0),(1,0),(0,-2),xmax-xmin);
+ SequenceTirets((0,ymin),(0,1),(-4,0),ymax-ymin+1);
+ SequenceTirets((0,ymin+0.5),(0,1),(-2,0),ymax-ymin);
+enddef;
+
+
+vardef GraduationsBords =
+ save xmin, xmax, ymin, ymax;
+ xmin = round(repXmin); xmax = round(repXmax) ;
+ ymin = round(repYmin); ymax = round(repYmax) ;
+ SequenceTirets((xmin,repYmin),(1,0),(0,+4),xmax-xmin);
+ SequenceTirets((xmin+0.5,repYmin),(1,0),(0,+2),xmax-xmin);
+ SequenceTirets((repXmin,ymin),(0,1),(+4,0),ymax-ymin);
+ SequenceTirets((repXmin,ymin+0.5),(0,1),(+2,0),ymax-ymin);
+enddef;
+
+def ClipRepere =
+ extra_endfig := extra_endfig & "repClip;";
+enddef;
+
+%
+% SequenceTirets
+% ------------------------------------------------------------------------------
+vardef SequenceTirets(expr o,p,t,n) text a=
+ save ot; pair ot; ot := o gddEnPlace;
+ for i:=1 upto n:
+ % tiret
+ draw ot -- (ot shifted t) a;
+ % avancement
+ ot := (o + i*p) gddEnPlace;
+ endfor
+enddef;
+
+vardef Unites(expr t) =
+ label.bot(textext("$+"&decimal(t)&"$"),(t,-(3/gddU/repUY)) gddEnPlace);
+ label.lft(textext("$+"&decimal(t)&"$"),(-(3/gddU/repUX),t) gddEnPlace);
+enddef;
+
+%vardef ValeursGraduations =
+% label.bot(textext("$+"&decimal(t)&"$"),(t,-(3/gddU/repUY)) gddEnPlace);
+% label.lft(textext("$+"&decimal(t)&"$"),(-(3/gddU/repUX),t) gddEnPlace);
+%enddef;
+%%% ----------------------------------------------------------------------------
+%%% Grille
+%%% ----------------------------------------------------------------------------
+
+def GrilleRepere =
+ save xmin, xmax, ymin, ymax;
+ xmin = floor(repXmin); xmax = floor(repXmax) ;
+ ymin = floor(repYmin); ymax = floor(repYmax) ;
+ for i:=xmin upto xmax:
+ draw ((i,ymin)--(i,ymax)) gddEnPlace;
+ endfor;
+ for i:=ymin upto ymax:
+ draw ((xmin,i)--(xmax,i)) gddEnPlace;
+ endfor;
+enddef;
+
+%%% ----------------------------------------------------------------------------
+%%% CadreRepere
+%%% ----------------------------------------------------------------------------
+def CadreRepere =
+ (repXmin,repYmin)--(repXmin,repYmax)--(repXmax,repYmax)--(repXmax,repYmin)--cycle
+enddef;
+
+endinput
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-svgnames.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-svgnames.mp
new file mode 100644
index 0000000000..3a871678df
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-svgnames.mp
@@ -0,0 +1,152 @@
+color AliceBlue; AliceBlue = (.94,.972,1);
+color AntiqueWhite; AntiqueWhite = (.98,.92,.844);
+color Aqua; Aqua = (0,1,1);
+color Aquamarine; Aquamarine = (.498,1,.83);
+color Azure; Azure = (.94,1,1);
+color Beige; Beige = (.96,.96,.864);
+color Bisque; Bisque = (1,.894,.77);
+color Black; Black = (0,0,0);
+color BlanchedAlmond; BlanchedAlmond = (1,.92,.804);
+color Blue; Blue = (0,0,1);
+color BlueViolet; BlueViolet = (.54,.17,.888);
+color Brown; Brown = (.648,.165,.165);
+color BurlyWood; BurlyWood = (.87,.72,.53);
+color CadetBlue; CadetBlue = (.372,.62,.628);
+color Chartreuse; Chartreuse = (.498,1,0);
+color Chocolate; Chocolate = (.824,.41,.116);
+color Coral; Coral = (1,.498,.312);
+color CornflowerBlue; CornflowerBlue = (.392,.585,.93);
+color Cornsilk; Cornsilk = (1,.972,.864);
+color Crimson; Crimson = (.864,.08,.235);
+color Cyan; Cyan = (0,1,1);
+color DarkBlue; DarkBlue = (0,0,.545);
+color DarkCyan; DarkCyan = (0,.545,.545);
+color DarkGoldenrod; DarkGoldenrod = (.72,.525,.044);
+color DarkGray; DarkGray = (.664,.664,.664);
+color DarkGreen; DarkGreen = (0,.392,0);
+color DarkGrey; DarkGrey = (.664,.664,.664);
+color DarkKhaki; DarkKhaki = (.74,.716,.42);
+color DarkMagenta; DarkMagenta = (.545,0,.545);
+color DarkOliveGreen; DarkOliveGreen = (.332,.42,.185);
+color DarkOrange; DarkOrange = (1,.55,0);
+color DarkOrchid; DarkOrchid = (.6,.196,.8);
+color DarkRed; DarkRed = (.545,0,0);
+color DarkSalmon; DarkSalmon = (.912,.59,.48);
+color DarkSeaGreen; DarkSeaGreen = (.56,.736,.56);
+color DarkSlateBlue; DarkSlateBlue = (.284,.24,.545);
+color DarkSlateGray; DarkSlateGray = (.185,.31,.31);
+color DarkSlateGrey; DarkSlateGrey = (.185,.31,.31);
+color DarkTurquoise; DarkTurquoise = (0,.808,.82);
+color DarkViolet; DarkViolet = (.58,0,.828);
+color DeepPink; DeepPink = (1,.08,.576);
+color DeepSkyBlue; DeepSkyBlue = (0,.75,1);
+color DimGray; DimGray = (.41,.41,.41);
+color DimGrey; DimGrey = (.41,.41,.41);
+color DodgerBlue; DodgerBlue = (.116,.565,1);
+color FireBrick; FireBrick = (.698,.132,.132);
+color FloralWhite; FloralWhite = (1,.98,.94);
+color ForestGreen; ForestGreen = (.132,.545,.132);
+color Fuchsia; Fuchsia = (1,0,1);
+color Gainsboro; Gainsboro = (.864,.864,.864);
+color GhostWhite; GhostWhite = (.972,.972,1);
+color Gold; Gold = (1,.844,0);
+color Goldenrod; Goldenrod = (.855,.648,.125);
+color Gray; Gray = (.5,.5,.5);
+color Green; Green = (0,.5,0);
+color GreenYellow; GreenYellow = (.68,1,.185);
+color Grey; Grey = (.5,.5,.5);
+color Honeydew; Honeydew = (.94,1,.94);
+color HotPink; HotPink = (1,.41,.705);
+color IndianRed; IndianRed = (.804,.36,.36);
+color Indigo; Indigo = (.294,0,.51);
+color Ivory; Ivory = (1,1,.94);
+color Khaki; Khaki = (.94,.9,.55);
+color Lavender; Lavender = (.9,.9,.98);
+color LavenderBlush; LavenderBlush = (1,.94,.96);
+color LawnGreen; LawnGreen = (.488,.99,0);
+color LemonChiffon; LemonChiffon = (1,.98,.804);
+color LightBlue; LightBlue = (.68,.848,.9);
+color LightCoral; LightCoral = (.94,.5,.5);
+color LightCyan; LightCyan = (.88,1,1);
+color LightGoldenrod; LightGoldenrod = (.933,.867,.51);
+color LightGoldenrodYellow; LightGoldenrodYellow = (.98,.98,.824);
+color LightGray; LightGray = (.828,.828,.828);
+color LightGreen; LightGreen = (.565,.932,.565);
+color LightGrey; LightGrey = (.828,.828,.828);
+color LightPink; LightPink = (1,.712,.756);
+color LightSalmon; LightSalmon = (1,.628,.48);
+color LightSeaGreen; LightSeaGreen = (.125,.698,.668);
+color LightSkyBlue; LightSkyBlue = (.53,.808,.98);
+color LightSlateBlue; LightSlateBlue = (.518,.44,1);
+color LightSlateGray; LightSlateGray = (.468,.532,.6);
+color LightSlateGrey; LightSlateGrey = (.468,.532,.6);
+color LightSteelBlue; LightSteelBlue = (.69,.77,.87);
+color LightYellow; LightYellow = (1,1,.88);
+color Lime; Lime = (0,1,0);
+color LimeGreen; LimeGreen = (.196,.804,.196);
+color Linen; Linen = (.98,.94,.9);
+color Magenta; Magenta = (1,0,1);
+color Maroon; Maroon = (.5,0,0);
+color MediumAquamarine; MediumAquamarine = (.4,.804,.668);
+color MediumBlue; MediumBlue = (0,0,.804);
+color MediumOrchid; MediumOrchid = (.73,.332,.828);
+color MediumPurple; MediumPurple = (.576,.44,.86);
+color MediumSeaGreen; MediumSeaGreen = (.235,.7,.444);
+color MediumSlateBlue; MediumSlateBlue = (.484,.408,.932);
+color MediumSpringGreen; MediumSpringGreen = (0,.98,.604);
+color MediumTurquoise; MediumTurquoise = (.284,.82,.8);
+color MediumVioletRed; MediumVioletRed = (.78,.084,.52);
+color MidnightBlue; MidnightBlue = (.098,.098,.44);
+color MintCream; MintCream = (.96,1,.98);
+color MistyRose; MistyRose = (1,.894,.884);
+color Moccasin; Moccasin = (1,.894,.71);
+color NavajoWhite; NavajoWhite = (1,.87,.68);
+color Navy; Navy = (0,0,.5);
+color NavyBlue; NavyBlue = (0,0,.5);
+color OldLace; OldLace = (.992,.96,.9);
+color Olive; Olive = (.5,.5,0);
+color OliveDrab; OliveDrab = (.42,.556,.136);
+color Orange; Orange = (1,.648,0);
+color OrangeRed; OrangeRed = (1,.27,0);
+color Orchid; Orchid = (.855,.44,.84);
+color PaleGoldenrod; PaleGoldenrod = (.932,.91,.668);
+color PaleGreen; PaleGreen = (.596,.985,.596);
+color PaleTurquoise; PaleTurquoise = (.688,.932,.932);
+color PaleVioletRed; PaleVioletRed = (.86,.44,.576);
+color PapayaWhip; PapayaWhip = (1,.936,.835);
+color PeachPuff; PeachPuff = (1,.855,.725);
+color Peru; Peru = (.804,.52,.248);
+color Pink; Pink = (1,.752,.796);
+color Plum; Plum = (.868,.628,.868);
+color PowderBlue; PowderBlue = (.69,.88,.9);
+color Purple; Purple = (.5,0,.5);
+color Red; Red = (1,0,0);
+color RosyBrown; RosyBrown = (.736,.56,.56);
+color RoyalBlue; RoyalBlue = (.255,.41,.884);
+color SaddleBrown; SaddleBrown = (.545,.27,.075);
+color Salmon; Salmon = (.98,.5,.448);
+color SandyBrown; SandyBrown = (.956,.644,.376);
+color SeaGreen; SeaGreen = (.18,.545,.34);
+color Seashell; Seashell = (1,.96,.932);
+color Sienna; Sienna = (.628,.32,.176);
+color Silver; Silver = (.752,.752,.752);
+color SkyBlue; SkyBlue = (.53,.808,.92);
+color SlateBlue; SlateBlue = (.415,.352,.804);
+color SlateGray; SlateGray = (.44,.5,.565);
+color SlateGrey; SlateGrey = (.44,.5,.565);
+color Snow; Snow = (1,.98,.98);
+color SpringGreen; SpringGreen = (0,1,.498);
+color SteelBlue; SteelBlue = (.275,.51,.705);
+color Tan; Tan = (.824,.705,.55);
+color Teal; Teal = (0,.5,.5);
+color Thistle; Thistle = (.848,.75,.848);
+color Tomato; Tomato = (1,.39,.28);
+color Turquoise; Turquoise = (.25,.88,.815);
+color Violet; Violet = (.932,.51,.932);
+color VioletRed; VioletRed = (.816,.125,.565);
+color Wheat; Wheat = (.96,.87,.7);
+color White; White = (1,1,1);
+color WhiteSmoke; WhiteSmoke = (.96,.96,.96);
+color Yellow; Yellow = (1,1,0);
+color YellowGreen; YellowGreen = (.604,.804,.196);
+endinput
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-tra.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-tra.mp
new file mode 100644
index 0000000000..894dff145d
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d-tra.mp
@@ -0,0 +1,44 @@
+%% === Pseudo-transparence =====================================================
+%% Code emprunté à Anthony Phan :
+%% http://www-math.univ-poitiers.fr/~phan/metalpha.html
+
+color gdd_tc;
+numeric gdd_ta;
+picture gdd_ap;
+
+def gdd_AlphaFill expr c =
+ gdd_ap := nullpicture;
+ gdd_AlphaPicture(currentpicture,c);
+ addto currentpicture also gdd_ap;
+enddef;
+
+vardef gdd_AlphaPicture(expr p,c) =
+ save p_; picture p_;
+ p_ := nullpicture;
+ addto p_ contour c withcolor gdd_ta[background,gdd_tc];
+ for p__ within p:
+ if (not clipped p__) and (not bounded p__):
+ addto p_ also p__ withcolor
+ gdd_ta[(redpart p__,greenpart p__,bluepart p__), gdd_tc];
+ else:
+ begingroup save gdd_ap;
+ picture gdd_ap; gdd_ap = nullpicture;
+ gdd_AlphaPicture(p__,pathpart p__);
+ addto p_ also gdd_ap;
+ endgroup;
+ fi
+ endfor;
+ clip p_ to c;
+ addto gdd_ap also p_;
+enddef;
+
+vardef colorieAvecTransparence(expr p,c,a) =
+ gdd_tc := c; gdd_ta := a;
+ if path p:
+ gdd_AlphaFill (p gddEnPlace)
+ else:
+ gdd_AlphaFill ((gddTraceObjet p) gddEnPlace)
+ fi
+enddef;
+
+endinput; \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d.mp b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d.mp
new file mode 100644
index 0000000000..5861fd5df1
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mp-geom2d/metapost/geom2d.mp
@@ -0,0 +1,14 @@
+%
+if not known mplib: input latexmp fi;
+
+
+input geom2d-arc;
+input geom2d-c2d;
+input geom2d-fct;
+input geom2d-lbl;
+input geom2d-plt;
+input geom2d-rep;
+input geom2d-tra;
+input geom2d-svgnames;
+input geom2d-main;
+input graph; \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-decofonts/README.md b/graphics/pgf/contrib/tikz-decofonts/README.md
new file mode 100644
index 0000000000..684a360e7c
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-decofonts/README.md
@@ -0,0 +1,8 @@
+This package provides some macros to present simple decoration fonts, made with TikZ.
+Available decorations are brushpaint and inkline, and gridlcd.
+-------------------------------------------------------------------------------------
+Author...: Cédric Pierquet
+email....: cpierquet@outlook.fr
+Licences.: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+ CC BY-SA 4.0 (https://tex.stackexchange.com/questions/475141/simulating-paintbrush-strokes-in-tikz from user121799)
+ CC BY-SA 4.0 (https://tex.stackexchange.com/questions/460836/custom-line-cap-to-simulate-inked-line-in-tikz/460842#460842 from user121799) \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.pdf b/graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.pdf
new file mode 100644
index 0000000000..1a5dfe3db0
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.tex b/graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.tex
new file mode 100644
index 0000000000..aa9da75d2b
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-decofonts/doc/tikz-decofonts-doc.tex
@@ -0,0 +1,344 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass[11pt,a4paper]{ltxdoc}
+\usepackage{bera}
+\usepackage{inconsolata}
+\usepackage[T1]{fontenc}
+\usepackage[scale=0.875]{cabin}
+\usepackage{tikz-decofonts}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\usepackage{tabularray}
+\usepackage{fontawesome5}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [tikz-decofonts]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\let\TikZ\tikzlogo
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=2cm]{geometry}
+\setlength{\parindent}{0pt}
+\def\TPversion{0.1.0}
+\def\TPdate{14/10/2024}
+\usepackage{tcolorbox}
+\tcbuselibrary{breakable,skins,hooks,listingsutf8}
+
+\lstset{
+ language=[LaTeX]TeX,%
+ basicstyle=\ttfamily,%
+ keywordstyle={\color{blue}},%
+ classoffset=0,%
+ keywords={},%
+ alsoletter={-},%
+ keywordstyle={\color{blue}},%
+ classoffset=1,%
+ alsoletter={-},%
+ morekeywords={commalists-tools},%
+ keywordstyle={\color{violet}},%
+ classoffset=2,%
+ alsoletter={-},%
+ morekeywords={\tkzbrush,\tkzink,\tkzpixl,\tkzpixletter,\tkzpixlquote},%
+ keywordstyle={\color{green!50!black}},%
+ classoffset=3,%
+ morekeywords={},%
+ keywordstyle={\color{orange}}
+}
+
+\newtcblisting{DemoCode}[1]{%
+ enhanced,width=\linewidth,%
+ bicolor,size=title,%
+ colback=cyan!10!white,%
+ colbacklower=cyan!5!white,%
+ colframe=cyan!75!black,%
+ listing options={%
+ breaklines=true,%
+ breakatwhitespace=true,%
+ style=tcblatex,basicstyle=\small\ttfamily,%
+ tabsize=4,%
+ commentstyle={\itshape\color{gray}},
+ keywordstyle={\color{blue}},%
+ classoffset=0,%
+ keywords={\usepackage,\includegraphics,xstring,listofitems,\readlist,\showitems,\xintFor,\xintSeq},%
+ alsoletter={-},%
+ keywordstyle={\color{blue}},%
+ classoffset=1,%
+ alsoletter={-},%
+ morekeywords={euromoney},%
+ keywordstyle={\color{violet}},%
+ classoffset=2,%
+ alsoletter={-},%
+ morekeywords={\tkzbrush,\tkzink,\tkzpixl,\tkzpixletter,\tkzpixlquote},%
+ keywordstyle={\color{green!50!black}},%
+ classoffset=3,%
+ morekeywords={color,lines,scale,height,offseth,offsetv,thick,gridcolor,gridafter,nospaceafter,border},%
+ keywordstyle={\color{orange}}
+ },%
+ #1
+}
+
+\newtcbinputlisting\DemoCodeFile[1]{%
+ enhanced,width=\linewidth,%
+ bicolor,size=title,%
+ colback=lightgray!10!white,%
+ colbacklower=lightgray!5!white,%
+ colframe=lightgray!75!black,%
+ listing options={%
+ breaklines=true,%
+ breakatwhitespace=true,%
+ style=tcblatex,
+ basicstyle=\scriptsize\ttfamily,%
+ tabsize=4,%
+ commentstyle={\itshape\color{gray}},%
+ %lastline=148
+ },%
+ breakable,
+ listing only,%
+ listing file={#1}
+}
+
+\NewDocumentCommand\ShowCode{ m }{%
+ \lstinline{#1}%
+}
+
+\begin{document}
+
+\thispagestyle{empty}
+
+\begin{center}
+ \begin{minipage}{0.88\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \renewcommand{\arraystretch}{1.25}%
+ \begin{tabular}{c}
+ {\Huge \texttt{tikz-decofonts}}\\
+ \\
+ {\LARGE Simple "decoration" fonts, made} \\
+ {\LARGE with Ti\textit{k}Z, for small texts\ldots} \\
+ \\
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{tabular}
+ \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/tikz-decofonts}} \\
+ \end{tabular}
+\end{center}
+
+\hrule
+
+\vfill
+
+\begin{tcblisting}{colframe=lightgray,colback=lightgray!5,listing only}
+%paintbrush effect
+\tkzbrush[color=blue]{DECORATION}
+
+%paintink effect
+\tkzink[color=orange]{DECORATION}
+
+%pixeletter effect
+\tkzpixl[color=violet]{DECORATION}
+\end{tcblisting}
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+\tkzbrush[color=blue]{DECORATION}
+\end{tcolorbox}
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+\hfill\tkzink[color=orange]{DECORATION}\hfill~
+\end{tcolorbox}
+
+\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5]
+\hfill\tkzpixl[color=violet]{Decoration}
+\end{tcolorbox}
+
+\vfill~
+
+\hrule
+
+\vspace*{5mm}
+
+\textit{Ideas and parts of codes, with \texttt{CC\,BY-SA\,4.0} licenses, come from :}
+
+\begin{itemize}
+ \item \href{https://tex.stackexchange.com/questions/475141/simulating-paintbrush-strokes-in-tikz}{[link on tex.stackexchange]} from \textsf{user121799} for paintbrush;
+ \item \href{https://tex.stackexchange.com/questions/460836/custom-line-cap-to-simulate-inked-line-in-tikz/460842#460842}{[link on tex.stackexchange]} from \textsf{user121799} for inkbrush.
+\end{itemize}
+
+\pagebreak
+
+\phantomsection
+
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vspace*{5mm}
+
+%\hrule
+
+\pagebreak
+
+\section{Loading, useful packages, purposes and acknowledgments}
+
+\subsection{Loading and useful packages}
+
+In order to load \texttt{tikz-decofonts}, simply use:
+
+\begin{DemoCode}{listing only}
+\usepackage{tikz-decofonts}
+\end{DemoCode}
+
+Loaded packages are \texttt{tikz}, \texttt{xintexpr}, \texttt{simplekv} and \texttt{xstring}.
+
+Loaded \texttt{tikz.librairies} are \texttt{decorations}, \texttt{decorations.pathreplacing}, \texttt{calc}, \texttt{positioning}, \texttt{bbox}, \texttt{arrows.meta} and \texttt{bending}.
+
+\smallskip
+
+Globally, height of rendering is about 1cm, but some customization are available.
+
+\subsection{Purposes and acknowledgments}
+
+The purposes of this small package is not to provide full fonts, with all characters, but give restricted possibility to present \textbf{short} texts of title with \textit{cute} effects.
+
+\smallskip
+
+These decorations are not destined to be use for whole paragraphs or texts, but just for fun for small titles or small texts.
+
+\smallskip
+
+Since many calculations are required internally, compilation time can be increased, so be careful with intensive use!
+
+\smallskip
+
+\textit{Ideas and parts of codes, with \texttt{CC\,BY-SA\,4.0} licenses, come from:}
+
+\begin{itemize}
+ \item \href{https://tex.stackexchange.com/questions/475141/simulating-paintbrush-strokes-in-tikz}{[link on tex.stackexchange]} from \textsf{user121799} for paintbrush;
+ \item \href{https://tex.stackexchange.com/questions/460836/custom-line-cap-to-simulate-inked-line-in-tikz/460842#460842}{[link on tex.stackexchange]} from \textsf{user121799} for inkbrush.
+\end{itemize}
+
+Some adjustments (keys, paths) are maid from original code, but the global usage is due to the links above !
+
+\pagebreak
+
+\section{The different effects}
+
+\subsection{Paint brush}
+
+{\small\faBomb} The effect is \textbf{very} \textit{time-consuming} to compile !!
+
+\begin{DemoCode}{listing only}
+%only uppercase letters allowed
+\tkzbrush[color=...,lines=...,scale=...]<tikzpicture options>{short text}
+
+%color = black by default
+%lines = 12 by default
+%scale = 1 by default
+\end{DemoCode}
+
+\begin{DemoCode}{listing only}
+%default output
+\tkzbrush{TIKZ DECORATION}
+\end{DemoCode}
+
+\begin{DemoCode}{text only}
+%default output
+\tkzbrush{TIKZ DECORATION}
+
+\end{DemoCode}
+
+\begin{DemoCode}{listing only}
+%customization(s) (external file for speeding rendering ^^)
+\tkzbrush[color=red,lines=20,scale=1.5]{CUSTOM TEXT}
+\end{DemoCode}
+
+\begin{DemoCode}{text only}
+%customization(s) (external file for speeding rendering ^^)
+\includegraphics{tkzbrushA.pdf}
+\end{DemoCode}
+
+\pagebreak
+
+\subsection{Ink brush}
+
+\begin{DemoCode}{listing only}
+%only uppercase letters allowed
+\tkzink[color=...,thick=...,scale=...]<tikzpicture options>{short text}
+
+%color = black by default
+%thick = 3 by default
+%scale = 1 by default
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%default output
+\tkzink{TIKZ DECORATION}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%customization(s)
+\tkzink[color=olive,thick=5,scale=2]{TIKZ DECORATION}
+\end{DemoCode}
+
+\pagebreak
+
+\subsection{Pixl brush}
+
+\begin{DemoCode}{listing only}
+%regular letters allowed (upper and/or lower), rendered characters are 5 columns x 7 lines
+\tkzpixl%
+ [height=...,thick=...,color=...,gridcolor=...,border=...,
+ offseth=...,offsetv=...,gridafter=...,nospaceafter=...]
+ <tikzpicture options>{short text}
+
+\tkzpixletter%
+ [height=...,thick=...,color=...,gridcolor=...,border=...,
+ offseth=...,offsetv=...,gridafter=...,nospaceafter=...]
+ <tikzpicture options>{letter}
+
+\tkzpixlquote%if problem with '...
+ [height=...,thick=...,color=...,gridcolor=...,
+ offseth=...,offsetv=...,gridafter=...,nospaceafter=...]
+ <tikzpicture options>
+
+%height = 11mm by default, thick = 0.1mm by default
+%color = black by default, gridcolor = gray by default
+%offseth = 1 by default (squares left/right of regular character)
+%offsetv = 2 by default (squares above/below of regular character)
+%boder = false by default (boolean for adding border)
+%gridafter = false by default (boolean for showing grid after pixls)
+%nospaceafter = false by default (boolean for removeing hspace after pixls)
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%default output, comparaison with character w/o offsets (5*7)
+\tkzpixl{And then, 1+1=2 !?!} and \tkzpixletter[offseth=0,offsetv=0]{*}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%customization(s)
+\tkzpixl[color=violet,height=1.75cm,gridafter,offsetv=3,border]{Small custo'm text}
+\end{DemoCode}
+
+\pagebreak
+
+\section{History}
+
+\texttt{0.1.0: Initial version}
+
+\end{document}
diff --git a/graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.pdf b/graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.pdf
new file mode 100644
index 0000000000..764b4cc3a4
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.tex b/graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.tex
new file mode 100644
index 0000000000..bda9222441
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-decofonts/doc/tkzbrushA.tex
@@ -0,0 +1,11 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass{standalone}
+\usepackage{tikz-decofonts}
+
+\begin{document}
+
+\tkzbrush[color=red,lines=20,scale=1.5]{CUSTOM TEXT}
+
+\end{document}
diff --git a/graphics/pgf/contrib/tikz-decofonts/tex/tikz-decofonts.sty b/graphics/pgf/contrib/tikz-decofonts/tex/tikz-decofonts.sty
new file mode 100644
index 0000000000..984ac0a5f9
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-decofonts/tex/tikz-decofonts.sty
@@ -0,0 +1,896 @@
+% Author : C. Pierquet
+% licences : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+% : CC BY-SA 4.0 (https://tex.stackexchange.com/questions/475141/simulating-paintbrush-strokes-in-tikz from user121799)
+% : (https://tex.stackexchange.com/questions/460836/custom-line-cap-to-simulate-inked-line-in-tikz/460842#460842 from user121799)
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tikz-decofonts}[2024/10/14 0.1.0 Custom fonts, made with TikZ, with effects]
+
+%------History
+% 0.1.0 Initial version
+
+%------Packages and library
+\RequirePackage{tikz}
+\RequirePackage{xstring}
+\RequirePackage{xintexpr}
+\RequirePackage{simplekv}
+\usetikzlibrary{decorations,decorations.pathreplacing,calc,positioning,bbox,arrows.meta,bending}
+
+%------Paintbrush
+\pgfmathdeclarerandomlist{randcolor}{{black}{white}}
+\pgfkeys{/brush pars/.cd,
+ lines/.initial={\tkzbrushlines},
+ distance/.initial=0.25pt
+}
+\tikzset{
+ brush/.style={
+ decorate,
+ decoration={
+ show path construction,
+ lineto code={
+ \foreach\Xbrush in{1,...,\pgfkeysvalueof{/brush pars/lines}}{
+ \pgfmathrandomitem{\c}{randcolor}
+ \pgfmathtruncatemacro{\mix}{100-24*rnd}
+ \draw[color=brushcolor!\mix!\c,
+ shorten >={(3-4*rnd)*1pt
+ -0.5*\pgfkeysvalueof{/brush pars/lines}*\pgfkeysvalueof{/brush pars/distance}},
+ shorten <={(3-4*rnd)*1pt
+ -0.5*\pgfkeysvalueof{/brush pars/lines}*\pgfkeysvalueof{/brush pars/distance}}]
+ let \p1=($(\tikzinputsegmentlast)-(\tikzinputsegmentfirst)$),
+ \n1={90+atan2(\y1,\x1)} in
+ ($(\tikzinputsegmentfirst)+(\n1:{((1.02-0.04*rnd)*\Xbrush-\pgfkeysvalueof{/brush pars/lines}/2)*\pgfkeysvalueof{/brush pars/distance}})$)
+ --
+ ($(\tikzinputsegmentlast)+(\n1:{((1.02-0.04*rnd)*\Xbrush-\pgfkeysvalueof{/brush pars/lines}/2)*\pgfkeysvalueof{/brush pars/distance}})$);
+ }
+ },
+ curveto code={
+ \foreach\Xbrush in{1,...,\pgfkeysvalueof{/brush pars/lines}}{
+ \pgfmathrandomitem{\c}{randcolor}
+ \pgfmathtruncatemacro{\mix}{100-24*rnd}
+ \draw[color=brushcolor!\mix!\c,shorten >={(3-4*rnd)*1pt
+ -0.5*\pgfkeysvalueof{/brush pars/lines}*\pgfkeysvalueof{/brush pars/distance}},
+ shorten <={(3-4*rnd)*1pt
+ -0.5*\pgfkeysvalueof{/brush pars/lines}*\pgfkeysvalueof{/brush pars/distance}}]
+ let \p1=($(\tikzinputsegmentsupporta)-(\tikzinputsegmentfirst)$),
+ \p2=($(\tikzinputsegmentsupportb)-(\tikzinputsegmentsupporta)$),
+ \p3=($(\tikzinputsegmentlast)-(\tikzinputsegmentsupportb)$),
+ \n1={90+atan2(\y1,\x1)}, \n2={90+atan2(\y2,\x2)},
+ \n3={90+atan2(\y3,\x3)} in
+ ($(\tikzinputsegmentfirst)+(\n1:{((1.02-0.04*rnd)*\Xbrush-\pgfkeysvalueof{/brush pars/lines}/2)*\pgfkeysvalueof{/brush pars/distance}})$)
+ .. controls ($(\tikzinputsegmentsupporta)+(\n2:{((1.02-0.04*rnd)*\Xbrush-\pgfkeysvalueof{/brush pars/lines}/2)*\pgfkeysvalueof{/brush pars/distance}})$)
+ and ($(\tikzinputsegmentsupportb)+(\n3:{((1.02-0.04*rnd)*\Xbrush-\pgfkeysvalueof{/brush pars/lines}/2)*\pgfkeysvalueof{/brush pars/distance}})$) ..
+ ($(\tikzinputsegmentlast)+(\n3:{((1.02-0.04*rnd)*\Xbrush-\pgfkeysvalueof{/brush pars/lines}/2)*\pgfkeysvalueof{/brush pars/distance}})$);
+ }
+ },
+ }
+ }
+}
+\tikzset{pics/.cd,
+ brushA/.style={code={%
+ \draw[brush] (0,-0.5) -- (0.25,0.5) -- (0.5,-0.5);
+ \draw[brush] (0.125,-0.15) -- (0.375,-0.15);
+ %\path (0.725,0);%
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }%
+ },
+ brushB/.style={code={%
+ \draw[brush] (0,-0.5) -- (0,0.5) to[out=0,in=0,looseness=2.5] (0,0) to[out=0,in=0,looseness=3] cycle;
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushC/.style={code={%
+ \draw[brush] (0,0) to[out=90,in=180] (0.25,0.5) to[out=0,in=110] (0.5,0.325) ;
+ \draw[brush] (0,0) to[out=-90,in=180] (0.25,-0.5) to[out=0,in=-110] (0.5,-0.325) ;
+ %\draw[brush] (0,0) to[out=90,in=110,looseness=2] (0.5,0.325);
+ %\draw[brush](0,0) to[out=-90,in=-110,looseness=2] (0.5,-0.2325);
+ %\path (0.7,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushD/.style={code={%
+ \draw[brush] (0,-0.5) -- (0,0.5) to[out=0,in=0,looseness=1.75] cycle;
+ %\path (0.675,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushE/.style={code={%
+ \draw[brush] (0.425,-0.5) --(0,-0.5) -- (0,0.5) -- (0.425,0.5);
+ \draw[brush] (0,0) -- (0.425,0);
+ \path (0.5,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushF/.style={code={%
+ \draw[brush] (0,-0.5) -- (0,0.5) -- (0.425,0.5);
+ \draw[brush] (0,0) -- (0.425,0);
+ \path (0.5,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushG/.style={code={%
+ \draw[brush] (0,0) to[out=90,in=180] (0.25,0.5) to[out=0,in=100] (0.475,0.325) ;
+ \draw[brush] (0,0) to[out=-90,in=180] (0.25,-0.5) to[out=0,in=-110] (0.475,-0.1) ;
+ \draw[brush] (0.475,-0.1) to (0.275,-0.1);
+ %\draw[brush] (0,0) to[out=90,in=110,looseness=2] (0.5,0.25);
+ %\draw[brush] (0,0) to[out=-90,in=-110,looseness=2] (0.5,-0.25);
+ %\draw[brush] (0.5,-0.25) to (0.25,-0.25);
+ %\path (0.7,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushH/.style={code={%
+ \draw[brush] (0,-0.5) -- (0,0.5);
+ \draw[brush] (0.5,-0.5) -- (0.5,0.5);
+ \draw[brush] (0,0) -- (0.5,0);
+ %\path (0.7,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushI/.style={code={%
+ \draw[brush] (0,-0.5) -- (0,0.5);
+ %\path (0.25,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushJ/.style={code={%
+ \draw[brush] (0.35,0.5) -- (0.35,-0.35) to[out=-90,in=0] (0.175,-0.5) to[out=180,in=-90] (0,-0.3);
+ %\path (0.45,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushK/.style={code={%
+ \draw[brush] (0,-0.5) -- (0,0.5);
+ \draw[brush] (0.4,0.475) -- (0.02,0) -- (0.4,-0.475);
+ %\path (0.6,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushL/.style={code={
+ \draw[brush] (0,0.5) -- (0,-0.5) -- (0.5,-0.5);
+ %\path (0.6,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushM/.style={code={
+ \draw[brush] (0,-0.5) -- (0,0.5) -- (0.25,0.25) -- (0.5,0.5) -- (0.5,-0.5);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushN/.style={code={
+ \draw[brush] (0,-0.5) -- (0,0.5) -- (0.5,-0.5) -- (0.5,0.5);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushO/.style={code={
+ \draw[brush] (0.25,0) circle(0.25 and 0.5);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushP/.style={code={
+ \draw[brush] (0,-0.5) -- (0,0.5) to[out=0,in=0,looseness=2.5] (0,0);
+ %\path (0.6,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushQ/.style={code={
+ \draw[brush] (0.25,0) circle(0.25 and 0.5);
+ \draw[brush](0.35,-0.25) -- (0.475,-0.45);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushR/.style={code={
+ \draw[brush] (0,-0.5) -- (0,0.5) to[out=0,in=0,looseness=2.5] (0.05,0) -- (0.5,-0.5);
+ %\path (0.6,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushS/.style={code={
+ \draw[brush] (0.475,0.475) to[out=150,in=165,looseness=2.25] (0.25,0) to[out=-15,in=-30,looseness=2.25] (0.025,-0.475);
+ %\path (0.65,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushT/.style={code={
+ \draw[brush] (0.25,-0.5) -- (0.25,0.5) (0,0.5) -- (0.5,0.5);
+ %\path (0.85,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushU/.style={code={
+ \draw[brush] (0,0.5) -- (0,0) to[out=-90,in=-90,looseness=4] (0.5,0) -- (0.5,0.5);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushV/.style={code={
+ \draw[brush] (0,0.5) -- (0.25,-0.5) -- (0.5,0.5);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushW/.style={code={
+ \draw[brush] (0,0.5) -- (0.15,-0.5) -- (0.3,-0.25) -- (0.45,-0.5) -- (0.6,0.5);
+ %\path (1.1,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushX/.style={code={
+ \draw[brush] (0,0.5) -- (0.5,-0.5);
+ \draw[brush] (0.5,0.5) -- (0,-0.5);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushY/.style={code={
+ \draw[brush] (0,0.5) -- (0.25,0);
+ \draw[brush] (0.5,0.5) -- (0,-0.5);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushZ/.style={code={
+ \draw[brush] (0,0.5) --(0.5,0.5) -- (0,-0.5) -- (0.5,-0.5);
+ %\path (0.8,0);
+ %\filldraw[blue] (0,0) circle[radius=2pt] ;
+ }
+ },
+ brushspace/.style={code={\path (0,0) (0.2,0);}},
+}
+
+
+\defKV[tkzbrush]{%
+ scale=\def\tkzbrushscale{#1},%
+ color=\colorlet{brushcolor}{#1},%
+ lines=\def\tkzbrushlines{#1},%
+ thick=\def\tkzbrushthick{#1}
+}
+
+\setKVdefault[tkzbrush]{%
+ scale=1,%
+ color=black,%
+ lines=12,%
+ thick=3
+}
+
+%------inkbrush
+\pgfdeclarearrow{
+ name=ink,
+ parameters= {\the\pgfarrowlength},
+ setup code={
+ \pgfarrowssettipend{0pt}
+ \pgfarrowssetlineend{-\pgfarrowlength}
+ \pgfarrowlinewidth=\pgflinewidth
+ \pgfarrowssavethe\pgfarrowlength
+ },
+ drawing code={
+ \pgfpathmoveto{\pgfpoint{-\pgfarrowlength}{0.5\pgflinewidth}}
+ \pgfpathcurveto{\pgfpoint{-0.75\pgfarrowlength}{0.6\pgflinewidth}}{%
+ \pgfpoint{-0.01\pgfarrowlength}{0.6\pgflinewidth}}{%
+ \pgfpoint{0pt}{0pt}}
+ \pgfpathcurveto{\pgfpoint{-0.01\pgfarrowlength}{-0.5\pgflinewidth}}{%
+ \pgfpoint{-0.2\pgfarrowlength}{-(1+0.3*rnd)*\pgflinewidth}}{%
+ \pgfpoint{-0.3\pgfarrowlength}{-0.8*(1+0.3*rnd)*\pgflinewidth}}
+ \pgfpathcurveto{\pgfpoint{-0.4\pgfarrowlength}{-0.6*(1+0.3*rnd)*\pgflinewidth}}{%
+ \pgfpoint{-0.6\pgfarrowlength}{-0.3*(1+0.3*rnd)*\pgflinewidth}}{%
+ \pgfpoint{-1\pgfarrowlength}{-0.5\pgflinewidth}}
+ \pgfusepathqfill
+ },
+ defaults={length=8pt}
+}
+
+\tikzset{pics/.cd,
+ inkA/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,-0.5) -- (0.25,0.5) -- (0.5,-0.5);
+ \draw[line width={\tkzbrushthick}] (0.125,-0.15) -- (0.375,-0.15);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,-0.55) -- (0.3,0.4) -- (0.6,-0.55);
+ %\draw[line width=5](0.1,1/3-0.45) -- (0.5,1/3-0.45);
+ %\path (0.7,0);
+ }
+ },
+ inkB/.style={code={
+ \draw[line width={\tkzbrushthick},{ink[bend]}-{ink[bend]}] (0,-0.5) -- (0,0.5) to[out=0,in=0,looseness=2.5] (0,0) to[out=0,in=0,looseness=3] cycle;
+ %\draw[line width=5] (0,-0.45) -- (0,0.45) to[out=0,in=0,looseness=2.5] (0,0) to[out=0,in=0,looseness=3] cycle;
+ }
+ },
+ inkC/.style={code={
+ \draw[line width={\tkzbrushthick}] (0,0) to[out=90,in=180] (0.25,0.5) to[out=0,in=110] (0.5,0.325) ;
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0) to[out=-90,in=180] (0.25,-0.5) to[out=0,in=-110] (0.5,-0.325) ;
+ %\draw[line width=5,-{ink[bend]}] (0,0) to[out=90,in=110,looseness=2] (0.5,0.25);
+ %\draw[line width=5,-{ink[bend]}] (0,0) to[out=-90,in=-110,looseness=2] (0.5,-0.25);
+ %\path (0.7,0);
+ }
+ },
+ inkD/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,-0.5) -- (0,0.5) to[out=0,in=0,looseness=1.75] (0.075,-0.5) ;
+ %\draw[line width=5] (0,-0.45) -- (0,0.45) to[out=0,in=0,looseness=2.25] cycle;
+ %\path (0.7,0);
+ }
+ },
+ inkE/.style={code={%
+ \draw[line width={\tkzbrushthick},{ink[bend]}-] (0.5,0.5) -- (0,0.5) -- (0,-0.5) ;
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0) -- (0.425,0) ;
+ \draw[line width={\tkzbrushthick}] (0,-0.5) -- (0.4,-0.5);
+ %\draw[line width={\tkzbrushthick},{ink[bend]}-{ink[bend]}] (0.5,-0.45) --(0,-0.45) -- (0,0.45) -- (0.5,0.45);
+ %\draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0) -- (0.5,0);
+ %\path (0.7,0);
+ }
+ },
+ inkF/.style={code={%
+ \draw[line width={\tkzbrushthick},{ink[bend]}-] (0.5,0.5) -- (0,0.5) -- (0,-0.5) ;
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0) -- (0.425,0) ;
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,-0.45) -- (0,0.45) -- (0.5,0.45);
+ %\draw[line width=5,-{ink[bend]}] (0,0) -- (0.5,0);
+ %\path (0.7,0);
+ }
+ },
+ inkG/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0) to[out=90,in=180] (0.25,0.5) to[out=0,in=100] (0.475,0.325) ;
+ \draw[line width={\tkzbrushthick}] (0,0) to[out=-90,in=180] (0.25,-0.5) to[out=0,in=-110] (0.475,-0.1) ;
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0.475,-0.1) to (0.275,-0.1);
+ %\draw[line width=5,-{ink[bend]}] (0,0) to[out=90,in=110,looseness=2] (0.5,0.25);
+ %\draw[line width=5] (0,0) to[out=-90,in=-110,looseness=2] (0.5,-0.25);
+ %\draw[line width=5,-{ink[bend]}] (0.54,-0.25) to (0.3,-0.25);
+ %\path (0.7,0);
+ }
+ },
+ inkH/.style={code={%
+ \draw[line width={\tkzbrushthick},{ink[bend]}-] (0,-0.5) -- (0,0.5);
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0.5,-0.5) -- ([yshift=1pt]0.5,0.5);
+ \draw[line width={\tkzbrushthick}] (0,0) -- (0.5,0);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,-0.5) -- (0,0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0.5,-0.5) -- (0.5,0.5);
+ %\draw[line width=5] (0,0) -- (0.5,0);
+ \path (0.7,0);
+ }
+ },
+ inkI/.style={code={
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] ([yshift=-0.5pt]0,-0.5) -- ([yshift=1pt]0,0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,-0.45) -- (0,0.45);
+ \path (0.075,0);
+ }
+ },
+ inkJ/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0.35,0.5) -- (0.35,-0.35) to[out=-90,in=0] (0.175,-0.5) to[out=180,in=-90] (0,-0.3);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0.2,0.45) -- (0.2,-0.35) to[out=-90,in=0] (0.1,-0.45) to[out=180,in=-90] (0,-0.35);
+ %\path (0.45,0);
+ }
+ },
+ inkK/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,-0.5) -- ([yshift=1pt]0,0.5);
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0.4,0.5) -- (0.02,0) -- (0.4,-0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,-0.45) -- (0,0.45);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0.4,0.45) -- (0.02,0) -- (0.4,-0.45);
+ %\path (0.6,0);
+ }
+ },
+ inkL/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.5) -- (0,-0.5) -- (0.5,-0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,0.5) -- (0,-0.45) -- (0.4,-0.45);
+ %\path (0.6,0);
+ }
+ },
+ inkM/.style={code={%
+ \draw[line width={\tkzbrushthick}] (0,-0.5)--(0,0.45) ;
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.475) -- (0.25,0.25) -- (0.5,0.45) -- (0.5,-0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,-0.45) -- (0,0.45) -- (0.3,0.25) -- (0.6,0.45) -- (0.6,-0.45);
+ %\path (0.8,0);%
+ }
+ },
+ inkN/.style={code={%
+ \draw[line width={\tkzbrushthick}] (0,-0.5)--(0,0.45) ;
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.475) -- (0.5,-0.51) -- (0.5,0.515);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,-0.45) -- (0,0.45) -- (0.6,-0.4) -- (0.6,0.45);
+ %\path (0.8,0);
+ }
+ },
+ inkO/.style={code={%
+ \draw[line width={\tkzbrushthick}] (0.25,0) circle(0.25 and 0.5);
+ %\path (0.8,0);
+ }
+ },
+ inkP/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,-0.5) -- (0,0.5) to[out=0,in=0,looseness=2.5] (0,0);
+ %\draw[line width=5,{ink[bend]}-] (0,-0.45) -- (0,0.45) to[out=0,in=0,looseness=2.5] (0,0);
+ %\path (0.6,0);
+ }
+ },
+ inkQ/.style={code={%
+ \draw[line width={\tkzbrushthick}] (0.25,0) circle(0.25 and 0.5);
+ \draw[line width={\tkzbrushthick},{ink[bend]}-{ink[bend]}](0.35,-0.25) -- (0.5,-0.5);
+ %\draw[line width=5] (0.3,0) circle(0.3 and 0.48);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}](0.35,-0.25) -- (0.6,-0.45);
+ %\path (0.8,0);
+ }
+ },
+ inkR/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,-0.5) -- (0,0.5) to[out=0,in=0,looseness=2.5] (0.05,0) -- (0.5,-0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,-0.45) -- (0,0.45) to[out=0,in=0,looseness=2.5] (0.05,0) -- (0.4,-0.45);
+ %\path (0.6,0);
+ }
+ },
+ inkS/.style={code={%
+ \draw[line width={\tkzbrushthick},{ink[bend]}-] (0.475,0.475) to[out=150,in=165,looseness=2.25] (0.25,0) to[out=-15,in=-30,looseness=2.25] (0.025,-0.475);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0.5,0.4) to[out=160,in=165,looseness=2] (0.3,0) to[out=-15,in=-20,looseness=2] (0.1,-0.4);
+ %\path (0.65,0);
+ }
+ },
+ inkT/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0.25,-0.5) -- (0.25,0.5) ;
+ \draw[line width={\tkzbrushthick}] (0,0.5) -- (0.5,0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0.35,-0.45) -- (0.35,0.45) (0,0.45) -- (0.7,0.45);
+ %\path (0.85,0);
+ }
+ },
+ inkU/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.5) -- (0,0.25) to[out=-90,in=180] (0.25,-0.5) to[out=0,in=-90] (0.5,0.25) -- (0.5,0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,0.5) -- (0,0) to[out=-90,in=-90,looseness=2.5] (0.6,0) -- (0.6,0.5);
+ %\path (0.8,0);
+ }
+ },
+ inkV/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.5) -- (0.25,-0.5) -- (0.5,0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,0.5) -- (0.3,-0.4) -- (0.6,0.5);
+ %\path (0.8,0);
+ }
+ },
+ inkW/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.5) -- (0.15,-0.5) -- (0.3,-0.25) -- (0.45,-0.5) -- (0.6,0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,0.45) -- (0.3,-0.4) -- (0.45,-0.1) -- (0.6,-0.4) -- (0.9,0.45);
+ %\path (1.1,0);
+ }
+ },
+ inkX/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.5) -- (0.5,-0.5);
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0.5,0.5) -- (0,-0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,0.45) -- (0.6,-0.45);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0.6,0.45) -- (0,-0.45);
+ %\path (0.8,0);
+ }
+ },
+ inkY/.style={code={
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.5) -- (0.25,0);
+ \draw[line width={\tkzbrushthick},{ink[bend]}-{ink[bend]}] (0.5,0.5) -- (0,-0.5);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,0.45) -- (0.3,0);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0.6,0.45) -- (0,-0.45);
+ %\path (0.8,0);
+ }
+ },
+ inkZ/.style={code={%
+ \draw[line width={\tkzbrushthick},-{ink[bend]}] (0,0.5) --(0.5,0.5) -- (0,-0.5) -- (0.5,-0.45);
+ %\draw[line width=5,{ink[bend]}-{ink[bend]}] (0,0.45) --(0.6,0.45) -- (0,-0.45) -- (0.6,-0.45);
+ %\path (0.8,0);
+ }
+ },
+ inkspace/.style={code={\path (0,0) (0.2,0);}},
+}
+
+%------macros
+\NewDocumentCommand\tkzbrush{ O{} D<>{} m }{%
+ \restoreKV[tkzbrush]%
+ \setKV[tkzbrush]{#1}%
+ \StrChar{#3}{1}[\myfisrtchar]%
+ \StrLen{#3}[\mynbofchars]%
+ \begin{tikzpicture}%[bezier bounding box]
+ \pic[bezier bounding box,local bounding box=box1,scale={\tkzbrushscale},#2] at (0,0) {brush\myfisrtchar} ;%
+ %on boucle les lettres une par une ??
+ \foreach \i [count=\Y,evaluate=\Y as \Z using {int(\Y+1)}] in {2,...,\mynbofchars}{%
+ \StrChar{#3}{\i}[\mytmpchar]%
+ \IfStrEq{\mytmpchar}{ }%
+ {%
+ \edef\temp{\noexpand\pic[bezier bounding box,right=2mm of box\Y,local bounding box=box\Z,scale={\tkzbrushscale},#2] {brushspace};}
+ \temp%
+ }%
+ {%
+ \edef\temp{\noexpand\pic[bezier bounding box,right=2mm of box\Y,local bounding box=box\Z,scale={\tkzbrushscale},#2] {brush\mytmpchar};}
+ \temp%
+ }%
+ }%
+ \end{tikzpicture}%
+}
+
+\NewDocumentCommand\tkzink{ O{} D<>{} m }{%
+ \restoreKV[tkzbrush]%
+ \setKV[tkzbrush]{#1}%
+ \StrChar{#3}{1}[\myfisrtchar]%
+ \StrLen{#3}[\mynbofchars]%
+ \begin{tikzpicture}[brushcolor,line join=round,line cap=round]%,bezier bounding box]
+ \pic[bezier bounding box,local bounding box=box1,scale={\tkzbrushscale},#2] at (0,0) {ink\myfisrtchar} ;%
+ \foreach \i [count=\Y,evaluate=\Y as \Z using {int(\Y+1)}] in {2,...,\mynbofchars}{%
+ \StrChar{#3}{\i}[\mytmpchar]%
+ \IfStrEq{\mytmpchar}{ }%
+ {%
+ \edef\temp{\noexpand\pic[bezier bounding box,right=2mm of box\Y,local bounding box=box\Z,scale={\tkzbrushscale},#2] {inkspace};}
+ \temp%
+ }%
+ {%
+ \edef\temp{\noexpand\pic[bezier bounding box,right=2mm of box\Y,local bounding box=box\Z,scale={\tkzbrushscale},#2] {ink\mytmpchar};}
+ \temp%
+ }%
+ }%
+ \end{tikzpicture}%
+}
+
+
+%====PixlArt Words
+\def\lsteightbittikzA{0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,1}%7C*5L
+\def\lsteightbittikzB{1,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,0}%7C*5L
+\def\lsteightbittikzC{0,1,1,1,0,1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzD{1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,1,1,0,0}
+\def\lsteightbittikzE{1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,1}
+\def\lsteightbittikzF{1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0}
+\def\lsteightbittikzG{0,1,1,1,0,1,0,0,0,1,1,0,0,0,0,1,0,1,1,1,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzH{1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1}
+\def\lsteightbittikzI{1,1,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,1,1}
+\def\lsteightbittikzJ{0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,1,0,0,1,1,0,0}
+\def\lsteightbittikzK{1,0,0,0,1,1,0,0,1,0,1,0,1,0,0,1,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1}
+\def\lsteightbittikzL{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1,1}
+\def\lsteightbittikzM{1,0,0,0,1,1,1,0,1,1,1,0,1,0,1,1,0,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1}
+\def\lsteightbittikzN{1,0,0,0,1,1,0,0,0,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1}
+\def\lsteightbittikzO{0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzP{1,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0}
+\def\lsteightbittikzQ{0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,1,1,0,1}
+\def\lsteightbittikzR{1,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1}
+\def\lsteightbittikzS{0,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,0}
+\def\lsteightbittikzT{1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0}
+\def\lsteightbittikzU{1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzV{1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0}
+\def\lsteightbittikzW{1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0}
+\def\lsteightbittikzX{1,0,0,0,1,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1}
+\def\lsteightbittikzY{1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0}
+\def\lsteightbittikzZ{1,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,1}
+\def\lsteightbittikza{0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,1}
+\def\lsteightbittikzaaccent{0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,1}
+\def\lsteightbittikzaaigu{0,1,0,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,1}
+\def\lsteightbittikzb{1,0,0,0,0,1,0,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,1,0}
+\def\lsteightbittikzc{0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzd{0,0,0,0,1,0,0,0,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,1,1,1,1}
+\def\lsteightbittikze{0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0}
+\def\lsteightbittikzeaccent{0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0}
+\def\lsteightbittikzeaigu{0,1,0,1,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0}
+\def\lsteightbittikzf{0,0,1,1,0,0,1,0,0,1,0,1,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0}
+\def\lsteightbittikzg{0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzh{1,0,0,0,0,1,0,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1}
+\def\lsteightbittikzi{0,1,0,0,0,0,1,1,0,0,1,0,0,1,0,0,1,0,1,1,1}
+\def\lsteightbittikziaccent{1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,0,1,0,1,1,1}
+\def\lsteightbittikziaigu{1,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,1,0,1,1,1}
+\def\lsteightbittikzj{0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0}
+\def\lsteightbittikzk{1,0,0,0,1,0,0,0,1,0,0,1,1,0,1,0,1,1,0,0,1,0,1,0,1,0,0,1}
+\def\lsteightbittikzl{1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,1,1}
+\def\lsteightbittikzm{0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,1,0,1,1,0,1,0,1,1,0,0,0,1,1,0,0,0,1}
+\def\lsteightbittikzn{0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1}
+\def\lsteightbittikzo{0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzp{0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0}
+\def\lsteightbittikzq{0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,1}
+\def\lsteightbittikzr{0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0}
+\def\lsteightbittikzs{0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,0}
+\def\lsteightbittikzt{0,1,0,0,0,0,1,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,1,0}
+\def\lsteightbittikzu{0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,1}
+\def\lsteightbittikzv{0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,0}
+\def\lsteightbittikzw{0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,1,0}
+\def\lsteightbittikzx{0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1}
+\def\lsteightbittikzy{0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzz{0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,1}
+\def\lsteightbittikzzero{0,1,1,1,0,1,0,0,0,1,1,0,0,1,1,1,0,1,0,1,1,1,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzun{0,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,1,1}
+\def\lsteightbittikzdeux{0,1,1,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,1}
+\def\lsteightbittikztrois{1,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzquatre{0,0,0,1,0,0,0,1,1,0,0,1,0,1,0,1,0,0,1,0,1,1,1,1,1,0,0,0,1,0,0,0,0,1,0}
+\def\lsteightbittikzcinq{1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzsix{0,0,1,1,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzsept{1,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0}
+\def\lsteightbittikzhuit{0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0}
+\def\lsteightbittikzneuf{0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0}
+\def\lsteightbittikzapostr{1,1,0,1,1,0,0,0,0,0,0,0,0}
+\def\lsteightbittikzparg{0,0,1,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,1}
+\def\lsteightbittikzpard{1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,1,0,0}
+\def\lsteightbittikzfois{0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,0,1,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0}
+\def\lsteightbittikzplus{0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0}
+\def\lsteightbittikzvirgule{0,0,0,0,0,0,0,0,1,1,0,1,1,0}
+\def\lsteightbittikzmoins{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
+\def\lsteightbittikzpoint{0,0,0,0,0,0,0,0,0,0,1,1,1,1}
+\def\lsteightbittikzslash{0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0}
+\def\lsteightbittikzdeuxpoints{0,0,1,1,1,1,0,0,1,1,1,1,0,0}
+\def\lsteightbittikzpointvirg{0,0,1,1,1,1,0,0,1,1,0,1,1,0}
+\def\lsteightbittikzinf{0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0}
+\def\lsteightbittikzeggal{0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0}
+\def\lsteightbittikzsup{1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0}
+\def\lsteightbittikzinterro{0,1,1,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0}
+\def\lsteightbittikzexcla{1,1,1,1,1,0,1}
+\def\lsteightbittikzcrog{1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1}
+\def\lsteightbittikzgrod{1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1}
+\def\lsteightbittikzbarre{1,1,1,1,1,1,1}
+\def\lsteightbittikzspace{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
+
+\newlength{\eightbitpartthick}
+\newlength{\eightbitpartheight}
+\newlength{\eightbitpartunit}
+\setlength{\eightbitpartthick}{0.1mm}
+\setlength{\eightbitpartheight}{11mm}
+\setlength{\eightbitpartunit}{1mm}
+
+\defKV[eightbitpart]{%
+ %unit=\def\eightbitpartunit{#1},%
+ height=\setlength{\eightbitpartheight}{#1},%
+ thick=\setlength{\eightbitpartthick}{#1},%
+ color=\def\eightbitpartcolor{#1},%
+ gridcolor=\def\eightbitpartgridcolor{#1},%
+ offseth=\def\eightbitpartoffseth{#1},%
+ offsetv=\def\eightbitpartoffsetv{#1}%
+}
+
+\setKVdefault[eightbitpart]{%
+ height=11mm,%
+ thick=0.1mm,%
+ color=black,%
+ gridcolor=gray,
+ offseth=1,%
+ offsetv=2,%
+ gridafter=false,%
+ nospaceafter=false,%
+ border=false
+}
+
+\NewDocumentCommand\tkzpixletter{ }{%
+ \begingroup
+ \catcode`\;=12
+ \catcode`\:=12
+ \catcode`\!=12
+ \catcode`\?=12
+ \PixlLetterAux
+}
+
+\NewDocumentCommand\PixlLetterAux{ O{} D<>{} m }{%
+ \endgroup
+ \restoreKV[eightbitpart]%
+ \setKV[eightbitpart]{#1}%
+ \xdef\tmplarg{5}%
+ %MAJUSCULE
+ \IfStrEq{#3}{A}{\xdef\TMPLIST{\lsteightbittikzA}}{}%
+ \IfStrEq{#3}{B}{\xdef\TMPLIST{\lsteightbittikzB}}{}%
+ \IfStrEq{#3}{C}{\xdef\TMPLIST{\lsteightbittikzC}}{}%
+ \IfStrEq{#3}{D}{\xdef\TMPLIST{\lsteightbittikzD}}{}%
+ \IfStrEq{#3}{E}{\xdef\TMPLIST{\lsteightbittikzE}}{}%
+ \IfStrEq{#3}{F}{\xdef\TMPLIST{\lsteightbittikzF}}{}%
+ \IfStrEq{#3}{G}{\xdef\TMPLIST{\lsteightbittikzG}}{}%
+ \IfStrEq{#3}{H}{\xdef\TMPLIST{\lsteightbittikzH}}{}%
+ \IfStrEq{#3}{I}{\xdef\TMPLIST{\lsteightbittikzI}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{J}{\xdef\TMPLIST{\lsteightbittikzJ}}{}%
+ \IfStrEq{#3}{K}{\xdef\TMPLIST{\lsteightbittikzK}}{}%
+ \IfStrEq{#3}{L}{\xdef\TMPLIST{\lsteightbittikzL}}{}%
+ \IfStrEq{#3}{M}{\xdef\TMPLIST{\lsteightbittikzM}}{}%
+ \IfStrEq{#3}{N}{\xdef\TMPLIST{\lsteightbittikzN}}{}%
+ \IfStrEq{#3}{O}{\xdef\TMPLIST{\lsteightbittikzO}}{}%
+ \IfStrEq{#3}{P}{\xdef\TMPLIST{\lsteightbittikzP}}{}%
+ \IfStrEq{#3}{Q}{\xdef\TMPLIST{\lsteightbittikzQ}}{}%
+ \IfStrEq{#3}{R}{\xdef\TMPLIST{\lsteightbittikzR}}{}%
+ \IfStrEq{#3}{S}{\xdef\TMPLIST{\lsteightbittikzS}}{}%
+ \IfStrEq{#3}{T}{\xdef\TMPLIST{\lsteightbittikzT}}{}%
+ \IfStrEq{#3}{U}{\xdef\TMPLIST{\lsteightbittikzU}}{}%
+ \IfStrEq{#3}{V}{\xdef\TMPLIST{\lsteightbittikzV}}{}%
+ \IfStrEq{#3}{W}{\xdef\TMPLIST{\lsteightbittikzW}}{}%
+ \IfStrEq{#3}{X}{\xdef\TMPLIST{\lsteightbittikzX}}{}%
+ \IfStrEq{#3}{Y}{\xdef\TMPLIST{\lsteightbittikzY}}{}%
+ \IfStrEq{#3}{Z}{\xdef\TMPLIST{\lsteightbittikzZ}}{}%
+ %minuscule
+ \IfStrEq{#3}{a}{\xdef\TMPLIST{\lsteightbittikza}}{}%
+ \IfStrEq{#3}{à}{\xdef\TMPLIST{\lsteightbittikzaaccent}}{}%
+ \IfStrEq{#3}{ä}{\xdef\TMPLIST{\lsteightbittikzaaigu}}{}%
+ \IfStrEq{#3}{b}{\xdef\TMPLIST{\lsteightbittikzb}}{}%
+ \IfStrEq{#3}{c}{\xdef\TMPLIST{\lsteightbittikzc}}{}%
+ \IfStrEq{#3}{d}{\xdef\TMPLIST{\lsteightbittikzd}}{}%
+ \IfStrEq{#3}{e}{\xdef\TMPLIST{\lsteightbittikze}}{}%
+ \IfStrEq{#3}{é}{\xdef\TMPLIST{\lsteightbittikzeaccent}}{}%
+ \IfStrEq{#3}{è}{\xdef\TMPLIST{\lsteightbittikzeaccent}}{}%
+ \IfStrEq{#3}{ê}{\xdef\TMPLIST{\lsteightbittikzeaccent}}{}%
+ \IfStrEq{#3}{ë}{\xdef\TMPLIST{\lsteightbittikzeaigu}}{}%
+ \IfStrEq{#3}{f}{\xdef\TMPLIST{\lsteightbittikzf}}{}%
+ \IfStrEq{#3}{g}{\xdef\TMPLIST{\lsteightbittikzg}}{}%
+ \IfStrEq{#3}{h}{\xdef\TMPLIST{\lsteightbittikzh}}{}%
+ \IfStrEq{#3}{i}{\xdef\TMPLIST{\lsteightbittikzi}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{î}{\xdef\TMPLIST{\lsteightbittikziaccent}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{ï}{\xdef\TMPLIST{\lsteightbittikziaigu}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{j}{\xdef\TMPLIST{\lsteightbittikzj}\xdef\tmplarg{4}}{}%
+ \IfStrEq{#3}{k}{\xdef\TMPLIST{\lsteightbittikzk}\xdef\tmplarg{4}}{}%
+ \IfStrEq{#3}{l}{\xdef\TMPLIST{\lsteightbittikzl}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{m}{\xdef\TMPLIST{\lsteightbittikzm}}{}%
+ \IfStrEq{#3}{n}{\xdef\TMPLIST{\lsteightbittikzn}}{}%
+ \IfStrEq{#3}{o}{\xdef\TMPLIST{\lsteightbittikzo}}{}%
+ \IfStrEq{#3}{p}{\xdef\TMPLIST{\lsteightbittikzp}}{}%
+ \IfStrEq{#3}{q}{\xdef\TMPLIST{\lsteightbittikzq}}{}%
+ \IfStrEq{#3}{r}{\xdef\TMPLIST{\lsteightbittikzr}}{}%
+ \IfStrEq{#3}{s}{\xdef\TMPLIST{\lsteightbittikzs}}{}%
+ \IfStrEq{#3}{t}{\xdef\TMPLIST{\lsteightbittikzt}}{}%
+ \IfStrEq{#3}{u}{\xdef\TMPLIST{\lsteightbittikzu}}{}%
+ \IfStrEq{#3}{v}{\xdef\TMPLIST{\lsteightbittikzv}}{}%
+ \IfStrEq{#3}{w}{\xdef\TMPLIST{\lsteightbittikzw}}{}%
+ \IfStrEq{#3}{x}{\xdef\TMPLIST{\lsteightbittikzx}}{}%
+ \IfStrEq{#3}{y}{\xdef\TMPLIST{\lsteightbittikzy}}{}%
+ \IfStrEq{#3}{z}{\xdef\TMPLIST{\lsteightbittikzz}}{}%
+ %chiffres
+ \IfStrEq{#3}{0}{\xdef\TMPLIST{\lsteightbittikzzero}}{}%
+ \IfStrEq{#3}{1}{\xdef\TMPLIST{\lsteightbittikzun}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{2}{\xdef\TMPLIST{\lsteightbittikzdeux}}{}%
+ \IfStrEq{#3}{3}{\xdef\TMPLIST{\lsteightbittikztrois}}{}%
+ \IfStrEq{#3}{4}{\xdef\TMPLIST{\lsteightbittikzquatre}}{}%
+ \IfStrEq{#3}{5}{\xdef\TMPLIST{\lsteightbittikzcinq}}{}%
+ \IfStrEq{#3}{6}{\xdef\TMPLIST{\lsteightbittikzsix}}{}%
+ \IfStrEq{#3}{7}{\xdef\TMPLIST{\lsteightbittikzsept}}{}%
+ \IfStrEq{#3}{8}{\xdef\TMPLIST{\lsteightbittikzhuit}}{}%
+ \IfStrEq{#3}{9}{\xdef\TMPLIST{\lsteightbittikzneuf}}{}%
+ %ponctuation
+ \IfStrEq{#3}{'}{\xdef\TMPLIST{\lsteightbittikzapostr}\xdef\tmplarg{2}}{}%
+ \IfStrEq{#3}{(}{\xdef\TMPLIST{\lsteightbittikzparg}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{)}{\xdef\TMPLIST{\lsteightbittikzpard}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{*}{\xdef\TMPLIST{\lsteightbittikzfois}}{}%
+ \IfStrEq{#3}{+}{\xdef\TMPLIST{\lsteightbittikzplus}}{}%
+ \IfStrEq{#3}{,}{\xdef\TMPLIST{\lsteightbittikzvirgule}\xdef\tmplarg{2}}{}%
+ \IfStrEq{#3}{-}{\xdef\TMPLIST{\lsteightbittikzmoins}}{}%
+ \IfStrEq{#3}{.}{\xdef\TMPLIST{\lsteightbittikzpoint}\xdef\tmplarg{2}}{}%
+ \IfStrEq{#3}{/}{\xdef\TMPLIST{\lsteightbittikzslash}}{}%
+ \IfStrEq{#3}{:}{\xdef\TMPLIST{\lsteightbittikzdeuxpoints}\xdef\tmplarg{2}}{}%
+ \IfStrEq{#3}{;}{\xdef\TMPLIST{\lsteightbittikzpointvirg}\xdef\tmplarg{2}}{}%
+ \IfStrEq{#3}{<}{\xdef\TMPLIST{\lsteightbittikzinf}}{}%
+ \IfStrEq{#3}{=}{\xdef\TMPLIST{\lsteightbittikzeggal}}{}%
+ \IfStrEq{#3}{>}{\xdef\TMPLIST{\lsteightbittikzsup}}{}%
+ \IfStrEq{#3}{?}{\xdef\TMPLIST{\lsteightbittikzinterro}}{}%
+ \IfStrEq{#3}{!}{\xdef\TMPLIST{\lsteightbittikzexcla}\xdef\tmplarg{1}}{}%
+ \IfStrEq{#3}{[}{\xdef\TMPLIST{\lsteightbittikzcrog}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{]}{\xdef\TMPLIST{\lsteightbittikzgrod}\xdef\tmplarg{3}}{}%
+ \IfStrEq{#3}{|}{\xdef\TMPLIST{\lsteightbittikzbarre}\xdef\tmplarg{1}}{}%
+ \IfStrEq{#3}{ }{\xdef\TMPLIST{\lsteightbittikzspace}\xdef\tmplarg{3}}{}%
+ %la case !
+ \xdef\tmpnumbercasesv{\inteval{7+2*\eightbitpartoffsetv}}%
+ \pgfmathsetlength{\eightbitpartunit}{\eightbitpartheight/\tmpnumbercasesv}%
+ %tikzpicture
+ \begin{tikzpicture}[line cap=rect,x=\eightbitpartunit,y=\eightbitpartunit,line width=\eightbitpartthick,#2]
+ %clipping ?
+ %\clip ([shift={(-0.5\eightbitpartthick,-0.5\eightbitpartthick)}]{-\eightbitpartoffseth},{-\eightbitpartoffsetv}) rectangle ([shift={(0.5\eightbitpartthick,0.5\eightbitpartthick)}]{\tmplarg+\eightbitpartoffseth},{7+\eightbitpartoffsetv}) ;
+ %gridbefore
+ \ifboolKV[eightbitpart]{gridafter}%
+ {}%
+ {%
+ \foreach \x in {-\eightbitpartoffseth,...,\numexpr\tmplarg+\eightbitpartoffseth\relax}
+ {%
+ \draw[line width=\eightbitpartthick,\eightbitpartgridcolor] (\x,{-\eightbitpartoffsetv}) --++ (0,{7+2*\eightbitpartoffsetv}) ;
+ }%
+ \foreach \y in {-\eightbitpartoffsetv,...,\numexpr7+\eightbitpartoffseth+\eightbitpartoffseth\relax}
+ {%
+ \draw[line width=\eightbitpartthick,\eightbitpartgridcolor] ({-\eightbitpartoffseth},\y) --++ ({\tmplarg+2*\eightbitpartoffseth},0) ;
+ }%
+ }%
+ \ifnum\tmplarg=1%
+ \foreach \i [count=\j] in \TMPLIST {%
+ \ifnum\i=1%
+ \fill[\eightbitpartcolor] (0,{7-\j}) rectangle++ (1,1) ;
+ \fi%
+ }%
+ \fi%
+ \ifnum\tmplarg=2%
+ \foreach \i [count=\j] in \TMPLIST {%
+ \ifnum\i=1%
+ \xintifboolexpr{ \xintiiOdd{\j} == 1 }%
+ {%si c'est impair
+ \xdef\tmpX{0}%
+ \xdef\tmpY{\xintieval{(\j-1)/2}}%
+ }%
+ {%si c'est pair
+ \xdef\tmpX{1}%
+ \xdef\tmpY{\xintieval{(\j)/2-1}}%
+ }%
+ \fill[\eightbitpartcolor] ({\tmpX},{6-\tmpY}) rectangle++ (1,1) ;
+ \fi%
+ }%
+ \fi%
+ \ifnum\tmplarg>2%
+ \foreach \i [count=\j] in \TMPLIST {%
+ \ifnum\i=1%
+ \xdef\tmpX{\xintiiRem{\j-1}{\tmplarg}}%
+ \xdef\tmpY{\xintiiQuo{\j-1}{\tmplarg}}%
+ \fill[\eightbitpartcolor] ({\tmpX},{6-\tmpY}) rectangle++ (1,1) ;
+ \fi%
+ }%
+ \fi%
+ %gridafter
+ \ifboolKV[eightbitpart]{gridafter}%
+ {%
+ \foreach \x in {-\eightbitpartoffseth,...,\numexpr\tmplarg+\eightbitpartoffseth\relax}
+ {%
+ \draw[line width=\eightbitpartthick,\eightbitpartgridcolor] (\x,{-\eightbitpartoffsetv}) --++ (0,{7+2*\eightbitpartoffsetv}) ;
+ }%
+ \foreach \y in {-\eightbitpartoffsetv,...,\numexpr7+\eightbitpartoffseth+\eightbitpartoffseth\relax}
+ {%
+ \draw[line width=\eightbitpartthick,\eightbitpartgridcolor] ({-\eightbitpartoffseth},\y) --++ ({\tmplarg+2*\eightbitpartoffseth},0) ;
+ }%
+ }%
+ {}%
+ \end{tikzpicture}%
+ \ifboolKV[eightbitpart]{nospaceafter}{\hspace*{-\eightbitpartthick}}{}%
+}
+
+\NewDocumentCommand\tkzpixlquote{ O{} D<>{} }{%
+ \restoreKV[eightbitpart]%
+ \setKV[eightbitpart]{#1}%
+ \xdef\tmplarg{2}%
+ \xdef\tmpnumbercasesv{\inteval{7+2*\eightbitpartoffsetv}}%
+ \pgfmathsetlength{\eightbitpartunit}{\eightbitpartheight/\tmpnumbercasesv}%
+ \begin{tikzpicture}[line cap=rect,x=\eightbitpartunit,y=\eightbitpartunit,line width=\eightbitpartthick,#2]
+ %clipping ?
+ %\clip ({-\eightbitpartoffseth},{-\eightbitpartoffsetv}) rectangle ({\tmplarg+\eightbitpartoffseth},{7+\eightbitpartoffsetv}) ;
+ %gridbefore
+ \ifboolKV[eightbitpart]{gridafter}%
+ {}%
+ {%
+ \foreach \x in {-\eightbitpartoffseth,...,\numexpr\tmplarg+\eightbitpartoffseth\relax}
+ {%
+ \draw[line width=\eightbitpartthick,\eightbitpartgridcolor] (\x,{-\eightbitpartoffsetv}) --++ (0,{7+2*\eightbitpartoffsetv}) ;
+ }%
+ \foreach \y in {-\eightbitpartoffsetv,...,\numexpr7+\eightbitpartoffseth+\eightbitpartoffseth\relax}
+ {%
+ \draw[line width=\eightbitpartthick,\eightbitpartgridcolor] ({-\eightbitpartoffseth},\y) --++ ({\tmplarg+2*\eightbitpartoffseth},0) ;
+ }%
+ }%
+ \fill[\eightbitpartcolor] ({0},{6}) rectangle++ (1,1) ;
+ \fill[\eightbitpartcolor] ({1},{6}) rectangle++ (1,1) ;
+ \fill[\eightbitpartcolor] ({1},{5}) rectangle++ (1,1) ;
+ \fill[\eightbitpartcolor] ({0},{4}) rectangle++ (1,1) ;
+ %gridafter
+ \ifboolKV[eightbitpart]{gridafter}%
+ {%
+ \foreach \x in {-\eightbitpartoffseth,...,\numexpr\tmplarg+\eightbitpartoffseth\relax}
+ {%
+ \draw[line width=\eightbitpartthick,\eightbitpartgridcolor] (\x,{-\eightbitpartoffsetv}) --++ (0,{7+2*\eightbitpartoffsetv}) ;
+ }%
+ \foreach \y in {-\eightbitpartoffsetv,...,\numexpr7+\eightbitpartoffseth+\eightbitpartoffseth\relax}
+ {%
+ \draw[line width=\eightbitpartthick,\eightbitpartgridcolor] ({-\eightbitpartoffseth},\y) --++ ({\tmplarg+2*\eightbitpartoffseth},0) ;
+ }%
+ }%
+ {}%
+ \end{tikzpicture}%
+ \ifboolKV[eightbitpart]{nospaceafter}{\hspace*{-2\eightbitpartthick}}{}%
+}
+
+\NewDocumentCommand\tkzpixl{ }{%
+ \begingroup
+ \catcode`\;=12
+ \catcode`\:=12
+ \catcode`\!=12
+ \catcode`\?=12
+ \PixlLettersAux
+}
+
+\NewDocumentCommand\PixlLettersAux{ O{} D<>{} m }{%
+ \endgroup
+ \setKV[eightbitpart]{#1}%
+ \StrLen{#3}[\tmpnbcaract]%
+ \ifboolKV[eightbitpart]{border}%
+ {%
+ \setlength{\fboxrule}{1.75\eightbitpartthick}%
+ \setlength{\fboxsep}{-\eightbitpartthick}%
+ \fbox{%
+ \foreach \i in {1,...,\tmpnbcaract}{%
+ \StrChar{#3}{\i}[\tmpcaract]%
+ \tkzpixletter[#1]<#2>{\tmpcaract}%
+ \ifnum\i<\tmpnbcaract\hspace*{-\eightbitpartthick}\fi%
+ }%
+ }%
+ \ifboolKV[eightbitpart]{nospaceafter}{\hspace*{-\eightbitpartthick}}{}%
+ \fboxrule=0.4pt%
+ \fboxsep=3.0pt%
+ }%
+ {%
+ \foreach \i in {1,...,\tmpnbcaract}{%
+ \StrChar{#3}{\i}[\tmpcaract]%
+ \tkzpixletter[#1]<#2>{\tmpcaract}%
+ \ifnum\i<\tmpnbcaract\hspace*{-\eightbitpartthick}\fi%
+ \ifboolKV[eightbitpart]{nospaceafter}{\hspace*{-\eightbitpartthick}}{}%
+ }%
+ }%
+}
+
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/animate/ChangeLog b/macros/latex/contrib/animate/ChangeLog
index 4faf3429d7..d47f457487 100644
--- a/macros/latex/contrib/animate/ChangeLog
+++ b/macros/latex/contrib/animate/ChangeLog
@@ -1,3 +1,6 @@
+2024-10-14
+ * fix: quoted filenames (issue #23)
+
2024-09-17
* change: `method=widget' now default for extended range of supporting viewers
* fix: documentation revised
diff --git a/macros/latex/contrib/animate/README.md b/macros/latex/contrib/animate/README.md
index 0c52e149fa..9cdf56ce09 100644
--- a/macros/latex/contrib/animate/README.md
+++ b/macros/latex/contrib/animate/README.md
@@ -14,7 +14,7 @@ The resulting PDF with animations can be viewed in Acrobat Reader (except on mob
Animated SVG are self-contained files that can be embedded into HTML using the `<object>` tag or opened directly in a Web browser, such as Firefox or Chromium.
-Note, this file only gives a summary of usage and available package and command options. Please refer to the documentation [`animate.pdf`](animate.pdf) for details and examples.
+Note, this file only gives a summary of usage and available package and command options. Please refer to the documentation [`animate.pdf`](http://mirrors.ctan.org/macros/latex/contrib/animate/animate.pdf) for details and examples.
*Keywords:* include portable PDF animation SVG animation animated PDF animated SVG dvisvgm html TeX4ht web animating embed animated graphics LaTeX pdfLaTeX LuaLaTeX PSTricks pgf TikZ LaTeX-picture MetaPost inline graphics vector graphics animated GIF LaTeX dvips ps2pdf dvipdfmx XeLaTeX JavaScript Acrobat Reader KDE Okular PDF-XChange Foxit Reader PDF.js Firefox Chrome Chromium
diff --git a/macros/latex/contrib/animate/animate.pdf b/macros/latex/contrib/animate/animate.pdf
index a117175261..6d700e9a5f 100644
--- a/macros/latex/contrib/animate/animate.pdf
+++ b/macros/latex/contrib/animate/animate.pdf
Binary files differ
diff --git a/macros/latex/contrib/animate/animate.sty b/macros/latex/contrib/animate/animate.sty
index 08dbf8a881..461eb50b50 100644
--- a/macros/latex/contrib/animate/animate.sty
+++ b/macros/latex/contrib/animate/animate.sty
@@ -13,7 +13,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
-\def\@anim@version{2024/09/17}
+\def\@anim@version{2024/10/14}
\ProvidesPackage{animate}
[\@anim@version\space PDF & SVG animations from files and inline graphics]
@@ -1625,7 +1625,8 @@
\if@anim@controls@stop\setboolean{@anim@controls}{true}\fi%
\if@anim@controls@step\setboolean{@anim@controls}{true}\fi%
\fi%
- \edef\@anim@base{#3}%
+ \Gin@set@curr@file{#3}%
+ \expandafter\edef\expandafter\@anim@base\expandafter{\@curr@file}%
\edef\@anim@first{#4}%
\edef\@anim@last{#5}%
\@anim@checkmultipage{\@anim@base}{\@anim@ftype}%test for multipage file
diff --git a/macros/latex/contrib/animate/files/pstmetronome.tex b/macros/latex/contrib/animate/files/pstmetronome.tex
new file mode 100644
index 0000000000..e13bd4a0da
--- /dev/null
+++ b/macros/latex/contrib/animate/files/pstmetronome.tex
@@ -0,0 +1,233 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% animated metronome
+% this code is based to 99.9 percent on the work by Manuel Luque
+% (pstricks.blogspot.com)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+\pst@addfams{pst-metronome}
+\define@key[psset]{pst-metronome}{theta0}{\def\psk@oscmetronomethetai{#1 }}
+\psset[pst-metronome]{theta0=45} % position initiale du metronome
+\define@key[psset]{pst-metronome}{M}{\def\psk@oscmetronometM{#1 }}
+\psset[pst-metronome]{M=25} % masse du disque en g
+\define@key[psset]{pst-metronome}{m}{\def\psk@oscmetronometm{#1 }}
+\psset[pst-metronome]{m=6} % masse du curseur en g
+\define@key[psset]{pst-metronome}{r}{\def\psk@oscmetronomer{#1 }}
+\psset[pst-metronome]{r=1} % rayon du disque en cm
+\define@key[psset]{pst-metronome}{x}{\def\psk@oscmetronomex{#1 }}
+\psset[pst-metronome]{x=8.4} % position du curseur en cm par rapport à l'axe
+\define@key[psset]{pst-metronome}{d}{\def\psk@oscmetronomed{#1 }}
+\psset[pst-metronome]{d=3.2} % distance de l'axe au centre du disque en cm
+\define@key[psset]{pst-metronome}{dt}{\def\psk@oscmetronomedt{#1 }}
+\psset[pst-metronome]{dt=0.01} % pas pour RK4
+\define@key[psset]{pst-metronome}{nT}{\def\psk@oscmetronomenT{#1 }}
+\psset[pst-metronome]{nT=1} % nombre de périodes représentées
+%---- calculer theta(t) et thetapoint(t) --------
+\def\psmetronome{\pst@object{psmetronome}}
+\def\psmetronome@i{%
+\begingroup%
+\use@par%
+ \begin@SpecialObj%
+ \pstVerb{%
+ /deg2rad {180 div 3.14159 mul} def
+ /rad2deg {180 mul 3.14159 div} def
+ /gp 9.8 def % pesanteur
+ /radius \psk@oscmetronomer 1e-2 mul def % en m
+ /OA \psk@oscmetronomed 1e-2 mul def % distance de l'axe au centre du disque en m
+ /xC \psk@oscmetronomex 1e-2 mul def % position du curseur en m par rapport à l'axe
+ /theta0 \psk@oscmetronomethetai def % en degrés
+ /theta0rad theta0 deg2rad def % en radians
+ /Md \psk@oscmetronometM 1e-3 mul def % en kg
+ /mc \psk@oscmetronometm 1e-3 mul def % en kg
+ /dt \psk@oscmetronomedt def
+ /nT \psk@oscmetronomenT def
+ % moment d'inertie du métronome
+ % J=1/2M*R^2+M*a^2+m*x^2
+ /Ji {0.5 Md mul radius dup mul mul Md OA dup mul mul add mc xC dup mul mul add} def
+ /AT {4
+ Ji
+ gp Md OA mul mc xC mul sub mul
+ div
+ sqrt
+ mul} def
+ % Pour le calcul de la période
+ % coefficients de l'approximation polynômiale du calcul
+ % de l'intégrale elliptique
+% coefficient pour le calcul de l'intégrale elliptique
+ /m0 theta0 2 div sin def
+ /m1 {1 m0 dup mul sub} def
+ /m2 {m1 dup mul} def
+ /m3 {m2 m1 mul} def
+ /m4 {m2 dup mul} def
+ /m_1 {1 m1 div} def
+ /EllipticK {
+ 0.5
+ 0.12498593597 m1 mul add
+ 0.06880248576 m2 mul add
+ 0.03328355376 m3 mul add
+ 0.00441787012 m4 mul add
+ m_1 ln mul
+ 1.38629436112 add
+ 0.09666344259 m1 mul add
+ 0.03590092383 m2 mul add
+ 0.03742563713 m3 mul add
+ 0.01451196212 m4 mul add
+ } def
+/Tm {AT EllipticK mul} def
+% tableau des valeurs de theta(t)
+ /W 0 def % vitesse angulaire
+ /theta theta0 def
+ /oscillateur {sin gp Md OA mul mc xC mul sub mul neg mul Ji div} def
+ /j1 {W dt mul} def
+ /k1 {theta oscillateur dt mul} def
+ /j2 {W k1 2 div add dt mul} def
+ /k2 {theta j1 2 div rad2deg add oscillateur dt mul} def
+ /j3 {W k2 2 div add dt mul} def
+ /k3 {theta j2 2 div rad2deg add oscillateur dt mul} def
+ /j4 {W k3 add dt mul} def
+ /k4 {theta j3 rad2deg add oscillateur dt mul} def
+ /theta2 {theta j1 rad2deg 2 j2 rad2deg j3 rad2deg add mul add j4 rad2deg add 6 div add} def
+/tabTheta [ % pour l'animation
+ 0 theta0 % date angle
+dt dt Tm nT mul{ %
+ theta2 %
+ /W2 W k1 2 k2 k3 add mul add k4 add 6 div add def
+ /theta theta2 def
+ /W W2 def
+ } for
+ ] def
+/Nvaleurs tabTheta length 2 div cvi def
+ /W 0 def % vitesse angulaire
+ /theta theta0 def
+/tabThetaGraph [ % pour le graphique theta(t)
+ 0 theta0 % date angle
+0 dt Tm nT mul { % pop
+ theta2 % 180 div 3.14159 mul
+ /W2 W k1 2 k2 k3 add mul add k4 add 6 div add def
+ /theta theta2 def
+ /W W2 def
+ } for
+ ] def
+ /W 0 def % vitesse angulaire
+ /theta theta0 def
+/tabThetaPoint [ % pour le graphique thetapoint(t)
+ 0 0 % date angle
+dt dt Tm nT mul { % pop
+% theta2 % 180 div 3.14159 mul
+ /W2 W k1 2 k2 k3 add mul add k4 add 6 div add def
+ W2
+ /theta theta2 def
+ /W W2 def
+ } for
+ ] def
+/tabXOSC [ % oscillations par min en fonction de x
+0.5 0.1 12 {/xc exch def
+ /xC xc 1e-2 mul def
+ xc 60 Tm div % cvi
+ } for
+ ] def
+/tabXbattements [ % battements par min en fonction de x
+3 0.1 12 {/xc exch def
+ /xC xc 1e-2 mul def
+ xc 60 Tm div 2 mul % cvi
+ } for
+ ] def
+% graduation T --> x
+/tabXT [ % [T,x]
+ 40 1 220 {/batt exch def % battements
+ /Tmetronome2 120 batt div dup mul def
+ /A1 16 mc mul EllipticK dup mul mul def
+ /B1 gp Tmetronome2 mul mc mul def
+ /C1 gp Md mul OA mul Tmetronome2 mul neg
+ 8 Md mul radius dup mul mul 16 Md mul OA dup mul mul add EllipticK dup mul mul add def
+ /Delta B1 dup mul 4 A1 mul C1 mul sub sqrt def
+ /xC1 B1 neg Delta sub 2 div A1 div def
+ /xC2 B1 neg Delta add 2 div A1 div def
+ xC2 0 ge {/posC xC2 def}{/posC xC1 def} ifelse
+ batt posC 1e2 mul
+ } for
+ ] def
+/xT { % pour une valeur particulière battement -> position du curseur
+ /batt exch def
+ /Tmetronome2 120 batt div dup mul def
+ /A1 16 mc mul EllipticK dup mul mul def
+ /B1 gp Tmetronome2 mul mc mul def
+ /C1 gp Md mul OA mul Tmetronome2 mul neg
+ 8 Md mul radius dup mul mul 16 Md mul OA dup mul mul add EllipticK dup mul mul add def
+ /Delta B1 dup mul 4 A1 mul C1 mul sub sqrt def
+ /xC1 B1 neg Delta sub 2 div A1 div def
+ /xC2 B1 neg Delta add 2 div A1 div def
+ xC2 0 ge {/posC xC2 def}{/posC xC1 def} ifelse
+ posC 1e2 mul
+ } def
+/xC \psk@oscmetronomex 1e-2 mul def % position du curseur en m par rapport à l'axe
+/Tm {AT EllipticK mul} def
+ }%
+ \end@SpecialObj%
+\endgroup}
+%
+\def\psmetronomeA{\pst@object{psmetronomeA}}
+\def\psmetronomeA@i{%
+\begingroup%
+\use@par%
+ \begin@SpecialObj%
+ \pstVerb{%
+ /radius \psk@oscmetronomer 1e-2 mul def % en m
+ /OA \psk@oscmetronomed 1e-2 mul def % distance de l'axe au centre du disque en m
+ /xC \psk@oscmetronomex 1e-2 mul def % position du curseur en m par rapport à l'axe
+ }%
+\psframe[fillstyle=solid](! -0.075 \psk@oscmetronomed neg)(0.075,13)
+\pscircle[fillstyle=solid,fillcolor={[rgb]{0.75 0.75 0.75}}](! 0 \psk@oscmetronomed neg){!radius 1e2 mul}
+\pscircle[fillstyle=solid,linewidth=0.05](0,0){0.15}
+\pscircle*[linecolor=red](0,0){0.05}
+% curseur
+\pspolygon[fillstyle=solid](! -0.25 \psk@oscmetronomex 0.5 sub)(! -0.5 \psk@oscmetronomex 0.5 add)(!-0.075 \psk@oscmetronomex 0.5 add)(!-0.075 \psk@oscmetronomex 0.5 sub)
+\pspolygon[fillstyle=solid](! 0.25 \psk@oscmetronomex 0.5 sub)(! 0.5 \psk@oscmetronomex 0.5 add)(!0.075 \psk@oscmetronomex 0.5 add)(!0.075 \psk@oscmetronomex 0.5 sub)
+\pspolygon[fillstyle=solid,fillcolor=gray](! -0.25 \psk@oscmetronomex 0.5 sub)(! -0.3 \psk@oscmetronomex 0.3 sub)(! -0.075 \psk@oscmetronomex 0.3 sub)(!-0.075 \psk@oscmetronomex 0.3 add)(!0.075 \psk@oscmetronomex 0.3 add)(!0.075 \psk@oscmetronomex 0.3 sub)(!0.3 \psk@oscmetronomex 0.3 sub)(!0.25 \psk@oscmetronomex 0.5 sub)
+\pscircle[fillstyle=solid](!-0.125 \psk@oscmetronomex 0.4 sub){0.08}
+\pscircle[fillstyle=solid](!0.125 \psk@oscmetronomex 0.4 sub){0.08}
+% fin curseur
+{\psset{linecolor=red}
+\psline(!-.1 \psk@oscmetronomex)(!0.1 \psk@oscmetronomex)\psline(!0 \psk@oscmetronomex 0.1 sub)(!0 \psk@oscmetronomex 0.1 add)
+\psline(! -.1 \psk@oscmetronomed neg)(!0.1 \psk@oscmetronomed neg)\psline(! 0 \psk@oscmetronomed neg 0.1 sub)(!0 \psk@oscmetronomed neg 0.1 add)}
+\pnode(!0 \psk@oscmetronomex){C}% curseur
+\pnode(! 0 \psk@oscmetronomed neg){D}% disque
+%\pstextpath[c](0,-2ex){\psarcn[linestyle=none](D){1}{180}{0}}{\small\textsf{\textbf{m e t r o n o m e}}}
+%\pstextpath[c](0,1ex){\psarc[linestyle=none](D){1}{180}{0}}{\small\textsf{\textbf{P S t r i c k s}}}
+ \end@SpecialObj%
+\endgroup}
+\psmetronome%
+\pstVerb{/tabTempos [40 42 44 46 48 50 52 54 46 58 60 63 66 69 72 76 80 84 88 92 96 100 104 108 112 116 120 126 132 138 144 152 160 168 176 184 192 200 208] def}%
+
+\def\metronomebody{%
+ \pspolygon[fillstyle=solid,linewidth=2\pslinewidth,linearc=0.5,fillcolor=yellow!30](-5,-4.5)(5,-4.5)(1,14)(-1,14)
+ \psline(1.2,4.5)(1.2,12.5)
+ \psline(-1.2,4.5)(-1.2,12.5)
+ \multido{\i=0+2}{20}{%
+ \pstVerb{/BATT tabTempos \i\space get def}
+ \psline[linecolor=red](!1.2 BATT xT)(!0.7 BATT xT)
+ \uput[r](!0.7 BATT xT){\psPrintValue[PSfont=Helvetica,fontscale=6]{BATT}}
+ }%
+ \multido{\i=1+2}{19}{%
+ \pstVerb{/BATT tabTempos \i\space get def}
+ \psline[linecolor=red](!-1.2 BATT xT)(!-0.7 BATT xT)
+ \uput[r](!-1.3 BATT xT){\psPrintValue[PSfont=Helvetica,fontscale=6]{BATT}}}%
+ \rput(!0 40 xT){\textsf{\tiny GRAVE}}%
+ \rput(!0 46 xT){\textsf{\tiny LARGO}}%
+ \rput(!0 52 xT){\textsf{\tiny LENTO}}%
+ \rput(!0 58 xT){\textsf{\tiny ADAGIO}}%
+ \rput(!0 60 xT){\textsf{\tiny LARGETTO}}%
+ \rput(!0 66 xT){\textsf{\tiny ANDANTE}}%
+ \rput(!0 76 xT){\textsf{\tiny ANDANTINO}}%
+ \rput(!0 84 xT){\textsf{\tiny MODERATO}}%
+ \rput(!0 108 xT){\textsf{\tiny ALLEGRETTO}}%
+ \rput(!0 132 xT){\textsf{\tiny ALLEGRO}}%
+ \rput(!0 160 xT){\textsf{\tiny VIVACE}}%
+ \rput(!0 184 xT){\textsf{\tiny PRESTO}}%
+ \rput(!0 200 xT){\textsf{\tiny PRESTISSIMO}}%
+}
+
+\def\pendulum#1{%
+ \pstVerb{/iA #1\space def /date tabTheta iA get def /Theta tabTheta iA 1 add get def}%
+ \rput{!Theta}{\psmetronomeA}%
+}
+\makeatother
diff --git a/macros/latex/contrib/numbersets/README.md b/macros/latex/contrib/numbersets/README.md
new file mode 100644
index 0000000000..2b13bb83f3
--- /dev/null
+++ b/macros/latex/contrib/numbersets/README.md
@@ -0,0 +1,29 @@
+# The `numbersets` Package
+
+## Overview
+
+The `numbersets` package allows users to express mathematical concepts related to sets of numbers
+using meaningful commands rather than relying on visual representations.
+
+For example, using `\RealNumbers` clearly indicates the intention of denoting the set of all real numbers,
+while `\mathbb{R}` focuses solely on the formatting without conveying the underlying concept.
+Therefore, using `\RealNumbers` is preferable because it provides more context and meaning.
+
+### Key Features:
+- Command to specify typefaces for number sets.
+- Interface for defining typeface rules.
+- Interface for creating commands that represent number sets.
+- Several predefined presets for common number sets.
+
+## Contributing, Issue Reporting, and Repository Access
+
+The source code for the `numbersets` package is hosted on GitHub.
+
+[https://github.com/enunun/numbersets](https://github.com/enunun/numbersets)
+
+If you have any suggestions, feature requests, or bug reports, we encourage you to submit them via the repository’s issue tracker.
+This ensures that improvements and fixes are addressed efficiently. You can visit the Issues tab in the repository to create a new issue.
+
+## License
+
+This package is released under the MIT License, see [LICENSE](https://github.com/enunun/numbersets/blob/main/LICENSE). \ No newline at end of file
diff --git a/macros/latex/contrib/numbersets/numbersets-doc.pdf b/macros/latex/contrib/numbersets/numbersets-doc.pdf
new file mode 100644
index 0000000000..1ae9960f81
--- /dev/null
+++ b/macros/latex/contrib/numbersets/numbersets-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/numbersets/numbersets-doc.tex b/macros/latex/contrib/numbersets/numbersets-doc.tex
new file mode 100644
index 0000000000..db063bc141
--- /dev/null
+++ b/macros/latex/contrib/numbersets/numbersets-doc.tex
@@ -0,0 +1,301 @@
+% configuration for llmk
+% +++
+% sequence = [ "latex", "makeindex", "latex", "latex" ]
+% latex = "lualatex"
+% makeindex = "mendex"
+% [programs.makeindex]
+% args = ["%B.idx", "-sgind.ist"]
+% +++
+
+\documentclass{l3doc}
+
+\usepackage{makeidx}
+
+% Documentation target
+\usepackage{numbersets}
+
+\usepackage{booktabs}
+\usepackage{bxtexlogo}
+\usepackage{listings}
+\lstset{basicstyle=\ttfamily, escapeinside=||, tabsize=4, columns=fullflexible}
+\usepackage{unicode-math}
+\setmainfont{TeX Gyre Pagella}
+\setsansfont{TeX Gyre Heros}
+\setmonofont{Latin Modern Mono}
+\setmathfont{TeX Gyre Pagella Math}
+
+\NewDocumentCommand{\ThisPackageName}{}{\pkg{numbersets}}
+\NewDocumentCommand{\sourcecode}{m}{\texttt{#1}}
+
+\title{The \ThisPackageName{} Package}
+\author{Takumi Noguchi (enunun)}
+\date{2024-10-13}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{Overview}
+
+The \ThisPackageName{} package provides an easy way to implement the common preference for using commands
+that represent the \emph{meaning} of concepts to be expressed,
+rather than focusing solely on their visual appearance.
+For example, using a command like ``\cs[no-index]{RealNumbers}'' to denote the set of all real numbers \(\RealNumbers[style=bb]\) is preferable
+to using a purely visual representation like ``\cs[no-index]{mathbb\{R\}}''.
+
+This package provides the following key features:
+\begin{itemize}
+ \item A command to apply the desired typeface for representing sets of numbers.
+ \item An interface for defining rules that specify the typefaces for these sets.
+ \item An interface for defining commands that represent sets of numbers.
+ \item Several predefined presets for common number sets.
+\end{itemize}
+
+Although the default configuration assumes the use of the \pkg{unicode-math} package for handling mathematical typefaces,
+the \ThisPackageName{} package itself does not load the \pkg{unicode-math} package.
+To use the package with default settings,
+it is required to import the \pkg{unicode-math} package \emph{explicitly} in your document.
+However, since the \pkg{unicode-math} package is not loaded automatically by the \ThisPackageName{} package,
+users can modify their configuration even if the \pkg{unicode-math} package cannot be used.
+See the section \ref{sec:withoutunicode-math} for more details.
+
+
+\section{Package Options}
+\label{sec:packageoptions}
+
+\DescribeOption{style}
+The \ThisPackageName{} package provides a single option for customization:
+the \sourcecode{style} option.
+This option allows users to specify the typeface to be used when displaying number sets,
+and it is defined using a key-value format.
+
+\begin{itemize}
+ \item \sourcecode{bb}: BlackBoard Bold (default), like \(\NumberSet[style = bb]{N}\).
+ \item \sourcecode{bfup}: Bold Upright, like \(\NumberSet[style = bfup]{N}\).
+ \item \sourcecode{bfit}: Bold Italic, like \(\NumberSet[style = bfit]{N}\)
+\end{itemize}
+
+
+\begin{function}{\SetupNumberSetsOptions}
+ \begin{syntax}
+ \cs[no-index]{SetupNumberSetsOptions}\marg{options}
+ \end{syntax}
+ Changes the global options for the \ThisPackageName{} package,
+ which can be applied after the package import or at any point in the document.
+\end{function}
+
+For example, to set the default style to Bold Upright, you would write:
+\begin{lstlisting}
+ \SetupNumberSetsOptions{style=bfup}
+\end{lstlisting}
+
+
+\section{Basic Usage}
+
+The \cs{NumberSet} command allows users to display number sets using the desired typeface.
+The command can be customized by passing an optional \sourcecode{style} argument to specify the typeface locally for the number set.
+While the \sourcecode{style} option of this command affects only the local instance, the values
+it accepts are the same as those used for the package-level \sourcecode{style} option in the Section \ref{sec:packageoptions}.
+
+
+\begin{function}{\NumberSet}
+ \begin{syntax}
+ \cs{NumberSet}\oarg{options}\marg{symbol}
+ \end{syntax}
+ This command displays the specified number set
+ with the typeface defined by the \sourcecode{style} option. If no style is specified, the default style is applied.
+
+ It should be noted that the \cs[no-index]{NumberSet} command is primarily intended for use within math mode,
+ similar to how the \cs[no-index]{mathbb} command is typically used in math mode to display sets like \cs[no-index]{mathbb\{N\}}.
+\end{function}
+
+In the above examples:
+\begin{itemize}
+ \item \cs[no-index]{NumberSet\{N\}}: will be displayed like $\NumberSet{N}$ in the default style.
+ \item \cs[no-index]{NumberSet[style=bb]\{Z\}}: will be displayed like $\NumberSet[style=bb]{Z}$ in the BlackBoard Bold style.
+ \item \cs[no-index]{NumberSet[style=bfup]\{R\}}: will be displayed like $\NumberSet[style=bfup]{R}$ in the Bold Upright style.
+ \item \cs[no-index]{NumberSet[style=bfit]\{C\}}: will be displayed like $\NumberSet[style=bfit]{C}$ in the Bold Italic style.
+\end{itemize}
+
+It is important to note that the \cs[no-index]{NumberSet} command,
+while versatile, is a more generic and less descriptive command.
+For clarity and better readability in the main text,
+it is recommended to use more descriptive commands such as \cs[no-index]{NaturalNumbers} for representing the set of natural numbers.
+These commands provide more context and meaning, making the content easier to understand.
+See the section \ref{sec:customcommand} for defining custom commands for sets of numbers,
+and some presets described in the section \ref{sec:predefinedpresets} are provided by this package.
+
+
+\section{Defining Custom Number Set Commands}
+\label{sec:customcommand}
+
+The \cs{DeclareNumberSetCommand} allows users to define new commands for representing number sets with specific names,
+enhancing readability and semantic clarity in documents. This command can be particularly useful
+when you want to create descriptive names for commonly used number sets.
+
+\begin{function}{\DeclareNumberSetCommand}
+ \begin{syntax}
+ \cs{DeclareNumberSetCommand}\marg{name}\marg{symbol}
+ \end{syntax}
+ This command defines a new number set command. The first argument \meta{name} specifies the name of the new command,
+ while the second argument \meta{symbol} represents the symbol that will be displayed.
+\end{function}
+
+For example, to define a command for the set of all quaternions by \(\NumberSet{H}\), you would write:
+\begin{lstlisting}
+ \DeclareNumberSetCommand{Quaternions}{H}
+\end{lstlisting}
+
+Once defined, you can use the new command \cs[no-index]{Quaternions} in your document to display the symbol for the set of all quaternions.
+In addition, you can use the optional argument \sourcecode{style} to specify the typeface locally,
+similar to the \cs[no-index]{NumberSet} command.
+To display the set of all quaternions that you just defined above, you would write:
+\begin{lstlisting}
+ \Quaternions[style=bfup]
+\end{lstlisting}
+
+Internally, the definition using \cs[no-index]{DeclareNumberSetCommand}\marg{name}\marg{symbol} is equivalent to the following definition:
+\begin{lstlisting}
+ \NewDocumentCommand\|\meta{name}|
+ {o}
+ {
+ \IfValueTF{#1}
+ {
+ \NumberSet[#1]{|\meta{symbol}|}
+ }
+ {
+ \NumberSet{|\meta{symbol}|}
+ }
+ }
+\end{lstlisting}
+
+\section{Defining Custom Number Set Styles}
+
+The \cs{DeclareNumberSetStyle} command allows users to define (or overwrite)
+new styles (or registered styles) for displaying number sets,
+giving users greater control over the typeface used.
+This command can be useful when the built-in styles are insufficient for specific design needs.
+
+\begin{function}{\DeclareNumberSetStyle}
+ \begin{syntax}
+ \cs{DeclareNumberSetStyle}\marg{style}\marg{command}
+ \end{syntax}
+ This command defines a new style for number sets. The first argument \meta{style} specifies the name of the style,
+ and the second argument \meta{command} indicates the typeface command that will be applied when this style is selected.
+\end{function}
+
+For example, to define a new style using a bold sans-serif font, you would write:
+\begin{lstlisting}
+ \DeclareNumberSetStyle{boldsans}{\symbfsfup}
+\end{lstlisting}
+Once defined, you can use the identifier ``\sourcecode{boldsans}'' for the value of \sourcecode{style} option
+in the following commands:
+\begin{itemize}
+ \item \cs[no-index]{NumberSet} command
+ \item \cs[no-index]{SetupNumberSetsOptions} command
+ \item Custom command defined by the \cs[no-index]{DeclareNumberSetCommand} command
+\end{itemize}
+
+It should be noted that the \meta{command} argument of the \cs[no-index]{DeclareNumberSetStyle} command
+can accept \emph{only} a single control sequence.
+Namely, combinations of multiple commands (e.g., \cs[no-index]{overline\cs[no-index]{symbb}}) are not supported.
+To avoid this limitation, you should define a single control sequence as an abbreviation for the combinations.
+In this case, you should define an abbreviation like ``\cs[no-index]{bbline}'';
+after that, you can define the style identifier using this single control sequence:
+\begin{lstlisting}
+ \NewDocumentCommand\bbline{m}{\overline{\symbb{#1}}}
+ \DeclareNumberSetStyle{bbline}{\bbline}
+\end{lstlisting}
+
+The values (\sourcecode{bb}, \sourcecode{bfup}, \sourcecode{bfit}) provided by default for the style option
+can be considered as pre-defined identifiers that the \cs[no-index]{DeclareNumberSetStyle} command declares.
+The Table \ref{tab:predefinedidentifier} shows
+the list of predefined identifiers and the commands corresponding to each identifier.
+\begin{table}[h]
+ \centering
+ \caption{Predefined identifiers for the values of the \sourcecode{style} option}
+ \label{tab:predefinedidentifier}
+ \begin{tabular}{cc}
+ \toprule
+ Identifer & Command \\
+ \midrule
+ \sourcecode{bb} & \cs[no-index]{symbb} \\
+ \sourcecode{bfup} & \cs[no-index]{symbfup} \\
+ \sourcecode{bfit} & \cs[no-index]{symbfit} \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+
+\section{Using Without the \pkg{unicode-math} Package}
+\label{sec:withoutunicode-math}
+
+Although the default configuration of this package assumes the use of \pkg{unicode-math} package for handling mathematical typefaces,
+the \ThisPackageName{} package itself does not load the \pkg{unicode-math} package.
+Therefore, you can use the \ThisPackageName{} package without the \pkg{unicode-math} package by overriding the default configuration.
+
+Here is an example to use the \ThisPackageName{} package with \pkg{amssymb} package for blackboard bold symbols and \pkg{bm} package for bold italic symbols:
+\begin{lstlisting}
+ \usepackage{amssymb}
+ \usepackage{bm}
+ \usepackage{numbersets}
+ \DeclareNumberSetStyle{bb}{\mathbb}
+ \DeclareNumberSetStyle{bfup}{\mathbf}
+ \DeclareNumberSetStyle{bfit}{\bm}
+ ...
+ % in the document
+ % equivalent to \mathbb{P}
+ \NumberSet[style=bb]{P}
+ % equivalent to \mathbf{A}
+ \NumberSet[style=bfup]{A}
+ % equivalent to \bm{H}
+ \NumberSet[style=bfit]{H}
+\end{lstlisting}
+
+Note that you only need to reconfigure the styles that you actually use in your document.
+For example, if you only use the \sourcecode{bb} style, there is no need to reconfigure the unused \sourcecode{bfup} and \sourcecode{bfit} styles.
+
+\section{Predefined Presets for Common Number Sets}
+\label{sec:predefinedpresets}
+
+\begin{function}{\NaturalNumbers, \Integers, \RationalNumbers, \RealNumbers, \ComplexNumbers}
+ Several predefined presets are available in the \ThisPackageName{} package for commonly used number sets.
+ These presets are designed to help you clearly express the intended mathematical meaning,
+ rather than just applying a specific format.
+ The table \ref{tab:predefinednumberset} shows the list
+ of predefined commands for common sets of numbers.
+\end{function}
+
+\begin{table}[h]
+ \centering
+ \caption{Predefined commands for common sets of numbers}
+ \label{tab:predefinednumberset}
+ \begin{tabular}{cc}
+ \toprule
+ Command name & Output by default \\
+ \midrule
+ \cs{NaturalNumbers} & \(\NaturalNumbers\) \\
+ \cs{Integers} & \(\Integers\) \\
+ \cs{RationalNumbers} & \(\RationalNumbers\) \\
+ \cs{RealNumbers} & \(\RealNumbers\) \\
+ \cs{ComplexNumbers} & \(\ComplexNumbers\) \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+\section{Contributing, Issue Reporting, and Repository Access}
+
+The source code for the \ThisPackageName{} package is hosted on GitHub at the following repository:
+\begin{quote}
+ \url{https://github.com/enunun/numbersets}
+\end{quote}
+
+If you have any suggestions, feature requests, or bug reports,
+we encourage you to submit them via the repository's issue tracker.
+This ensures that improvements and fixes are addressed efficiently. You can visit the ``Issues'' tab in the repository to create a new issue.
+
+\printindex
+
+\end{document}
diff --git a/macros/latex/contrib/numbersets/numbersets.sty b/macros/latex/contrib/numbersets/numbersets.sty
new file mode 100644
index 0000000000..a2b4f2c4e2
--- /dev/null
+++ b/macros/latex/contrib/numbersets/numbersets.sty
@@ -0,0 +1,120 @@
+\ProvidesExplPackage{numbersets}{2024-10-13}{v0.1.0}{A package for displaying number sets with customizable typefaces}
+
+% List of properties to store style commands
+\prop_new:N \g_numbersets_styles_prop
+
+% Global default style for the package
+\cs_new:Nn \g_numbersets_default_style_tl: { bb }
+
+% Presets for typefaces
+\prop_put:Nnn \g_numbersets_styles_prop { bb } { \symbb }
+\prop_put:Nnn \g_numbersets_styles_prop { bfup } { \symbfup }
+\prop_put:Nnn \g_numbersets_styles_prop { bfit } { \symbfit }
+
+% Options for package
+\keys_define:nn { numbersets }
+{
+ style .tl_set:N = \g_numbersets_default_style_tl,
+ style .initial:n = bb,
+}
+
+\ProcessKeyOptions
+
+% Validation for property
+\cs_new_protected:Npn \numbersets_check_style:n #1
+{
+ \prop_if_in:NnTF \g_numbersets_styles_prop { #1 }
+ { }
+ {
+ \msg_error:nnn { numbersets } { unknown-style } { #1 }
+ }
+}
+
+% Error message for unknown options
+\msg_new:nnn { numbersets } { unknown-style }
+{
+ The~style~'#1'~is~not~declared.
+}
+
+% Command to declare (or overwrite) styles
+\NewDocumentCommand{\DeclareNumberSetStyle}{ m m }
+{
+ \prop_put:Nnn \g_numbersets_styles_prop { #1 } { #2 }
+}
+
+% Command for setup global option
+\NewDocumentCommand{\SetupNumberSetsOptions}{ m }
+{
+ \keys_set:nn { numbersets } { #1 }
+}
+
+% Function to apply the style command
+\cs_new_protected:Npn \numbersets_apply_style:n #1
+{
+ \prop_get:NnNTF \g_numbersets_styles_prop { #1 } \l_tmpa_tl
+ {
+ \use:n { \l_tmpa_tl }
+ }
+ {
+ \msg_error:nnn { numbersets } { unknown-style } { #1 }
+ }
+}
+
+% Store the style identifer of the \numberset command as a local variable
+\cs_new:Nn \l_numbersets_style_tl: { }
+
+% Options for the \numberset command
+\keys_define:nn { numberset }
+{
+ style .tl_set:N = \l_numbersets_style_tl,
+}
+
+% Command to display the set symbol with custom typefaces
+\NewDocumentCommand{\NumberSet}{ O{} m }
+{
+ \group_begin:
+ \keys_set:nn { numberset } { #1 }
+ \tl_if_empty:VTF \l_numbersets_style_tl
+ {
+ \tl_set_eq:NN \l_numbersets_style_tl \g_numbersets_default_style_tl
+ }
+ {}
+ \expandafter\numbersets_apply_style:n \expandafter{ \l_numbersets_style_tl }
+ { #2 }
+ \group_end:
+}
+
+% Command to declare custom commands for set composed of numbers
+\NewDocumentCommand{\DeclareNumberSetCommand}{ m m }
+{
+ \expandafter\NewDocumentCommand\cs:w#1\cs_end:
+ {o}
+ {
+ \IfValueTF{##1}
+ {
+ \NumberSet[##1]{#2}
+ }
+ {
+ \NumberSet{#2}
+ }
+ }
+}
+
+% Presets for some sets composed of numbers
+
+% Natural numbers
+\DeclareNumberSetCommand{NaturalNumbers}{N}
+
+% Integers
+\DeclareNumberSetCommand{Integers}{Z}
+
+% Rational numbers
+\DeclareNumberSetCommand{RationalNumbers}{Q}
+
+% Real Numbers
+\DeclareNumberSetCommand{RealNumbers}{R}
+
+% Complex Numbers
+\DeclareNumberSetCommand{ComplexNumbers}{C}
+
+\endinput \ No newline at end of file
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index b1fc7c59aa..b70a6c36fb 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20240909.0
+The LuaTeX-ja Package 20241014.0
--------------------------------
Copyright (c) 2011--2024 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -42,7 +42,7 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20240909.0 in the Git repository by
+ or tagged as 20241014.0 in the Git repository by
<https://github.com/luatexja/luatexja/archive/refs/tags/$VER.zip>
b. Extract the archive and process following three files by LuaLaTeX
@@ -92,4 +92,4 @@ Notes
This file and ltj-kinsoku.lua are not used anymore.
(Do not remove ltj-kinsoku.tex.)
-Last commit date: Mon Sep 9 05:16:53 2024 +0900
+Last commit date: Mon Oct 14 10:29:57 2024 +0900
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index 2d627fded2..4a64b591fa 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index de1d8f172d..981d4ddf93 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx
index 9ad5209465..5b46c260fc 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja.dtx
+++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx
@@ -3762,9 +3762,9 @@ This means the following two lines have the same meaning:
\jfont\hoge=hogem:jfm=ujis;-kern at 3.5mm % ==> kern 無効(明示)
\jfont\hoge=hogem:jfm=ujis at 3.5mm % ==> kern 有効(暗黙)
\jfont\hoge=hogem:jfm=ujis;+kern at 3.5mm % ==> kern 有効(明示)
-\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=-ujis}{} % ==> kern 無効(明示)
-\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=ujis}{} % ==> kern 有効(暗黙)
-\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=ujis+kern}{}% ==> kern 有効(明示)
+\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=ujis;-kern}{} % ==> kern 無効(明示)
+\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=ujis}{} % ==> kern 有効(暗黙)
+\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=ujis;+kern}{} % ==> kern 有効(明示)
\end{lstlisting}
\item バージョン20220411.0以降では,\LuaTeX-ja読み込み時や,\Pkg{ltjclasses}, \Pkg{ltjsclasses}において
@@ -3775,7 +3775,7 @@ This means the following two lines have the same meaning:
\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm}{}
\end{lstlisting}
とOpenType機能\texttt{kern}を明示的に無効化した状態で定義する.
- これは標準JFM(\texttt{jfm-ujis.lua}, \texttt{jfm-ujisv.lua})が
+ これは標準JFM\ (\texttt{jfm-ujis.lua}, \texttt{jfm-ujisv.lua})が
フォント由来のカーニングが入ることを期待していないためである.
\item
@@ -4862,7 +4862,7 @@ Hence we have the following result:
%<*ja>
(任意,バージョン2以降)
-優先順位付き行長調整が有効であり,かつ現在の文字クラスの文字が
+ 行末文字の位置調整が有効であり,かつ現在の文字クラスの文字が
行末に来た時に,この文字と行末の間には指定された値のいずれかの大きさのカーンが
挿入される(\autoref{ssec:adj}参照).
@@ -7629,7 +7629,7 @@ for making the difference obvious.}
\item[「中身までみた」行送り計算]
複数行に渡る文章を組版するときには行間に空きが入ることが普通である.
\TeX では各行が一つずつの水平ボックスをなしていることを思い出すと,隣り合った
- 2つの行(つまり水平ボックス)の間の空きは次のようにして決まるのだった:
+ 2\nobreak つの行(つまり水平ボックス)の間の空きは次のようにして決まるのだった:
\begin{itemize}
\item 「通常に組んだときの行間」$d$を,\cs{baselineskip}から
「前の行」の深さと「次の行」の高さを加えたものを引いた値とする.
@@ -11296,7 +11296,16 @@ $n$個あるペナルティの箇所が改行可能箇所である.いずれ
なお,段落の末尾には\cs{penalty10000}と\cs{parfillskip}由来のグルーが自動的に入るが,
これらとの兼ね合いのため\emph{最後のクラスタについては上記のノード挿入処理は行われない}.
-段落最終行の行末文字の位置調整は,すでに述べた「行分割後の場合」における最終行の処理をそのまま用いている.
+段落最終行の行末文字の位置調整は,すでに述べた「行分割後の場合」における最終行の処理を流用しているが,
+そのままでは「段落末尾をぶら下げ組($a_1=-0.5$)にする」ことができない
+\footnote{通常時は\cs{parfillskip}の内容は\texttt{0pt plus 1fil}であるため,
+ 負の長さになることはない.これに伴って,「段落末尾はぶら下げ組が望ましい」状況であっても,
+ 実際には末尾の句点(とその前の数文字)がまとめて次の行に追い出されてしまう.}ため,
+\begin{itemize}
+ \item 段落末尾の\cs{penalty10000}\cs{parfillskip}の直前に,$a_1\text{\cs{zw}}$のカーンを挿入する
+ \item 行分割後,行末文字の位置調整を行う前に,そのカーンを削除する
+\end{itemize}
+という前処理を追加している.
\subsection{グルーの調整}
$|\textit{total}|$の分だけが,行中のグルーの伸び量,あるいは縮み量に応じて負担されることになる.
diff --git a/macros/luatex/generic/luatexja/src/ltj-adjust.lua b/macros/luatex/generic/luatexja/src/ltj-adjust.lua
index 89ad7816d2..2214f1907c 100644
--- a/macros/luatex/generic/luatexja/src/ltj-adjust.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-adjust.lua
@@ -37,6 +37,7 @@ local node_tail = node.direct.tail
local get_attr = node.direct.get_attribute
local set_attr = node.direct.set_attribute
local insert_after = node.direct.insert_after
+local node_remove = node.direct.remove
local id_glyph = node.id 'glyph'
local id_kern = node.id 'kern'
@@ -205,7 +206,7 @@ end
-- step 1 最終行用
local min, max = math.min, math.max
local setsubtype = node.direct.setsubtype
-local function aw_step1_last(p, total)
+local function aw_step1_last(p, total, removed_le)
local head = getlist(p)
local x = node_tail(head); if not x then return total, false end
-- x: \rightskip
@@ -246,6 +247,7 @@ local function aw_step1_last(p, total)
-- 続行条件2: min(eadt[1], 0)<= \parfillskip <= max(eadt[#eadt], 0)
local pfw = getwidth(pf)
+ (total>0 and getfield(pf, 'stretch') or -getfield(pf, 'shrink')) *getfield(p, 'glue_set')
+ + removed_le
if pfw<min(0,eadt[1]) or max(0,eadt[#eadt])<pfw then return total, false end
-- \parfillskip を 0 にする
total = total + getwidth(pf)
@@ -393,6 +395,21 @@ do
end
end
end
+local insert_lineend_kern_tail
+do
+ local insert_before = node.direct.insert_before
+ local KINSOKU = luatexja.icflag_table.KINSOKU
+ insert_lineend_kern_tail = function (head, nq, last)
+ if nq.met then
+ local eadt = nq.met.char_type[nq.class].end_adjust
+ if eadt and eadt[1]<0 then
+ local x = node_new(id_kern, 1)
+ setkern(x, eadt[1]); set_attr(x, attr_icflag, LINEEND)
+ insert_before(head, node_prev(last), x)
+ end
+ end
+ end
+end
local adjust_width
do
@@ -408,7 +425,15 @@ do
last_p = p
end
if last_p then
- myaw_step2(last_p, myaw_step1_last(last_p, get_total_stretched(last_p)))
+ local removed_le = 0
+ local p = getlist(last_p); local pf = node_prev(node_tail(p))
+ if getid(pf) == id_glue and getsubtype(pf) == 15 then
+ pf = node_prev(node_prev(pf))
+ if getid(pf) == id_kern and get_attr_icflag(pf)==LINEEND then
+ removed_le = getwidth(pf); node_remove(p, pf); node_free(pf)
+ end
+ end
+ myaw_step2(last_p, myaw_step1_last(last_p, get_total_stretched(last_p), removed_le))
end
return to_node(head)
end
@@ -426,6 +451,7 @@ do
if status_le==2 then
if not luatexbase.in_callback('luatexja.adjust_jfmglue', 'luatexja.adjust') then
ltjb.add_to_callback('luatexja.adjust_jfmglue', insert_lineend_kern, 'luatexja.adjust')
+ ltjb.add_to_callback('luatexja.adjust_jfmglue_tail', insert_lineend_kern_tail, 'luatexja.adjust')
end
myaw_step1, myaw_step1_last = dummy, aw_step1_last
else
@@ -435,7 +461,8 @@ do
myaw_step1, myaw_step1_last = aw_step1, aw_step1_last
end
if luatexbase.in_callback('luatexja.adjust_jfmglue', 'luatexja.adjust') then
- luatexbase.remove_from_callback('luatexja.adjust_jfmglue', 'luatexja.adjust')
+ luatexbase.remove_from_callback('luatexja.adjust_jfmglue', 'luatexja.adjust')
+ luatexbase.remove_from_callback('luatexja.adjust_jfmglue_tail', 'luatexja.adjust')
end
end
myaw_step2 = (status_pr>0) and aw_step2 or aw_step2_dummy
@@ -560,7 +587,6 @@ end
do
local ltja = luatexja.adjust
local sid_user = node.subtype 'user_defined'
- local node_remove = node.direct.remove
local node_write = node.direct.write
local getvalue = node.direct.getdata
local setvalue = node.direct.setdata
diff --git a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
index 6eda9f0fde..38d9a72d52 100644
--- a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
@@ -3,7 +3,7 @@
--
luatexbase.provides_module({
name = 'luatexja.jfmglue',
- date = '2024-09-01',
+ date = '2024-10-12',
description = 'Insertion process of JFM glues, [x]kanjiskip and others',
})
luatexja.jfmglue = luatexja.jfmglue or {}
@@ -587,7 +587,7 @@ function calc_np(last, lp)
if k then return lp end
end
end
- Np=nil
+ Np = nil
end
end -- 001 -----------------------------------------------
@@ -693,6 +693,7 @@ end
-------------------- 最下層の処理
luatexbase.create_callback('luatexja.adjust_jfmglue', 'simple', function(n) return n end)
+luatexbase.create_callback('luatexja.adjust_jfmglue_tail', 'simple', function(n) return n end)
-- change penalties (or create a new penalty, if needed)
local function handle_penalty_normal(post, pre, g)
@@ -1138,6 +1139,7 @@ local function handle_list_tail(mode, last)
adjust_nq()
if mode then
-- the current list is to be line-breaked.
+ call_callback('luatexja.adjust_jfmglue_tail', head, Nq, last)
-- Insert \jcharwidowpenalty
if widow_Np.first then handle_penalty_jwp() end
else
diff --git a/macros/luatex/generic/luatexja/src/luatexja-core.sty b/macros/luatex/generic/luatexja/src/luatexja-core.sty
index a5801ed386..341c7aa37d 100644
--- a/macros/luatex/generic/luatexja/src/luatexja-core.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja-core.sty
@@ -68,7 +68,7 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja-core}[2023-04-06 Core of LuaTeX-ja]
+ \ProvidesPackage{luatexja-core}[2023-10-07 Core of LuaTeX-ja]
\endlinechar=13 %
\RequirePackage{infwarerr}
\endlinechar=-1 %
@@ -774,10 +774,9 @@
%%------------------ Load module for the format
-
\directlua{luatexja.load_kinsoku()}
\ifltj@in@latex %<*LaTeX>
- \RequirePackage{ltj-latex}
+ \usepackage{ltj-latex}
\else\ifltj@in@plain %<*plain>
\input ltj-plain.sty %
\fi\fi %</LaTeX|plain>
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index 90bb4fdf7e..8b05af3cc9 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -27,7 +27,7 @@
\newif\ifltj@disablejfam
%%%% VERSION
-\def\LuaTeXjaversion{20240909.0}
+\def\LuaTeXjaversion{20241014.0}
%% Check if LaTeX is used.
\begingroup\expandafter\expandafter\expandafter\endgroup
diff --git a/timestamp b/timestamp
index fef5e5f83e..50a3beaa48 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
irony.dante.de
# The year-month-day-hour-minute of this site's material:
-2024-10-14-02-02
+2024-10-15-02-02