summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-01-05 03:00:57 +0000
committerNorbert Preining <norbert@preining.info>2022-01-05 03:00:57 +0000
commitc03c0d515f1bfbd111d40e78805db4696e080fb8 (patch)
tree4d72d1df66079b3937776da41a78d71189719dad
parent1903b598f8dda613f5c584bb18ccfd2fd8c278bb (diff)
CTAN sync 202201050300
-rw-r--r--FILES.byname1191
-rw-r--r--FILES.byname.gzbin2411685 -> 2409888 bytes
-rw-r--r--FILES.last07days648
-rw-r--r--fonts/newtx/README5
-rw-r--r--fonts/newtx/tex/newtxtext.sty6
-rw-r--r--macros/latex/contrib/acro/README4
-rw-r--r--macros/latex/contrib/acro/acro-manual.pdfbin889312 -> 907817 bytes
-rw-r--r--macros/latex/contrib/acro/acro-manual.tex48
-rw-r--r--macros/latex/contrib/acro/acro.sty122
-rw-r--r--macros/latex/contrib/dbshow/README.md32
-rw-r--r--macros/latex/contrib/dbshow/dbshow-doc.pdfbin0 -> 252249 bytes
-rw-r--r--macros/latex/contrib/dbshow/dbshow-doc.tex1059
-rw-r--r--macros/latex/contrib/dbshow/dbshow.sty661
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx8
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin594564 -> 594551 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex4
-rw-r--r--macros/latex/contrib/enotez/README4
-rw-r--r--macros/latex/contrib/enotez/enotez.sty14
-rw-r--r--macros/latex/contrib/enotez/enotez_en.pdfbin451515 -> 465670 bytes
-rw-r--r--macros/latex/contrib/enotez/enotez_en.tex2
-rw-r--r--macros/latex/contrib/fnpct/README4
-rw-r--r--macros/latex/contrib/fnpct/fnpct-manual.cls2
-rw-r--r--macros/latex/contrib/fnpct/fnpct-manual.pdfbin472808 -> 489527 bytes
-rw-r--r--macros/latex/contrib/fnpct/fnpct-manual.tex8
-rw-r--r--macros/latex/contrib/fnpct/fnpct.sty16
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md379
-rw-r--r--macros/latex/contrib/siunitx/siunitx-angle.dtx6
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin607749 -> 607911 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-compound.dtx19
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx14
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx10
-rw-r--r--macros/latex/contrib/siunitx/siunitx.ins2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin638352 -> 638349 bytes
-rw-r--r--macros/latex/contrib/swfigure/README.txt4
-rw-r--r--macros/latex/contrib/swfigure/swfigure.dtx56
-rw-r--r--macros/latex/contrib/swfigure/swfigure.pdfbin1150386 -> 1178086 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-base/README.md91
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdfbin357692 -> 0 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-BB.tex289
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-axes.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-compilation.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-divers.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-example.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-grid.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-initialisation.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-installation.tex41
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-main.tex100
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-marks.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-news.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-point.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/tkz-base.pdfbin0 -> 343252 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/preamble-standalone.ltx2
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.1.1.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.2.1.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.3.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.4.0.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.5.1.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.1.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.2.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.3.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.7.1.tex25
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.9.0.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-12.1.2.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.2.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.2.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.2.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.4.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-14.1.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.1.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.1.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.2.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.3.1.tex31
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.4.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.5.1.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.2.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.3.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.4.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.2.1.tex28
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-3.1.0.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.1.0.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.2.0.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.1.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.2.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.0.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.1.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.2.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.3.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.0.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.1.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.2.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.3.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.4.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.5.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.6.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.10.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.10.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.11.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.2.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.3.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.4.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.5.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.6.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.7.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.8.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.9.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.2.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.3.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.1.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.2.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.3.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.1.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.2.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.9.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.10.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.11.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.2.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.3.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.4.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.5.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.6.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.7.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.8.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.9.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.1.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.1.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.2.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.2.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.3.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.2.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.3.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.13.1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.0.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.2.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.3.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.3.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.4.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.2.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.1.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.2.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.3.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.1.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.2.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.2.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.9.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzBase-9.2.0.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg49
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty54
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-shape.tex51
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex34
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axesmin.tex171
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex60
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex157
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex56
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex52
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-colors.tex57
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex73
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/README.md50
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/Euclidean_geometry.pdfbin480539 -> 0 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/TKZdoc-euclide.pdfbin780910 -> 0 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_1.pdfbin24350 -> 0 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_2.pdfbin20779 -> 0 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex34
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex634
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-arcs.tex178
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-base.tex61
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex204
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex562
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex435
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex61
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-config.tex196
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex987
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex166
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex1327
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-exemples.tex539
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex297
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-installation.tex60
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex289
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex437
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex490
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdfbin0 -> 998875 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex196
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-marking.tex406
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex51
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex319
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex411
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex281
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex746
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointwith.tex159
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex366
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex650
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rapporteur.tex3
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rnd.tex123
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-sectors.tex224
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex45
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex333
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex139
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex428
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdfbin0 -> 998875 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/preamble-standalone.ltx2
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.0.0.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.1.tex34
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.2.tex32
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.3.tex29
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.4.0.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.5.0.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.6.1.tex25
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.10.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.11.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.2.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.3.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.4.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.5.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.6.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.7.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.8.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.9.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.2.1.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.2.0.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.3.0.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.0.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.1.tex27
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.0.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.1.tex30
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.6.0.tex32
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.1.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.2.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.3.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.4.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.5.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.1.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.2.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.3.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.4.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.5.tex27
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.1.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.2.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.3.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.4.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.5.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.6.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.2.1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.2.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.3.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.0.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.1.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.2.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.4.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.0.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.2.tex33
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.3.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.2.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.3.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.1.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.2.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.3.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.4.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.5.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.1.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.2.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.3.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.4.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.5.tex33
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.6.tex27
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.7.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.8.tex33
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.2.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.3.tex27
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.2.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.2.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.3.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.4.1.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.5.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.6.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.2.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.2.tex27
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.9.1.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.1.tex25
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.10.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.2.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.3.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.4.tex32
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.5.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.6.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.7.tex29
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.8.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.9.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.1.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.2.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.3.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.4.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.3.1.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.4.1.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.5.1.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.6.1.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.1.1.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.1.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.2.tex29
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.3.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.4.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.6.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.7.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.8.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.9.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.1.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.2.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.3.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.4.tex36
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.5.tex25
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.2.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.3.tex30
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.2.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.3.1.tex28
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.2.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.3.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.4.tex31
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.2.0.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.3.1.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.0.tex27
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.1.tex30
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.5.0.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.1.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.2.tex28
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.1.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.2.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.3.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.4.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.5.tex31
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.1.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.2.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.3.1.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.1.0.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.2.0.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.3.0.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.4.0.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.5.0.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.6.0.tex25
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.7.0.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.8.0.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.0.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.1.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.2.1.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.4.1.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.1.tex19
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.2.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.2.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.2.0.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.3.1.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.2.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.3.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.4.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.1.tex34
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.2.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-28.1.1.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.1.0.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.2.0.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.2.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.3.tex28
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.4.tex31
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.5.tex33
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.10.tex58
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.11.tex39
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.12.tex50
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.2.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.3.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.4.tex28
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.5.tex36
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.6.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.7.tex34
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.8.tex30
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.9.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.1.tex29
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.2.tex27
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.3.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.2.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.1.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.2.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.4.0.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.2.0.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.3.0.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.4.0.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.0.0.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.2.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.3.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.4.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.5.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.1.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.2.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.3.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.4.0.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.5.0.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.1.1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.2.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.3.0.tex29
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.1.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.2.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.3.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.4.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.5.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.6.tex35
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.7.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.8.tex27
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.9.tex29
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.2.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.3.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.4.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.1.1.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.2.0.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.0.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.1.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.2.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.3.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.4.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.5.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.6.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.7.tex26
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.8.tex22
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.3.1.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg205
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty205
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex122
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex51
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-angles.tex297
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-arcs.tex178
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex171
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex161
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex88
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex56
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex554
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex135
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex228
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex75
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex39
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex83
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex99
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex132
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex36
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex536
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex761
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex58
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex35
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex100
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex117
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex107
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex30
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex (renamed from macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-angles.tex)34
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex89
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex57
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex (renamed from macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-intersections.tex)71
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex (renamed from macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-math.tex)65
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex67
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex88
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex172
-rw-r--r--macros/latex/contrib/translations/README4
-rw-r--r--macros/latex/contrib/translations/dicts/translations-basic-dictionary-brazil.trsl2
-rw-r--r--macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl2
-rw-r--r--macros/latex/contrib/translations/dicts/translations-basic-dictionary-dutch.trsl56
-rw-r--r--macros/latex/contrib/translations/dicts/translations-basic-dictionary-english.trsl2
-rw-r--r--macros/latex/contrib/translations/dicts/translations-basic-dictionary-french.trsl2
-rw-r--r--macros/latex/contrib/translations/dicts/translations-basic-dictionary-german.trsl2
-rw-r--r--macros/latex/contrib/translations/dicts/translations-basic-dictionary-spanish.trsl2
-rw-r--r--macros/latex/contrib/translations/translations.sty25
-rw-r--r--macros/latex/contrib/translations/translations_en.pdfbin496826 -> 515117 bytes
-rw-r--r--macros/latex/contrib/translations/translations_en.tex12
-rw-r--r--support/texlogsieve/README.md97
-rwxr-xr-xsupport/texlogsieve/texlogsieve733
-rw-r--r--support/texlogsieve/texlogsieve.1149
-rw-r--r--support/texlogsieve/texlogsieve.pdfbin46978 -> 51179 bytes
-rw-r--r--support/texlogsieve/texlogsieve.tex210
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl3
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb158
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2335332 -> 2337640 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin634085 -> 631401 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini10
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--timestamp2
517 files changed, 15725 insertions, 15324 deletions
diff --git a/FILES.byname b/FILES.byname
index ae9fdadd90..4cd18a90a4 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5107,7 +5107,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
-2022/01/03 | 166424 | FILES.last07days
+2022/01/04 | 174185 | 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
@@ -82296,7 +82296,7 @@
2021/12/18 | 199896 | fonts/newtx/opentype/TeXGyreTermesX-Italic.otf
2021/12/17 | 207280 | fonts/newtx/opentype/TeXGyreTermesX-Regular.otf
2021/12/18 | 206192 | fonts/newtx/opentype/TeXGyreTermesX-Slanted.otf
-2021/12/27 | 41551 | fonts/newtx/README
+2022/01/04 | 41628 | fonts/newtx/README
2018/06/07 | 312975 | fonts/newtxsf/doc/newtxsf-doc.pdf
2018/06/07 | 6059 | fonts/newtxsf/doc/newtxsf-doc.tex
2014/09/30 | 43780 | fonts/newtxsf/doc/OFL-FAQ.txt
@@ -82343,7 +82343,7 @@
2021/12/20 | 139753 | fonts/newtx/tex/newtxmath.sty
2021/12/27 | 4000 | fonts/newtx/tex/newtx.sty
2020/12/19 | 144 | fonts/newtx/tex/newtx-subs.tex
-2021/12/27 | 19130 | fonts/newtx/tex/newtxtext.sty
+2022/01/04 | 19131 | fonts/newtx/tex/newtxtext.sty
2019/10/23 | 818 | fonts/newtx/tex/omlntxebgmi.fd
2016/10/07 | 1919 | fonts/newtx/tex/omlntxmi.fd
2018/04/27 | 781 | fonts/newtx/tex/omlntxstx2mi.fd
@@ -83270,7 +83270,7 @@
2019/11/02 | 2656 | fonts/newtx/vf/zutbmi.vf
2021/03/22 | 2176 | fonts/newtx/vf/zutmia.vf
2019/11/02 | 2552 | fonts/newtx/vf/zutmi.vf
-2021/12/27 | 9343039 | fonts/newtx.zip
+2022/01/04 | 9343055 | fonts/newtx.zip
2005/10/24 | 6224 | fonts/niceframe/afm/bbding10.afm
2005/10/24 | 2299 | fonts/niceframe/afm/dingbat.afm
2005/10/24 | 9099 | fonts/niceframe/afm/karta15.afm
@@ -184131,7 +184131,7 @@
2012/09/24 | 130991 | install/macros/latex/contrib/scrjrnl.tds.zip
2021/11/10 | 657160 | install/macros/latex/contrib/sdaps.tds.zip
2019/12/10 | 544332 | install/macros/latex/contrib/selinput.tds.zip
-2021/12/04 | 1460734 | install/macros/latex/contrib/siunitx.tds.zip
+2022/01/04 | 1461111 | install/macros/latex/contrib/siunitx.tds.zip
2019/10/15 | 315856 | install/macros/latex/contrib/skmath.tds.zip
2019/10/16 | 345652 | install/macros/latex/contrib/skrapport.tds.zip
2019/12/15 | 357584 | install/macros/latex/contrib/soulutf8.tds.zip
@@ -200606,37 +200606,37 @@
2000/05/18 | 2170 | macros/latex/contrib/acmconf/README
2000/05/18 | 30 | macros/latex/contrib/acmconf/THIS-IS-VERSION-1.3
2008/05/14 | 105778 | macros/latex/contrib/acmconf.zip
-2021/01/16 | 144061 | macros/latex/contrib/acro/acro2.sty
-2021/01/16 | 3252 | macros/latex/contrib/acro/acro-examples.sty
-2021/01/16 | 889312 | macros/latex/contrib/acro/acro-manual.pdf
-2021/01/16 | 104364 | macros/latex/contrib/acro/acro-manual.tex
-2021/01/16 | 172864 | macros/latex/contrib/acro/acro.sty
-2021/01/16 | 20922 | macros/latex/contrib/acro/examples/acro.example.acflike.pdf
-2021/01/16 | 315 | macros/latex/contrib/acro/examples/acro.example.acflike.tex
-2021/01/16 | 125351 | macros/latex/contrib/acro/examples/acro.example.basic.pdf
-2021/01/16 | 3214 | macros/latex/contrib/acro/examples/acro.example.basic.tex
-2021/01/16 | 30275 | macros/latex/contrib/acro/examples/acro.example.issue-109.pdf
-2021/01/16 | 329 | macros/latex/contrib/acro/examples/acro.example.issue-109.tex
-2021/01/16 | 15733 | macros/latex/contrib/acro/examples/acro.example.issue-111.pdf
-2021/01/16 | 706 | macros/latex/contrib/acro/examples/acro.example.issue-111.tex
-2021/01/16 | 8175 | macros/latex/contrib/acro/examples/acro.example.issue-119.pdf
-2021/01/16 | 983 | macros/latex/contrib/acro/examples/acro.example.issue-119.tex
-2021/01/16 | 24224 | macros/latex/contrib/acro/examples/acro.example.issue-154.pdf
-2021/01/16 | 286 | macros/latex/contrib/acro/examples/acro.example.issue-154.tex
-2021/01/16 | 13686 | macros/latex/contrib/acro/examples/acro.example.possessive.pdf
-2021/01/16 | 779 | macros/latex/contrib/acro/examples/acro.example.possessive.tex
-2021/01/16 | 32432 | macros/latex/contrib/acro/examples/acro.example.texsx-505891.pdf
-2021/01/16 | 1068 | macros/latex/contrib/acro/examples/acro.example.texsx-505891.tex
-2021/01/16 | 33721 | macros/latex/contrib/acro/examples/acro.example.texsx-507726.pdf
-2021/01/16 | 1476 | macros/latex/contrib/acro/examples/acro.example.texsx-507726.tex
-2021/01/16 | 22752 | macros/latex/contrib/acro/examples/acro.example.texsx-513623.pdf
-2021/01/16 | 353 | macros/latex/contrib/acro/examples/acro.example.texsx-513623.tex
-2021/01/16 | 15855 | macros/latex/contrib/acro/examples/acro.example.texsx-515295.pdf
-2021/01/16 | 372 | macros/latex/contrib/acro/examples/acro.example.texsx-515295.tex
-2021/01/16 | 15808 | macros/latex/contrib/acro/examples/acro.example.texsx-542461.pdf
-2021/01/16 | 757 | macros/latex/contrib/acro/examples/acro.example.texsx-542461.tex
-2021/01/16 | 65067 | macros/latex/contrib/acro/examples/acro.example.units.pdf
-2021/01/16 | 1978 | macros/latex/contrib/acro/examples/acro.example.units.tex
+2022/01/04 | 144061 | macros/latex/contrib/acro/acro2.sty
+2022/01/04 | 3252 | macros/latex/contrib/acro/acro-examples.sty
+2022/01/04 | 907817 | macros/latex/contrib/acro/acro-manual.pdf
+2022/01/04 | 104689 | macros/latex/contrib/acro/acro-manual.tex
+2022/01/04 | 173809 | macros/latex/contrib/acro/acro.sty
+2022/01/04 | 20922 | macros/latex/contrib/acro/examples/acro.example.acflike.pdf
+2022/01/04 | 315 | macros/latex/contrib/acro/examples/acro.example.acflike.tex
+2022/01/04 | 125351 | macros/latex/contrib/acro/examples/acro.example.basic.pdf
+2022/01/04 | 3214 | macros/latex/contrib/acro/examples/acro.example.basic.tex
+2022/01/04 | 30275 | macros/latex/contrib/acro/examples/acro.example.issue-109.pdf
+2022/01/04 | 329 | macros/latex/contrib/acro/examples/acro.example.issue-109.tex
+2022/01/04 | 15733 | macros/latex/contrib/acro/examples/acro.example.issue-111.pdf
+2022/01/04 | 706 | macros/latex/contrib/acro/examples/acro.example.issue-111.tex
+2022/01/04 | 8175 | macros/latex/contrib/acro/examples/acro.example.issue-119.pdf
+2022/01/04 | 983 | macros/latex/contrib/acro/examples/acro.example.issue-119.tex
+2022/01/04 | 24224 | macros/latex/contrib/acro/examples/acro.example.issue-154.pdf
+2022/01/04 | 286 | macros/latex/contrib/acro/examples/acro.example.issue-154.tex
+2022/01/04 | 13686 | macros/latex/contrib/acro/examples/acro.example.possessive.pdf
+2022/01/04 | 779 | macros/latex/contrib/acro/examples/acro.example.possessive.tex
+2022/01/04 | 32432 | macros/latex/contrib/acro/examples/acro.example.texsx-505891.pdf
+2022/01/04 | 1068 | macros/latex/contrib/acro/examples/acro.example.texsx-505891.tex
+2022/01/04 | 33721 | macros/latex/contrib/acro/examples/acro.example.texsx-507726.pdf
+2022/01/04 | 1476 | macros/latex/contrib/acro/examples/acro.example.texsx-507726.tex
+2022/01/04 | 22752 | macros/latex/contrib/acro/examples/acro.example.texsx-513623.pdf
+2022/01/04 | 353 | macros/latex/contrib/acro/examples/acro.example.texsx-513623.tex
+2022/01/04 | 15855 | macros/latex/contrib/acro/examples/acro.example.texsx-515295.pdf
+2022/01/04 | 372 | macros/latex/contrib/acro/examples/acro.example.texsx-515295.tex
+2022/01/04 | 15808 | macros/latex/contrib/acro/examples/acro.example.texsx-542461.pdf
+2022/01/04 | 757 | macros/latex/contrib/acro/examples/acro.example.texsx-542461.tex
+2022/01/04 | 65067 | macros/latex/contrib/acro/examples/acro.example.units.pdf
+2022/01/04 | 1978 | macros/latex/contrib/acro/examples/acro.example.units.tex
2010/02/13 | 164875 | macros/latex/contrib/acromake/acromake.pdf
2010/02/15 | 4599 | macros/latex/contrib/acromake/acromake.sty
2010/02/13 | 2922 | macros/latex/contrib/acromake/acromake.tex
@@ -200647,7 +200647,7 @@
2020/04/11 | 9214 | macros/latex/contrib/acronym/CHANGES
2020/04/11 | 1017 | macros/latex/contrib/acronym/README
2020/04/11 | 295778 | macros/latex/contrib/acronym.zip
-2021/01/16 | 2125 | macros/latex/contrib/acro/README
+2022/01/04 | 2125 | macros/latex/contrib/acro/README
2010/11/19 | 11356 | macros/latex/contrib/acroterm/acroterm.dtx
2010/11/19 | 1394 | macros/latex/contrib/acroterm/acroterm.ins
2010/11/19 | 172447 | macros/latex/contrib/acroterm/acroterm.pdf
@@ -200697,7 +200697,7 @@
2021/05/06 | 209306 | macros/latex/contrib/acrotex/web.dtx
2021/10/13 | 2338 | macros/latex/contrib/acrotex/web.ins
2021/10/13 | 3562337 | macros/latex/contrib/acrotex.zip
-2021/01/16 | 1382570 | macros/latex/contrib/acro.zip
+2022/01/04 | 1398820 | macros/latex/contrib/acro.zip
2019/06/13 | 26799 | macros/latex/contrib/actuarialangle/actuarialangle.dtx
2019/06/13 | 120479 | macros/latex/contrib/actuarialangle/actuarialangle.pdf
2019/06/13 | 1176 | macros/latex/contrib/actuarialangle/README.md
@@ -207629,6 +207629,11 @@
2012/12/31 | 7429 | macros/latex/contrib/dblfloatfix/dblfloatfix.sty
2012/12/31 | 2019 | macros/latex/contrib/dblfloatfix/dblfloatfix.tex
2013/01/29 | 220773 | macros/latex/contrib/dblfloatfix.zip
+2022/01/04 | 252249 | macros/latex/contrib/dbshow/dbshow-doc.pdf
+2022/01/04 | 35310 | macros/latex/contrib/dbshow/dbshow-doc.tex
+2022/01/04 | 21254 | macros/latex/contrib/dbshow/dbshow.sty
+2022/01/04 | 1146 | macros/latex/contrib/dbshow/README.md
+2022/01/04 | 261913 | macros/latex/contrib/dbshow.zip
2021/09/03 | 59921 | macros/latex/contrib/dccpaper/dccpaper-by.eps
2021/09/03 | 5012 | macros/latex/contrib/dccpaper/dccpaper-by.pdf
2021/09/03 | 99097 | macros/latex/contrib/dccpaper/dccpaper.dtx
@@ -208553,12 +208558,12 @@
2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt
2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README
2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip
-2022/01/02 | 83106 | macros/latex/contrib/easybook/easybook.dtx
+2022/01/04 | 83104 | macros/latex/contrib/easybook/easybook.dtx
2022/01/02 | 2085 | macros/latex/contrib/easybook/easybook.ins
-2022/01/02 | 594564 | macros/latex/contrib/easybook/easybook.pdf
-2022/01/02 | 84780 | macros/latex/contrib/easybook/easybook.tex
+2022/01/04 | 594551 | macros/latex/contrib/easybook/easybook.pdf
+2022/01/04 | 84780 | macros/latex/contrib/easybook/easybook.tex
2021/11/17 | 795 | macros/latex/contrib/easybook/README.md
-2022/01/02 | 637530 | macros/latex/contrib/easybook.zip
+2022/01/04 | 637539 | macros/latex/contrib/easybook.zip
2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf
2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf
2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf
@@ -209229,12 +209234,12 @@
2012/12/18 | 34236 | macros/latex/contrib/engtlc/itengtlc.tex
2012/12/18 | 537 | macros/latex/contrib/engtlc/README
2012/12/18 | 798989 | macros/latex/contrib/engtlc.zip
-2020/12/13 | 451515 | macros/latex/contrib/enotez/enotez_en.pdf
-2020/12/13 | 22193 | macros/latex/contrib/enotez/enotez_en.tex
-2020/12/13 | 3263 | macros/latex/contrib/enotez/enotez_split_example.tex
-2020/12/13 | 37364 | macros/latex/contrib/enotez/enotez.sty
-2020/12/13 | 1312 | macros/latex/contrib/enotez/README
-2020/12/13 | 466432 | macros/latex/contrib/enotez.zip
+2022/01/04 | 465670 | macros/latex/contrib/enotez/enotez_en.pdf
+2022/01/04 | 22193 | macros/latex/contrib/enotez/enotez_en.tex
+2022/01/04 | 3263 | macros/latex/contrib/enotez/enotez_split_example.tex
+2022/01/04 | 37436 | macros/latex/contrib/enotez/enotez.sty
+2022/01/04 | 1312 | macros/latex/contrib/enotez/README
+2022/01/04 | 478118 | macros/latex/contrib/enotez.zip
2019/06/20 | 145488 | macros/latex/contrib/enumitem/enumitem.pdf
2019/06/20 | 51697 | macros/latex/contrib/enumitem/enumitem.sty
2019/06/20 | 65422 | macros/latex/contrib/enumitem/enumitem.tex
@@ -211122,12 +211127,12 @@
2010/02/28 | 2715 | macros/latex/contrib/fnpara/fnpara-doc.tex
2012/03/11 | 6981 | macros/latex/contrib/fnpara/fnpara.sty
2012/03/11 | 177564 | macros/latex/contrib/fnpara.zip
-2021/01/23 | 9063 | macros/latex/contrib/fnpct/fnpct-manual.cls
-2021/01/23 | 472808 | macros/latex/contrib/fnpct/fnpct-manual.pdf
-2021/01/23 | 26595 | macros/latex/contrib/fnpct/fnpct-manual.tex
-2021/01/23 | 46493 | macros/latex/contrib/fnpct/fnpct.sty
-2021/01/23 | 1488 | macros/latex/contrib/fnpct/README
-2021/01/23 | 492235 | macros/latex/contrib/fnpct.zip
+2022/01/04 | 9063 | macros/latex/contrib/fnpct/fnpct-manual.cls
+2022/01/04 | 489527 | macros/latex/contrib/fnpct/fnpct-manual.pdf
+2022/01/04 | 26592 | macros/latex/contrib/fnpct/fnpct-manual.tex
+2022/01/04 | 46612 | macros/latex/contrib/fnpct/fnpct.sty
+2022/01/04 | 1489 | macros/latex/contrib/fnpct/README
+2022/01/04 | 506463 | macros/latex/contrib/fnpct.zip
2017/09/20 | 199982 | macros/latex/contrib/fnspe/fnspe.pdf
2017/09/20 | 5996 | macros/latex/contrib/fnspe/fnspe.sty
2017/09/20 | 14233 | macros/latex/contrib/fnspe/fnspe.tex
@@ -223467,33 +223472,33 @@
2007/12/02 | 2971 | macros/latex/contrib/SIunits/SIunits.ins
2007/12/02 | 328621 | macros/latex/contrib/SIunits/SIunits.pdf
2007/12/02 | 296391 | macros/latex/contrib/SIunits.zip
-2021/12/04 | 61210 | macros/latex/contrib/siunitx/CHANGELOG.md
-2021/12/04 | 996 | macros/latex/contrib/siunitx/README.md
-2021/12/04 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2021/12/04 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
-2021/12/04 | 16705 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2021/12/04 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2021/12/04 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2021/12/04 | 607749 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2021/12/04 | 2492 | macros/latex/contrib/siunitx/siunitx-code.tex
-2021/12/04 | 8798 | macros/latex/contrib/siunitx/siunitx-command.dtx
-2021/12/04 | 26353 | macros/latex/contrib/siunitx/siunitx-complex.dtx
-2021/12/04 | 33434 | macros/latex/contrib/siunitx/siunitx-compound.dtx
-2021/12/04 | 19838 | macros/latex/contrib/siunitx/siunitx.dtx
-2021/12/04 | 31622 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2021/12/04 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2021/12/04 | 4746 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2021/12/04 | 121503 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2021/12/04 | 638352 | macros/latex/contrib/siunitx/siunitx.pdf
-2021/12/04 | 34008 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2021/12/04 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2021/12/04 | 9572 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2021/12/04 | 50716 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2021/12/04 | 147734 | macros/latex/contrib/siunitx/siunitx.tex
-2021/12/04 | 98475 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2021/12/04 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2021/12/04 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2021/12/04 | 1420665 | macros/latex/contrib/siunitx.zip
+2022/01/04 | 61753 | macros/latex/contrib/siunitx/CHANGELOG.md
+2022/01/04 | 996 | macros/latex/contrib/siunitx/README.md
+2022/01/04 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2022/01/04 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2022/01/04 | 16704 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2022/01/04 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2022/01/04 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2022/01/04 | 607911 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2022/01/04 | 2492 | macros/latex/contrib/siunitx/siunitx-code.tex
+2022/01/04 | 8798 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2022/01/04 | 26353 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2022/01/04 | 33799 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2022/01/04 | 19846 | macros/latex/contrib/siunitx/siunitx.dtx
+2022/01/04 | 31622 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2022/01/04 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2022/01/04 | 4746 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2022/01/04 | 121488 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2022/01/04 | 638349 | macros/latex/contrib/siunitx/siunitx.pdf
+2022/01/04 | 34008 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2022/01/04 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2022/01/04 | 9572 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2022/01/04 | 50716 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2022/01/04 | 147734 | macros/latex/contrib/siunitx/siunitx.tex
+2022/01/04 | 98475 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2022/01/04 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2022/01/04 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2022/01/04 | 1421017 | macros/latex/contrib/siunitx.zip
2011/06/03 | 662398 | macros/latex/contrib/skb/doc/skb.pdf
2011/03/15 | 1485 | macros/latex/contrib/skb/doc/user-guide/database/acronyms.tex
2011/03/15 | 722 | macros/latex/contrib/skb/doc/user-guide/database/bibliography.tex
@@ -224814,17 +224819,17 @@
2020/11/03 | 17646 | macros/latex/contrib/swfigure/FSFakeA3.pdf
2020/10/06 | 21156 | macros/latex/contrib/swfigure/HSfakeimage.jpg
2020/10/06 | 17036 | macros/latex/contrib/swfigure/NFfakeimage.jpg
-2020/12/23 | 1911 | macros/latex/contrib/swfigure/README.txt
+2022/01/04 | 1916 | macros/latex/contrib/swfigure/README.txt
2020/10/06 | 24216 | macros/latex/contrib/swfigure/RFfakeimage.jpg
2020/10/06 | 31599 | macros/latex/contrib/swfigure/SWfakeImage.jpg
-2020/12/23 | 73086 | macros/latex/contrib/swfigure/swfigure.dtx
+2022/01/04 | 74118 | macros/latex/contrib/swfigure/swfigure.dtx
2020/12/23 | 547458 | macros/latex/contrib/swfigure/swfigure-examples.pdf
2020/12/23 | 40463 | macros/latex/contrib/swfigure/swfigure-examples.tex
-2020/12/23 | 1150386 | macros/latex/contrib/swfigure/swfigure.pdf
+2022/01/04 | 1178086 | macros/latex/contrib/swfigure/swfigure.pdf
2020/12/21 | 18420 | macros/latex/contrib/swfigure/THFake.pdf
2020/10/07 | 26148 | macros/latex/contrib/swfigure/VSfakeimage.jpg
2020/10/16 | 81784 | macros/latex/contrib/swfigure/VSSfake.jpg
-2020/12/23 | 2278130 | macros/latex/contrib/swfigure.zip
+2022/01/04 | 2294346 | macros/latex/contrib/swfigure.zip
2002/05/30 | 15645 | macros/latex/contrib/swimgraf/100br1.pdf
2002/05/30 | 213 | macros/latex/contrib/swimgraf/100br1.tex
2002/05/30 | 15662 | macros/latex/contrib/swimgraf/100br2.pdf
@@ -226447,146 +226452,46 @@
2020/04/06 | 3616 | macros/latex/contrib/tkz/pgfornament/latex/tikzrput.sty
2020/05/28 | 2605 | macros/latex/contrib/tkz/pgfornament/README.md
2020/05/28 | 3263829 | macros/latex/contrib/tkz/pgfornament.zip
-2020/03/21 | 34359 | macros/latex/contrib/tkz/tkz-base/doc/latex/tiger.pdf
-2020/03/21 | 16734 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-axes.tex
-2020/03/21 | 8391 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-BB.tex
-2020/03/21 | 2431 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-compilation.tex
-2020/03/21 | 6166 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-divers.tex
-2020/03/21 | 2158 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-faq.tex
-2020/03/21 | 5145 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-grid.tex
-2020/03/21 | 9032 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-initialisation.tex
-2020/03/21 | 2133 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-installation.tex
-2020/03/21 | 7000 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-main.tex
-2020/03/21 | 5859 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-marks.tex
-2020/03/21 | 1822 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-news.tex
-2020/03/21 | 267 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-obj.tex
-2020/03/21 | 23993 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-point.tex
-2020/03/21 | 1971 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-rep.tex
-2020/03/21 | 2223 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-style.tex
-2020/03/21 | 4271 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-texte.tex
-2020/03/21 | 357692 | macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdf
-2020/03/21 | 60 | macros/latex/contrib/tkz/tkz-base/examples/preamble-standalone.ltx
-2020/03/21 | 363 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.1.1.tex
-2020/03/21 | 550 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.2.1.tex
-2020/03/21 | 322 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.3.1.tex
-2020/03/21 | 335 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.4.0.tex
-2020/03/21 | 372 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.5.1.tex
-2020/03/21 | 270 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.1.tex
-2020/03/21 | 260 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.2.tex
-2020/03/21 | 288 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.3.tex
-2020/03/21 | 706 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.7.1.tex
-2020/03/21 | 464 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.9.0.tex
-2020/03/21 | 310 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-12.1.2.tex
-2020/03/21 | 304 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.1.tex
-2020/03/21 | 336 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.2.tex
-2020/03/21 | 230 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.2.1.tex
-2020/03/21 | 302 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.1.tex
-2020/03/21 | 321 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.2.tex
-2020/03/21 | 225 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.4.1.tex
-2020/03/21 | 282 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-14.1.1.tex
-2020/03/21 | 481 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.1.1.tex
-2020/03/21 | 549 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.1.tex
-2020/03/21 | 526 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.2.tex
-2020/03/21 | 895 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.3.1.tex
-2020/03/21 | 244 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.4.1.tex
-2020/03/21 | 449 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.5.1.tex
-2020/03/21 | 388 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.1.tex
-2020/03/21 | 426 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.2.tex
-2020/03/21 | 384 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.3.tex
-2020/03/21 | 387 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.4.tex
-2020/03/21 | 1085 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.2.1.tex
-2020/03/21 | 197 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-3.1.0.tex
-2020/03/21 | 199 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.1.0.tex
-2020/03/21 | 238 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.2.0.tex
-2020/03/21 | 266 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.1.tex
-2020/03/21 | 248 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.2.tex
-2020/03/21 | 260 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.0.tex
-2020/03/21 | 339 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.1.tex
-2020/03/21 | 322 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.2.tex
-2020/03/21 | 308 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.3.tex
-2020/03/21 | 271 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.10.1.tex
-2020/03/21 | 559 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.0.tex
-2020/03/21 | 201 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.1.tex
-2020/03/21 | 233 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.2.tex
-2020/03/21 | 221 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.3.tex
-2020/03/21 | 250 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.4.tex
-2020/03/21 | 269 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.5.tex
-2020/03/21 | 250 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.6.tex
-2020/03/21 | 257 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.10.tex
-2020/03/21 | 259 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.11.tex
-2020/03/21 | 267 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.1.tex
-2020/03/21 | 342 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.2.tex
-2020/03/21 | 309 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.3.tex
-2020/03/21 | 267 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.4.tex
-2020/03/21 | 255 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.5.tex
-2020/03/21 | 286 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.6.tex
-2020/03/21 | 342 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.7.tex
-2020/03/21 | 264 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.8.tex
-2020/03/21 | 318 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.9.tex
-2020/03/21 | 242 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.1.tex
-2020/03/21 | 336 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.2.tex
-2020/03/21 | 300 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.3.tex
-2020/03/21 | 238 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.1.tex
-2020/03/21 | 245 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.2.tex
-2020/03/21 | 223 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.3.tex
-2020/03/21 | 244 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.1.tex
-2020/03/21 | 241 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.2.tex
-2020/03/21 | 237 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.9.1.tex
-2020/03/21 | 434 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.10.tex
-2020/03/21 | 403 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.11.tex
-2020/03/21 | 236 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.1.tex
-2020/03/21 | 257 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.2.tex
-2020/03/21 | 214 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.3.tex
-2020/03/21 | 270 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.4.tex
-2020/03/21 | 287 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.5.tex
-2020/03/21 | 372 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.6.tex
-2020/03/21 | 324 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.7.tex
-2020/03/21 | 366 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.8.tex
-2020/03/21 | 436 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.9.tex
-2020/03/21 | 648 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.1.tex
-2020/03/21 | 533 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.2.tex
-2020/03/21 | 371 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.1.tex
-2020/03/21 | 448 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.2.tex
-2020/03/21 | 631 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.3.tex
-2020/03/21 | 361 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.1.1.tex
-2020/03/21 | 412 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.2.tex
-2020/03/21 | 386 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.3.tex
-2020/03/21 | 347 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.13.1.tex
-2020/03/21 | 464 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.0.tex
-2020/03/21 | 482 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.1.tex
-2020/03/21 | 606 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.2.tex
-2020/03/21 | 453 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.3.tex
-2020/03/21 | 266 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.3.1.tex
-2020/03/21 | 421 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.4.1.tex
-2020/03/21 | 412 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.1.tex
-2020/03/21 | 409 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.2.tex
-2020/03/21 | 201 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.1.tex
-2020/03/21 | 454 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.2.tex
-2020/03/21 | 445 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.3.tex
-2020/03/21 | 327 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.1.tex
-2020/03/21 | 528 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.2.tex
-2020/03/21 | 410 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.1.tex
-2020/03/21 | 316 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.2.tex
-2020/03/21 | 311 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.9.1.tex
-2020/03/21 | 211 | macros/latex/contrib/tkz/tkz-base/examples/tkzBase-9.2.0.tex
-2020/03/18 | 8045 | macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg
-2020/03/20 | 4139 | macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty
-2020/03/18 | 4376 | macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex
-2020/03/18 | 18268 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex
-2020/03/18 | 3522 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex
-2020/03/20 | 4930 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
-2020/03/20 | 13424 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex
-2020/03/20 | 2746 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex
-2020/03/20 | 6503 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex
-2020/03/18 | 3425 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex
-2020/03/18 | 2734 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex
-2020/03/18 | 3505 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex
-2020/03/18 | 2768 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex
-2020/03/20 | 2731 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex
-2020/03/20 | 2994 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex
-2020/03/20 | 6581 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex
-2020/04/06 | 2671 | macros/latex/contrib/tkz/tkz-base/README.md
-2020/04/06 | 476894 | macros/latex/contrib/tkz/tkz-base.zip
+2007/10/29 | 34359 | macros/latex/contrib/tkz/tkz-base/doc/latex/tiger.pdf
+2021/12/12 | 16517 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-axes.tex
+2021/12/17 | 6714 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-BB.tex
+2021/12/12 | 2270 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-compilation.tex
+2021/12/12 | 6040 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-divers.tex
+2020/02/07 | 882 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-example.tex
+2020/03/20 | 2158 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-faq.tex
+2021/12/17 | 5148 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-grid.tex
+2021/12/12 | 8845 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-initialisation.tex
+2021/12/12 | 799 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-installation.tex
+2022/01/04 | 6447 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-main.tex
+2021/12/12 | 5859 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-marks.tex
+2021/12/17 | 2124 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-news.tex
+2020/03/02 | 267 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-obj.tex
+2021/12/17 | 23965 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-point.tex
+2020/03/19 | 1971 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-rep.tex
+2020/03/18 | 2223 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-style.tex
+2020/03/20 | 4271 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-texte.tex
+2022/01/04 | 343252 | macros/latex/contrib/tkz/tkz-base/doc/tkz-base.pdf
+2022/01/04 | 9078 | macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg
+2022/01/04 | 3306 | macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty
+2022/01/04 | 4366 | macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex
+2022/01/04 | 1995 | macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-shape.tex
+2022/01/04 | 6742 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axesmin.tex
+2022/01/04 | 18248 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex
+2022/01/04 | 3466 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex
+2022/01/04 | 4904 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
+2022/01/04 | 13201 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex
+2022/01/04 | 2723 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex
+2022/01/04 | 6480 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex
+2022/01/04 | 3474 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex
+2022/01/04 | 1215 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex
+2022/01/04 | 2250 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-colors.tex
+2022/01/04 | 3482 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex
+2022/01/04 | 2742 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex
+2022/01/04 | 2703 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex
+2022/01/04 | 2969 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex
+2022/01/04 | 5670 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex
+2022/01/04 | 2457 | macros/latex/contrib/tkz/tkz-base/README.md
+2022/01/04 | 426674 | macros/latex/contrib/tkz/tkz-base.zip
2021/01/18 | 20634 | macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-classic.tex
2021/01/18 | 12925 | macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex
2021/01/18 | 8992 | macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros.tex
@@ -226755,298 +226660,74 @@
2021/01/20 | 65 | macros/latex/contrib/tkz/tkz-berge/NamedGraphs/examples/tkzpreamblenamed.ltx
2021/01/20 | 1990 | macros/latex/contrib/tkz/tkz-berge/README.md
2021/01/21 | 1065010 | macros/latex/contrib/tkz/tkz-berge.zip
-2020/03/21 | 24350 | macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_1.pdf
-2020/03/21 | 20779 | macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_2.pdf
-2020/03/21 | 480539 | macros/latex/contrib/tkz/tkz-euclide/doc/Euclidean_geometry.pdf
-2020/03/01 | 21616 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
-2020/03/02 | 5822 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-arcs.tex
-2020/02/23 | 2352 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-base.tex
-2020/03/02 | 20386 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex
-2020/03/02 | 3866 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
-2020/02/23 | 6155 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-config.tex
-2020/03/02 | 21164 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-exemples.tex
-2020/02/23 | 2844 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
-2020/03/02 | 2797 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-installation.tex
-2020/03/02 | 12398 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex
-2020/03/07 | 22709 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex
-2020/03/18 | 7938 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
-2020/03/08 | 2887 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
-2020/03/07 | 9488 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
-2020/03/02 | 15012 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex
-2020/03/07 | 13710 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex
-2020/03/02 | 8870 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointwith.tex
-2020/03/02 | 14219 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex
-2020/03/08 | 25185 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
-2020/03/02 | 1445 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rapporteur.tex
-2020/02/21 | 5420 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rnd.tex
-2020/02/21 | 7740 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-sectors.tex
-2020/02/23 | 7866 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
-2020/03/02 | 6893 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
-2020/03/02 | 16115 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex
-2020/03/18 | 780910 | macros/latex/contrib/tkz/tkz-euclide/doc/TKZdoc-euclide.pdf
-2020/03/21 | 60 | macros/latex/contrib/tkz/tkz-euclide/examples/preamble-standalone.ltx
-2020/03/21 | 496 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.0.0.tex
-2020/03/21 | 380 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.10.tex
-2020/03/21 | 404 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.11.tex
-2020/03/21 | 461 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.1.tex
-2020/03/21 | 509 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.2.tex
-2020/03/21 | 449 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.3.tex
-2020/03/21 | 497 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.4.tex
-2020/03/21 | 489 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.5.tex
-2020/03/21 | 651 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.6.tex
-2020/03/21 | 524 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.7.tex
-2020/03/21 | 451 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.8.tex
-2020/03/21 | 529 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.9.tex
-2020/03/21 | 422 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.2.1.tex
-2020/03/21 | 428 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.2.0.tex
-2020/03/21 | 401 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.3.0.tex
-2020/03/21 | 393 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.0.tex
-2020/03/21 | 729 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.1.tex
-2020/03/21 | 445 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.0.tex
-2020/03/21 | 859 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.1.tex
-2020/03/21 | 880 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.6.0.tex
-2020/03/21 | 522 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.1.tex
-2020/03/21 | 442 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.2.tex
-2020/03/21 | 701 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.3.tex
-2020/03/21 | 466 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.4.tex
-2020/03/21 | 453 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.5.tex
-2020/03/21 | 485 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.1.tex
-2020/03/21 | 568 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.2.tex
-2020/03/21 | 571 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.3.tex
-2020/03/21 | 464 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.4.tex
-2020/03/21 | 762 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.5.tex
-2020/03/21 | 607 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.1.tex
-2020/03/21 | 325 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.2.tex
-2020/03/21 | 454 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.3.tex
-2020/03/21 | 378 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.4.tex
-2020/03/21 | 383 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.5.tex
-2020/03/21 | 382 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.6.tex
-2020/03/21 | 990 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.1.tex
-2020/03/21 | 419 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.2.1.tex
-2020/03/21 | 998 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.2.tex
-2020/03/21 | 1015 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.3.tex
-2020/03/21 | 482 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.4.0.tex
-2020/03/21 | 307 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.1.tex
-2020/03/21 | 419 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.2.tex
-2020/03/21 | 714 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.3.tex
-2020/03/21 | 412 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.0.tex
-2020/03/21 | 403 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.1.tex
-2020/03/21 | 383 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.1.tex
-2020/03/21 | 434 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.2.tex
-2020/03/21 | 332 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.4.1.tex
-2020/03/21 | 693 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.0.tex
-2020/03/21 | 307 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.1.tex
-2020/03/21 | 914 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.2.tex
-2020/03/21 | 342 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.3.tex
-2020/03/21 | 234 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.5.0.tex
-2020/03/21 | 431 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.1.tex
-2020/03/21 | 423 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.2.tex
-2020/03/21 | 391 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.3.tex
-2020/03/21 | 296 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.1.tex
-2020/03/21 | 291 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.2.tex
-2020/03/21 | 261 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.3.tex
-2020/03/21 | 260 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.4.tex
-2020/03/21 | 284 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.5.tex
-2020/03/21 | 648 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.1.tex
-2020/03/21 | 634 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.2.tex
-2020/03/21 | 616 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.3.tex
-2020/03/21 | 582 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.4.tex
-2020/03/21 | 992 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.5.tex
-2020/03/21 | 844 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.6.tex
-2020/03/21 | 556 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.7.tex
-2020/03/21 | 1074 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.8.tex
-2020/03/21 | 562 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.6.1.tex
-2020/03/21 | 501 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.1.tex
-2020/03/21 | 290 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.2.tex
-2020/03/21 | 464 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.1.tex
-2020/03/21 | 360 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.2.tex
-2020/03/21 | 818 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.3.tex
-2020/03/21 | 372 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.1.tex
-2020/03/21 | 366 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.2.tex
-2020/03/21 | 643 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.3.tex
-2020/03/21 | 808 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.4.1.tex
-2020/03/21 | 407 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.5.1.tex
-2020/03/21 | 395 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.6.1.tex
-2020/03/21 | 244 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.1.tex
-2020/03/21 | 292 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.2.tex
-2020/03/21 | 462 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.1.tex
-2020/03/21 | 775 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.2.tex
-2020/03/21 | 727 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.9.1.tex
-2020/03/21 | 561 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.10.tex
-2020/03/21 | 657 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.1.tex
-2020/03/21 | 410 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.2.tex
-2020/03/21 | 615 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.3.tex
-2020/03/21 | 1022 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.4.tex
-2020/03/21 | 572 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.5.tex
-2020/03/21 | 677 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.6.tex
-2020/03/21 | 850 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.7.tex
-2020/03/21 | 654 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.8.tex
-2020/03/21 | 578 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.9.tex
-2020/03/21 | 470 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.1.1.tex
-2020/03/21 | 342 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.1.tex
-2020/03/21 | 264 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.2.tex
-2020/03/21 | 465 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.3.tex
-2020/03/21 | 297 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.4.tex
-2020/03/21 | 756 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.3.1.tex
-2020/03/21 | 848 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.4.1.tex
-2020/03/21 | 446 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.5.1.tex
-2020/03/21 | 694 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.6.1.tex
-2020/03/21 | 447 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.1.1.tex
-2020/03/21 | 502 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.1.tex
-2020/03/21 | 732 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.2.tex
-2020/03/21 | 743 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.3.tex
-2020/03/21 | 731 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.4.tex
-2020/03/21 | 457 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.6.tex
-2020/03/21 | 399 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.7.tex
-2020/03/21 | 690 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.8.tex
-2020/03/21 | 398 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.9.tex
-2020/03/21 | 550 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.1.tex
-2020/03/21 | 396 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.2.tex
-2020/03/21 | 553 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.3.tex
-2020/03/21 | 801 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.4.tex
-2020/03/21 | 746 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.5.tex
-2020/03/21 | 316 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.1.tex
-2020/03/21 | 391 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.2.tex
-2020/03/21 | 851 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.3.tex
-2020/03/21 | 376 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.1.tex
-2020/03/21 | 375 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.2.tex
-2020/03/21 | 880 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.3.1.tex
-2020/03/21 | 475 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.1.tex
-2020/03/21 | 491 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.2.tex
-2020/03/21 | 571 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.3.tex
-2020/03/21 | 946 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.4.tex
-2020/03/21 | 676 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.2.0.tex
-2020/03/21 | 547 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.3.1.tex
-2020/03/21 | 942 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.0.tex
-2020/03/21 | 919 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.1.tex
-2020/03/21 | 817 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.5.0.tex
-2020/03/21 | 621 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.1.tex
-2020/03/21 | 702 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.2.tex
-2020/03/21 | 542 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.1.tex
-2020/03/21 | 371 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.2.tex
-2020/03/21 | 476 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.3.tex
-2020/03/21 | 531 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.4.tex
-2020/03/21 | 941 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.5.tex
-2020/03/21 | 549 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.1.tex
-2020/03/21 | 331 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.2.tex
-2020/03/21 | 466 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.3.1.tex
-2020/03/21 | 431 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.1.0.tex
-2020/03/21 | 431 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.2.0.tex
-2020/03/21 | 369 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.3.0.tex
-2020/03/21 | 376 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.4.0.tex
-2020/03/21 | 325 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.5.0.tex
-2020/03/21 | 620 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.6.0.tex
-2020/03/21 | 619 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.7.0.tex
-2020/03/21 | 613 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.8.0.tex
-2020/03/21 | 429 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.0.tex
-2020/03/21 | 701 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.1.tex
-2020/03/21 | 669 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.2.1.tex
-2020/03/21 | 426 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.4.1.tex
-2020/03/21 | 426 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.1.tex
-2020/03/21 | 492 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.2.tex
-2020/03/21 | 382 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.1.tex
-2020/03/21 | 409 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.2.tex
-2020/03/21 | 771 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.2.0.tex
-2020/03/21 | 742 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.3.1.tex
-2020/03/21 | 397 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.1.tex
-2020/03/21 | 514 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.2.tex
-2020/03/21 | 769 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.3.tex
-2020/03/21 | 416 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.4.tex
-2020/03/21 | 1256 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.1.tex
-2020/03/21 | 857 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.2.tex
-2020/03/21 | 572 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-28.1.1.tex
-2020/03/21 | 387 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.1.0.tex
-2020/03/21 | 368 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.2.0.tex
-2020/03/21 | 982 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.2.tex
-2020/03/21 | 907 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.3.tex
-2020/03/21 | 780 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.4.tex
-2020/03/21 | 903 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.5.tex
-2020/03/21 | 2235 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.10.tex
-2020/03/21 | 1248 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.11.tex
-2020/03/21 | 2407 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.12.tex
-2020/03/21 | 409 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.1.tex
-2020/03/21 | 587 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.2.tex
-2020/03/21 | 912 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.3.tex
-2020/03/21 | 854 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.4.tex
-2020/03/21 | 1511 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.5.tex
-2020/03/21 | 988 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.6.tex
-2020/03/21 | 1482 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.7.tex
-2020/03/21 | 1246 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.8.tex
-2020/03/21 | 798 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.9.tex
-2020/03/21 | 805 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.1.tex
-2020/03/21 | 811 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.2.tex
-2020/03/21 | 256 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.3.tex
-2020/03/21 | 344 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.1.tex
-2020/03/21 | 620 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.2.tex
-2020/03/21 | 732 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.1.tex
-2020/03/21 | 904 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.2.tex
-2020/03/21 | 307 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.4.0.tex
-2020/03/21 | 263 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.2.0.tex
-2020/03/21 | 239 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.3.0.tex
-2020/03/21 | 279 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.4.0.tex
-2020/03/21 | 645 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.0.0.tex
-2020/03/21 | 303 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.1.tex
-2020/03/21 | 376 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.2.tex
-2020/03/21 | 296 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.3.tex
-2020/03/21 | 302 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.4.tex
-2020/03/21 | 449 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.5.tex
-2020/03/21 | 437 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.1.tex
-2020/03/21 | 401 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.2.tex
-2020/03/21 | 318 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.3.tex
-2020/03/21 | 242 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.4.0.tex
-2020/03/21 | 250 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.5.0.tex
-2020/03/21 | 336 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.1.1.tex
-2020/03/21 | 376 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.1.tex
-2020/03/21 | 691 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.2.tex
-2020/03/21 | 905 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.3.0.tex
-2020/03/21 | 597 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.1.tex
-2020/03/21 | 420 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.2.tex
-2020/03/21 | 338 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.3.tex
-2020/03/21 | 434 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.4.tex
-2020/03/21 | 594 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.5.tex
-2020/03/21 | 1031 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.6.tex
-2020/03/21 | 746 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.7.tex
-2020/03/21 | 850 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.8.tex
-2020/03/21 | 813 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.9.tex
-2020/03/21 | 352 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.2.tex
-2020/03/21 | 289 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.3.tex
-2020/03/21 | 521 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.4.tex
-2020/03/21 | 589 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.1.1.tex
-2020/03/21 | 560 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.2.0.tex
-2020/03/21 | 401 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.0.tex
-2020/03/21 | 592 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.1.tex
-2020/03/21 | 755 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.2.tex
-2020/03/21 | 710 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.3.tex
-2020/03/21 | 526 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.4.tex
-2020/03/21 | 547 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.5.tex
-2020/03/21 | 441 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.6.tex
-2020/03/21 | 639 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.7.tex
-2020/03/21 | 528 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.8.tex
-2020/03/21 | 591 | macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.3.1.tex
-2020/03/20 | 2203 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
-2020/03/31 | 11267 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-angles.tex
-2020/03/20 | 7460 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-arcs.tex
-2020/03/18 | 9373 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
-2020/03/20 | 4301 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
-2020/03/18 | 9058 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
-2020/03/18 | 16354 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
-2020/03/18 | 3362 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
-2020/03/06 | 2280 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
-2020/03/20 | 8564 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
-2020/03/20 | 14714 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
-2020/03/18 | 5309 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
-2020/03/18 | 18337 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
-2020/03/18 | 10776 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
-2020/03/20 | 4118 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
-2020/03/20 | 4582 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
-2020/03/20 | 14220 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
-2020/03/20 | 14417 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
-2020/03/20 | 15917 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
-2020/03/18 | 3116 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-angles.tex
-2020/03/20 | 14814 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-intersections.tex
-2020/03/20 | 4817 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-math.tex
-2020/04/06 | 3447 | macros/latex/contrib/tkz/tkz-euclide/README.md
-2020/04/06 | 1466504 | macros/latex/contrib/tkz/tkz-euclide.zip
+2022/01/01 | 6107 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
+2022/01/01 | 6870 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex
+2021/12/10 | 11769 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex
+2022/01/01 | 14830 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex
+2022/01/04 | 2636 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
+2022/01/01 | 32301 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
+2021/12/30 | 8966 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex
+2022/01/04 | 51661 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
+2022/01/01 | 3702 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
+2022/01/01 | 9679 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex
+2020/12/31 | 795 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-installation.tex
+2021/12/18 | 14112 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex
+2022/01/01 | 14596 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex
+2021/12/10 | 8051 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex
+2022/01/04 | 998875 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdf
+2022/01/04 | 9888 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
+2021/12/18 | 13332 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-marking.tex
+2022/01/04 | 4188 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
+2022/01/04 | 12505 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex
+2022/01/01 | 17206 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
+2021/12/17 | 27245 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex
+2021/12/17 | 10249 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex
+2021/12/10 | 9735 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointwith.tex
+2021/12/13 | 7962 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex
+2021/12/14 | 24770 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
+2021/12/10 | 1440 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rapporteur.tex
+2022/01/02 | 5449 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rnd.tex
+2021/12/10 | 6423 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
+2022/01/04 | 11752 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex
+2021/12/30 | 7803 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
+2021/12/18 | 19820 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex
+2022/01/04 | 998875 | macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
+2022/01/04 | 9021 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
+2022/01/04 | 4580 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
+2022/01/04 | 4373 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
+2022/01/04 | 2002 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
+2022/01/04 | 6752 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
+2022/01/04 | 6802 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
+2022/01/04 | 11445 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
+2022/01/04 | 4004 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
+2022/01/04 | 22412 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
+2022/01/04 | 8561 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
+2022/01/04 | 10453 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
+2022/01/04 | 4992 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
+2022/01/04 | 3116 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
+2022/01/04 | 3471 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
+2022/01/04 | 8840 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
+2022/01/04 | 16353 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
+2022/01/04 | 5341 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
+2022/01/04 | 19496 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
+2022/01/04 | 13352 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
+2022/01/04 | 10650 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
+2022/01/04 | 4085 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
+2022/01/04 | 4604 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
+2022/01/04 | 13270 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
+2022/01/04 | 14441 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
+2022/01/04 | 16531 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
+2022/01/04 | 3103 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
+2022/01/04 | 3482 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
+2022/01/04 | 1222 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
+2022/01/04 | 2266 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
+2022/01/04 | 14793 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex
+2022/01/04 | 4770 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
+2022/01/04 | 2744 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
+2022/01/04 | 2976 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
+2022/01/04 | 5676 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
+2022/01/04 | 2796 | macros/latex/contrib/tkz/tkz-euclide/README.md
+2022/01/04 | 2119853 | macros/latex/contrib/tkz/tkz-euclide.zip
2020/05/01 | 7216 | macros/latex/contrib/tkz/tkz-fct/doc/latex/TKZdoc-fct-area.tex
2020/05/01 | 4406 | macros/latex/contrib/tkz/tkz-fct/doc/latex/TKZdoc-fct-asymptote.tex
2020/05/01 | 5620 | macros/latex/contrib/tkz/tkz-fct/doc/latex/TKZdoc-fct-bac.tex
@@ -227279,18 +226960,18 @@
2013/04/03 | 2140 | macros/latex/contrib/tram/tram.mf
2013/04/03 | 4024 | macros/latex/contrib/tram/tram.sty
2013/04/04 | 31506 | macros/latex/contrib/tram.zip
-2021/01/17 | 5998 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-brazil.trsl
-2021/01/17 | 5816 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl
-2021/01/17 | 5688 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-dutch.trsl
-2021/01/17 | 5594 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-english.trsl
-2021/01/17 | 5729 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-french.trsl
-2021/01/17 | 5730 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-german.trsl
-2021/01/17 | 5856 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-spanish.trsl
-2021/01/17 | 1694 | macros/latex/contrib/translations/README
-2021/01/17 | 496826 | macros/latex/contrib/translations/translations_en.pdf
-2021/01/17 | 35437 | macros/latex/contrib/translations/translations_en.tex
-2021/01/17 | 44057 | macros/latex/contrib/translations/translations.sty
-2021/01/18 | 523701 | macros/latex/contrib/translations.zip
+2022/01/04 | 5998 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-brazil.trsl
+2022/01/04 | 5816 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl
+2022/01/04 | 5685 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-dutch.trsl
+2022/01/04 | 5594 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-english.trsl
+2022/01/04 | 5729 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-french.trsl
+2022/01/04 | 5730 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-german.trsl
+2022/01/04 | 5856 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-spanish.trsl
+2022/01/04 | 1693 | macros/latex/contrib/translations/README
+2022/01/04 | 515117 | macros/latex/contrib/translations/translations_en.pdf
+2022/01/04 | 35505 | macros/latex/contrib/translations/translations_en.tex
+2022/01/04 | 44107 | macros/latex/contrib/translations/translations.sty
+2022/01/04 | 538116 | macros/latex/contrib/translations.zip
2021/05/31 | 575 | macros/latex/contrib/translator/README.md
2021/05/31 | 4230 | macros/latex/contrib/translator/translator-basic-dictionary-Bulgarian.dict
2021/05/31 | 3529 | macros/latex/contrib/translator/translator-basic-dictionary-Catalan.dict
@@ -274889,13 +274570,13 @@
2015/09/07 | 12666 | support/texlog_extract/texlog_extract
2015/09/07 | 43353 | support/texlog_extract/texlog_extract.pdf
2015/09/07 | 47810 | support/texlog_extract.zip
-2021/12/16 | 35149 | support/texlogsieve/LICENCE.txt
-2021/12/16 | 5495 | support/texlogsieve/README.md
-2021/12/16 | 133646 | support/texlogsieve/texlogsieve
-2021/12/16 | 8524 | support/texlogsieve/texlogsieve.1
-2021/12/16 | 46978 | support/texlogsieve/texlogsieve.pdf
-2021/12/16 | 12631 | support/texlogsieve/texlogsieve.tex
-2021/12/16 | 103098 | support/texlogsieve.zip
+2022/01/04 | 35149 | support/texlogsieve/LICENCE.txt
+2022/01/04 | 2519 | support/texlogsieve/README.md
+2022/01/04 | 144591 | support/texlogsieve/texlogsieve
+2022/01/04 | 10244 | support/texlogsieve/texlogsieve.1
+2022/01/04 | 51179 | support/texlogsieve/texlogsieve.pdf
+2022/01/04 | 16128 | support/texlogsieve/texlogsieve.tex
+2022/01/04 | 109589 | support/texlogsieve.zip
2001/12/14 | 1585 | support/TeXmacs/README
2013/09/20 | 19826467 | support/TeXmacs/TeXmacs-1.0.7.20-1.i386.rpm
2013/09/24 | 29347074 | support/TeXmacs/TeXmacs-1.0.7.20.dmg
@@ -280356,7 +280037,7 @@
2021/12/24 | 1496 | systems/texlive/tlnet/archive/collection-pictures.r61392.tar.xz
2021/07/06 | 956 | systems/texlive/tlnet/archive/collection-plaingeneric.r59850.tar.xz
2021/12/17 | 812 | systems/texlive/tlnet/archive/collection-pstricks.r61329.tar.xz
-2021/12/25 | 1604 | systems/texlive/tlnet/archive/collection-publishers.r61397.tar.xz
+2022/01/04 | 1608 | systems/texlive/tlnet/archive/collection-publishers.r61484.tar.xz
2020/03/04 | 340 | systems/texlive/tlnet/archive/collection-texworks.r54074.tar.xz
2020/03/04 | 388 | systems/texlive/tlnet/archive/collection-wintools.r54074.tar.xz
2021/06/29 | 668 | systems/texlive/tlnet/archive/collection-xetex.r59742.tar.xz
@@ -282830,8 +282511,8 @@
2020/09/23 | 9876 | systems/texlive/tlnet/archive/gammas.r56403.tar.xz
2020/05/17 | 86000 | systems/texlive/tlnet/archive/garamond-libre.doc.r55166.tar.xz
2020/05/17 | 7141728 | systems/texlive/tlnet/archive/garamond-libre.r55166.tar.xz
-2019/11/17 | 244012 | systems/texlive/tlnet/archive/garamond-math.doc.r52820.tar.xz
-2019/11/17 | 399076 | systems/texlive/tlnet/archive/garamond-math.r52820.tar.xz
+2022/01/04 | 292360 | systems/texlive/tlnet/archive/garamond-math.doc.r61481.tar.xz
+2022/01/04 | 407520 | systems/texlive/tlnet/archive/garamond-math.r61481.tar.xz
2019/02/28 | 532 | systems/texlive/tlnet/archive/garrigues.doc.r15878.tar.xz
2019/02/28 | 8268 | systems/texlive/tlnet/archive/garrigues.r15878.tar.xz
2021/10/22 | 3416 | systems/texlive/tlnet/archive/garuda-c90.r60832.tar.xz
@@ -285126,9 +284807,9 @@
2021/04/13 | 1857504 | systems/texlive/tlnet/archive/luatex.i386-linux.r58850.tar.xz
2021/04/14 | 1449908 | systems/texlive/tlnet/archive/luatex.i386-netbsd.r58866.tar.xz
2021/04/13 | 1615968 | systems/texlive/tlnet/archive/luatex.i386-solaris.r58850.tar.xz
-2021/10/25 | 3200840 | systems/texlive/tlnet/archive/luatexja.doc.r60862.tar.xz
-2021/10/25 | 190716 | systems/texlive/tlnet/archive/luatexja.r60862.tar.xz
-2021/10/25 | 83320 | systems/texlive/tlnet/archive/luatexja.source.r60862.tar.xz
+2022/01/04 | 3232668 | systems/texlive/tlnet/archive/luatexja.doc.r61485.tar.xz
+2022/01/04 | 191008 | systems/texlive/tlnet/archive/luatexja.r61485.tar.xz
+2022/01/04 | 83316 | systems/texlive/tlnet/archive/luatexja.source.r61485.tar.xz
2021/07/12 | 349016 | systems/texlive/tlnet/archive/luatexko.doc.r59892.tar.xz
2021/07/12 | 23432 | systems/texlive/tlnet/archive/luatexko.r59892.tar.xz
2022/01/01 | 12832 | systems/texlive/tlnet/archive/luatex.r61454.tar.xz
@@ -288788,8 +288469,8 @@
2019/02/28 | 348 | systems/texlive/tlnet/archive/srcredact.x86_64-linuxmusl.r46840.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/srcredact.x86_64-linux.r38710.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/srcredact.x86_64-solaris.r38710.tar.xz
-2021/12/23 | 147864 | systems/texlive/tlnet/archive/srdp-mathematik.doc.r61382.tar.xz
-2021/12/23 | 29428 | systems/texlive/tlnet/archive/srdp-mathematik.r61382.tar.xz
+2022/01/04 | 147484 | systems/texlive/tlnet/archive/srdp-mathematik.doc.r61482.tar.xz
+2022/01/04 | 29420 | systems/texlive/tlnet/archive/srdp-mathematik.r61482.tar.xz
2021/05/25 | 452688 | systems/texlive/tlnet/archive/sr-vorl.doc.r59333.tar.xz
2021/05/25 | 4280 | systems/texlive/tlnet/archive/sr-vorl.r59333.tar.xz
2021/05/25 | 18872 | systems/texlive/tlnet/archive/sr-vorl.source.r59333.tar.xz
@@ -289481,7 +289162,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2022/01/03 | 402344 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61466.tar.xz
+2022/01/04 | 402344 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61480.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -289505,7 +289186,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2022/01/03 | 108280 | systems/texlive/tlnet/archive/texlive-scripts.r61466.tar.xz
+2022/01/04 | 108268 | systems/texlive/tlnet/archive/texlive-scripts.r61480.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -290817,9 +290498,9 @@
2019/02/28 | 3812 | systems/texlive/tlnet/archive/worksheet.r48423.tar.xz
2021/05/13 | 2539560 | systems/texlive/tlnet/archive/worldflags.doc.r59171.tar.xz
2021/05/13 | 1497060 | systems/texlive/tlnet/archive/worldflags.r59171.tar.xz
-2021/12/28 | 501200 | systems/texlive/tlnet/archive/wrapfig2.doc.r61423.tar.xz
-2021/12/28 | 5160 | systems/texlive/tlnet/archive/wrapfig2.r61423.tar.xz
-2021/12/28 | 16648 | systems/texlive/tlnet/archive/wrapfig2.source.r61423.tar.xz
+2022/01/04 | 520112 | systems/texlive/tlnet/archive/wrapfig2.doc.r61483.tar.xz
+2022/01/04 | 5172 | systems/texlive/tlnet/archive/wrapfig2.r61483.tar.xz
+2022/01/04 | 16772 | systems/texlive/tlnet/archive/wrapfig2.source.r61483.tar.xz
2019/02/28 | 337900 | systems/texlive/tlnet/archive/wrapfig.doc.r22048.tar.xz
2019/02/28 | 9360 | systems/texlive/tlnet/archive/wrapfig.r22048.tar.xz
2019/02/28 | 401712 | systems/texlive/tlnet/archive/wsemclassic.doc.r31532.tar.xz
@@ -291179,6 +290860,8 @@
2020/03/04 | 5936 | systems/texlive/tlnet/archive/yax.r54080.tar.xz
2019/07/26 | 2170868 | systems/texlive/tlnet/archive/yazd-thesis.doc.r51725.tar.xz
2019/07/26 | 5988 | systems/texlive/tlnet/archive/yazd-thesis.r51725.tar.xz
+2022/01/04 | 243272 | systems/texlive/tlnet/archive/yb-book.doc.r61484.tar.xz
+2022/01/04 | 3948 | systems/texlive/tlnet/archive/yb-book.r61484.tar.xz
2019/02/28 | 124828 | systems/texlive/tlnet/archive/ycbook.doc.r46201.tar.xz
2019/02/28 | 4708 | systems/texlive/tlnet/archive/ycbook.r46201.tar.xz
2020/09/08 | 321388 | systems/texlive/tlnet/archive/ydoc.doc.r56291.tar.xz
@@ -291279,16 +290962,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
2021/12/06 | 105168 | systems/texlive/tlnet/install-tl
-2022/01/03 | 6811270 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/01/03 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/01/03 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/01/04 | 6811288 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/01/04 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/01/04 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2022/01/03 | 20873574 | systems/texlive/tlnet/install-tl-windows.exe
-2022/01/03 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/01/03 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/01/03 | 25631668 | systems/texlive/tlnet/install-tl.zip
-2022/01/03 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/01/03 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/01/04 | 20873842 | systems/texlive/tlnet/install-tl-windows.exe
+2022/01/04 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/01/04 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/01/04 | 25631640 | systems/texlive/tlnet/install-tl.zip
+2022/01/04 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/01/04 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2021/04/01 | 1229 | systems/texlive/tlnet/README.md
2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021
2021/07/03 | 7181 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -291298,7 +290981,7 @@
2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2021/12/15 | 49408 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2022/01/02 | 6792 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2022/01/03 | 6731 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/04/15 | 223687 | 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
@@ -291340,12 +291023,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2022/01/03 | 17066892 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/01/03 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/01/04 | 17068305 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/01/04 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/12/21 | 86654 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2022/01/03 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/01/03 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/01/03 | 2335332 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/01/04 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/01/04 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/01/04 | 2337640 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2021/12/21 | 42112 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -296391,7 +296074,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2022/01/03 | 633090 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/01/04 | 633090 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -297883,9 +297566,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2021/12/09 | 39714 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2021/12/09 | 43639 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/01/03 | 258798 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/01/03 | 1402964 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/01/03 | 1298932 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/01/04 | 258840 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/01/04 | 1402841 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/01/04 | 1299169 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/12/09 | 13527 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2021/12/09 | 14417 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -298107,193 +297790,189 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2022/01/03 | 634085 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/01/03 | 51589 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/01/03 | 57408 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/01/03 | 959949 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/01/03 | 1087067 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/01/03 | 28895 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/01/03 | 31539 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/01/03 | 30181 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/01/03 | 35264 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/01/03 | 50733 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/01/03 | 58370 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/01/03 | 86767 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2022/01/03 | 95274 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/01/03 | 68800 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/01/03 | 77072 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/01/03 | 27243 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/01/03 | 31334 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/01/03 | 332374 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/01/03 | 394271 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/01/03 | 32989 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/01/03 | 37093 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/01/03 | 51429 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/01/03 | 57278 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/01/03 | 256200 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/01/03 | 281441 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/01/03 | 179709 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2022/01/03 | 196120 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/01/03 | 54951 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2022/01/03 | 62419 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/01/03 | 21372 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/01/03 | 24151 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/01/03 | 461241 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/01/03 | 46135 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/01/03 | 52095 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/01/03 | 285453 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/01/03 | 326388 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/01/03 | 41326 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/01/03 | 45687 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/01/03 | 120296 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/01/03 | 135071 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/01/03 | 1299133 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/01/03 | 1447744 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/01/03 | 99759 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/01/03 | 113044 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/01/03 | 43639 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/01/03 | 48804 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/01/03 | 25133 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/01/03 | 28545 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/01/03 | 56961 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/01/03 | 63313 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/01/03 | 135933 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/01/03 | 155286 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/01/03 | 73600 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/01/03 | 79138 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/01/03 | 72256 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/01/03 | 81709 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/01/03 | 259274 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2022/01/03 | 295888 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/01/03 | 22178 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/01/03 | 25061 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/01/03 | 97106 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/01/03 | 112484 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/01/03 | 64567 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/01/03 | 73180 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/01/03 | 96828 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/01/03 | 115671 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/01/03 | 38460 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/01/03 | 43808 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/01/03 | 484481 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/01/03 | 566756 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/01/03 | 152104 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2022/01/03 | 168851 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/01/03 | 95449 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/01/03 | 109544 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/01/03 | 16520 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2022/01/03 | 18371 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/01/03 | 28388 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/01/03 | 30569 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/01/03 | 631000 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/01/03 | 682341 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/01/03 | 532339 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/01/03 | 599049 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/01/03 | 477729 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2022/01/03 | 528533 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/01/03 | 93990 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/01/03 | 103462 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/01/03 | 1732471 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/01/03 | 2012707 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/01/03 | 67994 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/01/03 | 74054 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/01/03 | 27263 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/01/03 | 32155 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/01/03 | 7754 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/01/03 | 8792 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/01/03 | 197376 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2022/01/03 | 215852 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/01/03 | 251068 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/01/03 | 286703 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/01/03 | 99373 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/01/03 | 104748 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/01/03 | 64516 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2022/01/03 | 74622 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2022/01/03 | 126742 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2022/01/03 | 139308 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/01/03 | 181558 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/01/03 | 202238 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/01/03 | 199837 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/01/03 | 181466 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/01/03 | 68619 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/01/03 | 76232 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/01/03 | 31413 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/01/03 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/01/03 | 38541 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/01/03 | 43894 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/01/03 | 43275 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/01/03 | 47893 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/01/03 | 45734 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/01/03 | 52278 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/01/03 | 199117 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/01/03 | 213458 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/01/03 | 36042 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2022/01/03 | 41219 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/01/03 | 753828 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/01/03 | 824231 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/01/03 | 200142 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/01/03 | 203081 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/01/03 | 209939 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/01/03 | 244963 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/01/03 | 78962 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/01/03 | 88228 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/01/03 | 1181004 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/01/03 | 1322404 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/01/03 | 20190 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/01/03 | 23933 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/01/03 | 31575 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/01/03 | 37374 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/01/03 | 64715 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/01/03 | 72851 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/01/03 | 50851 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/01/03 | 58546 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/01/03 | 694123 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
-2022/01/03 | 693756 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/01/03 | 763148 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
-2022/01/03 | 762929 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/01/03 | 1353499 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/01/03 | 1497477 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/01/03 | 42768 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2022/01/03 | 52572 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/01/03 | 57568 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/01/03 | 63700 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/01/03 | 25672 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/01/03 | 27472 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/01/03 | 16566 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/01/03 | 18486 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/01/03 | 64452 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/01/03 | 70994 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/01/03 | 157440 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/01/03 | 172344 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/01/03 | 58642 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/01/03 | 67188 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/01/03 | 101508 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2022/01/03 | 109264 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2022/01/03 | 2675896 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/01/03 | 2798720 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/01/03 | 55294 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/01/03 | 62710 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/01/03 | 37153 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/01/03 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/01/03 | 28678 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/01/03 | 34091 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/01/03 | 67858 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/01/03 | 71894 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/01/03 | 318733 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/01/03 | 351559 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/01/03 | 55724 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/01/03 | 57416 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/01/03 | 591063 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/01/03 | 629126 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/01/03 | 39745 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/01/03 | 43683 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/01/03 | 258871 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/01/03 | 1402525 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/01/03 | 1297897 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/01/03 | 13510 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/01/03 | 14417 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/01/04 | 631401 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/01/04 | 51534 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/01/04 | 57340 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/01/04 | 959837 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/01/04 | 1087175 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/01/04 | 28756 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/01/04 | 31551 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/01/04 | 30172 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/01/04 | 35240 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/01/04 | 56675 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/01/04 | 65085 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/01/04 | 86663 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/01/04 | 95330 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/01/04 | 68781 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/01/04 | 77064 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/01/04 | 27268 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/01/04 | 31335 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/01/04 | 332744 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/01/04 | 394298 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/01/04 | 32957 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/01/04 | 37095 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/01/04 | 51501 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/01/04 | 57256 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/01/04 | 256459 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/01/04 | 281543 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/01/04 | 179828 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/01/04 | 196132 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/01/04 | 54991 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/01/04 | 62425 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/01/04 | 21321 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/01/04 | 24089 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/01/04 | 470363 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/01/04 | 46095 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/01/04 | 52041 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/01/04 | 285738 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/01/04 | 326301 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/01/04 | 41389 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/01/04 | 45773 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/01/04 | 120219 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/01/04 | 135130 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/01/04 | 1304424 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/01/04 | 1452739 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/01/04 | 99702 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/01/04 | 113013 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/01/04 | 43669 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/01/04 | 48842 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/01/04 | 25103 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/01/04 | 28554 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/01/04 | 57029 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/01/04 | 63365 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/01/04 | 136036 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/01/04 | 155302 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/01/04 | 73461 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/01/04 | 79035 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/01/04 | 71989 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/01/04 | 81530 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/01/04 | 259311 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/01/04 | 296106 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/01/04 | 22153 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/01/04 | 25062 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/01/04 | 97081 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/01/04 | 112664 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/01/04 | 64574 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/01/04 | 73276 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/01/04 | 96922 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/01/04 | 115645 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/01/04 | 38468 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/01/04 | 43820 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/01/04 | 483934 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/01/04 | 566720 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/01/04 | 152075 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/01/04 | 168841 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/01/04 | 95484 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/01/04 | 109560 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/01/04 | 16500 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/01/04 | 18357 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/01/04 | 28320 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/01/04 | 30512 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/01/04 | 630238 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/01/04 | 681612 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/01/04 | 532454 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/01/04 | 599013 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/01/04 | 477925 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/01/04 | 527827 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/01/04 | 93941 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/01/04 | 103439 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/01/04 | 1731299 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/01/04 | 1992374 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/01/04 | 68013 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/01/04 | 74059 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/01/04 | 27698 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/01/04 | 32154 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/01/04 | 7757 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/01/04 | 8781 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/01/04 | 199664 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/01/04 | 216349 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/01/04 | 251404 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/01/04 | 286564 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/01/04 | 99179 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/01/04 | 104676 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/01/04 | 126843 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/01/04 | 139123 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/01/04 | 246040 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/01/04 | 276119 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/01/04 | 199683 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/01/04 | 181568 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/01/04 | 68653 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/01/04 | 76279 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/01/04 | 31398 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/01/04 | 35172 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/01/04 | 38564 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/01/04 | 43926 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/01/04 | 43451 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/01/04 | 47909 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/01/04 | 45890 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/01/04 | 52309 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/01/04 | 198988 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/01/04 | 213499 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/01/04 | 36055 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/01/04 | 41264 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/01/04 | 753218 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/01/04 | 824780 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/01/04 | 200082 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/01/04 | 202743 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/01/04 | 210220 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/01/04 | 244844 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/01/04 | 78966 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/01/04 | 88162 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/01/04 | 1180761 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/01/04 | 1322451 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/01/04 | 20194 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/01/04 | 23946 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/01/04 | 31574 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/01/04 | 37389 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/01/04 | 64735 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/01/04 | 72882 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/01/04 | 50848 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/01/04 | 58658 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/01/04 | 691228 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/01/04 | 752396 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/01/04 | 1355965 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/01/04 | 1499384 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/01/04 | 42769 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/01/04 | 52549 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/01/04 | 57443 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/01/04 | 63754 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/01/04 | 25536 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/01/04 | 27501 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/01/04 | 16577 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/01/04 | 18482 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/01/04 | 64576 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/01/04 | 70970 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/01/04 | 157600 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/01/04 | 172571 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/01/04 | 58706 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/01/04 | 67222 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/01/04 | 101458 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/01/04 | 109141 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/01/04 | 2672851 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/01/04 | 2797476 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/01/04 | 55336 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/01/04 | 62337 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/01/04 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/01/04 | 41208 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/01/04 | 28692 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/01/04 | 34031 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/01/04 | 67763 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/01/04 | 71914 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/01/04 | 317771 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/01/04 | 355355 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/01/04 | 55733 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/01/04 | 57401 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/01/04 | 591456 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/01/04 | 629340 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/01/04 | 39735 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/01/04 | 43697 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/01/04 | 258765 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/01/04 | 1402169 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/01/04 | 1297636 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/01/04 | 13512 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/01/04 | 14410 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2022/01/03 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/01/04 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -298733,7 +298412,7 @@
2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2022/01/03 | 956 | systems/win32/miktex/tm/packages/pr.ini
+2022/01/04 | 956 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -300452,7 +300131,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2022/01/04 | 186 | timestamp
+2022/01/05 | 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 7d2ebc138b..26c326b387 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index d8d317b3ae..999ba0e37c 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,81 +1,422 @@
+2022/01/04 | 998875 | macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
+2022/01/04 | 998875 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdf
+2022/01/04 | 99702 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/01/04 | 996 | macros/latex/contrib/siunitx/README.md
+2022/01/04 | 99179 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/01/04 | 9888 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
+2022/01/04 | 98475 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2022/01/04 | 983 | macros/latex/contrib/acro/examples/acro.example.issue-119.tex
+2022/01/04 | 97081 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/01/04 | 96922 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/01/04 | 959837 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/01/04 | 9572 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2022/01/04 | 956 | systems/win32/miktex/tm/packages/pr.ini
+2022/01/04 | 95484 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/01/04 | 95330 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/01/04 | 93941 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/01/04 | 9343055 | fonts/newtx.zip
+2022/01/04 | 9078 | macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg
+2022/01/04 | 907817 | macros/latex/contrib/acro/acro-manual.pdf
+2022/01/04 | 9063 | macros/latex/contrib/fnpct/fnpct-manual.cls
+2022/01/04 | 9021 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
+2022/01/04 | 8840 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
+2022/01/04 | 88162 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/01/04 | 8798 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2022/01/04 | 8781 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/01/04 | 86663 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/01/04 | 8561 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
+2022/01/04 | 84780 | macros/latex/contrib/easybook/easybook.tex
+2022/01/04 | 83316 | systems/texlive/tlnet/archive/luatexja.source.r61485.tar.xz
+2022/01/04 | 83104 | macros/latex/contrib/easybook/easybook.dtx
+2022/01/04 | 824780 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/01/04 | 8175 | macros/latex/contrib/acro/examples/acro.example.issue-119.pdf
+2022/01/04 | 81530 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/01/04 | 79035 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/01/04 | 78966 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/01/04 | 779 | macros/latex/contrib/acro/examples/acro.example.possessive.tex
+2022/01/04 | 7757 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/01/04 | 77064 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/01/04 | 76279 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/01/04 | 757 | macros/latex/contrib/acro/examples/acro.example.texsx-542461.tex
+2022/01/04 | 753218 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/01/04 | 752396 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/01/04 | 74118 | macros/latex/contrib/swfigure/swfigure.dtx
+2022/01/04 | 74059 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/01/04 | 73461 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/01/04 | 73276 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/01/04 | 72882 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/01/04 | 71989 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/01/04 | 71914 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/01/04 | 70970 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/01/04 | 706 | macros/latex/contrib/acro/examples/acro.example.issue-111.tex
+2022/01/04 | 691228 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/01/04 | 68781 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/01/04 | 68653 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/01/04 | 681612 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/01/04 | 6811288 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/01/04 | 6802 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
+2022/01/04 | 68013 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/01/04 | 67763 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/01/04 | 6752 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
+2022/01/04 | 6742 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axesmin.tex
+2022/01/04 | 67222 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/01/04 | 65085 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/01/04 | 65067 | macros/latex/contrib/acro/examples/acro.example.units.pdf
+2022/01/04 | 6480 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex
+2022/01/04 | 64735 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/01/04 | 64576 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/01/04 | 64574 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/01/04 | 6447 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-main.tex
+2022/01/04 | 638349 | macros/latex/contrib/siunitx/siunitx.pdf
+2022/01/04 | 63754 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/01/04 | 637539 | macros/latex/contrib/easybook.zip
+2022/01/04 | 63365 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/01/04 | 633090 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/01/04 | 631401 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/01/04 | 630238 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/01/04 | 629340 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/01/04 | 62425 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/01/04 | 62337 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/01/04 | 61753 | macros/latex/contrib/siunitx/CHANGELOG.md
+2022/01/04 | 607911 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2022/01/04 | 5998 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-brazil.trsl
+2022/01/04 | 599013 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/01/04 | 594551 | macros/latex/contrib/easybook/easybook.pdf
+2022/01/04 | 591456 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/01/04 | 58706 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/01/04 | 58658 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/01/04 | 5856 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-spanish.trsl
+2022/01/04 | 5816 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl
+2022/01/04 | 57443 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/01/04 | 57401 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/01/04 | 57340 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/01/04 | 5730 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-german.trsl
+2022/01/04 | 5729 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-french.trsl
+2022/01/04 | 57256 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/01/04 | 57029 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/01/04 | 5685 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-dutch.trsl
+2022/01/04 | 5676 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
+2022/01/04 | 5670 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex
+2022/01/04 | 56675 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/01/04 | 566720 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/01/04 | 5594 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-english.trsl
+2022/01/04 | 55733 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/01/04 | 55336 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/01/04 | 54991 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/01/04 | 538116 | macros/latex/contrib/translations.zip
+2022/01/04 | 5341 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
+2022/01/04 | 532454 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/01/04 | 527827 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/01/04 | 52549 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/01/04 | 52309 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/01/04 | 52041 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/01/04 | 520112 | systems/texlive/tlnet/archive/wrapfig2.doc.r61483.tar.xz
+2022/01/04 | 5172 | systems/texlive/tlnet/archive/wrapfig2.r61483.tar.xz
+2022/01/04 | 51661 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
+2022/01/04 | 51534 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/01/04 | 515117 | macros/latex/contrib/translations/translations_en.pdf
+2022/01/04 | 51501 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/01/04 | 51179 | support/texlogsieve/texlogsieve.pdf
+2022/01/04 | 50848 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/01/04 | 50716 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2022/01/04 | 506463 | macros/latex/contrib/fnpct.zip
+2022/01/04 | 4992 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
+2022/01/04 | 4904 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
+2022/01/04 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/01/04 | 489527 | macros/latex/contrib/fnpct/fnpct-manual.pdf
+2022/01/04 | 48842 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/01/04 | 483934 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/01/04 | 47909 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/01/04 | 478118 | macros/latex/contrib/enotez.zip
+2022/01/04 | 477925 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/01/04 | 4770 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
+2022/01/04 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2022/01/04 | 4746 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2022/01/04 | 470363 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/01/04 | 46612 | macros/latex/contrib/fnpct/fnpct.sty
+2022/01/04 | 465670 | macros/latex/contrib/enotez/enotez_en.pdf
+2022/01/04 | 46095 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/01/04 | 4604 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
+2022/01/04 | 45890 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/01/04 | 4580 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
+2022/01/04 | 45773 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/01/04 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/01/04 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/01/04 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/01/04 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/01/04 | 44107 | macros/latex/contrib/translations/translations.sty
+2022/01/04 | 43926 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/01/04 | 43820 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/01/04 | 4373 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
+2022/01/04 | 43697 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/01/04 | 4366 | macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex
+2022/01/04 | 43669 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/01/04 | 43451 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/01/04 | 42769 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/01/04 | 426674 | macros/latex/contrib/tkz/tkz-base.zip
+2022/01/04 | 4188 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
+2022/01/04 | 41628 | fonts/newtx/README
+2022/01/04 | 41389 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/01/04 | 41264 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/01/04 | 41208 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/01/04 | 4085 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
+2022/01/04 | 407520 | systems/texlive/tlnet/archive/garamond-math.r61481.tar.xz
+2022/01/04 | 402344 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61480.tar.xz
+2022/01/04 | 4004 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
+2022/01/04 | 39735 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/01/04 | 3948 | systems/texlive/tlnet/archive/yb-book.r61484.tar.xz
+2022/01/04 | 394298 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/01/04 | 38564 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/01/04 | 38468 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/01/04 | 37436 | macros/latex/contrib/enotez/enotez.sty
+2022/01/04 | 37389 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/01/04 | 372 | macros/latex/contrib/acro/examples/acro.example.texsx-515295.tex
+2022/01/04 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/01/04 | 37095 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/01/04 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2022/01/04 | 36055 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/01/04 | 355355 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/01/04 | 35505 | macros/latex/contrib/translations/translations_en.tex
+2022/01/04 | 353 | macros/latex/contrib/acro/examples/acro.example.texsx-513623.tex
+2022/01/04 | 35310 | macros/latex/contrib/dbshow/dbshow-doc.tex
+2022/01/04 | 35240 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/01/04 | 35172 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/01/04 | 35149 | support/texlogsieve/LICENCE.txt
+2022/01/04 | 3482 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
+2022/01/04 | 3482 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex
+2022/01/04 | 3474 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex
+2022/01/04 | 3471 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
+2022/01/04 | 3466 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex
+2022/01/04 | 343252 | macros/latex/contrib/tkz/tkz-base/doc/tkz-base.pdf
+2022/01/04 | 34031 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/01/04 | 34008 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2022/01/04 | 33799 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2022/01/04 | 33721 | macros/latex/contrib/acro/examples/acro.example.texsx-507726.pdf
+2022/01/04 | 332744 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/01/04 | 3306 | macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty
+2022/01/04 | 329 | macros/latex/contrib/acro/examples/acro.example.issue-109.tex
+2022/01/04 | 32957 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/01/04 | 3263 | macros/latex/contrib/enotez/enotez_split_example.tex
+2022/01/04 | 326301 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/01/04 | 3252 | macros/latex/contrib/acro/acro-examples.sty
+2022/01/04 | 32432 | macros/latex/contrib/acro/examples/acro.example.texsx-505891.pdf
+2022/01/04 | 3232668 | systems/texlive/tlnet/archive/luatexja.doc.r61485.tar.xz
+2022/01/04 | 32154 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/01/04 | 3214 | macros/latex/contrib/acro/examples/acro.example.basic.tex
+2022/01/04 | 317771 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/01/04 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2022/01/04 | 31622 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2022/01/04 | 315 | macros/latex/contrib/acro/examples/acro.example.acflike.tex
+2022/01/04 | 31574 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/01/04 | 31551 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/01/04 | 31398 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/01/04 | 31335 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/01/04 | 3116 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
+2022/01/04 | 3103 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
+2022/01/04 | 30512 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/01/04 | 30275 | macros/latex/contrib/acro/examples/acro.example.issue-109.pdf
+2022/01/04 | 30172 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/01/04 | 2976 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
+2022/01/04 | 2969 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex
+2022/01/04 | 296106 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/01/04 | 29420 | systems/texlive/tlnet/archive/srdp-mathematik.r61482.tar.xz
2022/01/04 | 293731 | fonts/garamond-math/Garamond-Math.pdf
+2022/01/04 | 292360 | systems/texlive/tlnet/archive/garamond-math.doc.r61481.tar.xz
+2022/01/04 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2022/01/04 | 28756 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/01/04 | 286 | macros/latex/contrib/acro/examples/acro.example.issue-154.tex
+2022/01/04 | 28692 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/01/04 | 286564 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/01/04 | 285738 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/01/04 | 28554 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/01/04 | 28320 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/01/04 | 281543 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/01/04 | 2797476 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/01/04 | 2796 | macros/latex/contrib/tkz/tkz-euclide/README.md
+2022/01/04 | 27698 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/01/04 | 276119 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/01/04 | 27501 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/01/04 | 2744 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
+2022/01/04 | 2742 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex
+2022/01/04 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2022/01/04 | 27268 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/01/04 | 2723 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex
+2022/01/04 | 2703 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex
+2022/01/04 | 2672851 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/01/04 | 26592 | macros/latex/contrib/fnpct/fnpct-manual.tex
+2022/01/04 | 2636 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
+2022/01/04 | 26353 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2022/01/04 | 261913 | macros/latex/contrib/dbshow.zip
+2022/01/04 | 259311 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/01/04 | 258840 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/01/04 | 258765 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/01/04 | 256459 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/01/04 | 25631640 | systems/texlive/tlnet/install-tl.zip
+2022/01/04 | 25536 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/01/04 | 252249 | macros/latex/contrib/dbshow/dbshow-doc.pdf
+2022/01/04 | 2519 | support/texlogsieve/README.md
+2022/01/04 | 251404 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/01/04 | 25103 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/01/04 | 25062 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/01/04 | 2492 | macros/latex/contrib/siunitx/siunitx-code.tex
+2022/01/04 | 246040 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/01/04 | 2457 | macros/latex/contrib/tkz/tkz-base/README.md
+2022/01/04 | 244844 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/01/04 | 243272 | systems/texlive/tlnet/archive/yb-book.doc.r61484.tar.xz
+2022/01/04 | 24224 | macros/latex/contrib/acro/examples/acro.example.issue-154.pdf
+2022/01/04 | 24089 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/01/04 | 23946 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/01/04 | 2337640 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/01/04 | 2294346 | macros/latex/contrib/swfigure.zip
+2022/01/04 | 22752 | macros/latex/contrib/acro/examples/acro.example.texsx-513623.pdf
+2022/01/04 | 2266 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
+2022/01/04 | 2250 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-colors.tex
+2022/01/04 | 22412 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
+2022/01/04 | 22193 | macros/latex/contrib/enotez/enotez_en.tex
+2022/01/04 | 22153 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/01/04 | 216349 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/01/04 | 213499 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/01/04 | 21321 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/01/04 | 2125 | macros/latex/contrib/acro/README
+2022/01/04 | 21254 | macros/latex/contrib/dbshow/dbshow.sty
+2022/01/04 | 2119853 | macros/latex/contrib/tkz/tkz-euclide.zip
+2022/01/04 | 210220 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/01/04 | 20922 | macros/latex/contrib/acro/examples/acro.example.acflike.pdf
+2022/01/04 | 20873842 | systems/texlive/tlnet/install-tl-windows.exe
+2022/01/04 | 202743 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/01/04 | 20194 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/01/04 | 2002 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
+2022/01/04 | 200082 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/01/04 | 199683 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/01/04 | 199664 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/01/04 | 1995 | macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-shape.tex
+2022/01/04 | 1992374 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/01/04 | 198988 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/01/04 | 19846 | macros/latex/contrib/siunitx/siunitx.dtx
+2022/01/04 | 1978 | macros/latex/contrib/acro/examples/acro.example.units.tex
+2022/01/04 | 196132 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/01/04 | 19496 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
+2022/01/04 | 1916 | macros/latex/contrib/swfigure/README.txt
+2022/01/04 | 19131 | fonts/newtx/tex/newtxtext.sty
+2022/01/04 | 191008 | systems/texlive/tlnet/archive/luatexja.r61485.tar.xz
+2022/01/04 | 18482 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/01/04 | 18357 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/01/04 | 18248 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex
+2022/01/04 | 181568 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2022/01/04 | 18135 | fonts/garamond-math/Garamond-Math.tex
+2022/01/04 | 179828 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/01/04 | 173809 | macros/latex/contrib/acro/acro.sty
+2022/01/04 | 1731299 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/01/04 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2022/01/04 | 172571 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/01/04 | 17068305 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/01/04 | 1693 | macros/latex/contrib/translations/README
+2022/01/04 | 168841 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/01/04 | 16772 | systems/texlive/tlnet/archive/wrapfig2.source.r61483.tar.xz
2022/01/04 | 1674 | fonts/garamond-math/README.md
+2022/01/04 | 16704 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2022/01/04 | 16577 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/01/04 | 16531 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
+2022/01/04 | 16500 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/01/04 | 16353 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
+2022/01/04 | 16128 | support/texlogsieve/texlogsieve.tex
+2022/01/04 | 1608 | systems/texlive/tlnet/archive/collection-publishers.r61484.tar.xz
+2022/01/04 | 15855 | macros/latex/contrib/acro/examples/acro.example.texsx-515295.pdf
+2022/01/04 | 15808 | macros/latex/contrib/acro/examples/acro.example.texsx-542461.pdf
+2022/01/04 | 157600 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/01/04 | 15733 | macros/latex/contrib/acro/examples/acro.example.issue-111.pdf
+2022/01/04 | 155302 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/01/04 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/01/04 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2022/01/04 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/01/04 | 152075 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/01/04 | 1499384 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/01/04 | 1489 | macros/latex/contrib/fnpct/README
+2022/01/04 | 14793 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex
+2022/01/04 | 147734 | macros/latex/contrib/siunitx/siunitx.tex
+2022/01/04 | 1476 | macros/latex/contrib/acro/examples/acro.example.texsx-507726.tex
+2022/01/04 | 147484 | systems/texlive/tlnet/archive/srdp-mathematik.doc.r61482.tar.xz
+2022/01/04 | 1461111 | install/macros/latex/contrib/siunitx.tds.zip
+2022/01/04 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/01/04 | 1452739 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/01/04 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/01/04 | 144591 | support/texlogsieve/texlogsieve
+2022/01/04 | 14441 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
+2022/01/04 | 14410 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/01/04 | 144061 | macros/latex/contrib/acro/acro2.sty
+2022/01/04 | 1421017 | macros/latex/contrib/siunitx.zip
+2022/01/04 | 1402841 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/01/04 | 1402169 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/01/04 | 1398820 | macros/latex/contrib/acro.zip
+2022/01/04 | 139123 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/01/04 | 13686 | macros/latex/contrib/acro/examples/acro.example.possessive.pdf
+2022/01/04 | 136036 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/01/04 | 1355965 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/01/04 | 135130 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/01/04 | 13512 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/01/04 | 13352 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
+2022/01/04 | 13270 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
+2022/01/04 | 1322451 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/01/04 | 13201 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex
+2022/01/04 | 1312 | macros/latex/contrib/enotez/README
+2022/01/04 | 1304424 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/01/04 | 1299169 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/01/04 | 1297636 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/01/04 | 126843 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/01/04 | 125351 | macros/latex/contrib/acro/examples/acro.example.basic.pdf
+2022/01/04 | 12505 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex
+2022/01/04 | 1222 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
+2022/01/04 | 1215 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex
+2022/01/04 | 121488 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2022/01/04 | 120219 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/01/04 | 1180761 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/01/04 | 1178086 | macros/latex/contrib/swfigure/swfigure.pdf
+2022/01/04 | 11752 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex
+2022/01/04 | 115645 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/01/04 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/01/04 | 1146 | macros/latex/contrib/dbshow/README.md
+2022/01/04 | 11445 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
+2022/01/04 | 113013 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/01/04 | 112664 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/01/04 | 109589 | support/texlogsieve.zip
+2022/01/04 | 109560 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/01/04 | 109141 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/01/04 | 1087175 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/01/04 | 108268 | systems/texlive/tlnet/archive/texlive-scripts.r61480.tar.xz
+2022/01/04 | 1068 | macros/latex/contrib/acro/examples/acro.example.texsx-505891.tex
+2022/01/04 | 10650 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
+2022/01/04 | 104689 | macros/latex/contrib/acro/acro-manual.tex
+2022/01/04 | 104676 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/01/04 | 10453 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
+2022/01/04 | 103439 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/01/04 | 10244 | support/texlogsieve/texlogsieve.1
+2022/01/04 | 101458 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/01/04 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
2022/01/03 | 9992 | macros/latex/contrib/yb-book/yb-book.cls
-2022/01/03 | 99759 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/01/03 | 99373 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
2022/01/03 | 9765 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
-2022/01/03 | 97106 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/01/03 | 96828 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
2022/01/03 | 965 | macros/latex/contrib/wrapfig2/README.txt
-2022/01/03 | 959949 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/01/03 | 956 | systems/win32/miktex/tm/packages/pr.ini
-2022/01/03 | 95449 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/01/03 | 95274 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2022/01/03 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
2022/01/03 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
-2022/01/03 | 93990 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2022/01/03 | 937460 | systems/texlive/tlnet/archive/tex4ht.r61478.tar.xz
2022/01/03 | 919160 | systems/texlive/tlnet/archive/mcf2graph.doc.r61468.tar.xz
2022/01/03 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
2022/01/03 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
-2022/01/03 | 88228 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/01/03 | 8792 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/01/03 | 86767 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2022/01/03 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
2022/01/03 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua
2022/01/03 | 842355 | fonts/garamond-math.zip
2022/01/03 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
-2022/01/03 | 824231 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
2022/01/03 | 823988 | fonts/garamond-math/Garamond-Math.otf
-2022/01/03 | 81709 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2022/01/03 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
-2022/01/03 | 79138 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/01/03 | 78962 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
2022/01/03 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
-2022/01/03 | 7754 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/01/03 | 77072 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
2022/01/03 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
-2022/01/03 | 763148 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
-2022/01/03 | 762929 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/01/03 | 76232 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/01/03 | 753828 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/01/03 | 74622 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2022/01/03 | 74054 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
2022/01/03 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
-2022/01/03 | 73600 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/01/03 | 73180 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/01/03 | 72851 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/01/03 | 72256 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/01/03 | 71894 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
2022/01/03 | 713111 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
-2022/01/03 | 70994 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2022/01/03 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
-2022/01/03 | 694123 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
-2022/01/03 | 693756 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
2022/01/03 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
2022/01/03 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
-2022/01/03 | 68800 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/01/03 | 68619 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/01/03 | 682341 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2022/01/03 | 68140 | systems/texlive/tlnet/archive/latexindent.r61477.tar.xz
-2022/01/03 | 6811270 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/01/03 | 67994 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/01/03 | 67858 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/01/03 | 67188 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/01/03 | 6731 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/01/03 | 6497 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
-2022/01/03 | 64715 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/01/03 | 64567 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/01/03 | 64516 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2022/01/03 | 64452 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/01/03 | 63700 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/01/03 | 634085 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/01/03 | 63313 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/01/03 | 633090 | systems/win32/miktex/tm/packages/files.csv.lzma
-2022/01/03 | 631000 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/01/03 | 629126 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/01/03 | 62710 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/01/03 | 62419 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
2022/01/03 | 6235 | macros/luatex/generic/luatexja/src/ltj-latex.sty
2022/01/03 | 6203 | macros/luatex/generic/luatexja/src/ltj-base.sty
2022/01/03 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
@@ -83,193 +424,83 @@
2022/01/03 | 6072 | systems/texlive/tlnet/archive/aalok.r61474.tar.xz
2022/01/03 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
2022/01/03 | 6008 | systems/texlive/tlnet/archive/chhaya.source.r61475.tar.xz
-2022/01/03 | 599049 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2022/01/03 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
-2022/01/03 | 591063 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/01/03 | 58642 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/01/03 | 58546 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
2022/01/03 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
-2022/01/03 | 58370 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
2022/01/03 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
-2022/01/03 | 57568 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/01/03 | 57416 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/01/03 | 57408 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/01/03 | 57278 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2022/01/03 | 5716 | systems/texlive/tlnet/archive/tipauni.r61476.tar.xz
-2022/01/03 | 56961 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
2022/01/03 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
-2022/01/03 | 566756 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2022/01/03 | 55798 | macros/latex/contrib/wrapfig2/wrapfig2.dtx
-2022/01/03 | 55724 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
2022/01/03 | 55322 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
-2022/01/03 | 55294 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
2022/01/03 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
-2022/01/03 | 54951 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2022/01/03 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
2022/01/03 | 5420 | systems/texlive/tlnet/archive/marathi.r61469.tar.xz
2022/01/03 | 536663 | macros/luatex/generic/luatexja/doc/luatexja.dtx
2022/01/03 | 535896 | macros/latex/contrib/wrapfig2.zip
-2022/01/03 | 532339 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
2022/01/03 | 532255 | macros/latex/contrib/wrapfig2/wrapfig2.pdf
-2022/01/03 | 528533 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2022/01/03 | 52633 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
-2022/01/03 | 52572 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/01/03 | 52278 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
2022/01/03 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
2022/01/03 | 5216 | macros/latex/contrib/yb-book/yb-book-logo.pdf
-2022/01/03 | 52095 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/01/03 | 51589 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/01/03 | 51429 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/01/03 | 50851 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/01/03 | 50733 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
2022/01/03 | 49557 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
-2022/01/03 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2022/01/03 | 48804 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2022/01/03 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
2022/01/03 | 48649 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
-2022/01/03 | 484481 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
2022/01/03 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
-2022/01/03 | 47893 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/01/03 | 477729 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2022/01/03 | 464 | macros/latex/contrib/yb-book/DEPENDS.txt
-2022/01/03 | 46135 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/01/03 | 461241 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/01/03 | 45734 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/01/03 | 45687 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2022/01/03 | 456779 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
2022/01/03 | 4560 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
-2022/01/03 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/01/03 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2022/01/03 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/01/03 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2022/01/03 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
2022/01/03 | 4408 | macros/luatex/generic/luatexja/src/ltj-plain.sty
2022/01/03 | 4404 | systems/texlive/tlnet/archive/muling.source.r61473.tar.xz
-2022/01/03 | 43894 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/01/03 | 43808 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/01/03 | 43683 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/01/03 | 43639 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/01/03 | 43275 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/01/03 | 42768 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2022/01/03 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
2022/01/03 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
-2022/01/03 | 41326 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/01/03 | 41219 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/01/03 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
2022/01/03 | 4061684 | systems/texlive/tlnet/archive/latexindent.win32.r61477.tar.xz
2022/01/03 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
-2022/01/03 | 402344 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61466.tar.xz
2022/01/03 | 400068 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
2022/01/03 | 397480 | systems/texlive/tlnet/archive/tipauni.doc.r61476.tar.xz
-2022/01/03 | 39745 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
2022/01/03 | 39711 | macros/luatex/generic/luatexja/src/ltj-direction.lua
2022/01/03 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
-2022/01/03 | 394271 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2022/01/03 | 3893 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
2022/01/03 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
-2022/01/03 | 38541 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/01/03 | 38460 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2022/01/03 | 3812067 | macros/luatex/generic/luatexja.zip
2022/01/03 | 381090 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
2022/01/03 | 3796 | macros/luatex/generic/luatexja/README
2022/01/03 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
2022/01/03 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
2022/01/03 | 374492 | systems/texlive/tlnet/archive/codebox.doc.r61470.tar.xz
-2022/01/03 | 37374 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/01/03 | 37153 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/01/03 | 37093 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/01/03 | 36042 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
2022/01/03 | 3588 | systems/texlive/tlnet/archive/codebox.r61470.tar.xz
2022/01/03 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
2022/01/03 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
-2022/01/03 | 35264 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/01/03 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/01/03 | 351559 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
2022/01/03 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
2022/01/03 | 3425 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
-2022/01/03 | 34091 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2022/01/03 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
2022/01/03 | 3368 | systems/texlive/tlnet/archive/chhaya.r61475.tar.xz
2022/01/03 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
-2022/01/03 | 332374 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2022/01/03 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
-2022/01/03 | 32989 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2022/01/03 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
-2022/01/03 | 326388 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2022/01/03 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
-2022/01/03 | 32155 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
2022/01/03 | 32099 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
-2022/01/03 | 318733 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
2022/01/03 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
-2022/01/03 | 31575 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/01/03 | 31539 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/01/03 | 31413 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/01/03 | 31334 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2022/01/03 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
-2022/01/03 | 30569 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/01/03 | 30181 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/01/03 | 295888 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2022/01/03 | 29536 | macros/luatex/generic/luatexja/src/luatexja-core.sty
2022/01/03 | 29181 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
2022/01/03 | 2905 | macros/latex/contrib/yb-book/yb-book.tex
-2022/01/03 | 28895 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/01/03 | 28678 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/01/03 | 286703 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/01/03 | 28545 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/01/03 | 285453 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/01/03 | 28388 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/01/03 | 281441 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/01/03 | 2798720 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/01/03 | 27472 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/01/03 | 27263 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/01/03 | 27243 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2022/01/03 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty
-2022/01/03 | 2675896 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
2022/01/03 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
-2022/01/03 | 259274 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
2022/01/03 | 25920 | systems/texlive/tlnet/archive/mcf2graph.r61468.tar.xz
-2022/01/03 | 258871 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/01/03 | 258798 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2022/01/03 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
2022/01/03 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
-2022/01/03 | 25672 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/01/03 | 25631668 | systems/texlive/tlnet/install-tl.zip
-2022/01/03 | 256200 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
2022/01/03 | 251424 | macros/latex/contrib/yb-book.zip
-2022/01/03 | 25133 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/01/03 | 251068 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/01/03 | 25061 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2022/01/03 | 2464 | systems/texlive/tlnet/archive/muling.r61473.tar.xz
-2022/01/03 | 244963 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/01/03 | 24151 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2022/01/03 | 239404 | macros/latex/contrib/yb-book/yb-book.pdf
-2022/01/03 | 23933 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2022/01/03 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
2022/01/03 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
-2022/01/03 | 2335332 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2022/01/03 | 22294 | macros/luatex/generic/luatexja/src/luatexja.lua
-2022/01/03 | 22178 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2022/01/03 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
2022/01/03 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
-2022/01/03 | 215852 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/01/03 | 21372 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/01/03 | 213458 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/01/03 | 209939 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/01/03 | 20873574 | systems/texlive/tlnet/install-tl-windows.exe
2022/01/03 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
2022/01/03 | 2042 | macros/luatex/generic/luatexja/src/luatexja.sty
-2022/01/03 | 203081 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/01/03 | 202238 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/01/03 | 20190 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/01/03 | 2012707 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
2022/01/03 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
-2022/01/03 | 200142 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/01/03 | 199837 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/01/03 | 199117 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/01/03 | 197376 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
2022/01/03 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
2022/01/03 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
-2022/01/03 | 196120 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2022/01/03 | 19566 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
2022/01/03 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
2022/01/03 | 19234 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
@@ -277,64 +508,31 @@
2022/01/03 | 188978 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
2022/01/03 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
2022/01/03 | 18632 | systems/texlive/tlnet/archive/aalok.source.r61474.tar.xz
-2022/01/03 | 18486 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/01/03 | 18371 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/01/03 | 181558 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/01/03 | 181466 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/01/03 | 179709 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2022/01/03 | 17952 | systems/texlive/tlnet/archive/easybook.source.r61471.tar.xz
2022/01/03 | 17936 | systems/texlive/tlnet/archive/marathi.source.r61469.tar.xz
2022/01/03 | 17924 | systems/texlive/tlnet/archive/easybook.r61471.tar.xz
2022/01/03 | 177499 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
-2022/01/03 | 1732471 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/01/03 | 172344 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/01/03 | 17066892 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/01/03 | 168851 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2022/01/03 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
2022/01/03 | 165972 | systems/texlive/tlnet/archive/aalok.doc.r61474.tar.xz
-2022/01/03 | 16566 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/01/03 | 16520 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2022/01/03 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
2022/01/03 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
-2022/01/03 | 157440 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/01/03 | 155286 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2022/01/03 | 154928 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
2022/01/03 | 154916 | systems/texlive/tlnet/archive/marathi.doc.r61469.tar.xz
-2022/01/03 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2022/01/03 | 1536 | systems/texlive/tlnet/archive/iexec.r61472.tar.xz
2022/01/03 | 1536 | macros/luatex/generic/luatexja/COPYING
-2022/01/03 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2022/01/03 | 1529804 | systems/texlive/tlnet/archive/libertinust1math.doc.r61467.tar.xz
-2022/01/03 | 152104 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2022/01/03 | 1497477 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2022/01/03 | 14929 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
2022/01/03 | 14709 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
-2022/01/03 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/01/03 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/01/03 | 1447744 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2022/01/03 | 144320 | systems/texlive/tlnet/archive/muling.doc.r61473.tar.xz
-2022/01/03 | 14417 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2022/01/03 | 1416 | macros/latex/contrib/yb-book/samples/sample.tex
-2022/01/03 | 1402964 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/01/03 | 1402525 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
2022/01/03 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
-2022/01/03 | 139308 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2022/01/03 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
2022/01/03 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
2022/01/03 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r61478.tar.xz
2022/01/03 | 1362 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
-2022/01/03 | 135933 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/01/03 | 1353499 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/01/03 | 13510 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/01/03 | 135071 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2022/01/03 | 13240 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
-2022/01/03 | 1322404 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/01/03 | 1299133 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/01/03 | 1298932 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2022/01/03 | 1297897 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2022/01/03 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
2022/01/03 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
-2022/01/03 | 126742 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2022/01/03 | 12544 | systems/texlive/tlnet/archive/tipauni.source.r61476.tar.xz
2022/01/03 | 1248632 | systems/texlive/tlnet/archive/libertinust1math.r61467.tar.xz
2022/01/03 | 12389 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
@@ -342,26 +540,13 @@
2022/01/03 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
2022/01/03 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
2022/01/03 | 121504 | systems/texlive/tlnet/archive/chhaya.doc.r61475.tar.xz
-2022/01/03 | 120296 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/01/03 | 1181004 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/01/03 | 115671 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/01/03 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2022/01/03 | 1153400 | systems/texlive/tlnet/archive/latexindent.doc.r61477.tar.xz
2022/01/03 | 11508 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
2022/01/03 | 1140418 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
2022/01/03 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
2022/01/03 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
-2022/01/03 | 113044 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/01/03 | 112484 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
2022/01/03 | 111056 | systems/texlive/tlnet/archive/iexec.doc.r61472.tar.xz
-2022/01/03 | 109544 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/01/03 | 109264 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2022/01/03 | 1087 | macros/latex/contrib/yb-book/README.md
-2022/01/03 | 1087067 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/01/03 | 108280 | systems/texlive/tlnet/archive/texlive-scripts.r61466.tar.xz
-2022/01/03 | 104748 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/01/03 | 103462 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/01/03 | 101508 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2022/01/02 | 9991230 | systems/win32/miktex/tm/packages/pstricks__doc.tar.lzma
2022/01/02 | 9958 | systems/win32/miktex/tm/packages/lualatex-math__source.tar.lzma
2022/01/02 | 99299 | systems/win32/miktex/tm/packages/firamath.tar.lzma
@@ -379,11 +564,9 @@
2022/01/02 | 8542 | systems/win32/miktex/tm/packages/latexdiff__source.tar.lzma
2022/01/02 | 85270 | systems/win32/miktex/tm/packages/markdown__source.tar.lzma
2022/01/02 | 848494 | systems/win32/miktex/tm/packages/kaytannollista-latexia.tar.lzma
-2022/01/02 | 84780 | macros/latex/contrib/easybook/easybook.tex
2022/01/02 | 847619 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma
2022/01/02 | 839229 | systems/win32/miktex/tm/packages/mathfont__doc.tar.lzma
2022/01/02 | 835 | support/latexindent/LatexIndent/Version.pm
-2022/01/02 | 83106 | macros/latex/contrib/easybook/easybook.dtx
2022/01/02 | 826920 | systems/win32/miktex/tm/packages/minted__doc.tar.lzma
2022/01/02 | 8259 | systems/win32/miktex/tm/packages/codebox.tar.lzma
2022/01/02 | 8194 | systems/win32/miktex/tm/packages/termsim.tar.lzma
@@ -405,7 +588,6 @@
2022/01/02 | 696743 | systems/win32/miktex/tm/packages/babel__source.tar.lzma
2022/01/02 | 68865 | systems/win32/miktex/tm/packages/witharrows__source.tar.lzma
2022/01/02 | 6864993 | systems/win32/miktex/tm/packages/profcollege__doc.tar.lzma
-2022/01/02 | 6792 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/01/02 | 6742 | support/latexindent/LatexIndent/Environment.pm
2022/01/02 | 6645 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
2022/01/02 | 66231 | support/latexindent/documentation/subsec-poly-switches.tex
@@ -415,7 +597,6 @@
2022/01/02 | 6483 | support/latexindent/LatexIndent/OptionalArgument.pm
2022/01/02 | 646542 | systems/win32/miktex/tm/packages/europecv__doc.tar.lzma
2022/01/02 | 6380278 | systems/win32/miktex/tm/packages/newtx.tar.lzma
-2022/01/02 | 637530 | macros/latex/contrib/easybook.zip
2022/01/02 | 6373 | support/latexindent/LatexIndent/TrailingComments.pm
2022/01/02 | 633 | support/latexindent/documentation/cmhlistings.tex
2022/01/02 | 631505 | systems/win32/miktex/tm/packages/diffcoeff__doc.tar.lzma
@@ -434,13 +615,13 @@
2022/01/02 | 597269 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma
2022/01/02 | 5969 | support/latexindent/LatexIndent/Else.pm
2022/01/02 | 5962 | support/latexindent/documentation/subsubsec-commands-with-arguments.tex
-2022/01/02 | 594564 | macros/latex/contrib/easybook/easybook.pdf
2022/01/02 | 5837 | systems/win32/miktex/tm/packages/luakeys.tar.lzma
2022/01/02 | 5771 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
2022/01/02 | 5729 | systems/win32/miktex/tm/packages/luakeys__source.tar.lzma
2022/01/02 | 5717 | support/latexindent/documentation/subsec-combine-text-wrap-para-line-breaks.tex
2022/01/02 | 57123 | support/latexindent/LatexIndent/GetYamlSettings.pm
2022/01/02 | 5556 | systems/win32/miktex/tm/packages/calxxxx-yyyy.tar.lzma
+2022/01/02 | 5449 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rnd.tex
2022/01/02 | 543802 | systems/win32/miktex/tm/packages/firamath__doc.tar.lzma
2022/01/02 | 5435 | systems/win32/miktex/tm/packages/wrapfig2.tar.lzma
2022/01/02 | 5306 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
@@ -624,6 +805,7 @@
2022/01/01 | 968 | graphics/asymptote/LspCpp/packages.config
2022/01/01 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
2022/01/01 | 967 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/overview_footer.htm
+2022/01/01 | 9679 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex
2022/01/01 | 966 | graphics/asymptote/tests/array/solve.asy
2022/01/01 | 964 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
2022/01/01 | 95 | graphics/asymptote/prc/test.asy
@@ -821,6 +1003,7 @@
2022/01/01 | 688 | graphics/asymptote/examples/centroidfg.asy
2022/01/01 | 6889 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
2022/01/01 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
+2022/01/01 | 6870 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex
2022/01/01 | 683 | graphics/asymptote/examples/fractaltree.asy
2022/01/01 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
2022/01/01 | 680 | graphics/asymptote/tests/array/delete.asy
@@ -915,6 +1098,7 @@
2022/01/01 | 611 | graphics/asymptote/GUI/xasy.py
2022/01/01 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
2022/01/01 | 610 | graphics/asymptote/examples/impact.asy
+2022/01/01 | 6107 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
2022/01/01 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
2022/01/01 | 609 | graphics/asymptote/keywords.cc
2022/01/01 | 60939 | graphics/asymptote/runtime.cc
@@ -1234,6 +1418,7 @@
2022/01/01 | 3719 | graphics/asymptote/base/three_light.asy
2022/01/01 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
2022/01/01 | 3706 | graphics/asymptote/base/plain_constants.asy
+2022/01/01 | 3702 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
2022/01/01 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
2022/01/01 | 3676 | graphics/asymptote/constructor.cc
2022/01/01 | 366 | graphics/asymptote/doc/lineargraph0.asy
@@ -1305,6 +1490,7 @@
2022/01/01 | 324 | graphics/asymptote/doc/HermiteSpline.asy
2022/01/01 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
2022/01/01 | 3234 | graphics/asymptote/shaders.cc
+2022/01/01 | 32301 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
2022/01/01 | 322 | graphics/asymptote/examples/unitcircle.asy
2022/01/01 | 322 | graphics/asymptote/examples/cheese.asy
2022/01/01 | 321 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/README
@@ -1705,6 +1891,7 @@
2022/01/01 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
2022/01/01 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
2022/01/01 | 1728 | graphics/asymptote/webgl/vertex.glsl
+2022/01/01 | 17206 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
2022/01/01 | 1710 | graphics/asymptote/tests/arith/roots.asy
2022/01/01 | 1710 | graphics/asymptote/LspCpp/network/uri/uri_io.hpp
2022/01/01 | 17040 | fonts/libertinust1math/tfm/libertinust1-mathit.tfm
@@ -1796,6 +1983,7 @@
2022/01/01 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
2022/01/01 | 1493 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_change.h
2022/01/01 | 1492 | graphics/asymptote/runarray.h
+2022/01/01 | 14830 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex
2022/01/01 | 1482 | graphics/asymptote/GUI/res/icons/android-hand.svg
2022/01/01 | 147 | graphics/asymptote/doc/vectorfield.asy
2022/01/01 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
@@ -1807,6 +1995,7 @@
2022/01/01 | 1469 | graphics/asymptote/doc/png/Makefile.in
2022/01/01 | 1461 | graphics/asymptote/examples/logo3.asy
2022/01/01 | 145 | graphics/asymptote/examples/star.asy
+2022/01/01 | 14596 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex
2022/01/01 | 14532 | graphics/asymptote/stack.cc
2022/01/01 | 144 | graphics/asymptote/doc/latexmkrc
2022/01/01 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
@@ -2128,11 +2317,13 @@
2021/12/30 | 9229 | macros/latex/contrib/mhchem/mhchem.4ht
2021/12/30 | 91945 | info/docsurvey/docsurvey.tex
2021/12/30 | 906 | macros/latex/contrib/mhchem/manifest.txt
+2021/12/30 | 8966 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex
2021/12/30 | 8744 | systems/texlive/tlnet/archive/pst-vehicle.r61438.tar.xz
2021/12/30 | 861065 | macros/latex/required/babel/base/babel.pdf
2021/12/30 | 855308 | systems/texlive/tlnet/archive/mathfont.doc.r61440.tar.xz
2021/12/30 | 804 | info/docsurvey/README.txt
2021/12/30 | 794462 | macros/latex/required/babel/base/locale.zip
+2021/12/30 | 7803 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
2021/12/30 | 77108 | systems/texlive/tlnet/archive/biblatex-spbasic.doc.r61439.tar.xz
2021/12/30 | 75 | macros/generic/markdown/examples/scientists.csv
2021/12/30 | 7461 | macros/latex/required/babel/base/babel.ins
@@ -2235,36 +2426,3 @@
2021/12/29 | 111968 | systems/texlive/tlnet/archive/profcollege.r61428.tar.xz
2021/12/29 | 10650312 | graphics/pstricks/base.zip
2021/12/29 | 10048368 | systems/texlive/tlnet/archive/profcollege.doc.r61428.tar.xz
-2021/12/28 | 994303 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
-2021/12/28 | 990 | graphics/pstricks/contrib/pst-geometrictools/README.md
-2021/12/28 | 988908 | systems/texlive/tlnet/archive/kaytannollista-latexia.doc.r61419.tar.xz
-2021/12/28 | 913778 | graphics/pgf/contrib/yquant.zip
-2021/12/28 | 788 | systems/texlive/tlnet/archive/visualfaq-fr.r61420.tar.xz
-2021/12/28 | 731648 | macros/latex/contrib/diffcoeff/diffcoeff.pdf
-2021/12/28 | 716 | systems/texlive/tlnet/archive/collection-langeuropean.r61419.tar.xz
-2021/12/28 | 6528 | systems/texlive/tlnet/archive/collection-latexextra.r61423.tar.xz
-2021/12/28 | 638776 | systems/texlive/tlnet/archive/asmejour.doc.r61421.tar.xz
-2021/12/28 | 6367332 | systems/texlive/tlnet/archive/newtx.r61418.tar.xz
-2021/12/28 | 633820 | systems/texlive/tlnet/archive/newtx.doc.r61418.tar.xz
-2021/12/28 | 5895 | graphics/pgf/contrib/yquant/README.md
-2021/12/28 | 577272 | web/c_cpp/cweb.zip
-2021/12/28 | 572 | systems/texlive/tlnet/archive/kaytannollista-latexia.r61419.tar.xz
-2021/12/28 | 537364 | support/latexdiff.zip
-2021/12/28 | 5160 | systems/texlive/tlnet/archive/wrapfig2.r61423.tar.xz
-2021/12/28 | 51149 | graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
-2021/12/28 | 501200 | systems/texlive/tlnet/archive/wrapfig2.doc.r61423.tar.xz
-2021/12/28 | 4695644 | systems/texlive/tlnet/archive/visualfaq-fr.doc.r61420.tar.xz
-2021/12/28 | 454213 | graphics/pstricks/contrib/pst-geometrictools.zip
-2021/12/28 | 344141 | web/c_cpp/cweb/cwebman.pdf
-2021/12/28 | 298139 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
-2021/12/28 | 233412 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
-2021/12/28 | 228546 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
-2021/12/28 | 21988 | systems/texlive/tlnet/archive/asmejour.r61421.tar.xz
-2021/12/28 | 2120 | graphics/pgf/contrib/yquant/tex/yquant.sty
-2021/12/28 | 209717 | macros/latex/contrib/ccfonts.zip
-2021/12/28 | 191 | graphics/pstricks/contrib/pst-geometrictools/Changes
-2021/12/28 | 17300 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
-2021/12/28 | 16648 | systems/texlive/tlnet/archive/wrapfig2.source.r61423.tar.xz
-2021/12/28 | 15387 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
-2021/12/28 | 1279 | macros/latex/contrib/diffcoeff/README.txt
-2021/12/28 | 11792173 | macros/latex/contrib/profcollege.zip
diff --git a/fonts/newtx/README b/fonts/newtx/README
index dc559c9d80..9364748215 100644
--- a/fonts/newtx/README
+++ b/fonts/newtx/README
@@ -1,10 +1,13 @@
This package, initially based on txfonts, provides many fixes and enhancements to the txfonts package, splitting it into two separate packages---newtxtext and newtxmath, which may be run independently of one another. It provides scaling, improved metrics, and other options. In particular, newtxmath offers a libertine option which substitutes Linux Libertine (provided with TeXLive and MikTeX) italic and Greek letters for the default Times letters, providing a good match for the Libertine text font, which is heavier than Computer Modern but lighter than Times, and in my experience, looks very sharp and clear on the screen.
-Current version: 1.702 2021-12-27
+Current version: 1.703 2022-01-04
This material is subject to the LaTeX Project Public License. See http://www.ctan.org/license/lppl1.3
for the details of that license.
+Changes in version 1.703
+Corrected a missing @ in line 40 of newtxmath.sty.
+
Changes in version 1.702
The line to require the packages ifxetex and ifluatex in newtx.sty seems to have been deleted after testing was complete. Fixed.
diff --git a/fonts/newtx/tex/newtxtext.sty b/fonts/newtx/tex/newtxtext.sty
index 9060ebd322..b5cf6eefcf 100644
--- a/fonts/newtx/tex/newtxtext.sty
+++ b/fonts/newtx/tex/newtxtext.sty
@@ -8,8 +8,8 @@
% Text is now directed to an extension of TeXGyreTermes rather than tx.
% 2.0 is first version of newtxtext to support both [pdf]latex and unicode latex.
-\def\fileversion{1.701}
-\def\filedate{2021/12/26}
+\def\fileversion{1.703}
+\def\filedate{2022/01/04}
\ProvidesPackage{newtxtext}[%
\filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for TeXGyreTermesX]
@@ -37,7 +37,7 @@
% Engine check
\newif\ifntx@newtx
\@ifundefined{ntxotftrue}{\newif\ifntxotf%
-\newif\ifntxorigotf% true iff either xelatex or lualatex
+\newif\ifntx@origotf% true iff either xelatex or lualatex
% might have been defined in newtx.sty
\ifxetex
\ntxotftrue
diff --git a/macros/latex/contrib/acro/README b/macros/latex/contrib/acro/README
index b0382e1302..a4d9244e72 100644
--- a/macros/latex/contrib/acro/README
+++ b/macros/latex/contrib/acro/README
@@ -1,5 +1,5 @@
#--------------------------------------------------------------------------
-the ACRO package v3.5 2021/01/16
+the ACRO package v3.6 2022/01/04
Typeset Acronyms
@@ -8,7 +8,7 @@ Clemens Niederberger
Web: https://github.com/cgnieder/acro
E-Mail: contact@mychemistry.eu
--------------------------------------------------------------------------
-Copyright 2012--2021 Clemens Niederberger
+Copyright 2012--2022 Clemens Niederberger
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/acro/acro-manual.pdf b/macros/latex/contrib/acro/acro-manual.pdf
index 54c8b151c6..71f8b0a006 100644
--- a/macros/latex/contrib/acro/acro-manual.pdf
+++ b/macros/latex/contrib/acro/acro-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/acro/acro-manual.tex b/macros/latex/contrib/acro/acro-manual.tex
index b8288eb6ca..5ccd7d2df3 100644
--- a/macros/latex/contrib/acro/acro-manual.tex
+++ b/macros/latex/contrib/acro/acro-manual.tex
@@ -10,7 +10,7 @@
% Web: https://github.com/cgnieder/acro/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2011--2021 Clemens Niederberger
+% Copyright 2011--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -295,12 +295,11 @@ argument to \cs*{usepackage}:
The option allows you to use the last version prior to the update to
version~3. This may help if you don't have the time to fix issues after
upgrading to the new version.
- \keybool{upgrade}\Default{true}
+ \keybool{upgrade}\Default{false}
When this option is used \acro\ tries to give as much helpful and
meaningful warning or error messages when a deprecated or removed command,
property, or option is used. This is especially useful if you are
- upgrading from version~2. The option will initially be true for a few
- months after the upgrade to version~3.
+ upgrading from version~2.
\end{options}
\subsection{Setup command}\label{sec:setup-command}
@@ -355,10 +354,12 @@ following sections. This is a comprehensive overview over the existing
properties. Many properties are also explained in more detail in later
sections of this manual.
\begin{options}
- \keybool{case-sensitive}\Default{false}
+ \keybool{case-sensitive}\Default{true}
When this is set you can write the \ac{id} of the acronym upper- or lower-
or mixed case and it is recognized by \acro\ as the same. This might be
useful when the acronym appears in the page header, for example.
+ \keybool{case-insensitive}\Default{false}
+ \sinceversion{3.6}The inverse of the option \option{case-sensitive}.
\end{options}
\begin{bewareofthedog}
@@ -595,7 +596,7 @@ the same. In that case you can use
%% preset
\propval{preset}{set name}\Default
\sinceversion{3.5}Enables to load a set of properties that has been
- defined earlier with \cs{NewAcroPreset}, siehe
+ defined earlier with \cs{NewAcroPreset}, see
section~\vref{sec:presets}.
%% uselist
\propval{uselist}{csv list of acronym ids}\Default
@@ -786,7 +787,7 @@ single appearance of the acronym is printed\footnote{This usually requires at
The single appearance of an acronym is determined by this option:
\begin{options}
\keychoice{single}{\default{true},false,\meta{number}}\Default{false}
- This option determines wether a single appearance of an acronym counts as
+ This option determines whether a single appearance of an acronym counts as
\emph{usage}. It might be desirable in such cases that an acronym is
simply printed as long form and not added to the list of acronym. This is
what this option does. With \meta{number} the minimal number of usages
@@ -843,15 +844,15 @@ The main idea is simple: just place
\end{commands}
The options controlling the list are these:
\begin{options}
- \keychoice{template}{description,table,longtable,lof,toc}%
+ \keychoice{template}{description,tabular,longtable,supertabular,lof,toc}%
\Module{list}\Default{description}
Choose the template to create the list with. See more on this in
sections~\vref{sec:templates} and~\vref{sec:examples}.
\keybool{sort}\Module{list}\Default{true}
- Decide wether to sort the list of acronyms alphabetically or to print it
+ Decide whether to sort the list of acronyms alphabetically or to print it
in order of definition.
\keychoice{display}{all,used}\Module{list}\Default{used}
- Decide wether to print only the acronyms actually used in the document or
+ Decide whether to print only the acronyms actually used in the document or
all acronyms which have been declared in the preamble.
\keyval{exclude}{csv list of tags}\Module{list}\Default
Set a list of tags to exclude from the list. Only acronyms not
@@ -879,7 +880,7 @@ The options controlling the list are these:
This only has an effect if the list template supports it. All pre-defined
templates \emph{do} support it.
\keybool{display}\Module{list,locale}\Default{false}
- This options determines wether the language of the foreign form is printed
+ This options determines whether the language of the foreign form is printed
or not.
This only has an effect if the list template supports foreign forms. All
@@ -900,9 +901,10 @@ If you want to include the page numbers where the acronyms have been used in
the list of acronym you can use these options:
\begin{options}
\keychoice{display}{first,all,none}\Module{pages}\Default{none}
- Decide wether to include page numbers in the list of acroynms and wether
- to add the first page or every page. When you choose \code{first} and
- have \pkg{hyperref} loaded you will also get a backlink to that page.
+ Decide whether to include page numbers in the list of acroynms and
+ whether to add the first page or every page. When you choose
+ \code{first} and have \pkg{hyperref} loaded you will also get a
+ backlink to that page.
\keybool{use}\Module{pages,seq}\Default{true}
Turns a two-page range into \meta{num}\,f.\ (\latin{sequens}) and a
three-page range into \meta{num}\,ff.\ (\latin{sequentes}) when set to
@@ -1236,12 +1238,12 @@ properties for such cases:
There are also some options:
\begin{options}
\keybool{display}\Module{foreign}\Default{true}
- Determine wether to hide or display the foreign form.
+ Determine whether to hide or display the foreign form.
\keybool{display}\Module{list,foreign}\Default{true}
- \sinceversion{3.2}Determine wether to hide or display the foreign form in
+ \sinceversion{3.2}Determine whether to hide or display the foreign form in
the list of acronyms.
\keybool{display}\Module{locale}\Default{false}
- This options determines wether the language of the foreign form is printed
+ This options determines whether the language of the foreign form is printed
or not when the full form of the acronym is printed.
\keybool{display}\Module{list,locale}\Default{false}
The same but for the list of acronyms.
@@ -1368,11 +1370,11 @@ like these \acro\ offers a number of options:\acuse{ny}
\keyval{cmd}{citation command}\Module{cite}\Default{\cs*{cite}}
Choose the command with which citations ar printed.
\keybool{group}\Module{cite}\Default{false}
- Decide wether to group citations with the short form in the parentheses.
+ Decide whether to group citations with the short form in the parentheses.
The template must support this. \acro's pre-defined templates \emph{do}
support it.
\keychoice{display}{first,all,none}\Module{cite}\Default{first}
- Decide wether to output the citation in the first/full usage only or
+ Decide whether to output the citation in the first/full usage only or
always or never.
\keyval{pre}{text}\Module{cite}\Default{\cs*{nobreakspace}}
Arbitrary code directly output before the citation.
@@ -1931,8 +1933,14 @@ to defines own such objects:
\tmpl{addchap}
Only defined in a \KOMAScript\ class and if \cs*{chapter} is defined. Uses
\cs*{addchap} for the heading.
+ \tmpl{addchap*}
+ \sinceversion{3.6}Only defined in a \KOMAScript\ class and if
+ \cs*{chapter} is defined. Uses \cs*{addchap*} for the heading.
\tmpl{addsec}
Only defined in a \KOMAScript\ class. Uses \cs*{addsec} for the heading.
+ \tmpl{addsec*}
+ \sinceversion{3.6}Only defined in a \KOMAScript\ class. Uses \cs*{addsec*}
+ for the heading.
\tmpl{chapter}
Only defined if \cs*{chapter} is defined. Uses \cs*{chapter} for the heading.
\tmpl{chapter*}
@@ -1953,7 +1961,7 @@ For the definition of templates these commends are available:
which inserts \meta{code} when used. A template of type \meta{type} with
name \meta{name} must not exist. The default type is \code{acronym}.
\command{RenewAcroTemplate}[\oarg{type}\marg{name}\marg{code}]
- This re-defines a template of type \meta{type} woth the name \meta{name}
+ This re-defines a template of type \meta{type} with the name \meta{name}
which inserts \meta{code} when used. A template of type \meta{type} with
name \meta{name} must exist. The default type is \code{acronym}.
\command{SetupAcroTemplate}[\oarg{type}\marg{name}\marg{code}]
diff --git a/macros/latex/contrib/acro/acro.sty b/macros/latex/contrib/acro/acro.sty
index cfa5193f85..140b54ad8f 100644
--- a/macros/latex/contrib/acro/acro.sty
+++ b/macros/latex/contrib/acro/acro.sty
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/acro/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2011--2021 Clemens Niederberger
+% Copyright 2011--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -27,9 +27,9 @@
% setup package:
\tl_const:Nn \c_acro_package_name_tl {acro}
-\tl_const:Nn \c_acro_date_tl {2021/01/16}
+\tl_const:Nn \c_acro_date_tl {2022/01/04}
\tl_const:Nn \c_acro_version_major_number_tl {3}
-\tl_const:Nn \c_acro_version_minor_number_tl {5}
+\tl_const:Nn \c_acro_version_minor_number_tl {6}
\tl_const:Nn \c_acro_version_subrelease_tl {}
\tl_const:Nx \c_acro_version_number_tl
{
@@ -75,7 +75,7 @@
\msg_new:nnn {acro} {unknown-option}
{
Unknown~ option~ `#1' \\
- I~ dont'~ know~ the~ option~ `#1'.~ Please~ make~ sure~ there~ is~ no~
+ I~ don't~ know~ the~ option~ `#1'.~ Please~ make~ sure~ there~ is~ no~
typo.~ Check~ the~ manual~ for~ help.
}
@@ -190,7 +190,7 @@
debug .bool_gset:N = \g__acro_debug_bool ,
debug .initial:n = false ,
upgrade .bool_gset:N = \g__acro_upgrade_bool ,
- upgrade .initial:n = true ,
+ upgrade .initial:n = false ,
final .bool_gset:N = \g__acro_final_bool ,
final .initial:n = false ,
version .choice: ,
@@ -481,6 +481,7 @@
\cs_generate_variant:Nn \seq_set_split:Nnn {Nne}
\cs_generate_variant:Nn \clist_if_empty:nTF {e}
\cs_generate_variant:Nn \clist_item:nn {e}
+\cs_generate_variant:Nn \clist_count:n {e}
\cs_generate_variant:Nn \int_set:Nn {Nx}
\cs_generate_variant:Nn \tl_set:Nn {Ne}
\cs_generate_variant:Nn \tl_remove_all:Nn {NV}
@@ -747,7 +748,7 @@
\acro_property_make_alias:nn {#6} {#7}
}
-\NewDocumentCommand \MakeAcroPropertyAlias {mm}
+\NewDocumentCommand \MakeAcroPropertyAlias{mm}
{ \acro_property_make_alias:nn {#1} {#2} }
\NewDocumentCommand \NewAcroPreset {m+m}
@@ -778,6 +779,11 @@
\NewDocumentCommand \DeclareAcronym {m+m}
{ \acro_declare_acronym:nn {#1} {#2} }
+% declaring acronyms in the document body does not work,
+% cf. https://tex.stackexchange.com/q/568856/
+% so lets prevent people from doing so:
+\@onlypreamble \DeclareAcronym
+
\NewDocumentCommand \DeclareAcroEnding {mmm}
{ \acro_declare_ending:nnn {#1} {#2} {#3} }
@@ -1009,27 +1015,8 @@
\iow_new:N \l__acro_aux_file_iow
\tl_new:N \l__acro_mdfive_hash_tl
-\acro_at_begin_document:n
- {
- \legacy_if:nT {@filesw}
- {
- \iow_now:Nx \@auxout
- { \token_to_str:N \providecommand \token_to_str:N \ACRO [1] {} }
- }
- \file_get_mdfive_hash:VN
- \c_acro_auxfile_tl
- \l__acro_mdfive_hash_tl
- \iow_open:NV \l__acro_aux_file_iow \c_acro_auxfile_tl
- }
-
\cs_new_protected:Npn \acro_close_aux:
{
- \iow_close:N \l__acro_aux_file_iow
- \file_get_mdfive_hash:VN
- \c_acro_auxfile_tl
- \l__acro_tmpa_tl
- \tl_if_eq:NNF \l__acro_mdfive_hash_tl \l__acro_tmpa_tl
- { \acro_rerun:n {general} }
\legacy_if:nT {@filesw}
{ \iow_now:Nx \@auxout { \token_to_str:N \ACRO {readaux} } }
}
@@ -1037,7 +1024,7 @@
\cs_new_protected:Npn \acro_write_to_aux:n #1
{
\legacy_if:nT {@filesw}
- { \iow_now:Nn \l__acro_aux_file_iow {#1} }
+ { \iow_now:Nn \@auxout {#1} }
}
\cs_generate_variant:Nn \acro_write_to_aux:n {x}
@@ -1978,14 +1965,20 @@
{ \prg_return_false: }
}
-\cs_new_protected:Npn \acro_check_definition:n #1
+\cs_new_protected:Npn \acro_check_definition:nT #1#2
{
- \acro_if_defined:nF {#1}
- { \msg_error:nnn {acro} {undefined} {#1} }
- \acro_boolean_property_if:nnF {#1} {used}
- { \__acro_uselist_if_used:nT {#1} { \acro_use:n {#1} } }
+ \acro_if_defined:nTF {#1}
+ {
+ \acro_boolean_property_if:nnF {#1} {used}
+ { \__acro_uselist_if_used:nT {#1} { \__acro_use:n {#1} } }
+ #2
+ }
+ { \acro_acronym_undefined:n {#1} }
}
+\cs_new_protected:Npn \acro_acronym_undefined:n #1
+ { \msg_error:nnn {acro} {undefined} {#1} }
+
% --------------------------------------------------------------------------
% use and reset:
\bool_new:N \l__acro_use_bool
@@ -2936,7 +2929,8 @@
\bool_if:NT \l__acro_barriers_bool
{
\int_compare:nNnTF
- { \intarray_count:c {g__acro_#1_barriers_intarray} } > 0
+ { \intarray_count:c {g__acro_#1_barriers_intarray} } < \g_acro_barrier_int
+ { \acro_rerun:n {barriers} }
{
\intarray_gset:cnn {g__acro_#1_barriers_intarray}
{ \int_use:N \g_acro_barrier_int }
@@ -2946,14 +2940,16 @@
+1
}
}
- { \acro_rerun:n {barriers} }
}
}
% #1: id
\cs_new:Npn \acro_barrier_usage:n #1
{
- \clist_if_empty:eTF { \acro_property_get:nn {#1} {barriers} }
+ \int_compare:nNnTF
+ { \clist_count:e { \acro_property_get:nn {#1} {barriers} } }
+ <
+ \g_acro_barrier_int
{0}
{
\clist_item:en
@@ -3022,8 +3018,9 @@
\keys_define:nn {acro}
{
- case-sensitive .bool_gset:N = \g__acro_case_sensitive_bool ,
- case-sensitive .initial:n = true ,
+ case-sensitive .bool_gset:N = \g__acro_case_sensitive_bool ,
+ case-insensitive .bool_gset_inverse:N = \g__acro_case_sensitive_bool ,
+ case-sensitive .initial:n = true
}
% ----------------------------------------------------------------------------
@@ -3295,15 +3292,18 @@
\acro_begin:
\l__acro_begin_command_hook_tl
\cs_set:Npn \nospace { \exp:w \exp_end_continue_f:w }
- \acro_check_definition:n {####1}
- \keys_set:nV {acro} \l__acro_options_tl
- \tl_set:Ne \l_acro_id_tl { \acro_case_insensitive:n {####1} }
- \tl_set_eq:NN \AcronymID \l_acro_id_tl
- ##3
- \acro_finalize:ne
- { \l__acro_star_bool }
- { \acro_case_insensitive:n {####1} }
- \l__acro_end_command_hook_tl
+ \acro_check_definition:nT
+ {####1}
+ {
+ \keys_set:nV {acro} \l__acro_options_tl
+ \tl_set:Ne \l_acro_id_tl { \acro_case_insensitive:n {####1} }
+ \tl_set_eq:NN \AcronymID \l_acro_id_tl
+ ##3
+ \acro_finalize:ne
+ { \l__acro_star_bool }
+ { \acro_case_insensitive:n {####1} }
+ \l__acro_end_command_hook_tl
+ }
\acro_end:
}
\use:x
@@ -3842,8 +3842,8 @@
\acro_if_komascript:TF
{
\cs_if_exist:NTF \chapter
- { \keys_set:nn {acro/list}{ heading = addchap } }
- { \keys_set:nn {acro/list}{ heading = addsec } }
+ { \keys_set:nn {acro/list}{ heading = addchap* } }
+ { \keys_set:nn {acro/list}{ heading = addsec* } }
}
{
\cs_if_exist:NTF \chapter
@@ -4411,12 +4411,17 @@
% hyper linking
\bool_new:N \l__acro_hyperref_use_bool
\bool_new:N \l__acro_link_only_first_bool
+\bool_new:N \l__acro_link_back_bool
\cs_new_eq:NN \__acro_hyper_target:nn \use_ii:nn
\cs_new_eq:NN \__acro_hyper_link:nn \use_ii:nn
+\cs_new_eq:NN \__acro_hyper_back_target:nn \use_ii:nn
+\cs_new_eq:NN \__acro_hyper_back_link:nn \use_ii:nn
\cs_generate_variant:Nn \__acro_hyper_target:nn {e}
\cs_generate_variant:Nn \__acro_hyper_link:nn {e}
+\cs_generate_variant:Nn \__acro_hyper_back_target:nn {e}
+\cs_generate_variant:Nn \__acro_hyper_back_link:nn {e}
\cs_new_protected:Npn \__acro_activate_hyperref_support:
{
@@ -4432,6 +4437,8 @@
{ \cs_set_eq:NN \__acro_hyper_link:nn \hyperlink }
\cs_set:Npn \__acro_hyper_target:nn ##1##2
{ \raisebox {3ex} [0pt] { \hypertarget {##1} { } } ##2 }
+ \cs_set_eq:NN \__acro_hyper_back_link:nn \__acro_hyper_link:nn
+ \cs_set_eq:NN \__acro_hyper_back_target:nn \__acro_hyper_target:nn
}
}
@@ -5050,9 +5057,22 @@
\acro_new_patch:n {tabu}
\acro_new_patch:n {ltxtable}
\acro_new_patch:n {caption}
+\acro_new_patch:n {maketitle}
\AtEndPreamble
{
+ % maketitle:
+ \acro_if_patch:nT {maketitle}
+ {
+ \pretocmd \maketitle
+ { \acswitchoff }
+ {}
+ { \msg_error:nnn {acro} {patch} {maketitle} }
+ \apptocmd \maketitle
+ { \acswitchon }
+ {}
+ { \msg_error:nnn {acro} {patch} {maketitle} }
+ }
% floats:
\acro_if_patch:nT {floats}
{
@@ -5219,7 +5239,7 @@
)
}
}
-
+
\NewAcroTemplate {footnote}
{
\acrowrite {short}
@@ -5278,6 +5298,8 @@
{
\NewAcroTemplate[heading] {addsec}
{ \addsec { \acrolistname } }
+ \NewAcroTemplate[heading] {addsec*}
+ { \addsec* { \acrolistname } }
}
\cs_if_exist:NT \chapter
@@ -5290,6 +5312,8 @@
{
\NewAcroTemplate[heading] {addchap}
{ \addchap { \acrolistname } }
+ \NewAcroTemplate[heading] {addchap*}
+ { \addchap* { \acrolistname } }
}
}
@@ -5534,7 +5558,7 @@
{
Fallback = pp\abbrdot ,
English = pp\abbrdot ,
- French = pp\abbrdot ,
+ French = p\abbrdot ,
German = S\abbrdot ,
Italian = pp\abbrdot ,
Portuguese = pp\abbrdot ,
diff --git a/macros/latex/contrib/dbshow/README.md b/macros/latex/contrib/dbshow/README.md
new file mode 100644
index 0000000000..f91034d6cb
--- /dev/null
+++ b/macros/latex/contrib/dbshow/README.md
@@ -0,0 +1,32 @@
+
+# Package dbshow
+
+## Overview
+
+The package provides four core functions:
+
+1. data storage and display
+2. data filtering
+3. data sorting
+4. data display
+
+All data is saved once and then you can display these data with custom filters, orders and styles. The package can be used, for example, to record and display something you'd like to review, maybe the question you always answered incorrectly or some forgettable knowledge. But obviously, the package is much more powerful and extensible for more interesting tasks depending on the individual.
+
+## LICENSE
+
+ dbshow.sty
+ Copyright 2022 Li Changkai <lichangkai225@qq.com>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status 'maintained'.
+
+The Current Maintainer of this work is Li Changkai.
+
+This work consists of the files dbshow.sty, dbshow-doc.tex.
diff --git a/macros/latex/contrib/dbshow/dbshow-doc.pdf b/macros/latex/contrib/dbshow/dbshow-doc.pdf
new file mode 100644
index 0000000000..5f709c5f0a
--- /dev/null
+++ b/macros/latex/contrib/dbshow/dbshow-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/dbshow/dbshow-doc.tex b/macros/latex/contrib/dbshow/dbshow-doc.tex
new file mode 100644
index 0000000000..7799f42dc6
--- /dev/null
+++ b/macros/latex/contrib/dbshow/dbshow-doc.tex
@@ -0,0 +1,1059 @@
+\documentclass[full]{l3doc}
+\usepackage[scheme=plain]{ctex}
+\usepackage{zhlineskip}
+\usepackage{enumitem}
+\usepackage{indentfirst}
+\usepackage{titling}
+\usepackage{geometry}
+\usepackage{tabularray}
+\usepackage{xcolor}
+
+\IndexPrologue
+ {
+ \section*{Index}
+ \markboth{Index}{Index}
+ \addcontentsline{toc}{section}{Index}
+ The~italic~numbers~denote~the~pages~where~the~
+ corresponding~entry~is~described,~
+ numbers~underlined~point~to~the~definition,~
+ all~others~indicate~the~places~where~it~is~used.
+ }
+
+\newcommand\tikzmark[1]{\tikz \coordinate[overlay, remember picture] (#1);}
+
+\geometry{
+ left=4.5cm,
+ right=2cm,
+ top=2cm,
+ bottom=2cm,
+}
+\hypersetup {
+ CJKbookmarks,
+ bookmarksopen,
+ bookmarksopenlevel=3,
+ pdfstartview=FitH,
+ pdfinfo = {
+ Title = The package 'dbshow' ,
+ Subject = A LaTeX package ,
+ Author = Li Changkai
+ }
+}
+
+\DoNotIndex{\begin, \end}
+\setlength{\parskip}{\medskipamount}
+\DeclareDocumentEnvironment { note } { +b } {
+ \par\textbf{\textsf{NOTE:~}}#1\par
+} {}
+
+\AtEndDocument{
+ \newgeometry{
+ left=2cm,
+ right=2cm,
+ top=2cm,
+ bottom=2cm
+ }
+ \PrintIndex
+}
+
+\ExplSyntaxOn
+\dim_new:N \l__my_syntax_dim
+\box_new:N \g__my_syntax_box
+\NewDocumentEnvironment { Syntax } { s }
+ {
+ \dim_set:Nn \l__my_syntax_dim
+ { \textwidth }
+ \hbox_gset:Nw \g__my_syntax_box
+ \small \ttfamily
+ \begin{minipage}[t]{\l__my_syntax_dim}
+ \raggedright\obeyspaces\obeylines
+ }
+ {
+ \end{minipage}
+ \hbox_gset_end:
+ \IfValueF { #1 } { \smallskip }
+ \box_use_drop:N \g__my_syntax_box
+ \smallskip
+ }
+
+\DeclareDocumentEnvironment { Description } { o +b } {
+ \hbox_set:Nn \l_tmpa_box { #1 }
+ \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box }
+ \begin{itemize}[labelwidth=\l_tmpa_dim, align=left]
+ #2
+ \end{itemize}
+} { }
+
+\keys_define:nn { dbshow/doc } {
+ opt .tl_set:N = \l_opt_tl,
+ desc .tl_set:N = \l_desc_tl,
+ init .tl_set:N = \l_init_tl,
+ init .initial:n = init-none,
+}
+
+\box_new:N \l__option_box
+\NewDocumentEnvironment { option } { m +b } {
+ \keys_set:nn { dbshow/doc } { #1 }
+ \hbox_set:Nw \l__option_box
+ \small \ttfamily
+ \begin{minipage}[t]{\textwidth}
+ \obeyspaces\obeylines
+ \textcolor{red}{
+ \l_opt_tl
+ \exp_args:Nx\SpecialOptionIndex{\l_opt_tl}
+ }
+ {~}\l_desc_tl
+ \hfill(
+ \tl_if_eq:NnTF \l_init_tl { init-none } { no~value }
+ { initially~\texttt{\l_init_tl} }
+ )
+ \end{minipage}
+ \hbox_gset_end:
+ \box_use_drop:N \l__option_box
+ #2
+ \medskip
+} { }
+
+\DeclareDocumentCommand \opt { O{} m }
+ { \__codedoc_cmd:no {#1} { #2 } }
+\ExplSyntaxOff
+
+
+\begin{document}
+\title{
+ \pkg{dbshow} 宏包
+ \protect\footnote{\url{https://github.com/ZhiyuanLck/dbshow}}
+ \rlap{\makebox[4cm][r]{
+ \normalsize $\Longrightarrow$ \color{red}
+ \protect\hyperlink{en}{English Version}
+ \protect\hypertarget{zh}{}
+ }}
+}
+\author{\textit{李昌锴} \texttt{<lichangkai225\@qq.com>}}
+\date{2022年1月3日}
+\maketitle
+
+{\small
+\tableofcontents
+}
+\newpage
+
+\begin{documentation}
+
+\section{引言}
+编写本宏包的动机来源于当前没有一个很好的错题本宏包,可以方便的根据各种条件对错
+题进行筛选、排序,然后以自定义的样式展示出来。\pkg{dbshow} 宏包实现了四个核心
+功能:数据存储和使用、数据筛选、数据排序、数据展示。
+
+数据只需要存储一次,就可以通过预定义的筛选、排序条件和样式展示部分或全部的数据。
+如上所述,本宏包其实实现了一个非常简单的数据库,复习错题的功能只是其中一个应用,
+和其他数据库宏包比如 \pkg{datatool} 相比,\pkg{dbshow} 更专注于非图表类型的数
+据展示。
+
+宏包基于 \pkg{expl3} 的基础类型构建了6种类型:
+\begin{Description}[\texttt{clist}]
+ \item[\texttt{date}]
+ 基于宏包 \pkg{datetime2} 的日期类型,以iso标准存储,支持大小比较,排序(转
+ 换成字符串)。默认值为 \cs{Today}。
+ \item[\texttt{str}]
+ 字符串类型,支持正则匹配,英文排序。默认值为空。
+ \item[\texttt{tl}]
+ \meta{token list}类型,支持正则匹配。默认值为空。
+ \item[\texttt{int}]
+ 整数类型,支持大小比较,排序。默认值为0。
+ \item[\texttt{fp}]
+ 浮点数类型,支持大小比较,排序。默认值为0。
+ \item[\texttt{clist}]
+ 逗号分隔的列表类型。默认值为空列表。
+\end{Description}
+
+\section{接口文档}
+\subsection{\cs{dbNewDatabase}}
+\begin{function}{\dbNewDatabase, \dbNewDatabase*}
+ \begin{syntax}
+ \cs{dbNewDatabase} \oarg{base database} \marg{database} \{ \\
+ ~~\meta{attr1} = \meta{type spec1}, \\
+ ~~\meta{attr2} = \meta{type spec2}, \\
+ ~~\ldots{} \\
+ \} \\
+ \cs{dbNewDatabase}* \marg{database} \{ \\
+ ~~\meta{attr1} = \meta{type spec1}, \\
+ ~~\meta{attr2} = \meta{type spec2}, \\
+ ~~\ldots{} \\
+ \} \\
+ \end{syntax}
+
+\end{function}
+
+ 新建一个数据库,不带星号的版本可以指定一个数据库来继承其属性设置,该版本总是
+ 会舍弃掉之前的定义。
+
+ 带星号的版本不会舍弃之前已有的定义,而是将新的选项添加到后面。
+
+ \meta{attr} 为属性名称,\meta{type spec} 负责声明属性类型和属性默认值:
+
+ \noindent\begin{tblr}{
+ colspec = {ll},
+ column{1} = {font = \ttfamily}
+ }
+ \meta{attr} = \meta{type} &
+ 将 \meta{attr} 声明为 \meta{type} 类型 \\
+ \meta{attr} = \meta{type}\textbar\meta{default} &
+ 将 \meta{attr} 声明为 \meta{type} 类型,并且将默认值设置为 \meta{default}。
+ \\
+ \end{tblr}
+
+ \begin{note}
+ 每个数据库都有一个默认的属性 |id| 用来存储数据的索引。
+ \end{note}
+
+ 下面是定义一个错题数据库的示例,|question| 和 |answer| 属性用来存储问题和答
+ 案,|date| 属性存储日期,|info| 属性存储额外信息,|labels| 存储题目标签。
+\begin{verbatim}
+ \dbNewDatabase{ques}{
+ question = tl,
+ answer = tl,
+ date = date,
+ info = tl,
+ labels = clist
+ }
+\end{verbatim}
+
+\subsection{\cs{dbNewStyle} 和样式选项}
+
+\begin{function}{\dbNewStyle}
+ \begin{syntax}
+ \cs{dbNewStyle} \oarg{base styles} \marg{style} \marg{database} \marg{opts}
+ \end{syntax}
+
+ 为 \meta{database} 定义一个新的样式 \meta{style},该样式可以基于已有的样式
+ \meta{base styles},比如 |\dbNewStyle[base1, base2]{new-style}{ques}{}|。
+\end{function}
+
+\bigskip
+
+\begin{option}{opt=filter, desc={= \meta{filter}}, init=-none-}
+ 为当前样式设置由 \cs{dbCombineFilters} 所定义的过滤器
+\end{option}
+
+\begin{option}{
+ opt = sort,
+ desc = {= \{ \meta{attr spec1}, \meta{attr spec2}, \ldots{} \}},
+}
+ 为当前样式设置排序规则。支持根据 |str|,|date|,|int|,|fp| 类型的数据进行排
+ 序,支持多级排序。\meta{attr} 表示增序,\meta{attr}* 表示降序。下面例子中,
+ 使用 |sort-style| 展示数据时的顺序为先按 |level| 降序,|level| 相同的再按出
+ 生日期 |birth| 增序,以此类推。
+\end{option}
+
+\begin{verbatim}
+ \dbNewDatabase{sort-example}{
+ name = str,
+ birth = date,
+ level = int,
+ weight = fp,
+ }
+ \dbNewStyle{sort-style}{sort-example}{
+ sort = { level*, birth, name, weight }
+ }
+\end{verbatim}
+
+\begin{option}{
+ opt = before-code,
+ desc = {= \meta{before code}}
+}
+ 该选项用来设置在展示整个数据库之前需要执行的代码。
+\end{option}
+
+\begin{option}{
+ opt = after-code,
+ desc = {= \meta{after code}}
+}
+ 该选项用来设置在展示整个数据库之后需要执行的代码。
+\end{option}
+
+\begin{option}{
+ opt = item-code,
+ desc = {= \meta{item code}}
+}
+ 该选项用来设置展示数据库中每条记录的代码。你可以使用 \cs{dbuse} 来展示属性的
+ 值。
+\end{option}
+
+\begin{option}{
+ opt = {\meta{attr}/before-code},
+ desc = {= \meta{before code}}
+}
+ 该选项用来设置展示数据库中属性 \meta{attr} 对应数据之前需要执行的代码。
+ \cs{dbuse} 会在展示属性数据前执行此代码。
+\end{option}
+
+\begin{option}{
+ opt = {\meta{attr}/after-code},
+ desc = {= \meta{after code}}
+}
+ 该选项用来设置展示数据库中属性 \meta{attr} 对应数据之后需要执行的代码。
+ \cs{dbuse} 会在展示属性数据后执行此代码。
+\end{option}
+
+\begin{option}{
+ opt = {\meta{attr}/sep},
+ desc = {= \meta{sep spec}},
+ init = {,~\~}
+}
+\begin{Syntax}
+ \meta{attr}/sep = \meta{separator} \\
+ \meta{attr}/sep = \{ \\
+ ~~\meta{separator between two}, \\
+ ~~\meta{separator between more than two}, \\
+ ~~\meta{separator between final two} \\
+ \}
+\end{Syntax}
+
+ 该选项只适用于类型为 |clist| 的属性,用来设置列表间元素的间隔。第一个版本接
+ 受一个参数,将所有的元素间隔设置为 \meta{separator}。第二个版本接受逗号分隔
+ 的三个参数,分别用来设置只有两个元素时的分隔符 \meta{separator between two},
+ 超过两个元素时的分隔符 \meta{separator between more than two},和最后两个元
+ 素之间的分隔符 \meta{separator between final two}。
+
+\end{option}
+
+\begin{option}{
+ opt = item-before-code,
+ desc = {= \meta{before code}}
+}
+ 该选项只适用于类型为 |clist| 的属性,用来设置展示列表每个元素前需要执行的代
+ 码。
+\end{option}
+
+\begin{option}{
+ opt = item-after-code,
+ desc = {= \meta{after code}}
+}
+ 该选项只适用于类型为 |clist| 的属性,用来设置展示列表每个元素后需要执行的代
+ 码。
+\end{option}
+
+\subsection{使用 \cs{dbNewReviewPoints} 定义复习点}
+
+\begin{function}{\dbNewReviewPoints}
+ \begin{syntax}
+ \cs{dbNewReviewPoints} \marg{name} \marg{points}
+ \end{syntax}
+
+ 定义名为 \meta{name} 的复习点。这是专门为错题本或复习所定制的功能,
+ \meta{points}是一系列整数,现在假设每道错题你都将写错时的日期记录在了 |date|
+ 属性中,并且你希望每隔2,5,15天复习一次。下面的代码给出了一个实现示例。
+\begin{verbatim}
+ \dbNewReviewPoints{review-point}{2, 5, 15} % 定义复习点
+ \begin{dbFilters}
+ \dbNewConditional{cond1}{date}{review-point|\Today} % 定义复习条件
+ \dbCombineConditionals{filter1}{cond1} % 定义过滤器
+ \end{dbFilters}
+ \dbNewStyle{review-style}{ques}{filter=filter1} % 定义展示样式
+\end{verbatim}
+\end{function}
+
+\subsection{在 \env{dbFilters} 环境中定义过滤器}
+
+\noindent\DescribeEnv{dbFilters}
+\begin{Syntax}*
+ |\begin{dbFilters}|\marg{database} \\
+ ~~\meta{code}
+ |\end{dbFilters}| \\
+\end{Syntax}
+
+\env{dbFilters}用来定义过滤器,此环境中定义了 \cs{dbNewConditional} 命令用来定
+义条件和 \cs{dbCombineConditionals} 命令用来组合条件定义过滤器。过滤器独立于每
+个 \meta{database},这意味着你可以在不同数据库中定义名称相同的过滤条件和过滤器。
+
+\begin{function}{\dbNewConditional, \dbNewConditional*}
+ \begin{syntax}
+ \cs{dbNewConditional} \marg{name} \marg{attr} \marg{cond spec} \\
+ \cs{dbNewConditional}* \marg{name} \marg{attr} \marg{cond spec} \\[2pt]
+ \cs{dbNewConditional} \marg{name} \marg{int/fp attr} \marg{relation} \\
+ \cs{dbNewConditional}* \marg{name} \marg{int/fp attr} \marg{relation} \\
+ \cs{dbNewConditional} \marg{name} \marg{str/tl attr} \marg{regex expr} \\
+ \cs{dbNewConditional}* \marg{name} \marg{str/tl attr} \marg{regex expr} \\
+ \cs{dbNewConditional} \marg{name} \marg{clist attr} \marg{val list} \\
+ \cs{dbNewConditional}* \marg{name} \marg{clist attr} \marg{val list} \\
+ \cs{dbNewConditional} \marg{name} \marg{date attr} \{\meta{review points}\textbar\meta{date}\} \\
+ \cs{dbNewConditional}* \marg{name} \marg{date attr} \marg{relation}
+ \end{syntax}
+
+ \cs{dbNewConditional} 用来定义名为 \meta{name} 的条件,\meta{attr} 指定条件
+ 所绑定的属性,在 \meta{cond spec} 中可以用 \cs{dbval} 指代属性的值。
+\end{function}
+
+ 对于类型为 |int| 和 |fp| 的属性,两个版本的定义是一致的,\meta{relation} 可
+ 以是单个关系式,比如 |\dbval > 3|,也可以是组合关系式,比如
+ |\dbval > 3 && \dbval < 10.2|。支持的操作符有 |<, >, =, ==, !=, >=, <=, !|。
+
+ 对于类型为 |str| 和 |tl| 的属性,\meta{regex} 为正则表达式,
+ \cs{dbNewConditional} 表示部分匹配,\cs{dbNewConditional*} 表示整体匹配。
+\begin{verbatim}
+ \dbNewConditional{cond1}{str-attr}{abc} % 匹配 abc, abcd, 1abc, =abc= 等
+ \dbNewConditional*{cond2}{str-attr}{abc} % 只匹配 abc
+\end{verbatim}
+
+ 对于类型为 |clist| 的属性,使用 \cs{dbNewConditional} 定义的条件只要
+ \meta{val list} 中的任意一个元素在属性值(列表)中则条件成立;使用
+ \cs{dbNewConditional*} 定义的条件只有 \meta{val list} 中每一个值都在属性值
+ (列表)中条件才成立。
+
+\begin{verbatim}
+ \dbNewConditional{cond1}{clist-attr}{a, b, c} % a, b, d 满足条件
+ \dbNewConditional*{cond2}{clist-attr}{a, b, c} % a, b, d 不满足条件
+\end{verbatim}
+
+ 对于类型为 |date| 的属性,\cs{dbNewConditional} 使用复习点来定义过滤条件,
+ \meta{review points} 是 \cs{dbNewReviewPoints} 定义的复习点,\meta{date} 是
+ 用来比较的日期;\cs{dbNewConditional*} 使用\textbf{单个}关系式来定义过滤条件。
+ 支持的操作符有 |<, >, =, ==, !=, >=, <=|。
+
+\begin{function}{\dbCombineConditionals}
+ \begin{syntax}
+ \cs{dbCombineConditionals} \marg{name} \marg{cond combination} \oarg{info}
+ \end{syntax}
+
+ \cs{dbCombineConditionals} 定义名为 \marg{name} 的过滤器,并将
+ \cs{dbNewConditional} 定义的条件组合起来,比如
+ \verb=\dbCombineConditionals{filter}{(cond1 && cond2) || !cond3}=。
+ \meta{cond combination} 中可以使用的关系操作符为 \verb=&&, ||, !=。
+ 可以将 \opt{filter} 选项设置为 \meta{name} 来应用过滤器。\meta{info} 为过滤
+ 器的相关信息,在展示数据库的时候可以用 \cs{dbFilterInfo} 指代。
+\end{function}
+
+\subsection{使用 \env{dbitem} 环境存储数据}
+
+\noindent\DescribeEnv{dbitem}
+\begin{Syntax}*
+ |\begin{dbitem}|\marg{database}[ \\
+ ~~\meta{attr1} = \meta{val1}, \\
+ ~~\meta{attr2} = \meta{val2}, \\
+ ~~\ldots{} \\
+ ] \\
+ ~~\meta{code} \\
+ |\end{dbitem}|
+\end{Syntax}
+
+ \env{dbitem} 环境用来存储数据。有两种存储数据的方法,较短的数据可以在选项列
+ 表中通过键值对设置值,较长的数据可以在 \meta{code} 中使用 \cs{dbsave} 存储。
+ \cs{dbsave}会覆盖选项中设置的值。没有设置的值将会被设置为全局默认值,下面给
+ 出一个存储示例。
+
+\begin{verbatim}
+ \begin{dbitem}[date=2022-01-01, info=测试]
+ \dbsave{question}{这是一个测试问题}
+ \dbsave{answer}{这是一个测试答案}
+ \end{dbitem}
+\end{verbatim}
+
+\subsection{\cs{dbsave} 和 \cs{dbuse}}
+
+\begin{function}{\dbsave, \dbuse}
+ \begin{syntax}
+ \cs{dbsave} \marg{attr} \marg{data} \\
+ \cs{dbuse} \marg{attr} \\
+ \end{syntax}
+
+ \cs{dbsave} 用来存储数据,只能在 \env{item} 环境中使用。\cs{dbuse} 用来使用
+ 数据,只能在 \opt{item-code} 选项中使用。
+\end{function}
+
+\subsection{使用 \cs{dbshow} 展示数据库}
+
+\begin{function}{\dbshow}
+ \begin{syntax}
+ \cs{dbshow} \marg{style} \marg{database}
+ \end{syntax}
+
+ 使用 \meta{style} 样式来展示 \meta{database}。
+\end{function}
+
+\subsection{条件判别式}
+
+\begin{function}{\dbIfEmptyT, \dbIfEmptyF, \dbIfEmptyTF}
+ \begin{syntax}
+ \cs{dbIfEmptyTF} \marg{true code} \marg{false code} \\
+ \cs{dbIfEmptyT} \marg{true code} \\
+ \cs{dbIfEmptyF} \marg{false code}
+ \end{syntax}
+
+ 该判别式用来判断当前数据库是否为空。下面的示例展示了如何预防空的列表环境。
+\end{function}
+
+\begin{verbatim}
+ \dbNewStyle{style-cond1}{database-test}{
+ before-code = {\dbIfEmptyF{\begin{enumerate}}},
+ after-code = {\dbIfEmptyF{\end{enumerate}}},
+ item-code = {\item \dbuse{attr-test}}
+ }
+\end{verbatim}
+
+\begin{function}{\dbItemIfEmptyT, \dbItemIfEmptyF, \dbItemIfEmptyTF}
+ \begin{syntax}
+ \cs{dbItemIfEmptyTF} \marg{true code} \marg{false code} \\
+ \cs{dbItemIfEmptyT} \marg{true code} \\
+ \cs{dbItemIfEmptyF} \marg{false code}
+ \end{syntax}
+
+ 该判别式用来判断当前元素是否为空。下面的示例展示了如何在展示 |database-test|
+ 数据库中 |text| 属性的元素时在元素非空的时候前后都加上 |*|。
+\end{function}
+
+\begin{verbatim}
+ \dbNewStyle{style-cond2}{database-test}{
+ text/before-code = {\dbItemIfEmptyF{*}},
+ text/after-code = {\dbItemIfEmptyF{*}},
+ }
+\end{verbatim}
+
+\begin{function}{\dbClistItemIfEmptyT, \dbClistItemIfEmptyF, \dbClistItemIfEmptyTF}
+ \begin{syntax}
+ \cs{dbClistItemIfEmptyTF} \marg{true code} \marg{false code} \\
+ \cs{dbClistItemIfEmptyT} \marg{true code} \\
+ \cs{dbClistItemIfEmptyF} \marg{false code}
+ \end{syntax}
+
+ 该判别式用来判断列表属性中的元素是否为空。下面的示例展示了如何在展示
+ |database-test| 数据库中 |labels| 属性(标签列表)的元素时在标签非空的时候前
+ 后都加上 |*|。
+\end{function}
+
+\begin{verbatim}
+ \dbNewDatabase{database-test}{labels=clist}
+ \dbNewStyle{style-cond3}{database-test}{
+ labels/item-before-code = {\dbClistItemIfEmptyF{*}},
+ labels/item-after-code = {\dbClistItemIfEmptyF{*}},
+ }
+\end{verbatim}
+
+\subsection{常量}
+
+\begin{function}{\dbDatabase, \dbFilterName, \dbFilterInfo, \dbIndex}
+ \cs{dbDatabase} 指代数据库名,\cs{dbFilterName} 指代过滤器名称,
+ \cs{dbFilterInfo} 指代过滤器额外信息,\cs{dbIndex} 指代当前索引。
+\end{function}
+
+\section{错题本示例}
+见第 \ref{sec:example} 节。
+
+\title{
+ Package \pkg{dbshow}
+ \protect\footnote{\url{https://github.com/ZhiyuanLck/dbshow}}
+ \rlap{\makebox[4cm][r]{
+ \normalsize $\Longrightarrow$ \color{red}
+ \protect\hyperlink{zh}{中文版本}
+ \protect\hypertarget{en}{}
+ }}
+}
+\author{Li Changkai \texttt{<lichangkai225\@qq.com>}}
+\date{2022/01/03}
+\maketitle
+
+\section{Introduction}
+
+The initial motivation to write this package is that I want to write a
+template, which can collect questions you gave the wrong answer and can
+display those questions you would like to review by some conditionals, such as
+questions with certain label, questions you have answered uncorrectly for
+certain times or questions having not been reviewed for certain days. So this
+package provides a database to do such thing.
+
+The package provides four core functions: data storage and display, data
+filtering, data sorting and data display. All data is saved once and then you
+can display these data with custom filters, orders and styles.
+
+The package constructs 6 types based on the internal typed of \pkg{expl3}:
+\begin{Description}[\texttt{clist}]
+ \item[\texttt{date}]
+ date based on \pkg{datetime2} in iso format, supports comparison,
+ sorting (converting to |str|), default \cs{Today}.
+ \item[\texttt{str}]
+ string,supports regex match and sorting, default empty.
+ \item[\texttt{tl}]
+ token list, supports regex match, default empty.
+ \item[\texttt{int}]
+ integer, supports comparison and sorting, default 0.
+ \item[\texttt{fp}]
+ floating point, supports comparison and sorting, default 0.
+ \item[\texttt{clist}]
+ comma list, default empty.
+\end{Description}
+
+\section{Interfaces}
+
+\subsection{\cs{dbNewDatabase}}
+
+\begin{function}{\dbNewDatabase, \dbNewDatabase*}
+ \begin{syntax}
+ \cs{dbNewDatabase} \oarg{base database} \marg{database} \{ \\
+ ~~\meta{attr1} = \meta{type spec1}, \\
+ ~~\meta{attr2} = \meta{type spec2}, \\
+ ~~\ldots{} \\
+ \} \\
+ \cs{dbNewDatabase}* \marg{database} \{ \\
+ ~~\meta{attr1} = \meta{type spec1}, \\
+ ~~\meta{attr2} = \meta{type spec2}, \\
+ ~~\ldots{} \\
+ \} \\
+ \end{syntax}
+
+\end{function}
+
+Create a new database named \meta{database}, unstarred form provides the optional
+\meta{base database} from which current database inherit the attributes settings.
+The unstarred form always replace the old definition, while starred form
+appends the new options.
+
+\begin{Syntax}
+ \meta{attr} = \meta{type} \\
+ \meta{attr} = \meta{type}\textbar\meta{default}
+\end{Syntax}
+
+The first form defines the \meta{attr} as \meta{type}, and the second also
+sets the default value.
+
+\begin{note}
+ Every database has a default attribute |id| to store the index of the item.
+\end{note}
+
+The example below define a database named |ques|.
+\begin{verbatim}
+ \dbNewDatabase{ques}{
+ question = tl, % store question
+ answer = tl, % store corresponding answer
+ date = date, % store the date when you were wrong
+ info = tl, % store extra info
+ labels = clist % store question labels
+ }
+\end{verbatim}
+
+\subsection{\cs{dbNewStyle} and Style Options}
+
+\begin{function}{\dbNewStyle}
+ \begin{syntax}
+ \cs{dbNewStyle} \oarg{base styles} \marg{style} \marg{database} \marg{opts}
+ \end{syntax}
+
+Define a new \meta{style} that binds to \meta{database}. The style can inherit
+from a list of \meta{base styles} such as
+|\dbNewStyle[base1, base2]{new-style}{ques}{}|.
+\end{function}
+
+\bigskip
+
+\begin{option}{opt=filter, desc={= \meta{filter}}, init=-none-}
+ Set the \meta{filter} defined by \cs{dbCombineFilters}.
+\end{option}
+
+\begin{option}{
+ opt = sort,
+ desc = {= \{ \meta{attr spec1}, \meta{attr spec2}, \ldots{} \}},
+}
+ Set sorting rules. Attributes of type |str, date, int, fp| is supported to
+ sort. Multi-level sort is allowed. \meta{attr} represents for ascending
+ order, and \meta{attr}* represents for descending order. The example below
+ use four fields to determine the order of the records. It sorts on |level|
+ in descending order first and if two |levels| are same then sorts on |birth|
+ in ascending order and so on.
+\end{option}
+
+\begin{verbatim}
+ \dbNewDatabase{sort-example}{
+ name = str,
+ birth = date,
+ level = int,
+ weight = fp,
+ }
+ \dbNewStyle{sort-style}{sort-example}{
+ sort = { level*, birth, name, weight }
+ }
+\end{verbatim}
+
+\begin{option}{
+ opt = before-code,
+ desc = {= \meta{before code}}
+}
+ Set the \meta{before code} that is executed before displaying the database.
+\end{option}
+
+\begin{option}{
+ opt = after-code,
+ desc = {= \meta{after code}}
+}
+ Set the \meta{after code} that is executed after displaying the database.
+\end{option}
+
+\begin{option}{
+ opt = item-code,
+ desc = {= \meta{item code}}
+}
+ Set the code that show a single record. You can use \cs{dbuse} to display
+ certian attribute.
+\end{option}
+
+\begin{option}{
+ opt = {\meta{attr}/before-code},
+ desc = {= \meta{before code}}
+}
+ Set the \meta{before code} that is executed by \cs{dbuse} before displaying
+ certain attribute.
+\end{option}
+
+\begin{option}{
+ opt = {\meta{attr}/after-code},
+ desc = {= \meta{after code}}
+}
+ Set the \meta{after code} that is executed by \cs{dbuse} after displaying
+ certain attribute.
+\end{option}
+
+\begin{option}{
+ opt = {\meta{attr}/sep},
+ desc = {= \meta{sep spec}},
+ init = {,~\~}
+}
+\begin{Syntax}
+ \meta{attr}/separator = \meta{separator} \\
+ \meta{attr}/separator = \{ \\
+ ~~\meta{separator between two}, \\
+ ~~\meta{separator between more than two}, \\
+ ~~\meta{separator between final two} \\
+ \}
+\end{Syntax}
+
+ Only for attributes of type |clist|. Set the separator between clist items.
+ The first form accept one arguments and set the seperator as \meta{sep}. The
+ second form is more complicated, the following documentation is quoted from
+ \pkg{interface3}:
+ \begin{quote}
+ If the comma list has more than two items, the \meta{separator between
+ more than two} is placed between each pair of items except the last, for
+ which the \meta{separator between final two} is used. If the comma list
+ has exactly two items, then they are placed in the input stream separated
+ by the \meta{separator between two}. If the comma list has a single item,
+ it is placed in the input stream, and a comma list with no items produces
+ no output.
+ \end{quote}
+
+\end{option}
+
+\begin{option}{
+ opt = item-before-code,
+ desc = {= \meta{before code}}
+}
+ Only for attributes of type |clist|. Set the \meta{after code} that is
+ excuted before displaying the item of the comma list.
+\end{option}
+
+\begin{option}{
+ opt = item-after-code,
+ desc = {= \meta{after code}}
+}
+ Only for attributes of type |clist|. Set the \meta{after code} that is
+ excuted after displaying the item of the comma list.
+\end{option}
+
+\subsection{Use \cs{dbNewReviewPoints} to Define Review Points}
+
+\begin{function}{\dbNewReviewPoints}
+ \begin{syntax}
+ \cs{dbNewReviewPoints} \marg{name} \marg{points}
+ \end{syntax}
+
+ Define the new \meta{points} that is specially designed for reviewing
+ something. \meta{points} is a list of integers. Suppose you record the date
+ when you did not answer correctly and you plan to review every 2, 5 and 15
+ days. The following code give what you want.
+\begin{verbatim}
+ \dbNewReviewPoints{review-point}{2, 5, 15} % define points
+ \begin{dbFilters}
+ \dbNewConditional{cond1}{date}{review-point|\Today} % define conditional
+ \dbCombineConditionals{filter1}{cond1} % define filter
+ \end{dbFilters}
+ \dbNewStyle{review-style}{ques}{filter=filter1} % define style
+\end{verbatim}
+\end{function}
+
+\subsection{Define Filters inside \env{dbFilters} Environment}
+
+\noindent\DescribeEnv{dbFilters}
+\begin{Syntax}*
+ |\begin{dbFilters}|\marg{database} \\
+ ~~\meta{code}
+ |\end{dbFilters}| \\
+\end{Syntax}
+
+Filters are defined inside \env{dbFilters} environment, inside which,
+\cs{dbNewConditional} is defined to declare conditionals and
+\cs{dbCombineConditionals} is defined to combine conditionals. Filters are
+independent in different databases, which means the same name of filters is
+allowed in different databases.
+
+\begin{function}{\dbNewConditional, \dbNewConditional*}
+ \begin{syntax}
+ \cs{dbNewConditional} \marg{name} \marg{attr} \marg{cond spec} \\
+ \cs{dbNewConditional}* \marg{name} \marg{attr} \marg{cond spec} \\[2pt]
+ \cs{dbNewConditional} \marg{name} \marg{int/fp attr} \marg{relation} \\
+ \cs{dbNewConditional}* \marg{name} \marg{int/fp attr} \marg{relation} \\
+ \cs{dbNewConditional} \marg{name} \marg{str/tl attr} \marg{regex expr} \\
+ \cs{dbNewConditional}* \marg{name} \marg{str/tl attr} \marg{regex expr} \\
+ \cs{dbNewConditional} \marg{name} \marg{clist attr} \marg{val list} \\
+ \cs{dbNewConditional}* \marg{name} \marg{clist attr} \marg{val list} \\
+ \cs{dbNewConditional} \marg{name} \marg{date attr} \{\meta{review points}\textbar\meta{date}\} \\
+ \cs{dbNewConditional}* \marg{name} \marg{date attr} \marg{relation}
+ \end{syntax}
+
+ Define the conditional named \meta{name} that binds to \meta{attr}. \cs{dbval}
+ is replaced with the real value of the attribute inside the \meta{cond spec}.
+\end{function}
+
+For attributes of type |int| and |fp|, two forms have the same definition.
+\meta{relation} can be a single relation formula, such as |\dbval > 3|, or the
+combination of several relation formulas, such as |\dbval > 3 && \dbval < 10.2|.
+Supported operators are |<, >, =, ==, !=, >=, <=, !|.
+
+For attribute of type |str| and |tl|, unstarred form matches any part while
+starred form matches the whole part with the \meta{regex expr}.
+\begin{verbatim}
+ \dbNewConditional{cond1}{str-attr}{abc} % match abc, abcd, 1abc, =abc=, etc
+ \dbNewConditional*{cond2}{str-attr}{abc} % only match abc
+\end{verbatim}
+
+For attributes of type |clist|, the conditional defined by unstarred form is
+true if any item of \meta{val list} is in the comma list. While the
+conditional defined by starred form is true only if every item of \meta{val
+list} is in the comma list. As is showed below, for |cond1|, |a| is in
+|{a, b, d}| so |cond1| is true. While |c| is not in |{a, b, d}| so |cond2| is
+false.
+
+\begin{verbatim}
+ \dbNewConditional{cond1}{clist-attr}{a, b, c} % {a, b, d} -> true
+ \dbNewConditional*{cond2}{clist-attr}{a, b, c} % {a, b, d} -> false
+\end{verbatim}
+
+For attributes of type |date|, unstarred form uses \meta{review points} to
+define the conditional and \meta{date} is the date to be compared. The starred
+form define the conditional with \textbf{single} relation formula. Supported
+operators are |<, >, =, ==, !=, >=, <=|.
+
+\begin{function}{\dbCombineConditionals}
+ \begin{syntax}
+ \cs{dbCombineConditionals} \marg{name} \marg{cond combination} \oarg{info}
+ \end{syntax}
+
+ Define the filter \meta{name}, which combine the conditionals and store the
+ extra \meta{info} into \cs{dbFilterInfo}. So you can write something as\\
+ \verb=\dbCombineConditionals{filter}{(cond1 && cond2) || !cond3}=.\\
+ Supported operators are \verb=&&, ||, !=. You can set the option \opt{filter}
+ to \meta{name} to apply the filter when you display the database.
+\end{function}
+
+\subsection{Store Data with \env{dbitem} Environment}
+
+\noindent\DescribeEnv{dbitem}
+\begin{Syntax}*
+ |\begin{dbitem}|\marg{database}[ \\
+ ~~\meta{attr1} = \meta{val1}, \\
+ ~~\meta{attr2} = \meta{val2}, \\
+ ~~\ldots{} \\
+ ] \\
+ ~~\meta{code} \\
+ |\end{dbitem}|
+\end{Syntax}
+
+The data are stored with \env{dbitem} environment in two ways. Smaller data
+can be stored in the option list and the bigger data can be stored by
+\cs{dbsave}, which will suppress the value set by the option list. An example
+code is showned below.
+
+\begin{verbatim}
+ \begin{dbitem}[date=2022-01-01, info=test]
+ \dbsave{question}{This is a test question.}
+ \dbsave{answer}{This is the correct answer of the question.}
+ \end{dbitem}
+\end{verbatim}
+
+\subsection{\cs{dbsave} and \cs{dbuse}}
+
+\begin{function}{\dbsave, \dbuse}
+ \begin{syntax}
+ \cs{dbsave} \marg{attr} \marg{data} \\
+ \cs{dbuse} \marg{attr} \\
+ \end{syntax}
+
+ Date is stored with \cs{dbsave} and is displayed with \cs{dbuse}. \cs{dbsave}
+ can be used only inside the \env{dbitem} environment and \cs{dbuse} can be
+ only used inside the option \opt{item-code}.
+\end{function}
+
+\subsection{Use \cs{dbshow} to Display the Database}
+
+\begin{function}{\dbshow}
+ \begin{syntax}
+ \cs{dbshow} \marg{style} \marg{database}
+ \end{syntax}
+
+ Show the \meta{database} with \meta{style}.
+\end{function}
+
+\subsection{Conditionals}
+
+\begin{function}{\dbIfEmptyT, \dbIfEmptyF, \dbIfEmptyTF}
+ \begin{syntax}
+ \cs{dbIfEmptyTF} \marg{true code} \marg{false code} \\
+ \cs{dbIfEmptyT} \marg{true code} \\
+ \cs{dbIfEmptyF} \marg{false code}
+ \end{syntax}
+
+ Test if the database is empty. The example below shows how to avoid an empty
+ list environment.
+\end{function}
+
+\begin{verbatim}
+ \dbNewStyle{style-cond1}{database-test}{
+ before-code = {\dbIfEmptyF{\begin{enumerate}}},
+ after-code = {\dbIfEmptyF{\end{enumerate}}},
+ item-code = {\item \dbuse{attr-test}}
+ }
+\end{verbatim}
+
+\begin{function}{\dbItemIfEmptyT, \dbItemIfEmptyF, \dbItemIfEmptyTF}
+ \begin{syntax}
+ \cs{dbItemIfEmptyTF} \marg{true code} \marg{false code} \\
+ \cs{dbItemIfEmptyT} \marg{true code} \\
+ \cs{dbItemIfEmptyF} \marg{false code}
+ \end{syntax}
+
+ Test if the value of the attribute is empty. The example belows shows how to
+ surround the non-empty |text| attribute with the symbol *.
+\end{function}
+
+\begin{verbatim}
+ \dbNewStyle{style-cond2}{database-test}{
+ text/before-code = {\dbItemIfEmptyF{*}},
+ text/after-code = {\dbItemIfEmptyF{*}},
+ }
+\end{verbatim}
+
+\begin{function}{\dbClistItemIfEmptyT, \dbClistItemIfEmptyF, \dbClistItemIfEmptyTF}
+ \begin{syntax}
+ \cs{dbClistItemIfEmptyTF} \marg{true code} \marg{false code} \\
+ \cs{dbClistItemIfEmptyT} \marg{true code} \\
+ \cs{dbClistItemIfEmptyF} \marg{false code}
+ \end{syntax}
+
+ Test if the item of comma list is empty. The example belows shows how to
+ surround the non-empty label with the symbol *.
+\end{function}
+
+\begin{verbatim}
+ \dbNewDatabase{database-test}{labels=clist}
+ \dbNewStyle{style-cond3}{database-test}{
+ labels/item-before-code = {\dbClistItemIfEmptyF{*}},
+ labels/item-after-code = {\dbClistItemIfEmptyF{*}},
+ }
+\end{verbatim}
+
+\subsection{Constants}
+
+\begin{function}{\dbDatabase, \dbFilterName, \dbFilterInfo, \dbIndex}
+ \cs{dbDatabase} represents for the database name, \cs{dbFilterName} represents for
+ the filter name, \cs{dbFilterInfo} represents for the extra info of the
+ filter and \cs{dbIndex} represents for the item index.
+\end{function}
+
+\section{Example of Flaw Sweeper Template}
+\label{sec:example}
+
+\begin{verbatim}
+ \documentclass{article}
+ \usepackage{dbshow}
+ \usepackage{hyperref}
+
+ \NewDocumentCommand { \hyperlinktarget } { m m m } {%
+ \hyperlink{#1}{#3}\hypertarget{#2}{}
+ }
+
+ \dbNewDatabase{ques}{
+ question=tl,
+ answer=tl,
+ date=date,
+ count=int,
+ labels=clist
+ }
+ \dbNewReviewPoints{review}{1, 3, 7, 15, 30, 60}
+
+ \begin{dbFilters}{ques}
+ % which need reviewed today?
+ \dbNewConditional{date}{date}{review|2021-12-25}
+ \dbNewConditional{easy}{labels}{easy}
+ \dbNewConditional{not-easy}{labels}{mid, hard}
+ % questions you haven't answered correctly for more than 3 times!
+ \dbNewConditional{bad}{count}{\dbval > 3}
+ \dbCombineConditionals{date}{date}[to be review today]
+ \dbCombineConditionals{easy}{easy}[easy questions]
+ \dbCombineConditionals{not-easy}{not-easy}[hard questions]
+ \dbCombineConditionals{bad}{bad}[bad questions]
+ \dbCombineConditionals{bad-easy}{bad && easy}[bad but easy questions]
+ \end{dbFilters}
+
+ \newcounter{ques}
+
+ \dbNewStyle{test}{ques} {
+ before-code = {\setcounter{ques}{0}\section{Test}},
+ item-code = {
+ \refstepcounter{ques}
+ \par\noindent\arabic{ques}. \dbuse{labels} \dbuse{date}\hfill \dbuse{count}
+ \par\noindent ques: \dbuse{question}
+ \par\noindent\hyperlinktarget
+ {answer_\dbIndex}{ques_\dbIndex}{go to answer}
+ },
+ }
+ \dbNewStyle{check}{ques} {
+ before-code = {\setcounter{ques}{0}\section{Answer}},
+ item-code = {
+ \refstepcounter{ques}
+ \par\noindent\arabic{ques}. \dbuse{labels} \dbuse{date}\hfill \dbuse{count}
+ \par\noindent ques: \dbuse{question}
+ \par\noindent\hyperlinktarget
+ {ques_\dbIndex}{answer_\dbIndex}{back to question}
+ \par\noindent answer: \dbuse{answer}
+ },
+ }
+ \dbNewStyle[test]{test-bad}{ques}{
+ filter=bad,
+ before-code = {\setcounter{ques}{0}\section{Bad Question}}
+ }
+
+ \AtEndDocument{
+ \dbshow{test}{ques}
+ \dbshow{test-bad}{ques}
+ \dbshow{check}{ques}
+ }
+
+ \begin{document}
+
+ \begin{dbitem}{ques}[date=2021-12-21, count=1, labels=easy]
+ \dbsave{question}{This is test question 1.}
+ \dbsave{answer}{This is test question 1.}
+ \end{dbitem}
+
+ \begin{dbitem}{ques}[date=2021-12-22, count=4, labels=easy]
+ \dbsave{question}{This is test question 2.}
+ \dbsave{answer}{This is test question 2.}
+ \end{dbitem}
+
+ \begin{dbitem}{ques}[date=2021-12-23, count=3, labels=hard]
+ \dbsave{question}{This is test question 3.}
+ \dbsave{answer}{This is test question 3.}
+ \end{dbitem}
+
+ \end{document}
+\end{verbatim}
+
+\end{documentation}
+
+
+\end{document}
diff --git a/macros/latex/contrib/dbshow/dbshow.sty b/macros/latex/contrib/dbshow/dbshow.sty
new file mode 100644
index 0000000000..6e51f048a4
--- /dev/null
+++ b/macros/latex/contrib/dbshow/dbshow.sty
@@ -0,0 +1,661 @@
+%% dbshow.sty
+%% Copyright 2022 Li Changkai <lichangkai225@qq.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Li Changkai.
+%
+% This work consists of the files dbshow.sty, dbshow-doc.tex.
+\def\myfileversion{1.0}
+\def\myfiledate{2022/01/02}
+\RequirePackage{expl3, xparse}
+\RequirePackage[calc]{datetime2}
+\ProvidesExplPackage
+ {dbshow}
+ {\myfiledate}
+ {\myfileversion}
+ {database to store and show data}
+
+\DTMsetdatestyle{iso}
+
+\msg_new:nnn { dbshow } { non-existent-database } {
+ Database~'#1'~does~not~exist~\msg_line_context:.
+}
+
+% #1 database
+\cs_new:Nn \dbshow_check_database:n {
+ \prop_if_exist:cF { g__dbshow_type_map_#1 }
+ { \msg_fatal:nnn { dbshow } { non-existent-database } { #1 } }
+}
+
+\msg_new:nnn { dbshow } { non-existent-attr } {
+ Attribute~'#2'~of~database~'#1'~does~not~exist~\msg_line_context:.
+}
+
+% #1 database #2 attr
+\cs_new:Nn \dbshow_check_attr:nn {
+ \prop_if_in:cnF { g__dbshow_type_map_#1 } { #2 }
+ { \msg_fatal:nnnn { dbshow } { non-existent-attr } { #1 } { #2 } }
+}
+
+\msg_new:nnn { dbshow } { non-existent-style } {
+ Style~'#1'~of~database~'#2'~does~not~exist~\msg_line_context:.
+}
+
+% #1 style #2 database
+\cs_new:Nn \dbshow_check_style:nn {
+ \tl_if_exist:cF { g__dbshow_style_opts_#1_#2 }
+ { \msg_warning:nnnn { dbshow } { non-existent-style } { #1 } { #2 } }
+}
+
+\msg_new:nnn { dbshow } { non-existent-cond } {
+ Conditional~'#2'~of~database~'#1'~does~not~exist~\msg_line_context:.
+}
+
+% #1 database #2 cond
+\cs_new:Nn \dbshow_check_cond:nnn {
+ \tl_if_exist:cF { g__dbshow_filter_attr_#1_#2 }
+ { \msg_fatal:nnnn { dbshow } { non-existent-cond } { #1 } { #2 } }
+}
+
+\msg_new:nnn { dbshow } { non-existent-filter } {
+ Filter~'#2'~of~database~'#1'~does~not~exist~and~is~ignored~\msg_line_context:.
+}
+
+\cs_generate_variant:Nn \msg_warning:nnnn { nnnx }
+% #1 database #2 filter
+\cs_new:Nn \dbshow_check_filter:nn {
+ \seq_if_exist:cF { g__dbshow_filter_run_seq_#1_#2 } {
+ \str_if_eq:eeF { #2 } { -none- } {
+ \msg_warning:nnnx { dbshow } { non-existent-filter } { #1 } { #2 }
+ }
+ }
+}
+
+\msg_new:nnn { dbshow } { non-existent-type } {
+ Type~'#1'~does~not~exist,~the~type~of~attribute~should~be~one~of~
+ \{date,~str,~tl,~clist,~int,~fp\}~\msg_line_context:.
+}
+
+% #1 type
+\cs_new:Nn \dbshow_check_type:n {
+ \clist_if_in:NnF \dbshow_type_clist { #1 }
+ { \msg_fatal:nnn { dbshow } { non-existent-type } { #1 } }
+}
+
+% #1 count #2 content
+\msg_new:nnn { dbshow } { wrong-seperator } {
+ option~sep~should~contain~1~or~3~items~but~only~#1~items~was~given,~
+ sep~=~\{#2\}~\msg_line_context:.
+}
+
+\msg_new:nnn { dbshow } { unsupported-sort-type } {
+ unsupported~sort~type:~'#1'~\msg_line_context:.~The~type~should~be~one~of~
+ \{str,~date,~int,~fp\}.
+}
+
+\cs_new:Nn \dbshow_sep_error:nn {
+ \msg_error:nnnn { dbshow } { wrong-seperator } { #1 } { #2 }
+}
+\cs_generate_variant:Nn \dbshow_sep_error:nn { xx }
+
+\clist_const:Nn \dbshow_type_clist { date, str, tl, clist, int, fp }
+
+\prop_const_from_keyval:Nn \dbshow_new_cs_map {
+ date = str_clear_new:c,
+ str = str_clear_new:c,
+ tl = tl_gclear_new:c,
+ clist = clist_gclear_new:c,
+ int = int_gzero_new:c,
+ fp = fp_gzero_new:c
+}
+
+\prop_const_from_keyval:Nn \dbshow_set_cs_map {
+ date = str_gset:cn,
+ str = str_gset:cn,
+ tl = tl_gset:cn,
+ clist = clist_gset:cn,
+ int = int_gset:cn,
+ fp = fp_gset:cn
+}
+
+\prop_const_from_keyval:Nn \dbshow_use_cs_map {
+ date = str_use:c,
+ str = str_use:c,
+ tl = tl_use:c,
+ clist = dbshow_clist_use:c,
+ int = int_use:c,
+ fp = fp_use:c
+}
+
+\prop_const_from_keyval:Nn \dbshow_default_value {
+ date = \Today,
+ str = ,
+ tl = ,
+ clist = ,
+ int = 0,
+ fp = 0
+}
+
+\newcount\l_dbshow_date_diff
+
+% #1 database #2 attr #3 type #4 default value
+\cs_new:Npn \dbshow_process_default_value:w #1|#2=#3|#4\scan_stop {
+ \dbshow_check_type:n { #3 }
+ \prop_gput:cxx { g__dbshow_type_map_#1 } { #2 } { #3 }
+ \prop_gput:cxx { g__dbshow_default_map_#1 } { #2 } { #4 }
+}
+
+\cs_new_protected:Nn \dbshow_process_type_map:n {
+ \prop_gclear_new:c { g__dbshow_default_map_#1 }
+ \prop_map_inline:cn { g__dbshow_type_map_#1 } {
+ \str_if_in:nnTF { ##2 } { | }
+ { \dbshow_process_default_value:w #1|##1=##2\scan_stop }
+ {
+ \prop_get:NnN \dbshow_default_value { ##2 } \l_tmp_default
+ \dbshow_process_default_value:w #1|##1=##2|\l_tmp_default\scan_stop
+ }
+ }
+}
+
+% #1 database_name, #2 clist, attr=type
+\cs_new_protected:Nn \dbshow_database_new:nn {
+ \int_gzero_new:c { g__dbshow_counter_#1 }
+ \prop_gset_from_keyval:cn { g__dbshow_type_map_#1 } { #2 }
+}
+
+% #1 database_name, #2 clist
+\cs_new_protected:Nn \dbshow_database_new_append:nn {
+ \int_gzero_new:c { g__dbshow_counter_#1 }
+ \prop_if_exist:cF { g__dbshow_type_map_#1 }
+ { \prop_new:c { g__dbshow_type_map_#1 } }
+ \prop_gset_from_keyval:Nn \l_tmpa_prop { #2 }
+ \prop_concat:ccc { g__dbshow_type_map_#1 } { g__dbshow_type_map_#1 } { l_tmpa_prop }
+}
+
+% #1 database_name, #2 database inherit from #3 clist
+\cs_new_protected:Nn \dbshow_database_new_inherit:nnn {
+ \dbshow_check_database:n { #2 }
+ \str_if_eq:nnTF { #1 } { #2 } {
+ \dbshow_database_new_append:nn { #1 } { #3 }
+ } {
+ \int_gzero_new:c { g__dbshow_counter_#1 }
+ \prop_gset_from_keyval:cn { g__dbshow_type_map_#1 } { #3 }
+ \prop_concat:ccc { g__dbshow_type_map_#1 } { g__dbshow_type_map_#2 } { g__dbshow_type_map_#1 }
+ }
+}
+
+% #1 database_name, #2 attr
+\cs_new:Nn \dbshow_get_type:nn {
+ \prop_item:cn { g__dbshow_type_map_#1 } { #2 }
+}
+
+% #1 database_name
+\cs_new:Nn \dbshow_get_counter:n {
+ \int_use:c { g__dbshow_counter_#1 }
+}
+
+% #1 database_name
+\cs_new:Nn \dbshow_step_counter:n {
+ \int_gincr:c { g__dbshow_counter_#1 }
+}
+
+% #1 database #2 attr #3 content
+\cs_new:Nn \dbshow_save_data:nnn {
+ \dbshow_check_attr:nn { #1 } { #2 }
+ \str_set:Nx \l_tmp_type { \dbshow_get_type:nn { #1 } { #2 } }
+ \prop_get:NVN \dbshow_new_cs_map \l_tmp_type \l_tmp_cs_new
+ \prop_get:NVN \dbshow_set_cs_map \l_tmp_type \l_tmp_cs_set
+ \use:c { \l_tmp_cs_new }
+ { g__dbshow_data_#1_#2_\dbshow_get_counter:n { #1 } }
+ \use:c { \l_tmp_cs_set }
+ { g__dbshow_data_#1_#2_\dbshow_get_counter:n { #1 } } { #3 }
+}
+\cs_generate_variant:Nn \dbshow_save_data:nnn { nnx }
+
+\cs_new:Nn \dbshow_clist_use:N {
+ \clist_clear:N \l_tmpa_clist
+
+ \clist_map_inline:Nn #1 {
+ \prg_set_conditional:Nnn \dbshow_clist_item_if_empty: { T, F, TF } {
+ \tl_if_empty:nTF { ##1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+ \cs_set_eq:NN \dbClistItemIfEmptyT\dbshow_clist_item_if_empty:T
+ \cs_set_eq:NN \dbClistItemIfEmptyF\dbshow_clist_item_if_empty:F
+ \cs_set_eq:NN \dbClistItemIfEmptyTF\dbshow_clist_item_if_empty:TF
+
+ \clist_put_right:Nn \l_tmpa_clist {
+ \l_style_item_before_code
+ ##1
+ \l_style_item_after_code
+ }
+ }
+
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_style_sep_clist {
+ \tl_put_right:Nn \l_tmpa_tl { { ##1 } }
+ }
+
+ \int_set:Nn \l_tmpa_int { \clist_count:N \l_style_sep_clist }
+ \int_case:nnF { \l_tmpa_int } {
+ { 1 } {
+ \exp_after:wN \clist_use:Nn \exp_after:wN \l_tmpa_clist \l_tmpa_tl
+ }
+ { 3 } {
+ \exp_after:wN \clist_use:Nnnn \exp_after:wN \l_tmpa_clist \l_tmpa_tl
+ }
+ }
+ {
+ \dbshow_sep_error:xx
+ { \int_use:N \l_tmpa_int }
+ { \clist_use:Nn \l_style_sep_clist { , } }
+ }
+}
+\cs_generate_variant:Nn \dbshow_clist_use:N { c }
+
+% #1 database #2 attr #3 index
+\cs_new:Nn \dbshow_use_data:nnn {
+ \str_set:Nx \l_tmp_type { \dbshow_get_type:nn { #1 } { #2 } }
+ \prop_get:NVN \dbshow_use_cs_map \l_tmp_type \l_tmp_cs
+ \use:c { \l_tmp_cs } { g__dbshow_data_#1_#2_#3 }
+}
+
+% #1 database
+\cs_new_protected:Nn \dbshow_set_database_keys:n {
+ \prop_map_inline:cn { g__dbshow_type_map_#1 } {
+ \keys_define:nn { dbshow/database/#1 } {
+ ##1 .code:n = \dbshow_save_data:nnn { #1 } { ##1 } { ####1 },
+ }
+ }
+}
+
+% #1 append or not #2 inherit #3 database #4 attrs
+\NewDocumentCommand { \dbNewDatabase } { s o m m } {
+ \IfNoValueTF { #2 } {
+ \IfBooleanTF { #1 }
+ { \dbshow_database_new_append:nn { #3 } { #4 } }
+ { \dbshow_database_new:nn { #3 } { #4 } }
+ } { \dbshow_database_new_inherit:nnn { #3 } { #2 } { #4 } }
+ \dbshow_database_new_append:nn { #3 } { id=int }
+ \dbshow_process_type_map:n { #3 }
+ \dbshow_set_database_keys:n { #3 }
+ \dbNewStyle{default}{#3}{}
+}
+
+% #1 database #2 attr-content map
+\NewDocumentEnvironment { dbitem } { m O{} +b } {
+ \dbshow_check_database:n { #1 }
+ \dbshow_step_counter:n { #1 }
+ \cs_set:Nn \dbshow_set_default:nn {
+ \dbshow_save_data:nnx { #1 } { ##1 } {
+ \prop_item:cn { g__dbshow_default_map_#1 } { ##1 }
+ }
+ }
+ \prop_map_function:cN { g__dbshow_type_map_#1 } \dbshow_set_default:nn
+ \dbshow_save_data:nnx { #1 } { id } { \dbshow_get_counter:n { #1 } }
+ \keys_set:nn { dbshow/database/#1 } { #2 }
+ % #2 attr #3 content
+ \NewDocumentCommand { \dbsave } { m m } {
+ \dbshow_save_data:nnn { #1 } { ##1 } { ##2 }
+ }
+} { #3 }
+
+\cs_new:Nn \dbshow_if_int: {
+ \int_compare:nTF { \l_dbshow_rela }
+ { \dbshow_set_true: }
+ { \dbshow_set_false: }
+}
+
+\cs_new:Nn \dbshow_if_fp: {
+ \fp_compare:nTF { \l_dbshow_rela }
+ { \dbshow_set_true: }
+ { \dbshow_set_false: }
+}
+
+% star: all in
+% no star: one in
+\cs_new:Nn \dbshow_if_clist: {
+ \bool_if:NTF \l_star_bool { % and
+ \dbshow_set_true:
+ \exp_args:Nx
+ \clist_map_inline:nn { \l_dbshow_rela } {
+ \clist_if_in:NnF \dbval { ##1 } {
+ \dbshow_set_false:
+ \clist_map_break:
+ }
+ }
+ }
+ { % or
+ \dbshow_set_false:
+ \exp_args:Nx
+ \clist_map_inline:nn { \l_dbshow_rela } {
+ \clist_if_in:NnT \dbval { ##1 } {
+ \dbshow_set_true:
+ \clist_map_break:
+ }
+ }
+ }
+}
+
+% star: match full
+% no star: match part
+\cs_new:Nn \dbshow_if_str: {
+ \bool_if:NT \l_star_bool {
+ \tl_put_left:Nn \l_dbshow_rela { \A }
+ \tl_put_right:Nn \l_dbshow_rela { \Z }
+ }
+ \regex_match:VVTF \l_dbshow_rela \dbval
+ { \dbshow_set_true: }
+ { \dbshow_set_false: }
+}
+\cs_set_eq:NN \dbshow_if_tl: \dbshow_if_str:
+
+\cs_new:Npn \dbshow_parse_date:w #1|#2\dbshow_stop {
+ \clist_set_eq:Nc \l_point_clist { g__review_points_#1 }
+ \tl_set:Nn \l_date_tl { #2 }
+}
+
+\cs_new:Nn \dbshow_if_date: {
+ \bool_if:NTF \l_star_bool {
+ \regex_extract_once:nVNF { \A(.*)([!<>=]+)(.*)\Z }
+ \l_dbshow_rela \l_tmpa_seq { }
+ \exp_args:Nnx \DTMsavedate{day1}{ \seq_item:Nn \l_tmpa_seq { 2 } }
+ \tl_set:Nx \l_rela { \seq_item:Nn \l_tmpa_seq { 3 } }
+ \exp_args:Nnx \DTMsavedate{day2}{ \seq_item:Nn \l_tmpa_seq { 4 } }
+ \DTMsaveddatediff{day1}{day2}{\l_dbshow_date_diff}% specious blank
+ \exp_args:NnV \int_compare:nNnTF
+ { \the\l_dbshow_date_diff } \l_rela { 0 }
+ { \dbshow_set_true: }
+ { \dbshow_set_false: }
+ }
+ {
+ \exp_after:wN \dbshow_parse_date:w \l_dbshow_rela\dbshow_stop
+ \exp_args:Nnx \DTMsavedate{day1}{ \l_date_tl }
+ \exp_args:Nnx \DTMsavedate{day2}{ \dbval }
+ \DTMsaveddatediff{day1}{day2}{\l_dbshow_date_diff}% specious blank
+ \clist_if_in:NoTF \l_point_clist { \the\l_dbshow_date_diff }
+ { \dbshow_set_true: }
+ { \dbshow_set_false: }
+ }
+}
+
+\cs_generate_variant:Nn \prop_get:NnN { cVN }
+\prg_generate_conditional_variant:Nnn \regex_extract_once:nnN { nVN } { T, F, TF, p }
+\prg_generate_conditional_variant:Nnn \regex_match:nn { VV } { T, F, TF, p }
+% #1 database name #2 cond name #3 index
+\cs_set:Nn \dbshow_if:nnn {
+ \tl_set_eq:Nc \l_dbshow_attr { g__dbshow_filter_attr_#1_#2 }
+ \tl_set_eq:Nc \l_dbshow_rela { g__dbshow_filter_rela_#1_#2 }
+ \cs_set_eq:Nc \dbval { g__dbshow_data_#1_\l_dbshow_attr _#3 }
+ \cs_set:Nn \dbshow_set_true:
+ { \bool_gset_true:c { g__dbshow_filter_bool_#1_#2 } }
+ \cs_set:Nn \dbshow_set_false:
+ { \bool_gset_false:c { g__dbshow_filter_bool_#1_#2 } }
+ \prop_get:cVN { g__dbshow_type_map_#1 } \l_dbshow_attr \l_tmp_type
+ \bool_set_eq:Nc \l_star_bool { g__dbshow_cond_star_#1_#2 }
+ \use:c { dbshow_if_\l_tmp_type : }
+}
+
+% 将cond->attr, cond->rela, cond->bool关联起来
+% #1 database name #2 cond name #3 attr #4 rela #5 star
+\cs_new_protected:Nn \dbshow_new_conditional:nnnnn {
+ \tl_gset:cn { g__dbshow_filter_attr_#1_#2 } { #3 }
+ \tl_gset:cn { g__dbshow_filter_rela_#1_#2 } { #4 }
+ \bool_if_exist:cF { g__dbshow_filter_bool_#1_#2 }
+ { \bool_new:c { g__dbshow_filter_bool_#1_#2 } }
+ \bool_if_exist:cF { g__dbshow_cond_star_#1_#2 }
+ { \bool_new:c { g__dbshow_cond_star_#1_#2 } }
+ \IfBooleanTF { #5 }
+ { \bool_gset_true:c { g__dbshow_cond_star_#1_#2 } }
+ { \bool_gset_false:c { g__dbshow_cond_star_#1_#2 } }
+ \cs_gset:cn { g__dbshow_filter_cs_#1_#2:n } {
+ \dbshow_if:nnn { #1 } { #2 } { ##1 }
+ }
+ \seq_gput_right:cn { g__dbshow_cond_list_#1 } { #2 }
+}
+
+% 将组合条件cond1, cond2, ..., 替换成cond1->bool, cond2->bool, ...
+% #1 database name #2 filter name #3 filters
+\cs_new_protected:Nn \dbshow_combine_conditional:nnn {
+ \tl_gset_eq:cN { g__dbshow_filter_bool_tl_#1_#2 } \c_true_bool
+ \seq_gclear_new:c { g__dbshow_filter_run_seq_#1_#2 }
+ \regex_extract_all:nnN { \w+ } { #3 } \l_tmpa_seq
+ \seq_map_inline:Nn \l_tmpa_seq {
+ % ##1 cond name
+ \seq_if_in:cnT { g__dbshow_cond_list_#1 } { ##1 } {
+ \seq_gput_right:cn { g__dbshow_filter_run_seq_#1_#2 }
+ { g__dbshow_filter_cs_#1_##1:n }
+ }
+ }
+ \tl_set:Nn \l_tmpa_tl { #3 }
+ \regex_replace_all:nnN
+ { \w+ } { \c{ g__dbshow_filter_bool_#1_\0 } }
+ \l_tmpa_tl
+ \tl_gset_eq:cN { g__dbshow_filter_bool_tl_#1_#2 } \l_tmpa_tl
+}
+
+\cs_generate_variant:Nn \regex_replace_all:nnN { nnc }
+% #1 database #2 content
+\NewDocumentEnvironment { dbFilters } { m +b } {
+ \seq_gclear_new:c { g__dbshow_cond_list_#1 }
+ % #1 star #2 cond name #3 attr #4 rela
+ \DeclareDocumentCommand { \dbNewConditional } { s m m m } {
+ \dbshow_new_conditional:nnnnn
+ { #1 } { ##2 } { ##3 } { ##4 } { ##1 }
+ }
+ % ##1 filter name ##2 filters ##3 info
+ \DeclareDocumentCommand { \dbCombineConditionals } { m m O{} } {
+ \tl_gset:cn { g__dbshow_filter_info_#1_##1 } { ##3 }
+ \dbshow_combine_conditional:nnn { #1 } { ##1 } { ##2 }
+ }
+ #2
+} { }
+
+% #1 name #2 points
+\NewDocumentCommand { \dbNewReviewPoints } { m m } {
+ \clist_set:cn { g__review_points_#1 } { #2 }
+}
+
+% #1 style name #2 database name #3 attr
+\cs_new_protected:Nn \dbshow_new_attr_style:nnn {
+ \dbshow_check_attr:nn { #2 } { #3 }
+ \keys_define:nn { dbshow/style/#1/#3 } {
+ before-code .tl_gset:c = { g__dbshow_style_before_#1_#2_#3 },
+ before-code .initial:n = ,
+ after-code .tl_gset:c = { g__dbshow_style_after_#1_#2_#3 },
+ after-code .initial:n = ,
+ }
+ \prop_get:cnN { g__dbshow_type_map_#2 } { #3 } \l_tmp_type
+ \str_if_eq:eeT { \l_tmp_type } { clist } {
+ \keys_define:nn { dbshow/style/#1/#3 } {
+ sep .clist_gset:c = { g__dbshow_style_sep_#1_#2_#3 },
+ sep .initial:n = { { ,~ } },
+ item-before-code .tl_gset:c = { g__dbshow_style_item_before_#1_#2_#3 },
+ item-before-code .initial:n = ,
+ item-after-code .tl_gset:c = { g__dbshow_style_item_after_#1_#2_#3 },
+ item-after-code .initial:n = ,
+ }
+ }
+}
+
+% #1 style name #2 database name
+\cs_new_protected:Nn \dbshow_new_database_style:nn {
+ \dbshow_check_database:n { #2 }
+ \keys_define:nn { dbshow/style/#1 } {
+ filter .tl_gset:c = { g__dbshow_filter_#1_#2 },
+ filter .initial:n = -none-,
+ sort .clist_gset:c = { g__dbshow_sort_#1_#2 },
+ before-code .tl_gset:c = { g__dbshow_style_before_#1_#2 },
+ before-code .initial:n = ,
+ item-code .tl_gset:c = { g__dbshow_style_database_item_#1_#2 },
+ item-code .initial:n = ,
+ after-code .tl_gset:c = { g__dbshow_style_after_#1_#2 },
+ after-code .initial:n = ,
+ }
+ \prop_map_inline:cn { g__dbshow_type_map_#2 } {
+ \dbshow_new_attr_style:nnn { #1 } { #2 } { ##1 }
+ }
+}
+
+% #1 base style #2 style #3 database #4 opt
+\NewDocumentCommand { \dbNewStyle } { o m m +m } {
+ \tl_gset:cn { g__dbshow_style_opts_#2_#3 } { #4, }
+ \IfValueT { #1 } {
+ \tl_gclear:N \g_tmpa_tl
+ \clist_map_inline:nn { #1 } {
+ \dbshow_check_style:nn { ##1 } { #3 }
+ \tl_if_exist:cT { g__dbshow_style_opts_##1_#3 } {
+ \tl_gconcat:ccc { g_tmpa_tl }
+ { g_tmpa_tl } { g__dbshow_style_opts_##1_#3 }
+ }
+ }
+ \tl_gconcat:ccc { g__dbshow_style_opts_#2_#3 }
+ { g_tmpa_tl } { g__dbshow_style_opts_#2_#3 }
+ }
+ \dbshow_new_database_style:nn { #2 } { #3 }
+ \exp_args:Nnv
+ \keys_set:nn { dbshow/style/#2 } { g__dbshow_style_opts_#2_#3 }
+}
+
+\cs_new:Npn \dbshow_sort_parse_star:w #1* {
+ \tl_set:Nx \l_op_same { > }
+ \tl_set:Nx \l_op_swap { < }
+ \str_set:Nn \l_tmpa_str { #1 }
+}
+
+% #1 database #2 index #3 style
+\cs_new:Nn \dbshow_sort:nNn {
+ \int_set:Nn \l_tmpb_int { \clist_count:c { g__dbshow_sort_#3_#1 } }
+ \clist_sort:Nn #2 {
+ \int_zero:N \l_tmpa_int
+ \cs_set:Nn \dbshow_sort_single: {
+ \int_incr:N \l_tmpa_int
+ \str_set:Nx \l_tmpa_str
+ { \clist_item:cn { g__dbshow_sort_#3_#1 } { \l_tmpa_int } }
+ \str_if_in:NnTF \l_tmpa_str { * } {
+ \exp_after:wN \dbshow_sort_parse_star:w \l_tmpa_str
+ }
+ {
+ \tl_set:Nx \l_op_same { < }
+ \tl_set:Nx \l_op_swap { > }
+ }
+ \exp_args:NnV \dbshow_check_attr:nn { #1 } \l_tmpa_str
+
+ \cs_set_eq:Nc \l_tmpa_tl { g__dbshow_data_#1_\l_tmpa_str _##1 }
+ \cs_set_eq:Nc \l_tmpb_tl { g__dbshow_data_#1_\l_tmpa_str _##2 }
+
+ \prop_get:cVN { g__dbshow_type_map_#1 } \l_tmpa_str \l_tmp_type
+ \clist_if_in:nVF { str, int, date, fp } \l_tmp_type {
+ \msg_error:nnx { dbshow } { unsupported-sort-type } { \l_tmp_type }
+ }
+ \str_if_eq:eeT { \l_tmp_type } { date }
+ { \str_set:Nn \l_tmp_type { str } }
+ \cs_set_eq:Nc \dbshow_compare { \l_tmp_type _compare:nNnTF }
+
+ \exp_args:NnV
+ \dbshow_compare { \l_tmpa_tl } \l_op_same { \l_tmpb_tl }
+ { \sort_return_same: }
+ {
+ \exp_args:NnV
+ \dbshow_compare { \l_tmpa_tl } \l_op_swap { \l_tmpb_tl }
+ { \sort_return_swapped: }
+ {
+ \int_compare:nTF { \l_tmpa_int = \l_tmpb_int }
+ { \sort_return_same: }
+ { \dbshow_sort_single: }
+ }
+ }
+ }
+ \dbshow_sort_single:
+ }
+}
+
+% #1 style #2 database #3 filter
+\cs_new_protected:Nn \dbshow_init_iterator:nnn {
+ \tl_set:Nn \dbDatabase { #2 }
+ \tl_set:Nx \dbFilterName { #3 }
+ \tl_set_eq:Nc \dbFilterInfo { g__dbshow_filter_info_#2_#3 }
+
+ \clist_clear_new:N \l_index
+ %% run filters
+ % ##1 index
+ \cs_set:Nn \dbshow_filter:n {
+ \seq_if_exist:cTF { g__dbshow_filter_run_seq_#2_#3 } {
+ \seq_map_inline:cn { g__dbshow_filter_run_seq_#2_#3 } {
+ \use:c { ####1 } { ##1 }
+ }
+ \exp_args:Nv
+ \bool_if:nT { g__dbshow_filter_bool_tl_#2_#3 }
+ { \clist_put_right:Nn \l_index { ##1 } }
+ } { \clist_put_right:Nn \l_index { ##1 } }
+ }
+ \int_step_function:nN { \dbshow_get_counter:n { #2 } } \dbshow_filter:n
+ \clist_if_empty:cF { g__dbshow_sort_#1_#2 }
+ { \dbshow_sort:nNn { #2 } \l_index { #1 } }
+
+ % ##1 index
+ \cs_set:Nn \dbshow_iter:n {
+ % ####1 attr
+ \cs_set:Npn \dbuse ####1 {
+ \dbshow_check_attr:nn { #2 } { ####1 }
+ \clist_set_eq:Nc \l_style_sep_clist
+ { g__dbshow_style_sep_#1_#2_####1 }
+ \tl_set_eq:Nc \l_style_item_before_code
+ { g__dbshow_style_item_before_#1_#2_####1 }
+ \tl_set_eq:Nc \l_style_item_after_code
+ { g__dbshow_style_item_after_#1_#2_####1 }
+ \tl_set:Nn \dbIndex { ##1 }
+
+ \prop_get:cnN { g__dbshow_type_map_#2 } { ####1 } \l_tmp_type
+ % \tl_show:N \l_tmp_type
+ \str_if_eq:eeT { \l_tmp_type } { date }
+ { \tl_set:Nn \l_tmp_type { str } }
+ \prg_set_conditional:Nnn \dbshow_item_if_empty: { T, F, TF } {
+ \use:c { \l_tmp_type _if_empty:cTF }
+ { g__dbshow_data_#2_####1_##1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+ \cs_set_eq:NN \dbItemIfEmptyT\dbshow_item_if_empty:T
+ \cs_set_eq:NN \dbItemIfEmptyF\dbshow_item_if_empty:F
+ \cs_set_eq:NN \dbItemIfEmptyTF\dbshow_item_if_empty:TF
+
+ \tl_use:c { g__dbshow_style_before_#1_#2_####1 }
+ \dbshow_use_data:nnn { #2 } { ####1 } { ##1 }
+ \tl_use:c { g__dbshow_style_after_#1_#2_####1 }
+ }
+ \tl_use:c { g__dbshow_style_database_item_#1_#2 }
+ }
+ \prg_set_conditional:Nnn \dbshow_if_empty: { T, F, TF } {
+ \clist_if_empty:NTF \l_index
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+ \cs_set_eq:NN \dbIfEmptyT\dbshow_if_empty:T
+ \cs_set_eq:NN \dbIfEmptyF\dbshow_if_empty:F
+ \cs_set_eq:NN \dbIfEmptyTF\dbshow_if_empty:TF
+
+ \tl_use:c { g__dbshow_style_before_#1_#2 }
+ \clist_map_function:NN \l_index \dbshow_iter:n
+ \tl_use:c { g__dbshow_style_after_#1_#2 }
+}
+
+% #1 style #2 database
+\NewDocumentCommand { \dbshow } { m m } {
+ \dbshow_check_database:n { #2 }
+ \tl_set_eq:Nc \l_dbshow_filter { g__dbshow_filter_#1_#2 }
+ \dbshow_check_filter:nn { #2 } { \l_dbshow_filter }
+ \dbshow_init_iterator:nnn { #1 } { #2 } { \l_dbshow_filter }
+}
+
+\endinput
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index a693e89ccb..4336d8da06 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/01/02}{1.42I}
+\ProvidesExplClass{easybook}{2022/01/04}{1.42L}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -307,7 +307,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/01/02}{1.42I}
+\ProvidesExplPackage{easybase}{2022/01/04}{1.42L}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -678,7 +678,7 @@
footrule .tl_gset:N = \footrule,
footrule .initial:n = { },
footnoterule .tl_gset:N = \footnoterule,
- footnoterule .initial:n = \markrule[0.35\textwidth]{\eb@footnote@rule@wd}[|2.6pt]
+ footnoterule .initial:n = \markrule[0.35\textwidth]{\eb@footnote@rule@wd}[|3pt]
}
\cs_set_eq:NN \eb_mark_uppercase:n \text_uppercase:n
@@ -2423,7 +2423,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/01/02}{1.42I}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/01/04}{1.42L}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \setexercise #1
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index d2647b1e4d..6fed303430 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index fe51a1ee27..5a55539db4 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -20,8 +20,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK 使用手册,
- version = v1.42I,
- date = 2022/01/02,
+ version = v1.42L,
+ date = 2022/01/04,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
diff --git a/macros/latex/contrib/enotez/README b/macros/latex/contrib/enotez/README
index f74ab1da5d..7709ec797d 100644
--- a/macros/latex/contrib/enotez/README
+++ b/macros/latex/contrib/enotez/README
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-the ENOTEZ package v0.10c 2020/12/13
+the ENOTEZ package v0.10d 2022/01/04
Endnotes for LaTeX2e
@@ -8,7 +8,7 @@ Clemens Niederberger
Web: https://github.com/cgnieder/enotez/
E-Mail: contact@mychemistry.eu
--------------------------------------------------------------------------
-Copyright 2012--2020 Clemens Niederberger
+Copyright 2012--2022 Clemens Niederberger
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/enotez/enotez.sty b/macros/latex/contrib/enotez/enotez.sty
index a5d7c94e47..3f53e7be82 100644
--- a/macros/latex/contrib/enotez/enotez.sty
+++ b/macros/latex/contrib/enotez/enotez.sty
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/enotez/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2020 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -31,8 +31,8 @@
\RequirePackage {expl3,xparse,l3keys2e,xtemplate}
\ProvidesExplPackage
{enotez}
- {2020/12/13}
- {0.10c}
+ {2022/01/04}
+ {0.10d}
{Endnotes for LaTeX2e}
% --------------------------------------------------------------------------
@@ -202,8 +202,10 @@
\enotezwritemark { \hyperlink {enz.#1} { \enmarkstyle #2 } }
\bool_if:NT \l__enotez_hyperbackref_bool
{
- \box_move_up:nn {1em}
- { \hbox:n { \hypertarget {enz.#1.backref} { } } }
+ \smash{
+ \box_move_up:nn {1em}
+ { \hbox:n { \hypertarget {enz.#1.backref} { } } }
+ }
}
}
{ \enotezwritemark { \enmarkstyle #2 } }
@@ -488,6 +490,7 @@
notes-sep = \l__enotez_list_notes_sep_dim
}
{
+ \group_begin:
\AssignTemplateKeys
\enotez_set_totoc:
\enotez_list_heading:n { \l__enotez_list_name_tl }
@@ -514,6 +517,7 @@
}
{}
\enotez_list_postamble:
+ \group_end:
}
\DeclareTemplateInterface {enotez-list} {list} {1}
diff --git a/macros/latex/contrib/enotez/enotez_en.pdf b/macros/latex/contrib/enotez/enotez_en.pdf
index 987c7545bd..b2486ece62 100644
--- a/macros/latex/contrib/enotez/enotez_en.pdf
+++ b/macros/latex/contrib/enotez/enotez_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/enotez/enotez_en.tex b/macros/latex/contrib/enotez/enotez_en.tex
index 8fb1dcee81..35f001d9c5 100644
--- a/macros/latex/contrib/enotez/enotez_en.tex
+++ b/macros/latex/contrib/enotez/enotez_en.tex
@@ -12,7 +12,7 @@
% Web: http://www.mychemistry.eu/forums/forum/enotez/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2020 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/fnpct/README b/macros/latex/contrib/fnpct/README
index c9c58a4381..61706ffbec 100644
--- a/macros/latex/contrib/fnpct/README
+++ b/macros/latex/contrib/fnpct/README
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-the FNPCT package v1.0 2021/01/21
+the FNPCT package v1.0a 2022/01/04
footnote kerning
@@ -8,7 +8,7 @@ Clemens Niederberger
Web: https://github.com/cgnieder/fnpct/
E-Mail: contact@mychemistry.eu
--------------------------------------------------------------------------
-Copyright 2012--2021 Clemens Niederberger
+Copyright 2012--2022 Clemens Niederberger
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/fnpct/fnpct-manual.cls b/macros/latex/contrib/fnpct/fnpct-manual.cls
index 0abdf7e405..66c97d8cdb 100644
--- a/macros/latex/contrib/fnpct/fnpct-manual.cls
+++ b/macros/latex/contrib/fnpct/fnpct-manual.cls
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/fnpct/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/fnpct/fnpct-manual.pdf b/macros/latex/contrib/fnpct/fnpct-manual.pdf
index dc85988bb4..9648cd87ec 100644
--- a/macros/latex/contrib/fnpct/fnpct-manual.pdf
+++ b/macros/latex/contrib/fnpct/fnpct-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/fnpct/fnpct-manual.tex b/macros/latex/contrib/fnpct/fnpct-manual.tex
index 2dbc17dcdb..c72a9a779c 100644
--- a/macros/latex/contrib/fnpct/fnpct-manual.tex
+++ b/macros/latex/contrib/fnpct/fnpct-manual.tex
@@ -1,7 +1,7 @@
% arara: pdflatex: { shell: on , interaction: nonstopmode }
-% !arara: biber
-% !arara: pdflatex
-% !arara: pdflatex
+% arara: biber
+% arara: pdflatex
+% arara: pdflatex
% --------------------------------------------------------------------------
% the FNPCT package
%
@@ -12,7 +12,7 @@
% Web: https://github.com/cgnieder/fnpct/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/fnpct/fnpct.sty b/macros/latex/contrib/fnpct/fnpct.sty
index 4485a3bada..16a81850ba 100644
--- a/macros/latex/contrib/fnpct/fnpct.sty
+++ b/macros/latex/contrib/fnpct/fnpct.sty
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/fnpct/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -27,10 +27,10 @@
\DeclareHookRule {begindocument} {fnpct} {after} {hyperref}
-\tl_const:Nn \c_fnpct_date_tl {2021/01/21}
+\tl_const:Nn \c_fnpct_date_tl {2022/01/04}
\tl_const:Nn \c_fnpct_version_major_number_tl {1}
\tl_const:Nn \c_fnpct_version_minor_number_tl {0}
-\tl_const:Nn \c_fnpct_version_subrelease_tl {}
+\tl_const:Nn \c_fnpct_version_subrelease_tl {a}
\tl_const:Nx \c_fnpct_version_number_tl
{
\c_fnpct_version_major_number_tl .
@@ -986,8 +986,11 @@
{
\ifcurrentbaselanguage {French}
{
- \cs_set_eq:NN \@footnotemark \@footnotemarkORI
- \StandardFootnotes
+ \cs_if_exist:NT \StandardFootnotes
+ {
+ \cs_set_eq:NN \@footnotemark \@footnotemarkORI
+ \StandardFootnotes
+ }
\keys_set:nn {fnpct} { before-footnote-space = .16667em }
}
{}
@@ -1015,7 +1018,7 @@
\cs_new_protected:Npn \fnpct_special_treatment:nn #1#2
{
\fnpct_if_package_loaded:nTF {#1} {#2}
- { \hook_gput_code:nnn {package/after/#1} {fnpct} {#2} }
+ { \hook_gput_code:nnn {package/#1/after} {fnpct} {#2} }
}
% `manyfoot' (loaded by `bigfoot') saves its footnote classes in a 2e list:
@@ -1401,3 +1404,4 @@ tablefootnote
with less commands
* drop support of \innernote (maybe re-implement it in
future versions, depending on user feedback)
+2022/01/04 v1.0a - correct file hooks
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 88a402317a..48348bc593 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,12 +7,18 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
-## [v3.0.37]
+## [v3.0.38]: 2022-01-04
+
+### Changed
+- Allow for empty values in lists and ranges (see issue
+ [#566](https://github.com/josephwright/siunitx/issues/566))
+
+## [v3.0.37]: 2021-12-04
### Changed
- Documentation and warning improvements for "drop-exponent" option
-## [v3.0.36]
+## [v3.0.36]: 2021-11-18
### Changed
- Internal changes to tabular code to improve visual output when integer part
@@ -22,7 +28,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Printing fractional units using `\sfrac` (see issue
[#558](https://github.com/josephwright/siunitx/issues/558))
-## [v3.0.35]
+## [v3.0.35]: 2021-11-03
### Changed
- Delay loading of `color` package to `begindocument` hook
@@ -31,13 +37,13 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Text mode replacement of `\mathrm` in super/subscripts (see issue
[#556](https://github.com/josephwright/siunitx/issues/556))
-## [v3.0.34]
+## [v3.0.34]: 2021-10-26
### Fixed
- Printing of exponent for complex values when converting to a prefix (see
issue [#555](https://github.com/josephwright/siunitx/issues/555))
-## [v3.0.33]
+## [v3.0.33]: 2021-10-15
### Changed
- Further improvements to degree symbol in math mode
@@ -48,7 +54,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Handling of combination of `mode = text` with `tight-spacing` (see issue
[#553](https://github.com/josephwright/siunitx/issues/553)
-## [v3.0.32]
+## [v3.0.32]: 2021-09-29
### Added
- Hint concerning non-standard font encodings (see issues
@@ -59,13 +65,13 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Use math mode symbol for degree where possible (see issue
[#550](https://github.com/josephwright/siunitx/issues/550))
-## [v3.0.31]
+## [v3.0.31]: 2021-09-22
### Fixed
- Avoid infinite loop with `tex4ht` (issue
[#549](https://github.com/josephwright/siunitx/issues/549))
-## [v3.0.30]
+## [v3.0.30]: 2021-09-14
### Changed
- Delay selection of math mode to better support `tex4ht` (issue
@@ -80,32 +86,32 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Apply number processing options to angles (issue
[#546](https://github.com/josephwright/siunitx/issues/546))
-## [v3.0.29]
+## [v3.0.29]: 2021-09-06
### Fixed
- Only apply `text-series-to-math` when the math version is
`normal` (issue
[#541](https://github.com/josephwright/siunitx/issues/541))
-## [v3.0.28]
+## [v3.0.28]: 2021-08-27
### Fixed
- Pre-spacing for free-standing units (issue
[#538](https://github.com/josephwright/siunitx/issues/538))
-## [v3.0.27]
+## [v3.0.27]: 2021-08-22
### Fixed
- Detection of unchanged symbols when font is sanserif (issue
[#535](https://github.com/josephwright/siunitx/issues/535))
-## [v3.0.26]
+## [v3.0.26]: 2021-08-21
### Fixed
- Accidental printing of `T@TS1` with `beamer` (issue
[#534](https://github.com/josephwright/siunitx/issues/534))
-## [v3.0.25]
+## [v3.0.25]: 2021-08-16
### Changed
- Default to sanserif units if `\familydefault` is `\sfdefault`
@@ -123,7 +129,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Treatment of multiple tokens for `input-ignore` (issue
[#531](https://github.com/josephwright/siunitx/issues/531))
-## [v3.0.24]
+## [v3.0.24]: 2021-08-04
### Fixed
- Option setting `round-half = even` (issue
@@ -133,13 +139,13 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Rounding to uncertainty in the integer part (issue
[#523](https://github.com/josephwright/siunitx/issues/523))
-## [v3.0.23]
+## [v3.0.23]: 2021-07-26
### Fixed
- Load order of `xparse` (issue
[#518](https://github.com/josephwright/siunitx/issues/518))
-## [v3.0.22]
+## [v3.0.22]: 2021-07-22
### Changed
- Support `table-text-alignment = none` for interoperation with
@@ -152,7 +158,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Interaction with `cellspace` package (issue
[#512](https://github.com/josephwright/siunitx/issues/512))
-## [v3.0.21]
+## [v3.0.21]: 2021-07-20
### Fixed
- Print degree symbol if `fontspec` package is loaded with
@@ -163,7 +169,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Symbol for arcs in text mode (issue
[#507](https://github.com/josephwright/siunitx/issues/507))
-## [v3.0.20]
+## [v3.0.20]: 2021-07-14
### Fixed
- Interaction with `kotex` (issue
@@ -171,25 +177,25 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Handling of groups in literal units (issue
[#503](https://github.com/josephwright/siunitx/issues/503))
-## [v3.0.19]
+## [v3.0.19]: 2021-07-06
### Fixed
- Emulation for `\SendSettingsToPgf` (issue
[#501](https://github.com/josephwright/siunitx/issues/501))
-## [v3.0.18]
+## [v3.0.18]: 2021-07-04
### Fixed
- Printing of reciprocal units when `per-mode = symbol` is active
(issue [#500](https://github.com/josephwright/siunitx/issues/500))
-## [v3.0.17]
+## [v3.0.17]: 2021-06-29
### Fixed
- Load order issue with `soulpos` (issue
[#498](https://github.com/josephwright/siunitx/issues/498))
-## [v3.0.16]
+## [v3.0.16]: 2021-06-24
### Fixed
- Treatment of spaces before `/` in literal units (issue
@@ -197,7 +203,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Printing of `\mathchoice` entries in text mode (issue
[#497](https://github.com/josephwright/siunitx/issues/497))
-## [v3.0.15]
+## [v3.0.15]: 2021-06-22
### Fixed
- Bracketing of complex quantities (issue
@@ -209,7 +215,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Engineering exponents with some exponent values (issue
[#494](https://github.com/josephwright/siunitx/issues/494))
-## [v3.0.14]
+## [v3.0.14]: 2021-06-17
### Changed
- Auto-enable `table-fixed-width` when setting `table-column-width`
@@ -225,7 +231,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
`separate` and an exponent is present (issue
[#490](https://github.com/josephwright/siunitx/issues/490))
-## [v3.0.13]
+## [v3.0.13]: 2021-06-14
### Added
- Catalan translations for lists and ranges
@@ -243,7 +249,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Printing of ohm symbol in text mode with `fourier` package (issue
[#486](https://github.com/josephwright/siunitx/issues/486))
-## [v3.0.12]
+## [v3.0.12]: 2021-06-09
### Fixed
- Modify warning message (fixes
@@ -253,7 +259,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Remove stray debug code in symbol allocation (issue
[#478](https://github.com/josephwright/siunitx/issues/478))
-## [v3.0.11]
+## [v3.0.11]: 2021-06-07
### Changed
- Improve some fallback unit definitions
@@ -266,7 +272,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Emulation of `number-unit-separator` (issue
[#473](https://github.com/josephwright/siunitx/issues/473))
-## [v3.0.10]
+## [v3.0.10]: 2021-06-04
### Changed
- Documentation improvements
@@ -275,7 +281,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Incompatibility with REVTeX (issue
[#469](https://github.com/josephwright/siunitx/issues/469))
-## [v3.0.9]
+## [v3.0.9]: 2021-06-01
### Changed
- Documentation improvements
@@ -293,7 +299,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Interpretation of uncertainties in integers (issue
[#465](https://github.com/josephwright/siunitx/issues/465))
-## [v3.0.8]
+## [v3.0.8]: 2021-05-31
### Changed
- Documentation improvements
@@ -306,7 +312,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Emulation of `group-four-digits` (issue
[#461](https://github.com/josephwright/siunitx/issues/461))
-## [v3.0.7]
+## [v3.0.7]: 2021-05-28
### Fixed
- Formatting of some literal units (issue
@@ -318,7 +324,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Implement missing `output-exponent-marker` (issue
[#458](https://github.com/josephwright/siunitx/issues/458))
-## [v3.0.6]
+## [v3.0.6]: 2021-05-25
### Changed
- Documentation improvements
@@ -329,7 +335,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Format separate uncertainty correctly where it falls purely in the integer
part (issue [#454](https://github.com/josephwright/siunitx/issues/454))
-## [v3.0.5]
+## [v3.0.5]: 2021-05-24
### Changed
- Documentation improvements
@@ -344,7 +350,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Mark `\bar` as removed (issue
[#448](https://github.com/josephwright/siunitx/issues/448))
-## [v3.0.4]
+## [v3.0.4]: 2021-05-21
### Changed
- Standardise and document the position of `\color` in negative values
@@ -354,7 +360,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Alignment of integers in tables when `parse-numbers = tables` (issue
[#442](https://github.com/josephwright/siunitx/issues/442))
-## [v3.0.3]
+## [v3.0.3]: 2021-05-20
### Changed
- Documentation improvements
@@ -366,7 +372,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Application of negative color in table cells (issue
[#439](https://github.com/josephwright/siunitx/issues/439))
-## [v3.0.2]
+## [v3.0.2]: 2021-05-19
### Changed
- Documentation improvements
@@ -389,7 +395,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Deprecated
- Unit macro `\celsius`
-## [v3.0.1]
+## [v3.0.1]: 2021-05-18
### Added
- Public `\l_siunitx_unit_fraction_tl` variable
@@ -405,7 +411,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- French translation of 'to' for ranges (issue
[#421](https://github.com/josephwright/siunitx/issues/421))
-## [v3.0.0]
+## [v3.0.0]: 2021-05-17
### Added
- `\complexnum`
@@ -588,59 +594,59 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Option `unit-text-tt`
- Option `version-1-compatibility`
-## [v2.8e] - 2021-04-17
+## [v2.8e]: 2021-04-17
### Fixed
- Missing setting in emulation of v1 option `repeatunits`
-## [v2.8d] - 2021-04-09
+## [v2.8d]: 2021-04-09
### Changed
- Correct file dates for configuration files
-## [v2.8c] - 2021-03-27
+## [v2.8c]: 2021-03-27
### Changed
- Updates to follow LaTeX2e kernel revisions
- No longer apply `\addtocontents` patch
-## [v2.8b] - 2020-02-25
+## [v2.8b]: 2020-02-25
### Fixed
- Correct `\ohm` when `newtxmath` is loaded
-## [v2.8a] - 2020-02-23
+## [v2.8a]: 2020-02-23
### Fixed
- Correct `\ohm` when `unicode-math` is loaded (issue [#377](https://github.com/josephwright/siunitx/issues/377))
-## [v2.8] - 2020-02-20
+## [v2.8]: 2020-02-20
### Changed
- Use companion font symbols/force `textcomp` loading
-## [v2.7v] - 2020-02-19 [UNUSED]
+## [v2.7v]: 2020-02-19 [UNUSED]
### Fixed
- Appearance of superscript decimals with comma decimal marker
-## [v2.7u] - 2020-01-15
+## [v2.7u]: 2020-01-15
### Changed
- Modified internals to track `expl3` changes
-## [v2.7t] - 2019-10-10
+## [v2.7t]: 2019-10-10
### Fixed
- Combination of `round-half = even` with `round-precision = 0`
- Include sign in astronomy-style angles
-## [v2.7s] - 2018-05-17
+## [v2.7s]: 2018-05-17
### Changed
- Revert package date format change in v2.7l
-## [v2.7r] - 2018-05-16
+## [v2.7r]: 2018-05-16
### Changed
- Modified internals to track `expl3` changes
@@ -649,30 +655,30 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Collect tokens before `\ignorespaces` in tabulars (esp. with
REVTeX) (issue [#337](https://github.com/josephwright/siunitx/issues/337))
-## [v2.7q] - 2018-05-11
+## [v2.7q]: 2018-05-11
### Fixed
- Allow for `cellspace` "column" option (issue [#315](https://github.com/josephwright/siunitx/issues/315))
-## [v2.7p] - 2018-05-10
+## [v2.7p]: 2018-05-10
### Changed
- Avoid an `expl3` internal function
- Better approach to removing `\ignorespaces`
-## [v2.7o] - 2018-05-02 [UNUSED]
+## [v2.7o]: 2018-05-02 [UNUSED]
-## [v2.7n] - 2018-04-27
+## [v2.7n]: 2018-04-27
### Fixed
- Issue with symbolic input and digit grouping
-## [v2.7m] - 2018-03-20
+## [v2.7m]: 2018-03-20
### Changed
- Update `\astronomicalunit` symbol (issue [#332](https://github.com/josephwright/siunitx/issues/332))
-## [v2.7l] - 2018-03-11
+## [v2.7l]: 2018-03-11
### Added
- Abbreviations for milli/microjoule
@@ -684,29 +690,29 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Scope of some internal variable corrected (issue [#327](https://github.com/josephwright/siunitx/issues/327))
- Track `unicode-math` changes (issue [#331](https://github.com/josephwright/siunitx/issues/331))
-## [v2.7k] - 2017-11-26
+## [v2.7k]: 2017-11-26
### Fixed
- Incorrect internal variable renamed (issue [#320](https://github.com/josephwright/siunitx/issues/320))
- Suppress leading "1" when units are not parsed (issue [#318](https://github.com/josephwright/siunitx/issues/318))
- Correct default value for `arc-separator` (issue [#319](https://github.com/josephwright/siunitx/issues/319))
-## [v2.7j] - 2017-08-02
+## [v2.7j]: 2017-08-02
### Fixed
- Use correct name for internal boolean
-## [v2.7i] - 2017-07-23
+## [v2.7i]: 2017-07-23
### Fixed
- Incorrect internal variable renamed (issue [#311](https://github.com/josephwright/siunitx/issues/311))
-## [v2.7h] - 2017-06-13
+## [v2.7h]: 2017-06-13
### Changed
- Some abuses of `expl3` box functions removed (issue [#309](https://github.com/josephwright/siunitx/issues/309))
-## [v2.7g] - 2017-05-19
+## [v2.7g]: 2017-05-19
### Changed
- Use new `expl3` functions for some internal tests
@@ -715,7 +721,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Change box collection following `expl3` update
- Links to BIPM website
-## [v2.7f] - 2017-03-23
+## [v2.7f]: 2017-03-23
### Changed
- Name of 'hidden' function used by for bookmark generation
@@ -723,32 +729,32 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Spacing when option `per-mode = reciprocal-positive-first` is active
-## [v2.7e] - 2017-03-06
+## [v2.7e]: 2017-03-06
### Fixed
- Properly handle signs in `table-format` key (issue [#303](https://github.com/josephwright/siunitx/issues/303))
-## [v2.7d] - 2017-02-19
+## [v2.7d]: 2017-02-19
### Fixed
- Avoid doubled tokens in pre-number part of tables
-## [v2.7c] - 2017-02-01
+## [v2.7c]: 2017-02-01
### Fixed
- Correct integer alignment in tables (issue [#302](https://github.com/josephwright/siunitx/issues/302))
-## [v2.7b] - 2017-01-28
+## [v2.7b]: 2017-01-28
### Fixed
- Fix an issue with large numbers in scientific mode (issue [#301](https://github.com/josephwright/siunitx/issues/301))
-## [v2.7a] - 2017-01-01
+## [v2.7a]: 2017-01-01
### Changed
- Track `expl3` changes regarding key-value management
-## [v2.7] - 2017-01-01
+## [v2.7]: 2017-01-01
### Added
- Code-level API variable `\l_siunitx_unit_symbolic_seq`
@@ -756,13 +762,13 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Allow for `cellspace` package in math mode
-## [v2.6s] - 2016-09-02
+## [v2.6s]: 2016-09-02
### Changed
- Improved a warning concerning `color` package
-## [v2.6r] - 2016-08-22
+## [v2.6r]: 2016-08-22
### Changed
- Warn if `color` is not loaded (issue [#289](https://github.com/josephwright/siunitx/issues/289))
@@ -773,7 +779,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Handling of `e0` input (issue [#292](https://github.com/josephwright/siunitx/issues/292))
- Added some missing internal variable declarations
-## [v2.6q] - 2016-03-01
+## [v2.6q]: 2016-03-01
### Fixed
- Correct detection of font inside cells
@@ -781,18 +787,18 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Changed
- Index formatting
-## [v2.6p] - 2016-01-19
+## [v2.6p]: 2016-01-19
### Fixed
- Formatting of `\degreeCelsius` (issue [#285](https://github.com/josephwright/siunitx/issues/285))
- Allow input unit with prefix and `\per` in `exponent-to-prefix` (issue 283)
-## [v2.6o] - 2016-01-05
+## [v2.6o]: 2016-01-05
### Fixed
- Allow for unit powers when converting exponents to prefixes
-## [v2.6n] - 2015-12-31
+## [v2.6n]: 2015-12-31
### Changed
- Formatting of `\degreeCelsius` (issue [#282](https://github.com/josephwright/siunitx/issues/282))
@@ -800,28 +806,28 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Appearance of ångström with LuaTeX (issue [#280](https://github.com/josephwright/siunitx/issues/280))
-## [v2.6m] - 2015-10-15
+## [v2.6m]: 2015-10-15
### Fixed
- Interaction with `mwtab` in some table cells
-## [v2.6l] - 2015-09-14
+## [v2.6l]: 2015-09-14
### Fixed
- An internal error in literal unit formatting
-## [v2.6k] - 2015-09-12
+## [v2.6k]: 2015-09-12
### Changed
- Track/exploit `expl3` updates
-## [v2.6j] - 2015-09-01
+## [v2.6j]: 2015-09-01
### Fixed
- Treatment of `\pm` when `exponent-to-prefix` is true
- Print all units when `exponent-to-prefix` is true
-## [v2.6i] - 2015-08-18
+## [v2.6i]: 2015-08-18
### Changed
- Performance improvements
@@ -831,17 +837,17 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Use of `\cancel` in math mode (issue [#264](https://github.com/josephwright/siunitx/issues/264))
- Cope better with large numbers when rounding (issue [#198](https://github.com/josephwright/siunitx/issues/198))
-## [v2.6h] - 2015-07-17
+## [v2.6h]: 2015-07-17
### Changed
- Track `expl3` changes
-## [v2.6g] - 2015-06-25
+## [v2.6g]: 2015-06-25
### Fixed
- Handling of empty table cells (issue [#271](https://github.com/josephwright/siunitx/issues/271))
-## [v2.6f] - 2015-06-16
+## [v2.6f]: 2015-06-16
### Added
- Spanish coverage for translations
@@ -854,22 +860,22 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Behaviour of `table-sign-exponent` and `table-sign-mantissa` when set
false
-## [v2.6e] - 2015-01-21
+## [v2.6e]: 2015-01-21
### Changed
- Auto-detect `mathspec`/`eulervm`
-## [v2.6d] - 2014-10-28
+## [v2.6d]: 2014-10-28
### Fixed
- Fix conversation of uncertainty part with integer mantissas
-## [v2.6c] - 2014-10-01
+## [v2.6c]: 2014-10-01
### Fixed
- `\micro` when `fontspec` is loaded
-## [v2.6b] - 2014-09-27
+## [v2.6b]: 2014-09-27
### Changed
- Method for font shape detection to allow for, _e.g._ `\scshape`
@@ -877,12 +883,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Typo in standard `input-protect-tokens` options
-## [v2.6a] - 2014-09-15
+## [v2.6a]: 2014-09-15
### Changed
- Improved Unicode math symbol coverage
-## [v2.6] - 2014-09-05
+## [v2.6]: 2014-09-05
### Changes
- Switch to math mode by default for all printing
@@ -907,17 +913,17 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Ignore hard spaces in `\num` (issue [#256](https://github.com/josephwright/siunitx/issues/256))
- Use `\mathord` for tight spacing on 'in line' exponent (issue [#257](https://github.com/josephwright/siunitx/issues/257))
-## [v2.5s] - 2013-07-31
+## [v2.5s]: 2013-07-31
### Fixed
- Internal issue with one key
-## [v2.5r] - 2013-07-11
+## [v2.5r]: 2013-07-11
## Fixed
- Update internals to remove deprecated key support
-## [v2.5q] - 2013-03-11
+## [v2.5q]: 2013-03-11
### Changed
- Issue warning if `cellspace` column letter is moved
@@ -926,22 +932,22 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Reorder creation of unit wrappers and option setting (issue [#218](https://github.com/josephwright/siunitx/issues/218))
- Replace active hyphen with 'other' one (issue [#222](https://github.com/josephwright/siunitx/issues/222))
-## [v2.5p] - 2013-02-01
+## [v2.5p]: 2013-02-01
### Fixed
- Search/replace `\pm` and `\mp` in text mode printing
-## [v2.5o] - 2013-01-09
+## [v2.5o]: 2013-01-09
### Changed
- Track `expl3` changes
-## [v2.5n] - 2012-12-29
+## [v2.5n]: 2012-12-29
### Fixed
- Correctly calculate grouping data to send to `pgf` (issue [#211](https://github.com/josephwright/siunitx/issues/211))
-## [v2.5m] - 2012-11-27
+## [v2.5m]: 2012-11-27
### Fixed
- Allow for `bidi`/RTL when applying `\text`
@@ -949,12 +955,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Load binary-units only when requested (issue [#201](https://github.com/josephwright/siunitx/issues/201))
- Disable `\hightlight` in bookmarks (issue [#207](https://github.com/josephwright/siunitx/issues/207))
-## [v2.5l] - 2012-11-21
+## [v2.5l]: 2012-11-21
### Changed
- Track `expl3` changes
-## [v2.5k] - 2012-11-13
+## [v2.5k]: 2012-11-13
### Changed
- Explicitly require `xparse`
@@ -964,12 +970,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Correct use of fixed dimension/skip values internally
- Store name of `\frac` function, don't `\let` it (issue [#203](https://github.com/josephwright/siunitx/issues/203))
-## [v2.5j] - 2012-09-18
+## [v2.5j]: 2012-09-18
### Fixed
- Erroneous branch in test for rounding removed (issue [#202](https://github.com/josephwright/siunitx/issues/202))
-## [v2.5i] - 2012-09-11
+## [v2.5i]: 2012-09-11
### Changed
- Internal search for first token in some strings
@@ -978,27 +984,27 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Align numbers with no uncertainties correctly when space is reserved
for uncertainty part
-## [v2.5h] - 2012-08-28
+## [v2.5h]: 2012-08-28
### Changed
- Test literal units for being 'blank' not 'empty'
-## [v2.5g] - 2012-07-22
+## [v2.5g]: 2012-07-22
### Fixed
- Function of `binary-units` option
-## [v2.5f] - 2012-07-16
+## [v2.5f]: 2012-07-16
### Changed
- Track `expl3` changes
-## [v2.5e] - 2012-06-13
+## [v2.5e]: 2012-06-13
### Fixed
- An internal error in unit expansion (introduced in v2.4f)
-## [v2.5d] - 2012-06-11
+## [v2.5d]: 2012-06-11
### Added
- Extend qualifier system to cover 'phrases'
@@ -1007,26 +1013,26 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Extend UTF-8 support (issue [#199](https://github.com/josephwright/siunitx/issues/199))
- Track `expl3` changes
-## [v2.5c] - 2012-05-03
+## [v2.5c]: 2012-05-03
### Fixed
- Detect and skip empty `s`-column cells (issue [#197](https://github.com/josephwright/siunitx/issues/197))
- Detection of zero input with fixed exponent (issue [#198](https://github.com/josephwright/siunitx/issues/198))
-## [v2.5b] - 2012-04-21
+## [v2.5b]: 2012-04-21
### Fixed
- Detect eulervm package (issue [#195](https://github.com/josephwright/siunitx/issues/195))
- Search-and-replace for category 'other' "_' and "^" in literal
units (issue [#196](https://github.com/josephwright/siunitx/issues/196))
-## [v2.5a] - 2012-04-19
+## [v2.5a]: 2012-04-19
### Fixed
- When creating free-standing unit, allow for dynamic nature of
spacing (bug introduced in v2.5)
-## [v2.5] - 2012-04-15
+## [v2.5]: 2012-04-15
### Added
- Option `zero-decimal-to-integer` (issue [#178](https://github.com/josephwright/siunitx/issues/178))
@@ -1040,39 +1046,39 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Use a standard-width comparator for tables (issue [#183](https://github.com/josephwright/siunitx/issues/183))
-## [v2.4n] - 2012-04-12
+## [v2.4n]: 2012-04-12
### Changed
- Extend scientific notation code to better handle large numbers of digits
-## [v2.4m] - 2012-04-04
+## [v2.4m]: 2012-04-04
### Fixed
- Handling of a single entry in `\SIlist`
-## [v2.4l] - 2012-03-23
+## [v2.4l]: 2012-03-23
### Fixed
- Load ordering with `soulpos`
-## [v2.4k] - 2012-03-22
+## [v2.4k]: 2012-03-22
### Fixed
- Interaction of `^` and `_` with `breqn` (issue [#191](https://github.com/josephwright/siunitx/issues/191))
- Adapted `list-pair-separator` for `translator` package (issue [#190](https://github.com/josephwright/siunitx/issues/190))
- Check for `round-minimum` with large values
-## [v2.4j] - 2012-01-26
+## [v2.4j]: 2012-01-26
### Fixed
- Ensure that typesetting is in hmode
-## [v2.4i] - 2012-01-19
+## [v2.4i]: 2012-01-19
### Fixed
- Check for zero decimal part (issue [#186](https://github.com/josephwright/siunitx/issues/186))
-## [v2.4h] - 2012-01-15
+## [v2.4h]: 2012-01-15
### Changed
- Shortened an internal code path
@@ -1080,12 +1086,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Bug in `reciprocal-positive-first` implementation
-## [v2.4g] - 2012-01-06
+## [v2.4g]: 2012-01-06
### Changed
- Internal changes due to update to `expl3` (issue [#131](https://github.com/josephwright/siunitx/issues/131))
-## [v2.4f] - 2011-12-24
+## [v2.4f]: 2011-12-24
### Changed
- Improve performance in an internal mapping
@@ -1095,12 +1101,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Force font update in table cells
- One incorrect internal variable name
-## [v2.4e] - 2011-12-11
+## [v2.4e]: 2011-12-11
### Fixed
- Replacements used with `latin1` encoding
-## [v2.4d] - 2011-12-09
+## [v2.4d]: 2011-12-09
### Changed
- Source formatting
@@ -1108,17 +1114,17 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Free-standing units using `xspace` in captions
-## [v2.4c] - 2011-12-09
+## [v2.4c]: 2011-12-09
### Fixed
- Test for text mode font
-## [v2.4b] - 2011-12-09
+## [v2.4b]: 2011-12-09
### Fixed
- Incorrect doubling of `#` tokens
-## [v2.4a] - 2011-12-04
+## [v2.4a]: 2011-12-04
### Changed
- Extend search-and-replace in units to cover UTF-8 symbols
@@ -1143,7 +1149,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Replace minus sign in text mode (issue [#161](https://github.com/josephwright/siunitx/issues/161))
-## [v2.3h] - 2011-10-14
+## [v2.3h]: 2011-10-14
### Changed
- Internal logic improved
@@ -1153,7 +1159,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Select math mode with `tex4ht` (issue [#170](https://github.com/josephwright/siunitx/issues/170))
- Print superscripts using HTML tags with `tex4ht` (issue [#171](https://github.com/josephwright/siunitx/issues/171))
-## [v2.3g] - 2011-10-06
+## [v2.3g]: 2011-10-06
### Changed
- Mark-up in documentation
@@ -1163,12 +1169,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
(issue [#168](https://github.com/josephwright/siunitx/issues/168))
- Internal issue with undeclared variable
-## [v2.3f] - 2011-09-13
+## [v2.3f]: 2011-09-13
### Fixed
- Trap erroneous numbers in tables (issue [#167](https://github.com/josephwright/siunitx/issues/167))
-## [v2.3e] - 2011-09-09
+## [v2.3e]: 2011-09-09
### Added
- Advice on local installation
@@ -1177,17 +1183,17 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Remove deprecated `expl3` functions
- Performance improvements
-## [v2.3d] - 2011-08-18
+## [v2.3d]: 2011-08-18
### Fixed
- Bad csname for superscripts in literal mode
-## [v2.3c] - 2011-08-12
+## [v2.3c]: 2011-08-12
### Fixed
- Use correct `\pm` for units in literal mode (issue [#163](https://github.com/josephwright/siunitx/issues/163))
-## [v2.3b] - 2011-08-08
+## [v2.3b]: 2011-08-08
### Added
- Additional abbreviated units (issue [#162](https://github.com/josephwright/siunitx/issues/162))
@@ -1195,7 +1201,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Definition of abbreviations using option `free-standing-units`
-## [v2.3a] - 2011-07-17
+## [v2.3a]: 2011-07-17
### Changed
- Internal `expl3` updates
@@ -1203,7 +1209,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Restore changes from v2.2l, missed in v2.3
-## [v2.3] - 2011-07-09
+## [v2.3]: 2011-07-09
### Added
- Supported for powers in literal units (issue [#152](https://github.com/josephwright/siunitx/issues/152))
@@ -1226,67 +1232,67 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Addition of explicit sign to mantissa (issue [#139](https://github.com/josephwright/siunitx/issues/139))
- Various issues with tabular alignment
-## [v2.2l] - 2011-06-30
+## [v2.2l]: 2011-06-30
### Fixed
- Group pre-unit parsing (issue [#158](https://github.com/josephwright/siunitx/issues/158))
-## [v2.2k] - 2011-06-27
+## [v2.2k]: 2011-06-27
### Fixed
- Avoid `\peek_...` inside the print routine (issue [#157](https://github.com/josephwright/siunitx/issues/157))
-## [v2.2j] - 2011-06-26
+## [v2.2j]: 2011-06-26
### Fixed
- Avoid box for range phrase (issue [#156](https://github.com/josephwright/siunitx/issues/156))
-## [v2.2i] - 2011-06-15
+## [v2.2i]: 2011-06-15
### Fixed
- Detect font in table cells before boxing up (issue [#153](https://github.com/josephwright/siunitx/issues/153))
-## [v2.2h] - 2011-06-03
+## [v2.2h]: 2011-06-03
### Fixed
- Deal correctly with 'roll-over' in rounding integer part (issue [#150](https://github.com/josephwright/siunitx/issues/150))
-## [v2.2g] - 2011-06-02
+## [v2.2g]: 2011-06-02
### Fixed
- Set per-unit options for list/range units when a single unit is used
(issue [#149](https://github.com/josephwright/siunitx/issues/149))
- Add test for `parse-numbers = false` to `\tablenum` code
-## [v2.2f] - 2011-05-25
+## [v2.2f]: 2011-05-25
### Fixed
- `table-column-width = 0pt` (issue [#146](https://github.com/josephwright/siunitx/issues/146))
-## [v2.2e] - 2011-05-23
+## [v2.2e]: 2011-05-23
### Fixed
- Remove 'mantissa' marker for numbers with no real part (issue [#145](https://github.com/josephwright/siunitx/issues/145))
-## [v2.2d] - 2011-04-28
+## [v2.2d]: 2011-04-28
### Fixed
- The `strict` option (issue [#143](https://github.com/josephwright/siunitx/issues/143))
- Add `\dots` to protected symbols (issue [#131](https://github.com/josephwright/siunitx/issues/131))
-## [v2.2c] - 2011-04-20
+## [v2.2c]: 2011-04-20
### Fixed
- Bad expansion of toks (issue [#141](https://github.com/josephwright/siunitx/issues/141))
-## [v2.2b] - 2011-04-19
+## [v2.2b]: 2011-04-19
### Fixed
- Bad formatting of negative exponents when using 'E' output
- Internally one argument if `color` is not loaded (issue [#138](https://github.com/josephwright/siunitx/issues/138))
- Make `\of` expandable in literal contexts (issue [#137](https://github.com/josephwright/siunitx/issues/137))
-## [v2.2a] - 2011-04-16
+## [v2.2a]: 2011-04-16
### Changed
- Make full text for tables, etc., hyperlinks in docs
@@ -1302,7 +1308,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Ensure that `*` in tabular preamble works correctly with `S`/`s` columns
(issue [#128](https://github.com/josephwright/siunitx/issues/128))
-## [v2.2] - 2011-04-13
+## [v2.2]: 2011-04-13
### Added
- `\tablenum` command (issue ##117)
@@ -1328,24 +1334,24 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Print leading `1` when units start `\per` and `per-mode = symbol`
(issue [#125](https://github.com/josephwright/siunitx/issues/125))
-## [v2.1p] - 2011-04-04
+## [v2.1p]: 2011-04-04
### Fixed
- Two bugs in comparator code
-## [v2.1o] - 2011-04-03
+## [v2.1o]: 2011-04-03
### Fixed
- Detect arev package (issue [#122](https://github.com/josephwright/siunitx/issues/122))
- Allow for negative fixed exponents (issue [#123](https://github.com/josephwright/siunitx/issues/123))
-## [v2.1n] - 2011-03-31
+## [v2.1n]: 2011-03-31
### Fixed
- Rounding to zero significant figures should always give a 0 (issue [#119](https://github.com/josephwright/siunitx/issues/119))
- `round-integer-to-decimal` when `round-precision = 0`
-## [v2.1m] - 2011-03-20
+## [v2.1m]: 2011-03-20
### Added
- `\J` as an abbreviation for `\joule`
@@ -1358,12 +1364,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Ensure that some output occurs in when `round-precision = 0` and
`round-mode = places` (issue [#111](https://github.com/josephwright/siunitx/issues/111))
-## [v2.1l] - 2011-02-10
+## [v2.1l]: 2011-02-10
### Fixed
- A couple of errant 'weight' => 'family' changes
-## [v2.1k] - 2011-02-09
+## [v2.1k]: 2011-02-09
### Added
- Option `detect-inine-family`
@@ -1371,13 +1377,13 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Changed
- Use an internal integer for text minus
-## [v2.1j] - 2011-02-01
+## [v2.1j]: 2011-02-01
### Fixed
- Check for `\inputencodingname` macro rather than `inputenc` package
(issue [#107](https://github.com/josephwright/siunitx/issues/107))
-## [v2.1i] - 2011-01-27
+## [v2.1i]: 2011-01-27
### Changed
- New approach for `detect-display-math`
@@ -1385,34 +1391,34 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- New approach to `symbol-or-fraction` (issue [#104](https://github.com/josephwright/siunitx/issues/104))
-## [v2.1h] - 2011-01-18
+## [v2.1h]: 2011-01-18
### Changed
- Detect AMS display-like environments
-## [v2.1g] - 2010-12-21
+## [v2.1g]: 2010-12-21
### Changed
- Update test for `expl3` and `xparse`
-## [v2.1f] - 2010-11-24
+## [v2.1f]: 2010-11-24
### Fixed
- One-letter typo (issue [#101](https://github.com/josephwright/siunitx/issues/101))
-## [v2.1e] - 2010-11-22
+## [v2.1e]: 2010-11-22
### Fixed
- Issue with free-standing unit options (issue [#99](https://github.com/josephwright/siunitx/issues/99))
- Text mode symbols with `fontspec` (issue [#98](https://github.com/josephwright/siunitx/issues/98))
-## [v2.1d] - 2010-11-14
+## [v2.1d]: 2010-11-14
### Fixed
- Apply options for units when in free-standing mode (issue [#97](https://github.com/josephwright/siunitx/issues/97))
- Typo in v1 configuration file
-## [v2.1c] - 2010-11-14
+## [v2.1c]: 2010-11-14
### Added
- Choice `text` for `qualifier-mode` option (issue [#95](https://github.com/josephwright/siunitx/issues/95))
@@ -1424,7 +1430,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Restrict range and list functions to text mode
- Auto-detect math mode in tables (issue [#94](https://github.com/josephwright/siunitx/issues/94))
-## [v2.1b] - 2010-11-05
+## [v2.1b]: 2010-11-05
### Changed
- Improve hyphen to minus correction (issue [#89](https://github.com/josephwright/siunitx/issues/89))
@@ -1432,7 +1438,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- One wrong variable used (issue [#90](https://github.com/josephwright/siunitx/issues/90))
-## [v2.1a] - 2010-11-05
+## [v2.1a]: 2010-11-05
### Changed
- Internal `expl3` improvements
@@ -1441,7 +1447,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Print list separators in text mode (issue [#87](https://github.com/josephwright/siunitx/issues/87))
- Add in some missing `\ensuremath` statements (issue [#88](https://github.com/josephwright/siunitx/issues/88))
-## [v2.1] - 2010-10-31
+## [v2.1]: 2010-10-31
### Added
- Option `copy-complex-root` (issue [#63](https://github.com/josephwright/siunitx/issues/63))
@@ -1461,39 +1467,39 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Bug with rounding check if decimal part is empty
- Remove decimal marker if rounding gives an empty decimal part
-## [v2.0y] - 2010-10-11
+## [v2.0y]: 2010-10-11
### Fixed
- Bug with `tight-spacing` option
-## [v2.0x] - 2010-10-05
+## [v2.0x]: 2010-10-05
### Fixed
- Make single-prefix detection work with non-symbolic prefixes
(issue [#81](https://github.com/josephwright/siunitx/issues/81))
-## [v2.0w] - 2010-09-29
+## [v2.0w]: 2010-09-29
### Fixed
- Problem with REVTeX and S columns (issue [#80](https://github.com/josephwright/siunitx/issues/80))
-## [v2.0v] - 2010-09-26
+## [v2.0v]: 2010-09-26
### Changed
- Track `expl3` changes
-## [v2.0u] - 2010-09-14
+## [v2.0u]: 2010-09-14
### Fixed
- Issue with `textpos` (issue [#74](https://github.com/josephwright/siunitx/issues/74))
- Prevent infinite loop when using `\SI{}{...}` (issue [#78](https://github.com/josephwright/siunitx/issues/78))
-## [v2.0t] - 2010-08-24
+## [v2.0t]: 2010-08-24
### Fixed
- Correct `\exp_after:wN` (issue [#77](https://github.com/josephwright/siunitx/issues/77))
-## [v2.0s] - 2010-08-12
+## [v2.0s]: 2010-08-12
### Added
- Demo for headers in tables
@@ -1501,27 +1507,27 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Bug in rounding code for zero decimal place (issue [#76](https://github.com/josephwright/siunitx/issues/76))
-## [v2.0r] - 2010-08-02
+## [v2.0r]: 2010-08-02
### Fixed
- Bug in v1 `decimalsymbol` emulation
-## [v2.0q] - 2010-07-29
+## [v2.0q]: 2010-07-29
### Fixed
- Errors with free-standing units
-## [v2.0p] - 2010-07-28
+## [v2.0p]: 2010-07-28
### Fixed
- Shape detection
-## [v2.0o] - 2010-07-22
+## [v2.0o]: 2010-07-22
### Added
- Extend detect-italic to slanted shape (issue [#73](https://github.com/josephwright/siunitx/issues/73))
-## [v2.0n] - 2010-07-15
+## [v2.0n]: 2010-07-15
### Added
- Various abbreviations
@@ -1529,12 +1535,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Changed
- Documentation section on tables where rows have different units
-## [v2.0m] - 2010-07-09
+## [v2.0m]: 2010-07-09
### Added
- Option `locale` and notes on use with `babel`
-## [v2.0l] - 2010-07-07
+## [v2.0l]: 2010-07-07
### Changed
- Updated documentation for v1 options
@@ -1542,12 +1548,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Move test for `\fg` so that it works independent of `babel` load order
-## [v2.0k] - 2010-07-04
+## [v2.0k]: 2010-07-04
### Fixed
- Issue with `babel` (issue [#68](https://github.com/josephwright/siunitx/issues/68))
-## [v2.0j] - 2010-06-30
+## [v2.0j]: 2010-06-30
### Changed
- Force `input-symbols` to print in math mode
@@ -1555,17 +1561,17 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Correct appearance of `\hartree`
-## [v2.0i] - 2010-06-29
+## [v2.0i]: 2010-06-29
### Fixed
- Two missed `_` from `expl3` style switch (issue [#67](https://github.com/josephwright/siunitx/issues/67))
-## [v2.0h] - 2010-06-29
+## [v2.0h]: 2010-06-29
### Fixed
- Issue with localisation
-## [v2.0g] - 2010-06-28
+## [v2.0g]: 2010-06-28
### Added
- First approach to localisation (issue [#61](https://github.com/josephwright/siunitx/issues/61))
@@ -1577,17 +1583,17 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- Bracket complex numbers in numerator of quotient (issue [#66](https://github.com/josephwright/siunitx/issues/66))
-## [v2.0f] - 2010-06-27
+## [v2.0f]: 2010-06-27
### Fixed
- Spacing with `\times` in text mode (issue [#64](https://github.com/josephwright/siunitx/issues/64))
-## [v2.0e] - 2010-06-20
+## [v2.0e]: 2010-06-20
### Fixed
- Move save/restore of `\pm` (issue [#58](https://github.com/josephwright/siunitx/issues/58))
-## [v2.0d] - 2010-06-10
+## [v2.0d]: 2010-06-10
### Changed
- Document use of `\cr` in tables (issue [#53](https://github.com/josephwright/siunitx/issues/53))
@@ -1596,7 +1602,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Fixed
- `table-exponent` option's handling of exponent signs (issue [#56](https://github.com/josephwright/siunitx/issues/56))
-## [v2.0c] - 2010-06-07
+## [v2.0c]: 2010-06-07
### Changed
- Improve emulation of v1 material
@@ -1608,12 +1614,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Test for bottoming-out units and ensure that any 'hidden' literal units
print (issue [#50](https://github.com/josephwright/siunitx/issues/50))
-## [v2.0b] - 2010-06-01
+## [v2.0b]: 2010-06-01
### Added
- Complete emulation of v1 options
-## [v2.0a] - 2010-05-28
+## [v2.0a]: 2010-05-28
### Changed
- Allow `\SendSettingsToPgf` in the document body
@@ -1637,7 +1643,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.37...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.38...HEAD
+[v3.0.38]: https://github.com/josephwright/siunitx/compare/v3.0.37...v3.0.38
[v3.0.37]: https://github.com/josephwright/siunitx/compare/v3.0.36...v3.0.37
[v3.0.36]: https://github.com/josephwright/siunitx/compare/v3.0.35...v3.0.36
[v3.0.35]: https://github.com/josephwright/siunitx/compare/v3.0.34...v3.0.35
diff --git a/macros/latex/contrib/siunitx/siunitx-angle.dtx b/macros/latex/contrib/siunitx/siunitx-angle.dtx
index 9d9a2ac753..3cd8db4b74 100644
--- a/macros/latex/contrib/siunitx/siunitx-angle.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-angle.dtx
@@ -292,7 +292,7 @@
%
% \begin{variable}{\l_@@_degrees_tl, \l_@@_minutes_tl, \l_@@_seconds_tl}
% Space for formatting parsed numbers.
-% \begin{macrocode}
+% \begin{macrocode}
\tl_new:N \l_@@_degrees_tl
\tl_new:N \l_@@_minutes_tl
\tl_new:N \l_@@_seconds_tl
@@ -452,10 +452,10 @@
}
}
\cs_generate_variant:Nn \@@_arc_print_auxi:nnn { nV }
-% \end{macrocode}
+% \end{macrocode}
% To align the two parts of the astronomy-style marker, we need to allow
% for the |\scriptspace|.
-% \begin{macrocode}
+% \begin{macrocode}
\cs_new_protected:Npn \@@_arc_print_auxii:nw
#1#2 \q_nil #3 \q_nil #4 \q_nil #5 \q_nil #6 \q_nil #7 \q_nil #8 \q_stop
{
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index a72fe2827b..1a2ea316e7 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-compound.dtx b/macros/latex/contrib/siunitx/siunitx-compound.dtx
index 5f119f1372..a11121a4ac 100644
--- a/macros/latex/contrib/siunitx/siunitx-compound.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-compound.dtx
@@ -447,6 +447,15 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_format:nnn #1#2#3
{
+ \tl_if_blank:nTF {#1}
+ {
+ \tl_if_blank:nF {#2}
+ { \@@_format:nn {#2} {#3} }
+ }
+ { \@@_format_aux:nnn {#1} {#2} {#3} }
+ }
+\cs_new_protected:Npn \@@_format_aux:nnn #1#2#3
+ {
\siunitx_number_parse:nN {#1} \l_@@_tmp_tl
\bool_if:NTF \l_@@_unit_bool
{ \@@_format_units:nn {#2} {#3} }
@@ -522,11 +531,16 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_parsed:n, \@@_unparsed:n}
+% \begin{macro}{\@@_parsed:n, \@@_parsed_aux:n, \@@_unparsed:n}
% The simple cases for parsing (or not) all entries.
% \begin{macrocode}
\cs_new_protected:Npn \@@_parsed:n #1
{
+ \tl_if_blank:nF {#1}
+ { \@@_parsed_aux:n {#1} }
+ }
+\cs_new_protected:Npn \@@_parsed_aux:n #1
+ {
\bool_if:NTF \l_@@_unit_bool
{
\siunitx_number_parse:nN {#1} \l_@@_tmp_tl
@@ -541,7 +555,8 @@
}
\cs_new_protected:Npn \@@_unparsed:n #1
{
- \seq_put_right:Nn \l_@@_tmp_seq { \ensuremath {#1} }
+ \tl_if_blank:nF {#1}
+ { \seq_put_right:Nn \l_@@_tmp_seq { \ensuremath {#1} } }
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index a7b3594d9d..bb3abd6b7a 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -601,7 +601,7 @@
% must be present in a stored number (\foreign{i.e.}~at the end of parsing).
% The number must have at least one digit for both the \meta{integer} and
% \meta{exponent} parts.
-%
+%
% A non-empty \meta{uncertainty} must contain one leading brace group
% containing an identifier, then zero or more brace groups which contain
% the uncertainty data. In this release, the known uncertainty types are
@@ -1662,7 +1662,7 @@
%
% \begin{variable}{\l_@@_round_min_tl}
% For storing the minimum for rounding.
-% \begin{macrocode}
+% \begin{macrocode}
\tl_new:N \l_@@_round_min_tl
% \end{macrocode}
% \end{variable}
@@ -1672,7 +1672,7 @@
% For setting the rounding minimum, the aim is to do as much of the work
% now as possible. That's mainly a question of checking if there are any
% significant digits in the mantissa given.
-% \begin{macrocode}
+% \begin{macrocode}
\cs_new_protected:Npn \@@_set_round_min:n #1
{
\siunitx_number_parse:nN {#1} \l_@@_tmp_tl
@@ -1952,7 +1952,7 @@
#2
\@@_exponent_uncert:n { { S } { 0 } }
}
- {
+ {
\use:c { @@_exponent_shift_uncert_ \use_i:nn #3 :fnnn }
{ \prg_replicate:nn {#1} { 0 } }
{#2}
@@ -2846,7 +2846,7 @@
\exp_args:Nf \@@_round_uncertainty_simple:nnnnn
{
\prg_replicate:nn
- {
+ {
\int_max:nn
{ 0 - ( \tl_count:n {#4} - \tl_count:n {#2} - #5 + 1 ) }
{ 0 }
@@ -2856,7 +2856,7 @@
{#3} {#4} {#2} {#5}
}
{ \@@_round_uncertainty_shift:nnnnn {#3} {#4} {#1} {#2} {#5} }
-
+
}
% \end{macrocode}
% The simple case: round and pad out the uncertainty as required.
@@ -3268,7 +3268,7 @@
}
% \end{macrocode}
% As color for negative values applies to the \emph{whole} output, we have
-% to deal with it before anything else.
+% to deal with it before anything else.
% \begin{macrocode}
\cs_new:Npn \@@_output_color:n #1
{
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 46d2b2f942..228b98047c 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx.dtx Copyright (C) 2008-2019,2021 Joseph Wright
+% File: siunitx.dtx Copyright (C) 2008-2019,2021,2022 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2021-12-03} {3.0.37}
+\ProvidesExplPackage {siunitx} {2022-01-04} {3.0.38}
{A comprehensive (SI) units package}
% \end{macrocode}
%
@@ -184,7 +184,7 @@
% \subsection{Load time options}
%
% \begin{variable}{\l_@@_column_type_tl}
-% \begin{macrocode}
+% \begin{macrocode}
\keys_define:nn { siunitx }
{
table-column-type .tl_set:N =
@@ -199,11 +199,11 @@
%
% \subsection{Option handling}
%
-% \begin{macrocode}
+% \begin{macrocode}
\RequirePackage { l3keys2e }
% \end{macrocode}
%
-% \begin{macrocode}
+% \begin{macrocode}
\ProcessKeysOptions { siunitx }
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.ins b/macros/latex/contrib/siunitx/siunitx.ins
index e6d4dae7f6..6250eed33a 100644
--- a/macros/latex/contrib/siunitx/siunitx.ins
+++ b/macros/latex/contrib/siunitx/siunitx.ins
@@ -33,7 +33,7 @@ for those people who are interested.
\preamble
\endpreamble
\postamble
-Copyright (C) 2008-2021 by
+Copyright (C) 2008-2022 by
Joseph Wright <joseph.wright@morningstar2.co.uk>
It may be distributed and/or modified under the conditions of
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 9b5fabfa52..a7432ee6c6 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/swfigure/README.txt b/macros/latex/contrib/swfigure/README.txt
index 921fe427eb..5852a0aa98 100644
--- a/macros/latex/contrib/swfigure/README.txt
+++ b/macros/latex/contrib/swfigure/README.txt
@@ -1,12 +1,12 @@
%%
%% This is file `README.txt',
%%
-%% Copyright (C) 2020 Claudio Beccari all rights reserved.
+%% Copyright (C) 2020-2022 Claudio Beccari all rights reserved.
%% License information appended
%%
File README.txt for package swfigure
- [2020-12-23 v.0.9.18 Managing large and spread wide figures]
+ [2022-01-04 v.0.9.19 Managing large and spread wide figures]
This bundle contains the swfigure.dtx, swfigure-examples.tex,
and README.txt files plus eight fake figures with extension .jpg
or .pdf and a screenshot with extension .pdf.
diff --git a/macros/latex/contrib/swfigure/swfigure.dtx b/macros/latex/contrib/swfigure/swfigure.dtx
index 54fc18ba64..fe53b10e92 100644
--- a/macros/latex/contrib/swfigure/swfigure.dtx
+++ b/macros/latex/contrib/swfigure/swfigure.dtx
@@ -7,7 +7,7 @@
\keepsilent
\preamble
- Copyright (C) 2020 Claudio Beccari all rights reserved.
+ Copyright (C) 2020-2022 Claudio Beccari all rights reserved.
License information appended
\endpreamble
@@ -43,7 +43,7 @@ files swfigure.sty and swfigure.pdf
%</driver>
%<+package>\ProvidesPackage{swfigure}%
%<*package>
- [2020-12-23 v.0.9.18 Managing large and spread wide figures]
+ [2022-01-04 v.0.9.19 Managing large and spread wide figures]
%</package>
%<*driver>
\documentclass[a4paper]{ltxdoc}\errorcontextlines=9
@@ -107,7 +107,7 @@ Managing large and spread wide figures}
%</driver>
% \fi
%
-% \CheckSum{1040}
+% \CheckSum{1042}
%
% \begin{abstract}
% This package defines a single command that with different options can
@@ -169,11 +169,13 @@ Managing large and spread wide figures}
% lines of both text blocks are aligned.
%\item
% The slim tall image is set to the side of the text block with text
-% wrapping it. Recurse is made to the |wrapfig| package, therefore the
+% wrapping it. Recurse is made either to the |wrapfig| package
+% or the newer |wrapfig2| one if the latter exists, therefore the
% software might sometimes hick-up a little bit, because of the
-% idiosyncrasies of |wrapfig| that performs very well in most but not
-% all circumstances; see that package documentation for such |wrapfig|
-% limitations. With this |wsfigure| package we limit the use of this
+% idiosyncrasies of both |wrapfig| and |wrapfig2| that perform
+% very well in most but not all circumstances; see that package
+% documentation for such |wrapfig| and |wrapfig2|
+% limitations. With one of these packages we limit the use of this
% display mode to images that have a “height over width” aspect ratio
% not lower than~2; we provide also some option arguments so as to correct
% small imperfections in the sizing of the text indention
@@ -316,7 +318,11 @@ Managing large and spread wide figures}
% little vertical space around the image and its caption; by examining
% the document draft it is possible to correct the predetermined
% number of indented lines by increasing or decreasing the vertical
-% space by any (integer) number of lines.
+% space by any (integer) number of lines. With |wrapfig2| it is
+% possible to use a final optional asterisk that changes the
+% information relative to the number of indented lines into a
+% correction of such number; its easier to count the missing or
+% the extra indented lines, that the whole number of such lines.
%
%\item[\meta{width test}] this further vertical bar-delimited argument
% is used only when dealing with vertical slim images; when they are
@@ -369,14 +375,14 @@ Managing large and spread wide figures}
% not lower than~2; but for obvious reasons, it should not be too
% large, let's say, not larger than about~3 or~4. As always this depends
% on the page design and the caption size. The limitations of the
-% underlying |wrapfig| package forbid its usage too close to
-% explicit lists and texts typeset in special modes with a different
-% measure from normal text. Again it is up to the user to chose
+% underlying |wrapfig| or |wrapfig2| packages forbid their usage too
+% close to explicit lists and texts typeset in special modes with a
+% different measure from normal text. Again it is up to the user to chose
% where to insert the |DFfigure| environment or the |\DFimage| command.
-% The |wrapfig| package documentation and our experience, show that the
-% best position is just before a new paragraph; the environment end
-% should be placed after a suitable number of full paragraphs, even
-% if not all of them are involved with wrapping.
+% The |wrapfig| or |wrapfig2| package documentation, and our experience,
+% show that the best position is just before a new paragraph; the
+% environment end should be placed after a suitable number of full
+% paragraphs, even if not all of them are involved with wrapping.
%
% If the aspect ratio of the image to include is lower than~2, the
% following message is printed in the document where the image
@@ -517,6 +523,8 @@ Managing large and spread wide figures}
%\bibitem{bib:lscape} D.P. Carlisle, \emph{The \texttt{lscape} package}. Version 3.02 released on 2020-05-28. PDF document readable with \texttt{texdoc lscape}.
%\bibitem{bib:afterpage} D.P. Carlisle, \emph{The \texttt{afterpage} package}. Version 1.08 released on 2014-10-28. PDF document readable with \texttt{texdoc afterpage}.
%\bibitem{bib:wrapfig} D. Arseneau, \emph{The \texttt{wrapfig} package}. Version 3.6 released on 2003-01-31.
+%\bibitem{bib:wrapfig2} C. Beccari, \emph{The \texttt{wrapfig2} package}.
+% Versione 4.0.4 released on 2022-01-04.
%\bibitem{bib:memman} P. Wilson, \emph{The Memoir Class for Configurable Typesetting} ---User guide. Version 3.7m released 2020-09-10. PDF document readable with \texttt{texdoc memman}.
%\end{thebibliography}
%
@@ -577,13 +585,20 @@ Managing large and spread wide figures}
% to be executed if the test is true or false; the test is true if
% \meta{string} is listed into the \meta{named list}.
%
-% Packages |graphicx|, |afterpage|, and |wrapfig| are functional
-% for this package. In order to avoid “Option Clash” error messages,
-% such packages are loaded without any option; should the user load
-% some or all of them with options, the user should load them
+% Packages |graphicx|, |afterpage|, and |wrapfig| or |wrapfig2| are
+% functional for this package. In order to avoid “Option Clash” error
+% messages, such packages are loaded without any option; should the user
+% load some or all of them with options, the user should load them
% \emph{before} loading this package. This particular documentation
% does not require the |graphicx| package, because it is already
% loaded by |swfigure|.
+% Notice that |wrapfig2|, is loaded only if the \TeX\ system
+% installation is sufficiently recent; if the package si not part
+% of the installation the older |wrapfig| gets loaded. Moreover
+% if |wrapfig| is implicitly loaded by other packages, such as
+% |caption| or |subcaption|, that redefine some |wrapfig| internals,
+% the newer package |wrapfig2| aborts its own loading, because those
+% redefined internals are incompatible with it.
% \begin{macrocode}
\RequirePackage{etoolbox}
\RequirePackage{xfp}
@@ -606,7 +621,8 @@ Managing large and spread wide figures}
\RequirePackage{graphicx}
\RequirePackage{afterpage}
-\RequirePackage{wrapfig}
+\IfFileExists{wrapfig2.sty}{%
+ \RequirePackage{wrapfig2}}{\RequirePackage{wrapfig}}
% \end{macrocode}
% We define some dimension and some counter registers; to some dimensions
diff --git a/macros/latex/contrib/swfigure/swfigure.pdf b/macros/latex/contrib/swfigure/swfigure.pdf
index d5195dea5e..85bd2b11e1 100644
--- a/macros/latex/contrib/swfigure/swfigure.pdf
+++ b/macros/latex/contrib/swfigure/swfigure.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-base/README.md b/macros/latex/contrib/tkz/tkz-base/README.md
index 1357d483ce..dfcaa49664 100644
--- a/macros/latex/contrib/tkz/tkz-base/README.md
+++ b/macros/latex/contrib/tkz/tkz-base/README.md
@@ -1,91 +1,74 @@
-# tkz-base
+# tkz-base — for Cartesian coordinate system
-Release 3.06c 2020/04/06
+Release 4.00 b 2022/01/04
## Description
-
-The package `tkz-base` provides some tools like a Cartesian (rectangular)
-coordinate system to other packages like `tkz-euclide` or `tkz-fct`.
+The package `tkz-base` provides some tools like a Cartesian (rectangular) coordinate system to other packages like `tkz-euclide` or `tkz-fct`.
With this package, you can draw coordinate axis, grids, draw points, the
-principle is to specify the position of any point in two-dimensional space by
-an unique couple of coordinates.
+principle is to specify the position of any point in two-dimensional space by an unique couple of coordinates.
## Licence
-The scontents package may be modified and distributed under the terms and
-conditions of the [LaTeX Project Public
-License](https://www.latex-project.org/lppl/), version 1.3c or greater.
-
-## Features
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+ of this license or (at your option) any later version.
+ The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of LaTeX
+ version 2005/12/01 or later.
-- needs xfp.sty, numprint;
-- requires and automatically loads PGF/TikZ > 3.0;
-- compiles with utf8, pdflatex, lualatex;
+## Requirements
+- [xfp](https://ctan.org/pkg/xfp)
+- [numprint](https://www.ctan.org/pkg/numprint)
+
## Installation
-The package `tkz-base` is present in `TeXLive` and `MiKTeX`, use the
-package manager to install.
+The package `tkz-base` is present in TeXLive and MiKTeX, use the package
+manager to install.
-You can experiment with the `tkz-base` package by placing all of the
+You can experiment with the `tkz-base package by placing all of the
distribution files in the directory containing your current tex file.
-For manual instalation all files must be moved into the different directories in your
-installation `TDS` tree or in your `TEXMFHOME`:
-
-```
- doc/TKZdoc-base.pdf -> TDS:doc/latex/tkz-doc/TKZdoc-base.pdf
- doc/examples/*.* -> TDS:doc/latex/tkz-doc/examples/*.*
- doc/sourcedoc/*.* -> TDS:doc/latex/tkz-doc/sourcedoc/*.*
- code/*.* -> TDS:tex/latex/tkz-doc/*.*
-```
-
+You can also placing all of the distribution files in the directory :
+/texmf/tex/latex/tkz.
+
## How to use it
+- compiles with utf8, pdflatex, lualatex;
+- To use the package tkz-base, place the following lines in the preamble of
+ your LaTeX document.
-To use the package `tkz-base`, place the following lines in the preamble of
-your LaTeX document.
-
-```
-\usepackage{tkz-base}
-```
-
-The line `\usepackage{tkz-base}` loads TikZ.
-The line `\usetkzobj{all}` loads all objects used by `tkz-euclide`.
-With `\usepackage{tkz-euclide}` you don't need to use `\usetkzobj`
+\usepackage{tkz-base} (loads TikZ and some tikzlibraries).
-To avoid package conflicts, you need to load `xcolor` before `TikZ` or `tkz-base` or
-`tkz-euclide`.
+To avoid package conflicts, you need to load xcolor before TikZ or tkz-base or tkz-euclide
## Documentation
-Documentations for `tkz-base` and `tkz-euclide` are available on CTAN and your
-distribution.
-
-
+Documentations for `tkz-base` are available on CTAN and your distribution.
+
+
## Examples
-All examples given in documentation will be stored on CTAN as standalone
-files, ready for compilation. You can use the main.tex file to load and
-compile an example.
+All examples given in documentation will be stored on my site : [http://altermundus.fr](http://altermundus.fr) as standalone
+files, ready for compilation.
-Other examples, en français, can be found on my site [http://altermundus.fr](http://altermundus.fr).
+Other examples, in French, are on my site.
## Compatibility
-The new version of `tkz-base` is *not* fully compatible with the version 1.16 but
-the differences are minor
+The new version of `tkz-base` is *not* fully compatible with the version 3 but the differences are minor
## History
+- 4.00b now `tkz-euclide` is independent of `tkz-base`. Some geometry specific macros have been removed.
- 3.06c correction of the documentation ( thanks to Laurent Van Deik)
-- 3.05c correction of bugs, some macros have migrated to `tkz-euclide`
+- 3.05c correction of bugs, some macros have migrated to tkz-euclide
- 3.02c correction of bugs, new code
- 3.01c correction of bugs, new code
- 1.16 correction of bugs
-- 1.13 first version
+- 1.13 first version
## Author
-Alain Matthes, 5 rue de Valence, Paris 75005, al (dot) ma (at) mac (dot) com
-
+Alain Matthes, 5 rue de Valence, Paris 75005, al (dot) ma (at) mac (dot) com \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdf b/macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdf
deleted file mode 100644
index dfaf3b8d39..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-BB.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-BB.tex
index 15a00e38c8..22d943726e 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-BB.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-BB.tex
@@ -1,9 +1,99 @@
-\section{Bounding box management}
+\section{Controlling Bounding Box}
+From the \tkzimp{PgfManual} :"When you add the clip option, the current path is used for clipping subsequent drawings. Clipping never enlarges the clipping area. Thus, when you clip against a certain path and then clip again against another path, you clip against the intersection of both.
+The only way to enlarge the clipping path is to end the {pgfscope} in which the clipping was done. At the end of a {pgfscope} the clipping path that was in force at the beginning of the scope is reinstalled."
+
+
+First of all, you don't have to deal with \TIKZ\ the size of the bounding box. Early versions of \tkzNamePack{tkz-euclide} did not control the size of the bounding box, now with \tkzNamePack{\tkznameofpack} 4 the size of the bounding box is limited.
+
The initial bounding box after using the macro \tkzcname{tkzInit} is defined by the rectangle based on the points $(0,0)$ and $(10,10)$. The \tkzcname{tkzInit} macro allows this initial bounding box to be modified using the arguments (\tkzname{xmin}, \tkzname{xmax}, \tkzname{ymin}, and \tkzname{ymax}). Of course any external trace modifies the bounding box. \TIKZ\ maintains that bounding box. It is possible to influence this behavior either directly with commands or options in \TIKZ\ such as a command like \tkzcname{useasboundingbox} or the option \tkzname{use as bounding box}. A possible consequence is to reserve a box for a figure but the figure may overflow the box and spread over the main text.
The following command \tkzcname{pgfresetboundingbox} clears a bounding box and establishes a new one.
-%Enfin Il est parfois utile de contenir une figure dans une b
-%current bounding box or current path bounding box remember picture et overlay
+\subsection{Utility of \tkzcname{tkzInit}}
+ However, it is sometimes necessary to control the size of what will be displayed.
+ To do this, you need to have prepared the bounding box you are going to work in, this is the role of the macro \tkzNameMacro{tkzInit}. For some drawings, it is interesting to fix the extreme values (xmin,xmax,ymin and ymax) and to "clip" the definition rectangle in order to control the size of the figure as well as possible.
+
+The two macros that are useful for controlling the bounding box:
+\begin{itemize}
+ \item \tkzcname{tkzInit}
+ \item \tkzcname{tkzClip}
+\end{itemize}
+\vspace{20pt}
+
+To this, I added macros directly linked to the bounding box. You can now view it, backup it, restore it (see the section Bounding Box).
+
+\subsection{\tkzcname{tkzInit}}
+
+\begin{NewMacroBox}{tkzInit}{\oarg{local options}}\hypertarget{init}{}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{xmin} {0} {minimum value of the abscissae in cm}
+\TOline{xmax} {10} {maximum value of the abscissae in cm}
+\TOline{xstep}{1} {difference between two graduations in $x$}
+\TOline{ymin} {0} {minimum y-axis value in cm }
+\TOline{ymax} {10} {maximum y-axis value in cm}
+\TOline{ystep}{1} {difference between two graduations in $y$}
+\bottomrule
+\end{tabular}
+
+\medskip
+
+The role of \tkzcname{tkzInit} is to define a \textcolor{red}{orthogonal} coordinates system and a rectangular part of the plane in which you will place your drawings using Cartesian coordinates.
+This macro allows you to define your working environment as with a calculator. With \tkzname{\tkznameofpack} 4 \tkzcname{xstep} and \tkzcname{ystep} are always 1. Logically it is no longer useful to use \tkzcname{tkzInit}, except for an action like "Clipping Out".
+\end{NewMacroBox}
+
+
+\subsection{\tkzcname{tkzClip}}
+
+\subsection{tkzClip}
+\begin{NewMacroBox}{tkzClip}{\oarg{local options}}
+The role of this macro is to make invisible what is outside the rectangle defined by (xmin~;~ymin) and (xmax~;~ymax).
+
+\medskip
+\begin{tabular}{lll}
+\hline
+options & default & definition \\
+\midrule
+\TOline{space} {1} {added value on the right, left, bottom and top of the background}
+\bottomrule
+\end{tabular}
+
+\medskip
+
+The role of the \tkzname{space} option is to enlarge the visible part of the drawing. This part becomes the rectangle defined by (xmin-space~;~ymin-space) and (xmax+space~;~ymax+space). \tkzname{space} can be negative! The unit is cm and should not be specified.
+\end{NewMacroBox}
+
+The role of this macro is to "clip" the initial rectangle so that only the paths contained in this rectangle are drawn.
+
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmax=4, ymax=3]
+ \tkzDefPoints{-1/-1/A,5/2/B}
+ \tkzDrawX \tkzDrawY
+ \tkzGrid
+ \tkzClip
+ \tkzDrawSegment(A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+It is possible to add a bit of space
+\begin{tkzltxexample}[]
+ \tkzClip[space=1]
+\end{tkzltxexample}
+
+\subsection{\tkzcname{tkzClip} and the option \tkzname{space}}
+This option allows you to add some space around the "clipped" rectangle.
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmax=4, ymax=3]
+ \tkzDefPoints{-1/-1/A,5/2/B}
+ \tkzDrawX \tkzDrawY
+ \tkzGrid
+ \tkzClip[space=1]
+ \tkzDrawSegment(A,B)
+\end{tikzpicture}
+\end{tkzexample}
+The dimensions of the "clipped" rectangle are \tkzname{xmin-1}, \tkzname{ymin-1}, \tkzname{xmax+1} and \tkzname{ymax+1}.
%<--------------------------------------------------------------------------->
% tkzShowBB
@@ -14,7 +104,6 @@ The simplest macro.
This macro displays the bounding box. A rectangular frame surrounds the bounding box. This macro accepts \TIKZ\ options.
\end{NewMacroBox}
-
\subsubsection{Example with \tkzcname{tkzShowBB}}
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.5]
@@ -23,10 +112,10 @@ This macro displays the bounding box. A rectangular frame surrounds the bounding
\tkzDefPoint(3,0){A}
\begin{scope}
\tkzClipBB
- \tkzDrawCircle[R](A,5 cm)
- \tkzShowBB
+ \tkzDrawCircle[R](A,5)
+ \tkzShowBB[line width = 4pt,fill=teal!10,opacity=.4]
\end{scope}
-\tkzDrawCircle[R,red](A,4 cm)
+\tkzDrawCircle[R,red](A,4)
\end{tikzpicture}
\end{tkzexample}
%<--------------------------------------------------------------------------->
@@ -35,7 +124,7 @@ This macro displays the bounding box. A rectangular frame surrounds the bounding
\subsection{tkzClipBB}
\begin{NewMacroBox}{tkzClipBB}{}%
The idea is to limit future constructions to the current bounding box.
-\end{NewMacroBox}
+\end{NewMacroBox}
\subsubsection{Example with \tkzcname{tkzClipBB} and the bisectors}
@@ -46,7 +135,7 @@ The idea is to limit future constructions to the current bounding box.
\tkzDefPoint(1,4){J}
\tkzDefLine[bisector](I,O,J) \tkzGetPoint{i}
\tkzDefLine[bisector out](I,O,J) \tkzGetPoint{j}
- \tkzDrawPoints(O,I,J,i,j)
+ \tkzDrawPoints(O,I,J,i,j)
\tkzClipBB
\tkzDrawLines[add = 1 and 2,color=red](O,I O,J)
\tkzDrawLines[add = 1 and 2,color=blue](O,i O,j)
@@ -54,186 +143,4 @@ The idea is to limit future constructions to the current bounding box.
\end{tikzpicture}
\end{tkzexample}
-
-%<--------------------------------------------------------------------------->
-% tkzSetBB
-%<--------------------------------------------------------------------------->
-\subsection{tkzSetBB}
-\begin{NewMacroBox}{tkzSetBB}{\parg{$x_A~;~y_A$} \parg{$x_B~;~y_B$} or {\parg{$A$} \parg{$B$}}}%
-This macro defines the rectangle with coordinates $(x_A~;~y_A$) and $(x_B~;~y_B)$ as the new bounding box.
-\end{NewMacroBox}
-
-\subsubsection{Example with \tkzcname{tkzShowBB}}
-\begin{tkzexample}[latex=8cm,small]
-above\\
-left
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,3){B}
- \tkzDefPoint(1,1){C}
- \tkzSetBB(A)(2,2)
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,C)
- \tkzShowBB
-\end{tikzpicture}right
-\end{tkzexample}
-%<--------------------------------------------------------------------------->
-% tkzSaveBB
-%<--------------------------------------------------------------------------->
-\subsection{tkzSaveBB}{}
-\begin{NewMacroBox}{tkzSaveBB}{}%
-This macro saves the bounding box, i.e. it stores the coordinates of two points that define a rectangle.
-\end{NewMacroBox}
-
-\begin{tkzexample}[latex=7cm,small]
-A figure above the text.
-\begin{tikzpicture}
- \begin{scope}
- \tkzSetBB(0,0)(6,2) \tkzShowBB[fill=blue!20]
- \tkzSaveBB
- \end{scope}
- \tkzDefPoint(3,3){A}\tkzShowBB
- \tkzDrawCircle[R,fill=yellow,opacity=.2](A,2cm)
- \tkzRestoreBB
-\end{tikzpicture}
-\end{tkzexample}
-
-
-
-
-%<--------------------------------------------------------------------------->
-% tkzRestoreBB
-%<--------------------------------------------------------------------------->
-\subsection{tkzRestoreBB}
-\begin{NewMacroBox}{tkzRestoreBB}{}
-This macro retrieves the bounding box backup. As you can see, the figure overflows the box. The bounding box has been reduced.
-\end{NewMacroBox}
-\subsubsection{Example of the use of \tkzcname{tkzRestoreBB}}
-\begin{tkzexample}[latex=8cm,small]
- \vspace{ 2cm}
-Start\\
-\begin{tikzpicture}
- \tkzDefPoint(-2,-2){A}
- \tkzDefPoint(2,1){B}
- \tkzDefPoint(0,0){O}
- \tkzSaveBB
- \tkzShowBB[red,line width=1pt]
- \tkzRestoreBB
- \tkzDrawCircle(O,B)
- \tkzClipBB
- \tkzFillCircle[gray!20](O,B)
-\end{tikzpicture}
-End
-\end{tkzexample}
-
-
-%<--------------------------------------------------------------------------->
-% tkzClip
-%<--------------------------------------------------------------------------->
-\subsection{tkzClip}
-\begin{NewMacroBox}{tkzClip}{\oarg{local options}}
-The role of this macro is to make invisible what is outside the rectangle defined by (xmin~;~ymin) and (xmax~;~ymax).
-
-\medskip
-\begin{tabular}{lll}
-\hline
-options & default & definition \\
-\midrule
-\TOline{space} {1} {added value on the right, left, bottom and top of the background}
-\bottomrule
-\end{tabular}
-
-\medskip
-
-The role of the \tkzname{space} option is to enlarge the visible part of the drawing. This part becomes the rectangle defined by (xmin-space~;~ymin-space) and (xmax+space~;~ymax+space). \tkzname{space} can be negative! The unit is cm and should not be specified.
-\end{NewMacroBox}
-
-\subsubsection{First example with \tkzcname{tkzClip}} \hypertarget{clip}{}
-
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzInit[xmax=3, ymax=3]
- \tkzGrid
- \tkzAxeXY
- \draw[red] (-1,-1)--(5,5);
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Second example with \tkzcname{tkzClip}}
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzInit[xmax=3, ymax=3]
- \tkzGrid
- \tkzAxeXY
- \tkzClip
- \draw[red] (-1,-1)--(5,5);
-\end{tikzpicture}
-\end{tkzexample}
-%<--------------------------------------------------------------------------->
-It is possible to add a bit of space \tkzcname{tkzClip[space]}.
-
-\subsubsection{\tkzcname{tkzClip} and l'option \tkzname{space}}
-The dimensions to define the clipped rectangle are \tkzname{xmin-1}, \tkzname{ymin-1}, \tkzname{xmax+1} and \tkzname{ymax+1}.
-
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzInit[xmax=3, ymax=3]
- \tkzGrid \tkzAxeXY
- \tkzClip[space=-0.5]
- \draw[red] (-0.5,-0.5)--(3.5,3.5);
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Reverse clip: tkzreverseclip}
-The next example uses
-
-\begin{tkzltxexample}[]
- \def\tkzClipOutPolygon(#1,#2){\clip[tkzreserveclip] (#1)
- \foreach \pt in {#2}{--(\pt)}--cycle;
- }
- \tikzset{tkzreverseclip/.style={insert path={%
- (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb)}}}
- \end{tkzltxexample}
-
-\subsubsection{Example with \tkzcname{tkzClipOutPolygon}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzInit[xmin=-5,xmax=5,ymin=-5,ymax=5]
- \pgfinterruptboundingbox
- \tkzDefPoints{-.5/0/P1,.5/0/P2}
- \foreach \i [count=\j from 3] in {2,...,7}{%
- \tkzDefShiftPoint[P\i]({45*(\i-1)}:1 cm){P\j}
- }
- \endpgfinterruptboundingbox
- \tkzClipOutPolygon(P1,P2,P3,P4,P5,P6,P7,P8)
- \tkzCalcLength[cm](P1,P5)\tkzGetLength{r}
- \begin{scope}[blend group=screen]
- \foreach \i in {1,...,8}{%
- \pgfmathparse{100-5*\i}
- \tkzFillCircle[R,color=blue!%
- \pgfmathresult](P\i,\r)
- }
- \end{scope}
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsection{Options from \TIKZ: trim left or right}
-See the \tkzimp{pgfmanual}
-
-\subsection{\TIKZ\ Controls \tkzcname{pgfinterruptboundingbox} and \tkzcname{endpgfinterruptboundingbox}}
-This command temporarily interrupts the calculation of the box and configures a new box.
-
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
-\tkzDefPoint(0,5){A}\tkzDefPoint(5,4){B}
-\tkzDefPoint(0,0){C}\tkzDefPoint(5,1){D}
-\pgfinterruptboundingbox
- \tkzInterLL(A,B)(C,D)\tkzGetPoint{I}
-\endpgfinterruptboundingbox
-\tkzClipBB
- \tkzDrawCircle(I,B)
-\tkzDrawSegments(A,B C,D A,C)
-\end{tikzpicture}
-\end{tkzexample}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-axes.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-axes.tex
index 57ff5132d7..f7e9dd1363 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-axes.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-axes.tex
@@ -5,7 +5,7 @@ Fractions can be used for graduations.
%<--------------------------------------------------------------------->
% tkzDrawX
%<--------------------------------------------------------------------->
-\subsection{\tkzcname{tkzDrawX}} \hypertarget{dx}{}
+\subsection{\tkzcname{tkzDrawX}}
\begin{NewMacroBox}{tkzDrawX}{\oarg{local options}}%
This macro allows you to draw the abscissa axis with default ticks.
The options are those of \TIKZ\ plus the following ones:
@@ -82,7 +82,7 @@ It adds a little space after the last tick.
\end{tikzpicture}
\end{tkzexample}
- \subsubsection{Trigonometric axis with the option \tkzname{trig=$n$}}\hypertarget{newm}{}
+ \subsubsection{Trigonometric axis with the option \tkzname{trig=n}}
If $number=0$ then the axis is graduated from cm to cm, otherwise the axis is graduated using multiples of $\frac{\pi}{number}$.
\begin{tkzexample}[latex=6cm,small]
@@ -103,7 +103,7 @@ If $number=0$ then the axis is graduated from cm to cm, otherwise the axis is gr
%<--------------------------------------------------------------------->
% tkzLabelX
%<--------------------------------------------------------------------->
-\subsection{\tkzcname{tkzLabelX}}\hypertarget{lx}{}
+\subsection{\tkzcname{tkzLabelX}}
\begin{NewMacroBox}{tkzLabelX}{\oarg{local options}}%
This macro allows you to place graduations. The option \tkzname{orig} can be used again, but its behavior is reversed. By default, the original value is placed.
The options are those of \TIKZ, plus the following ones:
@@ -279,7 +279,7 @@ This prevents display problems.
%<--------------------------------------------------------------------->
% tkzAxeX
%<--------------------------------------------------------------------->
-\subsection{\tkzcname{tkzAxeX}}\hypertarget{ax}{}
+\subsection{\tkzcname{tkzAxeX}}
\begin{NewMacroBox}{tkzAxeX}{\oarg{local options}}%
This macro allows you to draw the abscissa axis with default ticks as well as the graduations. It combines the two macros \tkzcname{tkzDrawX} and \tkzcname{tkzLabelX}. It should only be used in simple cases.
@@ -333,7 +333,7 @@ In this example, we position the $t$ label as well as the graduations. \tkzcnam
%<--------------------------------------------------------------------->
% tkzDrawY
%<--------------------------------------------------------------------->
-\subsection{\tkzcname{tkzDrawY}} \hypertarget{dy}{}
+\subsection{\tkzcname{tkzDrawY}}
\begin{NewMacroBox}{tkzDrawY}{\oarg{local options}}%
This macro allows you to draw the ordinate axis with default ticks.
The options are those of \TIKZ\ plus the following ones:
@@ -355,7 +355,7 @@ options & default & definition \\
\end{tabular}
\end{NewMacroBox}
-\subsection{\tkzcname{tkzLabelY}} \hypertarget{ly}{}
+\subsection{\tkzcname{tkzLabelY}}
\begin{NewMacroBox}{tkzLabelY}{\oarg{local options}}%
This macro allows you to draw the abscissa axis with default ticks.
The options are those of \TIKZ\ plus the following ones:
@@ -378,7 +378,7 @@ options & default & definition \\
%<--------------------------------------------------------------------->
% tkzAxeY
%<--------------------------------------------------------------------->
-\subsection{\tkzcname{tkzAxeY}}\hypertarget{ay}{}
+\subsection{\tkzcname{tkzAxeY}}
\begin{NewMacroBox}{tkzAxeY}{\oarg{local options}}%
This macro combines the two macros:
\tkzcname{tkzDrawY} \tkzcname{tkzLabelY}
@@ -387,7 +387,7 @@ See \tkzcname{tkzAxeX} for options.
%<--------------------------------------------------------------------->
% tkzAxeXY
%<--------------------------------------------------------------------->
-\subsection{\tkzcname{tkzAxeXY}} \hypertarget{axy}{}
+\subsection{\tkzcname{tkzAxeXY}}
\begin{NewMacroBox}{tkzAxeXY}{\oarg{local options}}%
This macro combines the four macros:
\tkzcname{tkzDrawX}\tkzcname{tkzDrawY} \tkzcname{tkzLabelX}\tkzcname{tkzLabelY}
@@ -423,7 +423,7 @@ It is necessary to use common options as in the example below, but this means th
%<--------------------------------------------------------------------->
% tkzDrawXY
%<--------------------------------------------------------------------->
-\subsection{\tkzcname{tkzDrawXY}} \hypertarget{dxy}{}
+\subsection{\tkzcname{tkzDrawXY}}
\begin{NewMacroBox}{tkzDrawXY}{\oarg{local options}}%
This macro combines the two macros: \tkzcname{tkzDrawX}\tkzcname{tkzDrawY}.
It is necessary to use common options as in the example below.
@@ -447,7 +447,7 @@ It is necessary to use common options as in the example below.
%<--------------------------------------------------------------------->
% tkzLabelXY
%<--------------------------------------------------------------------->
-\subsection{\tkzcname{tkzLabelXY}} \hypertarget{lxy}{}
+\subsection{\tkzcname{tkzLabelXY}}
\begin{NewMacroBox}{tkzLabelXY}{\oarg{local options}}%
This macro combines the two macros:
@@ -468,7 +468,7 @@ It is necessary to use common options as in the example below.
%<--------------------------------------------------------------------->
% tkzSetUpAxis
%<--------------------------------------------------------------------->
-\subsection{Changing values by axis default} \hypertarget{axis}{}
+\subsection{Changing values by axis default}
\begin{NewMacroBox}{tkzSetUpAxis}{\oarg{local options}}%
\begin{tabular}{lll}%
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-compilation.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-compilation.tex
index b4fa699660..a9f6a9697a 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-compilation.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-compilation.tex
@@ -30,17 +30,13 @@ The code below allows you to test your installation of \tkzname{tkz-base}. Pleas
\begin{enumerate}
\item The compilation of this document and examples is obtained with \tkzimp{lua\LATEX}.
-\item In principle, \tkzNamePack{tkz-base} is not loaded by the user, it will be loaded by another package like \tkzNamePack{tkz-euclide} or \tkzNamePack{tkz-fct}. \tkzNamePack{tkz-base} loads \tkzNamePack{numprint} with the option \tkzNamePack{autolanguage}, \tkzNamePack{xfp} and of course {\TIKZ}.
+\item \tkzNamePack{tkz-base} loads \tkzNamePack{numprint} with the option \tkzNamePack{autolanguage}, \tkzNamePack{xfp} and of course {\TIKZ}.
\item \TIKZ\ seems that version 3 of pgf has fixed those problems. In case of difficulty, it is recommended to load the \NameLib{babel} library with \tkzcname{usetikzlabry\{babel\}}. Another possibility is to compile with Lua\LATEX.
\end{enumerate}
-
\subsection {\tkzNamePack{xfp} and \tkzNamePack{numprint}}
-
\tkzNamePack{xfp} now replaces \tkzNamePack{fp} in this package. One of the advantages for the user is a simplified syntax. It allows to manage calculations on large or very small numbers with precision. This slows down the compilation a bit, so it is better not to overuse it. \tkzNamePack{xfp} is used above all, to obtain correct graduations.
-
\tkzNamePack{numprint} was present when I started to write this series of packages, since \tkzNamePack{siunitx} has grown and I can understand that some people prefer it. In a future version, I plan to leave the choice of the package for displaying numbers.
-
\endinput
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-divers.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-divers.tex
index 7d2922647b..ed0eba66b4 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-divers.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-divers.tex
@@ -1,6 +1,6 @@
\section{Lines parallel to the axes}
-\subsection{ Draw a horizontal line with \tkzcname{tkzHLine}} \hypertarget{thl}{}
+\subsection{ Draw a horizontal line with \tkzcname{tkzHLine}}
\tkzHandBomb The syntax is that of \tkzname{xfp}!
\begin{NewMacroBox}{tkzHLine}{\oarg{local options}\marg{decimal number}}%
\begin{tabular}{lll}%
@@ -72,7 +72,7 @@ arguments & example & definition \\
\end{tkzexample}
-\subsection{ Draw a vertical line with \tkzcname{tkzVLine}} \hypertarget{tvl}{}
+\subsection{ Draw a vertical line with \tkzcname{tkzVLine}}
\tkzHandBomb The syntax is that of \tkzname{xfp}!
\begin{NewMacroBox}{tkzVLine}{\oarg{local options}\marg{decimal number}}%
\begin{tabular}{lll}%
@@ -146,7 +146,7 @@ arguments & example & definition \\
\section{Ticks on the axes}
%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
-\subsection{ Drawing one tick on the abscissa axis \tkzcname{tkzHTick}} \hypertarget{tht}{}
+\subsection{ Drawing one tick on the abscissa axis \tkzcname{tkzHTick}}
\begin{NewMacroBox}{tkzHTick}{\oarg{local options}\marg{decimal number}}%
\begin{tabular}{lll}%
arguments & example & definition \\
@@ -180,7 +180,7 @@ See options for \TIKZ.
\end{tikzpicture}
\end{tkzexample}
-\subsection{ Drawing ticks on the abscissa axis \tkzcname{tkzHTicks}} \hypertarget{thts}{}
+\subsection{ Drawing ticks on the abscissa axis \tkzcname{tkzHTicks}}
\begin{NewMacroBox}{tkzHTicks}{\oarg{local options}\marg{list of numbers}}%
\begin{tabular}{lll}
arguments & example & definition \\
@@ -192,7 +192,7 @@ arguments & example & definition \\
See options for \TIKZ.
\end{NewMacroBox}
-\subsection{ Drawing one tick on the ordinate axis \tkzcname{tkzVTick}} \hypertarget{tvt}{}
+\subsection{ Drawing one tick on the ordinate axis \tkzcname{tkzVTick}}
\begin{NewMacroBox}{tkzVTick}{\oarg{local options}\marg{decimal number}}%
\begin{tabular}{lll}%
arguments & example & definition \\
@@ -204,7 +204,7 @@ arguments & example & definition \\
See options for \TIKZ.
\end{NewMacroBox}
-\subsection{ Drawing ticks on the ordinate axis \tkzcname{tkzVTicks}} \hypertarget{tvts}{}
+\subsection{ Drawing ticks on the ordinate axis \tkzcname{tkzVTicks}}
\begin{NewMacroBox}{tkzVTicks}{\oarg{local options}\marg{decimal number}}%
\begin{tabular}{lll}
arguments & example & definition \\
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-example.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-example.tex
new file mode 100644
index 0000000000..a9faf42a9c
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-example.tex
@@ -0,0 +1,26 @@
+\section{Here are a few examples}
+
+Here is a very simple example that shows you that once the reference is defined, it is easy to work with the tools of my module. It is however possible to use the Tikz tools, but in this case you have to go back to the original coordinate system.
+
+\subsection{Recipe by month}
+
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}
+ \tkzInit[xmax=12,ymin=1000,ymax=11000,ystep=1000]
+ \tkzClip[space=2]
+ \tkzAxeX[label=month,below=10pt]
+ \tkzAxeY[label=Recipe]
+ \tkzDefPoint(1,2000){A}
+ \tkzDefPoint(2,3000){B}
+ \tkzDefPoint(4,2500){C}
+ \tkzDefPoint(5,4200){D}
+ \tkzDrawSegments[color=brown!50](A,B B,C C,D)
+ \tkzDrawMarks[mark=ball](A,B,C,D)
+ \tkzText[draw,color = red,fill = red!10,text width=3cm](5,6000)%
+ {\begin{center}\color{blue}%
+ Recipe by month\end{center}%
+ }
+\end{tikzpicture}
+\end{tkzexample}
+
+\endinput
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-grid.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-grid.tex
index 7440e24474..018e7a19fe 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-grid.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-grid.tex
@@ -21,7 +21,9 @@ options & default & definition \\
\end{tabular}
\medskip
-Default values can be changed in the configuration file or by macros. The color of the second grid is the same as the main grid, but less intense (by default |gray!50|). Same behavior for the line thickness (by default |0.75 of line width|). See the examples to change this behavior.
+Default values can be changed in the configuration file or by macros. The color of the second grid is the same as the main grid, but less intense (by default |gray!50|).
+
+Same behavior for the line thickness (by default |0.75 of line width|). See the examples to change this behavior.
\end{NewMacroBox}
\subsubsection{\tkzcname{tkzGrid} and the option \tkzname{sub}}
@@ -149,7 +151,7 @@ The grid can be any size.
\subsubsection{Use of a repetition grid}
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.5]
- \tikzset{xaxe style/.style ={-}}
+ % \tikzset{xaxe style/.style ={-}}
\tkzInit[xmax=15,ymax=15]
\tkzClip
\tkzGrid[sub,color=orange]
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-initialisation.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-initialisation.tex
index 6973481795..ea850c27a4 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-initialisation.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-initialisation.tex
@@ -48,7 +48,7 @@ The following code gives an error not because \numprint{6000000} is too large, b
With \tkzname{tkz-base}, it will be possible to work with any coordinates, but it will be necessary to use the macros of the package.
-\tkzNamePack{tkz-base} simplifies the use of different value ranges. This package is used by several of my packages such as \tkzname{tkz-tukey}, a package for drawing graphical representations in elementary statistics, \tkzNamePack{tkz-fct} which allows to draw graphical representations of functions using \tkzname{gnuplot}, as well as with \tkzname{tkz-euclide} for Euclidean geometry.
+\tkzNamePack{tkz-base} simplifies the use of different value ranges. This package is used by \tkzNamePack{tkz-fct} which allows to draw graphical representations of functions using \tkzname{gnuplot}.
First of all, you should know that it is not necessary to deal with \TIKZ\ with the size of the support (bounding box); however it is sometimes necessary, either to draw a grid, or to draw axes, or to work with a different unit than the centimeter, or finally to control the size of what will be displayed.
To do this, you must have prepared the frame in which you are going to work, this is the role of \tkzNamePack{tkz-base} and its main macro \tkzNameMacro{tkzInit}. For example, if you want to work on a 10 cm square, but such that the unit is the dm then you will have to use.
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-installation.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-installation.tex
index 9a773413ff..8954cd5e71 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-installation.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-installation.tex
@@ -1,41 +1,12 @@
\section{Installation}
-\NamePack{tkz-base} is now on the server of the \tkzname{CTAN}\footnote{\NamePack{tkz-base} is part of \NameDist{TeXLive} and \tkzname{tlmgr} allows to install it, it is also part of \NameDist{MikTeX} under \NameSys{Windows}.}. If you want to test a beta version, just put the following files in a texmf folder that your system will be able to find.
+\tkzname{\tkznameofpack} is now on the server of the \tkzname{CTAN}\footnote{\tkzname{\tkznameofpack} is part of \NameDist{TeXLive} and \tkzname{tlmgr} allows you to install them. This package is also part of \NameDist{MiKTeX} under \NameSys{Windows}.}. If you want to test a beta version, just put the following files in a texmf folder that your system can find.
+You will have to check several points:
-\subsection{Files present}
-%–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
-Before testing the installation, you can verify that the \tkzname{tkzbase} folder contains the following files:
-
-\begin{itemize}
-\item \tkzname{tkz-base.cfg}
-\item \tkzname{tkz-base.sty}
-\item \tkzname{tkz-lib-marks.tex}
-\item \tkzname{tkz-obj-axes.tex}
-\item \tkzname{tkz-obj-grids.tex}
-\item \tkzname{tkz-obj-marks.tex}
-\item \tkzname{tkz-obj-points.tex}
-\item \tkzname{tkz-obj-rep.tex}
-\item \tkzname{tkz-tools-arith.tex}
-\item \tkzname{tkz-tools-base.tex}
-\item \tkzname{tkz-tools-BB.tex}
-\item \tkzname{tkz-tools-math.tex}
-\item \tkzname{tkz-tools-misc.tex}
-\item \tkzname{tkz-tools-modules.tex}
-\item \tkzname{tkz-tools-print.tex}
-\item \tkzname{tkz-tools-text.tex}
-\item \tkzname{tkz-tools-utilities.tex}
+\begin{itemize}\setlength{\itemsep}{5pt}
+\item The \tkzname{\tkznameofpack} folder must be located on a path recognized by \tkzname{latex}.
+\item The \tkzname{\tkznameofpack} uses \tkzNamePack{xfp}.
+\item This documentation and all examples were obtained with \tkzname{lualatex} but \tkzname{pdflatex} or \tkzname{xelatex} should be suitable.
\end{itemize}
-The one with the main macros is \tkzname{tkz-tools-base.tex},
-it's called \tkzname{tkz-base} which handles all the files.
-The various tools are in files beginning with \tkzname{tkz-tools}, the mathematical objects created are in files whose name has for prefix \tkzname{tkz-obj}. Finally \tkzname{tkz-base.cfg} whose presence is not mandatory allows to modify many default values.
-
-Moreover, \TIKZ\ is loaded with the following libraries:
-
-\begin{tkzltxexample}[]
-\usetikzlibrary{angles, arrows, arrows.meta, babel, calc, decorations, decorations.markings,decoration.shapes, decorations.text, decorations.pathmorphing,
-decorations.pathreplacing, intersections, patterns, plotmarks, positioning, quotes,
-shapes.misc, through}
-\end{tkzltxexample}
-
\endinput
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-main.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-main.tex
index 5de59c95e3..6fa8be9e82 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-main.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-main.tex
@@ -1,7 +1,7 @@
%!TEX TS-program = lualatex
-% encoding: utf8
-% documentation of tkz-base.sty
-% Copyright 2020 Alain Matthes
+% encoding: utf8
+% documentation of tkz-base.sty
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -9,53 +9,33 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status “maintained”.
-%
+% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-% This work consists of the files:
-% TKZdoc-base-axes.tex
-% TKZdoc-base-BB.tex
-% TKZdoc-base-compilation.tex
-% TKZdoc-base-divers.tex
-% TKZdoc-base-example.tex
-% TKZdoc-base-faq.tex
-% TKZdoc-base-grid.tex
-% TKZdoc-base-initialisation.tex
-% TKZdoc-base-installation.tex
-% TKZdoc-base-main.tex
-% TKZdoc-base-marks.tex
-% TKZdoc-base-news.tex
-% TKZdoc-base-obj.tex
-% TKZdoc-base-point.tex
-% TKZdoc-base-rep.tex
-% TKZdoc-base-style.tex
-% TKZdoc-base-texte.tex
-% TKZdoc-base-tools.tex
+
\documentclass[DIV = 14,
fontsize = 10,
- headinclude = false,
index = totoc,
- footinclude = false,
twoside,
headings = small,
- cadre]{tkz-doc}
-\usepackage{etoc}
+ cadre
+ ]{tkz-doc}
+%\usepackage{etoc}
\gdef\tkznameofpack{tkz-base}
-\gdef\tkzversionofpack{3.06c}
-\gdef\tkzdateofpack{2020/03/20}
+\gdef\tkzversionofpack{4.00 b}
+\gdef\tkzdateofpack{2022/01/04}
\gdef\tkznameofdoc{doc-tkz-base}
-\gdef\tkzversionofdoc{3.06c}
-\gdef\tkzdateofdoc{2020/03/20}
+\gdef\tkzversionofdoc{4.00 b}
+\gdef\tkzdateofdoc{2022/01/04}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
\gdef\tkznamecollection{AlterMundus}
\gdef\tkzurlauthor{}
\gdef\tkzengine{lualatex}
\gdef\tkzurlauthorcom{http://altermundus.fr}
-% -- Packages ---------------------------------------------------
+% -- Packages ---------------------------------------------------
\usepackage{calc}
-\usepackage{tkz-euclide}
+\usepackage{tkz-base}
+\usepackage{tkz-euclide}
\usepackage[colorlinks]{hyperref}
\hypersetup{
linkcolor=Gray,
@@ -93,33 +73,33 @@
\usepackage{unicode-math}
\usepackage{fourier-otf}
\makeatletter
-\newfontfamily\zorna{ORNA4___.TTF}%\if@tkzcadre \usepackage{zorna} \fi
+\if@tkzcadre \usepackage{zorna} \fi
\makeatother
\usepackage{datetime,multicol,lscape}
\usepackage[english]{babel}
\usepackage[autolanguage]{numprint}
\usepackage[normalem]{ulem}
-\usepackage{microtype}
+%\usepackage{microtype}
\usepackage{array,multirow,multido,booktabs}
-\usepackage{shortvrb,fancyvrb}
+\usepackage{shortvrb,fancyvrb}
\renewcommand{\labelitemi}{--}
\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
-\pdfcompresslevel=9
+\pdfcompresslevel=9
\setlength\parindent{0pt}
-\RequirePackage{imakeidx}
+\RequirePackage{makeidx}
%\@twocolumnfalse
-\makeindex
+\makeindex
% \def\tkzref{\arabic{section}-\arabic{subsection}-\arabic{subsubsection}}
% \renewenvironment{tkzexample}[1][]{%
% \tkz@killienc \VerbatimOut{tkzbase-\tkzref.tex}%
% }{%
% \endVerbatimOut
% }
-%<--------------------------------------------------------------------------->
+%<--------------------------------------------------------------------------->
\begin{document}
\parindent=0pt
-\author{\tkzauthorofpack}
+\author{\tkzauthorofpack}
\title{\tkznameofpack}
\date{\today}
\clearpage
@@ -132,9 +112,9 @@
\setlength\unitlength{1mm}
\put(70,120){%
\begin{tikzpicture}
- \node at (30pt,30pt){\fontsize{60}{60}\selectfont \zorna{c}};
+ \node at (30pt,30pt){\fontsize{60}{60}\selectfont \zorna{c}};
\node at (270pt,30pt){\fontsize{60}{60}\selectfont \zorna{d}};
- \node at (30pt,210pt){\fontsize{60}{60}\selectfont \zorna{a}};
+ \node at (30pt,210pt){\fontsize{60}{60}\selectfont \zorna{a}};
\node at (270pt,210pt){\fontsize{60}{60}\selectfont \zorna{b}};
\draw[line width=2pt,double,color=MidnightBlue,
fill=myblue!10,opacity=.5] (0,0) rectangle (300pt,240pt);
@@ -142,48 +122,46 @@
\begin{center}
\color{MidnightBlue}
\fontsize{24}{48}
- \selectfont tkz-euclide\\
- tool for \\
- Euclidean Geometry
+ \selectfont tkz-base
\end{center}};
-\end{tikzpicture}}
-}
+\end{tikzpicture}}
+}
\else
\fi
\makeatother
\clearpage
-\tkzSetUpColors[background=white,text=darkgray]
+\tkzSetUpColors[background=white,text=darkgray]
\let\rmfamily\ttfamily
-\nameoffile{\tkznameofpack}
-\defoffile{\tkzname{\tkznameofpack} is a package based on \TIKZ\ to make graphics as simple as possible. It is the basis on which a series of packages will be built, having as a common point, the creation of drawings useful in the teaching of mathematics. The main function of Basic is to provide an orthogonal coordinate system, and to let the user choose the graphical units. This package requires version 3 or higher of \TIKZ.}
+\nameoffile{\tkznameofpack}
+\defoffile{\tkzname{\tkznameofpack} is a package based on \TIKZ\ to make graphics as simple as possible. It is the basis on which a series of packages will be built, having as a common point, the creation of drawings useful in the teaching of mathematics. The main function of \tkzname{\tkznameofpack} is to provide an orthogonal coordinate system, and to let the user choose the graphical units. This package requires version 3 or higher of \TIKZ.}
\presentation
-\vspace*{1cm}
+\vspace*{1cm}
\noindent\space I'd like to thank \textbf{Till~Tantau} for creating the wonderful tool \href{http://sourceforge.net/projects/pgf/}{\TIKZ}.
-\vspace*{12pt}
+\vspace*{12pt}
\noindent\space I thank \textbf{Yves~Combe} for sharing his work on the protractor and the compass constructions. I would also like to thank, \tkzimp{David~Arnold} who corrected a lot of errors and tested many examples, \tkzimp{Wolfgang~Büchel} who also corrected errors and built great scripts to get the example files, \tkzimp{John~Kitzmiller} and \tkzimp{Dimitri~Kapetas} for their examples, \tkzimp{Gaétan~Marris} for his remarks and corrections, and finally \tkzimp{Laurent Van Deik} for all his corrections, remarks and questions.
\vspace*{12pt}
-\noindent\space You will find many examples on my site:
+\noindent\space You will find many examples on my site:
\href{http://altermundus.fr}{altermundus.fr}.
\vfill
You can send your remarks, and reports on errors you find, to the following address: \href{mailto:al.ma@mac.com}{\textcolor{pdfurlcolor}{\tkzauthorofpack}}.
-
-This file can be redistributed and/or modified under the terms of the \LATEX\
+
+This file can be redistributed and/or modified under the terms of the \LATEX\
Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ archives.
\clearpage
\tableofcontents
-\clearpage
+\clearpage
\newpage
-\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
+\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
%<------------- includes -----------------------------------------------
\include{TKZdoc-base-news}
\include{TKZdoc-base-installation}
@@ -201,7 +179,7 @@ Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ arch
\include{TKZdoc-base-texte}
\include{TKZdoc-base-faq}
%<------------------------------------------------------------------------
-\clearpage\newpage
+\clearpage\newpage
\makeatletter
\begin{multicols}{2}
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-marks.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-marks.tex
index b54b04c69b..627401e5ac 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-marks.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-marks.tex
@@ -159,7 +159,7 @@ options & default & definition \\
\end{NewMacroBox}
\subsubsection{Mark and plot; use of \tkzcname{tkzDrawMarks}}
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}
\tkzInit[xmax=6,ymin=1000,
ymax=5000,ystep=1000]
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-news.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-news.tex
index 361d8198bf..2132c3914c 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-news.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-news.tex
@@ -1,18 +1,20 @@
\section{News and presentation}
-This package is the foundation of the \tkzNamePack{tkz-euclide} and \tkzNamePack{tkz-fct} in particular. It provides a Cartesian system that will be defined by the macro \tkzcname{tkzInit}. The package has been modified and object transfers between \tkzimp{tkz-base} and \tkzimp{tkz-euclide} have been performed.
-In the future, the definition macros will be isolated.
+This package was the foundation of the \tkzNamePack{tkz-euclide} and \tkzNamePack{tkz-fct} in particular. Now \tkzNamePack{tkz-euclide} is independent of \tkzname{\tkznameofpack}. \tkzimp{tkz-euclide} should be used only for Euclidean geometry. The package has been modified and object transfers between
+\tkzimp{tkz-base} and \tkzimp{tkz-euclide} have been performed.
+
+\tkzimp{tkz-base} provides a Cartesian system that will be defined by the macro \tkzcname{tkzInit}. The big difference now between \tkzname{tkznameofpack} and \tkzNamePack{tkz-euclide} is the role of the units. The unit in \tkzNamePack{tkz-euclide} is the cm and is fixed. Ce n'est pas le cas \tkzimp{tkz-base}
The main novelty is the recent replacement of the \tkzNamePack{fp} package by \tkzNamePack{xfp}. The appearance of this one is a step towards version 3 of \LATEX.
The next step will be the creation of a new package.
-Here are some of the changes. The |tkz-euclide| package brings more new features.
+Here are some of the changes. The \tkzimp{tkz-euclide} package brings more new features. \tkzimp{tkz-euclide} is used for some examples in this documentation.
+
\vspace{2cm}
\begin{itemize}\setlength{\itemsep}{10pt}
\item Code Improvement;
\item Bug correction;
\item The bounding box is now controlled in each macro (hopefully) to avoid the use of \tkzcname{tkzInit} followed by \tkzcname{tkzClip};
-\item Addition of macros for the "bounding box": \tkzcname{tkzSaveBB} \tkzcname{tkzClipBB};
\item Logically most macros accept \TIKZ\ options. So I removed the "duplicate" options;
\item Removing the option "label options";
\item Random points are now in \tkzimp{tkz-euclide} and the macro \tkzcname{tkzGetRandPointOn} is replaced by \tkzcname{tkzDefRandPointOn}. For homogeneity reasons, the points must be retrieved with \tkzcname{tkzGetPoint};
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-point.tex b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-point.tex
index b0fa58e01f..0798b4036e 100644
--- a/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-point.tex
+++ b/macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-point.tex
@@ -230,7 +230,7 @@ Let's see how to obtain an isosceles triangle with a principal angle of 30 degre
\end{tkzexample}
%<--------------------------------------------------------------------------->
-\subsection{Drawing a point \tkzcname{tkzDrawPoint}} \hypertarget{tdrp}{}
+\subsection{Drawing a point \tkzcname{tkzDrawPoint}}
\begin{NewMacroBox}{tkzDrawPoint}{\oarg{local options}\parg{point}}%
\begin{tabular}{lll}%
arguments & default & definition \\
@@ -344,7 +344,7 @@ Warning at the final "s", an oversight leads to cascading errors if you attempt
\tkzDefPoint(30:5){C}
\end{scope}
\tkzCalcLength[cm](A,B)\tkzGetLength{rAB}
- \tkzDrawCircle[R](A,\rAB cm)
+ \tkzDrawCircle[R](A,\rAB)
\tkzDrawSegment(A,B)
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(B,C)
@@ -451,7 +451,7 @@ Here the points are positioned relative to the center of gravity of $A,B,C \ \te
\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}[scale=1.25]
\tkzDefPoint(2,1){O}
- \tkzDefRandPointOn[circle=center O radius 1.5cm]
+ \tkzDefRandPointOn[circle=center O radius 1.5]
\tkzGetPoint{A}
\tkzDrawCircle(O,A)
\tkzDefPointBy[rotation=center O angle 100](A)
@@ -472,7 +472,7 @@ This time the reference is $O$ and the distance is by default $0.15$.
\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}[scale=1.25]
\tkzDefPoint(2,1){O}
- \tkzDefRandPointOn[circle=center O radius 1.5cm]
+ \tkzDefRandPointOn[circle=center O radius 1.5]
\tkzGetPoint{A}
\tkzDrawCircle(O,A)
\tkzDefPointBy[rotation=center O angle 100](A)
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/tkz-base.pdf b/macros/latex/contrib/tkz/tkz-base/doc/tkz-base.pdf
new file mode 100644
index 0000000000..d041bff87b
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/doc/tkz-base.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/preamble-standalone.ltx b/macros/latex/contrib/tkz/tkz-base/examples/preamble-standalone.ltx
deleted file mode 100644
index fb3587d4f6..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/preamble-standalone.ltx
+++ /dev/null
@@ -1,2 +0,0 @@
-\documentclass{standalone}
-\usepackage{tkz-euclide,tkz-fct}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.1.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.1.1.tex
deleted file mode 100644
index 6023292527..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.1.1.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 81 (Section 10.1.1 : Example with \tkzcname{tkzShowBB})
-
-\begin{tikzpicture}[scale=.5]
- \tkzInit[ymax=5,xmax=8]
- \tkzGrid
- \tkzDefPoint(3,0){A}
- \begin{scope}
- \tkzClipBB
- \tkzDrawCircle[R](A,5 cm)
- \tkzShowBB
- \end{scope}
-\tkzDrawCircle[R,red](A,4 cm)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.2.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.2.1.tex
deleted file mode 100644
index 7096d7d49a..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.2.1.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 82 (Section 10.2.1 : Example with \tkzcname{tkzClipBB} and the bisectors)
-
-\begin{tikzpicture}
- \tkzInit[xmin=-3,xmax=6, ymin=-1,ymax=6]
- \tkzDefPoint(0,0){O}\tkzDefPoint(3,1){I}
- \tkzDefPoint(1,4){J}
- \tkzDefLine[bisector](I,O,J) \tkzGetPoint{i}
- \tkzDefLine[bisector out](I,O,J) \tkzGetPoint{j}
- \tkzDrawPoints(O,I,J,i,j)
- \tkzClipBB
- \tkzDrawLines[add = 1 and 2,color=red](O,I O,J)
- \tkzDrawLines[add = 1 and 2,color=blue](O,i O,j)
- \tkzShowBB
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.3.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.3.1.tex
deleted file mode 100644
index 3e17f8f988..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.3.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 83 (Section 10.3.1 : Example with \tkzcname{tkzShowBB})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,3){B}
- \tkzDefPoint(1,1){C}
- \tkzSetBB(A)(2,2)
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,C)
- \tkzShowBB
-\end{tikzpicture}right
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.4.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.4.0.tex
deleted file mode 100644
index 8bcbcd13c1..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.4.0.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 84 (Section 10.4 : tkzSaveBB}{)
-
-\begin{tikzpicture}
- \begin{scope}
- \tkzSetBB(0,0)(6,2) \tkzShowBB[fill=blue!20]
- \tkzSaveBB
- \end{scope}
- \tkzDefPoint(3,3){A}\tkzShowBB
- \tkzDrawCircle[R,fill=yellow,opacity=.2](A,2cm)
- \tkzRestoreBB
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.5.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.5.1.tex
deleted file mode 100644
index 0c0288fae8..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.5.1.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 85 (Section 10.5.1 : Example of the use of \tkzcname{tkzRestoreBB})
-
-\begin{tikzpicture}
- \tkzDefPoint(-2,-2){A}
- \tkzDefPoint(2,1){B}
- \tkzDefPoint(0,0){O}
- \tkzSaveBB
- \tkzShowBB[red,line width=1pt]
- \tkzRestoreBB
- \tkzDrawCircle(O,B)
- \tkzClipBB
- \tkzFillCircle[gray!20](O,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.1.tex
deleted file mode 100644
index 8338c2b00f..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.1.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 86 (Section 10.6.1 : First example with \tkzcname{tkzClip}} \hypertarget{clip}{)
-
-\begin{tikzpicture}
- \tkzInit[xmax=3, ymax=3]
- \tkzGrid
- \tkzAxeXY
- \draw[red] (-1,-1)--(5,5);
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.2.tex
deleted file mode 100644
index 911dfcc2c5..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.2.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 87 (Section 10.6.2 : Second example with \tkzcname{tkzClip})
-
-\begin{tikzpicture}
- \tkzInit[xmax=3, ymax=3]
- \tkzGrid
- \tkzAxeXY
- \tkzClip
- \draw[red] (-1,-1)--(5,5);
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.3.tex
deleted file mode 100644
index e9f80c2e2b..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.6.3.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 88 (Section 10.6.3 : \tkzcname{tkzClip} et l'option \tkzname{space})
-
-\begin{tikzpicture}
- \tkzInit[xmax=3, ymax=3]
- \tkzGrid \tkzAxeXY
- \tkzClip[space=-0.5]
- \draw[red] (-0.5,-0.5)--(3.5,3.5);
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.7.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.7.1.tex
deleted file mode 100644
index 1c7e430f79..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.7.1.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 89 (Section 10.7.1 : Example with \tkzcname{tkzClipOutPolygon})
-
-\begin{tikzpicture}[scale=.5]
- \tkzInit[xmin=-5,xmax=5,ymin=-5,ymax=5]
- \pgfinterruptboundingbox
- \tkzDefPoints{-.5/0/P1,.5/0/P2}
- \foreach \i [count=\j from 3] in {2,...,7}{%
- \tkzDefShiftPoint[P\i]({45*(\i-1)}:1 cm){P\j}
- }
- \endpgfinterruptboundingbox
- \tkzClipOutPolygon(P1,P2,P3,P4,P5,P6,P7,P8)
- \tkzCalcLength[cm](P1,P5)\tkzGetLength{r}
- \begin{scope}[blend group=screen]
- \foreach \i in {1,...,8}{%
- \pgfmathparse{100-5*\i}
- \tkzFillCircle[R,color=blue!%
- \pgfmathresult](P\i,\r)
- }
- \end{scope}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.9.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.9.0.tex
deleted file mode 100644
index 95333829b4..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-10.9.0.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 90 (Section 10.9 : TikZ Controls \tkzcname{pgfinterruptboundingbox} and \tkzcname{endpgfinterruptboundingbox})
-
-\begin{tikzpicture}
-\tkzDefPoint(0,5){A}\tkzDefPoint(5,4){B}
-\tkzDefPoint(0,0){C}\tkzDefPoint(5,1){D}
-\pgfinterruptboundingbox
- \tkzInterLL(A,B)(C,D)\tkzGetPoint{I}
-\endpgfinterruptboundingbox
-\tkzClipBB
- \tkzDrawCircle(I,B)
-\tkzDrawSegments(A,B C,D A,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-12.1.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-12.1.2.tex
deleted file mode 100644
index f2a50ea34e..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-12.1.2.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 91 (Section 12.1.2 : Example of use )
-
-\begin{tikzpicture}
- \tikzset{xaxe style/.style={-}}
- \tikzset{yaxe style/.style={-}}
- \tkzInit[xmax=4,ymax=4]
- \tkzGrid
- \tkzDrawX
- \tkzDrawY
- \tkzRep[color=red,ynorm=2]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.1.tex
deleted file mode 100644
index 45ca2bdda2..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 92 (Section 13.1.1 : Horizontal line )
-
-\begin{tikzpicture}[scale=2]
- \tkzInit[xmax=3,ymax=1.5]
- \tkzAxeXY
- \tkzHLine[color = blue,
- style = dashed,
- line width = 2pt]{1}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.2.tex
deleted file mode 100644
index 94ccca28ce..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.1.2.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 93 (Section 13.1.2 : Horizontal line and value calculated by \tkzname{xfp} )
-
-\begin{tikzpicture}
- \tkzInit[xmin=-3,xmax=3,ymin=-2,ymax=1.5]
- \foreach\v in {-1,1}
- {\tkzHLine[color=red]{\v*pi/2}}
- \tkzDrawY
- \tkzAxeX[trig=2]
- \tkzLabelY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.2.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.2.1.tex
deleted file mode 100644
index be3fa56c3c..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.2.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 94 (Section 13.2.1 : Horizontal lines)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=4]
- \tkzAxeXY
- \tkzHLines[color = magenta]{1,...,3}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.1.tex
deleted file mode 100644
index df20f63775..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 95 (Section 13.3.1 : Vertical line )
-
-\begin{tikzpicture}[scale=2]
- \tkzInit[xmax=3,ymax=1]
- \tkzAxeXY
- \tkzVLine[color = blue,
- style = dashed,
- line width = 2pt]{1/3}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.2.tex
deleted file mode 100644
index 86aae74f57..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.3.2.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 96 (Section 13.3.2 : Vertical line and value calculated by \tkzname{xfp} )
-
-\begin{tikzpicture}
- \tkzInit[xmax=7,ymin=-1,ymax=1]
- \foreach\v in {1,2}
- {\tkzVLine[color=red]{\v*pi}}
- \tkzDrawY
- \tkzAxeX[trig=2]
- \tkzLabelY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.4.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.4.1.tex
deleted file mode 100644
index 5e1044b353..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-13.4.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 97 (Section 13.4.1 : Vertical lines)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=2]
- \tkzAxeXY
- \tkzVLines[color = green]{1,2,...,4}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-14.1.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-14.1.1.tex
deleted file mode 100644
index f007a0f054..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-14.1.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 98 (Section 14.1.1 : Example)
-
-\begin{tikzpicture}
- \tkzInit[xmax=6]
- \tkzDrawX
- \tkzHTick[mark=ball,mark size=3pt]{pi/2}
- \tkzHTick[mark=*,
- mark options={color=purple}]{2*exp(1)}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.1.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.1.1.tex
deleted file mode 100644
index fcb697749c..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.1.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 99 (Section 15.1.1 : Drawing of a scatter plot with \tkzcname{tkzDrawSetOfPoints})
-
-\begin{tikzpicture}[scale=0.75]
-\tkzInit[xmax=6,ymin=1000,ymax=5000,ystep=1000]
-\tkzDrawX[label=$m$,below=10pt]
-\tkzDrawY[label=$R(m)$,above=10pt]
-\tkzLabelX[font=\scriptsize]
-\tkzLabelY[font=\scriptsize]
-\tkzDefSetOfPoints[show]{1/2000,2/3000,4/2500,5/4200}
-\tkzDrawSetOfPoints[mark=ball,mark size=3pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.1.tex
deleted file mode 100644
index ee7889246b..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.1.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 100 (Section 15.2.1 : Link the points of a scatter plot with \tkzcname{tkzJoinSetOfPoints})
-
-\begin{tikzpicture}[scale=1]
-\tkzInit[xmax=5,
- ymin=1000,ymax=6000,ystep=1000]
-\tkzDrawX[label=$m$,below=13pt]
-\tkzDrawY[label=$R(m)$]
-\tkzLabelX[font=\scriptsize]
-\tkzLabelY[font=\scriptsize]
-\tkzDefSetOfPoints{%
- 1/2000,2/3000,4/2500,5/4200}
-\tkzJoinSetOfPoints[%
- thick,
- color=brown]
-\tkzDrawSetOfPoints[%
- mark=ball
- ,mark size=3pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.2.tex
deleted file mode 100644
index cd6f35cdb5..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.2.2.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 101 (Section 15.2.2 : Using the points of a scatter plot)
-
-\begin{tikzpicture}[scale=.5]
-\tkzInit[xmax=5,ymin=1000,
- ymax=6000,ystep=1000]
-\tkzGrid[color=orange!30]
-\tkzDrawX[label=$m$,below=13pt]
-\tkzDrawY[label=$R(m)$]
-\tkzLabelX[font=\scriptsize]
-\tkzLabelY[font=\scriptsize]
-\tkzDefSetOfPoints[prefix=P]{%
- 1/2000,2/3000,3/2000,4/2500,5/4200}
-\tkzDrawPolySeg[%
- color=brown!50,
- line width=2pt](P1,P2,P3,P4,P5)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.3.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.3.1.tex
deleted file mode 100644
index ef5a5afd8f..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.3.1.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 102 (Section 15.3.1 : Two scatter plots)
-
-\begin{tikzpicture}
-\tkzInit[xmax=5.5,ymin=1000,%
- ymax=6000,ystep=2000]
-\tkzGrid[color=orange!30]
-\tkzDrawX[label=$m$,below=13pt]
-\tkzDrawY[above left,label=$R(m)$]
-\tkzLabelX[below right,font=\scriptsize]
-\tkzLabelY[font=\scriptsize]
-\tkzDefSetOfPoints{1/2000,2/3000,3/2000,
- 4/2500,5/4200}
-\tkzDefSetOfPoints[prefix=P]{1/3200,2/4100,
- 3/3300,4/3300,5/5000}
-\tkzSetUpMark[mark=heart,color=black,
- fill=red!30,size=4pt]
-\tkzJoinSetOfPoints[thick,color=blue,double]
-\tkzDrawSetOfPoints
-\tkzJoinSetOfPoints[prefix=P,thick,color=orange]
-\tkzDrawSetOfPoints[prefix=P,mark=square*,
- mark size=4pt,
- mark options={color=blue,fill=blue!40}]
-\tkzText[draw,color = red,
- fill = orange!20](3,5800)%
- {Recette en fonction du mois}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.4.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.4.1.tex
deleted file mode 100644
index 9b7b417d45..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.4.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 103 (Section 15.4.1 : Ball; use of \tkzcname{tkzDrawMarks})
-
-\begin{tikzpicture}
- \tkzInit[xmax=3,ymax=1]
- \tkzAxeXY
- \tkzDrawMark[mark=ball](1,.5)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.5.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.5.1.tex
deleted file mode 100644
index 6b385195a3..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-15.5.1.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 104 (Section 15.5.1 : Mark and plot; use of \tkzcname{tkzDrawMarks})
-
-\begin{tikzpicture}
- \tkzInit[xmax=6,ymin=1000,
- ymax=5000,ystep=1000]
- \tkzAxeXY
- \tkzDefSetOfPoints[prefix=P]{%
- 1/2000,
- 2/3000,
- 4/2500,
- 5/4200}
- \tkzDrawSegments[color=brown!50]%
-(P1,P2 P2,P3 P3,P4)
- \tkzDrawMarks[mark=ball](P1,P2,P3,P4)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.1.tex
deleted file mode 100644
index 0e9800230a..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 105 (Section 16.1.1 : A title)
-
-\begin{tikzpicture}
- \tkzInit[xmax = 6, ymin = 1000,%
- ymax = 4000,ystep = 1000]
- \tkzAxeXY
- \tkzText[draw,
- line width = 1pt,%
- color = red,%
- fill = orange!20](3,4000)%
- {Recette en fonction du mois}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.2.tex
deleted file mode 100644
index af01603728..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.2.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 106 (Section 16.1.2 : Draft)
-
-\begin{tikzpicture}
- \tkzInit[xmax = 6, ymin = 1000,%
- ymax = 4000,ystep = 1000]
- \tkzGrid \tkzAxeXY
- \tkzText[draw,opacity=.2,
- rotate=45,inner sep=.6 cm,
- line width = 1pt,
- color = black,
- fill = purple!20](3,2500)
- {\Huge DRAFT}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.3.tex
deleted file mode 100644
index 218edf8c6c..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.3.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 107 (Section 16.1.3 : Text with a period)
-
-\begin{tikzpicture}
- \tkzInit[ymax=5,xmax=6]
- \tkzAxeXY
- \tkzDefPoint(3,3){A}
- \tkzText[draw,opacity=.6,
- inner sep=.6 cm,
- line width = 1pt,
- color = black,
- fill = purple!20](A)
- {My text}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.4.tex
deleted file mode 100644
index 3dd1a8b774..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.1.4.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 108 (Section 16.1.4 : Text format)
-
-\begin{tikzpicture}
- \tkzInit[ymax=5,xmax=6]
- \tkzAxeXY
- \tkzText[draw,opacity=.6,
- inner sep=.6 cm,
- line width = 1pt,
- color = black,
- fill = purple!20,
- text width=3cm](3,3)
- {My text\\\ Reference}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.2.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.2.1.tex
deleted file mode 100644
index ebb9c33b21..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-16.2.1.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 109 (Section 16.2.1 : Legends with symbols)
-
-\begin{tikzpicture}
-\tkzInit[xmax=12,ymin=1000,ymax=11000,ystep=2000]
-\tkzGrid[color=orange!30]
-\tkzDrawX[below right,label=Mois]
-\tkzDrawY[above left,label=Recette]
-\tkzLabelX
-\tkzLabelY
-\tkzDefSetOfPoints{1/2000,2/3000,3/2000,4/2500,5/4200,6/4800,7/4600,
- 8/5200,9/6200,10/7000,11/7400,12/10000}
-\tkzDefSetOfPoints[prefix=P]{1/3200,2/4100,3/3300,4/3300,5/5000,6/5500,7/5200,8/4000,
- 9/3000,10/6000,11/8400,12/9000}
-\tkzSetUpMark[mark=heart,color=black,fill=red!30,size=4pt]
-\tkzJoinSetOfPoints[thick,color=brown,double]
-\tkzDrawSetOfPoints
-\tkzJoinSetOfPoints[prefix=P,thick,color=orange,double]
-\tkzDrawSetOfPoints[prefix=P,mark=square*,mark size=4pt,
- mark options={color=blue,fill=blue!40}]
-\tkzLegend[draw,rounded corners,fill=orange!20,text=brown,
- line width=2pt](5,10000){heart/1ex/red!30/Product Recipe A,%
- square*/0.75ex/blue!40/Product Recipe B}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-3.1.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-3.1.0.tex
deleted file mode 100644
index 970ba14baa..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-3.1.0.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 2 (Section 3.1 : Installation test)
-
-\begin{tikzpicture}
- \tkzInit[xmax=4,ymax=4]
- \tkzGrid
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.1.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.1.0.tex
deleted file mode 100644
index 8bc4bea581..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.1.0.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 5 (Section 4.1 : Example that poses a problem )
-
-\begin{tikzpicture}[x=0.01 cm]
- \draw (0,0)--(600,0);
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.2.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.2.0.tex
deleted file mode 100644
index f3e6d2b710..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-4.2.0.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 6 (Section 4.2 : The role of \tkzname{\tkznameofpack})
-
-\begin{tikzpicture}[x=0.000001 cm]
- \coordinate (x) at (6000000,0);
- \draw (0,0)--(x);
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.1.tex
deleted file mode 100644
index d081a3f16b..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.1.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 7 (Section 5.1.1 : Changing the drawing size with \tkzcname{tkzInit})
-
-\begin{tikzpicture}
- \tkzInit[xmax=8,ymax=6]
- \tkzGrid
- \tkzAxeXY
- \draw[blue](-1,0)--(6,7);
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.2.tex
deleted file mode 100644
index 7cff1c3528..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.1.2.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 8 (Section 5.1.2 : Role of \tkzname{xstep} , \tkzname{ystep})
-
-\begin{tikzpicture}
- \tkzInit[xmax=10,xstep=2,ymax=800,ystep=400]
- \tkzGrid
- \tkzAxeXY
-
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.0.tex
deleted file mode 100644
index 6f295c7387..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.0.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 9 (Section 5.2 : Another example with \tkzname{xstep} and \tkzname{ystep})
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,xstep=1,ymax=2,ystep=.5]
- \tkzGrid
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.1.tex
deleted file mode 100644
index 31f8f77fc3..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.1.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 10 (Section 5.2.1 : Customized origin.)
-
-\begin{tikzpicture}
- \tkzInit[xmin=20,
- xmax=50,
- xstep=10,
- ymin=5000,
- ymax=5150,
- ystep=50]
- \tkzAxeXY
- \tkzDefPoint(30,5100){A}
- \tkzDrawPoint(A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.2.tex
deleted file mode 100644
index e28f644331..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.2.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 11 (Section 5.2.2 : Use of decimals )
-
-\begin{tikzpicture}
- \tkzInit[xmin=0.00, xmax=0.05,
- ymin=1.2200,ymax=1.2215,
- xstep=0.01, ystep=0.0005]
- \tkzAxeXY
- \tkzDefPoint(.04,1.22025){I}
- \tkzDrawPoint(I)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.3.tex
deleted file mode 100644
index 3aaba65fba..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-5.2.3.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 12 (Section 5.2.3 : Negative values)
-
-\begin{tikzpicture}
- \tkzInit[xmin = -40,
- xmax = 60,
- ymin = -40,
- ymax = 60,
- xstep = 20,
- ystep = 20]
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.0.tex
deleted file mode 100644
index 063873cdbe..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.0.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 13 (Section 6.1 : \tkzcname{tkzDrawX}} \hypertarget{dx}{)
-
-\begin{tikzpicture}[>=latex,scale=2]
- \draw[line width=2 pt](0,0)--(4,0);
- \draw[fill] (2cm-6pt,-14pt) rectangle (2cm+6pt,+14pt);
- \draw[<->](2cm-6.5pt,18pt) -- (2cm+6.5pt,+18pt);
- \node[above] at (2cm,20pt) {tickwd};
- \draw[<->](2cm+10pt,1pt) -- (2cm+10pt,+14pt);
- \node[right] at (2cm+10pt,8pt) {tickup};
- \draw[<->](2cm+10pt,-1pt) -- (2cm+10pt,-14pt);
- \node[right] at (2cm+10pt,-8pt) {tickdn};
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.1.tex
deleted file mode 100644
index 1c08d022ed..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.1.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 14 (Section 6.1.1 : No tick, no label)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5]
- \tkzDrawX[label={},noticks]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.2.tex
deleted file mode 100644
index caaa0740d7..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.2.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 15 (Section 6.1.2 : Label placement)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5]
- \tkzDrawX[label = quantity,
- above left = 8pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.3.tex
deleted file mode 100644
index 73e081bc16..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.3.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 16 (Section 6.1.3 : Label and Axis Colour)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5]
- \tkzDrawX[text=blue,color=red,right=12pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.4.tex
deleted file mode 100644
index 9e5d06a4d6..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.4.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 17 (Section 6.1.4 : Option \tkzname{right space})
-
-\begin{tikzpicture}
-\tkzInit[xmax=0.4,xstep=0.1]
-\tkzDrawX[text=blue,color=red,right=12pt,right space=1]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.5.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.5.tex
deleted file mode 100644
index da59559630..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.5.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 18 (Section 6.1.5 : Trigonometric axis with the option \tkzname{trig=1}}\hypertarget{newm}{)
-
-\begin{tikzpicture}
- \tkzInit[xmin=0,xmax=4,ymin=-1,ymax=1]
- \tkzDrawX[trig=1]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.6.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.6.tex
deleted file mode 100644
index eb3e5e4702..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.1.6.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 19 (Section 6.1.6 : Trigonometric axis with the option \tkzname{trig=2} )
-
-\begin{tikzpicture}
- \tkzInit[xmin=0,xmax=4,ymin=-1,ymax=1]
- \tkzDrawX[trig=2]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.10.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.10.1.tex
deleted file mode 100644
index 7e58a72042..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.10.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 43 (Section 6.10.1 : Changing the default axes)
-
-\begin{tikzpicture}[scale=1]
- \tkzInit[ymax=2,xmax=4]
- \tkzSetUpAxis[line width=1pt,tickwd=1pt,ticka=3pt, tickb=0pt]
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.1.tex
deleted file mode 100644
index 1058d470a7..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 20 (Section 6.2.1 : Position of the graduations)
-
-\begin{tikzpicture}
-\tkzInit[xmax=.5,xstep=0.1]
-\tkzDrawX[label=$t$,text=blue,color=red]
-\tkzLabelX[text=blue,below = 3pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.10.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.10.tex
deleted file mode 100644
index 827c87c4f8..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.10.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 32 (Section 6.2.10 : Only positive graduations before drawings )
-
-\begin{tikzpicture}
- \tkzInit[xmin=2,ymin=2,xmax=4,ymax=4]
- \tkzLabelX \tkzLabelY
- \tkzDrawXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.11.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.11.tex
deleted file mode 100644
index b24ace923e..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.11.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 33 (Section 6.2.11 : No graduations at the origin )
-
-\begin{tikzpicture}
- \tkzInit[xmin=2,ymin=2,xmax=4,ymax=4]
- \tkzLabelX[orig] \tkzLabelY[orig]
- \tkzDrawXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.2.tex
deleted file mode 100644
index 62044924c0..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.2.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 21 (Section 6.2.2 : Position of the graduations with \tkzname{xlabel style})
-
-\begin{tikzpicture}
- \tkzInit[xmin=1000,xmax=4000,xstep=1000]
- \tkzDrawX
- \tikzset{xlabel style/.append style={rotate=-30}}
- \tkzLabelX[below right=3 pt,inner sep = 1pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.3.tex
deleted file mode 100644
index 18c8ee2031..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.3.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 22 (Section 6.2.3 : Dates with \tkzname{np off})
-
-\begin{tikzpicture}
- \tkzInit[xmin=2000,xmax=2004]
- \tkzDrawX
- \tikzset{xlabel style/.append style={rotate=-30}}
- \tkzLabelX[np off,below right=3 pt,inner sep =1pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.4.tex
deleted file mode 100644
index ed1e4ce69a..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.4.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 23 (Section 6.2.4 : \tkzname{frac})
-
-\begin{tikzpicture}
-\tkzInit[xmax=1.75,xstep=0.33333]
-\tkzDrawX[label=$t$,text=blue,color=red]
-\tkzLabelX[frac=3,text=blue,below = 6pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.5.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.5.tex
deleted file mode 100644
index f566cb7158..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.5.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 24 (Section 6.2.5 : \tkzname{trig})
-
-\begin{tikzpicture}
- \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
- \tkzDrawX[trig=2]
- \tkzLabelX[trig=2,text=blue,below = 8pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.6.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.6.tex
deleted file mode 100644
index ea7b67133b..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.6.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 28 (Section 6.2.6 : Graduations size)
-
-\begin{tikzpicture}
- \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
- \tkzDrawX[trig=2]
- \tkzLabelX[trig=2,text=blue,
- below = 8pt,node font=\scriptsize]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.7.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.7.tex
deleted file mode 100644
index 9abf0c8edb..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.7.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 29 (Section 6.2.7 : Colour of the graduations)
-
-\begin{tikzpicture}
- \tkzInit[xmin = -2,xmax = 3,
- ymin = -2,ymax = 2]
- \tkzDrawX[color = red,
- label = $\displaystyle\frac{1}{t}$,
- below = 6pt]
- \tkzLabelX[text=blue]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.8.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.8.tex
deleted file mode 100644
index dad9b9dede..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.8.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 30 (Section 6.2.8 : Axis drawings before the graduation)
-
-\begin{tikzpicture}
-\tkzInit[xmin = -1,xmax = 4,
- ymin = -1,ymax = 1]
-\tkzDrawXY \tkzLabelX \tkzLabelY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.9.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.9.tex
deleted file mode 100644
index 330556ce29..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.2.9.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 31 (Section 6.2.9 : Graduations (except originally) prior to tracings )
-
-\begin{tikzpicture}
- \tkzInit[xmin = -1,xmax = 4,
- ymin = -1,ymax = 1]
- \tkzLabelX[orig=false]
- \tkzLabelY[orig=false]
- \tkzDrawXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.1.tex
deleted file mode 100644
index 141057b12c..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 34 (Section 6.3.1 : Example with \tkzcname{tkzAxeX})
-
-\begin{tikzpicture}
- \tkzInit[xmax=0.5,xstep=0.1,ymax=1]
- \tkzGrid
- \tkzAxeX[text=blue]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.2.tex
deleted file mode 100644
index d12382c3f0..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.2.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 35 (Section 6.3.2 : Use of \tkzname{pi} and \tkzcname{tkzAxeX})
-
-\begin{tikzpicture}
- \tkzInit[xmax=4,ymax=3.5]
- \let\tkzmathstyle\displaystyle
- \tkzLabelX[orig = false, frac = 4,below = 10pt]
- \tkzDrawX[label = $t$]
- \tkzAxeY[trig=2]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.3.tex
deleted file mode 100644
index 1e8788f169..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.3.3.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 36 (Section 6.3.3 : Option \tkzname{frac} and \tkzname{trig})
-
-\begin{tikzpicture}
- \tkzInit[xmax=9,xstep=3,ymax=3.5]
- \tkzLabelX[below=10pt,orig=false,frac=3]
- \tkzDrawX[label = $t$]
- \tkzAxeY[trig=2]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.1.tex
deleted file mode 100644
index 8a36f37ea2..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.1.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 37 (Section 6.7.1 : Colour of axes, graduations)
-
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=3]
- \tkzAxeXY[label={},text=blue]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.2.tex
deleted file mode 100644
index 540bb7a361..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.2.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 38 (Section 6.7.2 : Option \tkzname{label=\{\}})
-
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=2]
- \tkzAxeXY[label={},text=blue,trig=2]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.3.tex
deleted file mode 100644
index d3206c7098..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.7.3.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 39 (Section 6.7.3 : Option \tkzname{swap})
-
-\begin{tikzpicture}
-\tkzInit[xmin=-2,xmax=2,ymin=-2,ymax=2]
-\tkzAxeXY[label={},swap]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.1.tex
deleted file mode 100644
index 817fe2f73d..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.1.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 40 (Section 6.8.1 : Common colour and empty labels)
-
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=1]
- \tkzDrawXY[label={},color=red]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.2.tex
deleted file mode 100644
index a400f26e56..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.8.2.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 41 (Section 6.8.2 : Two trigonometric axes)
-
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=1]
- \tkzDrawXY[label={},color=red,trig=4]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.9.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.9.1.tex
deleted file mode 100644
index fbe1715ac3..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-6.9.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 42 (Section 6.9.1 : )
-
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=1]
- \tkzDrawXY[label={},color=red]
- \tkzLabelXY[text=blue]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.1.tex
deleted file mode 100644
index 48d6af4edb..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 44 (Section 7.0.1 : \tkzcname{tkzGrid} and the option \tkzname{sub})
-
-\begin{tikzpicture}
- \tkzInit[xmax=4, ymax=2]
- \tkzGrid[sub]
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.10.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.10.tex
deleted file mode 100644
index 71c48e503d..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.10.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 53 (Section 7.0.10 : Options \tkzname{frac} and \tkzname{trig} with \tkzcname{tkzGrid})
-
-\begin{tikzpicture}
- \tkzInit[xmax=9,xstep=3,ymax=4]
- \tkzGrid[xstep=1,ystep=pi/2,sub,
- subxstep=1,subystep=pi/4]
- \tkzLabelX[label=$t$,orig=false,frac=3,
- below=6pt,font=\scriptsize]
- \tkzLabelY[trig=2,font=\scriptsize]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.11.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.11.tex
deleted file mode 100644
index 2c4a516f23..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.11.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 54 (Section 7.0.11 : Use of a repetition grid)
-
-\begin{tikzpicture}[scale=.5]
- \tikzset{xaxe style/.style ={-}}
- \tkzInit[xmax=15,ymax=15]
- \tkzClip
- \tkzGrid[sub,color=orange]
- \tkzLabelX[label= ] \tkzLabelY[label= ]
- \tkzDrawXY
- \node[opacity=.5] at (8,6){%
- \includegraphics[scale=.5]{tiger}};
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.2.tex
deleted file mode 100644
index a8799fd7b9..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.2.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 45 (Section 7.0.2 : Option \tkzname{sub})
-
-\begin{tikzpicture}
- \tkzInit[xmax=4, ymax=2]
- \tkzGrid[sub,color=orange,
- subxstep=.5,subystep=.5]
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.3.tex
deleted file mode 100644
index 94bbba05f8..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.3.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 46 (Section 7.0.3 : Almost Default)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=2]
- \tkzGrid[color=orange]
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.4.tex
deleted file mode 100644
index b881b4336b..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.4.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 47 (Section 7.0.4 : Under the grid, too, option \tkzname{sub})
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=2]
- \tkzGrid[sub,color=orange]
- \tkzGrid[color=orange]
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.5.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.5.tex
deleted file mode 100644
index c5e861f58e..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.5.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 48 (Section 7.0.5 : Grid change)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=2]
- \tkzGrid[color = orange,
- sub,
- subxstep = 0.1,
- subystep = 0.1]
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.6.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.6.tex
deleted file mode 100644
index 590d222821..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.6.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 49 (Section 7.0.6 : Option \tkzname{xstep}, \tkzname{xstep}, \tkzname{subxstep} and \tkzname{subystep})
-
-\begin{tikzpicture}
-\tkzInit[xmax=.5,xstep=.1,
- ymax=.2,ystep=.1]
-\tkzGrid[sub,
- subxstep = 0.05,
- subystep = 0.05,
- color=orange]
-\tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.7.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.7.tex
deleted file mode 100644
index 6e550f4bc2..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.7.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 50 (Section 7.0.7 : With large intervals)
-
-\begin{tikzpicture}
- \tkzInit[xmax=100,xstep=20,
- ymax=3000,ystep=1000]
- \tkzGrid[sub,subxstep=10,
- subystep=500,
- color=orange]
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.8.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.8.tex
deleted file mode 100644
index d41d94a904..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.8.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 51 (Section 7.0.8 : \tkzcname{tkzGrid} and the arguments)
-
-\begin{tikzpicture}
- \tkzInit[xmax=100,xstep=20,
- ymax=3000,ystep=1000]
- \tkzGrid[sub,subxstep=10,
- subystep=500,
- color=orange]
- (-20,-1000)(115,4000)%
- \tkzAxeXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.9.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.9.tex
deleted file mode 100644
index 1584da5a14..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-7.0.9.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 52 (Section 7.0.9 : Use of \tkzname{pi} with \tkzcname{tkzGrid})
-
-\begin{tikzpicture}[scale=.75]
- \tkzInit[xmax=6.5,ymax=6.5]
- \tkzGrid[xstep=pi,ystep=pi/2,sub,
- subxstep=pi/4,subystep=pi/4]
- \tkzLabelX[label=$t$,orig=false,trig=4,
- below=6pt,font=\scriptsize]
- \tkzLabelY[trig=2,font=\scriptsize]
- \tkzDrawXY
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.1.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.1.1.tex
deleted file mode 100644
index bd7c3ec966..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.1.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 55 (Section 8.1.1 : Use of \tkzname{shift})
-
-\begin{tikzpicture}[trim left=-1cm]
- \tkzDefPoint(2,3){A}
- \tkzDefPoint[shift={(2,3)}](31:3){B}
- \tkzDefPoint[shift={(2,3)}](158:3){C}
- \tkzDrawSegments[color=red,line width=1pt](A,B A,C)
- \tkzDrawPoints[color=red](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.1.tex
deleted file mode 100644
index 50b72e5ba0..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.1.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 72 (Section 8.10.1 : Example with \tkzcname{tkzAutoLabelPoints})
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(2,1){O}
- \tkzDefRandPointOn[circle=center O radius 1.5cm]
- \tkzGetPoint{A}
- \tkzDrawCircle(O,A)
- \tkzDefPointBy[rotation=center O angle 100](A)
- \tkzGetPoint{C}
- \tkzDefPointBy[rotation=center O angle 78](A)
- \tkzGetPoint{B}
- \tkzDrawPoints(O,A,B,C)
- \tkzDrawSegments(C,B B,A A,O O,C)
- \tkzDefCentroid(A,B,C,O)
- \tkzDrawPoint(tkzPointResult)
- \tkzAutoLabelPoints[center=tkzPointResult,
- dist=.3,red](O,A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.2.tex
deleted file mode 100644
index f20ff7b2ce..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.10.2.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 73 (Section 8.10.2 : Example with \tkzcname{tkzAutoLabelPoints})
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(2,1){O}
- \tkzDefRandPointOn[circle=center O radius 1.5cm]
- \tkzGetPoint{A}
- \tkzDrawCircle(O,A)
- \tkzDefPointBy[rotation=center O angle 100](A)
- \tkzGetPoint{C}
- \tkzDefPointBy[rotation=center O angle 78](A)
- \tkzGetPoint{B}
- \tkzDrawPoints(O,A,B,C)
- \tkzDrawSegments(C,B B,A A,O O,C)
- \tkzAutoLabelPoints[center=O,red](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.1.tex
deleted file mode 100644
index edce61975b..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 74 (Section 8.11.1 : Simple example with \tkzcname{tkzSetUpPoint})
-
-\begin{tikzpicture}
- \tkzSetUpPoint[shape = cross out,
- color=blue]
- \tkzInit[xmax=100,xstep=20,ymax=.5]
- \tkzDefPoint(20,1){A}
- \tkzDefPoint(80,0){B}
- \tkzDrawLine(A,B)
- \tkzDrawPoints(A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.2.tex
deleted file mode 100644
index 5ce9db1926..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.2.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 75 (Section 8.11.2 : Example with \tkzcname{tkzSetUpPoint})
-
-\begin{tikzpicture}
- \tkzInit[ymin=-0.5,ymax=3,xmin=-0.5,xmax=7]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(02.25,04.25){B}
- \tkzDefPoint(4,0){C}
- \tkzDefPoint(3,2){D}
- \tkzDrawSegments(A,B A,C A,D)
- \tkzSetUpPoint[shape=cross out,size=4,]
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.3.tex
deleted file mode 100644
index c72d5db012..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.11.3.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 76 (Section 8.11.3 : Using \tkzcname{tkzSetUpPoint} in a group)
-
-\begin{tikzpicture}
- \tkzInit[ymin=-0.5,ymax=3,xmin=-0.5,xmax=7]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(02.25,04.25){B}
- \tkzDefPoint(4,0){C}
- \tkzDefPoint(3,2){D}
- \tkzDrawSegments(A,B A,C A,D)
-{\tkzSetUpPoint[shape=cross out,
- fill= blue!70!black!!50,
- size=4,color=blue!70!black!30]
- \tkzDrawPoints(A,B)}
- \tkzSetUpPoint[fill= blue!70!black!!50,size=4,
- color=blue!70!black!30]
- \tkzDrawPoints(C,D)
- \tkzLabelPoints(A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.2.tex
deleted file mode 100644
index 7c01960032..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.2.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 77 (Section 8.12.2 : Example with \tkzcname{tkzPointShowCoord})
-
-\begin{tikzpicture}[scale=1.5]
- \tkzInit[xmax=3,ymax=2]
- \tkzAxeXY
- \tkzDefPoint(2,1){a}
- \tkzPointShowCoord(a)
- \tkzDrawPoint(a)
- \tkzLabelPoint(a){$A_1$}
- \tkzPointShowCoord({1,2})
- \tkzDrawPoint({1,2})
- \tkzLabelPoint({1,2}){$A_2$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.3.tex
deleted file mode 100644
index e45c6166c0..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.12.3.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 78 (Section 8.12.3 : Example with \tkzcname{tkzPointShowCoord} and \tkzname{xstep})
-
-\begin{tikzpicture}[xscale=3,yscale=2]
- \tkzInit[xmax=15,ymax=15,
- xstep=10,ystep=10]
- \tkzAxeXY
- \tkzDefPoint(10,10){a} \tkzDrawPoint(a)
- \tkzPointShowCoord(a)
- \tkzLabelPoint(a){$A_1$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.13.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.13.1.tex
deleted file mode 100644
index 4776c77e1b..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.13.1.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 79 (Section 8.13.1 : Creating a scatter plot with \tkzcname{tkzDefSetOfPoints})
-
-\begin{tikzpicture}
- \tkzInit[ymax=4,xmax=5]
- \tkzAxeXY
- \tkzDefSetOfPoints[prefix=P]%
- {1/2,4/3,2/2.5}
- \tkzDrawPoints(P1,P2,P3)
- \tkzLabelPoints(P1,P2,P3)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.0.tex
deleted file mode 100644
index 9317c040a1..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.0.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 56 (Section 8.2 : Placing a label with the library \tkzname{quotes})
-
-\begin{tikzpicture}[trim left=-1cm]
- \tkzDefPoint["-60:$A_n$" ](2,3){A}
- \tkzDefPoint[shift={(2,3)},%
- "$B_n$" above left](31:3){B}
- \tkzDefPoint[shift={(2,3)},%
- "$C_n$" above right](158:3){C}
- \tkzDrawSegments[color=red,%
- line width=1pt](A,B A,C)
- \tkzDrawPoints[color=red](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.1.tex
deleted file mode 100644
index 46ac455fc6..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 57 (Section 8.2.1 : Rotation with \tkzname{shift} and \tkzname{scope})
-
-\begin{tikzpicture}[scale=.75,rotate=90]
- \tkzDefPoint[label=right:$A_n$](2,3){A}
- \begin{scope}[shift={(A)}]
- \tkzDefPoint[label= right:$B_n$](31:3){B}
- \tkzDefPoint[label= right:$C_n$](158:3){C}
- \end{scope}
- \tkzDrawSegments[color=red,%
- line width=1pt](A,B A,C)
- \tkzDrawPoints[color=red](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.2.tex
deleted file mode 100644
index 051cfbadd0..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.2.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 58 (Section 8.2.2 : Forms and coordinates)
-
-\begin{tikzpicture}[scale=.75]
- \tkzInit[xmax=6,ymax=6]
- \tkzGrid
- \tkzSetUpPoint[shape = circle,color = red,%
- size = 4,fill = red!30]
- \tkzDefPoint(-1+1,-1+4){O}
- \tkzDefPoint({3*ln(exp(1))},{exp(1)}){A}
- \tkzDefPoint({4*sin(pi/6)},{4*cos(pi/6)}){B}
- \tkzDefPoint({4*sin(pi/3)},{4*cos(pi/3)}){B'}
- \tkzDefPoint[shift={(1,3)}](30:3){A'}
- \tkzDrawPoints(O,A,B)
- \tkzDrawPoints[color=red,shape=cross out](B',A')
- \tkzLabelPoints(A,O,B,B',A')
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.3.tex
deleted file mode 100644
index d71a7362fd..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.2.3.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 59 (Section 8.2.3 : Scope et \tkzcname{tkzDefPoint} )
-
-\begin{tikzpicture}[scale=1]
- \begin{scope}[rotate=30]
- \tkzDefPoint(2,3){A}
- \begin{scope}[shift=(A)]
- \tkzDefPoint(90:5){B}
- \tkzDefPoint(30:5){C}
- \end{scope}
- \end{scope}
-\tkzDrawSegments[color=blue](A,B B,C C,A)
-\tkzDrawPoints(A,B,C)
-\tkzLabelPoints[above](B,C)
-\tkzLabelPoints[below](A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.3.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.3.1.tex
deleted file mode 100644
index 0161c615e5..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.3.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 60 (Section 8.3.1 : Definition of points)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,2/0/B,2/2/C,0/2/D}
- \tkzDrawSegments(D,A A,B B,C C,D)
- \tkzDrawPoints(A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.4.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.4.1.tex
deleted file mode 100644
index 50d5adc753..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.4.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 61 (Section 8.4.1 : Example with \tkzcname{tkzDefShiftPoint})
-
-\begin{tikzpicture}[rotate=-30]
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPoint[A](0:4){B}
- \tkzDefShiftPoint[A](30:4){C}
- \tkzDrawSegments(A,B B,C C,A)
- \tkzMarkSegments[mark=|,color=red](A,B A,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints[above](A,C)
- \tkzLabelPoints(B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.1.tex
deleted file mode 100644
index 091530f8f8..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 62 (Section 8.5.1 : Equilateral triangle with \tkzcname{tkzDefShiftPointCoord})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPointCoord[2,3](30:4){B}
- \tkzDefShiftPointCoord[2,3](-30:4){C}
- \tkzDrawSegments(A,B B,C C,A)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
- \tkzLabelPoint[left](A){$A$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.2.tex
deleted file mode 100644
index 293179f463..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.5.2.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 63 (Section 8.5.2 : Isosceles triangle with \tkzcname{tkzDefShiftPointCoord})
-
-\begin{tikzpicture}[rotate=15]
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPointCoord[2,3](15:5){B}
- \tkzDefShiftPointCoord[2,3](-15:5){C}
- \tkzDrawSegments(A,B B,C C,A)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
- \tkzLabelPoint[left](A){$A$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.1.tex
deleted file mode 100644
index 32a5712c93..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.1.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 64 (Section 8.6.1 : Default stitch style)
-
-\begin{tikzpicture}
- \tkzDefPoint(1,3){A}
- \tkzDrawPoint(A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.2.tex
deleted file mode 100644
index 6701537aa5..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.2.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 65 (Section 8.6.2 : Changing the style)
-
-\begin{tikzpicture}
- \tikzset{point style/.style={%
- draw = blue,
- inner sep = 0pt,
- shape = circle,
- minimum size = 6pt,
- fill = red!20}}
- \tkzDefPoint(1,3){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(0,0){O}
- \tkzDrawPoint(A)
- \tkzDrawPoint(B)
- \tkzDrawPoint(O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.3.tex
deleted file mode 100644
index 5f83f89b26..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.6.3.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 66 (Section 8.6.3 : Example of point plots)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(1,3){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(0,0){O}
- \tkzDrawPoint[shape=cross out,size=12,color=red](A)
- \tkzDrawPoint[shape=cross,size=12,color=blue](B)
- \tkzDrawPoint[size=12,color=green](O)
- \tkzDrawPoint[size=12,color=blue,fill=yellow]({2,2})
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.1.tex
deleted file mode 100644
index c2527d9f70..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.1.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 67 (Section 8.7.1 : Example with \tkzcname{tkzDefPoint} and \tkzcname{tkzDrawPoints} )
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(1,3){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(0,0){O}
- \tkzDrawPoints[size=8,color=red](A,B,O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.2.tex
deleted file mode 100644
index 85b156e704..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.7.2.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 68 (Section 8.7.2 : More complex example )
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(2,3){A} \tkzDefPoint(5,-1){B}
- \tkzDefPoint[label=below:$\mathcal{C}$,
- shift={(2,3)}](-30:5.5){E}
- \begin{scope}[shift=(A)]
- \tkzDefPoint(30:5){C}
- \end{scope}
- \tkzCalcLength[cm](A,B)\tkzGetLength{rAB}
- \tkzDrawCircle[R](A,\rAB cm)
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
- \tkzLabelPoints[above](A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.1.tex
deleted file mode 100644
index 3237a2ed1c..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 69 (Section 8.8.1 : Example with \tkzcname{tkzLabelPoint})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,0){B}
- \tkzDefPoint(0,3){C}
- \tkzDrawSegments(A,B B,C C,A)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoint[left,red](A){$A$}
- \tkzLabelPoint[right,blue](B){$B$}
- \tkzLabelPoint[above,purple](C){$C$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.2.tex
deleted file mode 100644
index 49542c5da9..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.8.2.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 70 (Section 8.8.2 : Label and reference)
-
-\begin{tikzpicture}
- \tkzInit[xmax=1,xstep=0.15,ymax=.5]
- \tkzAxeX \tkzDrawY[noticks]
- \tkzDefPoint(0.22,0.25){A}
- \tkzDrawPoint(A)
- \tkzLabelPoint[above](A){$A_1$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.9.1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.9.1.tex
deleted file mode 100644
index a5ebb9da22..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-8.9.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 71 (Section 8.9.1 : Example with \tkzcname{tkzLabelPoints})
-
-\begin{tikzpicture}
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPoint[A](30:2){B}
- \tkzDefShiftPoint[A](30:5){C}
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-9.2.0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-9.2.0.tex
deleted file mode 100644
index 591fcf5875..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzBase-9.2.0.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 80 (Section 9.2 : Use \tkzcname{tikzset})
-
-\begin{tikzpicture}
- \tkzInit[xmin=-0.5,xmax=5]
- \tkzDrawX
- \tkzLabelX
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg b/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg
index fbab54e137..d28fc66d97 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg
@@ -1,5 +1,5 @@
% tkz-base.cfg
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -16,10 +16,10 @@
% and save the file in a directory part of your TEXINPUTS environment
% variable.
-%utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-base.cfg}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-base.cfg}
+%<------ colors ---------------------------------------–>
%<------ colors ---------------------------------------–>
\def\tkz@backgroundcolor{white}
\def\tkz@textcolor{black}
@@ -46,7 +46,7 @@
\def\tkz@euc@pointshape{circle}
\def\tkz@euc@pointcolor{\tkz@mainlinecolor}
\def\tkz@euc@labelcolor{\tkz@mainlinecolor}
-\def\tkz@euc@pointsize{3 pt}
+\def\tkz@euc@pointsize{3}
\def\tkz@euc@pointpos{below right}
\def\tkz@euc@segmentcolor{\tkz@mainlinecolor}
\def\tkz@euc@circlecolor{\tkz@mainlinecolor}
@@ -90,7 +90,11 @@
%<------------------------- compass -----------------------------------–>
\def\tkz@euc@compasscolor{\tkz@otherlinecolor}
\def\tkz@euc@compasswidth{0.4pt}
-\def\tkz@euc@compassstyle{solid}
+\def\tkz@euc@compassstyle{solid}
+%<------------------------- arc -----------------------------------–>
+\def\tkz@arc@lw{0.4pt}
+\def\tkz@arc@color{\tkz@mainlinecolor}
+\def\tkz@arc@style{solid}
%<---------------------------- mark -----------------------------------–>
\def\tkz@mk@color{\tkz@mainlinecolor}
\def\tkz@mk@mark{*}
@@ -98,6 +102,8 @@
\def\tkz@mk@fill{\tkz@otherlinecolor}
%<--------------------------------------------------------------------------–>
%<------------------------------ styles ---------------------------------–>
+\def\tkzSetUpStyle[#1]#2{\tikzset{#2/.style={#1}}}% add 2022
+
\tikzset{xlabel style/.style = {below = 3 pt,
inner sep = 1pt,
outer sep = 0pt}
@@ -122,11 +128,13 @@
\tkz@euc@labelcolor,
font = \normalsize}
}
-
+\tikzset{label angle style/.style={ \tkz@euc@labelcolor,
+ font = \normalsize}
+ }
\tikzset{line style/.style = {line width = \tkz@euc@linewidth,
color = \tkz@euc@linecolor,
style = \tkz@euc@linestyle,
- add = {\tkz@euc@lineleft} and {\tkz@euc@lineright}%
+ add = {\tkz@euc@lineleft} and {\tkz@euc@lineright}%
}
}
\tikzset{label seg style/.style = {color = \tkz@mainlinecolor,
@@ -148,6 +156,7 @@
}
}
}
+\tikzset{arc style/.style={gray,thin}}
%<---------------------- show coord -----------------------------------–>
\tikzset{arrow coord style/.style = {dashed,
\tkz@euc@linecolor,
@@ -173,7 +182,25 @@
%<--------------------------- vector --------------------------------------–>
\tikzset{vector style/.style={>=latex,->}
}
-\tikzset{ tkzdotted/.style={%
+\tikzset{tkzdotted/.style={%
dash pattern=on 0.4\pgflinewidth off #1\pgflinewidth,line cap=round, shorten >=#1\pgflinewidth/2,shorten <=#1\pgflinewidth/2,
- tkzdotted/.default=2}}
+ tkzdotted/.default=8}}
+
+% \tikzset{tkzreverseclip/.style={insert path={%
+% (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb)}}}
+
+\tikzset{tkzreverseclip/.style={insert path={
+ (current bounding box.south west) --(current bounding box.north west)
+ --(current bounding box.north east) -- (current bounding box.south east)
+ -- cycle} }}
+
+\def\tkzPhi{1.618034}
+\def\tkzInvPhi{0.618034}
+\def\tkzSqrtPhi{1.27202}
+\def\tkzSqrTwo{1.414213}
+\def\tkzSqrThree{1.7320508}
+\def\tkzSqrFive{2.2360679}
+\def\tkzSqrTwobyTwo{0.7071065}
+\def\tkzPi{3.1415926}
+\def\tkzEuler{2.71828182}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty b/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty
index d3acfceed9..58892e8e93 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty
@@ -1,5 +1,5 @@
% tkz-base.sty %
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,44 +7,19 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% This work consists of the files:
-% tkz-base.sty
-% tkz-base.cfg
-% tkz-lib-marks.tex
-% tkz-obj-axes.tex
-% tkz-obj-grids.tex
-% tkz-obj-marks.tex
-% tkz-obj-points.tex
-% tkz-obj-rep.tex
-% tkz-tools-arith.tex
-% tkz-tools-base.tex
-% tkz-tools-BB.tex
-% tkz-tools-misc.tex
-% tkz-tools-modules.tex
-% tkz-tools-print.tex
-% tkz-tools-text.tex
-% tkz-tools-utilities.tex
-% utf8 encoding
-%<--------------------------------------------------------------------------–>
-% Objet : Outils pour la création de graphiques géométriques
-%<--------------------------------------------------------------------------–>
-\typeout{2020/03/18 3.06c tkz-base.sty}
+\def\fileversion{4.00}
+\typeout{2022/01/04 4.00 tkz-base.sty}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-base}[2020/03/18 3.06c tkz-base]
-\ifx\e@alloc\@undefined
- \RequirePackage{etex}
-\fi
+\ProvidesPackage{tkz-base}[2022/01/04 4.00 tkz-base]
+
\RequirePackage{tikz}
\usetikzlibrary{%
angles,
arrows,
arrows.meta,
- babel,
calc,
decorations,
decorations.markings,
@@ -53,12 +28,12 @@
decorations.text,
decorations.pathmorphing,
intersections,
- patterns,
plotmarks,
- positioning,
quotes,
- shadows,
shapes.misc,
+ positioning,
+ shadows,
+ patterns,
through
}% remove snake library
% Pour les les labels sur les axes
@@ -67,9 +42,7 @@
\RequirePackage{xfp,fp}
%\FPmessagesfalse % pas de messages de la part de fp !
%---------------------
-\newdimen\tkzRadius
-\newdimen\tkzLength
-\newdimen\tkz@radi
+
%--------------------- tkz registres
\newdimen\tkz@ax
\newdimen\tkz@ay
@@ -79,7 +52,7 @@
\newdimen\tkz@cy
\newdimen\tkz@dx
\newdimen\tkz@dy
-% 2017
+% 2017 ???? inutile !
\newdimen\tkz@tax
\newdimen\tkz@tay
\newdimen\tkz@tbx
@@ -96,8 +69,6 @@
\newif\iftkz@coord@noxdraw
\newif\iftkz@coord@noydraw
\newif\iftkz@vec@normed
-%--------------------- lines
-\newif\iftkz@line@normed
%--------------------- tkz axis
\newif\iftkz@X@noticks
\newif\iftkz@Y@noticks
@@ -118,8 +89,6 @@
\newif\iftkz@node\tkz@nodefalse
\newif\iftkz@legend@line%--------------------- legend
\newif\iftkz@TestSubString
-\newif\ifnormtkzcode@execute% german ? right angle
-\newif\iftkz@sawp@sc%---------------------- semi circle
\newif\ifpgf@unknown % math arith
\newif\ifpgf@isaprime
\newcount\tkz@cntmk
@@ -139,6 +108,7 @@
\typeout{tkz-base.cfg not found} }
\input{tkz-tools-modules}
\input{tkz-lib-marks}
-\usetkztool{base,utilities,math,text,BB,arith,print,misc}
+\input{tkz-lib-shape}
+\usetkztool{base,utilities,colors,text,BB,arith,print,misc}% BB out
\usetkzobj{axes,grids,marks,points,rep}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex
index 4d90cd1e78..07917707b7 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex
@@ -1,5 +1,5 @@
% tkz-lib-marks.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-lib-symbols.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-lib-marks.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Création des symboles
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-shape.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-shape.tex
new file mode 100644
index 0000000000..29b19f087b
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-shape.tex
@@ -0,0 +1,51 @@
+% tkz-lib-shape.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-lib-shape.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% Création des symboles
+%<--------------------------------------------------------------------------–>
+% define a new shape for the points
+\pgfdeclareshape{cross}
+{%
+ \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
+ \inheritanchorborder[from=rectangle]
+ \inheritanchor[from=rectangle]{north}
+ \inheritanchor[from=rectangle]{north west}
+ \inheritanchor[from=rectangle]{north east}
+ \inheritanchor[from=rectangle]{center}
+ \inheritanchor[from=rectangle]{west}
+ \inheritanchor[from=rectangle]{east}
+ \inheritanchor[from=rectangle]{mid}
+ \inheritanchor[from=rectangle]{mid west}
+ \inheritanchor[from=rectangle]{mid east}
+ \inheritanchor[from=rectangle]{base}
+ \inheritanchor[from=rectangle]{base west}
+ \inheritanchor[from=rectangle]{base east}
+ \inheritanchor[from=rectangle]{south}
+ \inheritanchor[from=rectangle]{south west}
+ \inheritanchor[from=rectangle]{south east}
+ \foregroundpath{
+% store lower right in xa/ya and upper right in xb/yb
+ \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgfpathmoveto{\pgfqpoint{0 pt}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{0 pt}{\pgf@yb}}
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0 pt}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{0 pt}}
+ }
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex
index 0382917149..4cd032adfd 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex
@@ -1,5 +1,5 @@
% tkz-obj-axes.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,28 +7,26 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-axes.tex}
- \newif\ifinteger
- \makeatletter
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-axes}
+
+\newif\ifinteger
+\makeatletter
\def\removedot#1.{#1}
\newcommand\tkzgetinteger[1]{\expandafter\tkz@getinteger#1.\@nil}
\def\tkz@getinteger#1.#2\@nil{%
\ifx\empty#2\empty
\integertrue
- \else
- \ifnum\removedot#2=0
- \integertrue
- \else
- \integerfalse
- \fi
+ \else
+ \ifnum\removedot#2=0
+ \integertrue
+ \else
+ \integerfalse
+ \fi
\fi
}
%<--------------------------------------------------------------------------–>
@@ -228,7 +226,7 @@ $\numprint{\tkz@result}$
down space = \tkz@init@downspace,
noticks/.is if = tkz@Y@noticks,
noticks/.default = true,
- noticks = false,
+ noticks = true,
tickwd/.store in = \tkz@Y@tickwd,
ticklt/.store in = \tkz@Y@ticklt,
tickrt/.store in = \tkz@Y@tickrt,
@@ -448,8 +446,8 @@ $\numprint{\tkz@result}$
\pgfkeys{/tkzAxeXY/.cd,
swap/.is if = tkz@swap,
swap/.default = true,
- swap = false,
- /tkzAxeXY/.search also={/tikz},
+ swap = false,
+ /tkzAxeXY/.search also = {/tikz},
/tkzAxeXY/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
\pgfkeysalso{\searchname/.try=#1}}
}
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axesmin.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axesmin.tex
new file mode 100644
index 0000000000..332304e298
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axesmin.tex
@@ -0,0 +1,171 @@
+% tkz-obj-axesmin
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-axesmin}
+
+\makeatletter
+\newif\ifinteger
+\def\removedot#1.{#1}
+\newcommand\tkzgetinteger[1]{\expandafter\tkz@getinteger#1.\@nil}
+\def\tkz@getinteger#1.#2\@nil{%
+ \ifx\empty#2\empty
+ \integertrue
+ \else
+ \ifnum\removedot#2=0
+ \integertrue
+ \else
+ \integerfalse
+ \fi
+ \fi
+}
+
+%<--------------------------------------------------------------------------–>
+% Setup axe
+%<--------------------------------------------------------------------------–>
+\pgfkeys{tkzaxis/.cd,
+ line width/.code = \xdef\tkz@sua@lw{#1},
+ color/.code = \xdef\tkz@sua@color{#1},
+ tickwd/.code = \xdef\tkz@sua@tickwd{#1},
+ ticka/.code = \xdef\tkz@sua@ticka{#1},
+ tickb/.code = \xdef\tkz@sua@tickb{#1},
+ line width = \tkz@init@lw,
+ color = \tkz@init@color,
+ tickwd = \tkz@init@tickwd,
+ ticka = \tkz@init@ticka,
+ tickb = \tkz@init@tickb
+}
+
+\def\tkzSetUpAxis{\pgfutil@ifnextchar[{\tkz@SetUpAxis}{\tkz@SetUpAxis[]}}
+\def\tkz@SetUpAxis[#1]{%
+\begingroup
+\pgfqkeys{/tkzaxis}{#1}
+\global\let\tkz@init@lw\tkz@sua@lw
+\global\let\tkz@init@gradsize\tkz@sua@gradsize
+\global\let\tkz@init@color\tkz@sua@color
+\global\let\tkz@init@tickwd\tkz@sua@tickwd
+\global\let\tkz@init@ticka\tkz@sua@ticka
+\global\let\tkz@init@tickb\tkz@sua@tickb
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% tkzDrawX todo améliorer les unités
+% sans doute à revoir loop from 0 to i then calcul dans la boucle de la position
+% et de l'affichage
+%<--------------------------------------------------------------------------–>
+\pgfkeys{%
+ /tkzdrawX/.cd,
+ color/.store in = \tkz@X@color,
+ label/.store in = \tkz@X@label,
+ right space/.store in = \tkz@axe@rxspace,
+ left space/.store in = \tkz@axe@lxspace,
+ step/.code = {\edef\tkz@posnext{\fpeval{#1}}},
+ color = \tkz@init@color,
+ label = \tkz@init@xlabel,
+ step = \tkz@init@xstep,
+ right space = \tkz@init@rightspace, %???
+ left space = \tkz@init@leftspace,
+ noticks/.is if = tkz@X@noticks,
+ noticks/.default = true,
+ noticks = true,
+ tickwd/.store in = \tkz@X@tickwd,
+ tickup/.store in = \tkz@X@tickup,
+ tickdn/.store in = \tkz@X@tickdn,
+ tickwd = \tkz@init@tickwd,
+ tickup = \tkz@init@ticka,
+ tickdn = \tkz@init@tickb,
+ /tkzdrawX/.search also={/tikz},
+ }
+
+\def\tkzDrawX{\pgfutil@ifnextchar[{\tkz@DrawX}{\tkz@DrawX[]}}
+\def\tkz@DrawX[#1]{
+\begingroup%
+\pgfqkeys{/tkzdrawX}{#1}
+\edef\tkz@posmax{\fpeval{trunc(\tkz@xb,\tkz@init@xdec)}}
+\edef\tkz@posmin{\fpeval{trunc(\tkz@xa,\tkz@init@xdec)}}
+\edef\tkz@xbsup{\fpeval{\tkz@xb+\tkz@axe@rxspace}}
+\edef\tkz@xainf{\fpeval{\tkz@xa-\tkz@axe@lxspace}}
+\path (\tkz@xainf,0)--(\tkz@xbsup,0) node(tkz@xline){};
+\draw[xaxe style,
+ color = \tkz@X@color,
+ /tkzdrawX/.cd, #1] (\tkz@xainf,0)--(\tkz@xbsup,0)
+ node[ xlabel style,
+ /tkzdrawX/.cd,
+ #1]{\tkz@X@label};
+ \iftkz@X@noticks
+ \else
+ \edef\tkz@posmax{\fpeval{trunc(\tkz@posmax,\tkz@init@xdec)}}
+ \edef\tkz@posnext{\fpeval{\tkz@posnext/\tkz@init@xstep+\tkz@posmin}}
+ \foreach \pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \edef\tkz@pos{\fpeval{\pos*1}}% ???
+ \draw[ color = \tkz@X@color, line width = \tkz@X@tickwd,
+ shift = {(\tkz@pos,0)}]%
+ (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn);
+ }
+ \fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% tkzDrawY todo améliorer les unités
+%<--------------------------------------------------------------------------–>
+\pgfkeys{%
+ /tkzdrawY/.cd,
+ color/.store in = \tkz@Y@color,
+ label/.store in = \tkz@Y@label,
+ up space/.store in = \tkz@axe@uyspace,
+ down space/.store in = \tkz@axe@dyspace,
+ step/.code = {\edef\tkz@posnext{\fpeval{#1}}},
+ color = \tkz@init@color,
+ label = \tkz@init@ylabel,
+ step = \tkz@init@ystep,
+ up space = \tkz@init@upspace,
+ down space = \tkz@init@downspace,
+ noticks/.is if = tkz@Y@noticks,
+ noticks/.default = true,
+ noticks = true,
+ tickwd/.store in = \tkz@Y@tickwd,
+ ticklt/.store in = \tkz@Y@ticklt,
+ tickrt/.store in = \tkz@Y@tickrt,
+ tickwd = \tkz@init@tickwd,
+ ticklt = \tkz@init@tickb,
+ tickrt = \tkz@init@ticka,
+ /tkzdrawY/.search also={/tikz},
+ }
+
+\def\tkzDrawY{\pgfutil@ifnextchar[{\tkz@DrawY}{\tkz@DrawY[]}}
+\def\tkz@DrawY[#1]{%
+\begingroup
+\pgfkeys{/tkzdrawY/.cd,step = \tkz@init@ystep}
+\pgfqkeys{/tkzdrawY}{#1}
+\edef\tkz@posmax{\fpeval{trunc(\tkz@yb,\tkz@init@ydec)}}
+\edef\tkz@posmin{\fpeval{trunc(\tkz@ya,\tkz@init@ydec)}}
+\edef\tkz@ybsup{\fpeval{\tkz@yb+\tkz@axe@uyspace}}
+\edef\tkz@yainf{\fpeval{\tkz@ya-\tkz@axe@dyspace}}
+\path (0,\tkz@yainf)--(0,\tkz@ybsup) node(tkz@yline){};
+\draw[color = \tkz@Y@color,
+ yaxe style,/tkzdrawY/.cd,#1] (0,\tkz@yainf)--(0,\tkz@ybsup)
+ node[ylabel style,/tkzdrawY/.cd,#1]{\tkz@Y@label};
+ \iftkz@Y@noticks
+ \else
+ \edef\tkz@posmax{\fpeval{trunc(\tkz@posmax,\tkz@init@ydec)}}
+ \edef\tkz@posnext{\fpeval{\tkz@posnext/\tkz@init@ystep+\tkz@posmin}}
+ \foreach \tkz@pos in {\tkz@posmin,\tkz@posnext,...,\tkz@posmax}{%
+ \draw[color = \tkz@Y@color,
+ line width = \tkz@Y@tickwd,
+ shift = {(0,\tkz@pos)}]%
+ (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt);}
+
+ \fi
+\endgroup}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex
index 9330d54723..1aad063add 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex
@@ -1,5 +1,5 @@
% tkz-obj-grids.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,24 +7,21 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-grids.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-grids.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Setup Grid
%<--------------------------------------------------------------------------–>
\pgfkeys{/tkzsugrid/.cd,
- line width/.store in = \tkz@sug@lw,
- color/.store in = \tkz@sug@color,
- line width = \tkz@grid@lw,
- color = \tkz@grid@color
+ line width/.store in = \tkz@sug@lw,
+ color/.store in = \tkz@sug@color,
+ line width = \tkz@grid@lw,
+ color = \tkz@grid@color
}
\def\tkzSetUpGrid{\pgfutil@ifnextchar[{\tkz@SetUpGrid}{\tkz@SetUpGrid[]}}
@@ -39,22 +36,22 @@
% tkzGrid
%<--------------------------------------------------------------------------–>
\pgfkeys{/tkzGrid/.cd,
- color/.code = {\def\tkz@gd@color{#1}%
- \edef\tkz@gd@subcolor{%
- \tkz@gd@color!\tkzCoeffSubColor}},
- subxstep/.store in = {\tkz@gd@subxstep},
- subystep/.store in = {\tkz@gd@subystep},
- ratio/.store in = {\tkz@gd@ratio},
- line width/.code = {\edef\tkz@gd@lw{#1}
- \edef\tkz@gd@sublw{\tkz@gd@ratio\tkz@gd@lw}},
- sub/.is if = tkz@gd@sub,
- sub/.default = true ,
- sub = false,
- color = \tkz@grid@color,
- ratio = 0.75,
- subxstep = \tkz@grid@xstep,
- subystep = \tkz@grid@ystep,
- line width = \tkz@grid@lw,
+ color/.code = {\def\tkz@gd@color{#1}%
+ \edef\tkz@gd@subcolor{%
+ \tkz@gd@color!\tkzCoeffSubColor}},
+ subxstep/.store in = {\tkz@gd@subxstep},
+ subystep/.store in = {\tkz@gd@subystep},
+ ratio/.store in = {\tkz@gd@ratio},
+ line width/.code = {\edef\tkz@gd@lw{#1}
+ \edef\tkz@gd@sublw{\tkz@gd@ratio\tkz@gd@lw}},
+ sub/.is if = tkz@gd@sub,
+ sub/.default = true ,
+ sub = false,
+ color = \tkz@grid@color,
+ ratio = 0.75,
+ subxstep = \tkz@grid@xstep,
+ subystep = \tkz@grid@ystep,
+ line width = \tkz@grid@lw,
/tkzGrid/.search also= {/tikz},
}
%<--------------------------------------------------------------------------–>
@@ -64,10 +61,10 @@
\def\tkz@@Grid[#1](#2,#3)(#4,#5){%
\pgfqkeys{/tkzGrid}{#1}
\begingroup
- \edef\tkz@gxa{\fpeval{(#2-\tkz@init@xorigine)/\tkz@init@xstep}}
- \edef\tkz@gxb{\fpeval{(#4-\tkz@init@xorigine)/\tkz@init@xstep}}
- \edef\tkz@gya{\fpeval{(#3-\tkz@init@yorigine)/\tkz@init@ystep}}
- \edef\tkz@gyb{\fpeval{(#5-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \edef\tkz@gxa{\fpeval{(#2-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkz@gxb{\fpeval{(#4-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkz@gya{\fpeval{(#3-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \edef\tkz@gyb{\fpeval{(#5-\tkz@init@yorigine)/\tkz@init@ystep}}
\iftkz@gd@sub%
\edef\@subxstep{\fpeval{\tkz@gd@subxstep/\tkz@init@xstep}}%
\edef\@subystep{\fpeval{\tkz@gd@subystep/\tkz@init@ystep}}%
@@ -82,6 +79,5 @@
(\tkz@gxa,\tkz@gya) grid (\tkz@gxb,\tkz@gyb);%
\endgroup
}%
- %<--------------------------------------------------------------------------–>
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
index be03c2be34..98f6fd2808 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
@@ -1,5 +1,5 @@
%tkz-obj-marks.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,16 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-
-% utf8 encoding
-\def\fileversion{3.07c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.07c tkz-obj-marks.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-marks.tex}
\makeatletter
%<-------------------------------------------------------------------------–>
% Setup Marks
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex
index 97cd3ccd1b..8ccb998caa 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex
@@ -1,5 +1,5 @@
- % tkz-obj-points.tex
-% Copyright 2020 Alain Matthes
+ % tkz-obj-eu-points.tex
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,57 +7,20 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status “maintained”.
-%
+% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-points.tex}
-%<--------------------------------------------------------------------------–>
-% init def point
-%<--------------------------------------------------------------------------–>
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-points.tex}
\makeatletter
-%<--------------------------------------------------------------------------–>
-% define a new shape for the points
-\pgfdeclareshape{cross}
-{%
- \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
- \inheritanchorborder[from=rectangle]
- \inheritanchor[from=rectangle]{north}
- \inheritanchor[from=rectangle]{north west}
- \inheritanchor[from=rectangle]{north east}
- \inheritanchor[from=rectangle]{center}
- \inheritanchor[from=rectangle]{west}
- \inheritanchor[from=rectangle]{east}
- \inheritanchor[from=rectangle]{mid}
- \inheritanchor[from=rectangle]{mid west}
- \inheritanchor[from=rectangle]{mid east}
- \inheritanchor[from=rectangle]{base}
- \inheritanchor[from=rectangle]{base west}
- \inheritanchor[from=rectangle]{base east}
- \inheritanchor[from=rectangle]{south}
- \inheritanchor[from=rectangle]{south west}
- \inheritanchor[from=rectangle]{south east}
- \foregroundpath{
-% store lower right in xa/ya and upper right in xb/yb
- \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
- \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
- \pgfpathmoveto{\pgfqpoint{0 pt}{\pgf@ya}}
- \pgfpathlineto{\pgfqpoint{0 pt}{\pgf@yb}}
- \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0 pt}}
- \pgfpathlineto{\pgfqpoint{\pgf@xb}{0 pt}}
- }
-}
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
+% init def point
+%<--------------------------------------------------------------------------->
% tkzDefPoint
-%<--------------------------------------------------------------------------–>
-
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% macros complémentaires pour def point
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkz@parsecoordinate#1{%
\tkz@getseparator#1,\@nil
\iftkz@polar
@@ -85,17 +48,17 @@
\xdef\tkz@absc{\tkz@x}
\xdef\tkz@ord{\tkz@y}
}
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% options pour point definition
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\pgfkeys{/tkzPt/.cd,
polar/.is if = tkz@pt@polar,
polar/.default = true,
polar = false
}
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% tkz@ptStar
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkz@ptStar[#1](#2,#3)#{%
\pgfkeys{/tkzPt/.cd, polar = false}
\pgfqkeys{/tkzPt}{#1}
@@ -110,10 +73,10 @@
\edef\tkzpt@ya{\fpeval{(\tkz@y-\tkz@init@yorigine)/\tkz@init@ystep}}
\tkz@node
}
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% la macro defpoint les coordonnées cartésiennes ou polaires sont traitées
% afin de pouvoir être adaptées avec les unités choisies
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkzDefPoint{\pgfutil@ifnextchar[{\tkz@DefPoint}{\tkz@DefPoint[]}}
\def\tkz@DefPoint[#1](#2)#{%
@@ -126,9 +89,9 @@
\tkz@DefPointEnd[#1]
}%
\def\tkz@DefPointEnd[#1]#2{\coordinate[#1] (#2) at (tkz@coord@temp);}
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% tkzDefPoints
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkzDefPoints{\pgfutil@ifnextchar[{\tkz@DefPoints}{\tkz@DefPoints[]}}
\def\tkz@DefPoints[#1]#2{%
\begingroup
@@ -145,14 +108,16 @@
\endgroup}%
}
\def\tkz@absorb@bad@arg#1){\endgroup}
-%<--------------------------------------------------------------------------–>
-\def\tkz@node#1{\path[coordinate](\tkzpt@xa,\tkzpt@ya) coordinate(#1);}
+%<--------------------------------------------------------------------------->
+\def\tkz@node#1{ \pgfinterruptboundingbox
+\path[coordinate](\tkzpt@xa,\tkzpt@ya) coordinate(#1);
+ \endpgfinterruptboundingbox}
% \def\tkz@drawnode#1{\path[coordinate](\tkzpt@xa,\tkzpt@ya) coordinate(#1);
% \tkz@DrawPt{#1}
% }
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% tkzSetUpPoint définit la forme d'un point
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\pgfkeys{/tkzsetuppt/.cd,
size/.store in = \tkz@pt@size,
color/.store in = \tkz@pt@color,
@@ -173,13 +138,11 @@
inner sep = 0pt,
shape = \tkz@pt@shape,
minimum size = \tkz@pt@size,
- fill = \tkz@pt@fill
- }
- }
- }% end setup
-%<--------------------------------------------------------------------------–>
+ fill = \tkz@pt@fill}}
+}% end setup
+%<--------------------------------------------------------------------------->
% Draw Point
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\pgfkeys{/tkzdrawpt/.cd,
size/.code = {\tikzset{point style/.append style={minimum size = #1}}},
size = \tkz@euc@pointsize,
@@ -193,18 +156,18 @@
\node[point style,/tkzdrawpt/.cd,#1] at (#2) {};%2016
\endgroup
}
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkzDrawPoints{\pgfutil@ifnextchar[{\tkz@drawpts}{\tkz@drawpts[]}}
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkz@drawpts[#1](#2){%
\begingroup
\pgfqkeys{/tkzdrawpt}{#1}
\foreach \point in {#2}{\node[point style,/tkzdrawpt/.cd,#1] at (\point) {};} %2016
\endgroup
}
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
%
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkzRenamePoint(#1)#2{\coordinate (#2) at (#1);}
\def\tkz@RenamePointEnd[#1]#2{\coordinate[#1] (#2) at (\tkz@ax,\tkz@ay);}
\def\tkzGetPoint#1{\coordinate (#1) at (tkzPointResult);}
@@ -217,9 +180,9 @@
\coordinate (#3) at (#2);
\end{scope}
}%
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% tkzDefShiftPoint
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkzDefShiftPoint[#1](#2)#3{%
\tkz@@extractxy{#1}
\tkz@ax\pgf@x %
@@ -228,23 +191,51 @@
\coordinate (#3) at (#2);
\end{scope}
}
-%<-------------------------------------------------------------------------–>
+%<-------------------------------------------------------------------------->
% tkzLabelPoint Affichage des LABELS pour un point
-%<-------------------------------------------------------------------------–>
-\tikzset{label style/.style={\tkz@euc@pointpos,\tkz@euc@labelcolor,
- font=\normalsize}}
+%<-------------------------------------------------------------------------->
\def\tkzLabelPoint{\pgfutil@ifnextchar[{\tkz@LabelPoint}{\tkz@LabelPoint[]}}
\def\tkz@LabelPoint[#1](#2)#3{%
\node[label style,#1] at (#2) {#3};}%
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkzLabelPoints{\pgfutil@ifnextchar[{\tkz@LabelPoints}{\tkz@LabelPoints[]}}%
\def\tkz@LabelPoints[#1](#2){%
\foreach \point in {#2}{
\node[label style,#1] at (\point) {$\point$};}
}%
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzsetuppt/.cd,
+ size/.store in = \tkz@pt@size,
+ color/.store in = \tkz@pt@color,
+ fill/.store in = \tkz@pt@fill,
+ shape/.store in = \tkz@pt@shape,
+ size = \tkz@euc@pointsize,
+ color = \tkz@euc@pointcolor,
+ fill = \tkz@euc@pointcolor,
+ shape = \tkz@euc@pointshape,
+ /tkzsetuppt/.search also = {/tikz},
+ }
+\def\tkzSetUpPoint{\pgfutil@ifnextchar[{\tkz@SetUpPoint}{%
+ \tkz@SetUpPoint[]}}
+\def\tkz@SetUpPoint[#1]{%
+\pgfqkeys{/tkzsetuppt}{#1}
+% redefine point style with new values
+\tikzset{point style/.style={draw = \tkz@pt@color,
+ inner sep = 0pt,
+ shape = \tkz@pt@shape,
+ minimum size = \tkz@pt@size,
+ fill = \tkz@pt@fill}}
+}% end setup
+%<--------------------------------------------------------------------------->
+%
+%<--------------------------------------------------------------------------->
+\def\tkzSetUpLabel{\pgfutil@ifnextchar[{\tkz@SetUpLabel}{%
+ \tkz@SetUpLabel[]}}
+\def\tkz@SetUpLabel[#1]{%
+\tikzset{label style/.style={#1}}
+}% end setup
+%<--------------------------------------------------------------------------->
\pgfkeys{/tkzautolab/.cd,
center/.store in = \tkz@center,
@@ -260,9 +251,9 @@
\path (\tkz@center) -- ($ (\point) + \tkz@dist*($(\point)-(\tkz@center)$) $) node[/tkzautolab/.cd,#1]{$\point$};}
\endgroup
}%
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% PointShowCoord
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\pgfkeys{/tkzprcoord/.cd,
xlabel/.store in = \tkz@xlabel,
ylabel/.store in = \tkz@ylabel,
@@ -304,13 +295,13 @@
\endgroup
}
\let\tkzShowPointCoord\tkzPointShowCoord
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
% Coordonnées d'un point
% result in #2x et #2y #1 est le point et on récupère ses coordonnées
% usage soit A un point \tkzGetPointCoord(A){V} alors \Vx = xA et \Vy = yA
% en cm
% tkzGetPointCoord avec [#1] cm ou bien pt ?? todo
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
\def\tkzGetPointCoord(#1)#2{%
\begingroup
\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex
index 0698c963fd..630c47b330 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex
@@ -1,5 +1,5 @@
% tkz-obj-rep.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-rep.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-rep.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% repère
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex
index 6fd5422bbb..a68e47bf55 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex
@@ -1,5 +1,5 @@
% tkz-tools-BB.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,66 +7,24 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-BB.tex}
-\makeatletter
-%<--------------------------------------------------------------------------–>
-\pgfkeys{/tkzClip/.cd,
-space/.store in = {\tkz@CLI@space},
-space = {}}
-
-\def\tkzClip{\pgfutil@ifnextchar[{\tkz@Clip}{\tkz@Clip[]}}
-\def\tkz@Clip[#1]{%
-\pgfqkeys{/tkzClip}{#1}
-\ifx\tkzutil@empty\tkz@CLI@space
- \clip (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb);
- \else
- \edef\tkz@xxa{\fpeval{\tkz@xa-\tkz@CLI@space}}
- \edef\tkz@yya{\fpeval{\tkz@ya-\tkz@CLI@space}}
- \edef\tkz@xxb{\fpeval{\tkz@xb+\tkz@CLI@space}} % correction bug 2020
- \edef\tkz@yyb{\fpeval{\tkz@yb+\tkz@CLI@space}}
- \clip (\tkz@xxa,\tkz@yya) rectangle (\tkz@xxb,\tkz@yyb);
-\fi
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzSetBB(#1)(#2){%
- \pgfresetboundingbox
- \path coordinate (tkz@SW) at (#1)
- coordinate (tkz@NE) at (#2);
- \path[use as bounding box](#1) rectangle (#2);
- }
-%<--------------------------------------------------------------------------–>
-\def\tkzSaveBB{%
-\path coordinate (tkz@SW) at (current bounding box.north east)
- coordinate (tkz@NE) at (current bounding box.south west);
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzRestoreBB{%
- \pgfresetboundingbox
- \path[use as bounding box] (tkz@SW) rectangle (tkz@NE) ;
-}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-BB.tex}
+\makeatletter
%<--------------------------------------------------------------------------–>
\def\tkzShowBB{\pgfutil@ifnextchar[{\tkz@ShowBB}{\tkz@ShowBB[]}}
\def\tkz@ShowBB[#1]{%
\draw[#1] (current bounding box.south west) rectangle
- (current bounding box.north east);
+ (current bounding box.north east);
}
%<--------------------------------------------------------------------------–>
\def\tkzClipBB{%
\clip (current bounding box.south west) rectangle
- (current bounding box.north east);
+ (current bounding box.north east);
}
%<--------------------------------------------------------------------------–>
-\tikzset{tkzreverseclip/.style={insert path={%
- (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb)}}}
-%todo add options
-%<--------------------------------------------------------------------------–>
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex
index c8990a76a2..cf3048f324 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex
@@ -1,5 +1,5 @@
% tkz-tools-arith.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-arith.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-arith.tex}
% 1.161 test if "isfactor" is already defined
% now with pgf 3.0 gcd isprime isodd iseven are defined
%<--------------------------------------------------------------------------–>
@@ -60,7 +58,7 @@
%<--------------------------------------------------------------------------->
\tkzutil@ifundefined{pgfmath@function@isprime}{%
\pgfmathdeclarefunction{isprime}{1}{%
- \begingroup%
+ \begingroup%
\pgf@unknowntrue
\c@pgfmath@counta#1\relax%
\ifcase#1\relax
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex
index 9f66cdac0a..8f457a22b6 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex
@@ -1,5 +1,5 @@
% tkz-tools-base.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-base.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-base.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016
@@ -30,23 +28,23 @@
ymin/.store in = \tkz@init@ymin,
ymax/.store in = \tkz@init@ymax,
ystep/.store in = \tkz@init@ystep,
- NO/.is if = tkz@init@NO,
- NO/.default = true,
- xmin = 0,
- xmax = 10,
- xstep = 1,
- ymin = 0,
- ymax = 10,
- ystep = 1,
- NO = false
+ NO/.is if = tkz@init@NO,
+ NO/.default = true,
+ xmin = 0,
+ xmax = 10,
+ xstep = 1,
+ ymin = 0,
+ ymax = 10,
+ ystep = 1,
+ NO = false
}
\def\tkzInit{\pgfutil@ifnextchar[{\tkz@Init}{\tkz@Init[]}}
\def\tkz@Init[#1]{%
- \pgfqkeys{/tkzInit}{#1}
+ \pgfqkeys{/tkzInit}{#1}
\ifx\tkzfctloaded\undefined
\else
- \tkz@tkzf@fct=0 % only if tkz-fct loaded
+ \tkz@tkzf@fct=0 % only if tkz-fct loaded
\fi
\xdef\tkz@init@xorigine{0}
\xdef\tkz@init@yorigine{0}
@@ -54,23 +52,23 @@
\edef\@xsgmax{\fpeval{sign(\tkz@init@xmax)}}
\edef\@ysgmin{\fpeval{sign(\tkz@init@ymin)}}
\edef\@ysgmax{\fpeval{sign(\tkz@init@ymax)}}
- \let\tkz@tmp@xa\tkz@init@xmin %modif 2016
- \let\tkz@tmp@xb\tkz@init@xmax %modif 2016
- \let\tkz@tmp@ya\tkz@init@ymin %modif 2016
- \let\tkz@tmp@yb\tkz@init@ymax %modif 2016
- \tkz@init@NOfalse
+ \let\tkz@tmp@xa\tkz@init@xmin %modif 2016
+ \let\tkz@tmp@xb\tkz@init@xmax %modif 2016
+ \let\tkz@tmp@ya\tkz@init@ymin %modif 2016
+ \let\tkz@tmp@yb\tkz@init@ymax %modif 2016
+ \tkz@init@NOfalse
\ifx\@xsgmin\@xsgmax \tkz@init@NOtrue \fi
\ifx\@ysgmin\@ysgmax \tkz@init@NOtrue \fi
\iftkz@init@NO%
\ifx\@xsgmin\@xsgmax
\edef\tkz@init@xmax{\fpeval{\tkz@init@xmax-\tkz@init@xmin}}
- \edef\tkz@init@xorigine{\tkz@init@xmin}
- \edef\tkz@init@xmin{0}
+ \edef\tkz@init@xorigine{\tkz@init@xmin}
+ \edef\tkz@init@xmin{0}
\fi
\ifx\@ysgmin\@ysgmax
\edef\tkz@init@ymax{\fpeval{\tkz@init@ymax-\tkz@init@ymin}}
- \edef\tkz@init@yorigine{\tkz@init@ymin}
- \edef\tkz@init@ymin{0}
+ \edef\tkz@init@yorigine{\tkz@init@ymin}
+ \edef\tkz@init@ymin{0}
\fi
\fi
\edef\tkz@xa{\fpeval{\tkz@init@xmin/\tkz@init@xstep}}
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-colors.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-colors.tex
new file mode 100644
index 0000000000..7f8a0d7a64
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-colors.tex
@@ -0,0 +1,57 @@
+% tkz-tools-colors
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-colors}
+\makeatletter
+
+%<------ Initialisation of the colors with tkzSetUpColors ----------------->
+% Première macro SetUpColors %%%%%%%%%%%%%%%%%%%%%
+%Possible
+\pgfkeys{/tkzsucolor/.is family}
+\def\setupcolorkeys#1{%
+ \pgfkeys{/tkzsucolor,#1}}
+\setupcolorkeys{
+ background/.estore in = \setupcolor@background,
+ text/.estore in = \setupcolor@text,
+ @initial/.style = {background=white,text=black},
+ @apply/.code = {\pagecolor{\setupcolor@background}%
+ \color{\setupcolor@text}%
+ },
+}
+\def\tkzSetUpColors{\pgfutil@ifnextchar[{\tkz@SetUpColors}{\tkz@SetUpColors[]}}
+\def\tkz@SetUpColors[#1]{\setupcolorkeys{@initial,#1,@apply}}
+
+%<------ Initialisation of all colors ----------------->
+\pgfkeys{/tkzsupallcol/.cd,
+ background/.store in = \tkz@suac@bkc,
+ text/.store in = \tkz@suac@txt,
+ background = \tkz@backgroundcolor,% see tkz-base.cfg
+ text = \tkz@textcolor% idem
+ }
+\def\tkzSetUpAllColors{\pgfutil@ifnextchar[{\tkz@SetUpAllColors}{%
+ \tkz@SetUpAllColors[]}}
+\def\tkz@SetUpAllColors[#1]{%
+ \pgfqkeys{/tkzsupallcol}{#1} % now we redine the based colors
+ \def\tkz@fillcolor{\tkz@suac@bkc}
+ \def\tkz@mainlinecolor{\tkz@suac@txt}
+ \def\tkz@textcolor{\tkz@suac@txt}
+ \def\tkz@otherlinecolor{\tkz@suac@txt!50}
+ \def\tkz@sua@color{\tkz@suac@txt}
+ \tkzSetUpAxis[color=\tkz@suac@txt]
+ \tkzSetUpGrid[color=\tkz@suac@txt]
+ \pagecolor{\tkz@suac@bkc}
+ \color{\tkz@suac@txt}
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex
index 31e8981e63..8677afc803 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex
@@ -1,5 +1,5 @@
% tkz-tools-misc.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-misc.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-misc.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% hline pb avec line
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex
index 151a8ce041..c27b805030 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex
@@ -1,5 +1,5 @@
% tkz-tools-modules
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-utilities.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-modules.tex}
\makeatletter
%<------------- % chargement des modules ---------------------------------->
\def\tkz@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex
index be4d362cae..9fa988454d 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex
@@ -1,5 +1,5 @@
% tkz-tool-print.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-print.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-print}
\makeatletter
%<------------- tkzPrintFrac ---------------------------------->
\def\tkzPrintFrac#1#2{%
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex
index 8fb49d5fbb..881c81e10e 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex
@@ -1,5 +1,5 @@
% tkz-tools-text.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-text.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-text.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzText
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex
index e3ed8cb5a7..601b9a291b 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex
@@ -1,5 +1,5 @@
% tkz-tools-utilities
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,22 +7,38 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-utilities.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-utilities.tex}
\makeatletter
+\pgfkeys{/tkzClip/.cd,
+space/.store in = {\tkz@CLI@space},
+space = {}}
+
+\def\tkzClip{\pgfutil@ifnextchar[{\tkz@Clip}{\tkz@Clip[]}}
+\def\tkz@Clip[#1]{%
+
+\pgfqkeys{/tkzClip}{#1}
+\ifx\tkzutil@empty\tkz@CLI@space
+ \clip (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb);
+ \else
+ \edef\tkz@xxa{\fpeval{\tkz@xa-\tkz@CLI@space}}
+ \edef\tkz@yya{\fpeval{\tkz@ya-\tkz@CLI@space}}
+ \edef\tkz@xxb{\fpeval{\tkz@xb+\tkz@CLI@space}} % correction bug 2020
+ \edef\tkz@yyb{\fpeval{\tkz@yb+\tkz@CLI@space}}
+ \clip (\tkz@xxa,\tkz@yya) rectangle (\tkz@xxb,\tkz@yyb);
+\fi
+}
+
% for testing results
\def\extractxy#1{%
\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
\typeout{#1 \the\pgf@x,\the\pgf@y}
}
-
%<-------------- some tools ------------------------------------------------->
\def\tkzutil@empty{}
\def\tkzutil@firstofone#1{#1}
@@ -51,44 +67,6 @@
\catcode`\!=\tkzPtExCode\relax
\catcode`\;=\tkzPtVirCode\relax
}%
-%<------ Initialisation of the colors with tkzSetUpColors ----------------->
-% Première macro SetUpColors %%%%%%%%%%%%%%%%%%%%%
-%Possible
-\pgfkeys{/tkzsucolor/.is family}
-\def\setupcolorkeys#1{%
- \pgfkeys{/tkzsucolor,#1}}
-\setupcolorkeys{
- background/.estore in = \setupcolor@background,
- text/.estore in = \setupcolor@text,
- @initial/.style = {background=white,text=black},
- @apply/.code = {\pagecolor{\setupcolor@background}%
- \color{\setupcolor@text}%
- },
-}
-\def\tkzSetUpColors{\pgfutil@ifnextchar[{\tkz@SetUpColors}{\tkz@SetUpColors[]}}
-\def\tkz@SetUpColors[#1]{\setupcolorkeys{@initial,#1,@apply}}
-
-%<------ Initialisation of all colors ----------------->
-\pgfkeys{/tkzsupallcol/.cd,
- background/.store in = \tkz@suac@bkc,
- text/.store in = \tkz@suac@txt,
- background = \tkz@backgroundcolor,% see tkz-base.cfg
- text = \tkz@textcolor% idem
- }
-\def\tkzSetUpAllColors{\pgfutil@ifnextchar[{\tkz@SetUpAllColors}{%
- \tkz@SetUpAllColors[]}}
-\def\tkz@SetUpAllColors[#1]{%
- \pgfqkeys{/tkzsupallcol}{#1} % now we redine the based colors
- \def\tkz@fillcolor{\tkz@suac@bkc}
- \def\tkz@mainlinecolor{\tkz@suac@txt}
- \def\tkz@textcolor{\tkz@suac@txt}
- \def\tkz@otherlinecolor{\tkz@suac@txt!50}
- \def\tkz@sua@color{\tkz@suac@txt}
- \tkzSetUpAxis[color=\tkz@suac@txt]
- \tkzSetUpGrid[color=\tkz@suac@txt]
- \pagecolor{\tkz@suac@bkc}
- \color{\tkz@suac@txt}
-}
%<--------------------------------------------------------------------------–>
% Pour savoir le nombre de décimales d'un nombre
% le nombre dans #1 et le résultat dans \c@pgfmath@countb
@@ -125,6 +103,9 @@
\expandafter\C@untToken
\fi
}
+%<---------------------------------------------------------–>
+\def\tkz@recuplast(#1,#2){\def\tkz@last{#1}}
+\def\tkz@stop{\tkz@stop}
% end code from JCC
%<---------------------------------------------------------–>
% Tools
diff --git a/macros/latex/contrib/tkz/tkz-euclide/README.md b/macros/latex/contrib/tkz/tkz-euclide/README.md
index 2f040206df..54f230b2e0 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/README.md
+++ b/macros/latex/contrib/tkz/tkz-euclide/README.md
@@ -1,33 +1,31 @@
-# tkz-euclide — for euclidan geometry
+# tkz-euclide — for euclidean geometry
-Release 3.0§c 2020/04/06
+Release 4.00 b 2022/01/04
## Description
`tkz-euclide` is a package (latex) which allows you to draw two-dimensional
geometric figures, in other words to create figures of Euclidean geometry.
-It uses a Cartesian coordinate system orthogonal provided by the `tkz-base`
-package as well as tools to define the unique coordinates of points and to
+It uses a Cartesian coordinate system orthogonormal (unit 1cm)
+ as well as tools to define the unique coordinates of points and to
manipulate them. The idea is to allow you to follow step by step a construction
that would be done by hand as naturally as possible.
## Licence
-The scontents package may be modified and distributed under the terms and
-conditions of the [LaTeX Project Public License](https://www.latex-project.org/lppl/), version 1.3c or greater.
+This package may be modified and distributed under the terms and
+conditions of the [LaTeX Project Public License](https://www.latex-project.org/lppl/), version 1.3 or greater.
## Requirements
The package compiles with utf8, pdflatex and lualatex, loads and depends on updated versions of:
-- [tkz-base](https://ctan.org/pkg/tkz-base)
- [xfp](https://ctan.org/pkg/xfp)
-- [numprint](https://ctan.org/pkg/numprint)
- [tikz](https://ctan.org/pkg/tikz)
## Installation
-The package `tkz-eculide` is present in TeXLive and MiKTeX, use the package
+The package `tkz-euclide` is present in TeXLive and MiKTeX, use the package
manager to install.
You can experiment with the `tkz-euclide` package by placing all of the
@@ -36,16 +34,6 @@ distribution files in the directory containing your current tex file.
The different files must be moved into the different directories in your
installation `TDS` tree or in your `TEXMFHOME`:
-```
- doc/cheatsheet_euclide_2.pdf -> TDS:doc/latex/tkz-euclide/cheatsheet_euclide_2.pdf
- doc/cheatsheet_euclide_1.pdf -> TDS:doc/latex/tkz-euclide/cheatsheet_euclide_1.pdf
- doc/Euclidean_geometry.pdf -> TDS:doc/latex/tkz-euclide/Euclidean_geometry.pdf
- doc/TKZdoc-euclide.pdf -> TDS:doc/latex/tkz-euclide/TKZdoc-euclide.pdf
- doc/README.md -> TDS:doc/latex/tkz-euclide/README.md
- doc/examples/*.* -> TDS:doc/latex/tkz-euclide/examples/*.*
- doc/sourcedoc/*.* -> TDS:doc/latex/tkz-euclide/sourcedoc/*.*
- code/*.* -> TDS:tex/latex/tkz-euclide/*.*
-```
## How to use it
@@ -54,6 +42,12 @@ your LaTeX document:
```
\usepackage{tkz-euclide}
+\begin{document}
+\begin{tikzpicture}
+```
+your code
+```
+\end{tikzpicture}
```
The line `\usetkzobj{all}` is no longer required with `tkz-euclide` but you can use it with
@@ -64,26 +58,24 @@ package conflicts.
## Documentation
-Documentation for `tkz-euclide` is available on `CTAN`. You have two
-cheatsheets about tkz-euclide in the archive. Use `texdoc tkz-euclide`.
+Documentation for `tkz-euclide` is available on `CTAN`.
## Examples
-All examples given in documentation will be stored on `CTAN` as standalone
-files, ready for compilation. You can use the main.tex file to load and
-compile an example.
-
-The archive contains a litle document about Euclidean Geometry with four
-examples.
+All examples given in documentation will be stored on my site : [http://altermundus.fr](http://altermundus.fr) as standalone
+files, ready for compilation.
-Other examples, en français, are on my site: [http://altermundus.fr](http://altermundus.fr)
+Other examples, in French, are on my site.
## Compatibility
The new version of `tkz-euclide` is *not* fully compatible with the version
-1.16 but the differences are minor.
+3.06 but the differences are minor.
## History
+- 4.00 correction of bugs, tkz-euclide no longer depends on tkz-base. The unit is "cm".
+ The bounding box is controlled. The documentation has been restructured according to the rule:
+ set, calculate, draw, mark and fill, label.
- 3.06 correction of bugs, amelioration of the documentation.
- 3.05 correction of bugs, amelioration of the documentation.
- 3.02 replacement french documentation by english documentation, correction of bugs.
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/Euclidean_geometry.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/Euclidean_geometry.pdf
deleted file mode 100644
index 385ff5261c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/Euclidean_geometry.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/TKZdoc-euclide.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/TKZdoc-euclide.pdf
deleted file mode 100644
index bbaa8678ef..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/TKZdoc-euclide.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_1.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_1.pdf
deleted file mode 100644
index 6b771bf35b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_1.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_2.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_2.pdf
deleted file mode 100644
index 20dfc84c2e..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/cheatsheet_euclide_2.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
index c445fcc638..041890614d 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-FAQ.tex
@@ -4,13 +4,42 @@
For the moment, I'm basing myself on my own, because having changed syntax several times, I've made a number of mistakes. This section is going to be expanded.
\begin{itemize}\setlength{\itemsep}{10pt}
+ \item Error "dimension too large" : In some cases, this error occurs. One way to avoid it is to use the "\tkzname{xfp}" option. When this option is used in an environment, the "veclen" function is replaced by a function dependent on "xfp". For example, an error occurs if you use the macro \tkzcname{tkzDrawArc}
+ with too small an angle. The error is produced by the \NameLib{decoration} library when you want to place a mark on an arc. Even if the mark is absent, the error is still present.
+
+\begin{tkzexample}[]
+\begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2.5,0){N}
+ \tkzDefPoint(-4.2,0.5){M}
+ \tkzDefPointBy[rotation=center O angle 30](N)
+ \tkzGetPoint{B}
+ \tkzDefPointBy[rotation=center O angle -50](N)
+ \tkzGetPoint{A}
+ \tkzInterLC(M,B)(O,N) \tkzGetFirstPoint{C}
+ \tkzInterLC(M,A)(O,N) \tkzGetSecondPoint{A'}
+ \tkzMarkAngle[mkpos=.2, size=0.5](A,C,B)
+ \tkzMarkAngle[mkpos=.2, size=0.5](A,M,C)
+ \tkzDrawSegments(A,C M,A M,B)
+ \tkzDrawCircle(O,N)
+ \tkzLabelCircle[above left](O,N)(120){$\mathcal{C}$}
+ \begin{scope}[xfp]
+ \tkzMarkAngle[mkpos=.2, size=1.2](C,A,M)
+ \end{scope}
+ \tkzDrawPoints(O, A, B, M, B, C)
+ \tkzLabelPoints[right](O,A,B)
+ \tkzLabelPoints[above left](M,C)
+ \tkzLabelPoint[below left](A'){$A'$}
+\end{tikzpicture}
+\end{tkzexample}
+
\item \tkzcname{tkzDrawPoint(A,B)} when you need \tkzcname{tkzDrawPoints}.
\item \tkzcname{tkzGetPoint(A)} When defining an object, use braces and not brackets, so write: \tkzcname{tkzGetPoint\{A\}}.
\item \tkzcname{tkzGetPoint\{A\}} in place of \tkzcname{tkzGetFirstPoint\{A\}}. When a macro gives two points as results, either we retrieve these points using \tkzcname{tkzGetPoints\{A\}\{B\}}, or we retrieve only one of the two points, using \tkzcname{tkzGetFirstPoint\{A\}} or
\tkzcname{tkzGetSecondPoint\{A\}}. These two points can be used with the reference \tkzname{tkzFirstPointResult} or
-\tkzname{tkzSecondPointResult}. It is possible that a third point is given as \tkzname{tkzPointResult}.
+\tkzname{tkzSecondPointResult}. It is possible that a third point is given as\\ \tkzname{tkzPointResult}.
\item \tkzcname{tkzDrawSegment(A,B A,C)} when you need \tkzcname{tkzDrawSegments}. It is possible to use only the versions with an "s" but it is less efficient!
@@ -25,8 +54,5 @@
\item Use of \tkzcname{tkzClip}: In order to get accurate results, I avoided using normalized vectors. The advantage of normalization is to control the dimension of the manipulated objects, the disadvantage is that with TeX, this implies inaccuracies. These inaccuracies are often small, in the order of a thousandth, but they lead to disasters if the drawing is enlarged. Not normalizing implies that some points are far away from the working area and \tkzcname{tkzClip} allows you to reduce the size of the drawing.
-\item An error occurs if you use the macro \tkzcname{tkzDrawAngle}
- with too small an angle. The error is produced by the \NameLib{decoration} library when you want to place a mark on an arc. Even if the mark is absent, the error is still present. It is possible to get around this difficulty with the option \tkzname{mkpos=.2} for example, which will place the mark before the arc. Another possibility is to use the macro \tkzcname{tkzFillAngle}.
-
\end{itemize}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
index d67ea4cc8d..7a65cf6a51 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-angles.tex
@@ -1,431 +1,7 @@
\section{The angles}
-\subsection{Colour an angle: fill}
-The simplest operation
-\begin{NewMacroBox}{tkzFillAngle}{\oarg{local options}\parg{A,O,B}}%
-$O$ is the vertex of the angle. $OA$ and $OB$ are the sides. Attention the angle is determined by the order of the points.
-
-\medskip
-
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{size}{1 cm}{this option determines the radius of the coloured angular sector.}
-
-\bottomrule
-\end{tabular}
-
-\medskip
-Of course, you have to add all the styles of \TIKZ, like the use of fill and shade...
-\end{NewMacroBox}
-
-\subsubsection{Example with \tkzname{size}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzInit
- \tkzDefPoints{0/0/O,2.5/0/A,1.5/2/B}
- \tkzFillAngle[size=2cm, fill=gray!10](A,O,B)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Changing the order of items}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzInit
- \tkzDefPoints{0/0/O,2.5/0/A,1.5/2/B}
- \tkzFillAngle[size=2cm,fill=gray!10](B,O,A)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzInit
- \tkzDefPoints{0/0/O,5/0/A,3/4/B}
- % Don't forget {} to get, () to use
- \tkzFillAngle[size=4cm,left color=white,
- right color=red!50](A,O,B)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\begin{NewMacroBox}{tkzFillAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
-With common options, there is a macro for multiple angles.
- \end{NewMacroBox}
-
-\subsubsection{Multiples angles}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=0.75]
- \tkzDefPoint(0,0){B}
- \tkzDefPoint(8,0){C}
- \tkzDefPoint(0,8){A}
- \tkzDefPoint(8,8){D}
- \tkzDrawPolygon(B,C,D,A)
- \tkzDefTriangle[equilateral](B,C)
- \tkzGetPoint{M}
- \tkzInterLL(D,M)(A,B) \tkzGetPoint{N}
- \tkzDefPointBy[rotation=center N angle -60](D)
- \tkzGetPoint{L}
- \tkzInterLL(N,L)(M,B) \tkzGetPoint{P}
- \tkzInterLL(M,C)(D,L) \tkzGetPoint{Q}
- \tkzDrawSegments(D,N N,L L,D B,M M,C)
- \tkzDrawPoints(L,N,P,Q,M,A,D)
- \tkzLabelPoints[left](N,P,Q)
- \tkzLabelPoints[above](M,A,D)
- \tkzLabelPoints(L,B,C)
- \tkzMarkAngles(C,B,M B,M,C M,C,B%
- D,L,N L,N,D N,D,L)
- \tkzFillAngles[fill=red!20,opacity=.2](C,B,M%
- B,M,C M,C,B D,L,N L,N,D N,D,L)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Mark an angle mark}
-More delicate operation because there are many options. The symbols used for marking in addition to those of \TIKZ\ are defined in the file |tkz-lib-marks.tex| and designated by the following characters:\begin{tkzltxexample}[]
-|, ||,|||, z, s, x, o, oo
-\end{tkzltxexample}
-
-Their definitions are as follows
-
-\begin{tkzltxexample}[]
-\pgfdeclareplotmark{||}
- %double bar
-{%
- \pgfpathmoveto{\pgfqpoint{2\pgflinewidth}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{-\pgfplotmarksize}}
- \pgfpathmoveto{\pgfqpoint{-2\pgflinewidth}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{-2\pgflinewidth}{-\pgfplotmarksize}}
- \pgfusepathqstroke
-}
-\end{tkzltxexample}
-
-\begin{tkzltxexample}[]
- %triple bar
- \pgfdeclareplotmark{|||}
- {%
- \pgfpathmoveto{\pgfqpoint{0 pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{0 pt}{-\pgfplotmarksize}}
- \pgfpathmoveto{\pgfqpoint{-3\pgflinewidth}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{-3\pgflinewidth}{-\pgfplotmarksize}}
- \pgfpathmoveto{\pgfqpoint{3\pgflinewidth}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{3\pgflinewidth}{-\pgfplotmarksize}}
- \pgfusepathqstroke
- }
-\end{tkzltxexample}
-
-\begin{tkzltxexample}[]
- % An bar slant
- \pgfdeclareplotmark{s|}
- {%
- \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}%
- {-.70710678\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}%
- {.70710678\pgfplotmarksize}}
- \pgfusepathqstroke
- }
-\end{tkzltxexample}
-
-
-\begin{tkzltxexample}[]
- % An double bar slant
- \pgfdeclareplotmark{s||}
- {%
- \pgfpathmoveto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{0.25\pgfplotmarksize}{\pgfplotmarksize}}
- \pgfpathmoveto{\pgfqpoint{0\pgfplotmarksize}{-\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{1\pgfplotmarksize}{\pgfplotmarksize}}
- \pgfusepathqstroke
- }
-\end{tkzltxexample}
-
-
-\begin{tkzltxexample}[]
- % z
- \pgfdeclareplotmark{z}
- {%
- \pgfpathmoveto{\pgfqpoint{0.75\pgfplotmarksize}{-\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{0.75\pgfplotmarksize}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfqpoint{-0.75\pgfplotmarksize}{\pgfplotmarksize}}
- \pgfusepathqstroke
- }
-\end{tkzltxexample}
-
-\begin{tkzltxexample}[]
- % s
- \pgfdeclareplotmark{s}
- {%
- \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
- \pgfpathcurveto
- {\pgfpoint{0pt}{0pt}}
- {\pgfpoint{-\pgfplotmarksize}{\pgfplotmarksize}}
- {\pgfpoint{\pgfplotmarksize}{\pgfplotmarksize}}
- \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
- \pgfpathcurveto
- {\pgfpoint{0pt}{0pt}}
- {\pgfpoint{\pgfplotmarksize}{-\pgfplotmarksize}}
- {\pgfpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}
- \pgfusepathqstroke
- }
-\end{tkzltxexample}
-
-\begin{tkzltxexample}[]
- % infinity
- \pgfdeclareplotmark{oo}
- {%
- \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
- \pgfpathcurveto
- {\pgfpoint{0pt}{0pt}}
- {\pgfpoint{.5\pgfplotmarksize}{1\pgfplotmarksize}}
- {\pgfpoint{\pgfplotmarksize}{0pt}}
- \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
- \pgfpathcurveto
- {\pgfpoint{0pt}{0pt}}
- {\pgfpoint{-.5\pgfplotmarksize}{1\pgfplotmarksize}}
- {\pgfpoint{-\pgfplotmarksize}{0pt}}
- \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
- \pgfpathcurveto
- {\pgfpoint{0pt}{0pt}}
- {\pgfpoint{.5\pgfplotmarksize}{-1\pgfplotmarksize}}
- {\pgfpoint{\pgfplotmarksize}{0pt}}
- \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
- \pgfpathcurveto
- {\pgfpoint{0pt}{0pt}}
- {\pgfpoint{-.5\pgfplotmarksize}{-1\pgfplotmarksize}}
- {\pgfpoint{-\pgfplotmarksize}{0pt}}
- \pgfusepathqstroke
- }
-\end{tkzltxexample}
-
-
-
-% \tkzMarkAngle(B, A, C)
-%
-% Marque d'angle
-% arc de cercle (simple/double/triple) et marque d'églité.
-%
-% Par défaut:
-% arc = simple
-% mksize = 1cm (rayon de l'arc)
-% style traits pleins
-% mkpos ? position: 0.5 (position de la marque)
-% mark rien du tout (ignoré si type est utilisé)
-%
-% Paramètres (optionnels)
-% arc : l, ll, lll
-% mksize : 1cm
-% gap : 3pt
-% dist : 1?
-% style : type de traits
-% mkpos : 0.5
-% mark : none , |, ||,|||, z, s, x, o, oo mais tous les
-% % symboles de tikz sont permis
-
-\begin{NewMacroBox}{tkzMarkAngle}{\oarg{local options}\parg{A,O,B}}%
-$O$ is the vertex. Attention the arguments vary according to the options. Several markings are possible. You can simply draw an arc or add a mark on this arc. The style of the arc is chosen with the option \tkzname{arc}, the radius of the arc is given by \tkzname{mksize}, the arc can, of course, be colored.
-
-\medskip
-
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{arc}{l}{choice of l, ll and lll (single, double or triple).}
-\TOline{size}{1 cm}{arc radius.}
-\TOline{mark}{none}{choice of mark.}
-\TOline{mksize}{4pt}{symbol size (mark).}
-\TOline{mkcolor}{black}{symbol color (mark).}
-\TOline{mkpos}{0.5}{position of the symbol on the arc.}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Example with \tkzname{mark = x}}
-\begin{tkzexample}[latex=6cm,small]
- \begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/O,5/0/A,3/4/B}
- \tkzMarkAngle[size = 4cm,mark = x,
- arc=ll,mkcolor = red](A,O,B)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
- \end{tikzpicture}
-\end{tkzexample}
-\DeleteShortVerb{\|}
-\subsubsection{Example with \tkzname{mark =||}}
-\MakeShortVerb{\|}
-\begin{tkzexample}[latex=6cm,small]
- \begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/O,5/0/A,3/4/B}
- \tkzMarkAngle[size = 4cm,mark = ||,
- arc=ll,mkcolor = red](A,O,B)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
- \end{tikzpicture}
-\end{tkzexample}
-
-\begin{NewMacroBox}{tkzMarkAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
-With common options, there is a macro for multiple angles.
- \end{NewMacroBox}
-
-
-\subsection{Label at an angle}
-
-\begin{NewMacroBox}{tkzLabelAngle}{\oarg{local options}\parg{A,O,B}}%
-There is only one option, dist (with or without unit), which can be replaced by the TikZ's pos option (without unit for the latter). By default, the value is in centimeters.
-
-\begin{tabular}{lll}%
- \toprule
-options & default & definition \\
-\midrule
-\TOline{pos}{1}{ or dist, controls the distance from the top to the label.}
-\bottomrule
-\end{tabular}
-
-\medskip
-It is possible to move the label with all TikZ options : rotate, shift, below, etc.
-\end{NewMacroBox}
-
-\subsubsection{Example with \tkzname{pos}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/O,5/0/A,3/4/B}
- \tkzMarkAngle[size = 4cm,mark = ||,
- arc=ll,color = red](A,O,B)%
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
- \tkzLabelAngle[pos=2,draw,circle,
- fill=blue!10](A,O,B){$\alpha$}
-\end{tikzpicture}
-\end{tkzexample}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[rotate=30]
- \tkzDefPoint(2,1){S}
- \tkzDefPoint(7,3){T}
- \tkzDefPointBy[rotation=center S angle 60](T)
- \tkzGetPoint{P}
- \tkzDefLine[bisector,normed](T,S,P)
- \tkzGetPoint{s}
- \tkzDrawPoints(S,T,P)
- \tkzDrawPolygon[color=blue](S,T,P)
- \tkzDrawLine[dashed,color=blue,add=0 and 3](S,s)
- \tkzLabelPoint[above right](P){$P$}
- \tkzLabelPoints(S,T)
- \tkzMarkAngle[size = 1.8cm,mark = |,arc=ll,
- color = blue](T,S,P)
- \tkzMarkAngle[size = 2.1cm,mark = |,arc=l,
- color = blue](T,S,s)
- \tkzMarkAngle[size = 2.3cm,mark = |,arc=l,
- color = blue](s,S,P)
- \tkzLabelAngle[pos = 1.5](T,S,P){$60^{\circ}$}%
- \tkzLabelAngles[pos = 2.7](T,S,s s,S,P){$30^{\circ}$}%
-\end{tikzpicture}
-\end{tkzexample}
-
-\begin{NewMacroBox}{tkzLabelAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
-With common options, there is a macro for multiple angles.
-\end{NewMacroBox}
-
-\subsection{Marking a right angle}
-
-\begin{NewMacroBox}{tkzMarkRightAngle}{\oarg{local options}\parg{A,O,B}}%
-The \tkzname{german} option allows you to change the style of the drawing. The option \tkzname{size} allows to change the size of the drawing.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{german}{normal}{ german arc with inner point.}
-\TOline{size}{0.2}{ side size.}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Example of marking a right angle}
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,3/1/B,0.9/-1.2/P}
- \tkzDefPointBy[projection = onto B--A](P) \tkzGetPoint{H}
- \tkzDrawLines[add=.5 and .5](P,H)
- \tkzMarkRightAngle[fill=blue!20,size=.5,draw](A,H,P)
- \tkzDrawLines[add=.5 and .5](A,B)
- \tkzMarkRightAngle[fill=red!20,size=.8](B,H,P)
- \tkzDrawPoints[](A,B,P,H)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example of marking a right angle, german style}
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,3/1/B,0.9/-1.2/P}
- \tkzDefPointBy[projection = onto B--A](P) \tkzGetPoint{H}
- \tkzDrawLines[add=.5 and .5](P,H)
- \tkzMarkRightAngle[german,size=.5,draw](A,H,P)
- \tkzDrawPoints[](A,B,P,H)
- \tkzDrawLines[add=.5 and .5,fill=blue!20](A,B)
- \tkzMarkRightAngle[german,size=.8](P,H,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Mix of styles}
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(2,5){C}
- \tkzDefPointBy[projection=onto B--A](C)
- \tkzGetPoint{H}
- \tkzDrawLine(A,B)
- \tkzDrawLine[add = .5 and .2,color=red](C,H)
- \tkzMarkRightAngle[,size=1,color=red](C,H,A)
- \tkzMarkRightAngle[german,size=.8,color=blue](B,H,C)
- \tkzFillAngle[opacity=.2,fill=blue!20,size=.8](B,H,C)
- \tkzLabelPoints(A,B,C,H)
- \tkzDrawPoints(A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Full example}
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[rotate=-90]
-\tkzDefPoint(0,1){A}
-\tkzDefPoint(2,4){C}
-\tkzDefPointWith[orthogonal normed,K=7](C,A)
-\tkzGetPoint{B}
-\tkzDrawSegment[green!60!black](A,C)
-\tkzDrawSegment[green!60!black](C,B)
-\tkzDrawSegment[green!60!black](B,A)
-\tkzDrawLine[altitude,dashed,color=magenta](B,C,A)
-\tkzGetPoint{P}
-\tkzLabelPoint[left](A){$A$}
-\tkzLabelPoint[right](B){$B$}
-\tkzLabelPoint[above](C){$C$}
-\tkzLabelPoint[left](P){$P$}
-\tkzLabelSegment[auto](B,A){$c$}
-\tkzLabelSegment[auto,swap](B,C){$a$}
-\tkzLabelSegment[auto,swap](C,A){$b$}
-\tkzMarkAngle[size=1cm,color=cyan,mark=|](C,B,A)
-\tkzMarkAngle[size=1cm,color=cyan,mark=|](A,C,P)
-\tkzMarkAngle[size=0.75cm,color=orange,mark=||](P,C,B)
-\tkzMarkAngle[size=0.75cm,color=orange,mark=||](B,A,C)
-\tkzMarkRightAngle[german](A,C,B)
-\tkzMarkRightAngle[german](B,P,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{\tkzcname{tkzMarkRightAngles}}
-\begin{NewMacroBox}{tkzMarkRightAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
-With common options, there is a macro for multiple angles.
-\end{NewMacroBox}
-
-\section{Angles tools}
+%\section{Angles tools}
\subsection{Recovering an angle \tkzcname{tkzGetAngle}}
\begin{NewMacroBox}{tkzGetAngle}{\parg{name of macro}}%
@@ -446,9 +22,8 @@ arguments & example & explication \\
The point here is that $(AB)$ is the bisector of $\widehat{CAD}$, such that the $AD$ slope is zero. We recover the slope of $(AB)$ and then rotate twice.
-\begin{tkzexample}[vbox,small]
+\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
- \tkzInit
\tkzDefPoint(1,5){A} \tkzDefPoint(5,2){B}
\tkzDrawSegment(A,B)
\tkzFindSlopeAngle(A,B)\tkzGetAngle{tkzang}
@@ -456,7 +31,7 @@ arguments & example & explication \\
\tkzGetPoint{C}
\tkzDefPointBy[rotation= center A angle -\tkzang ](B)
\tkzGetPoint{D}
- \tkzCompass[length=1,dashed,color=red](A,C)
+ \tkzCompass[length=1](A,C)
\tkzCompass[delta=10,brown](B,C)
\tkzDrawPoints(A,B,C,D)
\tkzLabelPoints(B,C,D)
@@ -483,7 +58,7 @@ arguments & example & explication \\
\end{tabular}
\medskip
-The result is between -180 degrees and +180 degrees. pt2 is the vertex and \tkzcname{tkzGetAngle} can retrieve the angle.
+The result is between -180 degrees and +180 degrees. $pt2$ is the vertex and \tkzcname{tkzGetAngle} can retrieve the angle.
\end{NewMacroBox}
\subsubsection{Verification of angle measurement}
@@ -502,104 +77,61 @@ The result is between -180 degrees and +180 degrees. pt2 is the vertex and \tkzc
\tkzLabelPoints(A,B)
\tkzLabelPoint[right](C){$C$}
\tkzLabelAngle(B,A,C){\angleBAC$^\circ$}
- \tkzMarkAngle[size=1.5cm](B,A,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Example of the use of \tkzcname{tkzFindAngle} }
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}
- \tkzInit[xmin=-1,ymin=-1,xmax=7,ymax=7]
- \tkzClip
- \tkzDefPoint (0,0){O} \tkzDefPoint (6,0){A}
- \tkzDefPoint (5,5){B} \tkzDefPoint (3,4){M}
- \tkzFindAngle (A,O,M) \tkzGetAngle{an}
- \tkzDefPointBy[rotation=center O angle \an](A)
- \tkzGetPoint{C}
- \tkzDrawSector[fill = blue!50,opacity=.5](O,A)(C)
- \tkzFindAngle(M,B,A) \tkzGetAngle{am}
- \tkzDefPointBy[rotation = center O angle \am](A)
- \tkzGetPoint{D}
- \tkzDrawSector[fill = red!50,opacity = .5](O,A)(D)
- \tkzDrawPoints(O,A,B,M,C,D)
- \tkzLabelPoints(O,A,B,M,C,D)
- \edef\an{\fpeval{round(\an,2)}}\edef\am{\fpeval{round(\am,2)}}
- \tkzDrawSegments(M,B B,A)
- \tkzText(4,2){$\widehat{AOC}=\widehat{AOM}=\an^{\circ}$}
- \tkzText(1,4){$\widehat{AOD}=\widehat{MBA}=\am^{\circ}$}
+ \tkzMarkAngle[size=1.5](B,A,C)
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Determination of the three angles of a triangle}
\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}[scale=1.25,rotate=30]
- \tkzDefPoints{0.5/1.5/A, 3.5/4/B, 6/2.5/C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints[below](A,C)
- \tkzLabelPoints[above](B)
- \tkzMarkAngle[size=1cm](B,C,A)
- \tkzFindAngle(B,C,A)
- \tkzGetAngle{angleBCA}
- \edef\angleBCA{\fpeval{round(\angleBCA,2)}}
- \tkzLabelAngle[pos = 1](B,C,A){$\angleBCA^{\circ}$}
- \tkzMarkAngle[size=1cm](C,A,B)
- \tkzFindAngle(C,A,B)
- \tkzGetAngle{angleBAC}
- \edef\angleBAC{\fpeval{round(\angleBAC,2)}}
- \tkzLabelAngle[pos = 1.8](C,A,B){%
- $\angleBAC^{\circ}$}
- \tkzMarkAngle[size=1cm](A,B,C)
- \tkzFindAngle(A,B,C)
- \tkzGetAngle{angleABC}
- \edef\angleABC{\fpeval{round(\angleABC,2)}}
- \tkzLabelAngle[pos = 1](A,B,C){$\angleABC^{\circ}$}
- \end{tikzpicture}
+\begin{tikzpicture}
+\tkzDefPoints{0/0/a,5/3/b,3/6/c}
+\tkzDrawPolygon(a,b,c)
+\tkzFindAngle(c,b,a)
+\tkzGetAngle{angleCBA}
+\pgfmathparse{round(1+\angleCBA)}
+\let\angleCBA\pgfmathresult
+\tkzFindAngle(a,c,b)
+\tkzGetAngle{angleACB}
+\pgfmathparse{round(\angleACB)}
+\let\angleACB\pgfmathresult
+\tkzFindAngle(b,a,c)
+\tkzGetAngle{angleBAC}
+\pgfmathparse{round(\angleBAC)}
+\let\angleBAC\pgfmathresult
+\tkzMarkAngle(c,b,a)
+\tkzLabelAngle[pos=1.4](c,b,a)%
+ {\tiny $\angleCBA^\circ$}
+\tkzMarkAngle(a,c,b)
+\tkzLabelAngle[pos=1.4](a,c,b)%
+ {\tiny $\angleACB^\circ$}
+\tkzMarkAngle(b,a,c)
+\tkzLabelAngle[pos=1.4](b,a,c)%
+ {\tiny $\angleBAC^\circ$}
+\end{tikzpicture}
\end{tkzexample}
- \subsection{Determining a slope}
-It is a question of determining whether it exists, the slope of a straight line defined by two points. No verification of the existence is made.
-
-\begin{NewMacroBox}{tkzFindSlope}{\parg{pt1,pt2}\marg{name of macro}}%
-The result is stored in a macro.
-
-\medskip
-
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{(pt1,pt2){pt3}} {\tkzcname{tkzFindSlope}(A,B)\{slope\}}{\tkzcname{slope} will give the result of $\frac{y_B-y_A}{x_B-x_A}$} \\
-\bottomrule
-\end{tabular}
-
-\medskip
-\tkzHandBomb\ Careful not to have $x_B=x_A$.
-\end{NewMacroBox}
-
+\subsubsection{Angle between two circles}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1.5]
- \tkzInit[xmax=4,ymax=5]\tkzGrid[sub]
- \tkzDefPoint(1,2){A} \tkzDefPoint(3,4){B}
- \tkzDefPoint(3,2){C} \tkzDefPoint(3,1){D}
- \tkzDrawSegments(A,B A,C A,D)
- \tkzDrawPoints[color=red](A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
- \tkzFindSlope(A,B){SAB} \tkzFindSlope(A,C){SAC}
- \tkzFindSlope(A,D){SAD}
- \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
- \tkzText[fill=Gold!50,draw=brown](1,4)%
- {The slope of (AB) is : $\pgfmathprintnumber{\SAB}$}
- \tkzText[fill=Gold!50,draw=brown](1,3.5)%
- {The slope of (AC) is : $\pgfmathprintnumber{\SAC}$}
- \tkzText[fill=Gold!50,draw=brown](1,3)%
- {The slope of (AD) is : $\pgfmathprintnumber{\SAD}$}
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[scale=.4]
+\pgfkeys{/pgf/number format/.cd,fixed,precision=1}
+\tkzDefPoints{0/0/A,6/0/B,4/2/C}
+\tkzDrawCircles(A,C B,C)
+\tkzDefTangent[at=C](A) \tkzGetPoint{a}
+\tkzDefPointsBy[symmetry = center C](a){d}
+\tkzDefTangent[at=C](B) \tkzGetPoint{b}
+\tkzDrawLines[add=1 and 4](a,C C,b)
+\tkzDrawSegments(A,C B,C)
+\tkzFindAngle(b,C,d)\tkzGetAngle{bcd}
+\tkzMarkAngle[size=3,arc=ll,mark=s](b,C,d)
+\tkzFillAngle[fill=teal,opacity=.2,size=2](b,C,d)
+\tkzLabelAngle[pos=1.25](b,C,d){%
+ \tiny $\pgfmathprintnumber{\bcd}^\circ$}
\end{tikzpicture}
\end{tkzexample}
+
\subsection{Angle formed by a straight line with the horizontal axis \tkzcname{tkzFindSlopeAngle}}
Much more interesting than the last one. The result is between -180 degrees and +180 degrees.
@@ -618,55 +150,49 @@ arguments & example & explication \\
\medskip
\tkzcname{tkzGetAngle} can retrieve the result. If retrieval is not necessary, you can use \tkzcname{tkzAngleResult}.
\end{NewMacroBox}
-
- \subsubsection{Folding}
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(1,5){A}
- \tkzDefPoint(5,2){B}
- \tkzDrawSegment(A,B)
- \tkzFindSlopeAngle(A,B)
- \tkzGetAngle{tkzang}
- \tkzDefPointBy[rotation= center A angle \tkzang ](B)
- \tkzGetPoint{C}
- \tkzDefPointBy[rotation= center A angle -\tkzang ](B)
- \tkzGetPoint{D}
- \tkzCompass[orange,length=1](A,C)
- \tkzCompass[orange,delta=10](B,C)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(B,C,D)
- \tkzLabelPoints[above left](A)
- \tkzDrawSegments[style=dashed,color=orange](A,C A,D)
-\end{tikzpicture}
-\end{tkzexample}
-\subsubsection{Example of the use of \tkzcname{tkzFindSlopeAngle}}
+
+\subsubsection{Use of \tkzcname{tkzFindSlopeAngle} and \tkzcname{tkzGetAngle}}
Here is another version of the construction of a mediator
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzInit
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,2){B}
- \tkzDefLine[mediator](A,B)
- \tkzGetPoints{I}{J}
- \tkzCalcLength[cm](A,B)
- \tkzGetLength{dAB}
- \tkzFindSlopeAngle(A,B)
- \tkzGetAngle{tkzangle}
+ \tkzDefPoint(0,0){A} \tkzDefPoint(3,2){B}
+ \tkzDefLine[mediator](A,B) \tkzGetPoints{I}{J}
+ \tkzCalcLength(A,B) \tkzGetLength{dAB}
+ \tkzFindSlopeAngle(A,B) \tkzGetAngle{tkzangle}
\begin{scope}[rotate=\tkzangle]
- \tikzset{arc/.style={color=gray,delta=10}}
- \tkzDrawArc[orange,R,arc](B,3/4*\dAB)(120,240)
- \tkzDrawArc[orange,R,arc](A,3/4*\dAB)(-45,60)
- \tkzDrawLine(I,J)
- \tkzDrawSegment(A,B)
+ \tkzSetUpArc[color=gray,line width=0.2pt,/tkzcompass/delta=10]
+ \tkzDrawArc[R,arc](B,3/4*\dAB)(120,240)
+ \tkzDrawArc[R,arc](A,3/4*\dAB)(-45,60)
+ \tkzDrawLine(I,J) \tkzDrawSegment(A,B)
\end{scope}
- \tkzDrawPoints(A,B,I,J)
- \tkzLabelPoints(A,B)
+ \tkzDrawPoints(A,B,I,J) \tkzLabelPoints(A,B)
\tkzLabelPoints[right](I,J)
\end{tikzpicture}
\end{tkzexample}
-
-\endinput
+\subsubsection{Another use of \tkzcname{tkzFindSlopeAngle}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1.5]
+ \tkzDefPoint(1,2){A} \tkzDefPoint(3,4){B}
+ \tkzDefPoint(3,2){C} \tkzDefPoint(3,1){D}
+ \tkzDrawSegments(A,B A,C A,D)
+ \tkzDrawPoints[color=red](A,B,C,D)
+ \tkzLabelPoints(A,B,C,D)
+ \tkzFindSlopeAngle(A,B)\tkzGetAngle{SAB}
+ \tkzFindSlopeAngle(A,C)\tkzGetAngle{SAC}
+ \tkzFindSlopeAngle(A,D)\tkzGetAngle{SAD}
+ \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
+ \tkzText(1,5){The slope of (AB) is :
+ $\pgfmathprintnumber{\SAB}$}
+ \tkzText(1,4.5){The slope of (AC) is :
+ $\pgfmathprintnumber{\SAC}$}
+ \tkzText(1,4){The slope of (AD) is :
+ $\pgfmathprintnumber{\SAD}$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-arcs.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-arcs.tex
deleted file mode 100644
index 9c802352a1..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-arcs.tex
+++ /dev/null
@@ -1,178 +0,0 @@
-\section{The arcs}
-\begin{NewMacroBox}{tkzDrawArc}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
-
-This macro traces the arc of center $O$. Depending on the options, the arguments differ. It is a question of determining a starting point and an end point. Either the starting point is given, which is the simplest, or the radius of the arc is given. In the latter case, it is necessary to have two angles. Either the angles can be given directly, or nodes associated with the center can be given to determine them. The angles are in degrees.
-
-\medskip
-
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{towards}{towards}{$O$ is the center and the arc from $A$ to $(OB)$}
-\TOline{rotate} {towards}{the arc starts from $A$ and the angle determines its length}
-\TOline{R}{towards}{We give the radius and two angles}
-\TOline{R with nodes}{towards}{We give the radius and two points}
-\TOline{angles}{towards}{We give the radius and two points}
-\TOline{delta}{0}{angle added on each side }
-\bottomrule
-\end{tabular}
-
-\medskip
-Of course, you have to add all the styles of \TIKZ\ for the tracings...
-
-\medskip
-
-\begin{tabular}{lll}%
-\toprule
-options & arguments & example \\
-\midrule
-\TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzDrawArc[delta=10](O,A)(B)}}
-\TOline{rotate} {\parg{pt,pt}\parg{an}}{\tkzcname{tkzDrawArc[rotate,color=red](O,A)(90)}}
-\TOline{R}{\parg{pt,$r$}\parg{an,an}}{\tkzcname{tkzDrawArc[R](O,2 cm)(30,90)}}
-\TOline{R with nodes}{\parg{pt,$r$}\parg{pt,pt}}{\tkzcname{tkzDrawArc[R with nodes](O,2 cm)(A,B)}}
-\TOline{angles}{\parg{pt,pt}\parg{an,an}}{\tkzcname{tkzDrawArc[angles](O,A)(0,90)}}
-\end{tabular}
-\end{NewMacroBox}
-
-Here are a few examples:
-
-\subsection{Option \tkzname{towards}}
-It's useless to put \tkzname{towards}. In this first example the arc starts from $A$ and goes to $B$. The arc going from $B$ to $A$ is different. The salient is obtained by going in the direct direction of the trigonometric circle.
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPointBy[rotation= center O angle 90](A)
- \tkzGetPoint{B}
- \tkzDrawArc[color=blue,<->](O,A)(B)
- \tkzDrawArc(O,B)(A)
- \tkzDrawLines[add = 0 and .5](O,A O,B)
- \tkzDrawPoints(O,A,B)
- \tkzLabelPoints[below](O,A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsection{Option \tkzname{towards}}
-In this one, the arc starts from A but stops on the right (OB).
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPoint(1,1){B}
- \tkzDrawArc[color=blue,->](O,A)(B)
- \tkzDrawArc[color=gray](O,B)(A)
- \tkzDrawArc(O,B)(A)
- \tkzDrawLines[add = 0 and .5](O,A O,B)
- \tkzDrawPoints(O,A,B)
- \tkzLabelPoints[below](O,A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Option \tkzname{rotate}}
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-2){A}
- \tkzDefPoint(60:2){B}
- \tkzDrawLines[add = 0 and .5](O,A O,B)
- \tkzDrawArc[rotate,color=red](O,A)(180)
- \tkzDrawPoints(O,A,B)
- \tkzLabelPoints[below](O,A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsection{Option \tkzname{R}}
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}
- \tkzDefPoints{0/0/O}
- \tikzset{compass style/.append style={<->}}
- \tkzDrawArc[R,color=orange,double](O,3cm)(270,360)
- \tkzDrawArc[R,color=blue,double](O,2cm)(0,270)
- \tkzDrawPoint(O)
- \tkzLabelPoint[below](O){$O$}
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Option \tkzname{R with nodes}}
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPoint(1,1){B}
- \tkzCalcLength(B,A)\tkzGetLength{radius}
- \tkzDrawArc[R with nodes](B,\radius pt)(A,O)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Option \tkzname{delta}}
-This option allows a bit like \tkzcname{tkzCompass} to place an arc and overflow on either side. delta is a measure in degrees.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzDefPointBy[rotation= center A angle 60](B)
- \tkzGetPoint{C}
- \tkzSetUpLine[color=gray]
- \tkzDefPointBy[symmetry= center C](A)
- \tkzGetPoint{D}
- \tkzDrawSegments(A,B A,D)
- \tkzDrawLine(B,D)
- \tkzSetUpCompass[color=orange]
- \tkzDrawArc[orange,delta=10](A,B)(C)
- \tkzDrawArc[orange,delta=10](B,C)(A)
- \tkzDrawArc[orange,delta=10](C,D)(D)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
- \tkzMarkRightAngle(D,B,A)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Option \tkzname{angles}: example 1}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzDefPoint(2.5,0){O}
- \tkzDefPointBy[rotation=center O angle 60](B)
- \tkzGetPoint{D}
- \tkzDefPointBy[symmetry=center D](O)
- \tkzGetPoint{E}
- \tkzSetUpLine[color=Maroon]
- \tkzDrawArc[angles](O,B)(0,180)
- \tkzDrawArc[angles,](B,O)(100,180)
- \tkzCompass[delta=20](D,E)
- \tkzDrawLines(A,B O,E B,E)
- \tkzDrawPoints(A,B,O,D,E)
- \tkzLabelPoints(A,B,O,D,E)
- \tkzMarkRightAngle(O,B,E)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Option \tkzname{angles}: example 2}
-
-
-\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(5,0){I}
- \tkzDefPoint(0,5){J}
- \tkzInterCC(O,I)(I,O)\tkzGetPoints{B}{C}
- \tkzInterCC(O,I)(J,O)\tkzGetPoints{D}{A}
- \tkzInterCC(I,O)(J,O)\tkzGetPoints{L}{K}
- \tkzDrawArc[angles](O,I)(0,90)
- \tkzDrawArc[angles,color=gray,style=dashed](I,O)(90,180)
- \tkzDrawArc[angles,color=gray,style=dashed](J,O)(-90,0)
- \tkzDrawPoints(A,B,K)
- \foreach \point in {I,A,B,J,K}{\tkzDrawSegment(O,\point)}
- \end{tikzpicture}
-\end{tkzexample}
-
-
- \endinput
-
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-base.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-base.tex
deleted file mode 100644
index 6e250bb49a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-base.tex
+++ /dev/null
@@ -1,61 +0,0 @@
-\section{Summary of tkz-base}
-
-\subsection{Utility of \tkzname{tkz-base}}
-
-First of all, you don't have to deal with \TIKZ\ the size of the bounding box. Early versions of \tkzNamePack{tkz-euclide} did not control the size of the bounding box, now the size of the bounding box is limited.
-
- However, it is sometimes necessary to control the size of what will be displayed.
- To do this, you need to have prepared the bounding box you are going to work in, this is the role of \tkzNamePack{tkz-base} and its main macro \tkzNameMacro{tkzInit}. It is recommended to leave the graphic unit equal to 1 cm. For some drawings, it is interesting to fix the extreme values (xmin,xmax,ymin and ymax) and to "clip" the definition rectangle in order to control the size of the figure as well as possible.
-
-The two macros in \tkzNamePack{tkz-base} that are useful for \tkzNamePack{tkz-euclide} are:
-\begin{itemize}
- \item \tkzcname{tkzInit}
- \item \tkzcname{tkzClip}
-\end{itemize}
-\vspace{20pt}
-
-To this, I added macros directly linked to the bounding box. You can now view it, backup it, restore it (see the documentation of \tkzNamePack{tkz-base} section Bounding Box).
-
-\subsection{\tkzcname{tkzInit} and \tkzcname{tkzShowBB}}
-The rectangle around the figure shows you the bounding box.
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=3,ymin=-1, ymax=3]
- \tkzGrid
- \tkzShowBB[red,line width=2pt]
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{\tkzcname{tkzClip}}
-The role of this macro is to "clip" the initial rectangle so that only the paths contained in this rectangle are drawn.
-
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzInit[xmax=4, ymax=3]
- \tkzAxeXY
- \tkzGrid
- \tkzClip
- \draw[red] (-1,-1)--(5,2);
-\end{tikzpicture}
-\end{tkzexample}
-
-It is possible to add a bit of space
-\begin{tkzltxexample}[]
- \tkzClip[space=1]
-\end{tkzltxexample}
-
-\subsection{\tkzcname{tkzClip} and the option \tkzname{space}}
-This option allows you to add some space around the "clipped" rectangle.
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzInit[xmax=4, ymax=3]
- \tkzAxeXY
- \tkzGrid
- \tkzClip[space=1]
- \draw[red] (-1,-1)--(5,2);
-\end{tikzpicture}
-\end{tkzexample}
-The dimensions of the "clipped" rectangle are \tkzname{xmin-1}, \tkzname{ymin-1}, \tkzname{xmax+1} and \tkzname{ymax+1}.
-
-
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex
new file mode 100644
index 0000000000..fac856d457
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circleby.tex
@@ -0,0 +1,204 @@
+\section{Definition of circle by transformation; \tkzcname{tkzDefCircleBy} }
+These transformations are:
+
+\begin{itemize}
+ \item translation;
+ \item homothety;
+ \item orthogonal reflection or symmetry;
+ \item central symmetry;
+ \item orthogonal projection;
+ \item rotation (degrees);
+ \item orthogonal from ;
+ \item orthogonal through;
+ \item inversion.
+\end{itemize}
+
+The choice of transformations is made through the options. The macro is \tkzcname{tkzDefCircleBy} and the other for the transformation of a list of points \tkzcname{tkzDefCirclesBy}. For example, we'll write:
+\begin{tkzltxexample}[]
+\tkzDefCircleBy[translation= from A to A'](O,M)
+\end{tkzltxexample}
+$O$ is the center and $M$ is a point on the circle.
+The image is a circle. The new center is |tkzFirstPointResult| and |tkzSecondPointResult| is a point on the new circle. You can get the results with the macro \tkzcname{tkzGetPoints} .
+\medskip
+\begin{NewMacroBox}{tkzDefCircleBy}{\oarg{local options}\parg{pt1,pt2}}%
+The argument is a couple of points. The results is a couple of points. If you want to keep these points then the macro \tkzcname{tkzGetPoints\{O'\}\{M'\}} allows you to assign the name \tkzname{O'} to the center and \tkzname{M'} to the point on the circle.
+
+\begin{tabular}{lll}%
+\toprule
+arguments & definition & examples \\
+\midrule
+\TAline{pt1,pt2} {existing points} {$(O,M)$}
+\bottomrule
+\end{tabular}
+
+\begin{tabular}{lll}%
+options & & examples \\
+\midrule
+\TOline{translation}{= from \#1 to \#2}{[translation=from A to B](O,M)}
+\TOline{homothety} {= center \#1 ratio \#2}{[homothety=center A ratio .5](O,M)}
+\TOline{reflection} {= over \#1--\#2}{[reflection=over A--B](O,M)}
+\TOline{symmetry } {= center \#1}{[symmetry=center A](O,M)}
+\TOline{projection }{= onto \#1--\#2}{[projection=onto A--B](O,M)}
+\TOline{rotation } {= center \#1 angle \#2}{[rotation=center O angle 30](O,M)}
+\TOline{orthogonal from} {= \#1}{[orthogonal from = A ](O,M)}
+\TOline{orthogonal through}{= \#1 and \#2}{[orthogonal through = A and B](O,M)}
+\TOline{inversion}{= center \#1 through \#2}{[inversion =center O through A](O,M)}
+% \TOline{inversion negative}{= center \#1 through \#2}{[inversion negative =center O through A](O,M)}
+\bottomrule
+\end{tabular}
+
+The image is only defined and not drawn.
+\end{NewMacroBox}
+
+\subsection{Examples of transformations}
+
+\subsubsection{\tkzname{Translation}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[>=latex]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){B}
+ \tkzDefPoint(3,2){C} \tkzDefPoint(4,3){D}
+ \tkzDefCircleBy[translation= from B to A](C,D)
+ \tkzGetPoints{C'}{D'}
+ \tkzDrawPoints[teal](A,B,C,D,C',D')
+ \tkzLabelPoints[color=teal](A,B,C,D,C',D')
+ \tkzDrawSegments[orange,->](A,B)
+ \tkzDrawCircles(C,D C',D')
+\end{tikzpicture}
+\end{tkzexample}
+
+ \subsubsection{\tkzname{Reflection} (orthogonal symmetry)}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[>=latex]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){B}
+ \tkzDefPoint(3,2){C} \tkzDefPoint(4,3){D}
+ \tkzDefCircleBy[reflection = over A--B](C,D)
+ \tkzGetPoints{C'}{D'}
+ \tkzDrawPoints[teal](A,B,C,D,C',D')
+ \tkzLabelPoints[color=teal](A,B,C,D,C',D')
+ \tkzDrawLine[add =0 and 1][orange](A,B)
+ \tkzDrawCircles(C,D C',D')
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{\tkzname{Homothety}}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1.2]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){B}
+ \tkzDefPoint(3,2){C} \tkzDefPoint(4,3){D}
+ \tkzDefCircleBy[homothety=center A ratio .5](C,D)
+ \tkzGetPoints{C'}{D'}
+ \tkzDrawPoints[teal](A,C,D,C',D')
+ \tkzLabelPoints[color=teal](A,C,D,C',D')
+ \tkzDrawCircles(C,D C',D')
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{\tkzname{Symmetry}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){B}
+ \tkzDefPoint(3,2){C} \tkzDefPoint(4,3){D}
+ \tkzDefCircleBy[symmetry=center B](C,D)
+ \tkzGetPoints{C'}{D'}
+ \tkzDrawPoints[teal](B,C,D,C',D')
+ \tkzLabelPoints[color=teal](B,C,D,C',D')
+ \tkzDrawLines[orange](C,C' D,D')
+ \tkzDrawCircles(C,D C',D')
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{\tkzname{Rotation}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=0.5]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(3,-1){B}
+ \tkzDefPoint(3,2){C} \tkzDefPoint(4,3){D}
+ \tkzDefCircleBy[rotation=center B angle 60](C,D)
+ \tkzGetPoints{C'}{D'}
+ \tkzDrawPoints[teal](B,C,D,C',D')
+ \tkzLabelPoints[color=teal](B,C,D,C',D')
+ \tkzDrawCircles(C,D C',D')
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{\tkzname{Orthogonal from}}
+Orthogonal circle of given center. \tkzcname{tkzGetPoints{z1}{z2}} gives two points of the circle.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/0/O,1/0/A}
+ \tkzDefPoints{1.5/1.25/B,-2/-3/C}
+ \tkzDefCircleBy[orthogonal from=B](O,A)
+ \tkzGetPoints{z1}{z2}
+ \tkzDefCircleBy[orthogonal from=C](O,A)
+ \tkzGetPoints{t1}{t2}
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircles[new](B,z1 C,t1)
+ \tkzDrawPoints(t1,t2,C)
+ \tkzDrawPoints(z1,z2,O,A,B)
+ \tkzLabelPoints(O,A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{\tkzname{Orthogonal from} : Right angle between circles}
+We are looking for a circle orthogonal to the given circle.
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+\tkzDefPoints{0/0/A,6/0/B,4/2/D}
+\tkzDefCircleBy[orthogonal from=B](A,D)
+\tkzGetFirstPoint{C}
+\tkzDrawCircles(A,C B,C)
+\tkzDefTangent[at=C](A) \tkzGetPoint{a}
+\tkzDefPointsBy[symmetry = center C](a){d}
+\tkzDefTangent[at=C](B) \tkzGetPoint{b}
+\tkzDrawLines[add=1 and 4](a,C C,b)
+\tkzDrawSegments(A,C B,C)
+\tkzMarkAngle[size=2.5](b,C,d)
+\tkzFillAngle[fill=teal,opacity=.2,size=3](b,C,d)
+\end{tikzpicture}
+\end{tkzexample}
+
+ \subsubsection{\tkzname{Orthogonal through}}
+Orthogonal circle passing through two given points.
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(1,0){A}
+ \tkzDrawCircle(O,A)
+ \tkzDefPoint(-1.5,-1.5){z1}
+ \tkzDefPoint(1.5,-1.25){z2}
+ \tkzDefCircleBy[orthogonal through=z1 and z2](O,A)
+ \tkzGetPoint{c}
+ \tkzDrawCircle[new](tkzPointResult,z1)
+ \tkzDrawPoints[new](O,A,z1,z2,c)
+ \tkzLabelPoints(O,A,z1,z2,c)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{\tkzname{Inversion}}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1.5]
+\tkzSetUpPoint[size=4,color=red,fill=red!20]
+\tkzSetUpStyle[color=purple,ultra thin]{st1}
+\tkzSetUpStyle[color=cyan,ultra thin]{st2}
+\tkzDefPoint(2,0){A} \tkzDefPoint(3,0){B}
+\tkzDefPoint(3,2){C} \tkzDefPoint(4,2){D}
+\tkzDefCircleBy[inversion = center B through A](C,D)
+\tkzGetPoints{C'}{D'}
+\tkzDrawPoints(A,B,C,D,C',D')
+\tkzLabelPoints(A,B,C,D,C',D')
+\tkzDrawCircles(B,A)
+\tkzDrawCircles[st1](C,D)
+\tkzDrawCircles[st2](C',D')
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex
index 7b58f6dffd..f0cdae595e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-circles.tex
@@ -20,7 +20,7 @@ Among the following macros, one will allow you to draw a circle, which is not a
This macro allows you to retrieve the characteristics (center and radius) of certain circles.
\begin{NewMacroBox}{tkzDefCircle}{\oarg{local options}\parg{A,B} or \parg{A,B,C}}%
-\tkzHandBomb\ Attention the arguments are lists of two or three points. This macro is either used in partnership with \tkzcname{tkzGetPoint} and/or \tkzcname{tkzGetLength} to obtain the center and the radius of the circle, or by using \tkzname{tkzPointResult} and \tkzname{tkzLengthResult} if it is not necessary to keep the results.
+\tkzHandBomb\ Attention the arguments are lists of two or three points. This macro is either used in partnership with \\ \tkzcname{tkzGetPoint} and/or \tkzcname{tkzGetLength} to obtain the center and the radius of the circle, or by using \\ \tkzname{tkzPointResult} and \tkzname{tkzLengthResult} if it is not necessary to keep the results.
\medskip
\begin{tabular}{lll}%
@@ -44,8 +44,6 @@ options & default & definition \\
\TOline{euler or nine}{through}{Euler's Circle}
\TOline{spieker} {through}{Spieker Circle}
\TOline{apollonius} {through}{circle of Apollonius}
-\TOline{orthogonal} {through}{circle of given centre orthogonal to another circle}
-\TOline{orthogonal through}{through}{circle orthogonal circle passing through 2 points}
\TOline{K} {1}{coefficient used for a circle of Apollonius}
\bottomrule
\end{tabular}
@@ -56,24 +54,24 @@ options & default & definition \\
\subsubsection{Example with a random point and option \tkzname{through}}
\begin{tkzexample}[latex=7 cm,small]
- \begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,4){A}
- \tkzDefPoint(2,2){B}
- \tkzDefMidPoint(A,B) \tkzGetPoint{I}
- \tkzDefRandPointOn[segment = I--B]
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoint(0,4){A}
+ \tkzDefPoint(2,2){B}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{I}
+ \tkzDefRandPointOn[segment = I--B]
\tkzGetPoint{C}
- \tkzDefCircle[through](A,C)
- \tkzGetLength{rACpt}
- \tkzpttocm(\rACpt){rACcm}
- \tkzDrawCircle(A,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
- \tkzLabelCircle[draw,fill=orange,
- text width=3cm,text centered,
- font=\scriptsize](A,C)(-90)%
- {The radius measurement is:
- \rACpt pt i.e. \rACcm cm}
- \end{tikzpicture}
+ \tkzDefCircle[through](A,C)
+ \tkzGetLength{rACcm}
+ \tkzcmtopt(\rACcm){rACpt}
+ \tkzDrawCircle(A,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+ \tkzLabelCircle[draw,
+ text width=3cm,text centered,
+ font=\scriptsize,below=1cm](A,C)(-90)%
+ {The radius measurement is:
+ \rACcm cm i.e. \rACpt pt}
+\end{tikzpicture}
\end{tkzexample}
\subsubsection{Example with option \tkzname{diameter}}
@@ -84,32 +82,28 @@ options & default & definition \\
\tkzDefPoint(2,2){B}
\tkzDefCircle[diameter](A,B)
\tkzGetPoint{O}
- \tkzDrawCircle[blue,fill=blue!20](O,B)
+ \tkzDrawCircle(O,B)
\tkzDrawSegment(A,B)
\tkzDrawPoints(A,B,O)
\tkzLabelPoints(A,B,O)
\end{tikzpicture}
\end{tkzexample}
- \subsubsection{Circles inscribed and circumscribed for a given triangle}
- You can also obtain the center of the inscribed circle and its projection on one side of the triangle with \tkzcname{tkzGetFirstPoint{I}} and \tkzcname{tkzGetSecondPoint{Ib}}.
-
+ \subsubsection{Circles inscribed and circumscribed for a given triangle}
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(2,2){A}
- \tkzDefPoint(5,-2){B}
- \tkzDefPoint(1,-2){C}
- \tkzDefCircle[in](A,B,C)
- \tkzGetPoint{I} \tkzGetLength{rIN}
- \tkzDefCircle[circum](A,B,C)
- \tkzGetPoint{K} \tkzGetLength{rCI}
- \tkzDrawPoints(A,B,C,I,K)
- \tkzDrawCircle[R,blue](I,\rIN pt)
- \tkzDrawCircle[R,red](K,\rCI pt)
- \tkzLabelPoints[below](B,C)
- \tkzLabelPoints[above left](A,I,K)
- \tkzDrawPolygon(A,B,C)
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(2,2){A} \tkzDefPoint(5,-2){B}
+ \tkzDefPoint(1,-2){C}
+ \tkzDefCircle[in](A,B,C)
+ \tkzGetPoint{I} \tkzGetLength{rIN}
+ \tkzDefCircle[circum](A,B,C)
+ \tkzGetPoint{K} \tkzGetLength{rCI}
+ \tkzDrawCircles[R,new](I,{\rIN} K,{\rCI})
+ \tkzLabelPoints[below](B,C)
+ \tkzLabelPoints[above left](A,I,K)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,I,K)
\end{tikzpicture}
\end{tkzexample}
@@ -118,36 +112,38 @@ We want to define an excircle of a triangle relatively to point $C$
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{ 0/0/A,4/0/B,0.8/4/C}
- \tkzDefCircle[ex](B,C,A)
+ \tkzDefPoints{ 0/0/A,4/0/B,0.8/4/C}
+ \tkzDefCircle[ex](B,C,A)
\tkzGetPoint{J_c} \tkzGetLength{rc}
- \tkzDefPointBy[projection=onto A--C ](J_c)
+ \tkzDefPointBy[projection=onto A--C ](J_c)
\tkzGetPoint{X_c}
- \tkzDefPointBy[projection=onto A--B ](J_c)
- \tkzGetPoint{Y_c}
- \tkzGetPoint{I}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawCircle[R,color=lightgray](J_c,\rc pt)
+ \tkzDefPointBy[projection=onto A--B ](J_c)
+ \tkzGetPoint{Y_c}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle[R,color=lightgray](J_c,\rc)
% possible \tkzDrawCircle[ex](A,B,C)
- \tkzDrawCircle[in,color=red](A,B,C) \tkzGetPoint{I}
- \tkzDefPointBy[projection=onto A--C ](I)
+ \tkzDrawCircle[in,new](A,B,C)
+ \tkzGetPoint{I}
+ \tkzDefPointBy[projection=onto A--C ](I)
\tkzGetPoint{F}
- \tkzDefPointBy[projection=onto A--B ](I)
+ \tkzDefPointBy[projection=onto A--B ](I)
\tkzGetPoint{D}
- \tkzDrawLines[add=0 and 2.2,dashed](C,A C,B)
- \tkzDrawSegments[dashed](J_c,X_c I,D I,F J_c,Y_c)
- \tkzMarkRightAngles(A,F,I B,D,I J_c,X_c,A J_c,Y_c,B)
- \tkzDrawPoints(B,C,A,I,D,F,X_c,J_c,Y_c)
- \tkzLabelPoints(B,A,J_c,I,D,X_c,Y_c)
- \tkzLabelPoints[above left](C)
- \tkzLabelPoints[left](F)
+ \tkzDrawLines[add=0 and 2.2,dashed](C,A C,B)
+ \tkzDrawSegments[dashed](J_c,X_c I,D I,F%
+ J_c,Y_c)
+ \tkzMarkRightAngles(A,F,I B,D,I J_c,X_c,A%
+ J_c,Y_c,B)
+ \tkzDrawPoints(B,C,A,I,D,F,X_c,J_c,Y_c)
+ \tkzLabelPoints(B,A,J_c,I,D,X_c,Y_c)
+ \tkzLabelPoints[above left](C)
+ \tkzLabelPoints[left](F)
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Euler's circle for a given triangle with option \tkzname{euler}}
We verify that this circle passes through the middle of each side.
-\begin{tkzexample}[latex=8cm,small]
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=.75]
\tkzDefPoint(5,3.5){A}
\tkzDefPoint(0,0){B} \tkzDefPoint(7,0){C}
@@ -155,7 +151,7 @@ We verify that this circle passes through the middle of each side.
\tkzGetPoint{E} \tkzGetLength{rEuler}
\tkzDefSpcTriangle[medial](A,B,C){M_a,M_b,M_c}
\tkzDrawPoints(A,B,C,E,M_a,M_b,M_c)
- \tkzDrawCircle[R,blue](E,\rEuler pt)
+ \tkzDrawCircle[R](E,\rEuler)
\tkzDrawPolygon(A,B,C)
\tkzLabelPoints[below](B,C)
\tkzLabelPoints[left](A,E)
@@ -171,12 +167,12 @@ We verify that this circle passes through the middle of each side.
\tkzDefCircle[apollonius,K=2](A,B)
\tkzGetPoint{K1}
\tkzGetLength{rAp}
- \tkzDrawCircle[R,color = blue!50!black,
- fill=blue!20,opacity=.4](K1,\rAp pt)
+ \tkzDrawCircle[R,color = teal!50!black,
+ fill=teal!20,opacity=.4](K1,\rAp)
\tkzDefCircle[apollonius,K=3](A,B)
\tkzGetPoint{K2} \tkzGetLength{rAp}
- \tkzDrawCircle[R,color=red!50!black,
- fill=red!20,opacity=.4](K2,\rAp pt)
+ \tkzDrawCircle[R,color=orange!50,
+ fill=orange!20,opacity=.4](K2,\rAp)
\tkzLabelPoints[below](A,B,K1,K2)
\tkzDrawPoints(A,B,K1,K2)
\tkzDrawLine[add=.2 and 1](A,B)
@@ -205,10 +201,11 @@ We verify that this circle passes through the middle of each side.
\tkzDrawPoints(I,J,K)
\tkzDrawPolygon(A,B,C)
\tkzDrawPolygon[dashed](I,J,K)
- \tkzDrawCircle[R,blue!50!black](O,\rO)
+ \tkzDrawCircle[R,teal](O,\rO)
\tkzDrawSegments[dashed](A,K B,J C,I)
\tkzDrawPoints(A,B,C)
- \tkzDrawCircles[R](J,{\rJ} I,{\rI} K,{\rK})
+ \tkzDrawCircles[R,new](J,{\rJ} I,{\rI}%
+ K,{\rK})
\tkzLabelPoints(A,B,C,I,J,K)
\end{tikzpicture}
\end{tkzexample}
@@ -216,366 +213,119 @@ We verify that this circle passes through the middle of each side.
\subsubsection{Spieker circle with option \tkzname{spieker}}
The incircle of the medial triangle $M_aM_bM_c$ is the Spieker circle:
-\begin{tkzexample}[latex=8cm, small]
+
+\begin{tkzexample}[latex=6cm, small]
\begin{tikzpicture}[scale=1]
\tkzDefPoints{ 0/0/A,4/0/B,0.8/4/C}
\tkzDefSpcTriangle[medial](A,B,C){M_a,M_b,M_c}
\tkzDefTriangleCenter[spieker](A,B,C)
\tkzGetPoint{S_p}
- \tkzDrawPolygon[blue](A,B,C)
- \tkzDrawPolygon[red](M_a,M_b,M_c)
- \tkzDrawPoints[blue](B,C,A)
- \tkzDrawPoints[red](M_a,M_b,M_c,S_p)
- \tkzDrawCircle[in,red](M_a,M_b,M_c)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[cyan](M_a,M_b,M_c)
+ \tkzDrawPoints(B,C,A)
+ \tkzDrawPoints[new](M_a,M_b,M_c,S_p)
+ \tkzDrawCircle[in,new](M_a,M_b,M_c)
\tkzAutoLabelPoints[center=S_p,dist=.3](M_a,M_b,M_c)
- \tkzLabelPoints[blue,right](S_p)
+ \tkzLabelPoints[right](S_p)
\tkzAutoLabelPoints[center=S_p](A,B,C)
\end{tikzpicture}
\end{tkzexample}
-
- \subsubsection{Orthogonal circle passing through two given points, option \tkzname{orthogonal through}}
-
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,0){A}
- \tkzDrawCircle(O,A)
- \tkzDefPoint(-1.5,-1.5){z1}
- \tkzDefPoint(1.5,-1.25){z2}
- \tkzDefCircle[orthogonal through=z1 and z2](O,A)
- \tkzGetPoint{c}
- \tkzDrawCircle[thick,color=red](tkzPointResult,z1)
- \tkzDrawPoints[fill=red,color=black,
- size=4](O,A,z1,z2,c)
- \tkzLabelPoints(O,A,z1,z2,c)
+ \subsubsection{Examples from js bibra tex.stackexchange.com}
+
+\begin{tikzpicture}[scale=0.4]
+\tkzDefPoint(6,4){A}
+\tkzDefPoint(6,-4){B}
+\tkzDefMidPoint(B,A)\tkzGetPoint{P}
+\tkzDefLine[orthogonal =through P](A,B)\tkzGetPoint{X}
+\tkzDefCircle[through](X,P)
+\tkzCalcLength(X,P)\tkzGetLength{rXP}
+\tkzDefShiftPoint[X](180:\rXP*2){y}
+\tkzDefPointWith[linear,K=0.3](y,P) \tkzGetPoint{x}
+\tkzDrawPoints(X,x)
+\tkzDrawCircles(x,P X,P)
+\tkzLabelLine[pos=0.5,above](x,P){r1}
+\tkzDefShiftPoint[X](-60:\rXP){X'}
+\tkzDrawSegments[<->, >=triangle 45](X,X' P,x)
+\tkzLabelLine[pos=0.5,above, sloped](X,X'){r}
+\tkzLabelPoints[above](x)
+\tkzLabelPoints[above](X)
\end{tikzpicture}
-\end{tkzexample}
-\subsubsection{Orthogonal circle of given center}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/O,1/0/A}
- \tkzDefPoints{1.5/1.25/B,-2/-3/C}
- \tkzDefCircle[orthogonal from=B](O,A)
- \tkzGetPoints{z1}{z2}
- \tkzDefCircle[orthogonal from=C](O,A)
- \tkzGetPoints{t1}{t2}
- \tkzDrawCircle(O,A)
- \tkzDrawCircle[thick,color=red](B,z1)
- \tkzDrawCircle[thick,color=red](C,t1)
- \tkzDrawPoints(t1,t2,C)
- \tkzDrawPoints(z1,z2,O,A,B)
- \tkzLabelPoints(O,A,B,C)
+\begin{tkzexample}[code only, small]
+\begin{tikzpicture}[scale=0.4]
+\tkzDefPoint(6,4){A}
+\tkzDefPoint(6,-4){B}
+\tkzDefMidPoint(B,A)\tkzGetPoint{P}
+\tkzDefLine[orthogonal =through P](A,B)
+\tkzGetPoint{X}
+\tkzDefCircle[through](X,P)
+\tkzCalcLength(X,P)\tkzGetLength{rXP}
+\tkzDefShiftPoint[X](180:\rXP*2){y}
+\tkzDefPointWith[linear,K=0.3](y,P)
+ \tkzGetPoint{x}
+\tkzDrawPoints(X,x)
+\tkzDrawCircles(x,P X,P)
+\tkzLabelLine[pos=0.5,above](x,P){r1}
+\tkzDefShiftPoint[X](-60:\rXP){X'}
+\tkzDrawSegments[<->, >=triangle 45](X,X' P,x)
+\tkzLabelLine[pos=0.5,above, sloped](X,X'){r}
+\tkzLabelPoints[above](x)
+\tkzLabelPoints[above](X)
\end{tikzpicture}
\end{tkzexample}
-%<---------------------------------------------------------------------------->
-
-\section{Draw, Label the Circles}
-\begin{itemize}
- \item I created a first macro \tkzcname{tkzDrawCircle},
-
- \item then a macro that allows you to color a disc, but without drawing the circle. \tkzcname{tkzFillCircle},
-
- \item sometimes, it is necessary for a drawing to be contained in a disc,this is the role assigned to \tkzcname{tkzClipCircle},
-
-
- \item It finally remains to be able to give a label to designate a circle and if several possibilities are offered, we will see here \tkzcname{tkzLabelCircle}.
-\end{itemize}
-
-\subsection{Draw a circle}
-\begin{NewMacroBox}{tkzDrawCircle}{\oarg{local options}\parg{A,B}}%
-\tkzHandBomb\ Attention you need only two points to define a radius or a diameter. An additional option \tkzname{R} is available to give a measure directly.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2}}{\parg{A,B}} {two points to define a radius or a diameter}
-\bottomrule
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{through}{through}{circle with two points defining a radius}
-\TOline{diameter}{through}{circle with two points defining a diameter}
-\TOline{R} {through}{circle characterized by a point and the measurement of a radius}
- \bottomrule
-\end{tabular}
-
-\medskip
-Of course, you have to add all the styles of \TIKZ\ for the tracings...
-\end{NewMacroBox}
-
- \subsubsection{Circles and styles, draw a circle and color the disc}
- We'll see that it's possible to colour in a disc while tracing the circle.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(3,0){A}
- % circle with centre O and passing through A
- \tkzDrawCircle[color=blue](O,A)
- % diameter circle $[OA]$
- \tkzDrawCircle[diameter,color=red,%
- line width=2pt,fill=red!40,%
- opacity=.5](O,A)
- % circle with centre O and radius = exp(1) cm
- \edef\rayon{\fpeval{0.25*exp(1)}}
- \tkzDrawCircle[R,color=orange](O,\rayon cm)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Drawing circles}
-\begin{NewMacroBox}{tkzDrawCircles}{\oarg{local options}\parg{A,B C,D}}%
-\tkzHandBomb\ Attention, the arguments are lists of two points. The circles that can be drawn are the same as in the previous macro. An additional option \tkzname{R} is available to give a measure directly.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2 pt3,pt4 ...}}{\parg{A,B C,D}} {List of two points}
-\bottomrule
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{through}{through}{circle with two points defining a radius}
-\TOline{diameter}{through}{circle with two points defining a diameter}
-\TOline{R} {through}{circle characterized by a point and the measurement of a radius}
- \bottomrule
-\end{tabular}
-
-\medskip
-Of course, you have to add all the styles of \TIKZ\ for the tracings...
-\end{NewMacroBox}
-
- \subsubsection{Circles defined by a triangle.}
-
-\begin{tkzexample}[latex=9cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,0){B}
- \tkzDefPoint(3,2){C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles(A,B B,C C,A)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
- \subsubsection{Concentric circles.}
-
-\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDrawCircles[R](A,1cm A,2cm A,3cm)
- \tkzDrawPoint(A)
- \tkzLabelPoints(A)
-\end{tikzpicture}
-\end{tkzexample}
-
- \subsubsection{Exinscribed circles.}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1]
-\tkzDefPoints{0/0/A,4/0/B,1/2.5/C}
-\tkzDrawPolygon(A,B,C)
-\tkzDefCircle[ex](B,C,A)
-\tkzGetPoint{J_c} \tkzGetSecondPoint{T_c}
-\tkzGetLength{rJc}
-\tkzDrawCircle[R](J_c,{\rJc pt})
-\tkzDrawLines[add=0 and 1](C,A C,B)
-\tkzDrawSegment(J_c,T_c)
-\tkzMarkRightAngle(J_c,T_c,B)
-\tkzDrawPoints(A,B,C,J_c,T_c)
+ \tkzDefPoint(0,4){A}
+ \tkzDefPoint(2,2){B}
+ \tkzDefMidPoint(B,A)\tkzGetPoint{P}
+ \tkzDefLine[orthogonal =through P](B,A)
+ \tkzGetPoint{X}
+ \tkzDefCircle[through](X,P)
+ \tkzGetLength{rXPpt}
+ \tkzpttocm(\rXPpt){rXPcm}
+ \tkzDefPointWith[linear,K=0.3](X,P)
+ \tkzGetPoint{x}
+ \tkzDefCircle[through](x,P)
+ \tkzGetLength{rxPpt}
+ \tkzpttocm(\rxPpt){rxPcm}
+ \tkzDrawCircles(X,P x,P)
+ \tkzDrawPoints(X,x)
+ \tkzDrawSegment[<->, >=triangle 45](x,P)
+ \tkzDrawSegment(P,X)
+ \tkzLabelPoints(X,x)
+ \tkzLabelLine[pos=0.5,left](x,P){r}
+ \tkzCalcLength[cm](X,P)\tkzGetLength{rXP}
+ \tkzDefShiftPoint[X](-90:\rXP){y}
+ \tkzDrawSegments[<->, >=triangle 45](X,y)
+ \tkzLabelLine[pos=0.5,left](X,y){R}
\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Cardioid}
-Based on an idea by O. Reboux made with pst-eucl (Pstricks module) by D. Rodriguez.
-
- Its name comes from the Greek \textit{kardia (heart)}, in reference to its shape, and was given to it by Johan Castillon (Wikipedia).
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,0){A}
- \foreach \ang in {5,10,...,360}{%
- \tkzDefPoint(\ang:2){M}
- \tkzDrawCircle(M,A)
- }
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Draw a semicircle}
-\begin{NewMacroBox}{tkzDrawSemiCircle}{\oarg{local options}\parg{A,B}}%
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2}}{\parg{O,A} or\parg{A,B}} {radius or diameter}
-\bottomrule
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{through} {through}{circle characterized by two points defining a radius}
-\TOline{diameter} {through}{circle characterized by two points defining a diameter}
-\end{tabular}
-\end{NewMacroBox}
-\subsubsection{Use of \tkzcname{tkzDrawSemiCircle}}
-
-\begin{tkzexample}[latex=6cm,small]
- \begin{tikzpicture}
- \tkzDefPoint(0,0){A} \tkzDefPoint(6,0){B}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzDrawPolygon(B,C,D,A)
- \tkzDefPoint(3,6){F}
- \tkzDefTriangle[equilateral](C,D) \tkzGetPoint{I}
- \tkzDefPointBy[projection=onto B--C](I) \tkzGetPoint{J}
- \tkzInterLL(D,B)(I,J) \tkzGetPoint{K}
- \tkzDefPointBy[symmetry=center K](B) \tkzGetPoint{M}
- \tkzDrawCircle(M,I)
- \tkzCalcLength(M,I) \tkzGetLength{dMI}
- \tkzFillPolygon[color = red!50](A,B,C,D)
- \tkzFillCircle[R,color = yellow](M,\dMI pt)
- \tkzDrawSemiCircle[fill = blue!50!black](F,D)%
- \end{tikzpicture}
-\end{tkzexample}
-
-
-\subsection{Colouring a disc}
-This was possible with the previous macro, but disk tracing was mandatory, this is no longer the case.
-
-\begin{NewMacroBox}{tkzFillCircle}{\oarg{local options}\parg{A,B}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{radius} {radius}{two points define a radius}
-\TOline{R} {radius}{a point and the measurement of a radius }
-\bottomrule
-\end{tabular}
-
-\medskip
-You don't need to put \tkzname{radius} because that's the default option. Of course, you have to add all the styles of \TIKZ\ for the plots.
-\end{NewMacroBox}
-
- \subsubsection{Example from a sangaku}
-
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[code only, small]
\begin{tikzpicture}
- \tkzInit[xmin=0,xmax = 6,ymin=0,ymax=6]
- \tkzDefPoint(0,0){B} \tkzDefPoint(6,0){C}%
- \tkzDefSquare(B,C) \tkzGetPoints{D}{A}
- \tkzClipPolygon(B,C,D,A)
- \tkzDefMidPoint(A,D) \tkzGetPoint{F}
- \tkzDefMidPoint(B,C) \tkzGetPoint{E}
- \tkzDefMidPoint(B,D) \tkzGetPoint{Q}
- \tkzDefTangent[from = B](F,A) \tkzGetPoints{G}{H}
- \tkzInterLL(F,G)(C,D) \tkzGetPoint{J}
- \tkzInterLL(A,J)(F,E) \tkzGetPoint{K}
- \tkzDefPointBy[projection=onto B--A](K)
- \tkzGetPoint{M}
- \tkzFillPolygon[color = green](A,B,C,D)
- \tkzFillCircle[color = orange](B,A)
- \tkzFillCircle[color = blue!50!black](M,A)
- \tkzFillCircle[color = purple](E,B)
- \tkzFillCircle[color = yellow](K,Q)
+ \tkzDefPoint(0,4){A}
+ \tkzDefPoint(2,2){B}
+ \tkzDefMidPoint(B,A)\tkzGetPoint{P}
+ \tkzDefLine[orthogonal =through P](B,A)
+ \tkzGetPoint{X}
+ \tkzDefCircle[through](X,P)
+ \tkzGetLength{rXPpt}
+ \tkzpttocm(\rXPpt){rXPcm}
+ \tkzDefPointWith[linear,K=0.3](X,P)
+ \tkzGetPoint{x}
+ \tkzDefCircle[through](x,P)
+ \tkzGetLength{rxPpt}
+ \tkzpttocm(\rxPpt){rxPcm}
+ \tkzDrawCircles(X,P x,P)
+ \tkzDrawPoints(X,x)
+ \tkzDrawSegment[<->, >=triangle 45](x,P)
+ \tkzDrawSegment(P,X)
+ \tkzLabelPoints(X,x)
+ \tkzLabelLine[pos=0.5,left](x,P){r}
+ \tkzCalcLength[cm](X,P)\tkzGetLength{rXP}
+ \tkzDefShiftPoint[X](-90:\rXP){y}
+ \tkzDrawSegments[<->, >=triangle 45](X,y)
+ \tkzLabelLine[pos=0.5,left](X,y){R}
\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Clipping a disc}
-
-\begin{NewMacroBox}{tkzClipCircle}{\oarg{local options}\parg{A,B} or \parg{A,r}}%
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{A,B} or \parg{A,r}}{\parg{A,B} or \parg{A,2cm}} {AB radius or diameter }
-\bottomrule
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{radius} {radius}{circle characterized by two points defining a radius}
-\TOline{R} {radius}{circle characterized by a point and the measurement of a radius }
-\bottomrule
-\end{tabular}
-
-\medskip
-It is not necessary to put \tkzname{radius} because that is the default option.
-\end{NewMacroBox}
-
- \subsubsection{Example}
-\begin{tkzexample}[latex=6cm,small]
- \begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5]
- \tkzGrid \tkzClip
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,2){O}
- \tkzDefPoint(4,4){B}
- \tkzDefPoint(6,6){C}
- \tkzDrawPoints(O,A,B,C)
- \tkzLabelPoints(O,A,B,C)
- \tkzDrawCircle(O,A)
- \tkzClipCircle(O,A)
- \tkzDrawLine(A,C)
- \tkzDrawCircle[fill=red!20,opacity=.5](C,O)
-\end{tikzpicture}
\end{tkzexample}
-
-
-\subsection{Giving a label to a circle}
-\begin{NewMacroBox}{tkzLabelCircle}{\oarg{local options}\parg{A,B}\parg{angle}\marg{label}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{radius} {radius}{circle characterized by two points defining a radius}
-\TOline{R} {radius}{circle characterized by a point and the measurement of a radius }
-\bottomrule
-\end{tabular}
-
-\medskip
-You don't need to put \tkzname{radius} because that's the default option. We can use the styles from \TIKZ. The label is created and therefore "passed" between braces.
-\end{NewMacroBox}
-
-\subsubsection{Example}
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O} \tkzDefPoint(2,0){N}
- \tkzDefPointBy[rotation=center O angle 50](N)
- \tkzGetPoint{M}
- \tkzDefPointBy[rotation=center O angle -20](N)
- \tkzGetPoint{P}
- \tkzDefPointBy[rotation=center O angle 125](N)
- \tkzGetPoint{P'}
- \tkzLabelCircle[above=4pt](O,N)(120){$\mathcal{C}$}
- \tkzDrawCircle(O,M)
- \tkzFillCircle[color=blue!20,opacity=.4](O,M)
- \tkzLabelCircle[R,draw,fill=orange,%
- text width=2cm,text centered](O,3 cm)(-60)%
- {The circle\\ $\mathcal{C}$}
- \tkzDrawPoints(M,P)\tkzLabelPoints[right](M,P)
-\end{tikzpicture}
-\end{tkzexample}
-
-\endinput
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex
new file mode 100644
index 0000000000..e7e96e461c
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-clipping.tex
@@ -0,0 +1,435 @@
+\section{Controlling Bounding Box}
+From the \tkzimp{PgfManual} :"When you add the clip option, the current path is used for clipping subsequent drawings. Clipping never enlarges the clipping area. Thus, when you clip against a certain path and then clip again against another path, you clip against the intersection of both.
+The only way to enlarge the clipping path is to end the {pgfscope} in which the clipping was done. At the end of a {pgfscope} the clipping path that was in force at the beginning of the scope is reinstalled."
+
+
+First of all, you don't have to deal with \TIKZ\ the size of the bounding box. Early versions of \tkzNamePack{tkz-euclide} did not control the size of the bounding box, now with \tkzNamePack{\tkznameofpack} 4 the size of the bounding box is limited.
+
+The initial bounding box after using the macro \tkzcname{tkzInit} is defined by the rectangle based on the points $(0,0)$ and $(10,10)$. The \tkzcname{tkzInit} macro allows this initial bounding box to be modified using the arguments (\tkzname{xmin}, \tkzname{xmax}, \tkzname{ymin}, and \tkzname{ymax}). Of course any external trace modifies the bounding box. \TIKZ\ maintains that bounding box. It is possible to influence this behavior either directly with commands or options in \TIKZ\ such as a command like \tkzcname{useasboundingbox} or the option \tkzname{use as bounding box}. A possible consequence is to reserve a box for a figure but the figure may overflow the box and spread over the main text.
+The following command \tkzcname{pgfresetboundingbox} clears a bounding box and establishes a new one.
+
+\subsection{Utility of \tkzcname{tkzInit}}
+ However, it is sometimes necessary to control the size of what will be displayed.
+ To do this, you need to have prepared the bounding box you are going to work in, this is the role of the macro \tkzNameMacro{tkzInit}. For some drawings, it is interesting to fix the extreme values (xmin,xmax,ymin and ymax) and to "clip" the definition rectangle in order to control the size of the figure as well as possible.
+
+The two macros that are useful for controlling the bounding box:
+\begin{itemize}
+ \item \tkzcname{tkzInit}
+ \item \tkzcname{tkzClip}
+\end{itemize}
+\vspace{20pt}
+
+To this, I added macros directly linked to the bounding box. You can now view it, backup it, restore it (see the section Bounding Box).
+
+\subsection{\tkzcname{tkzInit}}
+
+\begin{NewMacroBox}{tkzInit}{\oarg{local options}}\hypertarget{init}{}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{xmin} {0} {minimum value of the abscissae in cm}
+\TOline{xmax} {10} {maximum value of the abscissae in cm}
+\TOline{xstep}{1} {difference between two graduations in $x$}
+\TOline{ymin} {0} {minimum y-axis value in cm }
+\TOline{ymax} {10} {maximum y-axis value in cm}
+\TOline{ystep}{1} {difference between two graduations in $y$}
+\bottomrule
+\end{tabular}
+
+\medskip
+
+The role of \tkzcname{tkzInit} is to define a \textcolor{red}{orthogonal} coordinates system and a rectangular part of the plane in which you will place your drawings using Cartesian coordinates.
+This macro allows you to define your working environment as with a calculator. With \tkzname{\tkznameofpack} 4 \tkzcname{xstep} and \tkzcname{ystep} are always 1. Logically it is no longer useful to use \tkzcname{tkzInit}, except for an action like "Clipping Out".
+\end{NewMacroBox}
+
+
+\subsection{\tkzcname{tkzClip}}
+
+\begin{NewMacroBox}{tkzClip}{\oarg{local options}}
+The role of this macro is to make invisible what is outside the rectangle defined by (xmin~;~ymin) and (xmax~;~ymax).
+
+\medskip
+\begin{tabular}{lll}
+\hline
+options & default & definition \\
+\midrule
+\TOline{space} {1} {added value on the right, left, bottom and top of the background}
+\bottomrule
+\end{tabular}
+
+\medskip
+
+The role of the \tkzname{space} option is to enlarge the visible part of the drawing. This part becomes the rectangle defined by (xmin-space~;~ymin-space) and (xmax+space~;~ymax+space). \tkzname{space} can be negative! The unit is cm and should not be specified.
+\end{NewMacroBox}
+
+
+
+The role of this macro is to "clip" the initial rectangle so that only the paths contained in this rectangle are drawn.
+
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmax=4, ymax=3]
+ \tkzDefPoints{-1/-1/A,5/2/B}
+ \tkzDrawX \tkzDrawY
+ \tkzGrid
+ \tkzClip
+ \tkzDrawSegment(A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+It is possible to add a bit of space
+\begin{tkzltxexample}[]
+ \tkzClip[space=1]
+\end{tkzltxexample}
+
+\subsection{\tkzcname{tkzClip} and the option \tkzname{space}}
+This option allows you to add some space around the "clipped" rectangle.
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmax=4, ymax=3]
+ \tkzDefPoints{-1/-1/A,5/2/B}
+ \tkzDrawX \tkzDrawY
+ \tkzGrid
+ \tkzClip[space=1]
+ \tkzDrawSegment(A,B)
+\end{tikzpicture}
+\end{tkzexample}
+The dimensions of the "clipped" rectangle are \tkzname{xmin-1}, \tkzname{ymin-1}, \tkzname{xmax+1} and \tkzname{ymax+1}.
+
+%<--------------------------------------------------------------------------->
+% tkzShowBB
+%<--------------------------------------------------------------------------->
+\subsection{tkzShowBB}
+The simplest macro.
+\begin{NewMacroBox}{tkzShowBB}{\oarg{local options}}%
+This macro displays the bounding box. A rectangular frame surrounds the bounding box. This macro accepts \TIKZ\ options.
+\end{NewMacroBox}
+
+
+\subsubsection{Example with \tkzcname{tkzShowBB}}
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzInit[ymax=5,xmax=8]
+ \tkzGrid
+ \tkzDefPoint(3,0){A}
+ \begin{scope}
+ \tkzClipBB
+ \tkzDrawCircle[R](A,5)
+ \tkzShowBB[line width = 4pt,fill=teal!10,opacity=.4]
+ \end{scope}
+\tkzDrawCircle[R,red](A,4)
+\end{tikzpicture}
+\end{tkzexample}
+%<--------------------------------------------------------------------------->
+% tkzClipBB
+%<--------------------------------------------------------------------------->
+\subsection{tkzClipBB}
+\begin{NewMacroBox}{tkzClipBB}{}%
+The idea is to limit future constructions to the current bounding box.
+\end{NewMacroBox}
+
+\subsubsection{Example with \tkzcname{tkzClipBB} and the bisectors}
+
+\begin{tkzexample}[latex=6cm,small]
+ \begin{tikzpicture}
+ \tkzInit[xmin=-3,xmax=6, ymin=-1,ymax=6]
+ \tkzDefPoint(0,0){O}\tkzDefPoint(3,1){I}
+ \tkzDefPoint(1,4){J}
+ \tkzDefLine[bisector](I,O,J) \tkzGetPoint{i}
+ \tkzDefLine[bisector out](I,O,J) \tkzGetPoint{j}
+ \tkzDrawPoints(O,I,J,i,j)
+ \tkzClipBB
+ \tkzDrawLines[add = 1 and 2,color=orange](O,I O,J)
+ \tkzDrawLines[add = 1 and 2](O,i O,j)
+ \tkzShowBB
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+\newpage
+
+\section{Clipping different objects}
+
+\subsection{Clipping a polygon}
+ \begin{NewMacroBox}{tkzClipPolygon}{\oarg{local options}\parg{points list}}%
+This macro makes it possible to contain the different plots in the designated polygon.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2,pt3,\dots}}{\parg{A,B,C}}{}
+\midrule
+options & default & definition \\
+\midrule
+\TOline{out} {} {allows to clip the outside of the object}
+ \end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{\tkzcname{tkzClipPolygon}}
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(4,0){B}
+ \tkzDefPoint(1,3){C}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDefPoint(0,2){D}
+ \tkzDefPoint(2,0){E}
+ \tkzDrawPoints(D,E)
+ \tkzLabelPoints(D,E)
+ \tkzClipPolygon(A,B,C)
+ \tkzDrawLine[new](D,E)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{\tkzcname{tkzClipPolygon[out]}}
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=1]
+ \tkzDefPoint(0,0){P1}
+ \tkzDefPoint(4,0){P2}
+ \tkzDefPoint(4,4){P3}
+ \tkzDefPoint(0,4){P4}
+ \tkzDefPoint(1,1){Q1}
+ \tkzDefPoint(3,1){Q2}
+ \tkzDefPoint(3,3){Q3}
+ \tkzDefPoint(1,3){Q4}
+ \tkzDrawPolygon(P1,P2,P3,P4)
+ \begin{scope}
+ \tkzClipPolygon[out](Q1,Q2,Q3,Q4)
+ \tkzFillPolygon[teal!20](P1,P2,P3,P4)
+ \end{scope}
+ \tkzDrawPolygon(Q1,Q2,Q3,Q4)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example: use of "Clip" for Sangaku in a square}
+\begin{tkzexample}[latex=7cm, small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B}
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzDefPoint(4,8){F}
+ \tkzDefTriangle[equilateral](C,D)
+ \tkzGetPoint{I}
+ \tkzDefPointBy[projection=onto B--C](I)
+ \tkzGetPoint{J}
+ \tkzInterLL(D,B)(I,J) \tkzGetPoint{K}
+ \tkzDefPointBy[symmetry=center K](B)
+ \tkzGetPoint{M}
+ \tkzClipPolygon(B,C,D,A)
+ \tkzCalcLength(M,I) \tkzGetLength{dMI}
+ \tkzFillPolygon[color = orange](A,B,C,D)
+ \tkzFillCircle[R,color = yellow](M,\dMI)
+ \tkzFillCircle[R,color = blue!50!black](F,4)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+
+\subsection{Clipping a disc}
+
+\begin{NewMacroBox}{tkzClipCircle}{\oarg{local options}\parg{A,B} or \parg{A,r}}%
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{A,B} or \parg{A,r}}{\parg{A,B} or \parg{A,2cm}} {AB radius or diameter }
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{radius} {radius}{circle characterized by two points defining a radius}
+\TOline{R} {radius}{circle characterized by a point and the measurement of a radius }
+\TOline{out} {} {allows to clip the outside of the object}
+ \bottomrule
+\end{tabular}
+
+\medskip
+It is not necessary to put \tkzname{radius} because that is the default option.
+\end{NewMacroBox}
+
+ \subsubsection{Simple clip}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(2,2){O}
+ \tkzDefPoint(4,4){B} \tkzDefPoint(5,5){C}
+ \tkzDrawPoints(O,A,B,C)
+ \tkzLabelPoints(O,A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzClipCircle(O,A)
+ \tkzDrawLine(A,C)
+ \tkzDrawCircle[fill=teal!10,opacity=.5](C,O)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Clip out}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmin=-3,ymin=-2,xmax=4,ymax=3]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(-4,-2){A}
+ \tkzDefPoint(3,1){B}
+ \tkzDrawCircle[R](O,2)
+ \tkzDrawPoints(A,B) % to have a good bounding box
+ \begin{scope}
+ \tkzClipCircle[out,R](O,2)
+ \tkzDrawLines(A,B)
+ \end{scope}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Intersection of disks}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/O,4/0/A,0/4/B}
+\tkzDrawPolygon[fill=teal](O,A,B)
+\tkzClipPolygon(O,A,B)
+\tkzClipCircle(A,O)
+\tkzClipCircle(B,O)
+\tkzFillPolygon[white](O,A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+see a more complex example about clipping here : \ref{About clipping circles}
+
+
+
+\subsection{Clipping a sector}
+\tkzHandBomb\ Attention the arguments vary according to the options.
+\begin{NewMacroBox}{tkzClipSector}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{towards}{towards}{$O$ is the centre and the sector starts from $A$ to $(OB)$}
+\TOline{rotate} {towards}{The sector starts from $A$ and the angle determines its amplitude. }
+\TOline{R}{towards}{We give the radius and two angles}
+\bottomrule
+\end{tabular}
+
+\medskip
+You have to add, of course, all the styles of \TIKZ\ for tracings...
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & arguments & example \\
+\midrule
+\TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzClipSector(O,A)(B)}}
+\TOline{rotate} {\parg{pt,pt}\parg{angle}}{\tkzcname{tkzClipSector[rotate](O,A)(90)}}
+\TOline{R}{\parg{pt,$r$}\parg{angle 1,angle 2}}{\tkzcname{tkzClipSector[R](O,2)(30,90)}}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Example 1}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=0.5]
+\tkzDefPoint(0,0){a}
+\tkzDefPoint(12,0){b}
+\tkzDefPoint(4,10){c}
+\tkzInterCC[R](a,6)(b,8)
+\tkzGetFirstPoint{AB1} \tkzGetSecondPoint{AB2}
+\tkzInterCC[R](a,6)(c,6)
+\tkzGetFirstPoint{AC1} \tkzGetSecondPoint{AC2}
+\tkzInterCC[R](b,8)(c,6)
+\tkzGetFirstPoint{BC1} \tkzGetSecondPoint{BC2}
+\tkzDrawArc(a,AB2)(AB1)
+\tkzDrawArc(b,AB1)(AB2)
+\tkzDrawArc(a,AC2)(AC1)
+\tkzDrawArc(c,AC1)(AC2)
+\tkzDrawArc(b,BC2)(BC1)
+\tkzDrawArc(c,BC1)(BC2)
+\begin{scope}
+\tkzClipSector(b,BC2)(BC1)
+\tkzFillSector[teal!40!white](c,BC1)(BC2)
+\end{scope}
+\begin{scope}
+\tkzClipSector(a,AB2)(AB1)
+\tkzFillSector[teal!40!white](b,AB1)(AB2)
+\end{scope}
+\begin{scope}
+\tkzClipSector(a,AC2)(AC1)
+\tkzFillSector[teal!40!white](c,AC1)(AC2)
+\end{scope}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example 2}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1.5]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2,-1){A}
+ \tkzDefPoint(1,1){B}
+ \tkzDrawSector[new,dashed](O,A)(B)
+ \tkzDrawSector[new](O,B)(A)
+\begin{scope}
+\tkzClipSector(O,B)(A)
+\tkzDrawSquare[color=teal,fill=teal!20](O,B)
+\end{scope}
+\tkzDrawPoints(A,B,O)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Options from \TIKZ: trim left or right}
+See the \tkzimp{pgfmanual}
+
+\subsection{\TIKZ\ Controls \tkzcname{pgfinterruptboundingbox} and \tkzcname{endpgfinterruptboundingbox}}
+This command temporarily interrupts the calculation of the box and configures a new box.
+See the \tkzimp{pgfmanual}
+
+\subsubsection{Example about contolling the bouding box}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+\tkzDefPoint(0,5){A}\tkzDefPoint(5,4){B}
+\tkzDefPoint(0,0){C}\tkzDefPoint(5,1){D}
+\tkzDrawSegments(A,B C,D A,C)
+\pgfinterruptboundingbox
+ \tkzInterLL(A,B)(C,D)\tkzGetPoint{I}
+\endpgfinterruptboundingbox
+\tkzClipBB
+\tkzDrawCircle(I,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Reverse clip: tkzreverseclip}
+
+In order to use this option, a bounding box must be defined.
+
+\begin{tkzltxexample}[]
+ \tikzset{tkzreverseclip/.style={insert path={
+ (current bounding box.south west) --(current bounding box.north west)
+ --(current bounding box.north east) -- (current bounding box.south east)
+ -- cycle} }}
+\end{tkzltxexample}
+
+
+\subsubsection{Example with \tkzcname{tkzClipPolygon[out]}}
+\tkzcname{tkzClipPolygon[out]}, \tkzcname{tkzClipCircle[out]} use this option.
+\begin{tkzexample}[vbox,small]
+\fbox{\begin{tikzpicture}[scale=1]
+\tkzInit[xmin=-5,xmax=5,ymin=-4,ymax=6]
+\tkzClip
+ \tkzDefPoints{-.5/0/P1,.5/0/P2}
+ \foreach \i [count=\j from 3] in {2,...,7}{%
+ \tkzDefShiftPoint[P\i]({45*(\i-1)}:1){P\j}}
+ \tkzClipPolygon[out](P1,P...,P8)
+ \tkzCalcLength(P1,P5)\tkzGetLength{r}
+ \begin{scope}[blend group=screen]
+ \foreach \i in {1,...,8}{%
+ \pgfmathparse{100-5*\i}
+ \tkzFillCircle[R,color=teal!%
+ \pgfmathresult](P\i,\r)}
+ \end{scope}
+\end{tikzpicture}}
+\end{tkzexample}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
index a66e7809a1..08fd38950e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-compass.tex
@@ -21,11 +21,11 @@ options & default & definition \\
\begin{tikzpicture}
\tkzDefPoint(1,1){A}
\tkzDefPoint(6,1){B}
- \tkzInterCC[R](A,4cm)(B,3cm)
+ \tkzInterCC[R](A,4)(B,3)
\tkzGetPoints{C}{D}
\tkzDrawPoint(C)
- \tkzCompass[color=red,length=1.5](A,C)
- \tkzCompass[color=red](B,C)
+ \tkzCompass[length=1.5](A,C)
+ \tkzCompass(B,C)
\tkzDrawSegments(A,B A,C B,C)
\end{tikzpicture}
\end{tkzexample}
@@ -35,11 +35,11 @@ options & default & definition \\
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(5,0){B}
- \tkzInterCC[R](A,4cm)(B,3cm)
+ \tkzInterCC[R](A,4)(B,3)
\tkzGetPoints{C}{D}
\tkzDrawPoints(A,B,C)
- \tkzCompass[color=red,delta=20](A,C)
- \tkzCompass[color=red,delta=20](B,C)
+ \tkzCompass[delta=20](A,C)
+ \tkzCompass[delta=20](B,C)
\tkzDrawPolygon(A,B,C)
\tkzMarkAngle(A,C,B)
\end{tikzpicture}
@@ -63,52 +63,19 @@ options & default & definition \\
\begin{tikzpicture}[scale=.75]
\tkzDefPoint(2,2){A} \tkzDefPoint(5,-2){B}
\tkzDefPoint(3,4){C} \tkzDrawPoints(A,B)
- \tkzDrawPoint[color=red,shape=cross out](C)
- \tkzCompasss[color=orange](A,B A,C B,C C,B)
- \tkzShowLine[mediator,color=red,
- dashed,length = 2](A,B)
+ \tkzDrawPoint[shape=cross out](C)
+ \tkzCompasss[new](A,B A,C B,C C,B)
+ \tkzShowLine[mediator,new,dashed,length = 2](A,B)
\tkzShowLine[parallel = through C,
- color=blue,length=2](A,B)
- \tkzDefLine[mediator](A,B) \tkzGetPoints{i}{j}
- \tkzDefLine[parallel=through C](A,B) \tkzGetPoint{D}
+ color=purple,length=2](A,B)
+ \tkzDefLine[mediator](A,B)
+ \tkzGetPoints{i}{j}
+ \tkzDefLine[parallel=through C](A,B)
+ \tkzGetPoint{D}
\tkzDrawLines[add=.6 and .6](C,D A,C B,D)
\tkzDrawLines(i,j) \tkzDrawPoints(A,B,C,i,j,D)
\tkzLabelPoints(A,B,C,i,j,D)
\end{tikzpicture}
\end{tkzexample}
-
-\subsection{Configuration macro \tkzcname{tkzSetUpCompass}}
-
-\begin{NewMacroBox}{tkzSetUpCompass}{\oarg{local options}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{line width} {0.4pt}{line thickness}
-\TOline{color} {black!50}{line colour}
-\TOline{style} {solid}{solid line style, dashed,dotted,...}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Use of \tkzcname{tkzSetUpCompass}}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75,
- showbi/.style={bisector,size=2,gap=3}]
- \tkzSetUpCompass[color=blue,line width=.3 pt]
- \tkzDefPoints{0/1/A, 8/3/B, 3/6/C}
- \tkzDrawPolygon(A,B,C)
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
- \tkzDefLine[bisector](C,B,A) \tkzGetPoint{b}
- \tkzShowLine[showbi](B,A,C)
- \tkzShowLine[showbi](C,B,A)
- \tkzInterLL(A,a)(B,b) \tkzGetPoint{I}
- \tkzDefPointBy[projection= onto A--B](I)
- \tkzGetPoint{H}
- \tkzDrawCircle[radius,color=gray](I,H)
- \tkzDrawSegments[color=gray!50](I,H)
- \tkzDrawLines[add=0 and -.2,color=blue!50 ](A,a B,b)
- \tkzShowBB
-\end{tikzpicture}
-\end{tkzexample}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-config.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-config.tex
deleted file mode 100644
index c4bdaa1a22..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-config.tex
+++ /dev/null
@@ -1,196 +0,0 @@
-\section{Customization}
-
-\subsection{Use of \tkzcname{tkzSetUpLine}} \label{tkzsetupline}
-It is a macro that allows you to define the style of all the lines.
-
-\begin{NewMacroBox}{tkzSetUpLine}{\oarg{local options}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{color}{black}{colour of the construction lines}
-\TOline{line width}{0.4pt}{thickness of the construction lines}
-\TOline{style}{solid}{style of construction lines}
-\TOline{add}{.2 and .2}{changing the length of a line segment}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Example 1: change line width}
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzSetUpLine[color=blue,line width=1pt]
-\begin{scope}[rotate=-90]
- \tkzDefPoint(10,6){C}
- \tkzDefPoint( 0,6){A}
- \tkzDefPoint(10,0){B}
- \tkzDefPointBy[projection = onto B--A](C)
- \tkzGetPoint{H}
- \tkzDrawPolygon(A,B,C)
- \tkzMarkRightAngle[size=.4,fill=blue!20](B,C,A)
- \tkzMarkRightAngle[size=.4,fill=red!20](B,H,C)
- \tkzDrawSegment[color=red](C,H)
-\end{scope}
- \tkzLabelSegment[below](C,B){$a$}
- \tkzLabelSegment[right](A,C){$b$}
- \tkzLabelSegment[left](A,B){$c$}
- \tkzLabelSegment[color=red](C,H){$h$}
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints[above left](H)
- \tkzLabelPoints(B,C)
- \tkzLabelPoints[above](A)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-
-
-\subsubsection{Example 2: change style of line}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoint(1,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,1){C} \tkzDefPoint(5,1){D}
- \tkzDefPoint(1,2){E} \tkzDefPoint(6,2){F}
- \tkzDefPoint(0,4){A'}\tkzDefPoint(3,4){B'}
- \tkzCalcLength[cm](C,D) \tkzGetLength{rCD}
- \tkzCalcLength[cm](E,F) \tkzGetLength{rEF}
- \tkzInterCC[R](A',\rCD cm)(B',\rEF cm)
- \tkzGetPoints{I}{J}
- \tkzSetUpLine[style=dashed,color=gray]
- \tkzDrawLine(A',B')
- \tkzCompass(A',B')
- \tkzDrawSegments(A,B C,D E,F)
- \tkzDrawCircle[R](A',\rCD cm)
- \tkzDrawCircle[R](B',\rEF cm)
- \tkzSetUpLine[color=red]
- \tkzDrawSegments(A',I B',I)
- \tkzDrawPoints(A,B,C,D,E,F,A',B',I,J)
- \tkzLabelPoints(A,B,C,D,E,F,A',B',I,J)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Example 3: extend lines}
-\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}
- \tkzSetUpLine[add=.5 and .5]
- \tkzDefPoints{0/0/A,4/0/B,1/3/C}
- \tkzDrawLines(A,B B,C A,C)
- \end{tikzpicture}
-\end{tkzexample}
-
-
-\subsection{Points style}
-\begin{NewMacroBox}{tkzSetUpPoint}{\oarg{local options}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{color}{black}{point color}
-\TOline{size}{3pt}{point size}
-\TOline{fill}{black!50}{inside point color}
-\TOline{shape}{circle}{point shape circle or cross}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Use of \tkzcname{tkzSetUpPoint}}
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzSetUpPoint[shape = cross out,color=blue]
- \tkzInit[xmax=100,xstep=20,ymax=.5]
- \tkzDefPoint(20,1){A}
- \tkzDefPoint(80,0){B}
- \tkzDrawLine(A,B)
- \tkzDrawPoints(A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Use of \tkzcname{tkzSetUpPoint} inside a group}
-\begin{tkzexample}[latex=8cm,small]
- \begin{tikzpicture}
- \tkzInit[ymin=-0.5,ymax=3,xmin=-0.5,xmax=7]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(02.25,04.25){B}
- \tkzDefPoint(4,0){C}
- \tkzDefPoint(3,2){D}
- \tkzDrawSegments(A,B A,C A,D)
- {\tkzSetUpPoint[shape=cross out,
- fill= teal!50,
- size=4,color=teal]
- \tkzDrawPoints(A,B)}
- \tkzSetUpPoint[fill= teal!50,size=4,
- color=teal]
- \tkzDrawPoints(C,D)
- \tkzLabelPoints(A,B,C,D)
- \end{tikzpicture}
-\end{tkzexample}
-
-
-
-\subsection{Use of \tkzcname{tkzSetUpCompass}}
-
-\begin{NewMacroBox}{tkzSetUpCompass}{\oarg{local options}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{color}{black}{color of construction arcs}
-\TOline{line width}{0.4pt}{thickness of construction arcs}
-\TOline{style}{solid}{style of the building arcs}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Use of \tkzcname{tkzSetUpCompass} with bisector}
-\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}[scale=0.75]
- \tkzDefPoints{0/1/A, 8/3/B, 3/6/C}
- \tkzDrawPolygon(A,B,C)
- \tkzSetUpCompass[color=red,line width=.2 pt]
- \tkzDefLine[bisector](A,C,B) \tkzGetPoint{c}
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
- \tkzDefLine[bisector](C,B,A) \tkzGetPoint{b}
- \tkzShowLine[bisector,size=2,gap=3](A,C,B)
- \tkzShowLine[bisector,size=2,gap=3](B,A,C)
- \tkzShowLine[bisector,size=1,gap=2](C,B,A)
- \tkzDrawLines[add=0 and 0 ](B,b)
- \tkzDrawLines[add=0 and -.4 ](A,a C,c)
- \tkzLabelPoints(A,B) \tkzLabelPoints[above](C)
- \end{tikzpicture}
- \end{tkzexample}
-
-\subsubsection{Another example of of\tkzcname{tkzSetUpCompass}}
-\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}[scale=1,rotate=90]
- \tkzDefPoints{0/1/A, 8/3/B, 3/6/C}
- \tkzDrawPolygon(A,B,C)
- \tkzSetUpCompass[color=brown,
- line width=.3 pt,style=tkzdotted]
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
- \tkzDefLine[bisector](C,B,A) \tkzGetPoint{b}
- \tkzInterLL(A,a)(B,b) \tkzGetPoint{I}
- \tkzDefPointBy[projection= onto A--B](I)
- \tkzGetPoint{H}
- \tkzMarkRightAngle(I,H,A)
- \tkzDrawCircle[radius,color=red](I,H)
- \tkzDrawSegments[color=red](I,H)
- \tkzDrawLines[add=0 and -.5,,color=red](A,a)
- \tkzDrawLines[add=0 and 0,color=red](B,b)
- \tkzShowLine[bisector,size=2,gap=3](B,A,C)
- \tkzShowLine[bisector,size=1,gap=3](C,B,A)
- \tkzLabelPoints(A,B)\tkzLabelPoints[left](C)
- \end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Own style}
-You can set the normal style with |tkzSetUpPoint| and your own style
-
-\begin{tkzexample}[latex=2cm,small]
-\tkzSetUpPoint[color=blue!50!white, fill=gray!20!red!50!white]
-\tikzset{/tikz/mystyle/.style={color=blue!20!black,fill=blue!20}}
- \begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(0,1){A}
- \tkzDrawPoints(O) % general style
- \tkzDrawPoints[mystyle,size=4](A) % my style
- \tkzLabelPoints(O,A)
- \end{tikzpicture}
-\end{tkzexample}
-
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
new file mode 100644
index 0000000000..e4d08474d0
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
@@ -0,0 +1,987 @@
+\section{Drawing}
+\tkzname{\tkznameofpack} can draw 5 types of objects : point, line or line segment, circle, arc and sector.
+
+%<---------------------------------------------------------------------------->
+% POINT(S)
+%<---------------------------------------------------------------------------->
+\subsection{Draw a point or some points}
+There are two possibilities : \tkzcname{tkzDrawPoint} for a single point or \tkzcname{tkzDrawPoints} for one or more points.
+
+\subsubsection{Drawing points \tkzcname{tkzDrawPoint}} \hypertarget{tdrp}{}
+
+\begin{NewMacroBox}{tkzDrawPoint}{\oarg{local options}\parg{name}}%
+\begin{tabular}{lll}%
+arguments & default & definition \\
+\midrule
+\TAline{name of point} {no default} {Only one point name is accepted}
+\bottomrule
+\end{tabular}
+
+\medskip
+The argument is required. The disc takes the color of the circle, but lighter. It is possible to change everything. The point is a node and therefore it is invariant if the drawing is modified by scaling.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{\TIKZ\ options}{}{all \TIKZ\ options are valid.}
+\TOline{shape} {circle}{Possible \tkzname{cross} or \tkzname{cross out}}
+\TOline{size} {6}{$6 \times$ \tkzcname{pgflinewidth}}
+\TOline{color} {black}{the default color can be changed }
+\bottomrule
+\end{tabular}
+
+\medskip
+{We can create other forms such as \tkzname{cross}}
+\end{NewMacroBox}
+
+By default, \tkzname{point style } is defined like this :
+
+\begin{tkzltxexample}[]
+ \tikzset{point style/.style = {%
+ draw = black,
+ inner sep = 0pt,
+ shape = circle,
+ minimum size = 3 pt,
+ fill = black
+ }
+ }
+\end{tkzltxexample}
+
+\subsubsection{Example of point drawings}
+Note that \tkzname{scale} does not affect the shape of the dots. Which is normal. Most of the time, we are satisfied with a single point shape that we can define from the beginning, either with a macro or by modifying a configuration file.
+
+\begin{tkzexample}[latex=5cm,small]
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(1,3){A}
+ \tkzDefPoint(4,1){B}
+ \tkzDefPoint(0,0){O}
+ \tkzDrawPoint[color=red](A)
+ \tkzDrawPoint[fill=blue!20,draw=blue](B)
+ \tkzDrawPoint[shape=cross,size=8pt,color=teal](O)
+ \end{tikzpicture}
+\end{tkzexample}
+
+It is possible to draw several points at once but this macro is a little slower than the previous one. Moreover, we have to make do with the same options for all the points.
+\newpage
+\hypertarget{tdrps}{}
+\begin{NewMacroBox}{tkzDrawPoints}{\oarg{local options}\parg{liste}}%
+\begin{tabular}{lll}%
+arguments & default & definition \\
+\midrule
+\TAline{points list}{no default}{example \tkzcname{tkzDrawPoints(A,B,C)}}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{shape} {circle}{Possible \tkzname{cross} or \tkzname{cross out}}
+\TOline{size} {6}{$6 \times$ \tkzcname{pgflinewidth}}
+\TOline{color} {black}{the default color can be changed }
+\bottomrule
+\end{tabular}
+
+\medskip
+\tkzHandBomb\ Beware of the final "s", an oversight leads to cascading errors if you try to draw multiple points. The options are the same as for the previous macro.
+\end{NewMacroBox}
+
+
+\subsubsection{Example}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{1/3/A,4/1/B,0/0/C}
+\tkzDrawPoints[size=3,color=red,fill=red!50](A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+%<---------------------------------------------------------------------------->
+% LINE(S)
+%<---------------------------------------------------------------------------->
+
+\section{Drawing the lines}
+The following macros are simply used to draw, name lines.
+\subsection{Draw a straight line}
+To draw a normal straight line, just give a couple of points. You can use the \tkzname{add} option to extend the line (This option is due to \tkzimp{Mark Wibrow}, see the code below).
+
+
+The style of a line is by default :
+
+\begin{tkzltxexample}[]
+ \tikzset{line style/.style = {%
+ line width = 0.6pt,
+ color = black,
+ style = solid,
+ add = {.2} and {.2}%
+ }}
+\end{tkzltxexample}
+with
+
+\begin{tkzltxexample}[]
+ \tikzset{%
+ add/.style args={#1 and #2}{
+ to path={%
+ ($(\tikztostart)!-#1!(\tikztotarget)$)--($(\tikztotarget)!-#2!(\tikztostart)$)%
+ \tikztonodes}}}
+\end{tkzltxexample}
+
+You can modify this style with \tkzcname{tkzSetUpLine} see \ref{tkzsetupline}
+
+\newpage
+\begin{NewMacroBox}{tkzDrawLine}{\oarg{local options}\parg{pt1,pt2} }%
+The arguments are a list of two points or three points. It would be possible, as for a half line, to create a style with \tkzcname{add}.
+
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{\TIKZ\ options}{}{all \TIKZ\ options are valid.}
+\TOline{add}{0.2 and 0.2}{add = $kl$ and $kr$, \dots}
+\TOline{\dots}{\dots}{allows the segment to be extended to the left and right. }
+\bottomrule
+\end{tabular}
+
+\tkzname{add} defines the length of the line passing through the points pt1 and pt2. Both numbers are percentages. The styles of \TIKZ\ are accessible for plots.
+\end{NewMacroBox}
+
+\subsubsection{Examples with \tkzname{add}}
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmin=-2,xmax=3,ymin=-2.25,ymax=2.25]
+ \tkzClip[space=.25]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(2,0.5){B}
+ \tkzDefPoint(0,-1){C}\tkzDefPoint(2,-0.5){D}
+ \tkzDefPoint(0,1){E} \tkzDefPoint(2,1.5){F}
+ \tkzDefPoint(0,-2){G} \tkzDefPoint(2,-1.5){H}
+ \tkzDrawLine(A,B) \tkzDrawLine[add = 0 and .5](C,D)
+ \tkzDrawLine[add = 1 and 0](E,F)
+ \tkzDrawLine[add = 0 and 0](G,H)
+ \tkzDrawPoints(A,B,C,D,E,F,G,H)
+ \tkzLabelPoints(A,B,C,D,E,F,G,H)
+\end{tikzpicture}
+\end{tkzexample}
+
+It is possible to draw several lines, but with the same options.
+\begin{NewMacroBox}{tkzDrawLines}{\oarg{local options}\parg{pt1,pt2 pt3,pt4 ...}}%
+Arguments are a list of pairs of points separated by spaces. The styles of \TIKZ\ are available for the draws.
+\end{NewMacroBox}
+
+\subsubsection{Example with \tkzcname{tkzDrawLines}}
+
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(2,0){B}
+ \tkzDefPoint(1,2){C}
+ \tkzDefPoint(3,2){D}
+ \tkzDrawLines(A,B C,D A,C B,D)
+ \tkzLabelPoints(A,B,C,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example with the option \tkzname{add}}
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(3,1){I}
+ \tkzDefPoint(1,4){J}
+ \tkzDefLine[bisector](I,O,J)
+ \tkzGetPoint{i}
+ \tkzDefLine[bisector out](I,O,J)
+ \tkzGetPoint{j}
+ \tkzDrawLines[add = 1 and .5](O,I O,J)
+ \tkzDrawLines[add = 1 and .5,new](O,i O,j)
+\end{tikzpicture}
+\end{tkzexample}
+%<---------------------------------------------------------------------------->
+% SEGMENT(S)
+%<---------------------------------------------------------------------------->
+
+\section{Drawing a segment}
+There is, of course, a macro to simply draw a segment.
+
+\subsection{Draw a segment \tkzcname{tkzDrawSegment}}
+\begin{NewMacroBox}{tkzDrawSegment}{\oarg{local options}\parg{pt1,pt2}}%
+The arguments are a list of two points. The styles of \TIKZ\ are available for the drawings.
+
+\medskip
+\begin{tabular}{lll}%
+argument & example & definition \\
+\midrule
+\TAline{(pt1,pt2)}{(A,B)}{draw the segment $[A,B]$}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+options & example & definition \\
+\midrule
+\TOline{\TIKZ\ options}{}{all \TIKZ\ options are valid.}
+\TOline{dim}{no default}{dim = \{label,dim,option\}, \dots}
+\TOline{\dots}{\dots}{allows you to add dimensions to a figure.}
+\bottomrule
+\end{tabular}
+
+This is of course equivalent to \tkzcname{draw (A)--(B);}. You can also use the option \tkzname{add}.
+\end{NewMacroBox}
+
+\subsubsection{Example with point references}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=1.5]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(2,1){B}
+ \tkzDrawSegment[color=red,thin](A,B)
+ \tkzDrawPoints(A,B)
+ \tkzLabelPoints(A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example of extending an segment with option \tkzname{add}}
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}
+ \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
+ \tkzDefTriangleCenter[euler](A,B,C)
+ \tkzGetPoint{E}
+ \tkzDrawCircle[euler,red](A,B,C)
+ \tkzDrawLines[add=.5 and .5](A,B A,C B,C)
+ \tkzDrawPoints(A,B,C,E)
+ \tkzLabelPoints(A,B,C,E)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Adding dimensions with option \tkzname{dim} partI}
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[scale=4]
+ \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
+ % Define the first two points
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(3,0){B}
+ \tkzDefPoint(1,1){C}
+ % Draw the triangle and the points
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ % Label the sides
+ \tkzCalcLength(A,B)\tkzGetLength{ABl}
+ \tkzCalcLength(B,C)\tkzGetLength{BCl}
+ \tkzCalcLength(A,C)\tkzGetLength{ACl}
+ % add dim
+ \tkzDrawSegment[dim={\pgfmathprintnumber\BCl,6pt,transform shape}](C,B)
+ \tkzDrawSegment[dim={\pgfmathprintnumber\ACl,6pt,transform shape}](A,C)
+ \tkzDrawSegment[dim={\pgfmathprintnumber\ABl,-6pt,transform shape}](A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Adding dimensions with option \tkzname{dim} part II}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/0/O,-2/0/A,2/0/B,
+ -2/4/C,2/4/D,2/-4/E,-2/-4/F}
+ \tkzDrawPolygon(C,...,F)
+ \tkzDrawSegments(A,B)
+ \tkzDrawPoints(A,...,F,O)
+ \tkzLabelPoints(A,...,F,O)
+ \tkzDrawSegment[dim={ $\sqrt{5}$,2cm,}](C,E)
+ \tkzDrawSegment[dim={ $\frac{\sqrt{5}}{2}$,1cm,}](O,E)
+ \tkzDrawSegment[dim={ $2$,2cm,left=8pt}](F,C)
+ \tkzDrawSegment[dim={ $1$,1cm,left=8pt}](F,A)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Drawing segments \tkzcname{tkzDrawSegments}}
+If the options are the same we can plot several segments with the same macro.
+
+\begin{NewMacroBox}{tkzDrawSegments}{\oarg{local options}\parg{pt1,pt2 pt3,pt4 ...}}%
+The arguments are a two-point couple list. The styles of \TIKZ\ are available for the plots.
+\end{NewMacroBox}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmin=-1,xmax=3,ymin=-1,ymax=2]
+ \tkzClip[space=1]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(2,1){B}
+ \tkzDefPoint(3,0){C}
+ \tkzDrawSegments(A,B B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,C)
+ \tkzLabelPoints[above](B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Place an arrow on segment}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+\tkzSetUpStyle[postaction=decorate,
+ decoration={markings,
+ mark=at position .5 with {\arrow[thick]{#1}}
+ }]{myarrow}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(4,-4){B}
+ \tkzDrawSegments[myarrow=stealth](A,B)
+ \tkzDrawPoints(A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Drawing line segment of a triangle}
+
+\subsubsection{How to draw \tkzname{Altitude} }
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[rotate=-90]
+ \tkzDefPoint(0,1){A}
+ \tkzDefPoint(2,4){C}
+ \tkzDefPointWith[orthogonal normed,K=7](C,A)
+ \tkzGetPoint{B}
+ \tkzDefSpcTriangle[orthic,name=H](A,B,C){a,b,c}
+ \tkzDrawLine[dashed,color=magenta](C,Hc)
+ \tkzDrawSegment[green!60!black](A,C)
+ \tkzDrawSegment[green!60!black](C,B)
+ \tkzDrawSegment[green!60!black](B,A)
+ \tkzLabelPoint[left](A){$A$}
+ \tkzLabelPoint[right](B){$B$}
+ \tkzLabelPoint[above](C){$C$}
+ \tkzLabelPoint[left](Hc){$Hc$}
+ \tkzLabelSegment[auto](B,A){$c$}
+ \tkzLabelSegment[auto,swap](B,C){$a$}
+ \tkzLabelSegment[auto,swap](C,A){$b$}
+ \tkzMarkAngle[size=1,color=cyan,mark=|](C,B,A)
+ \tkzMarkAngle[size=1,color=cyan,mark=|](A,C,Hc)
+ \tkzMarkAngle[size=0.75,
+ color=orange,mark=||](Hc,C,B)
+ \tkzMarkAngle[size=0.75,
+ color=orange,mark=||](B,A,C)
+ \tkzMarkRightAngle(A,C,B)
+ \tkzMarkRightAngle(B,Hc,C)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Drawing a polygon}
+ \begin{NewMacroBox}{tkzDrawPolygon}{\oarg{local options}\parg{points list}}%
+Just give a list of points and the macro plots the polygon using the \TIKZ\ options present. You can replace $(A,B,C,D,E)$ by $(A,...,E)$ and $(P_1,P_2,P_3,P_4,P_5)$ by $(P_1,P...,P_5)$
+
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolygon[gray,dashed](A,B,C)|}{Drawing a triangle}
+ \end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & example \\
+\midrule
+\TOline{Options TikZ}{...}{|\BS tkzDrawPolygon[red,line width=2pt](A,B,C)|}
+ \end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{\tkzcname{tkzDrawPolygon}}
+
+\begin{tkzexample}[latex=7cm, small]
+\begin{tikzpicture} [rotate=18,scale=1]
+ \tkzDefPoints{0/0/A,2.25/0.2/B,2.5/2.75/C,-0.75/2/D}
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzDrawSegments[style=dashed](A,C B,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Option \tkzname{two angles}}
+\begin{tkzexample}[latex=6 cm,small]
+\begin{tikzpicture}
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(6,0){B}
+\tkzDefTriangle[two angles = 50 and 70](A,B) \tkzGetPoint{C}
+\tkzLabelAngle[pos=1.4](B,A,C){$50^\circ$}
+\tkzLabelAngle[pos=0.8](C,B,A){$70^\circ$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Style of line}
+\begin{tkzexample}[latex=8 cm,small]
+\begin{tikzpicture}[scale=.6]
+\tkzSetUpLine[line width=5mm,color=teal]
+\tkzDefPoint(0,0){O}
+\foreach \i in {0,...,5}{%
+ \tkzDefPoint({30+60*\i}:4){p\i}}
+\tkzDefMidPoint(p1,p3) \tkzGetPoint{m1}
+\tkzDefMidPoint(p3,p5) \tkzGetPoint{m3}
+\tkzDefMidPoint(p5,p1) \tkzGetPoint{m5}
+\tkzDrawPolygon[line join=round](p1,p3,p5)
+\tkzDrawPolygon[teal!80,
+line join=round](p0,p2,p4)
+\tkzDrawSegments(m1,p3 m3,p5 m5,p1)
+\tkzDrawCircle[teal,R](O,4.8)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Drawing a polygonal chain}
+ \begin{NewMacroBox}{tkzDrawPolySeg}{\oarg{local options}\parg{points list}}%
+Just give a list of points and the macro plots the polygonal chain using the \TIKZ\ options present.
+
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolySeg[gray,dashed](A,B,C)|}{Drawing a triangle}
+ \end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & example \\
+\midrule
+\TOline{Options TikZ}{...}{|\BS tkzDrawPolySeg[red,line width=2pt](A,B,C)|}
+ \end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Polygonal chain}
+
+\begin{tkzexample}[latex=7cm, small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,6/0/B,3/4/C,2/2/D}
+ \tkzDrawPolySeg(A,...,D)
+ \tkzDrawPoints(A,...,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{The idea is to inscribe two squares in a semi-circle.}
+A Sangaku look! It is a question of proving that one can inscribe in a half-disc, two squares, and to determine the length of their respective sides according to the radius.
+
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/0/A,8/0/B,4/0/I}
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzInterLC(I,C)(I,B) \tkzGetPoints{E'}{E}
+ \tkzInterLC(I,D)(I,B) \tkzGetPoints{F'}{F}
+ \tkzDefPointsBy[projection=onto A--B](E,F){H,G}
+ \tkzDefPointsBy[symmetry = center H](I){J}
+ \tkzDefSquare(H,J) \tkzGetPoints{K}{L}
+ \tkzDrawSector(I,B)(A)
+ \tkzDrawPolySeg(H,E,F,G)
+ \tkzDrawPolySeg(J,K,L)
+ \tkzDrawPoints(E,G,H,F,J,K,L)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Polygonal chain: index notation}
+
+\begin{tkzexample}[latex=7cm, small]
+\begin{tikzpicture}
+\foreach \pt in {1,2,...,8} {%
+\tkzDefPoint(\pt*20:3){P_\pt}}
+\tkzDrawPolySeg(P_1,P_...,P_8)
+\tkzDrawPoints(P_1,P_...,P_8)
+\end{tikzpicture}
+\end{tkzexample}
+
+%<---------------------------------------------------------------------------->
+% CIRCLE
+%<---------------------------------------------------------------------------->
+
+\section{Draw a circle with \tkzcname{tkzDrawCircle}}
+
+\subsection{Draw one circle}
+\begin{NewMacroBox}{tkzDrawCircle}{\oarg{local options}\parg{A,B}}%
+\tkzHandBomb\ Attention you need only two points to define a radius or a diameter. An additional option \tkzname{R} is available to give a measure directly.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2}}{\parg{A,B}} {two points to define a radius or a diameter}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{through}{through}{circle with two points defining a radius}
+\TOline{diameter}{through}{circle with two points defining a diameter}
+\TOline{R}{through}{circle characterized by a point and the measurement of a radius}
+ \bottomrule
+\end{tabular}
+
+\medskip
+Of course, you have to add all the styles of \TIKZ\ for the tracings...
+\end{NewMacroBox}
+
+ \subsubsection{Circles and styles, draw a circle and color the disc}
+ We'll see that it's possible to colour in a disc while tracing the circle.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(3,0){A}
+ % circle with centre O and passing through A
+ \tkzDrawCircle(O,A)
+ % diameter circle $[OA]$
+ \tkzDrawCircle[diameter,new,%
+ line width=.4pt,fill=orange!10,%
+ opacity=.5](O,A)
+ % circle with centre O and radius = exp(1) cm
+ \edef\rayon{\fpeval{0.25*exp(1)}}
+ \tkzDrawCircle[R,color=orange](O,\rayon)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Drawing circles}
+\begin{NewMacroBox}{tkzDrawCircles}{\oarg{local options}\parg{A,B C,D \dots}}%
+\tkzHandBomb\ Attention, the arguments are lists of two points. The circles that can be drawn are the same as in the previous macro. An additional option \tkzname{R} is available to give a measure directly.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2 pt3,pt4 ...}}{\parg{A,B C,D}} {List of two points}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{through}{through}{circle with two points defining a radius}
+\TOline{diameter}{through}{circle with two points defining a diameter}
+\TOline{R} {through}{circle characterized by a point and the measurement of a radius}
+ \bottomrule
+\end{tabular}
+
+\medskip
+Of course, you have to add all the styles of \TIKZ\ for the tracings...
+\end{NewMacroBox}
+
+ \subsubsection{Circles defined by a triangle.}
+
+\begin{tkzexample}[latex=9cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,2/0/B,3/2/C}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(A,B B,C C,A)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+ \subsubsection{Concentric circles.}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDrawCircles[R](A,1 A,2 A,3)
+ \tkzDrawPoint(A)
+ \tkzLabelPoints(A)
+\end{tikzpicture}
+\end{tkzexample}
+
+ \subsubsection{Exinscribed circles.}
+
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}[scale=1]
+\tkzDefPoints{0/0/A,4/0/B,1/2.5/C}
+\tkzDrawPolygon(A,B,C)
+\tkzDefCircle[ex](B,C,A)
+\tkzGetPoint{J_c} \tkzGetSecondPoint{T_c}
+\tkzGetLength{rJc}
+\tkzDrawCircle[R](J_c,{\rJc pt})
+\tkzDrawLines[add=0 and 1](C,A C,B)
+\tkzDrawSegment(J_c,T_c)
+\tkzMarkRightAngle(J_c,T_c,B)
+\tkzDrawPoints(A,B,C,J_c,T_c)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Cardioid}
+Based on an idea by O. Reboux made with pst-eucl (Pstricks module) by D. Rodriguez.
+
+ Its name comes from the Greek \textit{kardia (heart)}, in reference to its shape, and was given to it by Johan Castillon (Wikipedia).
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2,0){A}
+ \foreach \ang in {5,10,...,360}{%
+ \tkzDefPoint(\ang:2){M}
+ \tkzDrawCircle(M,A)
+ }
+\end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+
+\subsection{Drawing semicircle}
+\begin{NewMacroBox}{tkzDrawSemiCircle}{\oarg{local options}\parg{A,B}}%
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2}}{\parg{O,A} or\parg{A,B}} {radius or diameter}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{through} {through}{circle characterized by two points defining a radius}
+\TOline{diameter} {through}{circle characterized by two points defining a diameter}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Use of \tkzcname{tkzDrawSemiCircle}}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A} \tkzDefPoint(6,0){B}
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzDrawPolygon(B,C,D,A)
+ \tkzDefPoint(3,6){F}
+ \tkzDefTriangle[equilateral](C,D)
+ \tkzGetPoint{I}
+ \tkzDefPointBy[projection=onto B--C](I)
+ \tkzGetPoint{J}
+ \tkzInterLL(D,B)(I,J) \tkzGetPoint{K}
+ \tkzDefPointBy[symmetry=center K](B)
+ \tkzGetPoint{M}
+ \tkzDrawCircle(M,I)
+ \tkzCalcLength(M,I) \tkzGetLength{dMI}
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzDrawCircle[R](M,\dMI)
+ \tkzDrawSemiCircle(F,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Drawing semicircles}
+
+\begin{NewMacroBox}{tkzDrawSemiCircles}{\oarg{local options}\parg{A,B C,D \dots}}%
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2 pt3,pt4 ...}}{\parg{A,B C,D}} {List of two points}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{through}{through}{circle with two points defining a radius}
+\TOline{diameter}{through}{circle with two points defining a diameter}
+ \bottomrule
+\end{tabular}
+\end{NewMacroBox}
+
+%<---------------------------------------------------------------------------->
+% ARC
+%<---------------------------------------------------------------------------->
+
+\section{Drawing arcs}
+\begin{NewMacroBox}{tkzDrawArc}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
+This macro traces the arc of center $O$. Depending on the options, the arguments differ. It is a question of determining a starting point and an end point. Either the starting point is given, which is the simplest, or the radius of the arc is given. In the latter case, it is necessary to have two angles. Either the angles can be given directly, or nodes associated with the center can be given to determine them. The angles are in degrees.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{towards}{towards}{$O$ is the center and the arc from $A$ to $(OB)$}
+\TOline{rotate} {towards}{the arc starts from $A$ and the angle determines its length}
+\TOline{R}{towards}{We give the radius and two angles}
+\TOline{R with nodes}{towards}{We give the radius and two points}
+\TOline{angles}{towards}{We give the radius and two points}
+\TOline{delta}{0}{angle added on each side }
+\bottomrule
+\end{tabular}
+
+\medskip
+Of course, you have to add all the styles of \TIKZ\ for the tracings...
+
+\medskip
+
+\begin{tabular}{lll}%
+\toprule
+options & arguments & example \\
+\midrule
+\TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzDrawArc[delta=10](O,A)(B)}}
+\TOline{rotate} {\parg{pt,pt}\parg{an}}{\tkzcname{tkzDrawArc[rotate,color=red](O,A)(90)}}
+\TOline{R}{\parg{pt,$r$}\parg{an,an}}{\tkzcname{tkzDrawArc[R](O,2)(30,90)}}
+\TOline{R with nodes}{\parg{pt,$r$}\parg{pt,pt}}{\tkzcname{tkzDrawArc[R with nodes](O,2)(A,B)}}
+\TOline{angles}{\parg{pt,pt}\parg{an,an}}{\tkzcname{tkzDrawArc[angles](O,A)(0,90)}}
+\end{tabular}
+\end{NewMacroBox}
+
+Here are a few examples:
+
+\subsection{Option \tkzname{towards}}
+It's useless to put \tkzname{towards}. In this first example the arc starts from $A$ and goes to $B$. The arc going from $B$ to $A$ is different. The salient is obtained by going in the direct direction of the trigonometric circle.
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2,-1){A}
+ \tkzDefPointBy[rotation= center O angle 90](A)
+ \tkzGetPoint{B}
+ \tkzDrawArc[color=orange,<->](O,A)(B)
+ \tkzDrawArc(O,B)(A)
+ \tkzDrawLines[add = 0 and .5](O,A O,B)
+ \tkzDrawPoints(O,A,B)
+ \tkzLabelPoints[below](O,A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{towards}}
+In this one, the arc starts from A but stops on the right (OB).
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=0.75]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2,-1){A}
+ \tkzDefPoint(1,1){B}
+ \tkzDrawArc[color=blue,->](O,A)(B)
+ \tkzDrawArc[color=gray](O,B)(A)
+ \tkzDrawArc(O,B)(A)
+ \tkzDrawLines[add = 0 and .5](O,A O,B)
+ \tkzDrawPoints(O,A,B)
+ \tkzLabelPoints[below](O,A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{rotate}}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=0.75]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2,-2){A}
+ \tkzDefPoint(60:2){B}
+ \tkzDrawLines[add = 0 and .5](O,A O,B)
+ \tkzDrawArc[rotate,color=red](O,A)(180)
+ \tkzDrawPoints(O,A,B)
+ \tkzLabelPoints[below](O,A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{R}}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=0.75]
+ \tkzDefPoints{0/0/O}
+ \tkzSetUpCompass[<->]
+ \tkzDrawArc[R,color=teal,double](O,3)(270,360)
+ \tkzDrawArc[R,color=orange,double](O,2)(0,270)
+ \tkzDrawPoint(O)
+ \tkzLabelPoint[below](O){$O$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{R with nodes}}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=0.75]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2,-1){A}
+ \tkzDefPoint(1,1){B}
+ \tkzCalcLength(B,A)\tkzGetLength{radius}
+ \tkzDrawArc[R with nodes](B,\radius)(A,O)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{delta}}
+This option allows a bit like \tkzcname{tkzCompass} to place an arc and overflow on either side. delta is a measure in degrees.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(3,0){B}
+ \tkzDefPointBy[rotation= center A angle 60](B)
+ \tkzGetPoint{C}
+ \begin{scope}% style only local
+ \tkzDefPointBy[symmetry= center C](A)
+ \tkzGetPoint{D}
+ \tkzDrawSegments(A,B A,D)
+ \tkzDrawLine(B,D)
+ \tkzSetUpCompass[color=orange]
+ \tkzDrawArc[orange,delta=10](A,B)(C)
+ \tkzDrawArc[orange,delta=10](B,C)(A)
+ \tkzDrawArc[orange,delta=10](C,D)(D)
+ \end{scope}
+
+ \tkzDrawPoints(A,B,C,D)
+ \tkzLabelPoints(A,B,C,D)
+ \tkzMarkRightAngle(D,B,A)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{angles}: example 1}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(5,0){B}
+ \tkzDefPoint(2.5,0){O}
+ \tkzDefPointBy[rotation=center O angle 60](B)
+ \tkzGetPoint{D}
+ \tkzDefPointBy[symmetry=center D](O)
+ \tkzGetPoint{E}
+ \begin{scope}
+ \tkzDrawArc[angles](O,B)(0,180)
+ \tkzDrawArc[angles,](B,O)(100,180)
+ \tkzCompass[delta=20](D,E)
+ \tkzDrawLines(A,B O,E B,E)
+ \tkzDrawPoints(A,B,O,D,E)
+ \end{scope}
+ \tkzLabelPoints(A,B,O,D,E)
+ \tkzMarkRightAngle(O,B,E)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{angles}: example 2}
+
+\begin{tkzexample}[latex=6cm,small]
+ \begin{tikzpicture}
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(5,0){I}
+ \tkzDefPoint(0,5){J}
+ \tkzInterCC(O,I)(I,O)\tkzGetPoints{B}{C}
+ \tkzInterCC(O,I)(J,O)\tkzGetPoints{D}{A}
+ \tkzInterCC(I,O)(J,O)\tkzGetPoints{L}{K}
+ \tkzDrawArc[angles](O,I)(0,90)
+ \tkzDrawArc[angles,color=gray,
+ style=dashed](I,O)(90,180)
+ \tkzDrawArc[angles,color=gray,
+ style=dashed](J,O)(-90,0)
+ \tkzDrawPoints(A,B,K)
+ \foreach \point in {I,A,B,J,K}{%
+ \tkzDrawSegment(O,\point)}
+ \end{tikzpicture}
+\end{tkzexample}
+
+%<---------------------------------------------------------------------------->
+% SECTOR
+%<---------------------------------------------------------------------------->
+
+\section{Drawing a sector or sectors}
+\subsection{\tkzcname{tkzDrawSector}}
+\tkzHandBomb\ Attention the arguments vary according to the options.
+\begin{NewMacroBox}{tkzDrawSector}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{towards}{towards}{$O$ is the center and the arc from $A$ to $(OB)$}
+\TOline{rotate} {towards}{the arc starts from $A$ and the angle determines its length }
+\TOline{R}{towards}{We give the radius and two angles}
+\TOline{R with nodes}{towards}{We give the radius and two points}
+\bottomrule
+\end{tabular}
+
+You have to add, of course, all the styles of \TIKZ\ for tracings...
+
+\begin{tabular}{lll}%
+\toprule
+options & arguments & example \\
+\midrule
+\TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzDrawSector(O,A)(B)}}
+\TOline{rotate} {\parg{pt,pt}\parg{an}}{\tkzcname{tkzDrawSector[rotate,color=red](O,A)(90)}}
+\TOline{R}{\parg{pt,$r$}\parg{an,an}}{\tkzcname{tkzDrawSector[R,color=teal](O,2)(30,90)}}
+\TOline{R with nodes}{\parg{pt,$r$}\parg{pt,pt}}{\tkzcname{tkzDrawSector[R with nodes](O,2)(A,B)}}
+\end{tabular}
+\end{NewMacroBox}
+
+Here are a few examples:
+
+\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{towards}}
+There's no need to put \tkzname{towards}. You can use \tkzname{fill} as an option.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(-30:3){A}
+ \tkzDefPointBy[rotation = center O angle -60](A)
+ \tkzDrawSector(O,A)(tkzPointResult)
+ \begin{scope}[shift={(-60:1)}]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(-30:3){A}
+ \tkzDefPointBy[rotation = center O angle -60](A)
+ \tkzDrawSector(O,tkzPointResult)(A)
+ \end{scope}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{rotate}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=2]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2,2){A}
+ \tkzDrawSector[rotate,draw=orange!50!black](O,A)(30)
+ \tkzDrawSector[rotate,draw=teal!50!black](O,A)(-30)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{R}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2,-1){A}
+ \tkzDrawSector[R](O,2)(30,90)
+ \tkzDrawSector[R](O,2)(90,180)
+ \tkzDrawSector[R](O,2)(180,270)
+ \tkzDrawSector[R](O,2)(270,360)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{R}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(4,-2){A}
+ \tkzDefPoint(4,1){B}
+ \tkzDefPoint(3,3){C}
+ \tkzDrawSector[R with nodes,%
+ fill=teal!20](O,1)(B,C)
+ \tkzDrawSector[R with nodes,%
+ fill=orange!20](O,1.25)(A,B)
+\tkzDrawSegments(O,A O,B O,C)
+\tkzDrawPoints(O,A,B,C)
+\tkzLabelPoints(A,B,C)
+\tkzLabelPoints[left](O)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{R with nodes}}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture} [scale=.4]
+ \tkzDefPoints{-1/-2/A,1/3/B}
+ \tkzDefRegPolygon[side,sides=6](A,B)
+ \tkzGetPoint{O}
+ \tkzDrawPolygon[fill=black!10, draw=blue](P1,P...,P6)
+ \tkzLabelRegPolygon[sep=1.05](O){A,...,F}
+ \tkzDrawCircle[dashed](O,A)
+ \tkzLabelSegment[above,sloped,
+ midway](A,B){\(A B = 16m\)}
+ \foreach \i [count=\xi from 1] in {2,...,6,1}
+ {%
+ \tkzDefMidPoint(P\xi,P\i)
+ \path (O) to [pos=1.1] node {\xi} (tkzPointResult) ;
+ }
+ \tkzDefRandPointOn[segment = P3--P5]
+ \tkzGetPoint{S}
+ \tkzDrawSegments[thick,dashed,red](A,S S,B)
+ \tkzDrawPoints(P1,P...,P6,S)
+ \tkzLabelPoint[left,above](S){$S$}
+ \tkzDrawSector[R with nodes,fill=red!20](S,2)(A,B)
+ \tkzLabelAngle[pos=1.5](A,S,B){$\alpha$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex
new file mode 100644
index 0000000000..c2ab8f9bf2
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-elements.tex
@@ -0,0 +1,166 @@
+
+\section{The Elements of tkz code}
+
+To work with my package, you need to have notions of \LATEX\ as well as \TIKZ.
+
+In this paragraph, we start looking at the "rules" and "symbols" used to create a figure with \tkzname{\tkznameofpack}.
+
+\subsection{Objects and language}
+
+ The primitive objects are points. You can refer to a point at any time using the name given when defining it. (it is possible to assign a different name later on).
+
+To get new points you will use macros. \tkzname{\tkznameofpack} macros have a name beginning with tkz. There are four main categories starting with:
+|\tkzDef...| |\tkzDraw...| |\tkzMark...| and |\tkzLabel...|.
+The used points are passed as parameters between parentheses while the created points are between braces.
+
+Le code des figures est placés dans un environnement \tkzimp{tikzpicture}
+
+\begin{tkzltxexample}[]
+ \begin{tikzpicture}
+ code ...
+ \end{tikzpicture}
+ \end{tkzltxexample}
+
+ Contrary to \TIKZ, you should not end a macro with ";". We thus lose the important notion which is the \tkzimp{path}. However, it is possible to place some code between the macros \tkzname{\tkznameofpack}.
+
+
+Among the first category, |\tkzDefPoint| allows you to define fixed points. It will be studied in detail later. Here we will see in detail the macro |\tkzDefTriangle|.
+
+This macro makes it possible to associate to a pair of points a third point in order to define a certain triangle |\tkzDefTriangle(A,B)|. The obtained point is referenced |tkzPointResult| and it is possible to choose another reference with |\tkzGetPoint{C}| for example.
+
+|\tkzDefTriangle[euclid](A,B) \tkzGetPoint{C}|
+
+Parentheses are used to pass arguments. In |(A,B)| $A$ and $B$ are the points with which a third will be defined. However, in |{C}| we use braces to retrieve the new point.
+
+In order to choose a certain type of triangle among the following choices:
+ |equilateral|, |isosceles right|, |half|, |pythagoras|, |school|, |golden or sublime|, |euclid|, |gold|, |cheops|...
+ and |two angles| you just have to choose between hooks, for example:
+
+
+
+\begin{minipage}{0.5\textwidth}
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/A,8/0/B}
+ \foreach \tr in {euclid, gold}
+ {\tkzDefTriangle[\tr](A,B) \tkzGetPoint{C}
+ \tkzDrawPoint(C)
+ \tkzLabelPoint[right](C){\tr}
+ \tkzDrawSegments(A,C C,B)}
+ \tkzDrawPoints(A,B)
+ \tkzDrawSegments(A,B)
+ \tkzLabelPoints(A,B)
+ \end{tikzpicture}
+\end{minipage}
+\begin{minipage}{0.5\textwidth}
+ \begin{tkzexample}[code only,small]
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/A,8/0/B}
+ \foreach \tr in {euclid,gold}
+ {\tkzDefTriangle[\tr](A,B) \tkzGetPoint{C}
+ \tkzDrawPoint(C)
+ \tkzLabelPoint[right](C){\tr}
+ \tkzDrawSegments(A,C C,B)}
+ \tkzDrawPoints(A,B)
+ \tkzDrawSegments(A,B)
+ \tkzLabelPoints(A,B)
+ \end{tikzpicture}
+ \end{tkzexample}
+\end{minipage}
+
+
+\subsection{Notations and conventions}
+
+I deliberately chose to use the geometric French and personal conventions to describe the geometric objects represented. The objects defined and represented by \tkzname{\tkznameofpack} are points, lines and circles located in a plane. They are the primary objects of Euclidean geometry from which we will construct figures.
+
+According to \tkzimp{Euclid}, these figures will only illustrate pure ideas produced by our brain.
+Thus a point has no dimension and therefore no real existence. In the same way the line has no width and therefore no existence in the real world. The objects that we are going to consider are only representations of ideal mathematical objects. \tkzname{\tkznameofpack} will follow the steps of the ancient Greeks to obtain geometrical constructions using the ruler and the compass.
+
+Here are the notations that will be used:
+
+
+\begin{itemize}
+\item The points are represented geometrically either by a small disc or by the intersection of two lines (two straight lines, a straight line and a circle or two circles). In this case, the point is represented by a cross.
+
+\begin{tkzexample}[latex=6cm, small]
+ \begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/2/B}
+ \tkzDrawPoints(A,B)
+ \tkzLabelPoints(A,B)
+ \end{tikzpicture}
+\end{tkzexample}
+
+or else
+
+\begin{tkzexample}[latex=6cm, small]
+ \begin{tikzpicture}
+ \tkzSetUpPoint[shape=cross, color=red]
+ \tkzDefPoints{0/0/A,4/2/B}
+ \tkzDrawPoints(A,B)
+ \tkzLabelPoints(A,B)
+ \end{tikzpicture}
+ \end{tkzexample}
+
+The existence of a point being established, we can give it a label which will be a capital letter (with some exceptions) of the Latin alphabet such as $A$, $B$ or $C$. For example:
+\begin{itemize}
+\item $O$ is a center for a circle, a rotation, etc.;
+\item $M$ defined a midpoint;
+\item $H$ defined the foot of an altitude;
+\item $P'$ is the image of $P$ by a transformation ;
+\end{itemize}
+
+It is important to note that the reference name of a point in the code may be different from the label to designate it in the text. So we can define a point A and give it as label $P$. In particular the style will be different, point A will be labeled $A$.
+
+\begin{tkzexample}[latex=6cm, small]
+ \begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDrawPoints(A)
+ \tkzLabelPoint(A){$P$}
+ \end{tikzpicture}
+\end{tkzexample}
+
+Exceptions: some points such as the middle of the sides of a triangle share a characteristic, so it is normal that their names also share a common character. We will designate these points by $M_a$, $M_b$ and $M_c$ or $M_A$, $M_B$ and $M_C$.
+
+In the code, these points will be referred to as: M\_A, M\_B and M\_C.
+
+Another exception relates to intermediate construction points which will not be labelled. They will often be designated by a lowercase letter in the code.
+
+\item The line segments are designated by two points representing their ends in square brackets: $[AB]$.
+
+\item The straight lines are in Euclidean geometry defined by two points so $A$ and $B$ define the straight line $(AB)$. We can also designate this stright line using the Greek alphabet and name it $(\delta)$ or $(\Delta)$. It is also possible to designate the straight line with lowercase letters such as $d$ and $d'$.
+
+\item The semi-straight line is designated as follows $[AB)$.
+
+
+\item Relation between the straight lines. Two perpendicular $(AB)$ and $(CD)$ lines will be written $(AB) \perp (CD)$ and if they are parallel we will write $(AB) \parallelslant (CD)$.
+
+\item The lengths of the sides of triangle ABC are $AB$, $AC$ and $BC$. The numbers are also designated by a lowercase letter so we will write: $AB=c$, $AC=b$ and $BC=a$. The letter $a$ is also used to represent an angle, and $r$ is frequently used to represent a radius, $d$ a diameter, $l$ a length, $d$ a distance.
+
+\item Polygons are designated afterwards by their vertices so $ABC$ is a triangle, $EFGH$ a quadrilateral.
+
+\item Angles are generally measured in degrees (ex $60^\circ$) and in an equilateral $ABC$ triangle we will write $\widehat{ABC}=\widehat{B}=60^\circ$.
+
+\item The arcs are designated by their extremities. For example if $A$ and $B$ are two points of the same circle then $\widearc{AB}$.
+
+
+\item Circles are noted either $\mathcal{C}$ if there is no possible confusion or $\mathcal{C}$ $(O~;~A)$ for a circle with center $O$ and passing through the point $A$ or $\mathcal{C}$ $(O~;~1)$ for a circle with center O and radius 1 cm.
+
+\item Name of the particular lines of a triangle: I used the terms bisector, bisector out, mediator (sometimes called perpendicular bisectors), altitude, median and symmedian.
+
+\item ($x_1$,$y_1$) coordinates of the point $A_1$, ($x_A$,$y_A$) coordinates of the point $A$.
+
+\end{itemize}
+
+
+\subsection{\tkzname{Set, Calculate, Draw, Mark, Label}}
+The title could have been: \texttt{Separation of Calculus and Drawings}
+
+When a document is prepared using the \LATEX\ system, the source code of the document can be divided into two parts: the document body and the preamble.
+Under this methodology, publications can be structured, styled and typeset with minimal effort.
+I propose a similar methodology for creating figures with \tkzname{\tkznameofpack}.
+
+The first part defines the fixed points, the second part allows the creation of new points. \tkzname{Set and Calculate} are the two main parts. All that is left to do is to draw (or fill), mark and label. It is possible that \tkzname{\tkznameofpack} is insufficient for some of these latter actions but you can use \TIKZ
+
+One last remark that I think is important, it is best to avoid introducing coordinates within a code as much as possible. I think that the coordinates should appear at the beginning of the code with the fixed points. Then the use of references is recommended. Most macros have the option \tkzname{nodes} or \tkzname{with nodes}.
+
+I also think it's best to define the styles of the different objects from the beginning.
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
new file mode 100644
index 0000000000..79b340b5db
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
@@ -0,0 +1,1327 @@
+
+\section{Some interesting examples}
+
+\subsection{Square root of the integers}
+\begin{tikzpicture}
+\node [mybox,title={Square root of the integers}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{How to get $1$, $\sqrt{2}$, $\sqrt{3}$ with a rule and a compass.
+}}
+\end{minipage}
+};
+\end{tikzpicture}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(1,0){a0}
+ \tkzDrawSegment(O,a0)
+ \foreach \i [count=\j] in {0,...,16}{%
+ \tkzDefPointWith[orthogonal normed](a\i,O)
+ \tkzGetPoint{a\j}
+ \pgfmathsetmacro{\c}{5*\i}
+ \tkzDrawPolySeg[fill=teal!\c](a\i,a\j,O)}
+ \end{tikzpicture}
+\end{tkzexample}
+
+\subsection{About right triangle}
+\begin{tikzpicture}
+\node [mybox,title={About right triangle}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{We have a segment $[AB]$ and we want to determine a point $C$ such that $AC=8$~cm and $ABC$ is a right triangle in $B$.
+}}
+\end{minipage}
+};
+\end{tikzpicture}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint["$A$" left](2,1){A}
+ \tkzDefPoint["$B$" right](6,4){B}
+ \tkzDefPointWith[orthogonal,K=-1](B,A)
+ \tkzDrawLine[add = .5 and .5](B,tkzPointResult)
+ \tkzInterLC[R](B,tkzPointResult)(A,8)
+ \tkzGetPoints{C}{J}
+ \tkzDrawSegment(A,B)
+ \tkzDrawPoints(A,B,C)
+ \tkzCompass(A,C)
+ \tkzMarkRightAngle(A,B,C)
+ \tkzDrawLine[color=gray,style=dashed](A,C)
+ \tkzLabelPoint[above](C){$C$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Archimedes}
+\begin{tikzpicture}
+\node [mybox,title={Archimedes}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{This is an ancient problem proved by the great Greek mathematician Archimedes .
+The figure below shows a semicircle, with diameter $AB$. A tangent line is drawn and touches the semicircle at $B$. An other tangent line at a point, $C$, on the semicircle is drawn. We project the point $C$ on the line segment $[AB]$ on a point $D$. The two tangent lines intersect at the point $T$. Prove that the line $(AT)$ bisects $(CD)$
+}}
+\end{minipage}
+};
+\end{tikzpicture}
+
+\begin{tkzexample}[]
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoint(0,0){A}\tkzDefPoint(6,0){D}
+ \tkzDefPoint(8,0){B}\tkzDefPoint(4,0){I}
+ \tkzDefLine[orthogonal=through D](A,D)
+ \tkzInterLC[R](D,tkzPointResult)(I,4) \tkzGetFirstPoint{C}
+ \tkzDefLine[orthogonal=through C](I,C) \tkzGetPoint{c}
+ \tkzDefLine[orthogonal=through B](A,B) \tkzGetPoint{b}
+ \tkzInterLL(C,c)(B,b) \tkzGetPoint{T}
+ \tkzInterLL(A,T)(C,D) \tkzGetPoint{P}
+ \tkzDrawArc(I,B)(A)
+ \tkzDrawSegments(A,B A,T C,D I,C) \tkzDrawSegment[new](I,C)
+ \tkzDrawLine[add = 1 and 0](C,T) \tkzDrawLine[add = 0 and 1](B,T)
+ \tkzMarkRightAngle(I,C,T)
+ \tkzDrawPoints(A,B,I,D,C,T)
+ \tkzLabelPoints(A,B,I,D) \tkzLabelPoints[above right](C,T)
+ \tkzMarkSegment[pos=.25,mark=s|](C,D) \tkzMarkSegment[pos=.75,mark=s|](C,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsubsection{Square and rectangle of same area; Golden section}
+
+\begin{tikzpicture}
+\node [mybox,title={Book II, proposition XI \_Euclid's Elements\_}] (box){%
+ \begin{minipage}{0.90\textwidth}
+{\emph{To construct Square and rectangle of same area.}
+}
+ \end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){D} \tkzDefPoint(8,0){A}
+ \tkzDefSquare(D,A) \tkzGetPoints{B}{C}
+ \tkzDefMidPoint(D,A) \tkzGetPoint{E}
+ \tkzInterLC(D,A)(E,B)\tkzGetSecondPoint{F}
+ \tkzInterLC(A,B)(A,F)\tkzGetSecondPoint{G}
+ \tkzDefSquare(A,F)\tkzGetFirstPoint{H}
+ \tkzInterLL(C,D)(H,G)\tkzGetPoint{I}
+ \tkzFillPolygon[teal!10](I,G,B,C)
+ \tkzFillPolygon[teal!10](A,F,H,G)
+ \tkzDrawArc[angles](E,B)(0,120)
+ \tkzDrawSemiCircle(A,F)
+ \tkzDrawSegments(A,F E,B H,I F,H)
+ \tkzDrawPolygons(A,B,C,D)
+ \tkzDrawPoints(A,...,I)
+ \tkzLabelPoints(A,...,I)
+\end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+
+\subsubsection{Steiner Line and Simson Line}
+
+\begin{tikzpicture}
+\node [mybox,title={Steiner Line and Simson Line}] (box){%
+ \begin{minipage}{0.90\textwidth}
+{\emph{Consider the triangle ABC and a point M on its circumcircle. The projections of M on the sides of the triangle are on a line (Steiner Line), The three closest points to M on lines AB, AC, and BC are collinear. It's the Simson Line.
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75,rotate=-20]
+ \tkzDefPoint(0,0){B}
+ \tkzDefPoint(2,4){A} \tkzDefPoint(7,0){C}
+ \tkzDefCircle[circum](A,B,C)
+ \tkzGetPoint{O}
+ \tkzDrawCircle(O,A)
+ \tkzCalcLength(O,A)
+ \tkzGetLength{rOA}
+ \tkzDefShiftPoint[O](40:\rOA){M}
+ \tkzDefShiftPoint[O](60:\rOA){N}
+ \tkzDefTriangleCenter[orthic](A,B,C)
+ \tkzGetPoint{H}
+ \tkzDefSpcTriangle[orthic,name=H](A,B,C){a,b,c}
+ \tkzDefPointsBy[reflection=over A--B](M,N){P,P'}
+ \tkzDefPointsBy[reflection=over A--C](M,N){Q,Q'}
+ \tkzDefPointsBy[reflection=over C--B](M,N){R,R'}
+ \tkzDefMidPoint(M,P)\tkzGetPoint{I}
+ \tkzDefMidPoint(M,Q)\tkzGetPoint{J}
+ \tkzDefMidPoint(M,R)\tkzGetPoint{K}
+ \tkzDrawSegments[new](P,R M,P M,Q M,R N,P'%
+ N,Q' N,R' P',R' I,K)
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,H,M,N,P,Q,R,P',Q',R',I,J,K)
+ \tkzLabelPoints(A,B,C,H,M,N,P,Q,R,P',Q',R',I,J,K)
+\end{tikzpicture}
+
+\end{tkzexample}
+
+
+\newpage
+\subsection{Lune of Hippocrates}
+
+\begin{tikzpicture}
+\node [mybox,title={Lune of Hippocrates}] (box){%
+\begin{minipage}{0.90\textwidth}
+ { \emph{From wikipedia : In geometry, the lune of Hippocrates, named after Hippocrates of Chios, is a lune bounded by arcs of two circles, the smaller of which has as its diameter a chord spanning a right angle on the larger circle.In the first figure, the area of the lune is equal to the area of the triangle ABC. Hippocrates of Chios (ancient Greek mathematician,)
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmin=-2,xmax=5,ymin=-1,ymax=6]
+ \tkzClip % allows you to define a bounding box
+ % large enough
+ \tkzDefPoint(0,0){A}\tkzDefPoint(4,0){B}
+ \tkzDefSquare(A,B)
+ \tkzGetFirstPoint{C}
+ \tkzDrawPolygon[fill=green!5](A,B,C)
+ \begin{scope}
+ \tkzClipCircle[out](B,A)
+ \tkzDrawSemiCircle[diameter,fill=teal!5](A,C)
+ \end{scope}
+ \tkzDrawArc[delta=0](B,C)(A)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Lunes of Hasan Ibn al-Haytham}
+
+\begin{tikzpicture}
+\node [mybox,title={Lune of Hippocrates}] (box){%
+\begin{minipage}{0.90\textwidth}
+ { \emph{From wikipedia : the Arab mathematician Hasan Ibn al-Haytham (Latinized name Alhazen) showed that two lunes, formed on the two sides of a right triangle, whose outer boundaries are semicircles and whose inner boundaries are formed by the circumcircle of the triangle, then the areas of these two lunes added together are equal to the area of the triangle. The lunes formed in this way from a right triangle are known as the lunes of Alhazen.
+}}
+\end{minipage}};
+\end{tikzpicture}%
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5,rotate=180]
+ \tkzInit[xmin=-1,xmax=11,ymin=-4,ymax=7]
+ \tkzClip
+ \tkzDefPoints{0/0/A,8/0/B}
+ \tkzDefTriangle[pythagore](A,B)
+ \tkzGetPoint{C}
+ \tkzDrawPolygon[fill=green!5](A,B,C)
+ \tkzDefMidPoint(C,A) \tkzGetPoint{I}
+ \begin{scope}
+ \tkzClipCircle[out](I,A)
+ \tkzDrawSemiCircle[diameter,fill=teal!5](B,A)
+ \tkzDrawSemiCircle[diameter,fill=teal!5](C,B)
+ \end{scope}
+ \tkzSetUpCompass[/tkzcompass/delta=0]
+ \tkzDrawSemiCircle[diameter](C,A)
+\end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsection{About clipping circles}\label{About clipping circles}
+\begin{tikzpicture}
+\node [mybox,title={About clipping circles}] (box){%
+\begin{minipage}{0.90\textwidth}
+ { \emph{The problem is the management of the bounding box. First you have to define a rectangle in which the figure will be inserted. This is done with the first two lines.
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzInit[xmin=0,xmax=6,ymin=0,ymax=6]
+ \tkzClip
+ \tkzDefPoints{0/0/A, 6/0/B}
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{M}
+ \tkzDefMidPoint(A,D) \tkzGetPoint{N}
+ \tkzDefMidPoint(B,C) \tkzGetPoint{O}
+ \tkzDefMidPoint(C,D) \tkzGetPoint{P}
+ \begin{scope}
+ \tkzClipCircle[out](M,B) \tkzClipCircle[out](P,D)
+ \tkzFillPolygon[teal!20](M,N,P,O)
+ \end{scope}
+ \begin{scope}
+ \tkzClipCircle[out](N,A) \tkzClipCircle[out](O,C)
+ \tkzFillPolygon[teal!20](M,N,P,O)
+ \end{scope}
+ \begin{scope}
+ \tkzClipCircle(P,C) \tkzClipCircle(N,A)
+ \tkzFillPolygon[teal!20](N,P,D)
+ \end{scope}
+ \begin{scope}
+ \tkzClipCircle(O,C) \tkzClipCircle(P,C)
+ \tkzFillPolygon[teal!20](P,C,O)
+ \end{scope}
+ \begin{scope}
+ \tkzClipCircle(M,B) \tkzClipCircle(O,B)
+ \tkzFillPolygon[teal!20](O,B,M)
+ \end{scope}
+ \begin{scope}
+ \tkzClipCircle(N,A) \tkzClipCircle(M,A)
+ \tkzFillPolygon[teal!20](A,M,N)
+ \end{scope}
+ \tkzDrawSemiCircles(M,B N,A O,C P,D)
+ \tkzDrawPolygons(A,B,C,D M,N,P,O)
+ \end{tikzpicture}
+ \end{tkzexample}
+
+
+
+
+\newpage
+\subsection{Similar isosceles triangles}
+
+\begin{tikzpicture}
+\node [mybox,title={Similar isosceles triangles}] (box){%
+\begin{minipage}{0.90\textwidth}
+ { \emph{The following is from the excellent site \textbf{Descartes et les Mathématiques}. I did not modify the text and I am only the author of the programming of the figures.
+\url{http://debart.pagesperso-orange.fr/seconde/triangle.html}
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+
+
+The following is from the excellent site \textbf{Descartes et les Mathématiques}. I did not modify the text and I am only the author of the programming of the figures.
+
+\url{http://debart.pagesperso-orange.fr/seconde/triangle.html}
+
+Bibliography:
+
+\begin{itemize}
+
+\item Géométrie au Bac - Tangente, special issue no. 8 - Exercise 11, page 11
+
+
+\item Elisabeth Busser and Gilles Cohen: 200 nouveaux problèmes du "Monde" - POLE 2007 (200 new problems of "Le Monde")
+
+
+\item Affaire de logique n° 364 - Le Monde February 17, 2004
+\end{itemize}
+
+
+Two statements were proposed, one by the magazine \textit{Tangente} and the other by \textit{Le Monde}.
+
+\vspace*{2cm}
+\emph{Editor of the magazine "Tangente"}: \textcolor{orange}{Two similar isosceles triangles $AXB$ and $BYC$ are constructed with main vertices $X$ and $Y$, such that $A$, $B$ and $C$ are aligned and that these triangles are "indirect". Let $\alpha$ be the angle at vertex $\widehat{AXB}$ = $\widehat{BYC}$. We then construct a third isosceles triangle $XZY$ similar to the first two, with main vertex $Z$ and "indirect".
+We ask to demonstrate that point $Z$ belongs to the straight line $(AC)$.}
+
+\vspace*{2cm}
+\emph{Editor of "Le Monde"}: \textcolor{orange}{We construct two similar isosceles triangles $AXB$ and $BYC$ with principal vertices $X$ and $Y$, such that $A$, $B$ and $C$ are aligned and that these triangles are "indirect". Let $\alpha$ be the angle at vertex $\widehat{AXB}$ = $\widehat{BYC}$. The point Z of the line segment $[AC]$ is equidistant from the two vertices $X$ and $Y$.\\
+At what angle does he see these two vertices?}
+
+\vspace*{2cm} The constructions and their associated codes are on the next two pages, but you can search before looking. The programming respects (it seems to me ...) my reasoning in both cases.
+
+ \subsection{Revised version of "Tangente"}
+\begin{tkzexample}[]
+\begin{tikzpicture}[scale=.8,rotate=60]
+ \tkzDefPoint(6,0){X} \tkzDefPoint(3,3){Y}
+ \tkzDefShiftPoint[X](-110:6){A} \tkzDefShiftPoint[X](-70:6){B}
+ \tkzDefShiftPoint[Y](-110:4.2){A'} \tkzDefShiftPoint[Y](-70:4.2){B'}
+ \tkzDefPointBy[translation= from A' to B ](Y) \tkzGetPoint{Y}
+ \tkzDefPointBy[translation= from A' to B ](B') \tkzGetPoint{C}
+ \tkzInterLL(A,B)(X,Y) \tkzGetPoint{O}
+ \tkzDefMidPoint(X,Y) \tkzGetPoint{I}
+ \tkzDefPointWith[orthogonal](I,Y)
+ \tkzInterLL(I,tkzPointResult)(A,B) \tkzGetPoint{Z}
+ \tkzDefCircle[circum](X,Y,B) \tkzGetPoint{O}
+ \tkzDrawCircle(O,X)
+ \tkzDrawLines[add = 0 and 1.5](A,C) \tkzDrawLines[add = 0 and 3](X,Y)
+ \tkzDrawSegments(A,X B,X B,Y C,Y) \tkzDrawSegments[color=red](X,Z Y,Z)
+ \tkzDrawPoints(A,B,C,X,Y,O,Z)
+ \tkzLabelPoints(A,B,C,Z) \tkzLabelPoints[above right](X,Y,O)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{"Le Monde" version}
+
+\begin{tkzexample}[]
+\begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(3,0){B}
+ \tkzDefPoint(9,0){C}
+ \tkzDefPoint(1.5,2){X}
+ \tkzDefPoint(6,4){Y}
+ \tkzDefCircle[circum](X,Y,B) \tkzGetPoint{O}
+ \tkzDefMidPoint(X,Y) \tkzGetPoint{I}
+ \tkzDefPointWith[orthogonal](I,Y) \tkzGetPoint{i}
+ \tkzDrawLines[add = 2 and 1,color=orange](I,i)
+ \tkzInterLL(I,i)(A,B) \tkzGetPoint{Z}
+ \tkzInterLC(I,i)(O,B) \tkzGetSecondPoint{M}
+ \tkzDefPointWith[orthogonal](B,Z) \tkzGetPoint{b}
+ \tkzDrawCircle(O,B)
+ \tkzDrawLines[add = 0 and 2,color=orange](B,b)
+ \tkzDrawSegments(A,X B,X B,Y C,Y A,C X,Y)
+ \tkzDrawSegments[color=red](X,Z Y,Z)
+ \tkzDrawPoints(A,B,C,X,Y,Z,M,I)
+ \tkzLabelPoints(A,B,C,Z)
+ \tkzLabelPoints[above right](X,Y,M,I)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Triangle altitudes}
+
+\begin{tikzpicture}
+\node [mybox,title={Triangle altitudes}] (box){%
+\begin{minipage}{0.90\textwidth}
+ { \emph{From Wikipedia : The following is again from the excellent site \textbf{Descartes et les Mathématiques} (Descartes and the Mathematics).
+\url{http://debart.pagesperso-orange.fr/geoplan/geometrie_triangle.html}.
+The three altitudes of a triangle intersect at the same H-point.
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){C} \tkzDefPoint(7,0){B}
+ \tkzDefPoint(5,6){A}
+ \tkzDefMidPoint(C,B) \tkzGetPoint{I}
+ \tkzInterLC(A,C)(I,B)
+ \tkzGetSecondPoint{B'}
+ \tkzInterLC(A,B)(I,B)
+ \tkzGetFirstPoint{C'}
+ \tkzInterLL(B,B')(C,C') \tkzGetPoint{H}
+ \tkzInterLL(A,H)(C,B) \tkzGetPoint{A'}
+ \tkzDefCircle[circum](A,B',C') \tkzGetPoint{O}
+ \tkzDrawArc(I,B)(C)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle[color=red](O,A)
+ \tkzDrawSegments[color=orange](B,B' C,C' A,A')
+ \tkzMarkRightAngles(C,B',B B,C',C C,A',A)
+ \tkzDrawPoints(A,B,C,A',B',C',H)
+ \tkzLabelPoints(A,B,C,A',B',C',H)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Altitudes - other construction}
+
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}
+\tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B}
+\tkzDefPoint(5,6){C}
+\tkzDefMidPoint(A,B)\tkzGetPoint{O}
+\tkzDefPointBy[projection=onto A--B](C) \tkzGetPoint{P}
+\tkzInterLC(C,A)(O,A)
+\tkzGetSecondPoint{M}
+\tkzInterLC(C,B)(O,A)
+\tkzGetFirstPoint{N}
+\tkzInterLL(B,M)(A,N)\tkzGetPoint{I}
+\tkzDrawCircles[diameter](A,B I,C)
+\tkzDrawSegments(C,A C,B A,B B,M A,N)
+\tkzMarkRightAngles[fill=brown!20](A,M,B A,N,B A,P,C)
+\tkzDrawSegment[style=dashed,color=orange](C,P)
+\tkzLabelPoints(O,A,B,P)
+\tkzLabelPoint[left](M){$M$}
+\tkzLabelPoint[right](N){$N$}
+\tkzLabelPoint[above](C){$C$}
+\tkzLabelPoint[above right](I){$I$}
+\tkzDrawPoints[color=red](M,N,P,I)
+\tkzDrawPoints[color=brown](O,A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\newpage
+\subsection{Three circles in an Equilateral Triangle }
+\begin{tikzpicture}
+\node [mybox,title={Three circles in an Equilateral Triangle}] (box){%
+\begin{minipage}{0.90\textwidth}
+ { \emph{From Wikipedia : In geometry, the Malfatti circles are three circles inside a given triangle such that each circle is tangent to the other two and to two sides of the triangle. They are named after Gian Francesco Malfatti, who made early studies of the problem of constructing these circles in the mistaken belief that they would have the largest possible total area of any three disjoint circles within the triangle. Below is a study of a particular case with an equilateral triangle and three identical circles.
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.8]
+ \tkzDefPoints{0/0/A,8/0/B,0/4/a,8/4/b,8/8/c}
+ \tkzDefTriangle[equilateral](A,B) \tkzGetPoint{C}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{M}
+ \tkzDefMidPoint(B,C) \tkzGetPoint{N}
+ \tkzDefMidPoint(A,C) \tkzGetPoint{P}
+ \tkzInterLL(A,N)(M,a) \tkzGetPoint{Ia}
+ \tkzDefPointBy[projection = onto A--B](Ia)
+ \tkzGetPoint{ha}
+ \tkzInterLL(B,P)(M,b) \tkzGetPoint{Ib}
+ \tkzDefPointBy[projection = onto A--B](Ib)
+ \tkzGetPoint{hb}
+ \tkzInterLL(A,c)(M,C) \tkzGetPoint{Ic}
+ \tkzDefPointBy[projection = onto A--C](Ic)
+ \tkzGetPoint{hc}
+ \tkzInterLL(A,Ia)(B,Ib) \tkzGetPoint{G}
+ \tkzDefSquare(A,B) \tkzGetPoints{D}{E}
+ \tkzDrawPolygon(A,B,C)
+ \tkzClipBB
+ \tkzDrawSemiCircles[gray,dashed](M,B A,M
+ A,B B,A G,Ia)
+ \tkzDrawCircles[gray](Ia,ha Ib,hb Ic,hc)
+ \tkzDrawPolySeg(A,E,D,B)
+ \tkzDrawPoints(A,B,C,G,Ia,Ib,Ic)
+ \tkzDrawSegments[gray,dashed](C,M A,N B,P
+ M,a M,b A,a a,b b,B A,D Ia,ha)
+\end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsection{Law of sines}
+\begin{tikzpicture}
+\node [mybox,title={Law of sines}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {From wikipedia : \emph{In trigonometry, the law of sines, sine law, sine formula, or sine rule is an equation relating the lengths of the sides of a triangle (any shape) to the sines of its angles.
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}
+ \tkzDefPoints{0/0/A,5/1/B,2/6/C}
+ \tkzDefTriangleCenter[circum](A,B,C)
+ \tkzGetPoint{O}
+ \tkzDefPointBy[symmetry= center O](B)
+ \tkzGetPoint{D}
+ \tkzDrawPolygon[color=brown](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,D,O)
+ \tkzDrawSegments[dashed](B,D A,D)
+ \tkzLabelPoint[left](D){$D$}
+ \tkzLabelPoint[below](A){$A$}
+ \tkzLabelPoint[above](C){$C$}
+ \tkzLabelPoint[right](B){$B$}
+ \tkzLabelPoint[below](O){$O$}
+ \tkzLabelSegment(B,C){$a$}
+ \tkzLabelSegment[left](A,C){$b$}
+ \tkzLabelSegment(A,B){$c$}
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+In the triangle $ABC$
+
+\begin{equation}
+\frac{a}{\sin A} = \frac{b}{\sin B} =\frac{c}{\sin C}
+\end{equation}
+
+\[\widehat{C} = \widehat{D}\]
+\begin{equation}
+\frac{c}{2R} = \sin D = \sin C
+\end{equation}
+
+Then \[ \frac{c}{\sin C} = 2R\]
+
+\newpage
+\subsection{Flower of Life}
+\begin{tikzpicture}
+\node [mybox,title={Book IV, proposition XI \_Euclid's Elements\_}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{Sacred geometry can be described as a belief system attributing a religious or cultural value to many of the fundamental forms of space and time. According to this belief system, the basic patterns of existence are perceived as sacred because in contemplating them one is contemplating the origin of all things. By studying the nature of these forms and their relationship to each other, one may seek to gain insight into the scientific, philosophical, psychological, aesthetic and mystical laws of the universe.
+The Flower of Life is considered to be a symbol of sacred geometry, said to contain ancient, religious value depicting the fundamental forms of space and time. In this sense, it is a visual expression of the connections life weaves through all mankind, believed by some to contain a type of Akashic Record of basic information of all living things.
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+One of the beautiful arrangements of circles found at the Temple of Osiris at Abydos, Egypt (Rawles 1997). \\
+Weisstein, Eric W. "Flower of Life." From MathWorld--A Wolfram Web Resource.\\ \url{http://mathworld.wolfram.com/FlowerofLife.html}
+
+\begin{tkzexample}[vbox,small]
+ \begin{tikzpicture}[scale=.75]
+ \tkzSetUpLine[line width=2pt,color=teal!80!black]
+ \tkzSetUpCompass[line width=2pt,color=teal!80!black]
+ \tkzDefPoint(0,0){O} \tkzDefPoint(2.25,0){A}
+ \tkzDrawCircle(O,A)
+ \foreach \i in {0,...,5}{
+ \tkzDefPointBy[rotation= center O angle 30+60*\i](A)\tkzGetPoint{a\i}
+ \tkzDefPointBy[rotation= center {a\i} angle 120](O)\tkzGetPoint{b\i}
+ \tkzDefPointBy[rotation= center {a\i} angle 180](O)\tkzGetPoint{c\i}
+ \tkzDefPointBy[rotation= center {c\i} angle 120](a\i)\tkzGetPoint{d\i}
+ \tkzDefPointBy[rotation= center {c\i} angle 60](d\i)\tkzGetPoint{f\i}
+ \tkzDefPointBy[rotation= center {d\i} angle 60](b\i)\tkzGetPoint{e\i}
+ \tkzDefPointBy[rotation= center {f\i} angle 60](d\i)\tkzGetPoint{g\i}
+ \tkzDefPointBy[rotation= center {d\i} angle 60](e\i)\tkzGetPoint{h\i}
+ \tkzDefPointBy[rotation= center {e\i} angle 180](b\i)\tkzGetPoint{k\i}
+ \tkzDrawCircle(a\i,O)
+ \tkzDrawCircle(b\i,a\i)
+ \tkzDrawCircle(c\i,a\i)
+ \tkzDrawArc[rotate](f\i,d\i)(-120)
+ \tkzDrawArc[rotate](e\i,d\i)(180)
+ \tkzDrawArc[rotate](d\i,f\i)(180)
+ \tkzDrawArc[rotate](g\i,f\i)(60)
+ \tkzDrawArc[rotate](h\i,d\i)(60)
+ \tkzDrawArc[rotate](k\i,e\i)(60)
+ }
+ \tkzClipCircle(O,f0)
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+\newpage
+\subsection{Pentagon in a circle}
+\begin{tikzpicture}
+\node [mybox,title={Book IV, proposition XI \_Euclid's Elements\_}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{To inscribe an equilateral and equiangular pentagon in a given circle.
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tkzexample}[code only, small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){O} \tkzDefPoint(5,0){A}
+ \tkzDefPoint(0,5){B} \tkzDefPoint(-5,0){C}
+ \tkzDefPoint(0,-5){D}
+ \tkzDefMidPoint(A,O) \tkzGetPoint{I}
+ \tkzInterLC(I,B)(I,A) \tkzGetPoints{F}{E}
+ \tkzInterCC(O,C)(B,E) \tkzGetPoints{D3}{D2}
+ \tkzInterCC(O,C)(B,F) \tkzGetPoints{D4}{D1}
+ \tkzDrawArc[angles](B,E)(180,360)
+ \tkzDrawArc[angles](B,F)(220,340)
+ \tkzDrawLine[add=.5 and .5](B,I)
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircle[diameter](O,A)
+ \tkzDrawSegments(B,D C,A)
+ \tkzDrawPolygon[new](D,D1,D2,D3,D4)
+ \tkzDrawPoints(A,...,D,O)
+ \tkzDrawPoints[new](E,F,I,D1,D2,D4,D3)
+ \tkzLabelPoints(A,...,D,O)
+ \tkzLabelPoints[new](I,E,F,D1,D2,D4,D3)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(5,0){A}
+ \tkzDefPoint(0,5){B}
+ \tkzDefPoint(-5,0){C}
+ \tkzDefPoint(0,-5){D}
+ \tkzDefMidPoint(A,O) \tkzGetPoint{I}
+ \tkzInterLC(I,B)(I,A) \tkzGetPoints{F}{E}
+ \tkzInterCC(O,C)(B,E) \tkzGetPoints{D3}{D2}
+ \tkzInterCC(O,C)(B,F) \tkzGetPoints{D4}{D1}
+ \tkzDrawArc[angles](B,E)(180,360)
+ \tkzDrawArc[angles](B,F)(220,340)
+ \tkzDrawLine[add=.5 and .5](B,I)
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircle[diameter](O,A)
+ \tkzDrawSegments(B,D C,A)
+ \tkzDrawPolygon[new](D,D1,D2,D3,D4)
+ \tkzDrawPoints(A,...,D,O)
+ \tkzDrawPoints[new](E,F,I,D1,D2,D4,D3)
+ \tkzLabelPoints(A,...,D,O)
+ \tkzLabelPoints[new](I,E,F,D1,D2,D4,D3)
+\end{tikzpicture}
+
+ \newpage
+ \subsection{Pentagon in a square}
+ \begin{tikzpicture}
+ \node [mybox,title={Pentagon in a square}] (box){%
+ \begin{minipage}{0.90\textwidth}
+ {: \emph{To inscribe an equilateral and equiangular pentagon in a given square.
+ }}
+ \end{minipage}
+ };
+ \end{tikzpicture}%
+
+\begin{tkzexample}[code only, small]
+ \begin{tikzpicture}
+ \tkzDefPoint(-5,-5){A} \tkzDefPoint(0,0){O}
+ \tkzDefPoint(+5,-5){B} \tkzDefPoint(0,-5){F}
+ \tkzDefPoint(+5,0){F'} \tkzDefPoint(0,+5){E} \tkzDefPoint(-5,0){K}
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzInterLC(D,C)(E,B) \tkzGetSecondPoint{T}
+ \tkzDefMidPoint(D,T) \tkzGetPoint{I}
+ \tkzInterCC[with nodes](O,D,I)(E,D,I) \tkzGetSecondPoint{H}
+ \tkzInterLC(O,H)(O,E) \tkzGetSecondPoint{M}
+ \tkzInterCC(O,E)(E,M) \tkzGetFirstPoint{Q}
+ \tkzInterCC[with nodes](O,O,E)(Q,E,M) \tkzGetFirstPoint{P}
+ \tkzInterCC[with nodes](O,O,E)(P,E,M) \tkzGetFirstPoint{N}
+ \tkzCompass(O,H)
+ \tkzCompass(E,H)
+ \tkzDrawArc(E,B)(T)
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzDrawCircle(O,E)
+ \tkzDrawSegments[new](T,I O,H E,H E,F F',K)
+ \tkzDrawPoints(T,M,Q,P,N,I)
+ \tkzDrawPolygon[new](M,E,Q,P,N)
+ \tkzLabelPoints(A,B,O,N,P,Q,M,H)
+ \tkzLabelPoints[above right](C,D,E,I,T)
+\end{tikzpicture}
+\end{tkzexample}
+
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(-5,-5){A}
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(+5,-5){B}
+ \tkzDefPoint(0,-5){F}
+ \tkzDefPoint(+5,0){F'}
+ \tkzDefPoint(0,+5){E}
+ \tkzDefPoint(-5,0){K}
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzInterLC(D,C)(E,B) \tkzGetSecondPoint{T}
+ \tkzDefMidPoint(D,T) \tkzGetPoint{I}
+ \tkzInterCC[with nodes](O,D,I)(E,D,I) \tkzGetSecondPoint{H}
+ \tkzInterLC(O,H)(O,E) \tkzGetSecondPoint{M}
+ \tkzInterCC(O,E)(E,M) \tkzGetFirstPoint{Q}
+ \tkzInterCC[with nodes](O,O,E)(Q,E,M) \tkzGetFirstPoint{P}
+ \tkzInterCC[with nodes](O,O,E)(P,E,M) \tkzGetFirstPoint{N}
+ \tkzCompass(O,H)
+ \tkzCompass(E,H)
+ \tkzDrawArc(E,B)(T)
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzDrawCircle(O,E)
+ \tkzDrawSegments(T,I O,H E,H)
+ \tkzDrawSegments(E,F F',K)
+ \tkzDrawPoints(T,M,Q,P,N,I)
+ \tkzDrawPolygon[color=purple](M,E,Q,P,N)
+ \tkzLabelPoints(A,B,O,N,P,Q,M,H)
+ \tkzLabelPoints[above right](C,D,E,I,T)
+\end{tikzpicture}
+
+\newpage
+ \subsection{Hexagon Inscribed}
+ \begin{tikzpicture}
+ \node [mybox,title={Hexagon Inscribed}] (box){%
+ \begin{minipage}{0.90\textwidth}
+ {\emph{To inscribe a regular hexagon in a given equilateral triangle perfectly inside it (no boarders).
+ }}
+ \end{minipage}
+ };
+ \end{tikzpicture}%
+
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=.5]
+ \pgfmathsetmacro{\c}{6}
+ \tkzDefPoints{0/0/A,\c/0/B}
+ \tkzDefTriangle[equilateral](A,B)\tkzGetPoint{C}
+ \tkzDefTriangleCenter[centroid](A,B,C)
+ \tkzGetPoint{I}
+ \tkzDefPointBy[homothety=center A ratio 1./3](B)
+ \tkzGetPoint{c1}
+ \tkzInterLC(B,C)(I,c1) \tkzGetPoints{a1}{a2}
+ \tkzInterLC(A,C)(I,c1) \tkzGetPoints{b1}{b2}
+ \tkzInterLC(A,B)(I,c1) \tkzGetPoints{c1}{c2}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle[thin,orange](I,c1)
+ \tkzDrawPolygon[red,thick](a2,a1,b2,b1,c2,c1)
+ \end{tikzpicture}
+\end{tkzexample}
+
+Another solution
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+ \pgfmathsetmacro{\c}{6}
+ \tkzDefPoints{0/0/A,\c/0/B}
+ \tkzDefTriangle[equilateral](A,B)\tkzGetPoint{C}
+ \tkzDefTriangleCenter[centroid](A,B,C)
+ \tkzGetPoint{I}
+ \tkzDefPointsBy[rotation= center I%
+ angle 60](A,B,C){a,b,c}
+ \tkzDrawPolygon[fill=teal!20,opacity=.5](A,B,C)
+ \tkzDrawPolygon[fill=purple!20,opacity=.5](a,b,c)
+\end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsection{Power of a point with respect to a circle}
+
+\begin{tikzpicture}
+\node [mybox,title={Power of a point with respect to a circle}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{$\overline{MA} \times \overline{MB}={MT}^2={MO}^2-{OT}^2$} }
+\end{minipage}
+};
+\end{tikzpicture}%
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}
+ \pgfmathsetmacro{\r}{2}%
+ \pgfmathsetmacro{\xO}{6}%
+ \pgfmathsetmacro{\xE}{\xO-\r}%
+ \tkzDefPoints{0/0/M,\xO/0/O,\xE/0/E}
+ \tkzDefCircle[diameter](M,O)
+ \tkzGetPoint{I}
+ \tkzInterCC(I,O)(O,E) \tkzGetPoints{T}{T'}
+ \tkzDefShiftPoint[O](45:2){B}
+ \tkzInterLC(M,B)(O,E) \tkzGetPoints{A}{B}
+ \tkzDrawCircle(O,E)
+ \tkzDrawSemiCircle[dashed](I,O)
+ \tkzDrawLine(M,O)
+ \tkzDrawLines(M,T O,T M,B)
+ \tkzDrawPoints(A,B,T)
+ \tkzLabelPoints[above](A,B,O,M,T)
+\end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsection{Radical axis of two non-concentric circles}
+\begin{tikzpicture}
+\node [mybox,title={Radical axis of two non-concentric circles}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {From Wikipedia : \emph{In geometry, the radical axis of two non-concentric circles is the set of points whose power with respect to the circles are equal. For this reason the radical axis is also called the power line or power bisector of the two circles. The notation radical axis was used by the French mathematician M. Chasles as axe radical.
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,4/2/B,2/3/K}
+\tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,2)
+\tkzDrawCircle[R,dashed,new](K,3)
+\tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
+\tkzInterCC[R](B,2)(K,3) \tkzGetPoints{b}{b'}
+\tkzDrawLines[new,add=2 and 2](a,a')
+\tkzDrawLines[new,add=1 and 1](b,b')
+\tkzInterLL(a,a')(b,b') \tkzGetPoint{X}
+\tkzDefPointBy[projection= onto A--B](X) \tkzGetPoint{H}
+\tkzDrawPoints(A,B,H,X,a,b,a',b')
+\tkzDrawLine(A,B)
+\tkzDrawLine[add= 1 and 2,new](X,H)
+\tkzLabelPoints(A,B,H,X,a,b,a',b')
+\end{tikzpicture}
+
+\begin{tkzexample}[code only,small]
+ \begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/2/B,2/3/K}
+ \tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
+ \tkzInterCC[R](B,2)(K,3) \tkzGetPoints{b}{b'}
+ \tkzDrawLines[color=red,add=2 and 2](a,a')
+ \tkzDrawLines[color=red,add=1 and 1](b,b')
+ \tkzInterLL(a,a')(b,b') \tkzGetPoint{X}
+ \tkzDefPointBy[projection= onto A--B](X) \tkzGetPoint{H}
+ \tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,2)
+ \tkzDrawCircle[R,dashed,orange](K,3)
+ \tkzDrawPoints(A,B,H,X,a,b,a',b')
+ \tkzDrawLine(A,B)
+ \tkzDrawLine[add= 1 and 2](X,H)
+ \tkzLabelPoints(A,B,H,X,a,b,a',b')
+ \end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsection{External homothetic center}
+\begin{tikzpicture}
+\node [mybox,title={External homothetic center}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {From Wikipedia : \emph{ Given two nonconcentric circles, draw radii parallel and in the same direction. Then the line joining the extremities of the radii passes through a fixed point on the line of centers which divides that line externally in the ratio of radii. This point is called the external homothetic center, or external center of similitude (Johnson 1929, pp. 19-20 and 41).
+}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,4/2/B,2/3/K}
+\tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,2)
+\tkzDrawLine(A,B)
+\tkzDefShiftPoint[A](60:1){M}
+\tkzDefShiftPoint[B](60:2){M'}
+\tkzInterLL(A,B)(M,M') \tkzGetPoint{O}
+\tkzDefTangent[from = O](B,M') \tkzGetPoints{X}{T'}
+\tkzDefTangent[from = O](A,M) \tkzGetPoints{X}{T}
+\tkzDrawPoints(A,B,O,T,T',M,M')
+\tkzDrawLines[new](O,B O,T' O,M')
+\tkzDrawSegments[new](A,M B,M')
+\tkzLabelPoints(A,B,O,T,T',M,M')
+\end{tikzpicture}
+
+
+\begin{tkzexample}[code only,small]
+ \begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/2/B,2/3/K}
+ \tkzDefShiftPoint[A](60:1){M}
+ \tkzDefShiftPoint[B](60:2){M'}
+ \tkzInterLL(A,B)(M,M') \tkzGetPoint{O}
+ \tkzDefTangent[from = O](B,M') \tkzGetPoints{X}{T'}
+ \tkzDefTangent[from = O](A,M) \tkzGetPoints{X}{T}
+ \tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,2)
+ \tkzDrawLine(A,B)
+ \tkzDrawPoints(A,B,O,T,T',M,M')
+ \tkzDrawLines[new](O,B O,T' O,M')
+ \tkzDrawSegments[new](A,M B,M')
+ \tkzLabelPoints(A,B,O,T,T',M,M')
+ \end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsection{Tangent lines to two circles}
+
+\begin{tikzpicture}
+\node [mybox,title={Tangent lines to two circles}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{For two circles, there are generally four distinct lines that are tangent to both if the two circles are outside each other. For two of these, the external tangent lines, the circles fall on the same side of the line; the external tangent lines intersect in the external homothetic center}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tikzpicture}
+ \pgfmathsetmacro{\r}{1}%
+ \pgfmathsetmacro{\R}{2}%
+ \pgfmathsetmacro{\rt}{\R-\r}%
+ \tkzDefPoints{0/0/A,4/2/B,2/3/K}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{I}
+ \tkzInterLC[R](A,B)(B,\rt) \tkzGetPoints{E}{F}
+ \tkzInterCC(I,B)(B,F) \tkzGetPoints{a}{a'}
+ \tkzInterLC[R](B,a)(B,\R) \tkzGetPoints{X'}{T'}
+ \tkzDefTangent[at=T'](B) \tkzGetPoint{h}
+ \tkzInterLL(T',h)(A,B) \tkzGetPoint{O}
+ \tkzInterLC[R](O,T')(A,\r) \tkzGetPoints{T}{T}
+ \tkzDrawCircle[R](A,\r) \tkzDrawCircle[R](B,\R)
+ \tkzDrawCircle[R,orange](B,\rt) \tkzDrawCircle[orange,dashed](I,B)
+ \tkzDrawPoints(O,A,B,a,a',E,F,T',T)
+ \tkzDrawLines(O,B A,a B,T' A,T)
+ \tkzDrawLines[add= 1 and 8](T',h)
+ \tkzLabelPoints(O,A,B,a,a',E,F,T,T')
+\end{tikzpicture}
+
+\begin{tkzexample}[code only,small]
+ \begin{tikzpicture}
+ \pgfmathsetmacro{\r}{1}%
+ \pgfmathsetmacro{\R}{2}%
+ \pgfmathsetmacro{\rt}{\R-\r}%
+ \tkzDefPoints{0/0/A,4/2/B,2/3/K}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{I}
+ \tkzInterLC[R](A,B)(B,\rt) \tkzGetPoints{E}{F}
+ \tkzInterCC(I,B)(B,F) \tkzGetPoints{a}{a'}
+ \tkzInterLC[R](B,a)(B,\R) \tkzGetPoints{X'}{T'}
+ \tkzDefTangent[at=T'](B) \tkzGetPoint{h}
+ \tkzInterLL(T',h)(A,B) \tkzGetPoint{O}
+ \tkzInterLC[R](O,T')(A,\r) \tkzGetPoints{T}{T}
+ \tkzDrawCircle[R](A,\r) \tkzDrawCircle[R](B,\R)
+ \tkzDrawCircle[R,orange](B,\rt) \tkzDrawCircle[orange,dashed](I,B)
+ \tkzDrawPoints(O,A,B,a,a',E,F,T',T)
+ \tkzDrawLines(O,B A,a B,T' A,T)
+ \tkzDrawLines[add= 1 and 8](T',h)
+ \tkzLabelPoints(O,A,B,a,a',E,F,T,T')
+ \end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsection{Tangent lines to two circles with radical axis}
+
+\begin{tikzpicture}
+\node [mybox,title={Tangent lines to two circles with radical axis}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{As soon as two circles are not concentric, we can construct their radical axis, the set of points of equal power with respect to the two circles. We know that the radical axis is a line orthogonal to the line of the centers. Note that if we specify $P$ and $Q$ as the points of contact of one of the common exterior tangents with the two circles and $D$ and $E$ as the points of the circles outside [AB], then (DP) and (EQ) intersect on the radical axis of the two circles. We will show that this property is always true and that it allows us to construct common tangents, even when the circles have the same radius. }}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,4/2/B,2/3/K}
+\tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,3)
+\tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
+\tkzInterCC[R](B,3)(K,3) \tkzGetPoints{b}{b'}
+\tkzInterLL(a,a')(b,b') \tkzGetPoint{X}
+\tkzDefPointBy[projection= onto A--B](X) \tkzGetPoint{H}
+\tkzGetPoint{C}
+\tkzInterLC[R](A,B)(B,3) \tkzGetPoints{b1}{E}
+\tkzInterLC[R](A,B)(A,1) \tkzGetPoints{D}{a2}
+\tkzDefMidPoint(D,E) \tkzGetPoint{I}
+\tkzDrawCircle[orange](I,D)
+\tkzInterLC(X,H)(I,D) \tkzGetPoints{M'}{M}
+\tkzInterLC(M,D)(A,D) \tkzGetPoints{P'}{P}
+\tkzInterLC(M,E)(B,E) \tkzGetPoints{Q}{Q'}
+\tkzInterLL(P,Q)(A,B) \tkzGetPoint{O}
+\tkzDrawSegments[orange](A,P I,M B,Q)
+\tkzDrawPoints(A,B,D,E,M,I,O,P,Q,X,H)
+\tkzDrawLines(O,E M,D M,E O,Q)
+\tkzDrawLine[add= 3 and 4,orange](X,H)
+\tkzLabelPoints(A,B,D,E,M,I,O,P,Q,X,H)
+\end{tikzpicture}
+
+\begin{tkzexample}[code only,small]
+ \begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/2/B,2/3/K}
+ \tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,3)
+ \tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
+ \tkzInterCC[R](B,3)(K,3) \tkzGetPoints{b}{b'}
+ \tkzInterLL(a,a')(b,b') \tkzGetPoint{X}
+ \tkzDefPointBy[projection= onto A--B](X) \tkzGetPoint{H}
+ \tkzGetPoint{C}
+ \tkzInterLC[R](A,B)(B,3) \tkzGetPoints{b1}{E}
+ \tkzInterLC[R](A,B)(A,1) \tkzGetPoints{D}{a2}
+ \tkzDefMidPoint(D,E) \tkzGetPoint{I}
+ \tkzDrawCircle[orange](I,D)
+ \tkzInterLC(X,H)(I,D) \tkzGetPoints{M'}{M}
+ \tkzInterLC(M,D)(A,D) \tkzGetPoints{P'}{P}
+ \tkzInterLC(M,E)(B,E) \tkzGetPoints{Q}{Q'}
+ \tkzInterLL(P,Q)(A,B) \tkzGetPoint{O}
+ \tkzDrawSegments[orange](A,P I,M B,Q)
+ \tkzDrawPoints(A,B,D,E,M,I,O,P,Q,X,H)
+ \tkzDrawLines(O,E M,D M,E O,Q)
+ \tkzDrawLine[add= 3 and 4,orange](X,H)
+ \tkzLabelPoints(A,B,D,E,M,I,O,P,Q,X,H)
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+\newpage
+
+\subsection{Definition of a circle \_Apollonius\_}
+
+\begin{tikzpicture}
+\node [mybox,title={Definition of a circle \_Apollonius\_}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {From Wikipedia : \emph{Apollonius showed that a circle can be defined as the set of points in a plane that have a specified ratio of distances to two fixed points, known as foci. This Apollonian circle is the basis of the Apollonius pursuit problem. ... The solutions to this problem are sometimes called the circles of Apollonius.}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+Explanation
+
+A circle is the set of points in a plane that are equidistant from a given point O. The distance r from the center is called the radius, and the point O is called the center. It is the simplest definition but it is not the only one. Apollonius of Perga gives another definition :
+The set of all points whose distances from two fixed points are in a constant ratio is a circle.
+
+With \pkg{tkz-euclide} is easy to show you the last definition
+
+\subsubsection*{The code and the analyse}
+
+\begin{tkzexample}[code only, small]
+\documentclass{standalone}
+ % Excellent class to show the result and to verify the bounding box.
+\usepackage{tkz-euclide}
+ % no need to use \usetkzobj !
+\begin{document}
+\begin{tikzpicture}[scale=1.5]
+ % Firstly we defined two fixed point.
+ % The figure depends of these points and the ratio K
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(4,0){B}
+ % tkz-euclide.sty knows about the apollonius's circle
+ % with K=2 we search some points like I such as IA=2 x IB
+\tkzDefCircle[apollonius,K=2](A,B) \tkzGetPoint{K1}
+\tkzGetLength{rAp}
+\tkzDefPointOnCircle[angle=30,center=K1,radius=\rAp]
+\tkzGetPoint{I}
+\tkzDefPointOnCircle[angle=280,center=K1,radius=\rAp]
+\tkzGetPoint{J}
+\tkzDrawSegments[new](A,I I,B A,J J,B)
+\tkzDrawCircle[R,color = teal,fill=MidnightBlue!20,opacity=.4](K1,\rAp pt)
+\tkzDrawPoints(A,B,K1,I,J)
+\tkzDrawSegment(A,B)
+\tkzLabelPoints[below,font=\scriptsize](A,B,K1,I,J)
+\end{tikzpicture}
+\end{document}
+\end{tkzexample}
+
+\subsubsection*{The result}
+
+\begin{tikzpicture}[scale=1.5]
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(4,0){B}
+\tkzDefCircle[apollonius,K=2](A,B) \tkzGetPoint{K1}
+\tkzGetLength{rAp}
+\tkzDefPointOnCircle[angle=30,center=K1,radius=\rAp]
+\tkzGetPoint{I}
+\tkzDefPointOnCircle[angle=280,center=K1,radius=\rAp]
+\tkzGetPoint{J}
+\tkzDrawSegments[new](A,I I,B A,J J,B)
+\tkzDrawCircle[R,fill=teal!20,opacity=.4](K1,\rAp pt)
+\tkzDrawPoints(A,B,K1,I,J)
+\tkzDrawSegment(A,B)
+\tkzLabelPoints[below,font=\scriptsize](A,B,K1,I,J)
+\end{tikzpicture}
+
+\subsection{Application of Inversion : \tkzname{Pappus chain} }\label{pappus}
+\begin{tikzpicture}
+\node [mybox,title={Pappus chain}] (box){%
+\begin{minipage}{0.90\textwidth}
+From Wikipedia {\emph{In geometry, the Pappus chain is a ring of circles between two tangent circles investigated by Pappus of Alexandria in the 3rd century AD.}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+
+\begin{tkzexample}[vbox,small]
+ \pgfmathsetmacro{\xB}{6}%
+ \pgfmathsetmacro{\xC}{9}%
+ \pgfmathsetmacro{\xD}{(\xC*\xC)/\xB}%
+ \pgfmathsetmacro{\xJ}{(\xC+\xD)/2}%
+ \pgfmathsetmacro{\r}{\xD-\xJ}%
+ \pgfmathsetmacro{\nc}{16}%
+\begin{tikzpicture}[ultra thin]
+ \tkzDefPoints{0/0/A,\xB/0/B,\xC/0/C,\xD/0/D}
+ \tkzDrawCircle[diameter,fill=teal!20](A,C)
+ \tkzDrawCircle[diameter,fill=teal!30](A,B)
+ \foreach \i in {-\nc,...,0,...,\nc}
+ {\tkzDefPoint(\xJ,2*\r*\i){J}
+ \tkzDefPoint(\xJ,2*\r*\i-\r){H}
+ \tkzDefCircleBy[inversion = center A through C](J,H)
+ \tkzDrawCircle[diameter,fill=teal](tkzFirstPointResult,tkzSecondPointResult)}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Book of lemmas proposition 1 Archimedes}
+\begin{tikzpicture}
+\node [mybox,title={Book of lemmas proposition 1 Archimedes}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{If two circles touch at $A$, and if $[CD]$, $[EF]$ be parallel diameters in them, $A$, $C$ and $E$ are aligned.}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/O_1,0/1/O_2,0/3/A}
+ \tkzDefPoint(15:3){F}
+ \tkzInterLC(F,O_1)(O_1,A) \tkzGetSecondPoint{E}
+ \tkzDefLine[parallel=through O_2](E,F)
+ \tkzGetPoint{x}
+ \tkzInterLC(x,O_2)(O_2,A) \tkzGetPoints{D}{C}
+ \tkzDrawCircles(O_1,A O_2,A)
+ \tkzDrawSegments[new](O_1,A E,F C,D)
+ \tkzDrawSegments[purple](A,E A,F)
+ \tkzDrawPoints(A,O_1,O_2,E,F,C,D)
+ \tkzLabelPoints(A,O_1,O_2,E,F,C,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+$(CD) \parallel (EF)$ $(AO_1)$ is secant to these two lines so
+$\widehat{A0_2C} = \widehat{A0_1E}$.
+
+Since the triangles $AO_2C$ and $AO_1E$ are isosceles the angles at the base are equal $widehat{AC0_2} = \widehat{AE0_1} = \widehat{CA0_2} = \widehat{EA0_1}$. Thus $A$,$C$ and $E$ are aligned
+
+\subsection{Book of lemmas proposition 6 Archimedes}
+\begin{tikzpicture}
+\node [mybox,title={Book of lemmas proposition 6 Archimedes}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{Let $AC$, the diameter of a semicircle, be divided at $B$ so that $AC/AB =\phi$ or in any ratio]. Describe semicircles within the first semicircle and on $AB$, $BC$ as diameters, and suppose a circle drawn touching the all three semicircles. If $GH$ be the diameter of this circle, to find relation between $GH$ and $AC$.}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,12/0/C}
+ \tkzDefGoldenRatio(A,C) \tkzGetPoint{B}
+ \tkzDefMidPoint(A,C) \tkzGetPoint{O}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{O_1}
+ \tkzDefMidPoint(B,C) \tkzGetPoint{O_2}
+ \tkzDefExtSimilitudeCenter(O_1,A)(O_2,B) \tkzGetPoint{M_0}
+ \tkzDefIntSimilitudeCenter(O,A)(O_1,A) \tkzGetPoint{M_1}
+ \tkzDefIntSimilitudeCenter(O,C)(O_2,C) \tkzGetPoint{M_2}
+ \tkzInterCC(O_1,A)(M_2,C) \tkzGetFirstPoint{E}
+ \tkzInterCC(O_2,C)(M_1,A) \tkzGetSecondPoint{F}
+ \tkzInterCC(O,A)(M_0,B) \tkzGetFirstPoint{D}
+ \tkzInterLL(O_1,E)(O_2,F) \tkzGetPoint{O_3}
+ \tkzDefCircle[circum](E,F,B) \tkzGetPoint{0_4}
+ \tkzInterLC(A,D)(O_1,A) \tkzGetSecondPoint{I}
+ \tkzInterLC(C,D)(O_2,B) \tkzGetFirstPoint{K}
+ \tkzInterLC(A,D)(O_3,D) \tkzGetFirstPoint{G}
+ \tkzInterLC(C,D)(O_3,D) \tkzGetSecondPoint{H}
+ \tkzInterLL(C,G)(B,K) \tkzGetPoint{M}
+ \tkzInterLL(A,H)(B,I) \tkzGetPoint{L}
+ \tkzInterLL(L,G)(A,C) \tkzGetPoint{N}
+ \tkzInterLL(M,H)(A,C) \tkzGetPoint{P}
+ \tkzDrawCircles[red,thin](O_3,F)
+ \tkzDrawCircles[new,thin](0_4,B)
+ \tkzDrawSemiCircles[teal](O,C O_1,B O_2,C)
+ \tkzDrawSemiCircles[green](M_2,C)
+ \tkzDrawSemiCircles[green,swap](M_1,A)
+ \tkzDrawSegment(A,C)
+ \tkzDrawSegments[new](O_1,O_3 O_2,O_3)
+ \tkzDrawSegments[new,very thin](B,D A,D C,D G,H I,B K,B B,G B,H C,G A,H G,N H,P)
+ \tkzDrawPoints(A,B,C,M_1,M_2,E,O_3,F,D,0_4,O_1,O_2,I,K,G,H,L,P,N,M)
+ \tkzLabelPoints[font=\scriptsize](A,B,C,M_1,M_2,F,O_1,O_2,I,K,G,H,L,M,N)
+ \tkzLabelPoints[font=\scriptsize,right](E,O_3,D,0_4,P)
+\end{tikzpicture}
+
+
+Let $GH$ be the diameter of the circle which is parallel to $AC$, and let the circle touch the semicircles on $AC$, $AB$, $BC$ in $D$, $E$, $F$ respectively.
+
+Then, by Prop. 1 $A$,$G$ and $D$ are aligned, ainsi que $D$, $H$ and $C$.\\
+ For a like reason $A$ $E$ and $H$ are aligned, $C$ $F$ and $G$are aligned, as also are $B$ $E$ and $G$, $B$ $F$ and $H$.
+
+Let $(AD)$ meet the semicircle on $[AC]$ at $I$, and let $(BD)$ meet the semicircle on $[BC]$ in $K$. Join CI, CK meeting AE, BF in L, M, and let GL, HM produced meet AB in N, P respectively.
+
+Now, in the triangle $AGB$, the perpendiculars from $A$, $C$ on the opposite sides meet in $L$. Therefore by the properties of triangles, $(GN)$ is perpendicular to $(AC)$.
+Similarly $(HP)$ is perpendicular to $(BC)$.\\
+Again, since the angles at $I$, $K$, $D$ are right, $(CK)$ is parallel to $(AD)$, and $(CI)$ to $(BD)$.
+
+ Therefore\\
+\[\frac{AB}{BC} = \frac{AL}{LH} = \frac{AN}{NP} \quad\text{and} \quad \frac{BC}{AB} = \frac{CM}{MG} = \frac{PC}{NP} \]
+
+hence
+
+\[ \frac{AN}{NP} = \frac{NP}{PC} \quad\text{so} \quad {NP}^2 = AN \times PC \]
+
+Now suppose that $B$ divides $[AC]$ according to the divine proportion that is :
+\[\phi = \frac{AB}{BC} = \frac{AC}{AB} \quad\text{then} \quad AN = \phi NP \text{and} NP = \phi PC \]
+
+We have
+\[ AC = AN + NP + PC\quad \text{either} \quad AB + BC = = AN + NP + PC \quad \text{or} \quad (\phi + 1) BC = AN + NP + PC \]
+
+we get
+
+\[ (\phi + 1) BC = \phi NP + NP + PC =(\phi + 1)NP + PC = \phi(\phi + 1)PC + PC = {\phi}^2 + \phi + 1)PC \]
+
+as
+\[ {\phi}^2 = \phi + 1 \quad \text{then} \quad (\phi + 1) BC = 2(\phi + 1) PC \quad\text{i.e.}\quad BC = 2 PC \]
+
+That is,
+$p$ is the middle of the segment $BC$.
+
+Part of the proof from \url{https://www.cut-the-knot.org}
+
+
+\subsection{ "The" Circle of APOLLONIUS}
+
+\begin{tikzpicture}
+\node [mybox,title={The Apollonius circle of a triangle \_Apollonius\_}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{The circle which touches all three excircles of a triangle and encompasses them is often known as "the" Apollonius circle (Kimberling 1998, p. 102)}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+Explanation
+
+The purpose of the first examples was to show the simplicity with which we could recreate these propositions. With TikZ you need to do calculations and use trigonometry while with \pkg{tkz-euclide} you only need to build simple objects
+
+But don't forget that behind or far above \pkg{tkz-euclide} there is TikZ. I'm only creating an interface between TikZ and the user of my package.
+
+The last example is very complex and it is to show you all that we can do with \pkg{tkz-euclide}.
+
+\subsubsection*{The code and the analyse}
+
+\begin{tkzexample}[code only,small]
+% !TEX TS-program = lualatex
+\documentclass{standalone}
+\usepackage{tkz-euclide}
+\begin{document}
+
+\begin{tikzpicture}[scale=1]
+\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
+% we need some special points if the triangle, tkz-euclide.sty knows about them
+
+\tkzDefTriangleCenter[euler](A,B,C) \tkzGetPoint{N} % or \tkzEulerCenter(A,B,C)
+\tkzDefTriangleCenter[circum](A,B,C) \tkzGetPoint{O} % \tkzCircumCenter(A,B,C)
+\tkzDefTriangleCenter[lemoine](A,B,C) \tkzGetPoint{K}
+\tkzDefTriangleCenter[ortho](A,B,C) \tkzGetPoint{H}
+
+ % \tkzDefSpcTriangle new macro to define new triangle in relation wth ABC
+\tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
+\tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
+\tkzDefCircle[in](Ma,Mb,Mc) \tkzGetPoint{Sp} % Sp Spieker center
+
+% here I used the definition but tkz-euclide knows this point
+% \tkzDefTriangleCenter[spieker](A,B,C) \tkzGetPoint{Sp}
+% each center has three projections on the sides of the triangle ABC
+% We can do this with one macro
+\tkzDefProjExcenter[name=J](A,B,C)(a,b,c){Y,Z,X}
+
+% but possible is
+% \tkzDefPointBy[projection=onto A--C ](Ja) \tkzGetPoint{Za}
+\tkzDefLine[parallel=through Za](A,B) \tkzGetPoint{Xc}
+\tkzInterLL(Za,Xc)(C,B) \tkzGetPoint{C'}
+\tkzDefLine[parallel=through Zc](B,C) \tkzGetPoint{Ya}
+\tkzInterLL(Zc,Ya)(A,B) \tkzGetPoint{A'}
+\tkzDefPointBy[reflection= over Ja--Jc](C')\tkzGetPoint{Ab}
+\tkzDefPointBy[reflection= over Ja--Jc](A')\tkzGetPoint{Cb}
+
+% Now we can get the center of THE CIRCLE : Q
+% BUT we need to find the radius or a point on the circle
+\tkzInterLL(K,O)(N,Sp) \tkzGetPoint{Q}
+\tkzInterLC(A,B)(Q,Cb) \tkzGetSecondPoint{Ba}
+\tkzInterLC(A,C)(Q,Cb) \tkzGetPoints{Ca}{Ac}
+\tkzInterLC(B,C')(Q,Cb) \tkzGetSecondPoint{Bc}
+\tkzInterLC(Q,Ja)(Q,Cb) \tkzGetSecondPoint{F'a}
+\tkzInterLC(Q,Jc)(Q,Cb) \tkzGetSecondPoint{F'c}
+\tkzInterLC(Q,Jb)(Q,Cb) \tkzGetSecondPoint{F'b}
+\tkzInterLC(Sp,F'a)(Ja,Za) \tkzGetFirstPoint{Fa}
+\tkzInterLC(Sp,F'b)(Jb,Yb) \tkzGetFirstPoint{Fb}
+\tkzInterLC(Sp,F'c)(Jc,Yc) \tkzGetSecondPoint{Fc}
+\tkzInterLC(Mc,Sp)(Q,Cb) \tkzGetSecondPoint{A''}
+\tkzDefLine[parallel=through A''](N,Mc) \tkzGetPoint{q}
+
+% Calculations are done, now you can draw, mark and label
+\tkzDrawPolygon(A,B,C)
+\tkzDrawCircle(Q,Bc)%
+\tkzDrawCircle[euler,lightgray](A,B,C)
+\tkzDrawCircles[ex](A,B,C B,C,A C,A,B)
+\tkzDrawSegments[dashed](A,A' C,C' A',Zc Za,C' B,Cb B,Ab A,Ca C,Ac
+ Ja,Xa Jb,Yb Jc,Zc)
+\begin{scope}
+ \tkzClipCircle(Q,Cb) % We limit the drawing of the lines
+ \tkzDrawLine[add=5 and 12,orange](K,O)
+ \tkzDrawLine[add=12 and 28,red!50!black](N,Sp)
+\end{scope}
+\tkzDrawPoints(A,B,C,K,Ja,Jb,Jc,Q,N,O,Sp,Mc,Xa,Xb,Yb,Yc,Za,Zc)
+\tkzDrawPoints(A',C',A'',Ab,Cb,Bc,Ca,Ac,Ba,Fa,Fb,Fc,F'a,F'b,F'c)
+\tkzLabelPoints(Ja,Jb,Jc,Q,Xa,Xb,Za,Zc,Ab,Cb,Bc,Ca,Ac,Ba,F'b)
+\tkzLabelPoints[above](O,K,F'a,Fa,A'')
+\tkzLabelPoints[below](B,F'c,Yc,N,Sp,Fc,Mc)
+\tkzLabelPoints[left](A',C',Fb)
+\tkzLabelPoints[right](C)
+\tkzLabelPoints[below right](A)
+\tkzLabelPoints[above right](Yb)
+\tkzDrawSegments[color=green!50!black](Mc,N Mc,A'' A'',Q)
+\tkzDrawSegments[color=red,dashed](Ac,Ab Ca,Cb Ba,Bc Ja,Jc A',Cb C',Ab)
+\tkzDrawSegments[color=red](Cb,Ab Bc,Ac Ba,Ca A',C')
+\tkzMarkSegments[color=red,mark=|](Cb,Ab Bc,Ac Ba,Ca)
+\tkzMarkRightAngles(Jc,Zc,A Ja,Xa,B Jb,Yb,C)
+\tkzDrawSegments[green,dashed](A,F'a B,F'b C,F'c)
+\end{tikzpicture}
+
+\end{document}
+\end{tkzexample}
+
+\subsubsection*{The result}
+%
+\begin{tikzpicture}[scale=.6]
+ \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
+ \tkzDefTriangleCenter[euler](A,B,C) \tkzGetPoint{N}
+ \tkzDefTriangleCenter[circum](A,B,C) \tkzGetPoint{O}
+ \tkzDefTriangleCenter[lemoine](A,B,C) \tkzGetPoint{K}
+ \tkzDefTriangleCenter[ortho](A,B,C) \tkzGetPoint{H}
+ \tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
+ \tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
+ \tkzDefCircle[in](Ma,Mb,Mc) \tkzGetPoint{Sp} % Sp Spieker center
+ \tkzDefProjExcenter[name=J](A,B,C)(a,b,c){Y,Z,X}
+ \tkzDefLine[parallel=through Za](A,B) \tkzGetPoint{Xc}
+ \tkzInterLL(Za,Xc)(C,B) \tkzGetPoint{C'}
+ \tkzDefLine[parallel=through Zc](B,C) \tkzGetPoint{Ya}
+ \tkzInterLL(Zc,Ya)(A,B) \tkzGetPoint{A'}
+ \tkzDefPointBy[reflection= over Ja--Jc](C')\tkzGetPoint{Ab}
+ \tkzDefPointBy[reflection= over Ja--Jc](A')\tkzGetPoint{Cb}
+ \tkzInterLL(K,O)(N,Sp) \tkzGetPoint{Q}
+ \tkzInterLC(A,B)(Q,Cb) \tkzGetSecondPoint{Ba}
+ \tkzInterLC(A,C)(Q,Cb) \tkzGetPoints{Ca}{Ac}
+ \tkzInterLC(B,C')(Q,Cb) \tkzGetSecondPoint{Bc}
+ \tkzInterLC(Q,Ja)(Q,Cb) \tkzGetSecondPoint{F'a}
+ \tkzInterLC(Q,Jc)(Q,Cb) \tkzGetSecondPoint{F'c}
+ \tkzInterLC(Q,Jb)(Q,Cb) \tkzGetSecondPoint{F'b}
+ \tkzInterLC(Sp,F'a)(Ja,Za) \tkzGetFirstPoint{Fa}
+ \tkzInterLC(Sp,F'b)(Jb,Yb) \tkzGetFirstPoint{Fb}
+ \tkzInterLC(Sp,F'c)(Jc,Yc) \tkzGetSecondPoint{Fc}
+ \tkzInterLC(Mc,Sp)(Q,Cb) \tkzGetSecondPoint{A''}
+ \tkzDefLine[parallel=through A''](N,Mc) \tkzGetPoint{q}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle(Q,Bc)%
+ \tkzDrawCircle[euler,lightgray](A,B,C)
+ \tkzDrawCircles[ex](A,B,C B,C,A C,A,B)
+ \tkzDrawSegments[dashed](A,A' C,C' A',Zc Za,C' B,Cb B,Ab A,Ca C,Ac Ja,Xa Jb,Yb Jc,Zc)
+ \begin{scope}
+ \tkzClipCircle(Q,Cb)
+ \tkzDrawLine[add=5 and 12,orange](K,O)
+ \tkzDrawLine[add=12 and 28,red!50!black](N,Sp)
+ \end{scope}
+ \tkzDrawSegments[color=green!50!black](Mc,N Mc,A'' A'',Q)
+ \tkzDrawSegments[color=red,dashed](Ac,Ab Ca,Cb Ba,Bc Ja,Jc A',Cb C',Ab)
+ \tkzDrawSegments[color=red](Cb,Ab Bc,Ac Ba,Ca A',C')
+ \tkzMarkSegments[color=red,mark=|](Cb,Ab Bc,Ac Ba,Ca)
+ \tkzMarkRightAngles(Jc,Zc,A Ja,Xa,B Jb,Yb,C)
+ \tkzDrawSegments[green,dashed](A,F'a B,F'b C,F'c)
+ \tkzDrawPoints(A,B,C,K,Ja,Jb,Jc,Q,N,O,Sp,Mc,Xa,Xb,Yb,Yc,Za,Zc,
+ A',C',A'',Ab,Cb,Bc,Ca,Ac,Ba,Fa,Fb,Fc,F'a,F'b,F'c)
+ \tkzLabelPoints(Ja,Jb,Jc,Q,Xa,Xb,Za,Zc,Ab,Cb,
+ Bc, Ca, Ac, Ba, F'b)
+ \tkzLabelPoints[above](O, K, F'a, Fa, A'')
+ \tkzLabelPoints[below](B, F'c, Yc, N, Sp, Fc, Mc)
+ \tkzLabelPoints[left](A', C', Fb)
+ \tkzLabelPoints[right](C)
+ \tkzLabelPoints[below right](A)
+ \tkzLabelPoints[above right](Yb)
+\end{tikzpicture}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-exemples.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-exemples.tex
deleted file mode 100644
index fb591ba5e0..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-exemples.tex
+++ /dev/null
@@ -1,539 +0,0 @@
-\section{Some examples}
-\subsection{Some interesting examples}
-
-\subsubsection{Similar isosceles triangles}
-
-The following is from the excellent site \textbf{Descartes et les Mathématiques}. I did not modify the text and I am only the author of the programming of the figures.
-
-\url{http://debart.pagesperso-orange.fr/seconde/triangle.html}
-
-Bibliography:
-
-\begin{itemize}
-
-\item Géométrie au Bac - Tangente, special issue no. 8 - Exercise 11, page 11
-
-
-\item Elisabeth Busser and Gilles Cohen: 200 nouveaux problèmes du "Monde" - POLE 2007 (200 new problems of "Le Monde")
-
-
-\item Affaire de logique n° 364 - Le Monde February 17, 2004
-\end{itemize}
-
-
-Two statements were proposed, one by the magazine \textit{Tangente} and the other by \textit{Le Monde}.
-
-\vspace*{2cm}
-\emph{Editor of the magazine "Tangente"}: \textcolor{orange}{Two similar isosceles triangles $AXB$ and $BYC$ are constructed with main vertices $X$ and $Y$, such that $A$, $B$ and $C$ are aligned and that these triangles are "indirect". Let $\alpha$ be the angle at vertex $\widehat{AXB}$ = $\widehat{BYC}$. We then construct a third isosceles triangle $XZY$ similar to the first two, with main vertex $Z$ and "indirect".
-We ask to demonstrate that point $Z$ belongs to the straight line $(AC)$.}
-
-\vspace*{2cm}
-\emph{Editor of "Le Monde"}: \textcolor{orange}{We construct two similar isosceles triangles $AXB$ and $BYC$ with principal vertices $X$ and $Y$, such that $A$, $B$ and $C$ are aligned and that these triangles are "indirect". Let $\alpha$ be the angle at vertex $\widehat{AXB}$ = $\widehat{BYC}$. The point Z of the line segment $[AC]$ is equidistant from the two vertices $X$ and $Y$.\\
-At what angle does he see these two vertices?}
-
-\vspace*{2cm} The constructions and their associated codes are on the next two pages, but you can search before looking. The programming respects (it seems to me ...) my reasoning in both cases.
-
- \subsubsection{Revised version of "Tangente"}
-\begin{tkzexample}[]
-\begin{tikzpicture}[scale=.8,rotate=60]
- \tkzDefPoint(6,0){X} \tkzDefPoint(3,3){Y}
- \tkzDefShiftPoint[X](-110:6){A} \tkzDefShiftPoint[X](-70:6){B}
- \tkzDefShiftPoint[Y](-110:4.2){A'} \tkzDefShiftPoint[Y](-70:4.2){B'}
- \tkzDefPointBy[translation= from A' to B ](Y) \tkzGetPoint{Y}
- \tkzDefPointBy[translation= from A' to B ](B') \tkzGetPoint{C}
- \tkzInterLL(A,B)(X,Y) \tkzGetPoint{O}
- \tkzDefMidPoint(X,Y) \tkzGetPoint{I}
- \tkzDefPointWith[orthogonal](I,Y)
- \tkzInterLL(I,tkzPointResult)(A,B) \tkzGetPoint{Z}
- \tkzDefCircle[circum](X,Y,B) \tkzGetPoint{O}
- \tkzDrawCircle(O,X)
- \tkzDrawLines[add = 0 and 1.5](A,C) \tkzDrawLines[add = 0 and 3](X,Y)
- \tkzDrawSegments(A,X B,X B,Y C,Y) \tkzDrawSegments[color=red](X,Z Y,Z)
- \tkzDrawPoints(A,B,C,X,Y,O,Z)
- \tkzLabelPoints(A,B,C,Z) \tkzLabelPoints[above right](X,Y,O)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{"Le Monde" version}
-
-\begin{tkzexample}[]
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,0){B}
- \tkzDefPoint(9,0){C}
- \tkzDefPoint(1.5,2){X}
- \tkzDefPoint(6,4){Y}
- \tkzDefCircle[circum](X,Y,B) \tkzGetPoint{O}
- \tkzDefMidPoint(X,Y) \tkzGetPoint{I}
- \tkzDefPointWith[orthogonal](I,Y) \tkzGetPoint{i}
- \tkzDrawLines[add = 2 and 1,color=orange](I,i)
- \tkzInterLL(I,i)(A,B) \tkzGetPoint{Z}
- \tkzInterLC(I,i)(O,B) \tkzGetSecondPoint{M}
- \tkzDefPointWith[orthogonal](B,Z) \tkzGetPoint{b}
- \tkzDrawCircle(O,B)
- \tkzDrawLines[add = 0 and 2,color=orange](B,b)
- \tkzDrawSegments(A,X B,X B,Y C,Y A,C X,Y)
- \tkzDrawSegments[color=red](X,Z Y,Z)
- \tkzDrawPoints(A,B,C,X,Y,Z,M,I)
- \tkzLabelPoints(A,B,C,Z)
- \tkzLabelPoints[above right](X,Y,M,I)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Triangle altitudes}
-
-The following is again from the excellent site \textbf{Descartes et les Mathématiques} (Descartes and the Mathematics).
-
-\url{http://debart.pagesperso-orange.fr/geoplan/geometrie_triangle.html}
-
-The three altitudes of a triangle intersect at the same H-point.
-
-\begin{tkzexample}[latex=7cm]
-\begin{tikzpicture}[scale=.8]
- \tkzDefPoint(0,0){C}
- \tkzDefPoint(7,0){B}
- \tkzDefPoint(5,6){A}
- \tkzDrawPolygon(A,B,C)
- \tkzDefMidPoint(C,B)
- \tkzGetPoint{I}
- \tkzDrawArc(I,B)(C)
- \tkzInterLC(A,C)(I,B)
- \tkzGetSecondPoint{B'}
- \tkzInterLC(A,B)(I,B)
- \tkzGetFirstPoint{C'}
- \tkzInterLL(B,B')(C,C')
- \tkzGetPoint{H}
- \tkzInterLL(A,H)(C,B)
- \tkzGetPoint{A'}
- \tkzDefCircle[circum](A,B',C')
- \tkzGetPoint{O}
- \tkzDrawCircle[color=red](O,A)
- \tkzDrawSegments[color=orange](B,B' C,C' A,A')
- \tkzMarkRightAngles(C,B',B B,C',C C,A',A)
- \tkzDrawPoints(A,B,C,A',B',C',H)
- \tkzLabelPoints(A,B,C,A',B',C',H)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Altitudes - other construction}
-
-\begin{tkzexample}[latex=7cm]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(8,0){B}
- \tkzDefPoint(3.5,10){C}
- \tkzDefMidPoint(A,B)
- \tkzGetPoint{O}
- \tkzDefPointBy[projection=onto A--B](C)
- \tkzGetPoint{P}
- \tkzInterLC(C,A)(O,A)
- \tkzGetSecondPoint{M}
- \tkzInterLC(C,B)(O,A)
- \tkzGetFirstPoint{N}
- \tkzInterLL(B,M)(A,N)
- \tkzGetPoint{I}
- \tkzDrawCircle[diameter](A,B)
- \tkzDrawSegments(C,A C,B A,B B,M A,N)
- \tkzMarkRightAngles[fill=brown!20](A,M,B A,N,B A,P,C)
- \tkzDrawSegment[style=dashed,color=orange](C,P)
- \tkzLabelPoints(O,A,B,P)
- \tkzLabelPoint[left](M){$M$}
- \tkzLabelPoint[right](N){$N$}
- \tkzLabelPoint[above](C){$C$}
- \tkzLabelPoint[above right](I){$I$}
- \tkzDrawPoints[color=red](M,N,P,I)
- \tkzDrawPoints[color=brown](O,A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Different authors}
-
-\subsubsection{ Square root of the integers}
-How to get $1$, $\sqrt{2}$, $\sqrt{3}$ with a rule and a compass.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,0){a0}
- \tkzDrawSegment[blue](O,a0)
- \foreach \i [count=\j] in {0,...,10}{%
- \tkzDefPointWith[orthogonal normed](a\i,O)
- \tkzGetPoint{a\j}
- \tkzDrawPolySeg[color=blue](a\i,a\j,O)}
- \end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{About right triangle}
-
-We have a segment $[AB]$ and we want to determine a point $C$ such that $AC=8$~cm and $ABC$ is a right triangle in $B$.
-
-\begin{tkzexample}[latex=7cm]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint["$A$" left](2,1){A}
- \tkzDefPoint(6,4){B}
- \tkzDrawSegment(A,B)
- \tkzDrawPoint[color=red](A)
- \tkzDrawPoint[color=red](B)
- \tkzDefPointWith[orthogonal,K=-1](B,A)
- \tkzDrawLine[add = .5 and .5](B,tkzPointResult)
- \tkzInterLC[R](B,tkzPointResult)(A,8 cm)
- \tkzGetPoints{C}{J}
- \tkzDrawPoint[color=red](C)
- \tkzCompass(A,C)
- \tkzMarkRightAngle(A,B,C)
- \tkzDrawLine[color=gray,style=dashed](A,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Archimedes}
-
-This is an ancient problem proved by the great Greek mathematician Archimedes .
-The figure below shows a semicircle, with diameter $AB$. A tangent line is drawn and touches the semicircle at $B$. An other tangent line at a point, $C$, on the semicircle is drawn. We project the point $C$ on the line segment $[AB]$ on a point $D$. The two tangent lines intersect at the point $T$.
-
-Prove that the line $(AT)$ bisects $(CD)$
-
-\begin{tkzexample}[]
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A}\tkzDefPoint(6,0){D}
- \tkzDefPoint(8,0){B}\tkzDefPoint(4,0){I}
- \tkzDefLine[orthogonal=through D](A,D)
- \tkzInterLC[R](D,tkzPointResult)(I,4 cm) \tkzGetFirstPoint{C}
- \tkzDefLine[orthogonal=through C](I,C) \tkzGetPoint{c}
- \tkzDefLine[orthogonal=through B](A,B) \tkzGetPoint{b}
- \tkzInterLL(C,c)(B,b) \tkzGetPoint{T}
- \tkzInterLL(A,T)(C,D) \tkzGetPoint{P}
- \tkzDrawArc(I,B)(A)
- \tkzDrawSegments(A,B A,T C,D I,C) \tkzDrawSegment[color=orange](I,C)
- \tkzDrawLine[add = 1 and 0](C,T) \tkzDrawLine[add = 0 and 1](B,T)
- \tkzMarkRightAngle(I,C,T)
- \tkzDrawPoints(A,B,I,D,C,T)
- \tkzLabelPoints(A,B,I,D) \tkzLabelPoints[above right](C,T)
- \tkzMarkSegment[pos=.25,mark=s|](C,D) \tkzMarkSegment[pos=.75,mark=s|](C,D)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example: Dimitris Kapeta}
-
-You need in this example to use \tkzname{mkpos=.2} with \tkzcname{tkzMarkAngle} because the measure of $ \widehat{CAM}$ is too small.
-Another possiblity is to use \tkzcname{tkzFillAngle}.
-
-
-\begin{tkzexample}[]
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2.5,0){N}
- \tkzDefPoint(-4.2,0.5){M}
- \tkzDefPointBy[rotation=center O angle 30](N)
- \tkzGetPoint{B}
- \tkzDefPointBy[rotation=center O angle -50](N)
- \tkzGetPoint{A}
- \tkzInterLC(M,B)(O,N) \tkzGetFirstPoint{C}
- \tkzInterLC(M,A)(O,N) \tkzGetSecondPoint{A'}
- \tkzMarkAngle[mkpos=.2, size=0.5](A,C,B)
- \tkzMarkAngle[mkpos=.2, size=0.5](A,M,C)
- \tkzDrawSegments(A,C M,A M,B)
- \tkzDrawCircle(O,N)
- \tkzLabelCircle[above left](O,N)(120){$\mathcal{C}$}
- \tkzMarkAngle[mkpos=.2, size=1.2](C,A,M)
- \tkzDrawPoints(O, A, B, M, B, C)
- \tkzLabelPoints[right](O,A,B)
- \tkzLabelPoints[above left](M,C)
- \tkzLabelPoint[below left](A'){$A'$}
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Example 1: John Kitzmiller }
-
-Prove that $\bigtriangleup LKJ$ is equilateral.
-
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=2]
- \tkzDefPoint[label=below left:A](0,0){A}
- \tkzDefPoint[label=below right:B](6,0){B}
- \tkzDefTriangle[equilateral](A,B) \tkzGetPoint{C}
- \tkzMarkSegments[mark=|](A,B A,C B,C)
- \tkzDefBarycentricPoint(A=1,B=2) \tkzGetPoint{C'}
- \tkzDefBarycentricPoint(A=2,C=1) \tkzGetPoint{B'}
- \tkzDefBarycentricPoint(C=2,B=1) \tkzGetPoint{A'}
- \tkzInterLL(A,A')(C,C') \tkzGetPoint{J}
- \tkzInterLL(C,C')(B,B') \tkzGetPoint{K}
- \tkzInterLL(B,B')(A,A') \tkzGetPoint{L}
- \tkzLabelPoint[above](C){C}
- \tkzDrawPolygon(A,B,C) \tkzDrawSegments(A,J B,L C,K)
- \tkzMarkAngles[size=1 cm](J,A,C K,C,B L,B,A)
- \tkzMarkAngles[thick,size=1 cm](A,C,J C,B,K B,A,L)
- \tkzMarkAngles[opacity=.5](A,C,J C,B,K B,A,L)
- \tkzFillAngles[fill= orange,size=1 cm,opacity=.3](J,A,C K,C,B L,B,A)
- \tkzFillAngles[fill=orange, opacity=.3,thick,size=1,](A,C,J C,B,K B,A,L)
- \tkzFillAngles[fill=green, size=1, opacity=.5](A,C,J C,B,K B,A,L)
- \tkzFillPolygon[color=yellow, opacity=.2](J,A,C)
- \tkzFillPolygon[color=yellow, opacity=.2](K,B,C)
- \tkzFillPolygon[color=yellow, opacity=.2](L,A,B)
- \tkzDrawSegments[line width=3pt,color=cyan,opacity=0.4](A,J C,K B,L)
- \tkzDrawSegments[line width=3pt,color=red,opacity=0.4](A,L B,K C,J)
- \tkzMarkSegments[mark=o](J,K K,L L,J)
- \tkzLabelPoint[right](J){J}
- \tkzLabelPoint[below](K){K}
- \tkzLabelPoint[above left](L){L}
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example 2: John Kitzmiller }
-Prove that $\dfrac{AC}{CE}=\dfrac{BD}{DF}$.
-
-Another interesting example from John, you can see how to use some extra options like \tkzname{decoration} and \tkzname{postaction} from \TIKZ\ with \tkzname{tkz-euclide}.
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=2,decoration={markings,
- mark=at position 3cm with {\arrow[scale=2]{>}}}]
- \tkzDefPoints{0/0/E, 6/0/F, 0/1.8/P, 6/1.8/Q, 0/3/R, 6/3/S}
- \tkzDrawLines[postaction={decorate}](E,F P,Q R,S)
- \tkzDefPoints{3.5/3/A, 5/3/B}
- \tkzDrawSegments(E,A F,B)
- \tkzInterLL(E,A)(P,Q) \tkzGetPoint{C}
- \tkzInterLL(B,F)(P,Q) \tkzGetPoint{D}
- \tkzLabelPoints[above right](A,B)
- \tkzLabelPoints[below](E,F)
- \tkzLabelPoints[above left](C)
- \tkzDrawSegments[style=dashed](A,F)
- \tkzInterLL(A,F)(P,Q) \tkzGetPoint{G}
- \tkzLabelPoints[above right](D,G)
- \tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](A,C A,G)
- \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](C,E G,F)
- \tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](B,D)
- \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](D,F)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example 3: John Kitzmiller }
-Prove that $\dfrac{BC}{CD}=\dfrac{AB}{AD} \qquad$ (Angle Bisector).
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=2]
- \tkzDefPoints{0/0/B, 5/0/D} \tkzDefPoint(70:3){A}
- \tkzDrawPolygon(B,D,A)
- \tkzDefLine[bisector](B,A,D) \tkzGetPoint{a}
- \tkzInterLL(A,a)(B,D) \tkzGetPoint{C}
- \tkzDefLine[parallel=through B](A,C) \tkzGetPoint{b}
- \tkzInterLL(A,D)(B,b) \tkzGetPoint{P}
- \begin{scope}[decoration={markings,
- mark=at position .5 with {\arrow[scale=2]{>}}}]
- \tkzDrawSegments[postaction={decorate},dashed](C,A P,B)
- \end{scope}
- \tkzDrawSegment(A,C) \tkzDrawSegment[style=dashed](A,P)
- \tkzLabelPoints[below](B,C,D) \tkzLabelPoints[above](A,P)
- \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](B,C P,A)
- \tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](C,D A,D)
- \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](A,B)
- \tkzMarkAngles[size=3mm](B,A,C C,A,D)
- \tkzMarkAngles[size=3mm](B,A,C A,B,P)
- \tkzMarkAngles[size=3mm](B,P,A C,A,D)
- \tkzMarkAngles[size=3mm](B,A,C A,B,P B,P,A C,A,D)
- \tkzFillAngles[fill=green, opacity=0.5](B,A,C A,B,P)
- \tkzFillAngles[fill=yellow, opacity=0.3](B,P,A C,A,D)
- \tkzFillAngles[fill=green, opacity=0.6](B,A,C A,B,P B,P,A C,A,D)
- \tkzLabelAngle[pos=1](B,A,C){1} \tkzLabelAngle[pos=1](C,A,D){2}
- \tkzLabelAngle[pos=1](A,B,P){3} \tkzLabelAngle[pos=1](B,P,A){4}
- \tkzMarkSegments[mark=|](A,B A,P)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Example 4: author John Kitzmiller }
-Prove that $\overline{AG}\cong\overline{EF} \qquad$ (Detour).
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=2]
- \tkzDefPoint(0,3){A} \tkzDefPoint(6,3){E} \tkzDefPoint(1.35,3){B}
- \tkzDefPoint(4.65,3){D} \tkzDefPoint(1,1){G} \tkzDefPoint(5,5){F}
- \tkzDefMidPoint(A,E) \tkzGetPoint{C}
- \tkzFillPolygon[yellow, opacity=0.4](B,G,C)
- \tkzFillPolygon[yellow, opacity=0.4](D,F,C)
- \tkzFillPolygon[blue, opacity=0.3](A,B,G)
- \tkzFillPolygon[blue, opacity=0.3](E,D,F)
- \tkzMarkAngles[size=0.5 cm](B,G,A D,F,E)
- \tkzMarkAngles[size=0.5 cm](B,C,G D,C,F)
- \tkzMarkAngles[size=0.5 cm](G,B,C F,D,C)
- \tkzMarkAngles[size=0.5 cm](A,B,G E,D,F)
- \tkzFillAngles[size=0.5 cm,fill=green](B,G,A D,F,E)
- \tkzFillAngles[size=0.5 cm,fill=orange](B,C,G D,C,F)
- \tkzFillAngles[size=0.5 cm,fill=yellow](G,B,C F,D,C)
- \tkzFillAngles[size=0.5 cm,fill=red](A,B,G E,D,F)
- \tkzMarkSegments[mark=|](B,C D,C) \tkzMarkSegments[mark=s||](G,C F,C)
- \tkzMarkSegments[mark=o](A,G E,F) \tkzMarkSegments[mark=s](B,G D,F)
- \tkzDrawSegment[color=red](A,E)
- \tkzDrawSegment[color=blue](F,G)
- \tkzDrawSegments(A,G G,B E,F F,D)
- \tkzLabelPoints[below](C,D,E,G) \tkzLabelPoints[above](A,B,F)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example 1: from Indonesia}
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=3]
- \tkzDefPoints{0/0/A,2/0/B}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzDefPointBy[rotation=center D angle 45](C)\tkzGetPoint{G}
- \tkzDefSquare(G,D)\tkzGetPoints{E}{F}
- \tkzInterLL(B,C)(E,F)\tkzGetPoint{H}
- \tkzFillPolygon[gray!10](D,E,H,C,D)
- \tkzDrawPolygon(A,...,D)\tkzDrawPolygon(D,...,G)
- \tkzDrawSegment(B,E)
- \tkzMarkSegments[mark=|,size=3pt,color=gray](A,B B,C C,D D,A E,F F,G G,D D,E)
- \tkzMarkSegments[mark=||,size=3pt,color=gray](B,E E,H)
- \tkzLabelPoints[left](A,D)
- \tkzLabelPoints[right](B,C,F,H)
- \tkzLabelPoints[above](G)\tkzLabelPoints[below](E)
- \tkzMarkRightAngles(D,A,B D,G,F)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example 2: from Indonesia}
-\begin{tkzexample}[vbox,small]
- \begin{tikzpicture}[pol/.style={fill=brown!40,opacity=.5},
- seg/.style={tkzdotted,color=gray},
- hidden pt/.style={fill=gray!40},
- mra/.style={color=gray!70,tkzdotted,/tkzrightangle/size=.2},
- scale=3]
- \tkzSetUpPoint[size=2]
- \tkzDefPoints{0/0/A,2.5/0/B,1.33/0.75/D,0/2.5/E,2.5/2.5/F}
- \tkzDefLine[parallel=through D](A,B) \tkzGetPoint{I1}
- \tkzDefLine[parallel=through B](A,D) \tkzGetPoint{I2}
- \tkzInterLL(D,I1)(B,I2) \tkzGetPoint{C}
- \tkzDefLine[parallel=through E](A,D) \tkzGetPoint{I3}
- \tkzDefLine[parallel=through D](A,E) \tkzGetPoint{I4}
- \tkzInterLL(E,I3)(D,I4) \tkzGetPoint{H}
- \tkzDefLine[parallel=through F](E,H) \tkzGetPoint{I5}
- \tkzDefLine[parallel=through H](E,F) \tkzGetPoint{I6}
- \tkzInterLL(F,I5)(H,I6) \tkzGetPoint{G}
- \tkzDefMidPoint(G,H) \tkzGetPoint{P}
- \tkzDefMidPoint(G,C) \tkzGetPoint{Q}
- \tkzDefMidPoint(B,C) \tkzGetPoint{R}
- \tkzDefMidPoint(A,B) \tkzGetPoint{S}
- \tkzDefMidPoint(A,E) \tkzGetPoint{T}
- \tkzDefMidPoint(E,H) \tkzGetPoint{U}
- \tkzDefMidPoint(A,D) \tkzGetPoint{M}
- \tkzDefMidPoint(D,C) \tkzGetPoint{N}
- \tkzInterLL(B,D)(S,R) \tkzGetPoint{L}
- \tkzInterLL(H,F)(U,P) \tkzGetPoint{K}
- \tkzDefLine[parallel=through K](D,H) \tkzGetPoint{I7}
- \tkzInterLL(K,I7)(B,D) \tkzGetPoint{O}
-
- \tkzFillPolygon[pol](P,Q,R,S,T,U)
- \tkzDrawSegments[seg](K,O K,L P,Q R,S T,U
- C,D H,D A,D M,N B,D)
- \tkzDrawSegments(E,H B,C G,F G,H G,C Q,R S,T U,P H,F)
- \tkzDrawPolygon(A,B,F,E)
- \tkzDrawPoints(A,B,C,E,F,G,H,P,Q,R,S,T,U,K)
- \tkzDrawPoints[hidden pt](M,N,O,D)
- \tkzMarkRightAngle[mra](L,O,K)
- \tkzMarkSegments[mark=|,size=1pt,thick,color=gray](A,S B,S B,R C,R
- Q,C Q,G G,P H,P
- E,U H,U E,T A,T)
-
- \tkzLabelAngle[pos=.3](K,L,O){$\alpha$}
- \tkzLabelPoints[below](O,A,S,B)
- \tkzLabelPoints[above](H,P,G)
- \tkzLabelPoints[left](T,E)
- \tkzLabelPoints[right](C,Q)
- \tkzLabelPoints[above left](U,D,M)
- \tkzLabelPoints[above right](L,N)
- \tkzLabelPoints[below right](F,R)
- \tkzLabelPoints[below left](K)
- \end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Three circles}
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoints{0/0/A,8/0/B,0/4/a,8/4/b,8/8/c}
- \tkzDefTriangle[equilateral](A,B) \tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C)
- \tkzDefSquare(A,B) \tkzGetPoints{D}{E}
- \tkzClipBB
- \tkzDefMidPoint(A,B) \tkzGetPoint{M}
- \tkzDefMidPoint(B,C) \tkzGetPoint{N}
- \tkzDefMidPoint(A,C) \tkzGetPoint{P}
- \tkzDrawSemiCircle[gray,dashed](M,B)
- \tkzDrawSemiCircle[gray,dashed](A,M)
- \tkzDrawSemiCircle[gray,dashed](A,B)
- \tkzDrawCircle[gray,dashed](B,A)
- \tkzInterLL(A,N)(M,a) \tkzGetPoint{Ia}
- \tkzDefPointBy[projection = onto A--B](Ia)
- \tkzGetPoint{ha}
- \tkzDrawCircle[gray](Ia,ha)
- \tkzInterLL(B,P)(M,b) \tkzGetPoint{Ib}
- \tkzDefPointBy[projection = onto A--B](Ib)
- \tkzGetPoint{hb}
- \tkzDrawCircle[gray](Ib,hb)
- \tkzInterLL(A,c)(M,C) \tkzGetPoint{Ic}
- \tkzDefPointBy[projection = onto A--C](Ic)
- \tkzGetPoint{hc}
- \tkzDrawCircle[gray](Ic,hc)
- \tkzInterLL(A,Ia)(B,Ib) \tkzGetPoint{G}
- \tkzDrawCircle[gray,dashed](G,Ia)
- \tkzDrawPolySeg(A,E,D,B)
- \tkzDrawPoints(A,B,C)
- \tkzDrawPoints(G,Ia,Ib,Ic)
- \tkzDrawSegments[gray,dashed](C,M A,N B,P M,a M,b A,a a,b b,B A,D Ia,ha)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{"The" Circle of APOLLONIUS}
-
-\begin{tkzexample}[vbox,small]
- \begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefTriangleCenter[euler](A,B,C) \tkzGetPoint{N}
- \tkzDefTriangleCenter[circum](A,B,C) \tkzGetPoint{O}
- \tkzDefTriangleCenter[lemoine](A,B,C) \tkzGetPoint{K}
- \tkzDefTriangleCenter[spieker](A,B,C) \tkzGetPoint{Sp}
- \tkzDefExCircle(A,B,C) \tkzGetPoint{Jb}
- \tkzDefExCircle(C,A,B) \tkzGetPoint{Ja}
- \tkzDefExCircle(B,C,A) \tkzGetPoint{Jc}
- \tkzDefPointBy[projection=onto B--C ](Jc) \tkzGetPoint{Xc}
- \tkzDefPointBy[projection=onto B--C ](Jb) \tkzGetPoint{Xb}
- \tkzDefPointBy[projection=onto A--B ](Ja) \tkzGetPoint{Za}
- \tkzDefPointBy[projection=onto A--B ](Jb) \tkzGetPoint{Zb}
- \tkzDefLine[parallel=through Xc](A,C) \tkzGetPoint{X'c}
- \tkzDefLine[parallel=through Xb](A,B) \tkzGetPoint{X'b}
- \tkzDefLine[parallel=through Za](C,A) \tkzGetPoint{Z'a}
- \tkzDefLine[parallel=through Zb](C,B) \tkzGetPoint{Z'b}
- \tkzInterLL(Xc,X'c)(A,B) \tkzGetPoint{B'}
- \tkzInterLL(Xb,X'b)(A,C) \tkzGetPoint{C'}
- \tkzInterLL(Za,Z'a)(C,B) \tkzGetPoint{A''}
- \tkzInterLL(Zb,Z'b)(C,A) \tkzGetPoint{B''}
- \tkzDefPointBy[reflection= over Jc--Jb](B') \tkzGetPoint{Ca}
- \tkzDefPointBy[reflection= over Jc--Jb](C') \tkzGetPoint{Ba}
- \tkzDefPointBy[reflection= over Ja--Jb](A'')\tkzGetPoint{Bc}
- \tkzDefPointBy[reflection= over Ja--Jb](B'')\tkzGetPoint{Ac}
- \tkzDefCircle[circum](Ac,Ca,Ba) \tkzGetPoint{Q}
- \tkzDrawCircle[circum](Ac,Ca,Ba)
- \tkzDefPointWith[linear,K=1.1](Q,Ac) \tkzGetPoint{nAc}
- \tkzClipCircle[through](Q,nAc)
- \tkzDrawLines[add=1.5 and 1.5,dashed](A,B B,C A,C)
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPolygon[dashed,color=blue](Ja,Jb,Jc)
- \tkzDrawCircles[ex](A,B,C B,C,A C,A,B)
- \tkzDrawLines[add=0 and 0,dashed](Ca,Bc B,Za A,Ba B',C')
- \tkzDrawLine[add=1 and 1,dashed](Xb,Xc)
- \tkzDrawLine[add=7 and 3,blue](O,K)
- \tkzDrawLine[add=8 and 15,red](N,Sp)
- \tkzDrawLines[add=10 and 10](K,O N,Sp)
- \tkzDrawSegments(Ba,Ca Bc,Ac)
- \tkzDrawPoints(A,B,C,N,Ja,Jb,Jc,Xb,Xc,B',C',Za,Zb,Ba,Ca,Bc,Ac,Q,Sp,K,O)
- \tkzLabelPoints(A,B,C,N,Ja,Jb,Jc,Xb,Xc,B',C',Za,Zb,Ba,Ca,Bc,Ac,Q,Sp)
- \tkzLabelPoints[above](K,O)
- \end{tikzpicture}
-\end{tkzexample}
-
-
-
-\endinput
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex
new file mode 100644
index 0000000000..c206565b6a
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-filling.tex
@@ -0,0 +1,297 @@
+\subsection{Coloring a disc}
+This was possible with the macro \tkzcname{tkzDrawCircle}, but disk tracing was mandatory, this is no longer the case.
+
+\begin{NewMacroBox}{tkzFillCircle}{\oarg{local options}\parg{A,B}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{radius} {radius}{two points define a radius}
+\TOline{R} {radius}{a point and the measurement of a radius }
+\bottomrule
+\end{tabular}
+
+\medskip
+You don't need to put \tkzname{radius} because that's the default option. Of course, you have to add all the styles of \TIKZ\ for the plots.
+\end{NewMacroBox}
+
+
+\subsubsection{Yin and Yang}
+\begin{tkzexample}[latex=8cm,small]
+ \begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(-4,0){A}
+ \tkzDefPoint(4,0){B}
+ \tkzDefPoint(-2,0){I}
+ \tkzDefPoint(2,0){J}
+ \tkzDrawSector[fill=teal](O,A)(B)
+ \tkzFillCircle[fill=white](J,B)
+ \tkzFillCircle[fill=teal](I,A)
+ \tkzDrawCircle(O,A)
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{From a sangaku}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){B} \tkzDefPoint(6,0){C}%
+ \tkzDefSquare(B,C) \tkzGetPoints{D}{A}
+ \tkzClipPolygon(B,C,D,A)
+ \tkzDefMidPoint(A,D) \tkzGetPoint{F}
+ \tkzDefMidPoint(B,C) \tkzGetPoint{E}
+ \tkzDefMidPoint(B,D) \tkzGetPoint{Q}
+ \tkzDefTangent[from = B](F,A) \tkzGetPoints{G}{H}
+ \tkzInterLL(F,G)(C,D) \tkzGetPoint{J}
+ \tkzInterLL(A,J)(F,E) \tkzGetPoint{K}
+ \tkzDefPointBy[projection=onto B--A](K)
+ \tkzGetPoint{M}
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzFillCircle[red!20](E,B)
+ \tkzFillCircle[blue!20](M,A)
+ \tkzFillCircle[green!20](K,Q)
+ \tkzDrawCircles(B,A M,A E,B K,Q)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Clipping and filling part I}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,4/0/B,2/2/O,3/4/X,4/1/Y,1/0/Z,
+ 0/3/W,3/0/R,4/3/S,1/4/T,0/1/U}
+\tkzDefSquare(A,B)\tkzGetPoints{C}{D}
+\tkzDefPointWith[colinear normed=at X,K=1](O,X)
+ \tkzGetPoint{F}
+\begin{scope}
+ \tkzFillCircle[fill=teal!20](O,F)
+ \tkzFillPolygon[white](A,...,D)
+ \tkzClipPolygon(A,...,D)
+ \foreach \c/\t in {S/C,R/B,U/A,T/D}
+ {\tkzFillCircle[teal!20](\c,\t)}
+\end{scope}
+\foreach \c/\t in {X/C,Y/B,Z/A,W/D}
+{\tkzFillCircle[white](\c,\t)}
+ \foreach \c/\t in {S/C,R/B,U/A,T/D}
+ {\tkzFillCircle[teal!20](\c,\t)}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Clipping and filling part II}
+\begin{tkzexample}[latex=7cm, small]
+\begin{tikzpicture}[scale=.75]
+\tkzDefPoints{0/0/A,8/0/B,8/8/C,0/8/D}
+\tkzDefMidPoint(A,B) \tkzGetPoint{F}
+\tkzDefMidPoint(B,C) \tkzGetPoint{E}
+\tkzDefMidPoint(D,B) \tkzGetPoint{I}
+\tkzDefMidPoint(I,B) \tkzGetPoint{a}
+\tkzInterLC(B,I)(B,C) \tkzGetSecondPoint{K}
+\tkzDefMidPoint(I,K) \tkzGetPoint{b}
+\begin{scope}
+ \tkzFillSector[fill=blue!10](B,C)(A)
+ \tkzDrawSemiCircle[diameter,fill=white](A,B)
+ \tkzDrawSemiCircle[diameter,fill=white](B,C)
+ \tkzClipCircle(E,B)
+ \tkzClipCircle(F,B)
+ \tkzFillCircle[fill=blue!10](B,A)
+\end{scope}
+\tkzDrawSemiCircle[thick](F,B)
+\tkzDrawSemiCircle[thick](E,C)
+\tkzDrawArc[thick](B,C)(A)
+\tkzDrawSegments[thick](A,B B,C)
+\tkzDrawPoints(A,B,C,E,F)
+\tkzLabelPoints[centered](a,b)
+\tkzLabelPoints(A,B,C,E,F)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Clipping and filling part III}
+
+\begin{tkzexample}[latex=7cm, small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A} \tkzDefPoint(1,0){B}
+ \tkzDefPoint(2,0){C} \tkzDefPoint(-3,0){a}
+ \tkzDefPoint(3,0){b} \tkzDefPoint(0,3){c}
+ \tkzDefPoint(0,-3){d}
+\begin{scope}
+ \tkzClipPolygon(a,b,c,d)
+ \tkzFillCircle[teal!20](A,C)
+\end{scope}
+ \tkzFillCircle[white](A,B)
+ \tkzDrawCircle[color=red](A,C)
+ \tkzDrawCircle[color=red](A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Coloring a polygon}
+ \begin{NewMacroBox}{tkzFillPolygon}{\oarg{local options}\parg{points list}}%
+You can color by drawing the polygon, but in this case you color the inside of the polygon without drawing it.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2,\dots}}{\parg{A,B,\dots}}{}
+%\bottomrule
+ \end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{\tkzcname{tkzFillPolygon}}
+\begin{tkzexample}[latex=7cm, small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(0,0){C} \tkzDefPoint(4,0){A}
+ \tkzDefPoint(0,3){B}
+ \tkzDefSquare(B,A) \tkzGetPoints{E}{F}
+ \tkzDefSquare(A,C) \tkzGetPoints{G}{H}
+ \tkzDefSquare(C,B) \tkzGetPoints{I}{J}
+ \tkzFillPolygon[color = orange!30 ](A,C,G,H)
+ \tkzFillPolygon[color = teal!40 ](C,B,I,J)
+ \tkzFillPolygon[color = purple!20](B,A,E,F)
+ \tkzDrawPolygon[line width = 1pt](A,B,C)
+ \tkzDrawPolygon[line width = 1pt](A,C,G,H)
+ \tkzDrawPolygon[line width = 1pt](C,B,I,J)
+ \tkzDrawPolygon[line width = 1pt](B,A,E,F)
+ \tkzLabelSegment[above](C,A){$a$}
+ \tkzLabelSegment[right](B,C){$b$}
+ \tkzLabelSegment[below left](B,A){$c$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{\tkzcname{tkzFillSector}}
+\tkzHandBomb\ Attention the arguments vary according to the options.
+\begin{NewMacroBox}{tkzFillSector}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{towards}{towards}{$O$ is the center and the arc from $A$ to $(OB)$}
+\TOline{rotate} {towards}{the arc starts from A and the angle determines its length }
+\TOline{R}{towards}{We give the radius and two angles}
+\TOline{R with nodes}{towards}{We give the radius and two points}
+\bottomrule
+\end{tabular}
+
+\medskip
+Of course, you have to add all the styles of \TIKZ\ for the tracings...
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & arguments & example \\
+\midrule
+\TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzFillSector(O,A)(B)}}
+\TOline{rotate} {\parg{pt,pt}\parg{an}}{\tkzcname{tkzFillSector[rotate,color=red](O,A)(90)}}
+\TOline{R}{\parg{pt,$r$}\parg{an,an}}{\tkzcname{tkzFillSector[R,color=blue](O,2)(30,90)}}
+\TOline{R with nodes}{\parg{pt,$r$}\parg{pt,pt}}{\tkzcname{tkzFillSector[R with nodes](O,2)(A,B)}}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{\tkzcname{tkzFillSector} and \tkzname{towards}}
+It is useless to put \tkzname{towards} and you will notice that the contours are not drawn, only the surface is colored.
+\begin{tkzexample}[latex=5.75cm,small]
+ \begin{tikzpicture}[scale=.6]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(-30:3){A}
+ \tkzDefPointBy[rotation = center O angle -60](A)
+ \tkzFillSector[fill=purple!20](O,A)(tkzPointResult)
+ \begin{scope}[shift={(-60:1)}]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(-30:3){A}
+ \tkzDefPointBy[rotation = center O angle -60](A)
+ \tkzGetPoint{A'}
+ \tkzFillSector[color=teal!40](O,A')(A)
+ \end{scope}
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{\tkzcname{tkzFillSector} and \tkzname{rotate}}
+\begin{tkzexample}[latex=5.75cm,small]
+\begin{tikzpicture}[scale=1.5]
+ \tkzDefPoint(0,0){O} \tkzDefPoint(2,2){A}
+ \tkzFillSector[rotate,color=purple!20](O,A)(30)
+ \tkzFillSector[rotate,color=teal!40](O,A)(-30)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Colour an angle: \tkzcname{tkzFillAngle}}
+
+The simplest operation
+\begin{NewMacroBox}{tkzFillAngle}{\oarg{local options}\parg{A,O,B}}%
+$O$ is the vertex of the angle. $OA$ and $OB$ are the sides. Attention the angle is determined by the order of the points.
+
+\medskip
+
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{size}{1}{this option determines the radius of the coloured angular sector.}
+
+\bottomrule
+\end{tabular}
+
+\medskip
+Of course, you have to add all the styles of \TIKZ, like the use of fill and shade...
+\end{NewMacroBox}
+
+\subsubsection{Example with \tkzname{size}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzInit
+ \tkzDefPoints{0/0/O,2.5/0/A,1.5/2/B}
+ \tkzFillAngle[size=2, fill=gray!10](A,O,B)
+ \tkzDrawLines(O,A O,B)
+ \tkzDrawPoints(O,A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Changing the order of items}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzInit
+ \tkzDefPoints{0/0/O,2.5/0/A,1.5/2/B}
+ \tkzFillAngle[size=2,fill=gray!10](B,O,A)
+ \tkzDrawLines(O,A O,B)
+ \tkzDrawPoints(O,A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzInit
+ \tkzDefPoints{0/0/O,5/0/A,3/4/B}
+ % Don't forget {} to get, () to use
+ \tkzFillAngle[size=4,left color=white,
+ right color=red!50](A,O,B)
+ \tkzDrawLines(O,A O,B)
+ \tkzDrawPoints(O,A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\begin{NewMacroBox}{tkzFillAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
+With common options, there is a macro for multiple angles.
+ \end{NewMacroBox}
+
+\subsubsection{Multiples angles}
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}[scale=0.5]
+ \tkzDefPoints{0/0/B,8/0/C,0/8/A,8/8/D}
+ \tkzDrawPolygon(B,C,D,A)
+ \tkzDefTriangle[equilateral](B,C) \tkzGetPoint{M}
+ \tkzInterLL(D,M)(A,B) \tkzGetPoint{N}
+ \tkzDefPointBy[rotation=center N angle -60](D)
+ \tkzGetPoint{L}
+ \tkzInterLL(N,L)(M,B) \tkzGetPoint{P}
+ \tkzInterLL(M,C)(D,L) \tkzGetPoint{Q}
+ \tkzDrawSegments(D,N N,L L,D B,M M,C)
+ \tkzDrawPoints(L,N,P,Q,M,A,D)
+ \tkzLabelPoints[left](N,P,Q)
+ \tkzLabelPoints[above](M,A,D)
+ \tkzLabelPoints(L,B,C)
+ \tkzMarkAngles(C,B,M B,M,C M,C,B D,L,N L,N,D N,D,L)
+ \tkzFillAngles[fill=red!20,opacity=.2](C,B,M%
+ B,M,C M,C,B D,L,N L,N,D N,D,L)
+\end{tikzpicture}
+\end{tkzexample}
+\endinput
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-installation.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-installation.tex
index bcbc555fd7..32752f857b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-installation.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-installation.tex
@@ -1,62 +1,12 @@
\section{Installation}
-\tkzNamePack{tkz-euclide} and \tkzNamePack{tkz-base} are now on the server of the \tkzname{CTAN}\footnote{\tkzNamePack{tkz-base} and \tkzNamePack{tkz-euclide} are part of \NameDist{TeXLive} and \tkzname{tlmgr} allows you to install them. These packages are also part of \NameDist{MiKTeX} under \NameSys{Windows}.}. If you want to test a beta version, just put the following files in a texmf folder that your system can find.
+\tkzname{\tkznameofpack} is on the server of the \tkzname{CTAN}\footnote{\tkzname{\tkznameofpack} is part of \NameDist{TeXLive} and \tkzname{tlmgr} allows you to install them. This package is also part of \NameDist{MiKTeX} under \NameSys{Windows}.}. If you want to test a beta version, just put the following files in a texmf folder that your system can find.
You will have to check several points:
\begin{itemize}\setlength{\itemsep}{5pt}
-\item The \tkzNamePack{tkz-base} and \tkzNamePack{tkz-euclide} folders must be located on a path recognized by \tkzname{latex}.
-\item The \tkzNamePack{xfp}\footnote{\tkzNamePack{xfp} replaces \tkzNamePack{fp}.}, \tkzNamePack{numprint} and \tkzNamePack{tikz 3.00} must be installed as they are mandatory, for the proper functioning of \tkzNamePack{tkz-euclide}.
-\item This documentation and all examples were obtained with \tkzname{lualatex-dev} but \tkzname{pdflatex} should be suitable.
+\item The \tkzname{\tkznameofpack} folder must be located on a path recognized by \tkzname{latex}.
+\item The \tkzname{\tkznameofpack} uses \tkzNamePack{xfp}.
+\item This documentation and all examples were obtained with \tkzname{lualatex} but \tkzname{pdflatex} or \tkzname{xelatex} should be suitable.
\end{itemize}
-\subsection{List of folder files \tkzname{tkzbase} and \tkzname{tkzeuclide}}
-
-In the folder \tkzname{base}:
-
-\begin{itemize}
-\item \tkzname{tkz-base.cfg}
-\item \tkzname{tkz-base.sty}
-\item \tkzname{tkz-lib-marks.tex}
-\item \tkzname{tkz-obj-axes.tex}
-\item \tkzname{tkz-obj-grids.tex}
-\item \tkzname{tkz-obj-marks.tex}
-\item \tkzname{tkz-obj-points.tex}
-\item \tkzname{tkz-obj-rep.tex}
-\item \tkzname{tkz-tools-arith.tex}
-\item \tkzname{tkz-tools-base.tex}
-\item \tkzname{tkz-tools-BB.tex}
-\item \tkzname{tkz-tools-misc.tex}
-\item \tkzname{tkz-tools-modules.tex}
-\item \tkzname{tkz-tools-print.tex}
-\item \tkzname{tkz-tools-text.tex}
-\item \tkzname{tkz-tools-utilities.tex}
-\end{itemize}
-
-In the folder \tkzname{euclide}:
-
-\begin{itemize}
-\item \tkzname{tkz-euclide.sty}
-\item \tkzname{tkz-obj-eu-angles.tex}
-\item \tkzname{tkz-obj-eu-arcs.tex}
-\item \tkzname{tkz-obj-eu-circles.tex}
-\item \tkzname{tkz-obj-eu-compass.tex}
-\item \tkzname{tkz-obj-eu-draw-circles.tex}
-\item \tkzname{tkz-obj-eu-draw-lines.tex}
-\item \tkzname{tkz-obj-eu-draw-polygons.tex}
-\item \tkzname{tkz-obj-eu-draw-triangles.tex}
-\item \tkzname{tkz-obj-eu-lines.tex}
-\item \tkzname{tkz-obj-eu-points-by.tex}
-\item \tkzname{tkz-obj-eu-points-rnd.tex}
-\item \tkzname{tkz-obj-eu-points-with.tex}
-\item \tkzname{tkz-obj-eu-points.tex}
-\item \tkzname{tkz-obj-eu-polygons.tex}
-\item \tkzname{tkz-obj-eu-protractor.tex}
-\item \tkzname{tkz-obj-eu-sectors.tex}
-\item \tkzname{tkz-obj-eu-show.tex}
-\item \tkzname{tkz-obj-eu-triangles.tex}
-\item \tkzname{tkz-tools-angles.tex}
-\item \tkzname{tkz-tools-intersections.tex}
-\item \tkzname{tkz-tools-math.tex}
-\end{itemize}
-\tkzHandBomb\ Now \tkzname{tkz-euclide} loads all the files.
-\endinput
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex
index 3f7619188d..2fb014f30c 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex
@@ -43,16 +43,16 @@ So the arguments are two couples.
options & default & definition \\
\midrule
\TOline{N} {N} { (O,C) determines the circle}
-\TOline{R} {N} { (O, 1 cm) or (O, 120 pt)}
+\TOline{R} {N} { (O, 1 ) unit 1 cm}
\TOline{with nodes}{N} { (O,C,D) CD is a radius}
\bottomrule
\end{tabular}
\medskip
-The macro defines the intersection points $I$ and $J$ of the line $(AB)$ and the center circle $O$ with radius $r$ if they exist; otherwise, an error will be reported in the |.log| file.
+The macro defines the intersection points $I$ and $J$ of the line $(AB)$ and the center circle $O$ with radius $r$ if they exist; otherwise, an error will be reported in the |.log| file. \tkzname{with nodes} vous évite de calculer le rayon qui est la longueur de $[CD]$.
\end{NewMacroBox}
-\subsubsection{Simple example of a line-circle intersection}
+\subsubsection{Line-circle intersection}
In the following example, the drawing of the circle uses two points and the intersection of the straight line and the circle uses two pairs of points:
@@ -72,6 +72,53 @@ In the following example, the drawing of the circle uses two points and the inte
\end{tikzpicture}
\end{tkzexample}
+
+\subsubsection{Line-circle intersection in Sangaku}
+\begin{tkzexample}[vbox,small]
+ \begin{tikzpicture}[scale=1]
+ \def\ORadius{6}
+ \def\OORadius{4}
+ \pgfmathparse{(2*(\ORadius-\OORadius))/(\ORadius/\OORadius+1)}%
+ \let\OOORadius\pgfmathresult%
+ \pgfmathparse{\ORadius-\OOORadius}%
+ \let\OOOORadius\pgfmathresult%
+ \pgfmathparse{2*\OORadius-\ORadius}%
+ \let\XA\pgfmathresult%
+ \tkzDefPoint["$O$" below left](0,0){O}
+ \ifdim\XA pt = 0pt\relax%
+ \tkzDefPoint["$A$" below right](\XA,0){A}
+ \else
+ \tkzDefPoint["$A$" below left](\XA,0){A}
+ \fi
+ \tkzDefPoint["$D$" below right](\OORadius,0){D}
+ \tkzDefPoint["$X$" below left](-\ORadius,0){X}
+ \tkzDefPoint["$B$" below right](\ORadius,0){B}
+ \tkzDefPoint["$O_2$" below left](\OORadius-\ORadius,0){O2}
+ \tkzDefLine[mediator](A,B) \tkzGetPoints{mr}{ml}
+ \tkzInterLC[R](D,mr)(O,\ORadius) \tkzGetPoints{C}{E}
+ \tkzDefLine[orthogonal=through A](X,A) \tkzGetPoint{pr}
+ \ifdim\XA pt < 0 pt\relax
+ \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O4}{O3}
+ \else
+ \ifdim\XA pt = 0pt\relax
+ \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O4}{O3}
+ \else
+ \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O3}{O4}
+ \fi
+ \fi
+ \tkzDefPointBy[projection=onto A--C](O3) \tkzGetPoint{H}
+ \tkzDrawCircles[R](O,{\ORadius} O2,{\OORadius} O3,{\OOORadius})
+ \tkzDrawSegments[dashed](O,O3 C,D O3,A O3,H)
+ \tkzDrawSegments(X,B A,C B,C)
+ \tkzMarkSegments[mark=s|](D,B D,A)
+ \tkzLabelPoints[right](O3,H)
+ \tkzLabelPoint[above right](C){$C$}
+ \tkzMarkRightAngles[fill=gray!30](X,D,C X,A,O3 A,H,O3)
+ \tkzDrawPoints(A,B,C,D,X,O,O2,O3,H)
+ \end{tikzpicture}
+\end{tkzexample}
+
+
\subsubsection{More complex example of a line-circle intersection}
Figure from \url{http://gogeometry.com/problem/p190_tangent_circle}
@@ -81,21 +128,20 @@ Figure from \url{http://gogeometry.com/problem/p190_tangent_circle}
\tkzDefPoint(8,0){B}
\tkzDefMidPoint(A,B)
\tkzGetPoint{O}
- \tkzDrawCircle(O,B)
\tkzDefMidPoint(O,B)
\tkzGetPoint{O'}
- \tkzDrawCircle(O',B)
\tkzDefTangent[from=A](O',B)
\tkzGetSecondPoint{E}
\tkzInterLC(A,E)(O,B)
\tkzGetSecondPoint{D}
\tkzDefPointBy[projection=onto A--B](D)
- \tkzGetPoint{F}
- \tkzMarkRightAngle(D,F,B)
+ \tkzGetPoint{F}
+ \tkzDrawCircles(O,B O',B)
\tkzDrawSegments(A,D A,B D,F)
\tkzDrawSegments[color=red,line width=1pt,
opacity=.4](A,O F,B)
\tkzDrawPoints(A,B,O,O',E,D)
+ \tkzMarkRightAngle(D,F,B)
\tkzLabelPoints(A,B,O,O',E,D)
\end{tikzpicture}
\end{tkzexample}
@@ -108,16 +154,15 @@ Let's look at some special cases like straight lines tangent to the circle.
\tkzDefPoint(0,8){A} \tkzDefPoint(8,0){B}
\tkzDefPoint(8,8){C} \tkzDefPoint(4,4){I}
\tkzDefPoint(2,7){E} \tkzDefPoint(6,4){F}
- \tkzDrawCircle[R](I,4 cm)
- \tkzInterLC[R](A,C)(I,4 cm) \tkzGetPoints{I1}{I2}
- \tkzInterLC[R](B,C)(I,4 cm) \tkzGetPoints{J1}{J2}
- \tkzInterLC[R](A,B)(I,4 cm) \tkzGetPoints{K1}{K2}
+ \tkzInterLC[R](A,C)(I,4) \tkzGetPoints{I1}{I2}
+ \tkzInterLC[R](B,C)(I,4) \tkzGetPoints{J1}{J2}
+ \tkzInterLC[R](A,B)(I,4) \tkzGetPoints{K1}{K2}
+ \tkzInterLC[R](E,F)(I,4) \tkzGetPoints{I2}{J2}
+ \tkzDrawCircle[R](I,4)
\tkzDrawPoints[color=red](I1,J1,K1,K2)
- \tkzDrawLines(A,B B,C A,C)
- \tkzInterLC[R](E,F)(I,4 cm) \tkzGetPoints{I2}{J2}
+ \tkzDrawLines(A,B B,C A,C I2,J2)
\tkzDrawPoints[color=blue](E,F)
\tkzDrawPoints[color=red](I2,J2)
- \tkzDrawLine(I2,J2)
\end{tikzpicture}
\end{tkzexample}
@@ -126,23 +171,23 @@ Let's look at some special cases like straight lines tangent to the circle.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,1){J}
- \tkzDefPoint(0,0){O}
- \tkzDrawArc[R,line width=1pt,color=red](J,2.5 cm)(180,0)
- \foreach \i in {0,-5,-10,...,-85,-90}{
- \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P}
- \tkzDrawSegment[color=orange](J,P)
- \tkzInterLC[R](P,J)(O,1 cm)
- \tkzGetPoints{M}{N}
- \tkzDrawPoints[red](N)
- }
- \foreach \i in {-90,-95,...,-175,-180}{
- \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P}
- \tkzDrawSegment[color=orange](J,P)
- \tkzInterLC[R](P,J)(O,1 cm)
- \tkzGetPoints{M}{N}
- \tkzDrawPoints[red](M)
- }
+\tkzDefPoint(0,1){J}
+\tkzDefPoint(0,0){O}
+\tkzDrawArc[R,line width=1pt,color=red](J,2.5)(180,0)
+\foreach \i in {0,-5,-10,...,-85,-90}{
+ \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P}
+ \tkzDrawSegment[color=orange](J,P)
+ \tkzInterLC[R](P,J)(O,1)
+ \tkzGetPoints{M}{N}
+ \tkzDrawPoints[red](N)
+ }
+\foreach \i in {-90,-95,...,-175,-180}{
+ \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P}
+ \tkzDrawSegment[color=orange](J,P)
+ \tkzInterLC[R](P,J)(O,1)
+ \tkzGetPoints{M}{N}
+ \tkzDrawPoints[red](M)
+ }
\end{tikzpicture}
\end{tkzexample}
@@ -151,7 +196,7 @@ Let's look at some special cases like straight lines tangent to the circle.
The radius measurement may be the result of a calculation that is not done within the intersection macro, but before.
A length can be calculated in several ways. It is possible of course,
- to use the module \tkzname{pgfmath} and the macro \tkzcname{pgfmathsetmacro}. In some cases, the results obtained are not precise enough, so the following calculation $0.0002 \div 0.0001$ gives $1.98$ with pgfmath while xfp will give $2$.
+ to use the module \tkzname{pgfmath} and the macro \tkzcname{pgfmathsetmacro}. In some cases, the results obtained are not precise enough, so the following calculation $0.0002 \div 0.0001$ gives $1.98$ with pgfmath while xfp will give $2$.
\subsubsection{Calculation of radius example 2}
With \tkzname{xfp} and \tkzcname{fpeval}:
@@ -161,64 +206,27 @@ With \tkzname{xfp} and \tkzcname{fpeval}:
\tkzDefPoint(2,2){A}
\tkzDefPoint(5,4){B}
\tkzDefPoint(4,4){O}
- \edef\tkzLen{\fpeval{0.0002/0.0001}}
- \tkzDrawCircle[R](O,\tkzLen cm)
- \tkzInterLC[R](A,B)(O, \tkzLen cm)
+ \pgfmathsetmacro\tkzLen{\fpeval{0.0002/0.0001}}
+ % or \edef\tkzLen{\fpeval{0.0002/0.0001}}
+ \tkzInterLC[R](A,B)(O, \tkzLen)
\tkzGetPoints{I}{J}
+ \tkzDrawCircle[R](O,\tkzLen)
\tkzDrawPoints[color=blue](A,B)
\tkzDrawPoints[color=red](I,J)
\tkzDrawLine(I,J)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Calculation of radius example 3}
- With \TEX\ and \tkzcname{tkzLength}.
-
- This dimension was created with \tkzcname{newdimen}. 2 cm has been transformed into points. It is of course possible to use \TEX\ to calculate.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoints{2/2/A,5/4/B,4/4/0}
- \tkzLength=2cm
- \tkzDrawCircle[R](O,\tkzLength)
- \tkzInterLC[R](A,B)(O,\tkzLength)
- \tkzGetPoints{I}{J}
- \tkzDrawPoints[color=blue](A,B)
- \tkzDrawPoints[color=red](I,J)
- \tkzDrawLine(I,J)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Squares in half a disc}
-A Sangaku look! It is a question of proving that one can inscribe in a half-disc, two squares, and to determine the length of their respective sides according to the radius.
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/A,8/0/B,4/0/I}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzInterLC(I,C)(I,B)\tkzGetPoints{E'}{E}
- \tkzInterLC(I,D)(I,B)\tkzGetPoints{F'}{F}
- \tkzDefPointsBy[projection = onto A--B](E,F){H,G}
- \tkzDefPointsBy[symmetry = center H](I){J}
- \tkzDefSquare(H,J)\tkzGetPoints{K}{L}
- \tkzDrawSector[fill=brown!30](I,B)(A)
- \tkzFillPolygon[color=red!40](H,E,F,G)
- \tkzFillPolygon[color=blue!40](H,J,K,L)
- \tkzDrawPolySeg[color=red](H,E,F,G)
- \tkzDrawPolySeg[color=red](J,K,L)
- \tkzDrawPoints(E,G,H,F,J,K,L)
-\end{tikzpicture}
-\end{tkzexample}
\subsubsection{Option "with nodes"}
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.75]
\tkzDefPoints{0/0/A,4/0/B,1/1/D,2/0/E}
-\tkzDefTriangle[equilateral](A,B)
+\tkzDefTriangle[equilateral](A,B)
\tkzGetPoint{C}
-\tkzDrawCircle(C,A)
-\tkzInterLC[with nodes](D,E)(C,A,B)
+\tkzInterLC[with nodes](D,E)(C,A,B)
\tkzGetPoints{F}{G}
+\tkzDrawCircle(C,A)
\tkzDrawPolygon(A,B,C)
\tkzDrawPoints(A,...,G)
\tkzDrawLine(F,G)
@@ -251,8 +259,7 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte
\tkzDefPoint(5,1){B}
\tkzInterCC(A,B)(B,A)\tkzGetPoints{C}{D}
\tkzDrawPoint[color=black](C)
- \tkzDrawCircle[dashed](A,B)
- \tkzDrawCircle[dashed](B,A)
+ \tkzDrawCircles(A,B B,A)
\tkzCompass[color=red](A,C)
\tkzCompass[color=red](B,C)
\tkzDrawPolygon(A,B,C)
@@ -267,12 +274,11 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte
\begin{tikzpicture}[scale=.5]
\tkzDefPoint(0,0){A}
\tkzDefPoint(2,2){B}
- \tkzDrawCircle[color=blue](B,A)
- \tkzDrawCircle[color=blue](A,B)
\tkzInterCC(B,A)(A,B)\tkzGetPoints{M}{N}
- \tkzDrawLine(A,B)
+ \tkzDrawCircles[color=teal](A,B B,A)
+ \tkzDrawCircle[color=teal](A,B)
\tkzDrawPoints(M,N)
- \tkzDrawLine[color=red](M,N)
+ \tkzDrawLine[new](M,N)
\end{tikzpicture}
\end{tkzexample}
@@ -281,14 +287,13 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte
\begin{tikzpicture}[rotate=120,scale=.75]
\tkzDefPoint(1,2){A}
\tkzDefPoint(4,0){B}
- \tkzInterCC[R](A,4cm)(B,4cm)
+ \tkzInterCC[R](A,4)(B,4)
\tkzGetPoints{C}{D}
- \tkzDrawCircle[R,dashed](A,4 cm)
- \tkzDrawCircle[R,dashed](B,4 cm)
- \tkzCompass[color=red](A,C)
- \tkzCompass[color=red](B,C)
+ \tkzDrawCircles[R,dashed](A,4 B,4)
+ \tkzCompass[new](A,C)
+ \tkzCompass[new](B,C)
\tkzDrawPolygon(A,B,C)
- \tkzDrawPoints[color=blue](A,B,C)
+ \tkzDrawPoints(A,B,C)
\tkzMarkSegments[mark=s|](A,C B,C)
\tkzLabelPoints[](A,B)
\tkzLabelPoint[above](C){$C$}
@@ -298,60 +303,100 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte
\subsubsection{Segment trisection}
The idea here is to divide a segment with a ruler and a compass into three segments of equal length.
-
-\begin{tkzexample}[latex=9cm,small]
-\begin{tikzpicture}[scale=.8]
- \tkzDefPoint(0,0){A}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(0,0){A}
\tkzDefPoint(3,2){B}
- \tkzInterCC(A,B)(B,A)
- \tkzGetPoints{C}{D}
- \tkzInterCC(D,B)(B,A)
- \tkzGetPoints{A}{E}
- \tkzInterCC(D,B)(A,B)
- \tkzGetPoints{F}{B}
- \tkzInterLC(E,F)(F,A)
- \tkzGetPoints{D}{G}
- \tkzInterLL(A,G)(B,E)
- \tkzGetPoint{O}
- \tkzInterLL(O,D)(A,B)
- \tkzGetPoint{J}
- \tkzInterLL(O,F)(A,B)
- \tkzGetPoint{I}
- \tkzDrawCircle(D,A)
- \tkzDrawCircle(A,B)
- \tkzDrawCircle(B,A)
- \tkzDrawCircle(F,A)
- \tkzDrawSegments[color=red](O,G
+ \tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{D}
+ \tkzInterCC(D,B)(B,A) \tkzGetPoints{A}{E}
+ \tkzInterCC(D,B)(A,B) \tkzGetPoints{F}{B}
+ \tkzInterLC(E,F)(F,A) \tkzGetPoints{D}{G}
+ \tkzInterLL(A,G)(B,E) \tkzGetPoint{O}
+ \tkzInterLL(O,D)(A,B) \tkzGetPoint{J}
+ \tkzInterLL(O,F)(A,B) \tkzGetPoint{I}
+ \tkzDrawCircles(D,A A,B B,A F,A)
+ \tkzDrawSegments[new](O,G
O,B O,D O,F)
- \tkzDrawPoints(A,B,D,E,F,G,I,J)
+ \tkzDrawPoints(A,B,D,E,F,G,I,J)
\tkzLabelPoints(A,B,D,E,F,G,I,J)
- \tkzDrawSegments[blue](A,B B,D A,D%
+ \tkzDrawSegments(A,B B,D A,D%
A,F F,G E,G B,E)
\tkzMarkSegments[mark=s|](A,I I,J J,B)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{With the option \tkzimp{with nodes}}
+\subsubsection{With the option "\tkzimp{with nodes}"}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=.5]
\tkzDefPoints{0/0/a,0/5/B,5/0/C}
\tkzDefPoint(54:5){F}
- \tkzDrawCircle[color=gray](A,C)
- \tkzInterCC[with nodes](A,A,C)(C,B,F)
+ \tkzInterCC[with nodes](A,A,C)(C,B,F)
\tkzGetPoints{a}{e}
\tkzInterCC(A,C)(a,e) \tkzGetFirstPoint{b}
\tkzInterCC(A,C)(b,a) \tkzGetFirstPoint{c}
\tkzInterCC(A,C)(c,b) \tkzGetFirstPoint{d}
- \tkzDrawPoints(a,b,c,d,e)
- \tkzDrawPolygon[color=red](a,b,c,d,e)
+ \tkzDrawCircle[new](A,C)
+ \tkzDrawPoints(a,b,c,d,e)
+ \tkzDrawPolygon(a,b,c,d,e)
\foreach \vertex/\num in {a/36,b/108,c/180,
d/252,e/324}{%
\tkzDrawPoint(\vertex)
- \tkzLabelPoint[label=\num:$\vertex$](\vertex){}
- \tkzDrawSegment[color=gray,style=dashed](A,\vertex)
- }
+ \tkzLabelPoint[label=\num:$\vertex$](\vertex){}
+ \tkzDrawSegment(A,\vertex)
+ }
\end{tikzpicture}
\end{tkzexample}
- \endinput
+\subsubsection{Mix of intersections}
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}[scale = .75]
+ \tkzDefPoint(2,2){A}
+ \tkzDefPoint(0,0){B}
+ \tkzDefPoint(-2,2){C}
+ \tkzDefPoint(0,4){D}
+ \tkzDefPoint(4,2){E}
+ \tkzCircumCenter(A,B,C)\tkzGetPoint{O}
+ \tkzInterCC[R](O,2)(D,2) \tkzGetPoints{M1}{M2}
+ \tkzInterCC(O,A)(D,O) \tkzGetPoints{1}{2}
+ \tkzInterLC(A,E)(B,M1) \tkzGetSecondPoint{M3}
+ \tkzInterLC(O,C)(M3,D) \tkzGetSecondPoint{L}
+ \tkzDrawSegments(C,L)
+ \tkzDrawPoints(A,B,C,D,E,M1,M2,M3,O,L)
+ \tkzDrawSegments(O,E)
+ \tkzDrawSegments[dashed](C,A D,B)
+ \tkzDrawPoint(O)
+ \tkzDrawCircles[dashed](M3,D B,M2 D,O)
+ \tkzDrawCircle(O,A)
+ \tkzLabelPoints(A,B,C,D,E,M1,M2,M3,O,L)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{An oval}
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=0.4]
+ \tkzDefPoint(-4,0){I}
+ \tkzDefPoint(4,0){J}
+ \tkzDefPoint(0,0){O}
+ \tkzInterCC(J,O)(O,J) \tkzGetPoints{L}{H}
+ \tkzInterCC(I,O)(O,I) \tkzGetPoints{K}{G}
+ \tkzInterLL(I,K)(J,H) \tkzGetPoint{M}
+ \tkzInterLL(I,G)(J,L) \tkzGetPoint{N}
+ \tkzDefPointsBy[symmetry=center J](L,H){D,E}
+ \tkzDefPointsBy[symmetry=center I](G,K){C,F}
+ \begin{scope}[line style/.style = {very thin,teal}]
+ \tkzDrawLines[add=1.5 and 1.5](I,K I,G J,H J,L)
+ \tkzDrawLines[add=.5 and .5](I,J)
+ \tkzDrawPoints(H,L,K,G,I,J,D,E,C,F,M,N)
+ \tkzDrawCircles[R](O,4 I,4 J,4)
+ \tkzDrawArc(N,D)(C)
+ \tkzDrawArc(M,F)(E)
+ \tkzDrawArc(J,E)(D)
+ \tkzDrawArc(I,C)(F)
+ \end{scope}
+ \tkzLabelPoints(H,L,K,G,I,J,D,E,C,F,M,N)
+ \end{tikzpicture}
+\end{tkzexample}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex
new file mode 100644
index 0000000000..9553e4d996
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-labelling.tex
@@ -0,0 +1,437 @@
+\section{Labelling}
+\subsection{Label for a point}
+\hypertarget{tlp}{}
+It is possible to add several labels at the same point by using this macro several times.
+
+
+\begin{NewMacroBox}{tkzLabelPoint}{\oarg{local options}\parg{point}\var{label}}%
+\begin{tabular}{lll}%
+arguments & example & \\
+\midrule
+\TAline{point}{\tkzcname{tkzLabelPoint(A)\{\$A\_1\$\}}}{}
+options & default & definition\\
+\midrule
+\TOline{TikZ options}{}{colour, position etc.}
+\bottomrule
+\end{tabular}
+
+\medskip
+Optionally, we can use any style of \TIKZ, especially placement with above, right, dots...
+\end{NewMacroBox}
+
+\subsubsection{Example with \tkzcname{tkzLabelPoint}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(4,0){B}
+ \tkzDefPoint(0,3){C}
+ \tkzDrawSegments(A,B B,C C,A)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoint[left,red](A){$A$}
+ \tkzLabelPoint[right,blue](B){$B$}
+ \tkzLabelPoint[above,purple](C){$C$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Label and reference}
+ The reference of a point is the object that allows to use the point, the label is the name of the point that will be displayed.
+
+\begin{tkzexample}[latex=6cm,small]
+ \begin{tikzpicture}
+ \tkzDefPoint(2,0){A}
+ \tkzDrawPoint(A)
+ \tkzLabelPoint[above](A){$A_1$}
+ \end{tikzpicture}
+ \end{tkzexample}
+
+\subsection{Add labels to points \tkzcname{tkzLabelPoints}}
+It is possible to place several labels quickly when the point references are identical to the labels and when the labels are placed in the same way in relation to the points. By default, \tkzname{below right} is chosen.
+\hypertarget{tlps}{}
+
+\begin{NewMacroBox}{tkzLabelPoints}{\oarg{local options}\parg{$A_1,A_2,...$}}%
+\begin{tabular}{lll}
+arguments & example & result \\
+\midrule
+\TAline{list of points}{\tkzcname{tkzLabelPoints(A,B,C)}}{Display of $A$, $B$ and $C$}
+\bottomrule
+\end{tabular}
+
+\medskip
+This macro reduces the number of lines of code, but it is not obvious that all points need the same label positioning.
+\end{NewMacroBox}
+
+\subsubsection{Example with \tkzcname{tkzLabelPoints}}
+\begin{tkzexample}[latex = 6cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(2,3){A}
+ \tkzDefShiftPoint[A](30:2){B}
+ \tkzDefShiftPoint[A](30:5){C}
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+%<--------------------------------------------------------------------------->
+% tkzAutoLabelPoints
+%<--------------------------------------------------------------------------->
+\subsection{Automatic position of labels \tkzcname{tkzAutoLabelPoints}}
+The label of a point is placed in a direction defined by a center and a point \tkzname{center}. The distance to the point is determined by a percentage of the distance between the center and the point. This percentage is given by \tkzname{dist}.
+\begin{NewMacroBox}{tkzLabelPoints}{\oarg{local options}\parg{$A_1,A_2,...$}}%
+\begin{tabular}{lll}
+arguments & example & result \\
+\midrule
+\TAline{list of points}{\tkzcname{tkzLabelPoint(A,B,C)}}{Display of $A$, $B$ and $C$}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Example with \tkzcname{tkzAutoLabelPoints}}
+Here the points are positioned relative to the center of gravity of $A,B,C \text{ and } O$.
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(2,1){O}
+ \tkzDefRandPointOn[circle=center O radius 1.5]
+ \tkzGetPoint{A}
+ \tkzDrawCircle(O,A)
+ \tkzDefPointBy[rotation=center O angle 100](A)
+ \tkzGetPoint{C}
+ \tkzDefPointBy[rotation=center O angle 78](A)
+ \tkzGetPoint{B}
+ \tkzDrawPoints(O,A,B,C)
+ \tkzDrawSegments(C,B B,A A,O O,C)
+ \tkzDefCentroid(A,B,C,O)
+ \tkzDrawPoint(tkzPointResult)
+ \tkzAutoLabelPoints[center=tkzPointResult,
+ dist=.3,red](O,A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example with \tkzcname{tkzAutoLabelPoints}}
+This time the reference is $O$ and the distance is by default $0.15$.
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(2,1){O}
+ \tkzDefRandPointOn[circle=center O radius 1.5]
+ \tkzGetPoint{A}
+ \tkzDrawCircle(O,A)
+ \tkzDefPointBy[rotation=center O angle 100](A)
+ \tkzGetPoint{C}
+ \tkzDefPointBy[rotation=center O angle 78](A)
+ \tkzGetPoint{B}
+ \tkzDrawPoints(O,A,B,C)
+ \tkzDrawSegments(C,B B,A A,O O,C)
+ \tkzAutoLabelPoints[center=O,red](A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\section{Label for a segment}
+\hypertarget{tls}{}
+\begin{NewMacroBox}{tkzLabelSegment}{\oarg{local options}\parg{pt1,pt2}\marg{label}}
+This macro allows you to place a label along a segment or a line. The options are those of \TIKZ\ for example \tkzname{pos}.
+
+\medskip
+\begin{tabular}{lll}%%
+argument & example & definition \\
+\midrule
+\TAline{label}{\tkzcname{tkzLabelSegment(A,B)\{$5$\}}}{label text}
+\TAline{(pt1,pt2)}{(A,B)}{label along $[AB]$}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{pos}{.5}{label's position}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{First example}
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(6,0){B}
+\tkzDrawSegment(A,B)
+\tkzLabelSegment[above,pos=.8](A,B){$a$}
+\tkzLabelSegment[below,pos=.2](A,B){$4$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example : blackboard}
+\begin{tkzexample}[latex=6cm,small]
+\tikzstyle{background rectangle}=[fill=black]
+\begin{tikzpicture}[show background rectangle,scale=.4]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(1,0){I}
+ \tkzDefPoint(10,0){A}
+ \tkzDefPointWith[orthogonal normed,K=4](I,A)
+ \tkzGetPoint{H}
+ \tkzDefMidPoint(O,A) \tkzGetPoint{M}
+ \tkzInterLC(I,H)(M,A)\tkzGetPoints{C}{B}
+ \tkzDrawSegments[color=white,line width=1pt](I,H O,A)
+ \tkzDrawPoints[color=white](O,I,A,B,M)
+ \tkzMarkRightAngle[color=white,line width=1pt](A,I,B)
+ \tkzDrawArc[color=white,line width=1pt,
+ style=dashed](M,A)(O)
+ \tkzLabelSegment[white,right=1ex,pos=.5](I,B){$\sqrt{a}$}
+ \tkzLabelSegment[white,below=1ex,pos=.5](O,I){$1$}
+ \tkzLabelSegment[pos=.6,white,below=1ex](I,A){$a$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Labels and option : \tkzname{swap}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[rotate=-60]
+\tkzSetUpStyle[red,auto]{label seg style}
+\tkzDefPoint(0,1){A}
+\tkzDefPoint(2,4){C}
+\tkzDefPointWith[orthogonal normed,K=7](C,A)
+\tkzGetPoint{B}
+\tkzDefSpcTriangle[orthic](A,B,C){N,O,P}
+\tkzDefTriangleCenter[circum](A,B,C)
+\tkzGetPoint{O}
+\tkzDrawPolygon[green!60!black](A,B,C)
+\tkzDrawLine[dashed,color=magenta](C,P)
+\tkzLabelSegment(B,A){$c$}
+\tkzLabelSegment[swap](B,C){$a$}
+\tkzLabelSegment[swap](C,A){$b$}
+\tkzMarkAngles[size=1,
+ color=cyan,mark=|](C,B,A A,C,P)
+\tkzMarkAngle[size=0.75,
+ color=orange,mark=||](P,C,B)
+\tkzMarkAngle[size=0.75,
+ color=orange,mark=||](B,A,C)
+\tkzMarkRightAngles[german](A,C,B B,P,C)
+\tkzAutoLabelPoints[center = O,dist= .1](A,B,C)
+ \tkzLabelPoint[below left](P){$P$}
+ \end{tikzpicture}
+\end{tkzexample}
+
+\hypertarget{tlss}{}
+ \begin{NewMacroBox}{tkzLabelSegments}{\oarg{local options}\parg{pt1,pt2 pt3,pt4 ...}}%
+The arguments are a two-point couple list. The styles of \TIKZ\ are available for plotting.
+\end{NewMacroBox}
+
+\subsubsection{Labels for an isosceles triangle}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoints{0/0/O,2/2/A,4/0/B,6/2/C}
+ \tkzDrawSegments(O,A A,B)
+ \tkzDrawPoints(O,A,B)
+ \tkzDrawLine(O,B)
+ \tkzLabelSegments[color=red,above=4pt](O,A A,B){$a$}
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\section{Add labels on a straight line \tkzcname{tkzLabelLine}}%
+
+\begin{NewMacroBox}{tkzLabelLine}{\oarg{local options}\parg{pt1,pt2}\marg{label}}
+\begin{tabular}{lll}%
+arguments & default & definition \\
+\midrule
+\TAline{label}{}{\tkzcname{tkzLabelLine(A,B)}\{\$\tkzcname{Delta}\$\}}
+\bottomrule
+\end{tabular}
+
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{pos}{.5}{\tkzname{pos} is an option for \TIKZ, but essential in this case\dots}
+\end{tabular}
+
+As an option, and in addition to the \tkzname{pos}, you can use all styles of \TIKZ, especially the placement with \tkzname{above}, \tkzname{right}, \dots
+\end{NewMacroBox}
+
+\subsubsection{Example with \tkzcname{tkzLabelLine}}
+An important option is \tkzname{pos}, it's the one that allows you to place the label along the right. The value of \tkzname{pos} can be greater than 1 or negative.
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,3/0/B,1/1/C}
+ \tkzDefLine[perpendicular=through C,K=-1](A,B)
+ \tkzGetPoint{c}
+ \tkzDrawLines(A,B C,c)
+ \tkzLabelLine[pos=1.25,blue,right](C,c){$(\delta)$}
+ \tkzLabelLine[pos=-0.25,red,left](C,c){again $(\delta)$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Label at an angle : \tkzcname{tkzLabelAngle}}
+
+\begin{NewMacroBox}{tkzLabelAngle}{\oarg{local options}\parg{A,O,B}}%
+There is only one option, dist (with or without unit), which can be replaced by the TikZ's pos option (without unit for the latter). By default, the value is in centimeters.
+
+\begin{tabular}{lll}%
+ \toprule
+options & default & definition \\
+\midrule
+\TOline{pos}{1}{ or dist, controls the distance from the top to the label.}
+\bottomrule
+\end{tabular}
+
+\medskip
+It is possible to move the label with all TikZ options : rotate, shift, below, etc.
+\end{NewMacroBox}
+
+\subsubsection{Example author js bibra stackexchange}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){C}
+ \tkzDefPoint(20:9){B}
+ \tkzDefPoint(80:5){A}
+ \tkzDefPointsBy[projection=onto B--C](A){a}
+ \tkzDrawPolygon[thick,fill=yellow!15](A,B,C)
+ \tkzDrawSegment[dashed, red](A,a)
+ \tkzDrawSegment[style=red, dashed,
+ dim={$10$,15pt,midway,font=\scriptsize,
+ rotate=90}](A,a)
+ \tkzMarkAngle(B,C,A)
+ \tkzMarkRightAngle(A,a,C)
+ \tkzMarkRightAngle(C,A,B)
+ \tkzFillAngle[fill=blue!20, opacity=0.5](B,C,A)
+ \tkzFillAngle[fill=red!20, opacity=0.5](A,B,C)
+ \tkzLabelAngle[pos=1.25](A,B,C){$\beta$}
+ \tkzLabelAngle[pos=1.25](B,C,A){$\alpha$}
+ \tkzMarkAngle(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(B,C)
+ \tkzLabelPoints[above](A)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Example with \tkzname{pos}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/0/O,5/0/A,3/4/B}
+ \tkzMarkAngle[size = 4,mark = ||,
+ arc=ll,color = red](A,O,B)%
+ \tkzDrawLines(O,A O,B)
+ \tkzDrawPoints(O,A,B)
+ \tkzLabelAngle[pos=2,draw,circle,
+ fill=blue!10](A,O,B){$\alpha$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[rotate=30]
+ \tkzDefPoint(2,1){S}
+ \tkzDefPoint(7,3){T}
+ \tkzDefPointBy[rotation=center S angle 60](T)
+ \tkzGetPoint{P}
+ \tkzDefLine[bisector,normed](T,S,P)
+ \tkzGetPoint{s}
+ \tkzDrawPoints(S,T,P)
+ \tkzDrawPolygon[color=blue](S,T,P)
+ \tkzDrawLine[dashed,color=blue,add=0 and 3](S,s)
+ \tkzLabelPoint[above right](P){$P$}
+ \tkzLabelPoints(S,T)
+ \tkzMarkAngle[size = 1.8,mark = |,arc=ll,
+ color = blue](T,S,P)
+ \tkzMarkAngle[size = 2.1,mark = |,arc=l,
+ color = blue](T,S,s)
+ \tkzMarkAngle[size = 2.3,mark = |,arc=l,
+ color = blue](s,S,P)
+ \tkzLabelAngle[pos = 1.5](T,S,P){$60^{\circ}$}%
+ \tkzLabelAngles[pos = 2.7](T,S,s s,S,P){%
+ $30^{\circ}$}%
+\end{tikzpicture}
+\end{tkzexample}
+
+
+
+\begin{NewMacroBox}{tkzLabelAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
+With common options, there is a macro for multiple angles.
+\end{NewMacroBox}
+
+It finally remains to be able to give a label to designate a circle and if several possibilities are offered, we will see here \tkzcname{tkzLabelCircle}.
+
+\subsection{Giving a label to a circle}
+\begin{NewMacroBox}{tkzLabelCircle}{\oarg{local options}\parg{A,B}\parg{angle}\marg{label}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{radius} {radius}{circle characterized by two points defining a radius}
+\TOline{R} {radius}{circle characterized by a point and the measurement of a radius }
+\bottomrule
+\end{tabular}
+
+\medskip
+You don't need to put \tkzname{radius} because that's the default option. We can use the styles from \TIKZ. The label is created and therefore "passed" between braces.
+\end{NewMacroBox}
+
+\subsubsection{Example}
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){O} \tkzDefPoint(2,0){N}
+ \tkzDefPointBy[rotation=center O angle 50](N)
+ \tkzGetPoint{M}
+ \tkzDefPointBy[rotation=center O angle -20](N)
+ \tkzGetPoint{P}
+ \tkzDefPointBy[rotation=center O angle 125](N)
+ \tkzGetPoint{P'}
+ \tkzLabelCircle[above=4pt](O,N)(120){$\mathcal{C}$}
+ \tkzDrawCircle(O,M)
+ \tkzFillCircle[color=blue!10,opacity=.4](O,M)
+ \tkzLabelCircle[R,draw,
+ text width=2cm,text centered](O,3)(-60)%
+ {The circle\\ $\mathcal{C}$}
+ \tkzDrawPoints(M,P)\tkzLabelPoints[right](M,P)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Second example}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{2/3/A,5/-1/B}
+ \tkzDefPoint[label=below:$\mathcal{C}$,
+ shift={(2,3)}](-30:5.5){E}
+ \begin{scope}[shift=(A)]
+ \tkzDefPoint(30:5){C}
+ \end{scope}
+ \tkzDrawCircle(A,B)
+ \tkzDrawSegment(A,B)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints[right](B,C)
+ \tkzLabelPoints[above](A)
+\end{tikzpicture}
+\end{tkzexample}
+
+\section{Label for an arc}
+\hypertarget{tls}{}
+\begin{NewMacroBox}{tkzLabelArc}{\oarg{local options}\parg{pt1,pt2,pt3}\marg{label}}
+This macro allows you to place a label along an arc. The options are those of \TIKZ\ for example \tkzname{pos}.
+
+\medskip
+\begin{tabular}{lll}%%
+argument & example & definition \\
+\midrule
+\TAline{label}{\tkzcname{tkzLabelSegment(A,B)\{$5$\}}}{label text}
+\TAline{(pt1,pt2,pt3)}{(O,A,B)}{label along the arc $\widearc{AB}$}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{pos}{.5}{label's position}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Label on arc}
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}
+\tkzDefPoint(0,0){O}
+\pgfmathsetmacro\r{2}
+\tkzDefPoint(30:\r){A}
+\tkzDefPoint(85:\r){B}
+\tkzDrawCircle(O,A)
+\tkzDrawPoints(B,A,O)
+\tkzLabelArc[right=2pt](O,A,B){$\widearc{AB}$}
+\tkzLabelPoints(A,B,O)
+\end{tikzpicture}
+\end{tkzexample}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex
index 45e4a3d3fd..923a5b462e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-lines.tex
@@ -7,6 +7,7 @@ It is of course essential to draw straight lines, but before this can be done, i
\begin{NewMacroBox}{tkzDefLine}{\oarg{local options}\parg{pt1,pt2} or \parg{pt1,pt2,pt3}}%
The argument is a list of two or three points. Depending on the case, the macro defines one or two points necessary to obtain the line sought. Either the macro \tkzcname{tkzGetPoint} or the macro \tkzcname{tkzGetPoints} must be used.
+I used the term "mediator" to designate the perpendicular bisector line at the middle of a line segment.
\medskip
\begin{tabular}{lll}%
@@ -21,7 +22,7 @@ arguments & example & explication \\
\begin{tabular}{lll}%
\toprule
options & default & definition \\
-\TOline{mediator}{}{two points are defined}
+\TOline{mediator}{}{perpendicular bisector of a line segment}
\TOline{perpendicular=through\dots}{mediator}{perpendicular to a straight line passing through a point}
\TOline{orthogonal=through\dots}{mediator}{see above }
\TOline{parallel=through\dots}{mediator}{parallel to a straight line passing through a point}
@@ -39,7 +40,7 @@ options & default & definition \\
\tkzDefLine[mediator](A,B) \tkzGetPoints{C}{D}
\tkzDefPointWith[linear,K=.75](C,D) \tkzGetPoint{D}
\tkzDefMidPoint(A,B) \tkzGetPoint{I}
- \tkzFillPolygon[color=orange!30](A,C,B,D)
+ \tkzFillPolygon[color=teal!30](A,C,B,D)
\tkzDrawSegments(A,B C,D)
\tkzMarkRightAngle(B,I,C)
\tkzDrawSegments(D,B D,A)
@@ -54,7 +55,7 @@ options & default & definition \\
\tkzDefLine[bisector,normed](B,A,C) \tkzGetPoint{a}
\tkzDrawLines[add= 0 and .5](A,B A,C)
\tkzShowLine[bisector,gap=4,size=2,color=red](B,A,C)
- \tkzDrawLines[blue!50,dashed,add= 0 and 3](A,a)
+ \tkzDrawLines[new,dashed,add= 0 and 3](A,a)
\end{tikzpicture}
\end{tkzexample}
@@ -108,7 +109,7 @@ It is not necessary to name the two points that define the mediator.
\foreach \ang in {5,10,...,360}{%
\tkzDefPoint(\ang:4){M}
\tkzDefLine[mediator](A,M)
- \tkzDrawLine[color=magenta,add= 3 and 3](tkzFirstPointResult,tkzSecondPointResult)}
+ \tkzDrawLine[color=teal,add= 3 and 3](tkzFirstPointResult,tkzSecondPointResult)}
\end{tikzpicture}
\end{tkzexample}
@@ -146,33 +147,33 @@ The tangent is not drawn. A second point of the tangent is given by \tkzname{tkz
\begin{tikzpicture}[scale=.75]
\tkzDefPoint(0,0){O}
\tkzDefPoint(6,6){E}
- \tkzDefRandPointOn[circle=center O radius 3cm]
+ \tkzDefRandPointOn[circle=center O radius 3]
\tkzGetPoint{A}
\tkzDrawSegment(O,A)
\tkzDrawCircle(O,A)
\tkzDefTangent[at=A](O)
\tkzGetPoint{h}
\tkzDrawLine[add = 4 and 3](A,h)
- \tkzMarkRightAngle[fill=red!30](O,A,h)
+ \tkzMarkRightAngle[fill=teal!30](O,A,h)
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Example of tangents passing through an external point }
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.8]
+\begin{tikzpicture}[scale=.8]
\tkzDefPoint(3,3){c}
- \tkzDefPoint(6,3){a0}
- \tkzRadius=1 cm
- \tkzDrawCircle[R](c,\tkzRadius)
+ \tkzDefPoint(6,3){a0}
+ \pgfmathsetmacro\R{1}
+ \tkzDrawCircle[R](c,\R)
\foreach \an in {0,10,...,350}{
- \tkzDefPointBy[rotation=center c angle \an](a0)
- \tkzGetPoint{a}
- \tkzDefTangent[from with R = a](c,\tkzRadius)
- \tkzGetPoints{e}{f}
- \tkzDrawLines[color=magenta](a,f a,e)
- \tkzDrawSegments(c,e c,f)
- }%
-\end{tikzpicture}
+ \tkzDefPointBy[rotation=center c angle \an](a0)
+ \tkzGetPoint{a}
+ \tkzDefTangent[from with R = a](c,\R)
+ \tkzGetPoints{e}{f}
+ \tkzDrawLines[color=teal](a,f a,e)
+ \tkzDrawSegments(c,e c,f)
+ }%
+\end{tikzpicture}
\end{tkzexample}
\subsubsection{Example of Andrew Mertz}
@@ -183,31 +184,16 @@ The tangent is not drawn. A second point of the tangent is given by \tkzname{tkz
\tkzDrawCircle(C,R)
\tkzDefTangent[from = A](C,R) \tkzGetPoints{D}{E}
\tkzDefTangent[from = B](C,R) \tkzGetPoints{F}{G}
- \tkzDrawSector[fill=blue!80!black,opacity=0.5](A,D)(E)
- \tkzFillSector[color=red!80!black,opacity=0.5](B,F)(G)
+ \tkzDrawSector[fill=teal!20,opacity=0.5](A,D)(E)
+ \tkzFillSector[color=teal,opacity=0.5](B,F)(G)
\tkzInterCC(A,D)(B,F) \tkzGetSecondPoint{I}
\tkzDrawPoint[color=black](I)
\end{tikzpicture}
\end{tkzexample}
\url{http://www.texample.net/tikz/examples/}
-\subsubsection{Drawing a tangent option \tkzimp{from with R} and \tkzimp{at}}
-\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){O}
- \tkzDefRandPointOn[circle=center O radius 4cm]
- \tkzGetPoint{A}
- \tkzDefTangent[at=A](O)
- \tkzGetPoint{h}
- \tkzDrawSegments(O,A)
- \tkzDrawCircle(O,A)
- \tkzDrawLine[add = 1 and 1](A,h)
- \tkzMarkRightAngle[fill=red!30](O,A,h)
- \end{tikzpicture}
-\end{tkzexample}
-
\subsubsection{Drawing a tangent option \tkzimp{from}}
-\begin{tkzexample}[latex=5cm,small]
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=.5]
\tkzDefPoint(0,0){B}
\tkzDefPoint(0,8){A}
@@ -230,436 +216,4 @@ The tangent is not drawn. A second point of the tangent is given by \tkzname{tkz
\end{tikzpicture}
\end{tkzexample}
-
-\section{Drawing, naming the lines}
-The following macros are simply used to draw, name lines.
-\subsection{Draw a straight line}
-To draw a normal straight line, just give a couple of points. You can use the \tkzname{add} option to extend the line (This option is due to \tkzimp{Mark Wibrow}, see the code below).
-
-\begin{tkzltxexample}[]
- \tikzset{%
- add/.style args={#1 and #2}{
- to path={%
- ($(\tikztostart)!-#1!(\tikztotarget)$)--($(\tikztotarget)!-#2!(\tikztostart)$)%
- \tikztonodes}}}
-\end{tkzltxexample}
-
-In the special case of lines defined in a triangle, the number of arguments is a list of three points (the vertices of the triangle). The second point is where the line will come from. The first and last points determine the target segment. The old method has therefore been slightly modified. So for \tkzcname{tkzDrawMedian}, instead of $(A,B)(C)$ you have to write $(B,C,A)$ where $C$ is the point that will be linked to the middle of the segment $[A,B]$.
-
-\begin{NewMacroBox}{tkzDrawLine}{\oarg{local options}\parg{pt1,pt2} or \parg{pt1,pt2,pt3}}%
-The arguments are a list of two points or three points.
-
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{median}{none}{[median](A,B,C) median from $B$}
-\TOline{altitude}{none}{[altitude](C,A,B) altitude from $A$}
-\TOline{bisector}{none}{[bisector](B,C,A) bisector from $C$}
-\TOline{none}{none}{draw the straight line $(AB)$}
-\TOline{add= nb1 and nb2}{.2 and .2}{extends the segment}
- \bottomrule
-\end{tabular}
-
-\tkzname{add} defines the length of the line passing through the points pt1 and pt2. Both numbers are percentages. The styles of \TIKZ\ are accessible for plots.
-\end{NewMacroBox}
-
-\subsubsection{Examples with \tkzname{add}}
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}
- \tkzInit[xmin=-2,xmax=3,ymin=-2.25,ymax=2.25]
- \tkzClip[space=.25]
- \tkzDefPoint(0,0){A} \tkzDefPoint(2,0.5){B}
- \tkzDefPoint(0,-1){C}\tkzDefPoint(2,-0.5){D}
- \tkzDefPoint(0,1){E} \tkzDefPoint(2,1.5){F}
- \tkzDefPoint(0,-2){G} \tkzDefPoint(2,-1.5){H}
- \tkzDrawLine(A,B) \tkzDrawLine[add = 0 and .5](C,D)
- \tkzDrawLine[add = 1 and 0](E,F)
- \tkzDrawLine[add = 0 and 0](G,H)
- \tkzDrawPoints(A,B,C,D,E,F,G,H)
- \tkzLabelPoints(A,B,C,D,E,F,G,H)
-\end{tikzpicture}
-\end{tkzexample}
-
-It is possible to draw several lines, but with the same options.
-\begin{NewMacroBox}{tkzDrawLines}{\oarg{local options}\parg{pt1,pt2 pt3,pt4 ...}}%
-Arguments are a list of pairs of points separated by spaces. The styles of \TIKZ\ are available for the draws.
-\end{NewMacroBox}
-
-\subsubsection{Example with \tkzcname{tkzDrawLines}}
-
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,0){B}
- \tkzDefPoint(1,2){C}
- \tkzDefPoint(3,2){D}
- \tkzDrawLines(A,B C,D A,C B,D)
- \tkzLabelPoints(A,B,C,D)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example with the option \tkzname{add}}
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(3,1){I}
- \tkzDefPoint(1,4){J}
- \tkzDefLine[bisector](I,O,J)
- \tkzGetPoint{i}
- \tkzDefLine[bisector out](I,O,J)
- \tkzGetPoint{j}
- \tkzDrawLines[add = 1 and .5,color=red](O,I O,J)
- \tkzDrawLines[add = 1 and .5,color=blue](O,i O,j)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Medians in a triangle}
-\begin{tkzexample}[latex=7 cm,small]
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C)
- \tkzSetUpLine[color=blue]
- \tkzDrawLine[median](B,C,A)
- \tkzDrawLine[median](C,A,B)
- \tkzDrawLine[median](A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Altitudes in a triangle}
-\begin{tkzexample}[latex=7 cm,small]
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C)
- \tkzSetUpLine[color=magenta]
- \tkzDrawLine[altitude](B,C,A)
- \tkzDrawLine[altitude](C,A,B)
- \tkzDrawLine[altitude](A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Bisectors in a triangle}
-You have to give the angles in a straight line.
-
-\begin{tkzexample}[latex=7 cm,small]
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C)
- \tkzSetUpLine[color=purple]
- \tkzDrawLine[bisector](B,C,A)
- \tkzDrawLine[bisector](C,A,B)
- \tkzDrawLine[bisector](A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Add labels on a straight line \tkzcname{tkzLabelLine}}%
-\begin{NewMacroBox}{tkzLabelLine}{\oarg{local options}\parg{pt1,pt2}\marg{label}}
-\begin{tabular}{lll}%
-arguments & default & definition \\
-\midrule
-\TAline{label}{}{\tkzcname{tkzLabelLine(A,B)}\{\$\tkzcname{Delta}\$\}}
-\bottomrule
-\end{tabular}
-
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{pos}{.5}{\tkzname{pos} is an option for \TIKZ, but essential in this case\dots}
-\end{tabular}
-
-As an option, and in addition to the \tkzname{pos}, you can use all styles of \TIKZ, especially the placement with \tkzname{above}, \tkzname{right}, \dots
-\end{NewMacroBox}
-
-\subsubsection{Example with \tkzcname{tkzLabelLine}}
-An important option is \tkzname{pos}, it's the one that allows you to place the label along the right. The value of \tkzname{pos} can be greater than 1 or negative.
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,3/0/B,1/1/C}
- \tkzDefLine[perpendicular=through C,K=-1](A,B)
- \tkzGetPoint{c}
- \tkzDrawLines(A,B C,c)
- \tkzLabelLine[pos=1.25,blue,right](C,c){$(\delta)$}
- \tkzLabelLine[pos=-0.25,red,left](C,c){again $(\delta)$}
-\end{tikzpicture}
-\end{tkzexample}
-
-\section{Draw, Mark segments}
-There is, of course, a macro to simply draw a segment (it would be possible, as for a half line, to create a style with \tkzcname{add}).
-\subsection{Draw a segment \tkzcname{tkzDrawSegment}}
-\begin{NewMacroBox}{tkzDrawSegment}{\oarg{local options}\parg{pt1,pt2}}%
-The arguments are a list of two points. The styles of \TIKZ\ are available for the drawings.
-
-\medskip
-\begin{tabular}{lll}%
-argument & example & definition \\
-\midrule
-\TAline{(pt1,pt2)}{(A,B)}{draw the segment $[A,B]$}
-\bottomrule
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-options & example & definition \\
-\midrule
-\TOline{\TIKZ\ options}{}{all \TIKZ\ options are valid.}
-\TOline{add}{0 and 0}{add = $kl$ and $kr$, \dots}
-\TOline{\dots}{\dots}{allows the segment to be extended to the left and right. }
-\TOline{dim}{no default}{dim = \{label,dim,option\}, \dots}
-\TOline{\dots}{\dots}{allows you to add dimensions to a figure.}
-\bottomrule
-\end{tabular}
-
-This is of course equivalent to \tkzcname{draw (A)--(B);}
-\end{NewMacroBox}
-
-\subsubsection{Example with point references}
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,1){B}
- \tkzDrawSegment[color=red,thin](A,B)
- \tkzDrawPoints(A,B)
- \tkzLabelPoints(A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example of extending an segment with option \tkzname{add}}
-
-\begin{tkzexample}[latex=7cm,small]
- \begin{tikzpicture}
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefTriangleCenter[euler](A,B,C)
- \tkzGetPoint{E}
- \tkzDrawCircle[euler,red](A,B,C)
- \tkzDrawLines[add=.5 and .5](A,B A,C B,C)
- \tkzDrawPoints(A,B,C,E)
- \tkzLabelPoints(A,B,C,E)
- \end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example of adding dimensions with option \tkzname{dim}}
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=4]
- \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
- % Define the first two points
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,0){B}
- \tkzDefPoint(1,1){C}
- % Draw the triangle and the points
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- % Label the sides
- \tkzCalcLength[cm](A,B)\tkzGetLength{ABl}
- \tkzCalcLength[cm](B,C)\tkzGetLength{BCl}
- \tkzCalcLength[cm](A,C)\tkzGetLength{ACl}
- % add dim
- \tkzDrawSegment[dim={\pgfmathprintnumber\BCl,6pt,transform shape}](C,B)
- \tkzDrawSegment[dim={\pgfmathprintnumber\ACl,6pt,transform shape}](A,C)
- \tkzDrawSegment[dim={\pgfmathprintnumber\ABl,-6pt,transform shape}](A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsection{Drawing segments \tkzcname{tkzDrawSegments}}
-If the options are the same we can plot several segments with the same macro.
-
-\begin{NewMacroBox}{tkzDrawSegments}{\oarg{local options}\parg{pt1,pt2 pt3,pt4 ...}}%
-The arguments are a two-point couple list. The styles of \TIKZ\ are available for the plots.
-\end{NewMacroBox}
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=3,ymin=-1,ymax=2]
- \tkzClip[space=1]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,1){B}
- \tkzDefPoint(3,0){C}
- \tkzDrawSegments(A,B B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,C)
- \tkzLabelPoints[above](B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Place an arrow on segment}
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}
- \tikzset{
- arr/.style={postaction=decorate,
- decoration={markings,
- mark=at position .5 with {\arrow[thick]{#1}}
- }}}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,-4){B}
- \tkzDrawSegments[arr=stealth](A,B)
- \tkzDrawPoints(A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Mark a segment \tkzcname{tkzMarkSegment}}
-\hypertarget{tms}{}
-
- \begin{NewMacroBox}{tkzMarkSegment}{\oarg{local options}\parg{pt1,pt2}}%
-The macro allows you to place a mark on a segment.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{pos}{.5}{position of the mark}
-\TOline{color}{black}{color of the mark}
-\TOline{mark}{none}{choice of the mark}
-\TOline{size}{4pt}{size of the mark}
-\bottomrule
-\end{tabular}
-
-Possible marks are those provided by \TIKZ, but other marks have been created based on an idea by Yves Combe.
-\end{NewMacroBox}
-
-\subsubsection{Several marks }
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(6,4){B}
- \tkzDrawSegment(A,B)
- \tkzMarkSegment[color=brown,size=2pt,pos=0.4, mark=z](A,B)
- \tkzMarkSegment[color=blue,pos=0.2, mark=oo](A,B)
- \tkzMarkSegment[pos=0.8,mark=s,color=red](A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Use of \tkzname{mark}}
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(6,4){B}
- \tkzDrawSegment(A,B)
- \tkzMarkSegment[color=gray,pos=0.2,mark=s|](A,B)
- \tkzMarkSegment[color=gray,pos=0.4,mark=s||](A,B)
- \tkzMarkSegment[color=brown,pos=0.6,mark=||](A,B)
- \tkzMarkSegment[color=red,pos=0.8,mark=|||](A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsection{Marking segments \tkzcname{tkzMarkSegments}}
-\hypertarget{tmss}{}
-
-\begin{NewMacroBox}{tkzMarkSegments}{\oarg{local options}\parg{pt1,pt2 pt3,pt4 ...}}%
-Arguments are a list of pairs of points separated by spaces. The styles of \TIKZ\ are available for plots.
-\end{NewMacroBox}
-
-\subsubsection{Marks for an isosceles triangle}
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/O,2/2/A,4/0/B,6/2/C}
- \tkzDrawSegments(O,A A,B)
- \tkzDrawPoints(O,A,B)
- \tkzDrawLine(O,B)
- \tkzMarkSegments[mark=||,size=6pt](O,A A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Another marking}
-\begin{tkzexample}[latex=5cm,small]
- \begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){A}\tkzDefPoint(3,2){B}
- \tkzDefPoint(4,0){C}\tkzDefPoint(2.5,1){P}
- \tkzDrawPolygon(A,B,C)
- \tkzDefEquilateral(A,P) \tkzGetPoint{P'}
- \tkzDefPointsBy[rotation=center A angle 60](P,B){P',C'}
- \tkzDrawPolygon(A,P,P')
- \tkzDrawPolySeg(P',C',A,P,B)
- \tkzDrawSegment(C,P)
- \tkzDrawPoints(A,B,C,C',P,P')
- \tkzMarkSegments[mark=s|,size=6pt,
- color=blue](A,P P,P' P',A)
- \tkzMarkSegments[mark=||,color=orange](B,P P',C')
- \tkzLabelPoints(A,C) \tkzLabelPoints[below](P)
- \tkzLabelPoints[above right](P',C',B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\hypertarget{tls}{}
-\begin{NewMacroBox}{tkzLabelSegment}{\oarg{local options}\parg{pt1,pt2}\marg{label}}
-This macro allows you to place a label along a segment or a line. The options are those of \TIKZ\ for example \tkzname{pos}.
-
-\medskip
-\begin{tabular}{lll}%%
-argument & example & definition \\
-\midrule
-\TAline{label}{\tkzcname{tkzLabelSegment(A,B)\{$5$\}}}{label text}
-\TAline{(pt1,pt2)}{(A,B)}{label along $[AB]$}
-\bottomrule
-\end{tabular}
-
-
-\medskip
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{pos}{.5}{label's position}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Multiple labels}
-\begin{tkzexample}[latex=7 cm,small]
-\begin{tikzpicture}
-\tkzInit
-\tkzDefPoint(0,0){A}
-\tkzDefPoint(6,0){B}
-\tkzDrawSegment(A,B)
-\tkzLabelSegment[above,pos=.8](A,B){$a$}
-\tkzLabelSegment[below,pos=.2](A,B){$4$}
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Labels and right-angled triangle}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[rotate=-60]
-\tikzset{label seg style/.append style = {%
- color = red,
- }}
-\tkzDefPoint(0,1){A}
-\tkzDefPoint(2,4){C}
-\tkzDefPointWith[orthogonal normed,K=7](C,A)
-\tkzGetPoint{B}
-\tkzDrawPolygon[green!60!black](A,B,C)
-\tkzDrawLine[altitude,dashed,color=magenta](B,C,A)
-\tkzGetPoint{P}
-\tkzLabelPoint[left](A){$A$}
-\tkzLabelPoint[right](B){$B$}
-\tkzLabelPoint[above](C){$C$}
-\tkzLabelPoint[below](P){$P$}
-\tkzLabelSegment[](B,A){$c$}
-\tkzLabelSegment[swap](B,C){$a$}
-\tkzLabelSegment[swap](C,A){$b$}
-\tkzMarkAngles[size=1cm,
- color=cyan,mark=|](C,B,A A,C,P)
-\tkzMarkAngle[size=0.75cm,
- color=orange,mark=||](P,C,B)
-\tkzMarkAngle[size=0.75cm,
- color=orange,mark=||](B,A,C)
-\tkzMarkRightAngles[german](A,C,B B,P,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\hypertarget{tlss}{}
- \begin{NewMacroBox}{tkzLabelSegments}{\oarg{local options}\parg{pt1,pt2 pt3,pt4 ...}}%
-The arguments are a two-point couple list. The styles of \TIKZ\ are available for plotting.
-\end{NewMacroBox}
-
-\subsubsection{Labels for an isosceles triangle}
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/O,2/2/A,4/0/B,6/2/C}
- \tkzDrawSegments(O,A A,B)
- \tkzDrawPoints(O,A,B)
- \tkzDrawLine(O,B)
- \tkzLabelSegments[color=red,above=4pt](O,A A,B){$a$}
-\end{tikzpicture}
-\end{tkzexample}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdf
new file mode 100644
index 0000000000..91d7ecba05
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
index a62d02eb57..6b0f8f1c17 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
@@ -1,70 +1,44 @@
% !TEX TS-program = lualatex
-% encoding : utf8
-% Documentation of tkz-euclide
-% Copyright 2020 Alain Matthes
+% encoding : utf8
+% Documentation of tkz-euclide v4
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-%
-% This work consists of the files:
-% TKZdoc-euclide-pointby.tex
-% TKZdoc-euclide-presentation.tex
-% TKZdoc-euclide-exemples.tex
-% TKZdoc-euclide-rapporteur.tex
-% TKZdoc-euclide-compass.tex
-% TKZdoc-euclide-intersec.tex
-% TKZdoc-euclide-tools.tex
-% TKZdoc-euclide-arcs.tex
-% TKZdoc-euclide-circles.tex
-% TKZdoc-euclide-polygons.tex
-% TKZdoc-euclide-triangles.tex
-% TKZdoc-euclide-lines.tex
-% TKZdoc-euclide-pointwith.tex
-% TKZdoc-euclide-pointsSpc.tex
-% TKZdoc-euclide-points.tex
-% TKZdoc-euclide-installation.tex
-% TKZdoc-euclide-angles.tex
-% TKZdoc-euclide-config.tex
-% TKZdoc-euclide-base.tex
-% TKZdoc-euclide-FAQ.tex
-% TKZdoc-euclide-show.tex
-% TKZdoc-euclide-sectors.tex
-% TKZdoc-euclide-rnd.tex
-% TKZdoc-euclide-news.tex
+\PassOptionsToPackage{unicode}{hyperref}
\documentclass[DIV = 14,
fontsize = 10,
- headinclude = false,
index = totoc,
- footinclude = false,
twoside,
- headings = small
+ headings = small,
+ cadre
]{tkz-doc}
+%\usepackage{etoc}
\gdef\tkznameofpack{tkz-euclide}
-\gdef\tkzversionofpack{3.06c}
-\gdef\tkzdateofpack{2020/03/18}
+\gdef\tkzversionofpack{4.00}
+\gdef\tkzdateofpack{2022/01/04}
\gdef\tkznameofdoc{doc-tkz-euclide}
-\gdef\tkzversionofdoc{3.06c}
-\gdef\tkzdateofdoc{2020/03/18}
+\gdef\tkzversionofdoc{4.00}
+\gdef\tkzdateofdoc{2022/01/04}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
\gdef\tkznamecollection{AlterMundus}
-\gdef\tkzurlauthor{}
+\gdef\tkzurlauthor{http://altermundus.fr}
\gdef\tkzengine{lualatex}
\gdef\tkzurlauthorcom{http://altermundus.fr}
% -- Packages ---------------------------------------------------
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage{calc}
\usepackage{tkz-euclide}
-\usepackage[colorlinks]{hyperref}
+\usetikzlibrary{backgrounds}
+\usepackage[colorlinks,pdfencoding=auto, psdextra]{hyperref}
\hypersetup{
linkcolor=Gray,
citecolor=Green,
@@ -85,29 +59,52 @@
}
\usepackage{tkzexample}
\usepackage{fontspec}
-\setmainfont{texgyrepagella}%
- [Extension = .otf ,
- UprightFont = *-regular,
- ItalicFont = *-italic,
- BoldFont = *-bold,
- BoldItalicFont = *-bolditalic,
- Ligatures=TeX,
- Numbers={Lowercase,Monospaced}]
-\usepackage{unicode-math}
+\setmainfont{texgyrepagella}[
+ Extension = .otf,
+ UprightFont = *-regular ,
+ ItalicFont = *-italic ,
+ BoldFont = *-bold ,
+ BoldItalicFont = *-bolditalic
+]
+\setsansfont{texgyreheros}[
+ Extension = .otf,
+ UprightFont = *-regular ,
+ ItalicFont = *-italic ,
+ BoldFont = *-bold ,
+ BoldItalicFont = *-bolditalic ,
+]
+
+\setmonofont{lmmono10-regular.otf}[
+ Numbers={Lining,SlashedZero},
+ ItalicFont=lmmonoslant10-regular.otf,
+ BoldFont=lmmonolt10-bold.otf,
+ BoldItalicFont=lmmonolt10-boldoblique.otf,
+]
+\newfontfamily\ttcondensed{lmmonoltcond10-regular.otf}
+%% (La)TeX font-related declarations:
+\linespread{1.05} % Pagella needs more space between lines
+%\usepackage{unicode-math}
+\usepackage[math-style=literal,bold-style=literal]{unicode-math}
\usepackage{fourier-otf}
\makeatletter
\if@tkzcadre \usepackage{zorna} \fi
\makeatother
\usepackage{datetime,multicol,lscape}
\usepackage[english]{babel}
-\usepackage[autolanguage]{numprint}
\usepackage[normalem]{ulem}
-\usepackage{microtype}
\usepackage{array,multirow,multido,booktabs}
-\usepackage{shortvrb,fancyvrb}
+\usepackage{shortvrb,fancyvrb,bookmark}
\renewcommand{\labelitemi}{--}
\setlength\parindent{0pt}
+\RedeclareSectionCommand[tocnumwidth=3.5em]{part}
+\RedeclareSectionCommand[tocnumwidth=3.5em]{section}
+\RedeclareSectionCommand[tocnumwidth=3.5em]{subsection}
+\RedeclareSectionCommand[tocnumwidth=3.5em]{subsubsection}
+\renewcommand\partheadstartvskip{\clearpage\null\vfil}
+\renewcommand\partheadmidvskip{\par\nobreak\vskip 20pt\thispagestyle{empty}}
+\renewcommand\partheadendvskip{\vfil\clearpage}
+\renewcommand\raggedpart{\centering}
\RequirePackage{makeidx}
\makeindex
% \def\tkzref{\arabic{section}-\arabic{subsection}-\arabic{subsubsection}}
@@ -118,7 +115,46 @@
% }
%<--------------------------------------------------------------------------->
\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
-\begin{document}
+% settings
+\tkzSetUpColors[background=white,text=black]
+\tkzSetUpCompass[color=orange, line width=.4pt,delta=10]
+\tkzSetUpArc[color=gray,line width=.4pt]
+\tkzSetUpPoint[size=2,color=teal]
+\tkzSetUpLine[line width=.4pt,color=teal]
+\tkzSetUpStyle[orange]{new}
+\tikzset{every picture/.style={line width=.4pt}}
+\makeatletter
+% We need to save the node
+% Every append after command might be useful to have this code
+\def\savelastnode{\pgfextra\edef\tmpA{\tikzlastnode}\endpgfextra}
+\def\restorelastnode{\pgfextra\edef\tikzlastnode{\tmpA}\endpgfextra}
+
+% Define box and box title style
+\tikzstyle{mybox} = [draw=blue!50!black, very thick,
+ rectangle, rounded corners, inner sep=10pt, inner ysep=20pt,text=darkgray]
+\tikzstyle{fancytitle} =[fill=MidnightBlue!20, text=blue!50!black,rounded corners]
+\tikzstyle{title} = [append after command={%
+ \savelastnode node[fancytitle,right=10pt] at (\tikzlastnode.north west)%
+ {#1}\restorelastnode}]
+\makeatother
+
+\newcommand{\red}{\color{BrickRed}}
+\newcommand{\orange}{\color{PineGreen}}
+\newcommand{\blanc}{\color{White}}
+\newcommand{\ntt}{\normalfont\ttfamily}
+% command name
+\newcommand{\cn}[1]{{\protect\ntt\bslash#1}}
+% LaTeX package name
+% File name
+\newcommand{\fn}[1]{{\protect\ntt#1}}
+% environment name
+\newcommand{\env}[1]{{\protect\ntt#1}}
+\hfuzz1pc % Don't bother to report overfull boxes if overage is < 1pc
+
+\newcommand{\pkg}[1]{{\protect\ntt#1}}
+\begin{document}
+
+
\parindent=0pt
\author{\tkzauthorofpack}
@@ -142,9 +178,9 @@
fill=myblue!10,opacity=.5] (0,0) rectangle (300pt,240pt);
\node[text width=240pt] at (150 pt,120 pt){%
\begin{center}
- \color{MidnightBlue}
+ \color{MidnightBlue}
\fontsize{24}{48}
- \selectfont tkz-euclide\\
+ \selectfont tkz-euclide\\
tool for \\
Euclidean Geometry
\end{center}};
@@ -160,8 +196,8 @@
\let\rmfamily\ttfamily
\nameoffile{\tkznameofpack}
\defoffile{\lefthand\
-The \tkzname{\tkznameofpack} is a set of convenient macros for drawing in a plane (fundamental two-dimensional object) with a Cartesian coordinate system. It handles the most classic situations in Euclidean Geometry. \tkzname{\tkznameofpack} is built on top of PGF and its associated front-end \TIKZ\ and is a (La)TeX-friendly drawing package. The aim is to provide a high-level user interface to build graphics relatively simply. It uses a Cartesian coordinate system orthogonal provided by the \tkzimp{tkz-base} package as well as tools to define the unique coordinates of points and to manipulate them. The idea is to allow you to follow step by step a construction that would be done by hand as naturally as possible.\\
-Now the package needs the version 3.0 of \TIKZ. English is not my native language so there might be some errors.
+\tkzname{\tkznameofpack} 4.00 is now independent of tkz-base. It is a set of convenient macros for drawing in a plane (fundamental two-dimensional object) with a Cartesian coordinate system. It handles the most classic situations in Euclidean Geometry. \tkzname{\tkznameofpack} is built on top of PGF and its associated front-end \TIKZ\ and is a (La)TeX-friendly drawing package. The aim is to provide a high-level user interface to build graphics relatively simply. The idea is to allow you to follow step by step a construction that would be done by hand as naturally as possible.\\
+English is not my native language so there might be some errors.
}
\presentation
@@ -170,7 +206,7 @@ Now the package needs the version 3.0 of \TIKZ. English is not my native langu
\lefthand\ Firstly, I would like to thank \textbf{Till Tantau} for the beautiful \LaTeX{} package, namely \href{http://sourceforge.net/projects/pgf/}{\TIKZ}.
\vspace*{12pt}
-\lefthand\ I received much valuable advice, remarks, corrections and examples from \tkzimp{Jean-Côme Charpentier}, \tkzimp{Josselin Noirel}, \tkzimp{Manuel Pégourié-Gonnard}, \tkzimp{Franck Pastor}, \tkzimp{David Arnold}, \tkzimp{Ulrike Fischer}, \tkzimp{Stefan Kottwitz}, \tkzimp{Christian Tellechea}, \tkzimp{Nicolas Kisselhoff}, \tkzimp{David Arnold}, \tkzimp{Wolfgang Büchel}, \tkzimp{John Kitzmiller}, \tkzimp{Dimitri Kapetas}, \tkzimp{Gaétan Marris}, \tkzimp{Mark Wibrow}, \tkzimp{Yves Combe} for his work on a protractor, \tkzimp{Paul Gaborit} and \tkzimp{Laurent Van Deik} for all his corrections, remarks and questions.
+\lefthand\ Acknowledgements : I received much valuable advice, remarks, corrections and examples from \tkzimp{Jean-Côme Charpentier}, \tkzimp{Josselin Noirel}, \tkzimp{Manuel Pégourié-Gonnard}, \tkzimp{Franck Pastor}, \tkzimp{David Arnold}, \tkzimp{Ulrike Fischer}, \tkzimp{Stefan Kottwitz}, \tkzimp{Christian Tellechea}, \tkzimp{Nicolas Kisselhoff}, \tkzimp{David Arnold}, \tkzimp{Wolfgang Büchel}, \tkzimp{John Kitzmiller}, \tkzimp{Dimitri Kapetas}, \tkzimp{Gaétan Marris}, \tkzimp{Mark Wibrow}, \tkzimp{Yves Combe} for his work on a protractor, \tkzimp{Paul Gaborit}, \tkzimp{Laurent Van Deik} for all his corrections, remarks and questions and \tkzimp{Muzimuzhi Z} for the code about the option "dim".
\vspace*{12pt}
\lefthand\ I would also like to thank Eric Weisstein, creator of MathWorld:
@@ -192,32 +228,54 @@ Project Public License Distributed from \href{http://www.ctan.org/}{CTAN}\ arch
\clearpage
\newpage
-\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
-\include{TKZdoc-euclide-presentation}
+\part{General survey : a brief but comprehensive review}
\include{TKZdoc-euclide-installation}
+\include{TKZdoc-euclide-presentation}
+\include{TKZdoc-euclide-elements}
\include{TKZdoc-euclide-news}
+
+\part{Setting}
\include{TKZdoc-euclide-points}
+
+\part{Calculating}
\include{TKZdoc-euclide-pointsSpc}
\include{TKZdoc-euclide-pointby}
\include{TKZdoc-euclide-pointwith}
-\include{TKZdoc-euclide-rnd}
\include{TKZdoc-euclide-lines}
\include{TKZdoc-euclide-triangles}
\include{TKZdoc-euclide-polygons}
\include{TKZdoc-euclide-circles}
+\include{TKZdoc-euclide-circleby}
\include{TKZdoc-euclide-intersec}
\include{TKZdoc-euclide-angles}
-\include{TKZdoc-euclide-sectors}
-\include{TKZdoc-euclide-arcs}
-\include{TKZdoc-euclide-tools}
+\include{TKZdoc-euclide-rnd}
+
+\part{Drawing and Filling}
+\include{TKZdoc-euclide-drawing}
+\include{TKZdoc-euclide-filling}
+\include{TKZdoc-euclide-clipping}
+
+\part{Marking}
+\include{TKZdoc-euclide-marking}
+
+\part{Labelling}
+\include{TKZdoc-euclide-labelling}
+
+\part{Complements}
\include{TKZdoc-euclide-compass}
\include{TKZdoc-euclide-show}
\include{TKZdoc-euclide-rapporteur}
-\include{TKZdoc-euclide-exemples}
-\include{TKZdoc-euclide-config}
-\include{TKZdoc-euclide-base}
+\include{TKZdoc-euclide-tools}
+
+\part{Working with style}
+\include{TKZdoc-euclide-styles}
+
+\part{Examples}
+\include{TKZdoc-euclide-examples}
+\include{TKZdoc-euclide-others}
+\part{FAQ}
\include{TKZdoc-euclide-FAQ}
\clearpage\newpage
\small\printindex
-\end{document}
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-marking.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-marking.tex
new file mode 100644
index 0000000000..8ca0dc0f13
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-marking.tex
@@ -0,0 +1,406 @@
+\subsection{Mark a segment \tkzcname{tkzMarkSegment}}
+\hypertarget{tms}{}
+
+ \begin{NewMacroBox}{tkzMarkSegment}{\oarg{local options}\parg{pt1,pt2}}%
+The macro allows you to place a mark on a segment.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{pos}{.5}{position of the mark}
+\TOline{color}{black}{color of the mark}
+\TOline{mark}{none}{choice of the mark}
+\TOline{size}{4pt}{size of the mark}
+\bottomrule
+\end{tabular}
+
+Possible marks are those provided by \TIKZ, but other marks have been created based on an idea by Yves Combe.
+\end{NewMacroBox}
+
+\subsubsection{Several marks }
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(2,1){A}
+ \tkzDefPoint(6,4){B}
+ \tkzDrawSegment(A,B)
+ \tkzMarkSegment[color=brown,size=2pt,pos=0.4, mark=z](A,B)
+ \tkzMarkSegment[color=blue,pos=0.2, mark=oo](A,B)
+ \tkzMarkSegment[pos=0.8,mark=s,color=red](A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Use of \tkzname{mark}}
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(2,1){A}
+ \tkzDefPoint(6,4){B}
+ \tkzDrawSegment(A,B)
+ \tkzMarkSegment[color=gray,pos=0.2,mark=s|](A,B)
+ \tkzMarkSegment[color=gray,pos=0.4,mark=s||](A,B)
+ \tkzMarkSegment[color=brown,pos=0.6,mark=||](A,B)
+ \tkzMarkSegment[color=red,pos=0.8,mark=|||](A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Marking segments \tkzcname{tkzMarkSegments}}
+\hypertarget{tmss}{}
+
+\begin{NewMacroBox}{tkzMarkSegments}{\oarg{local options}\parg{pt1,pt2 pt3,pt4 ...}}%
+Arguments are a list of pairs of points separated by spaces. The styles of \TIKZ\ are available for plots.
+\end{NewMacroBox}
+
+\subsubsection{Marks for an isosceles triangle}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoints{0/0/O,2/2/A,4/0/B,6/2/C}
+ \tkzDrawSegments(O,A A,B)
+ \tkzDrawPoints(O,A,B)
+ \tkzDrawLine(O,B)
+ \tkzMarkSegments[mark=||,size=6pt](O,A A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Another marking}
+\begin{tkzexample}[latex=5cm,small]
+ \begin{tikzpicture}[scale=1]
+ \tkzDefPoint(0,0){A}\tkzDefPoint(3,2){B}
+ \tkzDefPoint(4,0){C}\tkzDefPoint(2.5,1){P}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDefEquilateral(A,P) \tkzGetPoint{P'}
+ \tkzDefPointsBy[rotation=center A angle 60](P,B){P',C'}
+ \tkzDrawPolygon(A,P,P')
+ \tkzDrawPolySeg(P',C',A,P,B)
+ \tkzDrawSegment(C,P)
+ \tkzDrawPoints(A,B,C,C',P,P')
+ \tkzMarkSegments[mark=s|,size=6pt,
+ color=blue](A,P P,P' P',A)
+ \tkzMarkSegments[mark=||,color=orange](B,P P',C')
+ \tkzLabelPoints(A,C) \tkzLabelPoints[below](P)
+ \tkzLabelPoints[above right](P',C',B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Mark an arc \tkzcname{tkzMarkArc}}
+\hypertarget{tms}{}
+
+ \begin{NewMacroBox}{tkzMarkArc}{\oarg{local options}\parg{pt1,pt2,pt3}}%
+The macro allows you to place a mark on an arc. pt1 is the center, pt2 and pt3 are the endpoints of the arc.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{pos}{.5}{position of the mark}
+\TOline{color}{black}{color of the mark}
+\TOline{mark}{none}{choice of the mark}
+\TOline{size}{4pt}{size of the mark}
+\bottomrule
+\end{tabular}
+
+Possible marks are those provided by \TIKZ, but other marks have been created based on an idea by Yves Combe.
+\begin{tkzltxexample}[]
+|, ||,|||, z, s, x, o, oo
+\end{tkzltxexample}
+\end{NewMacroBox}
+
+\subsubsection{Several marks }
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+\tkzDefPoint(0,0){O}
+\pgfmathsetmacro\r{2}
+\tkzDefPoint(30:\r){A}
+\tkzDefPoint(85:\r){B}
+\tkzDrawCircle(O,A)
+\tkzMarkArc[color=red,mark=||](O,A,B)
+\tkzDrawPoints(B,A,O)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Mark an angle mark : {\tkzcname{tkzMarkAngle}}}
+More delicate operation because there are many options. The symbols used for marking in addition to those of \TIKZ\ are defined in the file |tkz-lib-marks.tex| and designated by the following characters:\begin{tkzltxexample}[]
+|, ||,|||, z, s, x, o, oo
+\end{tkzltxexample}
+
+% Their definitions are as follows
+%
+% \begin{tkzltxexample}[]
+% \pgfdeclareplotmark{||}
+% %double bar
+% {%
+% \pgfpathmoveto{\pgfqpoint{2\pgflinewidth}{\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{-\pgfplotmarksize}}
+% \pgfpathmoveto{\pgfqpoint{-2\pgflinewidth}{\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{-2\pgflinewidth}{-\pgfplotmarksize}}
+% \pgfusepathqstroke
+% }
+% \end{tkzltxexample}
+%
+% \begin{tkzltxexample}[]
+% %triple bar
+% \pgfdeclareplotmark{|||}
+% {%
+% \pgfpathmoveto{\pgfqpoint{0 pt}{\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{0 pt}{-\pgfplotmarksize}}
+% \pgfpathmoveto{\pgfqpoint{-3\pgflinewidth}{\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{-3\pgflinewidth}{-\pgfplotmarksize}}
+% \pgfpathmoveto{\pgfqpoint{3\pgflinewidth}{\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{3\pgflinewidth}{-\pgfplotmarksize}}
+% \pgfusepathqstroke
+% }
+% \end{tkzltxexample}
+%
+% \begin{tkzltxexample}[]
+% % An bar slant
+% \pgfdeclareplotmark{s|}
+% {%
+% \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}%
+% {-.70710678\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}%
+% {.70710678\pgfplotmarksize}}
+% \pgfusepathqstroke
+% }
+% \end{tkzltxexample}
+%
+%
+% \begin{tkzltxexample}[]
+% % An double bar slant
+% \pgfdeclareplotmark{s||}
+% {%
+% \pgfpathmoveto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{0.25\pgfplotmarksize}{\pgfplotmarksize}}
+% \pgfpathmoveto{\pgfqpoint{0\pgfplotmarksize}{-\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{1\pgfplotmarksize}{\pgfplotmarksize}}
+% \pgfusepathqstroke
+% }
+% \end{tkzltxexample}
+%
+%
+% \begin{tkzltxexample}[]
+% % z
+% \pgfdeclareplotmark{z}
+% {%
+% \pgfpathmoveto{\pgfqpoint{0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{0.75\pgfplotmarksize}{\pgfplotmarksize}}
+% \pgfpathlineto{\pgfqpoint{-0.75\pgfplotmarksize}{\pgfplotmarksize}}
+% \pgfusepathqstroke
+% }
+% \end{tkzltxexample}
+%
+% \begin{tkzltxexample}[]
+% % s
+% \pgfdeclareplotmark{s}
+% {%
+% \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+% \pgfpathcurveto
+% {\pgfpoint{0pt}{0pt}}
+% {\pgfpoint{-\pgfplotmarksize}{\pgfplotmarksize}}
+% {\pgfpoint{\pgfplotmarksize}{\pgfplotmarksize}}
+% \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+% \pgfpathcurveto
+% {\pgfpoint{0pt}{0pt}}
+% {\pgfpoint{\pgfplotmarksize}{-\pgfplotmarksize}}
+% {\pgfpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}
+% \pgfusepathqstroke
+% }
+% \end{tkzltxexample}
+%
+% \begin{tkzltxexample}[]
+% % infinity
+% \pgfdeclareplotmark{oo}
+% {%
+% \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+% \pgfpathcurveto
+% {\pgfpoint{0pt}{0pt}}
+% {\pgfpoint{.5\pgfplotmarksize}{1\pgfplotmarksize}}
+% {\pgfpoint{\pgfplotmarksize}{0pt}}
+% \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+% \pgfpathcurveto
+% {\pgfpoint{0pt}{0pt}}
+% {\pgfpoint{-.5\pgfplotmarksize}{1\pgfplotmarksize}}
+% {\pgfpoint{-\pgfplotmarksize}{0pt}}
+% \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+% \pgfpathcurveto
+% {\pgfpoint{0pt}{0pt}}
+% {\pgfpoint{.5\pgfplotmarksize}{-1\pgfplotmarksize}}
+% {\pgfpoint{\pgfplotmarksize}{0pt}}
+% \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+% \pgfpathcurveto
+% {\pgfpoint{0pt}{0pt}}
+% {\pgfpoint{-.5\pgfplotmarksize}{-1\pgfplotmarksize}}
+% {\pgfpoint{-\pgfplotmarksize}{0pt}}
+% \pgfusepathqstroke
+% }
+% \end{tkzltxexample}
+%
+
+
+% \tkzMarkAngle(B, A, C)
+%
+% Marque d'angle
+% arc de cercle (simple/double/triple) et marque d'églité.
+%
+% Par défaut:
+% arc = simple
+% mksize = 1 (rayon de l'arc)
+% style traits pleins
+% mkpos ? position: 0.5 (position de la marque)
+% mark rien du tout (ignoré si type est utilisé)
+%
+% Paramètres (optionnels)
+% arc : l, ll, lll
+% mksize : 1
+% gap : 3pt
+% dist : 1?
+% style : type de traits
+% mkpos : 0.5
+% mark : none , |, ||,|||, z, s, x, o, oo mais tous les
+% % symboles de tikz sont permis
+
+\begin{NewMacroBox}{tkzMarkAngle}{\oarg{local options}\parg{A,O,B}}%
+$O$ is the vertex. Attention the arguments vary according to the options. Several markings are possible. You can simply draw an arc or add a mark on this arc. The style of the arc is chosen with the option \tkzname{arc}, the radius of the arc is given by \tkzname{mksize}, the arc can, of course, be colored.
+
+\medskip
+
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{arc}{l}{choice of l, ll and lll (single, double or triple).}
+\TOline{size}{1 (cm)}{arc radius.}
+\TOline{mark}{none}{choice of mark.}
+\TOline{mksize}{4pt}{symbol size (mark).}
+\TOline{mkcolor}{black}{symbol color (mark).}
+\TOline{mkpos}{0.5}{position of the symbol on the arc.}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Example with \tkzname{mark = x}}
+\begin{tkzexample}[latex=6cm,small]
+ \begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/0/O,5/0/A,3/4/B}
+ \tkzMarkAngle[size = 4,mark = x,
+ arc=ll,mkcolor = red](A,O,B)
+ \tkzDrawLines(O,A O,B)
+ \tkzDrawPoints(O,A,B)
+ \end{tikzpicture}
+\end{tkzexample}
+\DeleteShortVerb{\|}
+\subsubsection{Example with \tkzname{mark =||}}
+\MakeShortVerb{\|}
+\begin{tkzexample}[latex=6cm,small]
+ \begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/0/O,5/0/A,3/4/B}
+ \tkzMarkAngle[size = 4,mark = ||,
+ arc=ll,mkcolor = red](A,O,B)
+ \tkzDrawLines(O,A O,B)
+ \tkzDrawPoints(O,A,B)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\begin{NewMacroBox}{tkzMarkAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
+With common options, there is a macro for multiple angles.
+ \end{NewMacroBox}
+
+
+\subsection{Marking a right angle: {\tkzcname{tkzMarkRightAngle}}}
+
+\begin{NewMacroBox}{tkzMarkRightAngle}{\oarg{local options}\parg{A,O,B}}%
+The \tkzname{german} option allows you to change the style of the drawing. The option \tkzname{size} allows to change the size of the drawing.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options & default & definition \\
+\midrule
+\TOline{german}{normal}{ german arc with inner point.}
+\TOline{size}{0.2}{ side size.}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Example of marking a right angle}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,3/1/B,0.9/-1.2/P}
+ \tkzDefPointBy[projection = onto B--A](P) \tkzGetPoint{H}
+ \tkzDrawLines[add=.5 and .5](P,H)
+ \tkzMarkRightAngle[fill=blue!20,size=.5,draw](A,H,P)
+ \tkzDrawLines[add=.5 and .5](A,B)
+ \tkzMarkRightAngle[fill=red!20,size=.8](B,H,P)
+ \tkzDrawPoints[](A,B,P,H)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example of marking a right angle, german style}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,3/1/B,0.9/-1.2/P}
+ \tkzDefPointBy[projection = onto B--A](P) \tkzGetPoint{H}
+ \tkzDrawLines[add=.5 and .5](P,H)
+ \tkzMarkRightAngle[german,size=.5,draw](A,H,P)
+ \tkzDrawPoints[](A,B,P,H)
+ \tkzDrawLines[add=.5 and .5](A,B)
+ \tkzMarkRightAngle[german,size=.8](P,H,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Mix of styles}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(4,1){B}
+ \tkzDefPoint(2,5){C}
+ \tkzDefPointBy[projection=onto B--A](C)
+ \tkzGetPoint{H}
+ \tkzDrawLine(A,B)
+ \tkzDrawLine[add = .5 and .2,color=red](C,H)
+ \tkzMarkRightAngle[,size=1,color=red](C,H,A)
+ \tkzMarkRightAngle[german,size=.8,color=blue](B,H,C)
+ \tkzFillAngle[opacity=.2,fill=blue!20,size=.8](B,H,C)
+ \tkzLabelPoints(A,B,C,H)
+ \tkzDrawPoints(A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Full example}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[rotate=-90]
+\tkzDefPoint(0,1){A}
+\tkzDefPoint(2,4){C}
+\tkzDefPointWith[orthogonal normed,K=7](C,A)
+\tkzGetPoint{B}
+\tkzDrawSegment[green!60!black](A,C)
+\tkzDrawSegment[green!60!black](C,B)
+\tkzDrawSegment[green!60!black](B,A)
+\tkzDefSpcTriangle[orthic](A,B,C){N,O,P}
+\tkzDrawLine[dashed,color=magenta](C,P)
+\tkzLabelPoint[left](A){$A$}
+\tkzLabelPoint[right](B){$B$}
+\tkzLabelPoint[above](C){$C$}
+\tkzLabelPoint[left](P){$P$}
+\tkzLabelSegment[auto](B,A){$c$}
+\tkzLabelSegment[auto,swap](B,C){$a$}
+\tkzLabelSegment[auto,swap](C,A){$b$}
+\tkzMarkAngle[size=1,color=cyan,mark=|](C,B,A)
+\tkzMarkAngle[size=1,color=cyan,mark=|](A,C,P)
+\tkzMarkAngle[size=0.75,color=orange,
+ mark=||](P,C,B)
+\tkzMarkAngle[size=0.75,color=orange,
+ mark=||](B,A,C)
+\tkzMarkRightAngle[german](A,C,B)
+\tkzMarkRightAngle[german](B,P,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{\tkzcname{tkzMarkRightAngles}}
+\begin{NewMacroBox}{tkzMarkRightAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
+With common options, there is a macro for multiple angles.
+\end{NewMacroBox}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
index f6b6d1068d..1226b02e13 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-news.tex
@@ -1,21 +1,35 @@
\section{News and compatibility}
-
Some changes have been made to make the syntax more homogeneous and especially to distinguish the definition and search for coordinates from the rest, i.e. drawing, marking and labelling.
In the future, the definition macros being isolated, it will be easier to introduce a phase of coordinate calculations using \tkzimp{Lua}.
-An important novelty is the recent replacement of the \tkzNamePack{fp} package by \tkzNamePack{xfp}. This is to improve the calculations a little bit more and to make it easier to use.
-Here are some of the changes.
+Here are some of the changes. I'm sorry but the list of changes and novelties is made in the greatest disorder!
+
\vspace{1cm}
\begin{itemize}\setlength{\itemsep}{10pt}
+
+\item An important novelty is the recent replacement of the \tkzNamePack{fp} package by \tkzNamePack{xfp}. This is to improve the calculations a little bit more and to make it easier to use;
\item Improved code and bug fixes;
-\item With \tkzimp{tkz-euclide} loads all objects, so there's no need to place \tkzcname{usetkzobj\{all\}};\item The bounding box is now controlled in each macro (hopefully) to avoid the use of \tkzcname{tkzInit} followed by \tkzcname{tkzClip};\item Added macros for the bounding box: \tkzcname{tkzSaveBB} \tkzcname{tkzClipBB} and so on;\item Logically most macros accept \TIKZ\ options. So I removed the "duplicate" options when possible thus the "label options" option is removed;
+\item First of all, you don’t have to deal with Tik Z the size of the bounding box. Early versions of \tkzname{\tkznameofpack} did not control the size of the bounding box, The bounding box is now controlled in each macro (hopefully) to avoid the use of \tkzcname{tkzInit} followed by \tkzcname{tkzClip};
+
+\item With \tkzimp{tkz-euclide} loads all objects, so there's no need to place \tkzcname{usetkzobj\{all\}};
+
+\item Added macros for the bounding box: \tkzcname{tkzSaveBB} \tkzcname{tkzClipBB} and so on;
+
+\item Logically most macros accept \TIKZ\ options. So I removed the "duplicate" options when possible thus the "label options" option is removed;
+
+\item The unit is now the cm;
+
+\item |\tkzCalcLength| |\tkzGetLength| gives result in cm;
+
+\item |\tkzMarkArc| and |\tkzLabelArc| are new macros;
+
+\item Now |\tkzClipCircle| and |\tkzClipPolygon| have an option \tkzimp{out}. To use this option you must have a Bounding Box that contains the object on which the Clip action will be performed. Cela peut se faire en utilisant un objet qui englobe la figure ou bien en utilisant la macro \tkzcname{tkzInit};
-\item Random points are now in \tkzname{\tkznameofpack} and the macro \tkzcname{tkzGetRandPointOn} is replaced by \tkzcname{tkzDefRandPointOn}. For homogeneity reasons, the points must be retrieved with \tkzcname{tkzGetPoint};
\item The options \tkzname{end} and \tkzname{start} which allowed to give a label to a straight line are removed. You now have to use the macro \tkzcname{tkzLabelLine};
@@ -23,23 +37,30 @@ Here are some of the changes.
\item The notion of vector disappears, to draw a vector just pass "->" as an option to \tkzcname{tkzDrawSegment};
-\item Many macros still exist, but are obsolete and will disappear:
-\begin{itemize}
-
-\item |\tkzDrawMedians| trace and create midpoints on the sides of a triangle. The creation and drawing separation is not respected so it is preferable to first create the coordinates of these points with |\tkzSpcTriangle[median]| and then to choose the ones you are going to draw with |\tkzDrawSegments| or |\tkzDrawLines|;
+\item |\tkzDrawMedian|, |\tkzDrawBisector|, |\tkzDrawAltitude|, |\tkzDrawMedians|, |\tkzDrawBisectors| et |\tkzDrawAltitudes| do not exist anymore. The creation and drawing separation is not respected so it is preferable to first create the coordinates of these points with |\tkzDefSpcTriangle[median]| and then to choose the ones you are going to draw with |\tkzDrawSegments| or |\tkzDrawLines|;
-\item |\tkzDrawMedians(A,B)(C)| is now spelled |\tkzDrawMedians(A,C,B)|. This defines the median from $C$;
+\item |\tkzDefIntSimilitudeCenter| and |\tkzDefExtSimilitudeCenter| do not exist anymore;
-\item Another example |\tkzDrawTriangle[equilateral]| was handy but it is better to get the third point with |\tkzDefTriangle[equilateral]| and then draw with |\tkzDrawPolygon|;
+\item |\tkzDrawTriangle| has been deleted. |\tkzDrawTriangle[equilateral]| was handy but it is better to get the third point with |\tkzDefTriangle[equilateral]| and then draw with |\tkzDrawPolygon|; idem for |\tkzDrawSquare| and |\tkzDrawGoldRectangle|;
-\item |\tkzDefRandPointOn| is replaced by |\tkzGetRandPointOn|;\item now |\tkzTangent| is replaced by |\tkzDefTangent|;
+\item |\tkzDefRandPointOn| is replaced by |\tkzGetRandPointOn|;
-\item You can use |global path name| if you want find intersection but it's very slow like in \TIKZ.
+\item now |\tkzTangent| is replaced by |\tkzDefTangent|;
-\end{itemize}
+\item An option of the macro \tkzcname{tkzDefTriangle} has changed, in the previous version the option was "euclide" with an "e". Now it's "euclid";
+
+\item Random points are now in \tkzname{\tkznameofpack} and the macro \tkzcname{tkzGetRandPointOn} is replaced by
+
+ \tkzcname{tkzDefRandPointOn}. For homogeneity reasons, the points must be retrieved with \tkzcname{tkzGetPoint};
+
+\item New macros have been added : \tkzcname{tkzDrawSemiCircles}, \tkzcname{tkzDrawPolygons}, \tkzcname{tkzDrawTriangles};
+
+
+\item Option "isosceles right" is a new option of the macro \tkzcname{tkzDefTriangle};
+\item Appearance of the macro \tkzcname{usetkztool} which allows to load new "tools";
-\item Appearance of the macro \tkzcname{usetkztool} which allows to load new "tools".
+\item The styles can be modified with the help of the following macros : \tkzcname{tkzSetUpPoint}, \tkzcname{tkzSetUpLine}, \tkzcname{tkzSetUpArc}, \tkzcname{tkzSetUpCompass}, \tkzcname{tkzSetUpLabel} and \tkzcname{tkzSetUpStyle}. The last one allows you to create a new style.
\end{itemize}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex
new file mode 100644
index 0000000000..30af7dd713
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex
@@ -0,0 +1,319 @@
+
+\section{Different authors}
+
+\subsection{Code from Andrew Swan}
+
+\begin{tkzexample}[latex=7cm]
+\begin{tikzpicture}[scale=1.25]
+\def\radius{4}
+\def\angle{40}
+\pgfmathsetmacro{\htan}{tan(\angle)}
+\tkzDefPoint(0,0){A} \tkzDefPoint(0,\radius){F}
+\tkzDefPoint(\radius,0){B}
+\tkzDefPointBy[rotation= center A angle \angle](B)
+\tkzGetPoint{C}
+\tkzDefLine[perpendicular=through B,K=1](A,B)
+\tkzGetPoint{b}
+\tkzInterLL(A,C)(B,b) \tkzGetPoint{D}
+\tkzDefLine[perpendicular=through C,K=-1](A,B)
+\tkzGetPoint{c}
+\tkzInterLL(C,c)(A,B) \tkzGetPoint{E}
+\tkzDrawSector[fill=blue,opacity=0.1](A,B)(C)
+\tkzDrawArc[thin](A,B)(F)
+\tkzMarkAngle(B,A,C)
+\tkzLabelAngle[pos=0.8](B,A,C){$x$}
+\tkzDrawPolygon(A,B,D)
+\tkzDrawSegments(C,B)
+\tkzDrawSegments[dashed,thin](C,E)
+\tkzLabelPoints[below left](A)
+\tkzLabelPoints[below right](B)
+\tkzLabelPoints[above](C)
+\tkzLabelPoints[above right](D)
+\begin{scope}[/pgf/decoration/raise=5pt]
+\draw [decorate,decoration={brace,mirror,
+ amplitude=10pt},xshift=0pt,yshift=-4pt]
+(A) -- (B) node [black,midway,yshift=-20pt]
+{\footnotesize $1$};
+\draw [decorate,decoration={brace,amplitude=10pt},
+ xshift=4pt,yshift=0pt]
+(D) -- (B) node [black,midway,xshift=27pt]
+{\footnotesize $\tan x$};
+\draw [decorate,decoration={brace,amplitude=10pt},
+ xshift=4pt,yshift=0pt]
+(E) -- (C) node [black,midway,xshift=-27pt]
+{\footnotesize $\sin x$};
+\end{scope}
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Example: Dimitris Kapeta}
+
+You need in this example to use \tkzname{mkpos=.2} with \tkzcname{tkzMarkAngle} because the measure of $ \widehat{CAM}$ is too small.
+Another possiblity is to use \tkzcname{tkzFillAngle}.
+
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(2.5,0){N}
+ \tkzDefPoint(-4.2,0.5){M}
+ \tkzDefPointBy[rotation=center O angle 30](N)
+ \tkzGetPoint{B}
+ \tkzDefPointBy[rotation=center O angle -50](N)
+ \tkzGetPoint{A}
+ \tkzInterLC(M,B)(O,N) \tkzGetFirstPoint{C}
+ \tkzInterLC(M,A)(O,N) \tkzGetSecondPoint{A'}
+ \tkzMarkAngle[mkpos=.2, size=0.5](A,C,B)
+ \tkzMarkAngle[mkpos=.2, size=0.5](A,M,C)
+ \tkzDrawSegments(A,C M,A M,B)
+ \tkzDrawCircle(O,N)
+ \tkzLabelCircle[above left](O,N)(120){%
+ $\mathcal{C}$}
+ \begin{scope}[xfp]
+ \tkzMarkAngle[mkpos=.2, size=1.2](C,A,M)
+ \end{scope}
+
+ \tkzDrawPoints(O, A, B, M, B, C)
+ \tkzLabelPoints[right](O,A,B)
+ \tkzLabelPoints[above left](M,C)
+ \tkzLabelPoint[below left](A'){$A'$}
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Example : John Kitzmiller }
+Prove that $\dfrac{AC}{CE}=\dfrac{BD}{DF}$.
+
+Another interesting example from John, you can see how to use some extra options like\\\ \tkzname{decoration} and \tkzname{postaction} from \TIKZ\ with \tkzname{tkz-euclide}.
+
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[scale=1.5,decoration={markings,
+ mark=at position 3cm with {\arrow[scale=2]{>}}}]
+ \tkzDefPoints{0/0/E, 6/0/F, 0/1.8/P, 6/1.8/Q, 0/3/R, 6/3/S}
+ \tkzDrawLines[postaction={decorate}](E,F P,Q R,S)
+ \tkzDefPoints{3.5/3/A, 5/3/B}
+ \tkzDrawSegments(E,A F,B)
+ \tkzInterLL(E,A)(P,Q) \tkzGetPoint{C}
+ \tkzInterLL(B,F)(P,Q) \tkzGetPoint{D}
+ \tkzLabelPoints[above right](A,B)
+ \tkzLabelPoints[below](E,F)
+ \tkzLabelPoints[above left](C)
+ \tkzDrawSegments[style=dashed](A,F)
+ \tkzInterLL(A,F)(P,Q) \tkzGetPoint{G}
+ \tkzLabelPoints[above right](D,G)
+ \tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](A,C A,G)
+ \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](C,E G,F)
+ \tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](B,D)
+ \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](D,F)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Example 1: from Indonesia}
+
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[scale=3]
+ \tkzDefPoints{0/0/A,2/0/B}
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzDefPointBy[rotation=center D angle 45](C)\tkzGetPoint{G}
+ \tkzDefSquare(G,D)\tkzGetPoints{E}{F}
+ \tkzInterLL(B,C)(E,F)\tkzGetPoint{H}
+ \tkzFillPolygon[gray!10](D,E,H,C,D)
+ \tkzDrawPolygon(A,...,D)\tkzDrawPolygon(D,...,G)
+ \tkzDrawSegment(B,E)
+ \tkzMarkSegments[mark=|,size=3pt,color=gray](A,B B,C C,D D,A E,F F,G G,D D,E)
+ \tkzMarkSegments[mark=||,size=3pt,color=gray](B,E E,H)
+ \tkzLabelPoints[left](A,D)
+ \tkzLabelPoints[right](B,C,F,H)
+ \tkzLabelPoints[above](G)\tkzLabelPoints[below](E)
+ \tkzMarkRightAngles(D,A,B D,G,F)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Example 2: from Indonesia}
+\begin{tkzexample}[vbox,small]
+ \begin{tikzpicture}[pol/.style={fill=brown!40,opacity=.5},
+ seg/.style={tkzdotted,color=gray}, hidden pt/.style={fill=gray!40},
+ mra/.style={color=gray!70,tkzdotted,/tkzrightangle/size=.2},scale=1.5]
+ \tkzDefPoints{0/0/A,2.5/0/B,1.33/0.75/D,0/2.5/E,2.5/2.5/F}
+ \tkzDefLine[parallel=through D](A,B) \tkzGetPoint{I1}
+ \tkzDefLine[parallel=through B](A,D) \tkzGetPoint{I2}
+ \tkzInterLL(D,I1)(B,I2) \tkzGetPoint{C}
+ \tkzDefLine[parallel=through E](A,D) \tkzGetPoint{I3}
+ \tkzDefLine[parallel=through D](A,E) \tkzGetPoint{I4}
+ \tkzInterLL(E,I3)(D,I4) \tkzGetPoint{H}
+ \tkzDefLine[parallel=through F](E,H) \tkzGetPoint{I5}
+ \tkzDefLine[parallel=through H](E,F) \tkzGetPoint{I6}
+ \tkzInterLL(F,I5)(H,I6) \tkzGetPoint{G}
+ \tkzDefMidPoint(G,H) \tkzGetPoint{P} \tkzDefMidPoint(G,C) \tkzGetPoint{Q}
+ \tkzDefMidPoint(B,C) \tkzGetPoint{R} \tkzDefMidPoint(A,B) \tkzGetPoint{S}
+ \tkzDefMidPoint(A,E) \tkzGetPoint{T} \tkzDefMidPoint(E,H) \tkzGetPoint{U}
+ \tkzDefMidPoint(A,D) \tkzGetPoint{M} \tkzDefMidPoint(D,C) \tkzGetPoint{N}
+ \tkzInterLL(B,D)(S,R)\tkzGetPoint{L} \tkzInterLL(H,F)(U,P) \tkzGetPoint{K}
+ \tkzDefLine[parallel=through K](D,H) \tkzGetPoint{I7}
+ \tkzInterLL(K,I7)(B,D) \tkzGetPoint{O}
+ \tkzFillPolygon[pol](P,Q,R,S,T,U)
+ \tkzDrawSegments[seg](K,O K,L P,Q R,S T,U C,D H,D A,D M,N B,D)
+ \tkzDrawSegments(E,H B,C G,F G,H G,C Q,R S,T U,P H,F)
+ \tkzDrawPolygon(A,B,F,E)
+ \tkzDrawPoints(A,B,C,E,F,G,H,P,Q,R,S,T,U,K) \tkzDrawPoints[hidden pt](M,N,O,D)
+ \tkzMarkRightAngle[mra](L,O,K)
+ \tkzMarkSegments[mark=|,size=1pt,thick,color=gray](A,S B,S B,R C,R
+ Q,C Q,G G,P H,P E,U H,U E,T A,T)
+ \tkzLabelAngle[pos=.3](K,L,O){$\alpha$}
+ \tkzLabelPoints[below](O,A,S,B) \tkzLabelPoints[above](H,P,G)
+ \tkzLabelPoints[left](T,E) \tkzLabelPoints[right](C,Q)
+ \tkzLabelPoints[above left](U,D,M) \tkzLabelPoints[above right](L,N)
+ \tkzLabelPoints[below right](F,R) \tkzLabelPoints[below left](K)
+\end{tikzpicture}
+\end{tkzexample}
+\newpage
+
+\subsection{Illustration of the Morley theorem by Nicolas François}
+\begin{tkzexample}[vbox,small]
+ \begin{tikzpicture}
+ \tkzInit[ymin=-3,ymax=5,xmin=-5,xmax=7]
+ \tkzClip
+ \tkzDefPoints{-2.5/-2/A,2/4/B,5/-1/C}
+ \tkzFindAngle(C,A,B) \tkzGetAngle{anglea}
+ \tkzDefPointBy[rotation=center A angle 1*\anglea/3](C) \tkzGetPoint{TA1}
+ \tkzDefPointBy[rotation=center A angle 2*\anglea/3](C) \tkzGetPoint{TA2}
+ \tkzFindAngle(A,B,C) \tkzGetAngle{angleb}
+ \tkzDefPointBy[rotation=center B angle 1*\angleb/3](A) \tkzGetPoint{TB1}
+ \tkzDefPointBy[rotation=center B angle 2*\angleb/3](A) \tkzGetPoint{TB2}
+ \tkzFindAngle(B,C,A) \tkzGetAngle{anglec}
+ \tkzDefPointBy[rotation=center C angle 1*\anglec/3](B) \tkzGetPoint{TC1}
+ \tkzDefPointBy[rotation=center C angle 2*\anglec/3](B) \tkzGetPoint{TC2}
+ \tkzInterLL(A,TA1)(B,TB2) \tkzGetPoint{U1}
+ \tkzInterLL(A,TA2)(B,TB1) \tkzGetPoint{V1}
+ \tkzInterLL(B,TB1)(C,TC2) \tkzGetPoint{U2}
+ \tkzInterLL(B,TB2)(C,TC1) \tkzGetPoint{V2}
+ \tkzInterLL(C,TC1)(A,TA2) \tkzGetPoint{U3}
+ \tkzInterLL(C,TC2)(A,TA1) \tkzGetPoint{V3}
+ \tkzDrawPolygons(A,B,C U1,U2,U3 V1,V2,V3)
+ \tkzDrawLines[add=2 and 2,very thin,dashed](A,TA1 B,TB1 C,TC1 A,TA2 B,TB2 C,TC2)
+ \tkzDrawPoints(U1,U2,U3,V1,V2,V3)
+ \tkzLabelPoint[left](V1){$s_a$} \tkzLabelPoint[right](V2){$s_b$}
+ \tkzLabelPoint[below](V3){$s_c$} \tkzLabelPoint[above left](A){$A$}
+ \tkzLabelPoints[above right](B,C) \tkzLabelPoint(U1){$t_a$}
+ \tkzLabelPoint[below left](U2){$t_b$} \tkzLabelPoint[above](U3){$t_c$}
+ \end{tikzpicture}
+ \end{tkzexample}
+
+\newpage
+\subsection{Gou gu theorem / Pythagorean Theorem by Zhao Shuang}
+\begin{tikzpicture}
+\node [mybox,title={Gou gu theorem / Pythagorean Theorem by Zhao Shuang}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{Pythagoras was not the first person who discovered this theorem around the world. Ancient China discovered this theorem much earlier than him. So there is another name for the Pythagorean theorem in China, the Gou-Gu theorem.
+Zhao Shuang was an ancient Chinese mathematician. He rediscovered the “Gou gu therorem”, which is actually the Chinese version of the “Pythagorean theorem”. Zhao Shuang used a method called the “cutting and compensation principle”, he created a picture of “Pythagorean Round Square”
+Below the figure used to illustrate the proof of the “Gou gu theorem.” (code from Nan Geng)
+}}
+\end{minipage}
+};
+\end{tikzpicture}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.8]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){A'}
+ \tkzInterCC[R](A, 5)(A', 3)
+ \tkzGetSecondPoint{B}
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzCalcLength(A,A') \tkzGetLength{lA}
+ \tkzCalcLength(A',B) \tkzGetLength{lB}
+ \pgfmathparse{\lA-\lB}
+ \tkzInterLC[R](A,A')(A',\pgfmathresult)
+ \tkzGetFirstPoint{D'}
+ \tkzDefSquare(D',A')\tkzGetPoints{B'}{C'}
+ \tkzDefLine[orthogonal=through D](D,D')
+ \tkzGetPoint{d}
+ \tkzDefLine[orthogonal=through A](A,A')
+ \tkzGetPoint{a}
+ \tkzDefLine[orthogonal=through C](C,C')
+ \tkzGetPoint{c}
+ \tkzInterLL(D,d)(C,c) \tkzGetPoint{E}
+ \tkzInterLL(D,d)(A,a) \tkzGetPoint{F}
+ \tkzDefSquare(E,F)\tkzGetPoints{G}{H}
+ \tkzDrawPolygons[fill=teal!10](A,B,A' B,C,B'
+ C,D,C' A,D',D)
+ \tkzDrawPolygons(A,B,C,D E,F,G,H)
+ \tkzDrawPolygon[fill=green!10](A',B',C',D')
+ \tkzDrawSegment[dim={$a$,-10pt,}](D,C')
+ \tkzDrawSegment[dim={$b$,-10pt,}](C,C')
+ \tkzDrawSegment[dim={$c$,-10pt,}](C,D)
+ \tkzDrawPoints[size=2](A,B,C,D,A',B',C',D')
+ \tkzLabelPoints[left](A)
+ \tkzLabelPoints[below](B)
+ \tkzLabelPoints[right](C)
+ \tkzLabelPoints[above](D)
+ \tkzLabelPoints[right](A')
+ \tkzLabelPoints[below right](B')
+ \tkzLabelPoints[below left](C')
+ \tkzLabelPoints[below](D')
+ \end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\subsection{Reuleaux-Triangle}
+\begin{tikzpicture}
+\node [mybox,title={Reuleaux-triangle by Stefan Kottwitz}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{A well-known classic field of mathematics is geometry.
+You may know Euclidean geometry from school, with constructions
+by compass and ruler. Math teachers may be very interested in
+drawing geometry constructions and explanations. Underlying
+constructions can help us with general drawings where we would
+need intersections and tangents of lines and circles, even if
+it does not look like geometry.
+So, here, we will remember school geometry drawings.
+We will use the tkz-euclide package, which works on top of TikZ.
+We will construct an equilateral triangle.
+Then we extend it to get a Reuleaux triangle, and add annotations.
+The code is fully explained in the LaTeX Cookbook, Chapter 10,
+Advanced Mathematics, Drawing geometry pictures.
+ Stefan Kottwitz
+}}
+\end{minipage}
+};
+\end{tikzpicture}
+
+\begin{tikzpicture}
+
+ \tkzDefPoint(0,0){A} \tkzDefPoint(4,1){B}
+ \tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{D}
+ \tkzInterLC(A,B)(B,A) \tkzGetPoints{F}{E}
+ \tkzDrawCircles[dashed](A,B B,A)
+ \tkzDrawPolygons(A,B,C A,E,D)
+
+ \tkzCompasss[color=red, very thick](A,C B,C A,D B,D)
+ \begin{scope}
+ \tkzSetUpArc[fill=blue!10,thick,delta=0]
+ \tkzDrawArc(A,B)(C)
+ \tkzDrawArc(B,C)(A)
+ \tkzDrawArc(C,A)(B)
+ \end{scope}
+
+ \tkzMarkAngles[fill=yellow,opacity=0.5](D,A,E A,E,D)
+ \tkzMarkRightAngle[size=0.65,fill=red!20,opacity=0.2](A,D,E)
+
+ \tkzLabelAngle[pos=0.7](D,A,E){$\alpha$}
+ \tkzLabelAngle[pos=0.8](A,E,D){$\beta$}
+ \tkzLabelAngle[pos=0.5,xshift=-1.4mm](A,D,D){$90^\circ$}
+ \begin{scope}[font=\small]
+ \tkzLabelSegment[below=0.6cm,align=center](A,B){Reuleaux\\triangle}
+ \tkzLabelSegment[above right,sloped](A,E){hypotenuse}
+ \tkzLabelSegment[below,sloped](D,E){opposite}
+ \tkzLabelSegment[below,sloped](A,D){adjacent}
+ \tkzLabelSegment[below right=4cm](A,E){Thales circle}
+ \end{scope}
+
+ \tkzLabelPoints[below left](A)
+ \tkzLabelPoints(B,D)
+ \tkzLabelPoint[above](C){$C$}
+ \tkzLabelPoints(E)
+ \tkzDrawPoints(A,...,E)
+
+\end{tikzpicture}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
index fdc4f91fb9..9c3f682563 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointby.tex
@@ -1,4 +1,4 @@
-\section{Definition of points by transformation; \tkzcname{tkzDefPointBy} }
+\section{Definition of points by transformation : \tkzcname{tkzDefPointBy} }
These transformations are:
\begin{itemize}
@@ -39,6 +39,7 @@ options & & examples \\
\TOline{rotation } {= center \#1 angle \#2}{[rotation=center O angle 30](E)}
\TOline{rotation in rad}{= center \#1 angle \#2}{[rotation in rad=center O angle pi/3](E)}
\TOline{inversion}{= center \#1 through \#2}{[inversion =center O through A](E)}
+\TOline{inversion negative}{= center \#1 through \#2}{...}
\bottomrule
\end{tabular}
@@ -46,13 +47,11 @@ The image is only defined and not drawn.
\end{NewMacroBox}
\subsection{Examples of transformations}
-\subsubsection{Example of translation}
+\subsubsection{translation}
-\subsection{Example of translation}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[>=latex]
- \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){B}
- \tkzDefPoint(3,0){C}
+ \tkzDefPoints{0/0/A,3/1/B,3/0/C}
\tkzDefPointBy[translation= from B to A](C)
\tkzGetPoint{D}
\tkzDrawPoints[teal](A,B,C,D)
@@ -61,37 +60,36 @@ The image is only defined and not drawn.
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Example of reflection (orthogonal symmetry)}
+\subsubsection{reflection (orthogonal symmetry)}
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{1.5/-1.5/C,-4.5/2/D}
- \tkzDefPoint(-4,-2){O}
- \tkzDefPoint(-2,-2){A}
- \foreach \i in {0,1,...,4}{%
- \pgfmathparse{0+\i * 72}
- \tkzDefPointBy[rotation=%
- center O angle \pgfmathresult](A)
- \tkzGetPoint{A\i}
- \tkzDefPointBy[reflection = over C--D](A\i)
- \tkzGetPoint{A\i'}}
- \tkzDrawPolygon(A0, A2, A4, A1, A3)
- \tkzDrawPolygon(A0', A2', A4', A1', A3')
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{-2/-2/A,-1/-1/C,-4/2/D,-4/0/O}
+ \tkzDrawCircle(O,A)
+ \tkzDefPointBy[reflection = over C--D](A)
+ \tkzGetPoint{A'}
+ \tkzDefPointBy[reflection = over C--D](O)
+ \tkzGetPoint{O'}
+ \tkzDrawCircle(O',A')
\tkzDrawLine[add= .5 and .5](C,D)
+ \tkzDrawPoints(C,D,O,O')
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Example of \tkzname{homothety} and \tkzname{projection}}
+\subsubsection{\tkzname{homothety} and \tkzname{projection}}
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=1.2]
- \tkzDefPoint(0,1){A} \tkzDefPoint(5,3){B} \tkzDefPoint(3,4){C}
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/1/A,5/3/B,3/4/C}
+ \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
\tkzDrawLine[add=0 and 0,color=magenta!50 ](A,a)
- \tkzDefPointBy[homothety=center A ratio .5](a) \tkzGetPoint{a'}
- \tkzDefPointBy[projection = onto A--B](a') \tkzGetPoint{k'}
- \tkzDefPointBy[projection = onto A--B](a) \tkzGetPoint{k}
+ \tkzDefPointBy[homothety=center A ratio .5](a)
+ \tkzGetPoint{a'}
+ \tkzDefPointBy[projection = onto A--B](a')
+ \tkzGetPoint{k'}
+ \tkzDefPointBy[projection = onto A--B](a)
+ \tkzGetPoint{k}
\tkzDrawLines[add= 0 and .3](A,k A,C)
\tkzDrawSegments[blue](a',k' a,k)
\tkzDrawPoints(a,a',k,k',A)
@@ -101,50 +99,48 @@ The image is only defined and not drawn.
\end{tkzexample}
-\subsubsection{Example of projection}
-\begin{tkzexample}[vbox,small]
+\subsubsection{\tkzname{projection}}
+\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(0,4){B}
+ \tkzDefPoints{0/0/A,0/4/B}
\tkzDefTriangle[pythagore](B,A) \tkzGetPoint{C}
\tkzDefLine[bisector](B,C,A) \tkzGetPoint{c}
- \tkzInterLL(C,c)(A,B) \tkzGetPoint{D}
- \tkzDefPointBy[projection=onto B--C](D) \tkzGetPoint{G}
+ \tkzInterLL(C,c)(A,B) \tkzGetPoint{D}
+ \tkzDefPointBy[projection=onto B--C](D)
+ \tkzGetPoint{G}
\tkzInterLC(C,D)(D,A) \tkzGetPoints{E}{F}
- \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawPolygon(A,B,C)
\tkzDrawSegment(C,D)
\tkzDrawCircle(D,A)
- \tkzDrawSegment[orange](D,G)
- \tkzMarkRightAngle[fill=orange!20](D,G,B)
+ \tkzDrawSegment[new](D,G)
+ \tkzMarkRightAngle[fill=orange!10,opacity=.4](D,G,B)
\tkzDrawPoints(A,C,F) \tkzLabelPoints(A,C,F)
\tkzDrawPoints(B,D,E,G)
\tkzLabelPoints[above right](B,D,E,G)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Example of symmetry}
-\begin{tkzexample}[vbox,small]
+\subsubsection{\tkzname{symmetry} }
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPoint(2,2){B}
+ \tkzDefPoints{2/-1/A,2/2/B,0/0/O}
\tkzDefPointsBy[symmetry=center O](B,A){}
\tkzDrawLine(A,A')
\tkzDrawLine(B,B')
\tkzMarkAngle[mark=s,arc=lll,
- size=2 cm,mkcolor=red](A,O,B)
- \tkzLabelAngle[pos=1,circle,draw,
- fill=blue!10](A,O,B){$60^{\circ}$}
+ size=1.5,mkcolor=red](A,O,B)
+ \tkzLabelAngle[pos=2,circle,draw,
+ fill=blue!10,font=\scriptsize](A,O,B){$60^{\circ}$}
\tkzDrawPoints(A,B,O,A',B')
- \tkzLabelPoints(A,B,O,A',B')
-\end{tikzpicture}
+ \tkzLabelPoints(B,B')
+ \tkzLabelPoints[below](A,O,A')
+\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Example of rotation}
+\subsubsection{\tkzname{rotation} }
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=0.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
+ \tkzDefPoints{0/0/A,5/0/B}
\tkzDrawSegment(A,B)
\tkzDefPointBy[rotation=center A angle 60](B)
\tkzGetPoint{C}
@@ -152,70 +148,262 @@ The image is only defined and not drawn.
\tkzGetPoint{D}
\tkzDrawSegment(A,tkzPointResult)
\tkzDrawLine(B,D)
- \tkzDrawArc[orange,delta=10](A,B)(C)
- \tkzDrawArc[orange,delta=10](B,C)(A)
- \tkzDrawArc[orange,delta=10](C,D)(D)
- \tkzMarkRightAngle(D,B,A)
+ \tkzDrawArc(A,B)(C)
+ \tkzDrawArc(B,C)(A)
+ \tkzDrawArc(C,D)(D)
+ \tkzMarkRightAngle(D,B,A)
+ \tkzDrawPoints(A,B)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Example of rotation in radian}
+\subsubsection{\tkzname{rotation in radian}}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoint["$A$" left](1,5){A}
- \tkzDefPoint["$B$" right](5,2){B}
+ \tkzDefPoint["$B$" right](4,3){B}
\tkzDefPointBy[rotation in rad= center A angle pi/3](B)
\tkzGetPoint{C}
\tkzDrawSegment(A,B)
\tkzDrawPoints(A,B,C)
- \tkzCompass[color=red](A,C)
- \tkzCompass[color=red](B,C)
+ \tkzCompass(A,C)
+ \tkzCompass(B,C)
\tkzLabelPoints(C)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Inversion of points}
-\begin{tkzexample}[latex=8cm,small]
+\subsubsection{\tkzname{inversion }}
+
+Inversion is the process of transforming points to a corresponding set of points known as their inverse points. Two points $P$ and $P'$ are said to be inverses with respect to an inversion circle having inversion center $O$ and inversion radius $k$ if $P'$ is the perpendicular foot of the altitude of $OQP$, where $Q$ is a point on the circle such that $OQ$ is perpendicular to $PQ$.\\
+ The quantity $k^2$ is known as the circle power (Coxeter 1969, p. 81).
+(\url{https://mathworld.wolfram.com/Inversion.html})
+
+Some propositions :
+\begin{itemize}
+\item The inverse of a circle (not through the center of inversion) is a circle.
+\item The inverse of a circle through the center of inversion is a line.
+\item The inverse of a line (not through the center of inversion) is a circle through the center of inversion.
+\item A circle orthogonal to the circle of inversion is its own inverse.
+\item A line through the center of inversion is its own inverse.
+\item Angles are preserved in inversion.
+\end{itemize}
+
+Explanation
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{4/0/A,6/0/P,0/0/O}
+ \tkzDefCircle(O,A)
+ \tkzDefLine[orthogonal=through P](O,P)
+ \tkzGetPoint{L}
+ \tkzDefTangent[from = P](O,A) \tkzGetPoints{Q}{R}
+ \tkzDefPointBy[projection=onto O--A](Q) \tkzGetPoint{P'}
+ \tkzDrawSegments(O,P O,A)
+ \tkzDrawSegments[new](O,P O,Q P,Q Q,P')
+ \tkzDrawCircle(O,A)
+ \tkzDrawLines[add=1 and 0](P,L)
+ \tkzLabelPoints[below,font=\scriptsize](O,P')
+ \tkzLabelPoints[above right,font=\scriptsize](P,Q)
+ \tkzDrawPoints(O,P) \tkzDrawPoints[new](Q,P')
+ \tkzLabelSegment[above](O,Q){$k$}
+ \tkzMarkRightAngles(A,P',Q P,Q,O)
+ \tkzLabelCircle[above=.5cm,
+ font=\scriptsize](O,A)(100){inversion circle}
+ \tkzLabelPoint[left,font=\scriptsize](O){inversion center}
+ \tkzLabelPoint[left,font=\scriptsize](L){polar}
+\end{tikzpicture}
+\end{tkzexample}
+
+Directly
+(Center O power=$k^2={OA}^2=OP \times OP'$)
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{4/0/A,6/0/P,0/0/O}
+ \tkzDefCircle(O,A)
+ \tkzDefPointBy[inversion = center O through A](P)
+ \tkzGetPoint{P'}
+ \tkzDrawSegments(O,P)
+ \tkzDrawCircle(O,A)
+ \tkzLabelPoints[above right,font=\scriptsize](O,A,P,P')
+ \tkzDrawPoints(O,A,P,P')
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Inversion of lines}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+\tkzDefPoints{0/0/O,3/0/I,4/3/P,6/-3/Q}
+\tkzDrawCircle(O,I)
+\tkzDefPointBy[projection= onto P--Q](O) \tkzGetPoint{A}
+\tkzDefPointBy[inversion = center O through I](A)
+\tkzGetPoint{A'}
+\tkzDefPointBy[inversion = center O through I](P)
+\tkzGetPoint{P'}
+\tkzDrawCircle[new,diameter](O,A')
+\tkzDrawLines[add=.25 and .25,red](P,Q)
+\tkzDrawLines[add=.25 and .25](O,A)
+\tkzDrawSegments(O,P)
+\tkzDrawPoints(A,P,O) \tkzDrawPoints[new](A',P')
+\end{tikzpicture}
+\end{tkzexample}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+\tkzDefPoints{0/0/O,3/0/I,3/2/P,3/-2/Q}
+\tkzDrawCircle(O,I)
+\tkzDefPointBy[projection= onto P--Q](O) \tkzGetPoint{A}
+\tkzDefPointBy[inversion = center O through I](A)
+\tkzGetPoint{A'}
+\tkzDefPointBy[inversion = center O through I](P)
+\tkzGetPoint{P'}
+\tkzDrawCircle[new,diameter](O,A')
+\tkzDrawLines[add=.25 and .25,red](P,Q)
+\tkzDrawLines[add=.25 and .25](O,A)
+\tkzDrawSegments(O,P)
+\tkzDrawPoints(A,P,O) \tkzDrawPoints[new](A',P')
+\end{tikzpicture}
+\end{tkzexample}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+\tkzDefPoints{0/0/O,3/0/I,2/1/P,2/-2/Q}
+\tkzDrawCircle(O,I)
+\tkzDefPointBy[projection= onto P--Q](O) \tkzGetPoint{A}
+\tkzDefPointBy[inversion = center O through I](A)
+\tkzGetPoint{A'}
+\tkzDefPointBy[inversion = center O through I](P)
+\tkzGetPoint{P'}
+\tkzDrawCircle[new,diameter](O,A')
+\tkzDrawLines[add=.25 and .75,red](P,Q)
+\tkzDrawLines[add=.25 and .25](O,A')
+\tkzDrawSegments(O,P')
+\tkzDrawPoints(A,P,O) \tkzDrawPoints[new](A',P')
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Inversion of circle}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+\tkzDefPoints{0/0/O,3/2/A,2/1/P}
+\tkzDefTangent[from = O](A,P) \tkzGetPoints{T}{X}
+\tkzDefPointsBy[homothety=center O ratio 1.25](A,P,T){}
+\tkzInterCC(A,P)(A',P') \tkzGetPoints{C}{D}
+\tkzCalcLength(A,P)
+\tkzGetLength{rAP}
+\tkzDefPointOnCircle[angle=190,center=A,radius=\rAP]
+\tkzGetPoint{M}
+\tkzDefPointBy[inversion = center O through C](M)
+\tkzGetPoint{M'}
+\tkzDrawCircles(A,P A',P')
+\tkzDrawCircle(O,C)
+\tkzDrawLines[add=0 and .5](O,T' O,A' O,M' O,P')
+\tkzDrawPoints(A,A',P,P',O,T,T',M,M')
+\tkzLabelPoints(O,T,T')
+\tkzLabelPoints[above left](M,M')
+\tkzLabelPoints[below](P,P')
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Inversion of Triangle with respect to the Incircle}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=1]
+\tkzDefPoints{0/0/A,5/1/B,3/6/C}
+\tkzDefTriangleCenter[in](A,B,C) \tkzGetPoint{O}
+\tkzDefPointBy[projection= onto A--C](O) \tkzGetPoint{b}
+\tkzDefPointBy[projection= onto A--C](O) \tkzGetPoint{b}
+\tkzDefPointBy[projection= onto B--C](O) \tkzGetPoint{a}
+\tkzDefPointBy[projection= onto A--B](O) \tkzGetPoint{c}
+\tkzDefPointsBy[inversion = center O through b](a,b,c)%
+ {Ia,Ib,Ic}
+\tkzDefMidPoint(O,Ia) \tkzGetPoint{Ja}
+\tkzDefMidPoint(O,Ib) \tkzGetPoint{Jb}
+\tkzDefMidPoint(O,Ic) \tkzGetPoint{Jc}
+\tkzInterCC(Ja,O)(Jb,O) \tkzGetPoints{O}{x}
+\tkzInterCC(Ja,O)(Jc,O) \tkzGetPoints{y}{O}
+\tkzInterCC(Jb,O)(Jc,O) \tkzGetPoints{O}{z}
+\tkzDrawPolygon(A,B,C)
+\tkzDrawCircle(O,b)\tkzDrawPoints(A,B,C,O)
+\tkzDrawCircles[dashed,gray](Ja,y Jb,x Jc,z)
+\tkzDrawArc[line width=1pt,orange](Jb,x)(z)
+\tkzDrawArc[line width=1pt,orange](Jc,z)(y)
+\tkzDrawArc[line width=1pt,orange](Ja,y)(x)
+\tkzLabelPoint[below](A){$A$}\tkzLabelPoint[above](C){$C$}
+\tkzLabelPoint[right](B){$B$}\tkzLabelPoint[below](O){$O$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Inversion: orthogonal circle with inversion circle}
+The inversion circle itself, circles orthogonal to it, and lines through the inversion center are invariant under inversion. If the circle meets the reference circle, these invariant points of intersection are also on the inverse circle. See I and J in the next figure.
+
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}[scale=1]
+\tkzDefPoint(0,0){O}\tkzDefPoint(1,0){A}
+\tkzDefPoint(-1.5,-1.5){z1}
+\tkzDefPoint(1.5,-1.25){z2}
+\tkzDefCircleBy[orthogonal through=z1 and z2](O,A)
+\tkzGetPoint{c}
+\tkzDrawCircle[new](c,z1)
+\tkzDefPointBy[inversion = center O through A](z1)
+\tkzGetPoint{Z1}
+\tkzInterCC(O,A)(c,z1) \tkzGetPoints{I}{J}
+\tkzDefPointBy[inversion = center O through A](I)
+\tkzGetPoint{I'}
+\tkzDrawCircle(O,A)
+\tkzDrawPoints(O,A,z1,z2)
+\tkzDrawPoints[new](c,Z1,I,J)
+\tkzLabelPoints(O,A,z1,z2,c,Z1,I,J)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{\tkzname{Inversion} and \tkzname{homothety} }
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+\tkzDefPoints{0/0/O,3/2/A,2/1/P}
+\tkzDefTangent[from = O](A,P) \tkzGetPoints{T}{X}
+\tkzDefPointsBy[homothety = center O%
+ ratio 1.25](A,P,T){}
+\tkzInterCC(A,P)(A',P') \tkzGetPoints{C}{D}
+\tkzCalcLength(A,P)
+\tkzGetLength{rAP}
+\tkzDefPointOnCircle[angle=190,center=A,radius=\rAP]
+\tkzGetPoint{M}
+\tkzDefPointBy[inversion = center O through C](M)
+\tkzGetPoint{M'}
+\tkzDrawCircles[new](A,P A',P')
+\tkzDrawCircle(O,C)
+\tkzDrawLines[add=0 and .5](O,T' O,A' O,M' O,P')
+\tkzDrawPoints(A,A',P,P',O,T,T',M,M')
+\tkzLabelPoints(O,T,T',M,M')
+\tkzLabelPoints[below](P,P')
+\end{tikzpicture}
+\end{tkzexample}
+
+
+For a more complex example see \tkzname{Pappus} \ref{pappus}
+
+\subsubsection{\tkzname{inversion negative}}
+It's an inversion followed by a symmetry of center $O$
+\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,0){A}
+ \tkzDefPoints{1/0/A,0/0/O}
\tkzDefPoint(-1.5,-1.5){z1}
- \tkzDefPoint(0.35,0){z2}
- \tkzDefPointBy[inversion =%
- center O through A](z1)
+ \tkzDefPoint(0.35,-2){z2}
+ \tkzDefPointBy[inversion negative = center O through A](z1)
\tkzGetPoint{Z1}
- \tkzDefPointBy[inversion =%
- center O through A](z2)
+ \tkzDefPointBy[inversion negative = center O through A](z2)
\tkzGetPoint{Z2}
\tkzDrawCircle(O,A)
- \tkzDrawPoints[color=black,
- fill=red,size=4](Z1,Z2)
+ \tkzDrawPoints[color=black, fill=red,size=4](Z1,Z2)
\tkzDrawSegments(z1,Z1 z2,Z2)
- \tkzDrawPoints[color=black,
- fill=red,size=4](O,z1,z2)
- \tkzLabelPoints(O,A,z1,z2,Z1,Z2)
+ \tkzDrawPoints[color=black, fill=red,size=4](O,z1,z2)
+ \tkzLabelPoints[font=\scriptsize](O,A,z1,z2,Z1,Z2)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Point Inversion: Orthogonal Circles}
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,0){A}
- \tkzDrawCircle(O,A)
- \tkzDefPoint(0.5,-0.25){z1}
- \tkzDefPoint(-0.5,-0.5){z2}
- \tkzDefPointBy[inversion = %
- center O through A](z1)
- \tkzGetPoint{Z1}
- \tkzCircumCenter(z1,z2,Z1)
- \tkzGetPoint{c}
- \tkzDrawCircle(c,Z1)
- \tkzDrawPoints[color=black,
- fill=red,size=4](O,z1,z2,Z1,O,A)
-\end{tikzpicture}
-\end{tkzexample}
\subsection{Transformation of multiple points; \tkzcname{tkzDefPointsBy} }
Variant of the previous macro for defining multiple images.
@@ -239,7 +427,7 @@ The image is $B'$.
\begin{tabular}{lll}%
arguments & examples & \\
\midrule
-\TAline{\parg{list of points}\marg{list of pts}}{(A,B)\{E,F\}}{$E$ is the image of $A$ and $F$ is the image of $B$.} \\
+\TAline{\parg{list of points}\marg{list of pts}}{(A,B)\{E,F\}}{$E$,$F$ images of $A$, $B$} \\
\bottomrule
\end{tabular}
@@ -268,13 +456,12 @@ The points are only defined and not drawn.
\subsubsection{Example of translation}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[>=latex]
- \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){A'}
- \tkzDefPoint(3,0){B} \tkzDefPoint(1,2){C}
+ \tkzDefPoints{0/0/A,3/0/B,3/1/A',1/2/C}
\tkzDefPointsBy[translation= from A to A'](B,C){}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPolygon[color=red](A',B',C')
- \tkzDrawPoints[color=blue](A,B,C)
- \tkzDrawPoints[color=red](A',B',C')
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[new](A',B',C')
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[new](A',B',C')
\tkzLabelPoints(A,B,A',B')
\tkzLabelPoints[above](C,C')
\tkzDrawSegments[color = gray,->,
@@ -282,4 +469,32 @@ The points are only defined and not drawn.
\end{tikzpicture}
\end{tkzexample}
-\endinput
+\subsubsection{Example of symmetry}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.4]
+ \tkzDefPoint(-4,0){I}
+ \tkzDefPoint(4,0){J}
+ \tkzDefPoint(0,0){O}
+ \tkzInterCC(J,O)(O,J) \tkzGetPoints{L}{H}
+ \tkzInterCC(I,O)(O,I) \tkzGetPoints{K}{G}
+ \tkzDrawLines[add=1.5 and 1.5](I,K I,G J,H J,L)
+ \tkzDrawLines[add=.5 and .5](I,J)
+ \tkzInterLL(I,K)(J,H) \tkzGetPoint{M}
+ \tkzInterLL(I,G)(J,L) \tkzGetPoint{N}
+ \tkzDefPointsBy[symmetry=center J](L,H){D,E}
+ \tkzDefPointsBy[symmetry=center I](G,K){C,F}
+ \tkzDrawPoints(H,L,K,G,I,J,D,E,C,F,M,N)
+ \tkzDrawCircle[R](O,4)
+ \tkzDrawCircle[R](I,4)
+ \tkzDrawCircle[R](J,4)
+ \tkzDrawArc(N,D)(C)
+ \tkzDrawArc(M,F)(E)
+ \tkzDrawArc(J,E)(D)
+ \tkzDrawArc(I,C)(F)
+ \tkzLabelPoints[font=\scriptsize](H,L,K,G,I,J,%
+ D,E,C,F,M,N)
+\end{tikzpicture}
+\end{tkzexample}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex
index cce1c9066f..51c4415438 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-points.tex
@@ -1,4 +1,15 @@
-\section{Definition of a point}
+\section{First step: fixed points}
+
+The first step in a geometric construction is to define the fixed points from which the figure will be constructed.
+
+The general idea is to avoid manipulating coordinates and to prefer to use the references of the points fixed in the first step or obtained using the tools provided by the package. Even if it's possible, I think it's a bad idea to work directly with coordinates. Preferable is to use named points.
+
+\tkzname{\tkznameofpack} uses macros and vocabulary specific to geometric construction. It is of course possible to use the tools of \TIKZ\ but it seems more logical to me not to mix the different syntaxes.
+
+A point in \tkzname{\tkznameofpack} is a particular "node" for \TIKZ. In the next section we will see how to define points using coordinates. The style of the points (color and shape) will not be discussed. You will find some indications in some examples; for more information you can read the following section \ref{custom}.
+
+
+\section{Definition of a point : \tkzcname{tkzDefPoint} or \tkzcname{tkzDefPoints}}
Points can be specified in any of the following ways:
\begin{itemize}
@@ -8,31 +19,10 @@
\item Relative points.
\end{itemize}
-Even if it's possible, I think it's a bad idea to work directly with coordinates. Preferable is to use named points.
+
A point is defined if it has a name linked to a unique pair of decimal numbers.
Let $(x,y)$ or $(a:d)$ i.e. ($x$ abscissa, $y$ ordinate) or ($a$ angle: $d$ distance).
- This is possible because the plan has been provided with an orthonormed Cartesian coordinate system. The working axes are supposed to be (ortho)normed with unity equal to $1$~cm or something equivalent like $0.39370$~in.
- Now by default if you use a grid or axes, the rectangle used is defined by the coordinate points: $(0,0)$ and $(10,10)$. It's the macro \tkzcname{tkzInit} of the package \tkzNamePack{tkz-base} that creates this rectangle. Look at the following two codes and the result of their compilation:
-
-\begin{tkzexample}[latex=10cm,small]
-\begin{tikzpicture}
-\tkzGrid
-\tkzDefPoint(0,0){O}
-\tkzDrawPoint[red](O)
-\tkzShowBB[line width=2pt,teal]
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(5,5){A}
- \tkzDrawSegment[blue](O,A)
- \tkzDrawPoints[red](O,A)
- \tkzShowBB[line width=2pt,teal]
-\end{tikzpicture}
-\end{tkzexample}
+ This is possible because the plan has been provided with an orthonormed Cartesian coordinate system. The working axes are (ortho)normed with unity equal to $1$~cm.
The Cartesian coordinate $(a,b)$ refers to the
point $a$ centimeters in the $x$-direction and $b$ centimeters in the
@@ -42,14 +32,20 @@ A point is defined if it has a name linked to a unique pair of decimal numbers.
and a distance $d$ from the origin with a dimensional
unit by default it's the \texttt{cm}.
-
-\begin{minipage}[b]{0.5\textwidth}
+ The \tkzNameMacro{tkzDefPoint} macro is used to define a point by assigning coordinates to it. This macro is based on
+
+ \tkzNameMacro{coordinate}, a macro of \TIKZ. It can use \TIKZ-specific options such as \tkzname{shift}. If calculations are required then the \tkzNamePack{xfp} package is chosen. We can use Cartesian or polar coordinates.
+
+\begin{minipage}[t]{0.45\textwidth}
Cartesian coordinates
-\begin{tkzexample}[vbox,small]
+\begin{tkzexample}[code only,small]
\begin{tikzpicture}[scale=1]
- \tkzInit[xmax=5,ymax=5]
+ \tkzInit[xmax=5,ymax=5]
+ % necessary to limit
+ % the size of the axes
+ \tkzDrawX[>=latex]
+ \tkzDrawY[>=latex]
\tkzDefPoints{0/0/O,1/0/I,0/1/J}
- \tkzDrawXY[noticks,>=latex]
\tkzDefPoint(3,4){A}
\tkzDrawPoints(O,A)
\tkzLabelPoint(A){$A_1 (x_1,y_1)$}
@@ -61,21 +57,22 @@ A point is defined if it has a name linked to a unique pair of decimal numbers.
\end{tikzpicture}
\end{tkzexample}%
\end{minipage}
-\begin{minipage}[b]{0.5\textwidth}
+\begin{minipage}[t]{0.45\textwidth}
Polar coordinates
-\begin{tkzexample}[vbox,small]
+\begin{tkzexample}[code only,small]
\begin{tikzpicture}[,scale=1]
\tkzInit[xmax=5,ymax=5]
+ \tkzDrawX[>=latex]
+ \tkzDrawY[>=latex]
\tkzDefPoints{0/0/O,1/0/I,0/1/J}
- \tkzDefPoint(40:4){P}
- \tkzDrawXY[noticks,>=triangle 45]
+ \tkzDefPoint(40:4){P}
\tkzDrawSegment[dim={$d$,
16pt,above=6pt}](O,P)
\tkzDrawPoints(O,P)
\tkzMarkAngle[mark=none,->](I,O,P)
- \tkzFillAngle[fill=blue!20,
- opacity=.5](I,O,P)
- \tkzLabelAngle[pos=1.25](I,O,P){$\alpha$}
+ \tkzFillAngle[opacity=.5](I,O,P)
+ \tkzLabelAngle[pos=1.25](I,O,P){%
+ $\alpha$}
\tkzLabelPoint(P){$P (\alpha : d )$}
\tkzDrawPoints[shape=cross](I,J)
\tkzLabelPoints(O,I)
@@ -84,22 +81,55 @@ A point is defined if it has a name linked to a unique pair of decimal numbers.
\end{tkzexample}
\end{minipage}%
-The \tkzNameMacro{tkzDefPoint} macro is used to define a point by assigning coordinates to it. This macro is based on \tkzNameMacro{coordinate}, a macro of \TIKZ. It can use \TIKZ-specific options such as \tkzname{shift}. If calculations are required then the \tkzNamePack{xfp} package is chosen. We can use Cartesian or polar coordinates.
+\begin{minipage}[b]{0.45\textwidth}
+\begin{tikzpicture}[scale=1]
+ \tkzInit[xmax=5,ymax=5]
+ \tkzDrawX[>=latex]
+ \tkzDrawY[>=latex]
+ \tkzDefPoints{0/0/O,1/0/I,0/1/J}
+ \tkzDefPoint(3,4){A}
+ \tkzDrawPoints(O,A)
+ \tkzLabelPoint(A){$A_1 (x_1,y_1)$}
+ \tkzShowPointCoord[xlabel=$x_1$,ylabel=$y_1$](A)
+ \tkzLabelPoints(O,I)
+ \tkzLabelPoints[left](J)
+ \tkzDrawPoints[shape=cross](I,J)
+\end{tikzpicture}
+\end{minipage}
+\begin{minipage}[b]{0.45\textwidth}
+\begin{tikzpicture}[,scale=1]
+ \tkzInit[xmax=5,ymax=5]
+ \tkzDrawX[>=latex]
+ \tkzDrawY[>=latex]
+ \tkzDefPoints{0/0/O,1/0/I,0/1/J}
+ \tkzDefPoint(40:4){P}
+ \tkzDrawSegment[dim={$d$,
+ 16pt,above=6pt}](O,P)
+ \tkzDrawPoints(O,P)
+ \tkzMarkAngle[mark=none,->](I,O,P)
+ \tkzFillAngle[opacity=.5](I,O,P)
+ \tkzLabelAngle[pos=1.25](I,O,P){$\alpha$}
+ \tkzLabelPoint(P){$P (\alpha : d )$}
+ \tkzDrawPoints[shape=cross](I,J)
+ \tkzLabelPoints(O,I)
+ \tkzLabelPoints[left](J)
+\end{tikzpicture}
+\end{minipage}%
\subsection{Defining a named point \tkzcname{tkzDefPoint}}
-\begin{NewMacroBox}{tkzDefPoint}{\oarg{local options}\parg{$x,y$}\marg{name} or \parg{$\alpha$:$d$}\marg{name}}%
+\begin{NewMacroBox}{tkzDefPoint}{\oarg{local options}\parg{$x,y$}\marg{ref} or \parg{$\alpha$:$d$}\marg{ref}}%
\begin{tabular}{lll}%
arguments & default & definition \\
\midrule
\TAline{($x,y$)}{no default}{$x$ and $y$ are two dimensions, by default in cm.}
\TAline{($\alpha$:$d$)}{no default}{$\alpha$ is an angle in degrees, $d$ is a dimension}
-\TAline{\{name\}}{no default}{Name assigned to the point: $A$, $T_a$ ,$P1$ etc ...}
+\TAline{\{ref\}}{no default}{Reference assigned to the point: $A$, $T\_a$ ,$P1$ or $P_1$}
\bottomrule
\end{tabular}
\medskip
-The obligatory arguments of this macro are two dimensions expressed with decimals, in the first case they are two measures of length, in the second case they are a measure of length and the measure of an angle in degrees.
+The obligatory arguments of this macro are two dimensions expressed with decimals, in the first case they are two measures of length, in the second case they are a measure of length and the measure of an angle in degrees. Do not confuse the reference with the name of a point. The reference is used by calculations, but frequently, the name is identical to the reference.
\medskip
\begin{tabular}{lll}%
@@ -113,9 +143,11 @@ options & default & definition \\
\subsubsection{Cartesian coordinates }
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5]
+ \tkzInit[xmax=5,ymax=5] % limits the size of the axes
+ \tkzDrawX[>=latex]
+ \tkzDrawY[>=latex]
\tkzDefPoint(0,0){A}
\tkzDefPoint(4,0){B}
\tkzDefPoint(0,3){C}
@@ -129,15 +161,14 @@ options & default & definition \\
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1]
\tkzInit[xmax=4,ymax=4]
- \tkzGrid
+ \tkzDrawX\tkzDrawY
\tkzDefPoint(-1+2,sqrt(4)){O}
\tkzDefPoint({3*ln(exp(1))},{exp(1)}){A}
\tkzDefPoint({4*sin(pi/6)},{4*cos(pi/6)}){B}
- \tkzDrawPoints[color=blue](O,B,A)
+ \tkzDrawPoints(O,B,A)
\end{tikzpicture}
\end{tkzexample}
-
\subsubsection{Polar coordinates }
\begin{tkzexample}[latex=7cm,small]
@@ -149,25 +180,12 @@ options & default & definition \\
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Calculations and coordinates}
-You must follow the syntax of \tkzNamePack{xfp} here. It is always possible to go through \tkzNamePack{pgfmath} but in this case, the coordinates must be calculated before using the macro \tkzcname{tkzDefPoint}.
-
-\begin{tkzexample}[latex=6cm,small]
- \begin{tikzpicture}[scale=.5]
- \foreach \an [count=\i] in {0,2,...,358}
- { \tkzDefPoint(\an:sqrt(sqrt(\an mm))){A_\i}}
- \tkzDrawPoints(A_1,A_...,A_180)
- \end{tikzpicture}
-\end{tkzexample}
-
-
\subsubsection{Relative points}
First, we can use the \tkzNameEnv{scope} environment from \TIKZ.
In the following example, we have a way to define an equilateral triangle.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1]
- \tkzSetUpLine[color=blue!60]
\begin{scope}[rotate=30]
\tkzDefPoint(2,3){A}
\begin{scope}[shift=(A)]
@@ -182,14 +200,14 @@ In the following example, we have a way to define an equilateral triangle.
\end{tikzpicture}
\end{tkzexample}
-%<--------------------------------------------------------------------------->
\subsection{Point relative to another: \tkzcname{tkzDefShiftPoint}}
-\begin{NewMacroBox}{tkzDefShiftPoint}{\oarg{Point}\parg{$x,y$}\marg{name} or \parg{$\alpha$:$d$}\marg{name}}%
+\begin{NewMacroBox}{tkzDefShiftPoint}{\oarg{Point}\parg{$x,y$}\marg{ref} or \parg{$\alpha$:$d$}\marg{ref}}%
\begin{tabular}{lll}%
arguments & default & definition \\
\midrule
\TAline{($x,y$)}{no default}{$x$ and $y$ are two dimensions, by default in cm.}
\TAline{($\alpha$:$d$)}{no default}{$\alpha$ is an angle in degrees, $d$ is a dimension}
+\TAline{\{ref\}}{no default}{Reference assigned to the point: $A$, $T\_a$ ,$P1$ or $P_1$}
\midrule
options & default & definition \\
@@ -199,7 +217,7 @@ options & default & definition \\
\end{tabular}
\end{NewMacroBox}
-\subsubsection{Isosceles triangle with \tkzcname{tkzDefShiftPoint}}
+\subsubsection{Isosceles triangle}
This macro allows you to place one point relative to another. This is equivalent to a translation. Here is how to construct an isosceles triangle with main vertex $A$ and angle at vertex of $30^{\circ} $.
\begin{tkzexample}[latex=7cm,small]
@@ -208,7 +226,7 @@ This macro allows you to place one point relative to another. This is equivalent
\tkzDefShiftPoint[A](0:4){B}
\tkzDefShiftPoint[A](30:4){C}
\tkzDrawSegments(A,B B,C C,A)
- \tkzMarkSegments[mark=|,color=red](A,B A,C)
+ \tkzMarkSegments[mark=|](A,B A,C)
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(B,C)
\tkzLabelPoints[above left](A)
@@ -227,7 +245,7 @@ Let's see how to get an equilateral triangle (there is much simpler)
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(B,C)
\tkzLabelPoints[above left](A)
- \tkzMarkSegments[mark=|,color=red](A,B A,C B,C)
+ \tkzMarkSegments[mark=|](A,B A,C B,C)
\end{tikzpicture}
\end{tkzexample}
@@ -244,17 +262,16 @@ There's a simpler way
\end{tikzpicture}
\end{tkzexample}
-%<--------------------------------------------------------------------------->
\subsection{Definition of multiple points: \tkzcname{tkzDefPoints}}
-\begin{NewMacroBox}{tkzDefPoints}{\oarg{local options}\marg{$x_1/y_1/n_1,x_2/y_2/n_2$, ...}}%
-$x_i$ and $y_i$ are the coordinates of a referenced point $n_i$
+\begin{NewMacroBox}{tkzDefPoints}{\oarg{local options}\marg{$x_1/y_1/n_1,x_2/y_2/r_2$, ...}}%
+$x_i$ and $y_i$ are the coordinates of a referenced point $r_i$
\begin{tabular}{lll}%
\toprule
arguments & default & example \\
\midrule
-\TAline{$x_i/y_i/n_i$}{}{\tkzcname{tkzDefPoints\{0/0/O,2/2/A\}}}
+\TAline{$x_i/y_i/r_i$}{}{\tkzcname{tkzDefPoints\{0/0/O,2/2/A\}}}
\end{tabular}
\medskip
@@ -267,7 +284,7 @@ options & default & definition \\
\subsection{Create a triangle}
\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=1]
+\begin{tikzpicture}[scale=.75]
\tkzDefPoints{0/0/A,4/0/B,4/3/C}
\tkzDrawPolygon(A,B,C)
\tkzDrawPoints(A,B,C)
@@ -280,132 +297,8 @@ Note here the syntax for drawing the polygon.
\begin{tikzpicture}[scale=1]
\tkzDefPoints{0/0/A,2/0/B,2/2/C,0/2/D}
\tkzDrawPolygon(A,...,D)
- \tkzDrawPoints(A,B,C,D)
-\end{tikzpicture}
-\end{tkzexample}
-
-\section{Special points}
-The introduction of the dots was done in \tkzname{tkz-base}, the most important macro being \tkzcname{tkzDefPoint}. Here are some special points.
-%<--------------------------------------------------------------------------->
-\subsection{Middle of a segment \tkzcname{tkzDefMidPoint}}
-It is a question of determining the middle of a segment.
-
-\begin{NewMacroBox}{tkzDefMidPoint}{\parg{pt1,pt2}}%
-The result is in \tkzname{tkzPointResult}. We can access it with \tkzcname{tkzGetPoint}.
-
- \medskip
-\begin{tabular}{lll}%
-\toprule
-arguments & default & definition \\
-\midrule
-\TAline{(pt1,pt2)}{no default}{pt1 and pt2 are two points}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Use of \tkzcname{tkzDefMidPoint}}
-Review the use of \tkzcname{tkzDefPoint} in \tkzNamePack{tkz-base}.
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(2,3){A}
- \tkzDefPoint(4,0){B}
- \tkzDefMidPoint(A,B) \tkzGetPoint{C}
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints[right](A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Barycentric coordinates }
-
-$pt_1$, $pt_2$, \dots, $pt_n$ being $n$ points, they define $n$ vectors $\overrightarrow{v_1}$, $\overrightarrow{v_2}$, \dots, $\overrightarrow{v_n}$ with the origin of the referential as the common endpoint. $\alpha_1$, $\alpha_2$,
-\dots $\alpha_n$ are $n$ numbers, the vector obtained by:
-\begin{align*}
- \frac{\alpha_1 \overrightarrow{v_1} + \alpha_2 \overrightarrow{v_2} + \cdots + \alpha_n \overrightarrow{v_n}}{\alpha_1
- + \alpha_2 + \cdots + \alpha_n}
-\end{align*}
-defines a single point.
-
-\begin{NewMacroBox}{tkzDefBarycentricPoint}{\parg{pt1=$\alpha_1$,pt2=$\alpha_2$,\dots}}%
-\begin{tabular}{lll}%
-arguments & default & definition \\
-\midrule
-\TAline{(pt1=$\alpha_1$,pt2=$\alpha_2$,\dots)}{no default}{Each point has a assigned weight}
-\bottomrule
-\end{tabular}
-
-\medskip
-You need at least two points.
-\end{NewMacroBox}
-
-
-\subsubsection{Using \tkzcname{tkzDefBarycentricPoint} with two points}
-In the following example, we obtain the barycentre of points $A$ and $B$ with coefficients $1$ and $2$, in other words:
-\[
- \overrightarrow{AI}= \frac{2}{3}\overrightarrow{AB}
-\]
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPointCoord[2,3](30:4){B}
- \tkzDefBarycentricPoint(A=1,B=2)
- \tkzGetPoint{I}
- \tkzDrawPoints(A,B,I)
- \tkzDrawLine(A,B)
- \tkzLabelPoints(A,B,I)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Using \tkzcname{tkzDefBarycentricPoint} with three points}
-This time $M$ is simply the centre of gravity of the triangle. For reasons of simplification and homogeneity, there is also \tkzcname{tkzCentroid}.
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.8]
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(5,3){B}
- \tkzDefPoint(0,6){C}
- \tkzDefBarycentricPoint(A=1,B=1,C=1)
- \tkzGetPoint{M}
- \tkzDefMidPoint(A,B) \tkzGetPoint{C'}
- \tkzDefMidPoint(A,C) \tkzGetPoint{B'}
- \tkzDefMidPoint(C,B) \tkzGetPoint{A'}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A',B',C')
- \tkzDrawPoints(A,B,C,M)
- \tkzDrawLines[add=0 and 1](A,M B,M C,M)
- \tkzLabelPoint(M){$M$}
- \tkzAutoLabelPoints[center=M](A,B,C)
- \tkzAutoLabelPoints[center=M,above right](A',B',C')
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Internal Similitude Center}
-The centres of the two homotheties in which two circles correspond are called external and internal centres of similitude.
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.75,rotate=-30]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(4,-5){A}
- \tkzDefIntSimilitudeCenter(O,3)(A,1)
- \tkzGetPoint{I}
- \tkzExtSimilitudeCenter(O,3)(A,1)
- \tkzGetPoint{J}
- \tkzDefTangent[from with R= I](O,3 cm)
- \tkzGetPoints{D}{E}
- \tkzDefTangent[from with R= I](A,1 cm)
- \tkzGetPoints{D'}{E'}
- \tkzDefTangent[from with R= J](O,3 cm)
- \tkzGetPoints{F}{G}
- \tkzDefTangent[from with R= J](A,1 cm)
- \tkzGetPoints{F'}{G'}
- \tkzDrawCircle[R,fill=red!50,opacity=.3](O,3 cm)
- \tkzDrawCircle[R,fill=blue!50,opacity=.3](A,1 cm)
- \tkzDrawSegments[add = .5 and .5,color=red](D,D' E,E')
- \tkzDrawSegments[add= 0 and 0.25,color=blue](J,F J,G)
- \tkzDrawPoints(O,A,I,J,D,E,F,G,D',E',F',G')
- \tkzLabelPoints[font=\scriptsize](O,A,I,J,D,E,F,G,D',E',F',G')
+ \tkzDrawPoints(A,...,D)
\end{tikzpicture}
\end{tkzexample}
-\endinput
-
-
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex
index f2bdf788ce..2949a6a262 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointsSpc.tex
@@ -1,33 +1,323 @@
-\section{Special points relating to a triangle}
+Now that the fixed points are defined, we can with their references using macros from the package or macros that you will create get new points. The calculations may not be apparent but they are usually done by the package.
+Vous aurez peut-être besoin d'utiliser certains constantes mathématiques, voici la liste des constantes définies par le package.
-\subsection{Triangle center: \tkzcname{tkzDefTriangleCenter}}
+\section{Auxiliary tools}
+\subsection{Constants}
-This macro allows you to define the center of a triangle.
+\tkzname{\tkznameofpack} knows some constants, here is the list:
+\begin{tkzltxexample}[]
+ \def\tkzPhi{1.618034}
+ \def\tkzInvPhi{0.618034}
+ \def\tkzSqrtPhi{1.27202}
+ \def\tkzSqrTwo{1.414213}
+ \def\tkzSqrThree{1.7320508}
+ \def\tkzSqrFive{2.2360679}
+ \def\tkzSqrTwobyTwo{0.7071065}
+ \def\tkzPi{3.1415926}
+ \def\tkzEuler{2.71828182}
+\end{tkzltxexample}
+\subsection{New point by calculation }
-\begin{NewMacroBox}{tkzDefTriangleCenter}{\oarg{local options}\parg{A,B,C}}%
-\tkzHandBomb\ Be careful, the arguments are lists of three points. This macro is used in conjunction with \tkzcname{tkzGetPoint} to get the center you are looking for. You can use \tkzname{tkzPointResult} if it is not necessary to keep the results.
+When a macro of \tkzname{tkznameofpack} creates a new point, it is stored internally with the reference \tkzname{tkzPointResult}. You can assign your own reference to it. This is done with the macro \tkzcname{tkzGetPoint}. A new reference is created, your choice of reference must be placed between braces.
-\medskip
+\begin{NewMacroBox}{tkzGetPoint}{\marg{ref}}%
+If the result is in \tkzname{tkzPointResult}, you can access it with \tkzcname{tkzGetPoint}.
+
+ \medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & default & example \\
+\midrule
+\TAline{ref}{no default}{ \tkzcname{tkzGetPoint\{M\} } see the next example}
+\end{tabular}
+\end{NewMacroBox}
+
+Sometimes you need to get two points. It's possible with
+
+\begin{NewMacroBox}{tkzGetPoints}{\marg{ref1}\marg{ref2}}%
+The result is in \tkzname{tkzPointFirstResult} and \tkzname{tkzPointSecondResult}.
+
+ \medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & default & example \\
+\midrule
+\TAline{\{ref1,ref2\}}{no default}{ \tkzcname{tkzGetPoints\{M,N\} } It's the case with \tkzcname{tkzInterCC}}
+\end{tabular}
+\end{NewMacroBox}
+
+If you need only the first or the second point you can also use :
+
+\begin{NewMacroBox}{tkzGetFirstPoint}{\marg{ref1}}%
+
+ \medskip
\begin{tabular}{lll}%
\toprule
+arguments & default & example \\
+\midrule
+\TAline{ref1}{no default}{ \tkzcname{tkzGetFirstPoint\{M\} }}
+\end{tabular}
+\end{NewMacroBox}
+
+\begin{NewMacroBox}{tkzGetSecondPoint}{\marg{ref2}}%
+
+ \medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & default & example \\
+\midrule
+\TAline{ref2}{no default}{ \tkzcname{tkzGetSecondPoint\{M\} }}
+\end{tabular}
+\end{NewMacroBox}
+
+Parfois les résultats consistent en un point et une dimension. Vous obtenez le point avec \tkzcname{tkzGetPoint} et la dimension avec \tkzcname{tkzGetLength}.
+
+\begin{NewMacroBox}{tkzGetLength}{\marg{name of a macro}}%
+
+ \medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & default & example \\
+\midrule
+\TAline{name of a macro}{no default}{ \tkzcname{tkzGetLength\{rAB\} \tkzcname{rAB} gives the length in cm}}
+\end{tabular}
+\end{NewMacroBox}
+
+%\tkzcname{tkzCalcLength}(A,B) After \tkzcname{tkzGetLength\{dAB\}} \tkzcname{dAB} gives $AB$ in cm}
+
+
+\section{Special points}
+Here are some special points.
+%<--------------------------------------------------------------------------->
+\subsection{Middle of a segment \tkzcname{tkzDefMidPoint}}
+It is a question of determining the middle of a segment.
+
+\begin{NewMacroBox}{tkzDefMidPoint}{\parg{pt1,pt2}}%
+The result is in \tkzname{tkzPointResult}. We can access it with \tkzcname{tkzGetPoint}.
+
+ \medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & default & definition \\
+\midrule
+\TAline{(pt1,pt2)}{no default}{pt1 and pt2 are two points}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Use of \tkzcname{tkzDefMidPoint}}
+Review the use of \tkzcname{tkzDefPoint}.
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoint(2,3){A}
+ \tkzDefPoint(6,2){B}
+ \tkzDefMidPoint(A,B)
+ \tkzGetPoint{M}
+ \tkzDrawSegment(A,B)
+ \tkzDrawPoints(A,B,M)
+ \tkzLabelPoints[below](A,B,M)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Barycentric coordinates }
+
+$pt_1$, $pt_2$, \dots, $pt_n$ being $n$ points, they define $n$ vectors $\overrightarrow{v_1}$, $\overrightarrow{v_2}$, \dots, $\overrightarrow{v_n}$ with the origin of the referential as the common endpoint. $\alpha_1$, $\alpha_2$,
+\dots $\alpha_n$ are $n$ numbers, the vector obtained by:
+\begin{align*}
+ \frac{\alpha_1 \overrightarrow{v_1} + \alpha_2 \overrightarrow{v_2} + \cdots + \alpha_n \overrightarrow{v_n}}{\alpha_1
+ + \alpha_2 + \cdots + \alpha_n}
+\end{align*}
+defines a single point.
+
+\begin{NewMacroBox}{tkzDefBarycentricPoint}{\parg{pt1=$\alpha_1$,pt2=$\alpha_2$,\dots}}%
+\begin{tabular}{lll}%
arguments & default & definition \\
+\midrule
+\TAline{(pt1=$\alpha_1$,pt2=$\alpha_2$,\dots)}{no default}{Each point has a assigned weight}
+\bottomrule
+\end{tabular}
+
+\medskip
+You need at least two points. Result in \tkzname{tkzPointResult}.
+\end{NewMacroBox}
+
+
+\subsubsection{Using \tkzcname{tkzDefBarycentricPoint} with two points}
+In the following example, we obtain the barycentre of points $A$ and $B$ with coefficients $1$ and $2$, in other words:
+\[
+ \overrightarrow{AI}= \frac{2}{3}\overrightarrow{AB}
+\]
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(2,3){A}
+ \tkzDefShiftPointCoord[2,3](30:4){B}
+ \tkzDefBarycentricPoint(A=1,B=2)
+ \tkzGetPoint{G}
+ \tkzDrawLine(A,B)
+ \tkzDrawPoints(A,B,G)
+ \tkzLabelPoints(A,B,G)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Using \tkzcname{tkzDefBarycentricPoint} with three points}
+This time $M$ is simply the center of gravity of the triangle.
+
+ For reasons of simplification and homogeneity, there is also \tkzcname{tkzCentroid}.
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.8]
+ \tkzDefPoints{2/1/A,5/3/B,0/6/C}
+ \tkzDefBarycentricPoint(A=1,B=1,C=1)
+ \tkzGetPoint{G}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{C'}
+ \tkzDefMidPoint(A,C) \tkzGetPoint{B'}
+ \tkzDefMidPoint(C,B) \tkzGetPoint{A'}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLines[add=0 and 1,new](A,G B,G C,G)
+ \tkzLabelPoint(G){$G$}
+ \tkzDrawPoints[new](A',B',C',G)
+ \tkzDrawPoints(A,B,C)
+ \tkzAutoLabelPoints[center=G](A,B,C)
+ \tkzAutoLabelPoints[center=G,above right](A',B',C')
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Golden ration}
+From Wikipedia : In mathematics, two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Expressed algebraically, for quantities $a$, $b$ $a > b > 0$ $a+b$ is to $a$ as $a$ is to $b$.
+
+$ \frac{a+b}{a} = \frac{a}{b} = \phi = \frac{1 + \sqrt{5}}{2}$
+
+
+One of the two solutions to the equation $x^2 - x - 1 = 0$
+is the golden ratio $\phi$, $\phi = \frac{1 + \sqrt{5}}{2}$.
+
+\begin{NewMacroBox}{tkzDefGoldenRatio}{\parg{pt1,pt2}}%
+\begin{tabular}{lll}%
+arguments & default & example \\
+\midrule
+\TAline{(pt1,pt2)}{no default}{\tkzcname{tkzDefGoldenRatio(A,C)} \tkzcname{tkzGetPoint}\{B\}}
+\bottomrule
+\end{tabular}
+
+\medskip
+$AB=a$, $BC=b$ and $\frac{AC}{AB} = \frac{AB}{BC} =\phi$
+\end{NewMacroBox}
+
+\subsection{Use the golden ratio to divide a line segment}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,6/0/C}
+ \tkzDefMidPoint(A,C) \tkzGetPoint{I}
+ %\tkzDefPointWith[linear,K=\tkzInvPhi](A,C)
+ \tkzDefGoldenRatio(A,C) \tkzGetPoint{B}
+ \tkzDrawSegments(A,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Internal Similitude Center}
+The centres of the two homotheties in which two circles correspond are called external and internal centres of similitude.
+
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[rotate=30]
+ \tkzDefPoints{0/0/O,4/-5/A}
+ \tkzDefPoints{3/0/x,5/-5/y}
+ \pgfmathsetmacro\R{3}\pgfmathsetmacro\r{1}
+ \tkzDefIntSimilitudeCenter[R](O,\R)(A,\r) \tkzGetPoint{I}
+ \tkzDefExtSimilitudeCenter[R](O,\R)(A,\r) \tkzGetPoint{J}
+ \tkzDefTangent[from with R= I](O,3) \tkzGetPoints{D}{E}
+ \tkzDefTangent[from with R= I](A,1) \tkzGetPoints{D'}{E'}
+ \tkzDefTangent[from with R= J](O,3) \tkzGetPoints{F}{G}
+ \tkzDefTangent[from with R= J](A,1) \tkzGetPoints{F'}{G'}
+ \tkzDrawCircles(O,x A,y) \tkzDrawCircles[R](O,3 A,1)
+ \tkzDrawSegments[add = .5 and .5,new](D,D' E,E')
+ \tkzDrawSegments[add= 0 and 0.25,new](J,F J,G)
+ \tkzDrawPoints(O,A,I,J,D,E,F,G,D',E',F',G')
+ \tkzLabelPoints[font=\scriptsize](O,A,I,J,D,E,F,G,D',E',F',G')
+\end{tikzpicture}
+\end{tkzexample}
+
+You can \tkzcname{tkzDefBarycentricPoint} to find a homothetic center
+
+|\tkzDefBarycentricPoint(O=\r,A=\R) \tkzGetPoint{I}| \\
+|\tkzDefBarycentricPoint(O={-\r},A=\R) \tkzGetPoint{J}|
+
+%<---------------------------------------------------------------------->
+\subsection{ Equidistant points}
+%<---------------------------------------------------------------------->
+\subsubsection{\tkzcname{tkzDefEquiPoints}}
+\begin{NewMacroBox}{tkzDefEquiPoints}{\oarg{local options}\parg{pt1,pt2}}%
+\begin{tabular}{lll}%
+arguments & default & definition \\
+\midrule
+\TAline{(pt1,pt2)}{no default}{unordered list of two items}
+\end{tabular}
+
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{dist} {2 (cm)} {half the distance between the two points}
+\TOline{from=pt} {no default} {reference point}
+\TOline{show} {false} {if true displays compass traces}
+\TOline{/compass/delta} {0} {compass trace size }
+\end{tabular}
+\end{NewMacroBox}
+
+This macro makes it possible to obtain two points on a straight line equidistant from a given point.
+\subsubsection{Using \tkzcname{tkzDefEquiPoints} with options}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzSetUpCompass[color=purple,line width=1pt]
+ \tkzDefPoints{0/1/A,5/2/B,3/4/C}
+ \tkzDefEquiPoints[from=C,dist=1,show,
+ /tkzcompass/delta=20](A,B)
+ \tkzGetPoints{E}{H}
+ \tkzDrawLines[color=blue](C,E C,H A,B)
+ \tkzDrawPoints[color=blue](A,B,C)
+ \tkzDrawPoints[color=red](E,H)
+ \tkzLabelPoints(E,H)
+ \tkzLabelPoints[color=blue](A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\newpage
+\section{Special points relating to a triangle}
+
+\subsection{Triangle center: \tkzcname{tkzDefTriangleCenter}}
+
+\begin{NewMacroBox}{tkzDefTriangleCenter}{\oarg{local options}\parg{A,B,C}}%
+\tkzHandBomb\ This macro allows you to define the center of a triangle.. Be careful, the arguments are lists of three points. This macro is used in conjunction with \tkzcname{tkzGetPoint} to get the center you are looking for.
+
+ You can use \tkzname{tkzPointResult} if it is not necessary to keep the results.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+arguments & default & example \\
\midrule
-\TAline{(pt1,pt2,pt3)}{no default}{three points}
+\TAline{(pt1,pt2,pt3)}{no default}{ \tkzcname{tkzDefTriangleCenter[ortho](B,C,A)}}
\midrule
options & default & definition \\
\midrule
-\TOline{ortho} {circum}{intersection of the altitudes of a triangle}
-\TOline{centroid} {circum}{centre of gravity. Intersection of the medians }
+\TOline{ortho} {circum}{intersection of the altitudes}
+\TOline{orthic} {circum}{\dots}
+\TOline{centroid} {circum}{intersection of the medians}
+\TOline{median} {circum}{ \dots }
\TOline{circum}{circum}{circle center circumscribed}
\TOline{in} {circum}{center of the circle inscribed in a triangle }
+\TOline{in} {circum}{intersection of the bisectors}
\TOline{ex} {circum}{center of a circle exinscribed to a triangle }
\TOline{euler}{circum}{center of Euler's circle }
-\TOline{symmedian} {circum}{Lemoine's point or symmedian centre or Grebe's point }
-\TOline{spieker} {circum}{Spieker Circle Center}
+\TOline{gergonne}{circum}{defined with the Contact triangle}
+\TOline{symmedian} {circum}{Lemoine's point or symmedian center or Grebe's point }
+\TOline{lemoine} {circum}{ \dots}
+\TOline{grebe} {circum}{ \dots}
+\TOline{spieker} {circum}{Spieker circle center}
\TOline{nagel}{circum}{Nagel Center}
-\TOline{mittenpunkt} {circum}{also called the middlespoint}
+\TOline{mittenpunkt} {circum}{Or middlespoint}
\TOline{feuerbach}{circum}{Feuerbach Point}
\end{tabular}
@@ -36,35 +326,33 @@ options & default & definition \\
\subsubsection{Option \tkzname{ortho} or \tkzname{orthic}}
The intersection $H$ of the three altitudes of a triangle is called the orthocenter.
-\begin{tkzexample}[latex=5cm,small]
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(5,1){B}
\tkzDefPoint(1,4){C}
- \tkzClipPolygon(A,B,C)
\tkzDefTriangleCenter[ortho](B,C,A)
- \tkzGetPoint{H}
+ \tkzGetPoint{H}
\tkzDefSpcTriangle[orthic,name=H](A,B,C){a,b,c}
- \tkzDrawPolygon[color=blue](A,B,C)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawSegments[new](A,Ha B,Hb C,Hc)
\tkzDrawPoints(A,B,C,H)
- \tkzDrawLines[add=0 and 1](A,Ha B,Hb C,Hc)
\tkzLabelPoint(H){$H$}
\tkzAutoLabelPoints[center=H](A,B,C)
- \tkzMarkRightAngles(A,Ha,B B,Hb,C C,Hc,A)
+ \tkzMarkRightAngles(A,Ha,B B,Hb,C C,Hc,A)
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Option \tkzname{centroid}}
-\begin{tkzexample}[latex=5cm,small]
+\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{-1/1/A,5/1/B}
- \tkzDefEquilateral(A,B)
- \tkzGetPoint{C}
+ \tkzDefPoints{0/0/A,5/0/B,1/4/C}
\tkzDefTriangleCenter[centroid](A,B,C)
- \tkzGetPoint{G}
- \tkzDrawPolygon[color=brown](A,B,C)
+ \tkzGetPoint{G}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLines[add = 0 and 2/3,new](A,G B,G C,G)
\tkzDrawPoints(A,B,C,G)
- \tkzDrawLines[add = 0 and 2/3](A,G B,G C,G)
+ \tkzLabelPoint(G){$G$}
\end{tikzpicture}
\end{tkzexample}
@@ -73,97 +361,92 @@ options & default & definition \\
\begin{tikzpicture}
\tkzDefPoints{0/1/A,3/2/B,1/4/C}
\tkzDefTriangleCenter[circum](A,B,C)
- \tkzGetPoint{G}
- \tkzDrawPolygon[color=brown](A,B,C)
- \tkzDrawCircle(G,A)
- \tkzDrawPoints(A,B,C,G)
- \end{tikzpicture}
+ \tkzGetPoint{O}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,O)
+ \tkzLabelPoint(O){$O$}
+\end{tikzpicture}
\end{tkzexample}
\subsubsection{Option \tkzname{in}}
In geometry, the incircle or inscribed circle of a triangle is the largest circle contained in the triangle; it touches (is tangent to) the three sides. The center of the incircle is a triangle center called the triangle's incenter.
-The center of the incircle, called the incenter, can be found as the intersection of the three internal angle bisectors. The center of an excircle is the intersection of the internal bisector of one angle (at vertex $A$, for example) and the external bisectors of the other two. The center of this excircle is called the excenter relative to the vertex $A$, or the excenter of $A$. Because the internal bisector of an angle is perpendicular to its external bisector, it follows that the center of the incircle together with the three excircle centers form an orthocentric system.(\url{https://en.wikipedia.org/wiki/Incircle_and_excircles_of_a_triangle})
+The center of the incircle, called the incenter, can be found as the intersection of the three internal angle bisectors. The center of an excircle is the intersection of the internal bisector of one angle (at vertex $A$, for example) and the external bisectors of the other two. The center of this excircle is called the excenter relative to the vertex $A$, or the excenter of $A$. Because the internal bisector of an angle is perpendicular to its external bisector, it follows that the center of the incircle together with the three excircle centers form an orthocentric system.\\
+(\url{https://en.wikipedia.org/wiki/Incircle_and_excircles_of_a_triangle})
\medskip
We get the centre of the inscribed circle of the triangle. The result is of course in \tkzname{tkzPointResult}. We can retrieve it with \tkzcname{tkzGetPoint}.
-\begin{tkzexample}[latex=6cm,small]
+\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}
- \tkzDefPoints{0/1/A,3/2/B,1/4/C}
- \tkzDefTriangleCenter[in](A,B,C)\tkzGetPoint{I}
- \tkzDefPointBy[projection=onto A--C](I)
- \tkzGetPoint{Ib}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPoints(A,B,C,I)
- \tkzDrawLines[add = 0 and 2/3](A,I B,I C,I)
- \tkzDrawCircle(I,Ib)
+\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
+\tkzDefTriangleCenter[in](A,B,C)
+ \tkzGetPoint{I}
+\tkzDrawLines(A,B B,C C,A)
+\tkzDrawCircle[in](A,B,C)
+\tkzDrawPoint[red](I)
+\tkzDrawPoints(A,B,C)
+\tkzLabelPoint(I){$I$}
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Option \tkzname{ex}}
-An excircle or escribed circle of the triangle is a circle lying outside the triangle, tangent to one of its sides and tangent to the extensions of the other two. Every triangle has three distinct excircles, each tangent to one of the triangle's sides.
+An excircle or escribed circle of the triangle is a circle lying outside the triangle, tangent to one of its sides and tangent to the extensions of the other two. Every triangle has three distinct excircles, each tangent to one of the triangle's sides.\\
(\url{https://en.wikipedia.org/wiki/Incircle_and_excircles_of_a_triangle})
We get the centre of an inscribed circle of the triangle. The result is of course in \tkzname{tkzPointResult}. We can retrieve it with \tkzcname{tkzGetPoint}.
-\begin{tkzexample}[latex=8cm,small]
- \begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/1/A,3/2/B,1/4/C}
- \tkzDefTriangleCenter[ex](B,C,A)
- \tkzGetPoint{J_c}
- \tkzDefPointBy[projection=onto A--B](J_c)
- \tkzGetPoint{Tc}
- %or
- % \tkzDefCircle[ex](B,C,A)
- % \tkzGetFirstPoint{J_c}
- % \tkzGetSecondPoint{Tc}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPoints(A,B,C,J_c)
- \tkzDrawCircle[red](J_c,Tc)
- \tkzDrawLines[add=1.5 and 0](A,C B,C)
- \tkzLabelPoints(J_c)
- \end{tikzpicture}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/1/A,3/2/B,1/4/C}
+ \tkzDefTriangleCenter[ex](B,C,A)
+ \tkzGetPoint{J_c}
+ \tkzDefPointBy[projection=onto A--B](J_c)
+ \tkzGetPoint{Tc}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle[new](J_c,Tc)
+ \tkzDrawLines[add=1.5 and 0](A,C B,C)
+ \tkzDrawPoints(A,B,C,J_c)
+ \tkzLabelPoints(J_c)
+\end{tikzpicture}
\end{tkzexample}
\subsubsection{Option \tkzname{euler}}
-This macro allows to obtain the center of the circle of the nine points or euler's circle or Feuerbach's circle.
-The nine-point circle, also called Euler's circle or the Feuerbach circle, is the circle that passes through the perpendicular feet $H_A$, $H_B$, and $H_C$ dropped from the vertices of any reference triangle $ABC$ on the sides opposite them. Euler showed in 1765 that it also passes through the midpoints $M_A$, $M_B$, $M_C$ of the sides of $ABC$. By Feuerbach's theorem, the nine-point circle also passes through the midpoints $E_A$, $E_B$, and $E_C$ of the segments that join the vertices and the orthocenter $H$. These points are commonly referred to as the Euler points. (\url{http://mathworld.wolfram.com/Nine-PointCircle.html})
+This macro allows to obtain the center of the circle of the nine points or euler's circle or Feuerbach's circle. The nine-point circle, also called Euler's circle or the Feuerbach circle, is the circle that passes through the perpendicular feet $H_A$, $H_B$, and $H_C$ dropped from the vertices of any reference triangle $ABC$ on the sides opposite them. Euler showed in 1765 that it also passes through the midpoints $M_A$, $M_B$, $M_C$ of the sides of $ABC$. By Feuerbach's theorem, the nine-point circle also passes through the midpoints $E_A$, $E_B$, and $E_C$ of the segments that join the vertices and the orthocenter $H$. These points are commonly referred to as the Euler points.\\ (\url{https://mathworld.wolfram.com/Nine-PointCircle.html})
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1]
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}[scale=1,rotate=90]
\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefSpcTriangle[medial,
- name=M](A,B,C){_A,_B,_C}
- \tkzDefTriangleCenter[euler](A,B,C)
- \tkzGetPoint{N} % I= N nine points
- \tkzDefTriangleCenter[ortho](A,B,C)
- \tkzGetPoint{H}
+ \tkzDefSpcTriangle[medial,name=M](A,B,C){_A,_B,_C}
+ \tkzDefTriangleCenter[euler](A,B,C)\tkzGetPoint{N}
+ % I= N nine points
+ \tkzDefTriangleCenter[ortho](A,B,C)\tkzGetPoint{H}
\tkzDefMidPoint(A,H) \tkzGetPoint{E_A}
\tkzDefMidPoint(C,H) \tkzGetPoint{E_C}
\tkzDefMidPoint(B,H) \tkzGetPoint{E_B}
\tkzDefSpcTriangle[ortho,name=H](A,B,C){_A,_B,_C}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawCircle(N,E_A)
- \tkzDrawSegments[blue](A,H_A B,H_B C,H_C)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle[new](N,E_A)
+ \tkzDrawSegments[new](A,H_A B,H_B C,H_C)
\tkzDrawPoints(A,B,C,N,H)
- \tkzDrawPoints[red](M_A,M_B,M_C)
- \tkzDrawPoints[blue]( H_A,H_B,H_C)
+ \tkzDrawPoints[new](M_A,M_B,M_C)
+ \tkzDrawPoints( H_A,H_B,H_C)
\tkzDrawPoints[green](E_A,E_B,E_C)
\tkzAutoLabelPoints[center=N,
- font=\scriptsize](A,B,C,%
- M_A,M_B,M_C,%
- H_A,H_B,H_C,%
- E_A,E_B,E_C)
+ font=\scriptsize](A,B,C,M_A,M_B,M_C,H_A,H_B,H_C,E_A,E_B,E_C)
\tkzLabelPoints[font=\scriptsize](H,N)
\tkzMarkSegments[mark=s|,size=3pt,
- color=blue,line width=1pt](B,E_B E_B,H)
+ color=blue,line width=1pt](B,E_B E_B,H)
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Option \tkzname{symmedian}}
+The point of concurrence $K$ of the symmedians, sometimes also called the Lemoine point (in England and France) or the Grebe point (in Germany).\\
+\href{https://mathworld.wolfram.com/SymmedianPoint.html}{Weisstein, Eric W. "Symmedian Point." From MathWorld--A Wolfram Web Resource.}
+
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
@@ -174,39 +457,83 @@ The nine-point circle, also called Euler's circle or the Feuerbach circle, is th
\tkzDefTriangleCenter[in](A,B,C)\tkzGetPoint{I}
\tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
\tkzDefSpcTriangle[incentral,name=I](A,B,C){a,b,c}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawLines[add = 0 and 2/3,blue](A,K B,K C,K)
- \tkzDrawSegments[red,dashed](A,Ma B,Mb C,Mc)
- \tkzDrawSegments[orange,dashed](A,Ia B,Ib C,Ic)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLines[add = 0 and 2/3,new](A,K B,K C,K)
+ \tkzDrawSegments[color=cyan](A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[color=green](A,Ia B,Ib C,Ic)
\tkzDrawLine[add=2 and 2](G,I)
\tkzDrawPoints(A,B,C,K,G,I)
+ \tkzLabelPoints[font=\scriptsize](A,B,K,G,I)
+ \tkzLabelPoints[above,font=\scriptsize](C)
\end{tikzpicture}
\end{tkzexample}
+\subsubsection{Option \tkzname{spieker}}
+The Spieker center is the center $Sp$ of the Spieker circle, i.e., the incenter of the medial triangle of a reference triangle.\\
+\href{https://mathworld.wolfram.com/SpiekerCenter.html}{Weisstein, Eric W. "Spieker Center." From MathWorld--A Wolfram Web Resource. }
-\subsubsection{Option \tkzname{nagel}}
-Let $Ta$ be the point at which the excircle with center $Ja$ meets the side $BC$ of a triangle $ABC$, and define $Tb$ and $Tc$ similarly. Then the lines $ATa$, $BTb$, and $CTc$ concur in the Nagel point $Na$.
-\href{http://mathworld.wolfram.com/NagelPoint.html}{Weisstein, Eric W. "Nagel point." From MathWorld--A Wolfram Web Resource. }
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,6/0/B,5/5/C}
+ \tkzDefSpcTriangle[medial](A,B,C){Ma,Mb,Mc}
+ \tkzDefTriangleCenter[centroid](A,B,C)
+ \tkzGetPoint{G}
+ \tkzDefTriangleCenter[spieker](A,B,C)
+ \tkzGetPoint{Sp}
+ \tkzDrawPolygon[](A,B,C)
+ \tkzDrawPolygon[new](Ma,Mb,Mc)
+ \tkzDrawCircle[in](Ma,Mb,Mc)
+ \tkzDrawPoints(B,C,A,Sp,Ma,Mb,Mc)
+ \tkzAutoLabelPoints[center=G,dist=.3](Ma,Mb,Mc)
+ \tkzLabelPoints[right](Sp)
+ \tkzAutoLabelPoints[center=G](A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Option \tkzname{gergonne}}
+The Gergonne Point is the point of concurrency which results from connecting the vertices of a triangle to the opposite points of tangency of the triangle's incircle.
+(Joseph Gergonne French mathematician )
\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/B,3.6/0/C,2.8/4/A}
+\tkzDefTriangleCenter[gergonne](A,B,C)
+\tkzGetPoint{Ge}
+\tkzDefSpcTriangle[intouch](A,B,C){C_1,C_2,C_3}
+\tkzDrawCircle[in](A,B,C)
+\tkzDrawLines[add=.25 and .25,teal](A,B A,C B,C)
+\tkzDrawSegments[new](A,C_1 B,C_2 C,C_3)
+\tkzDrawPoints(A,...,C,C_1,C_2,C_3)
+\tkzDrawPoints[red](Ge)
+\tkzLabelPoints(A,...,C,C_1,C_2,C_3,Ge)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Option \tkzname{nagel}}
+Let $Ta$ be the point at which the excircle with center $Ja$ meets the side $BC$ of a triangle $ABC$, and define $Tb$ and $Tc$ similarly. Then the lines $ATa$, $BTb$, and $CTc$ concur in the Nagel point $Na$.\\
+\href{https://mathworld.wolfram.com/NagelPoint.html}{Weisstein, Eric W. "Nagel point." From MathWorld--A Wolfram Web Resource. }
+
+
+\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=.5]
\tkzDefPoints{0/0/A,6/0/B,4/6/C}
\tkzDefSpcTriangle[ex](A,B,C){Ja,Jb,Jc}
\tkzDefSpcTriangle[extouch](A,B,C){Ta,Tb,Tc}
- \tkzDrawPoints(Ja,Jb,Jc,Ta,Tb,Tc)
- \tkzLabelPoints(Ja,Jb,Jc,Ta,Tb,Tc)
+ \tkzDefTriangleCenter[nagel](A,B,C)
+ \tkzGetPoint{Na}
\tkzDrawPolygon[blue](A,B,C)
- \tkzDefTriangleCenter[nagel](A,B,C) \tkzGetPoint{Na}
- \tkzDrawPoints[blue](B,C,A)
- \tkzDrawPoints[red](Na)
- \tkzLabelPoints[blue](B,C,A)
- \tkzLabelPoints[red](Na)
\tkzDrawLines[add=0 and 1](A,Ta B,Tb C,Tc)
- \tkzShowBB\tkzClipBB
+ \tkzDrawPoints[new](Ja,Jb,Jc,Ta,Tb,Tc)
+ \tkzClipBB
\tkzDrawLines[add=1 and 1,dashed](A,B B,C C,A)
- \tkzDrawCircles[ex,gray](A,B,C C,A,B B,C,A)
- \tkzDrawSegments[dashed](Ja,Ta Jb,Tb Jc,Tc)
+ \tkzDrawCircles[ex,new](A,B,C C,A,B B,C,A)
+ \tkzDrawSegments[new,dashed](Ja,Ta Jb,Tb Jc,Tc)
+ \tkzDrawPoints(B,C,A)
+ \tkzDrawPoints[new](Na)
+ \tkzLabelPoints(B,C,A)
+ \tkzLabelPoints[new](Na)
+ \tkzLabelPoints[new](Ja,Jb,Jc,Ta,Tb,Tc)
\tkzMarkRightAngles[fill=gray!20](Ja,Ta,C
Jb,Tb,A Jc,Tc,B)
\end{tikzpicture}
@@ -214,6 +541,11 @@ Let $Ta$ be the point at which the excircle with center $Ja$ meets the side $BC$
\subsubsection{Option \tkzname{mittenpunkt}}
+
+The mittenpunkt (also called the middlespoint) of a triangle $ABC$ is the symmedian point of the excentral triangle, i.e., the point of concurrence M of the lines from the excenters through the corresponding triangle side midpoints.\\
+\href{https://mathworld.wolfram.com/Mittenpunkt.html}{Weisstein, Eric W. "Mittenpunkt." From MathWorld--A Wolfram Web Resource.}
+
+
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.5]
\tkzDefPoints{0/0/A,6/0/B,4/6/C}
@@ -222,123 +554,141 @@ Let $Ta$ be the point at which the excircle with center $Ja$ meets the side $BC$
\tkzDefSpcTriangle[extouch](A,B,C){Ta,Tb,Tc}
\tkzDefTriangleCenter[mittenpunkt](A,B,C)
\tkzGetPoint{Mi}
- \tkzDrawPoints(Ma,Mb,Mc,Ja,Jb,Jc)
+ \tkzDrawPoints[new](Ma,Mb,Mc,Ja,Jb,Jc)
\tkzClipBB
\tkzDrawPolygon[blue](A,B,C)
\tkzDrawLines[add=0 and 1](Ja,Ma
Jb,Mb Jc,Mc)
\tkzDrawLines[add=1 and 1](A,B A,C B,C)
- \tkzDrawCircles[gray](Ja,Ta Jb,Tb Jc,Tc)
- \tkzDrawPoints[blue](B,C,A)
- \tkzDrawPoints[red](Mi)
- \tkzLabelPoints[red](Mi)
+ \tkzDrawCircles[new](Ja,Ta Jb,Tb Jc,Tc)
+ \tkzDrawPoints(B,C,A)
+ \tkzDrawPoints[new](Mi)
+ \tkzLabelPoints(Mi)
\tkzLabelPoints[left](Mb)
- \tkzLabelPoints(Ma,Mc,Jb,Jc)
+ \tkzLabelPoints[new](Ma,Mc,Jb,Jc)
\tkzLabelPoints[above left](Ja,Jc)
- \tkzShowBB
\end{tikzpicture}
\end{tkzexample}
-%<---------------------------------------------------------------------->
-%<---------------------------------------------------------------------->
-\section{Draw a point}
-\subsubsection{Drawing points \tkzcname{tkzDrawPoint}} \hypertarget{tdrp}{}
-
-\begin{NewMacroBox}{tkzDrawPoint}{\oarg{local options}\parg{name}}%
-\begin{tabular}{lll}%
-arguments & default & definition \\
-\midrule
-\TAline{name of point} {no default} {Only one point name is accepted}
-\bottomrule
-\end{tabular}
-\medskip
-The argument is required. The disc takes the color of the circle, but lighter. It is possible to change everything. The point is a node and therefore it is invariant if the drawing is modified by scaling.
+\subsubsection{Example : relation between \tkzname{gergonne}, \tkzname{centroid} and \tkzname{mittenpunkt}}
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{shape} {circle}{Possible \tkzname{cross} or \tkzname{cross out}}
-\TOline{size} {6}{$6 \times$ \tkzcname{pgflinewidth}}
-\TOline{color} {black}{the default color can be changed }
-\bottomrule
-\end{tabular}
+The Gergonne point $Ge$, triangle centroid $G$, and mittenpunkt $M$ are collinear, with GeG/GM=2.
-\medskip
-{We can create other forms such as \tkzname{cross}}
-\end{NewMacroBox}
-
-\subsubsection{Example of point drawings}
-Note that \tkzname{scale} does not affect the shape of the dots. Which is normal. Most of the time, we are satisfied with a single point shape that we can define from the beginning, either with a macro or by modifying a configuration file.
-
-
-\begin{tkzexample}[latex=5cm,small]
- \begin{tikzpicture}[scale=.5]
- \tkzDefPoint(1,3){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(0,0){O}
- \tkzDrawPoint[color=red](A)
- \tkzDrawPoint[fill=blue!20,draw=blue](B)
- \tkzDrawPoint[color=green](O)
- \end{tikzpicture}
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,2/2/B,8/0/C}
+\tkzDefTriangleCenter[gergonne](A,B,C) \tkzGetPoint{Ge}
+\tkzDefTriangleCenter[centroid](A,B,C)
+\tkzGetPoint{G}
+\tkzDefTriangleCenter[mittenpunkt](A,B,C)
+\tkzGetPoint{M}
+\tkzDrawLines[add=.25 and .25,teal](A,B A,C B,C)
+\tkzDrawLines[add=.25 and .25,new](Ge,M)
+\tkzDrawPoints(A,...,C)
+\tkzDrawPoints[red,size=2](G,M,Ge)
+\tkzLabelPoints(A,...,C,M,G,Ge)
+\tkzMarkSegment[mark=s||](Ge,G)
+\tkzMarkSegment[mark=s|](G,M)
+\end{tikzpicture}
\end{tkzexample}
-It is possible to draw several points at once but this macro is a little slower than the previous one. Moreover, we have to make do with the same options for all the points.
+\newpage
+\section{Projection of excenters}
+
+\begin{NewMacroBox}{tkzDefProjExcenter}{\oarg{local options}\parg{A,B,C}\parg{a,b,c}\marg{X,Y,Z}}%
+Each excenter has three projections on the sides of the triangle ABC. We can do this with one macro\\ \tkzcname{tkzDefProjExcenter[name=J](A,B,C)(a,b,c)\{Y,Z,X\}}.
-\hypertarget{tdrps}{}
-\begin{NewMacroBox}{tkzDrawPoints}{\oarg{local options}\parg{liste}}%
+\medskip
\begin{tabular}{lll}%
-arguments & default & definition \\
+\toprule
+options & default & definition \\
\midrule
-\TAline{points list}{no default}{example \tkzcname{tkzDrawPoints(A,B,C)}}
+\TOline{name} {no defaut}{used to name the vertices}
\bottomrule
\end{tabular}
-\medskip
\begin{tabular}{lll}%
-options & default & definition \\
+arguments & default & definition \\
\midrule
-\TOline{shape} {circle}{Possible \tkzname{cross} or \tkzname{cross out}}
-\TOline{size} {6}{$6 \times$ \tkzcname{pgflinewidth}}
-\TOline{color} {black}{the default color can be changed }
+\TAline{(pt1=$\alpha_1$,pt2=$\alpha_2$,\dots)}{no default}{Each point has a assigned weight}
\bottomrule
\end{tabular}
\medskip
-\tkzHandBomb\ Beware of the final "s", an oversight leads to cascading errors if you try to draw multiple points. The options are the same as for the previous macro.
\end{NewMacroBox}
-\subsubsection{First example}
+\subsubsection{Excircles}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(1,3){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(0,0){C}
- \tkzDrawPoints[size=6,color=red,
- fill=red!50](A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Second example}
-
-\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(2,3){A} \tkzDefPoint(5,-1){B}
- \tkzDefPoint[label=below:$\mathcal{C}$,
- shift={(2,3)}](-30:5.5){E}
- \begin{scope}[shift=(A)]
- \tkzDefPoint(30:5){C}
- \end{scope}
- \tkzCalcLength[cm](A,B)\tkzGetLength{rAB}
- \tkzDrawCircle[R](A,\rAB cm)
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
- \tkzLabelPoints[above](A)
-\end{tikzpicture}
+\tkzDefPoints{0/0/A,5/0/B,0.8/4/C}
+\tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
+\tkzDefSpcTriangle[intouch,name=I](A,B,C){a,b,c}
+\tkzDefProjExcenter[name=J](A,B,C)(a,b,c){X,Y,Z}
+
+\tkzDefCircle[in](A,B,C) \tkzGetPoint{I} \tkzGetSecondPoint{T}
+\tkzDrawCircles[red](Ja,Xa Jb,Yb Jc,Zc)
+\tkzDrawCircle(I,T)
+\tkzDrawPolygon[dashed,color=blue](Ja,Jb,Jc)
+\tkzDrawLines[add=2 and 2,line width=1pt](A,C A,B B,C)
+\tkzDrawSegments(Ja,Xa Ja,Ya Ja,Za
+ Jb,Xb Jb,Yb Jb,Zb
+ Jc,Xc Jc,Yc Jc,Zc
+ I,Ia I,Ib I,Ic)
+\tkzMarkRightAngles[size=.2,fill=gray!15](%
+ Ja,Za,B
+ Ja,Xa,B
+ Ja,Ya,C
+ Jb,Yb,C
+ Jb,Zb,B
+ Jb,Xb,C
+ Jc,Yc,A
+ Jc,Zc,B
+ Jc,Xc,C
+ I,Ia,B
+ I,Ib,C
+ I,Ic,A)
+\tkzDrawSegments[blue](Jc,C Ja,A Jb,B)
+\tkzLabelPoints(Xb,Yc,A,B,C,Xa,Xc,Ya,Yb,Ja,Jb,Jc,I)
+\tkzLabelPoints[above right](Za,Zb,Zc)
+\tkzLabelPoints[below](Ia,Ib,Ic)
+\end{tikzpicture}
+
+\begin{tkzexample}[code only,small]
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/A,5/0/B,0.8/4/C}
+ \tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
+ \tkzDefSpcTriangle[intouch,name=I](A,B,C){a,b,c}
+ \tkzDefProjExcenter[name=J](A,B,C)(a,b,c){X,Y,Z}
+
+ \tkzDefCircle[in](A,B,C) \tkzGetPoint{I} \tkzGetSecondPoint{T}
+ \tkzDrawCircles[red](Ja,Xa Jb,Yb Jc,Zc)
+ \tkzDrawCircle(I,T)
+ \tkzDrawPolygon[dashed,color=blue](Ja,Jb,Jc)
+ \tkzDrawLines[add=2 and 2,line width=1pt](A,C A,B B,C)
+ \tkzDrawSegments(Ja,Xa Ja,Ya Ja,Za
+ Jb,Xb Jb,Yb Jb,Zb
+ Jc,Xc Jc,Yc Jc,Zc
+ I,Ia I,Ib I,Ic)
+ \tkzMarkRightAngles[size=.2,fill=gray!15](%
+ Ja,Za,B
+ Ja,Xa,B
+ Ja,Ya,C
+ Jb,Yb,C
+ Jb,Zb,B
+ Jb,Xb,C
+ Jc,Yc,A
+ Jc,Zc,B
+ Jc,Xc,C
+ I,Ia,B
+ I,Ib,C
+ I,Ic,A)
+ \tkzDrawSegments[blue](Jc,C Ja,A Jb,B)
+ \tkzLabelPoints(Xb,Yc,A,B,C,Xa,Xc,Ya,Yb,Ja,Jb,Jc,I)
+ \tkzLabelPoints[above right](Za,Zb,Zc)
+ \tkzLabelPoints[below](Ia,Ib,Ic)
+ \end{tikzpicture}
\end{tkzexample}
+
\section{Point on line or circle}
\subsection{Point on a line}
@@ -363,13 +713,13 @@ options & default & definition \\
\begin{tkzexample}[latex=9cm,small]
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B}
- \tkzDrawLine[red](A,B)
- \tkzDefPointOnLine[pos=1.2](A,B)
+ \tkzDefPointOnLine[pos=1.2](A,B)
\tkzGetPoint{P}
- \tkzDefPointOnLine[pos=-0.2](A,B)
+ \tkzDefPointOnLine[pos=-0.2](A,B)
\tkzGetPoint{R}
\tkzDefPointOnLine[pos=0.5](A,B)
\tkzGetPoint{S}
+ \tkzDrawLine[new](A,B)
\tkzDrawPoints(A,B,P)
\tkzLabelPoints(A,B)
\tkzLabelPoint[above](P){pos=$1.2$}
@@ -394,20 +744,20 @@ options & default & definition \\
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
- \tkzDefPoints{0/0/A,4/0/B,0.8/3/C}
- \tkzDefPointOnCircle[angle=90,center=B,radius=1 cm]
- \tkzGetPoint{I}
- \tkzDefCircle[circum](A,B,C)
- \tkzGetPoint{G} \tkzGetLength{rG}
- \tkzDefPointOnCircle[angle=30,center=G,radius=\rG pt]
- \tkzGetPoint{J}
- \tkzDrawCircle[R,teal](B,1cm)
- \tkzDrawPoint[teal](I)
- \tkzDrawPoints(A,B,C)
- \tkzDrawCircle(G,J)
- \tkzDrawPoints(G,J)
- \tkzDrawPoint[red](J)
- \tkzLabelPoints(G,J)
+\tkzDefPoints{0/0/A,4/0/B,0.8/3/C}
+\tkzDefPointOnCircle[angle=90,center=B,radius=1]
+\tkzGetPoint{I}
+\tkzDefCircle[circum](A,B,C)
+\tkzGetPoint{G} \tkzGetLength{rG}
+\tkzDefPointOnCircle[angle=30,center=G,radius=\rG]
+\tkzGetPoint{J}
+\tkzDrawCircle[R,teal](B,1)
+\tkzDrawPoint[teal](I)
+\tkzDrawPoints(A,B,C)
+\tkzDrawCircle(G,J)
+\tkzDrawPoints(G,J)
+\tkzDrawPoint[red](J)
+\tkzLabelPoints(G,J)
\end{tikzpicture}
\end{tkzexample}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointwith.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointwith.tex
index 8af1881003..b157cabef7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointwith.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-pointwith.tex
@@ -2,7 +2,9 @@
\subsection{\tkzcname{tkzDefPointWith}}
There are several possibilities to create points that meet certain vector conditions.
-This can be done with \tkzcname{tkzDefPointWith}. The general principle is as follows, two points are passed as arguments, i.e. a vector. The different options allow to obtain a new point forming with the first point (with some exceptions) a collinear vector or a vector orthogonal to the first vector. Then the length is either proportional to that of the first one, or proportional to the unit. Since this point is only used temporarily, it does not have to be named immediately. The result is in \tkzname{tkzPointResult}. The macro \tkzNameMacro{tkzGetPoint} allows you to retrieve the point and name it differently.
+This can be done with
+
+\tkzcname{tkzDefPointWith}. The general principle is as follows, two points are passed as arguments, i.e. a vector. The different options allow to obtain a new point forming with the first point (with some exceptions) a collinear vector or a vector orthogonal to the first vector. Then the length is either proportional to that of the first one, or proportional to the unit. Since this point is only used temporarily, it does not have to be named immediately. The result is in \tkzname{tkzPointResult}. The macro \tkzNameMacro{tkzGetPoint} allows you to retrieve the point and name it differently.
There are options to define the distance between the given point and the obtained point.
In the general case this distance is the distance between the 2 points given as arguments if the option is of the "normed" type then the distance between the given point and the obtained point is 1 cm. Then the $K$ option allows to obtain multiples.
@@ -38,47 +40,68 @@ options & example & explication \\
\end{tabular}
\end{NewMacroBox}
-\subsubsection{Option \tkzname{colinear at}}
+\subsubsection{Option \tkzname{colinear at}, simple example}
$(\overrightarrow{AB}=\overrightarrow{CD})$
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
+ vect/.style={->,shorten >=1pt,>=latex'}]
\tkzDefPoint(2,3){A} \tkzDefPoint(4,2){B}
\tkzDefPoint(0,1){C}
\tkzDefPointWith[colinear=at C](A,B)
\tkzGetPoint{D}
- \tkzDrawPoints[color=red](A,B,C,D)
+ \tkzDrawPoints[new](A,B,C,D)
\tkzLabelPoints[above right=3pt](A,B,C,D)
\tkzDrawSegments[vect](A,B C,D)
\end{tikzpicture}
\end{tkzexample}
+\subsubsection{Option \tkzname{colinear at}, complex example}
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[scale=.75]
+\tkzDefPoints{0/0/B,3.6/0/C,1.5/4/A}
+\tkzDefSpcTriangle[ortho](A,B,C){Ha,Hb,Hc}
+\tkzDefTriangleCenter[ortho](A,B,C) \tkzGetPoint{H}
+\tkzDefSquare(A,C) \tkzGetPoints{R}{S}
+\tkzDefSquare(B,A) \tkzGetPoints{M}{N}
+\tkzDefSquare(C,B) \tkzGetPoints{P}{Q}
+\tkzDefPointWith[colinear= at M](A,S) \tkzGetPoint{A'}
+\tkzDefPointWith[colinear= at P](B,N) \tkzGetPoint{B'}
+\tkzDefPointWith[colinear= at Q](C,R) \tkzGetPoint{C'}
+\tkzDefPointBy[projection=onto P--Q](Ha) \tkzGetPoint{Pa}
+\tkzDrawPolygon[teal,thick](A,C,R,S)\tkzDrawPolygon[teal,thick](A,B,N,M)
+\tkzDrawPolygon[teal,thick](C,B,P,Q)
+\tkzDrawPoints[teal,size=2](A,B,C,Ha,Hb,Hc,A',B',C')
+\tkzDrawSegments[ultra thin,red](M,A' A',S P,B' B',N Q,C' C',R B,S C,M C,N B,R A,P A,Q)
+\tkzDrawSegments[ultra thin,teal, dashed](A,Ha B,Hb C,Hc)
+\tkzDefPointBy[rotation=center A angle 90](S) \tkzGetPoint{S'}
+\tkzDrawSegments[ultra thin,teal,dashed](B,S' A,S' A,A' M,S' B',Q P,C' M,S Ha,Pa)
+\tkzDrawArc(A,S)(S')
+\end{tikzpicture}
+\end{tkzexample}
-\subsubsection{Option \tkzname{colinear at} with $K$}
-
+\subsubsection{Option \tkzname{colinear at}}
+How to use $K$
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[vect/.style={->,
- shorten >=3pt,>=latex'}]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzDefPoint(1,2){C}
+ shorten >=1pt,>=latex'}]
+ \tkzDefPoints{0/0/A,5/0/B,1/2/C}
\tkzDefPointWith[colinear=at C](A,B)
\tkzGetPoint{G}
- \tkzDefPointWith[colinear=at C,K=0.5](A,B)
+ \tkzDefPointWith[colinear=at C, K=0.5](A,B)
\tkzGetPoint{H}
\tkzLabelPoints(A,B,C,G,H)
\tkzDrawPoints(A,B,C,G,H)
- \tkzDrawSegments[vect](A,B C,H)
+ \tkzDrawSegments[vect](A,B C,H)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{colinear at} with $K=\frac{\sqrt{2}}{2}$}
+\subsubsection{Option \tkzname{colinear at} }
+With $K=\frac{\sqrt{2}}{2}$
+
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[vect/.style={->,
- shorten >=3pt,>=latex'}]
- \tkzDefPoint(1,1){A}
- \tkzDefPoint(4,2){B}
- \tkzDefPoint(2,2){CU}
+ shorten >=1pt,>=latex'}]
+ \tkzDefPoints{1/1/A,4/2/B,2/2/C}
\tkzDefPointWith[colinear=at C,K=sqrt(2)/2](A,B)
\tkzGetPoint{D}
\tkzDrawPoints[color=red](A,B,C,D)
@@ -90,9 +113,8 @@ options & example & explication \\
AB=AC since $K=1$.
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,3){A}
- \tkzDefPoint(4,2){B}
+ vect/.style={->,shorten >=1pt,>=latex'}]
+ \tkzDefPoints{2/3/A,4/2/B}
\tkzDefPointWith[orthogonal,K=1](A,B)
\tkzGetPoint{C}
\tkzDrawPoints[color=red](A,B,C)
@@ -105,14 +127,14 @@ AB=AC since $K=1$.
-\subsubsection{Option \tkzname{orthogonal} with $K=-1$}
+\subsubsection{Option \tkzname{orthogonal}}
+ With $K=-1$
OK=OI since $\lvert K \rvert=1$ then OI=OJ=OK.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(1,2){O}
- \tkzDefPoint(2,5){I}
- \tkzDefPointWith[orthogonal](O,I)
+ \tkzDefPoints{1/2/O,2/5/I}
+ \tkzDefPointWith[orthogonal](O,I)
\tkzGetPoint{J}
\tkzDefPointWith[orthogonal,K=-1](O,I)
\tkzGetPoint{K}
@@ -129,16 +151,16 @@ OK=OI since $\lvert K \rvert=1$ then OI=OJ=OK.
\begin{tikzpicture}[scale=.75]
\tkzDefPoints{0/0/A,6/0/B}
\tkzDefMidPoint(A,B)
- \tkzGetPoint{I}
- \tkzDefPointWith[orthogonal,K=-.75](B,A)
+ \tkzGetPoint{I}
+ \tkzDefPointWith[orthogonal,K=-.75](B,A)
\tkzGetPoint{C}
\tkzInterLC(B,C)(B,I)
- \tkzGetPoints{D}{F}
+ \tkzGetPoints{D}{F}
\tkzDuplicateSegment(B,F)(A,F)
\tkzGetPoint{E}
\tkzDrawArc[delta=10](F,E)(B)
\tkzInterLC(A,B)(A,E)
- \tkzGetPoints{N}{M}
+ \tkzGetPoints{N}{M}
\tkzDrawArc[delta=10](A,M)(E)
\tkzDrawLines(A,B B,C A,F)
\tkzCompass(B,F)
@@ -150,26 +172,25 @@ OK=OI since $\lvert K \rvert=1$ then OI=OJ=OK.
\subsubsection{Options \tkzname{colinear} and \tkzname{orthogonal}}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(6,2){B}
- \tkzDefPointWith[orthogonal,K=.5](A,B)
- \tkzGetPoint{C}
- \tkzDefPointWith[colinear=at C,K=.5](A,B)
- \tkzGetPoint{D}
- \tkzMarkRightAngle[fill=gray!20](B,A,C)
- \tkzDrawSegments[vect](A,B A,C C,D)
- \tkzDrawPoints(A,...,D)
+ vect/.style={->,shorten >=1pt,>=latex'}]
+ \tkzDefPoints{2/1/A,6/2/B}
+ \tkzDefPointWith[orthogonal,K=.5](A,B)
+ \tkzGetPoint{C}
+ \tkzDefPointWith[colinear=at C,K=.5](A,B)
+ \tkzGetPoint{D}
+ \tkzMarkRightAngle[fill=gray!20](B,A,C)
+ \tkzDrawSegments[vect](A,B A,C C,D)
+ \tkzDrawPoints(A,...,D)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{orthogonal normed}, $K=1$}
-$AC=1$.
+\subsubsection{Option \tkzname{orthogonal normed}}
+ $K=1$ $AC=1$.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,3){A} \tkzDefPoint(4,2){B}
+ vect/.style={->,shorten >=1pt,>=latex'}]
+ \tkzDefPoints{2/3/A,4/2/B}
\tkzDefPointWith[orthogonal normed](A,B)
\tkzGetPoint{C}
\tkzDrawPoints[color=red](A,B,C)
@@ -178,36 +199,36 @@ $AC=1$.
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{orthogonal normed} and $K=2$}
+\subsubsection{Option \tkzname{orthogonal normed} and K=2}
$K=2$ therefore $AC=2$.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,3){A} \tkzDefPoint(5,1){B}
- \tkzDefPointWith[orthogonal normed,K=2](A,B)
- \tkzGetPoint{C}
- \tkzDrawPoints[color=red](A,B,C)
- \tkzDrawCircle[R](A,2cm)
- \tkzDrawSegments[vect](A,B A,C)
- \tkzMarkRightAngle[fill=gray!20](B,A,C)
- \tkzLabelPoints[above=3pt](A,B,C)
+ vect/.style={->,shorten >=1pt,>=latex'}]
+ \tkzDefPoints{2/3/A,5/1/B}
+ \tkzDefPointWith[orthogonal normed,K=2](A,B)
+ \tkzGetPoint{C}
+ \tkzDrawPoints[color=red](A,B,C)
+ \tkzDrawCircle[R](A,2)
+ \tkzDrawSegments[vect](A,B A,C)
+ \tkzMarkRightAngle[fill=gray!20](B,A,C)
+ \tkzLabelPoints[above=3pt](A,B,C)
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Option \tkzname{linear}}
Here $K=0.5$.
-
+
This amounts to applying a homothety or a multiplication of a vector by a real. Here is the middle of $[AB]$.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1.2]
- \tkzDefPoint(1,3){A} \tkzDefPoint(4,2){B}
- \tkzDefPointWith[linear,K=0.5](A,B)
- \tkzGetPoint{C}
- \tkzDrawPoints[color=red](A,B,C)
- \tkzDrawSegment(A,B)
- \tkzLabelPoints[above right=3pt](A,B,C)
+ \tkzDefPoints{1/3/A,4/2/B}
+ \tkzDefPointWith[linear,K=0.5](A,B)
+ \tkzGetPoint{C}
+ \tkzDrawPoints[color=red](A,B,C)
+ \tkzDrawSegment(A,B)
+ \tkzLabelPoints[above right=3pt](A,B,C)
\end{tikzpicture}
\end{tkzexample}
@@ -216,7 +237,7 @@ In the following example $AC=1$ and $C$ belongs to $(AB)$.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1.2]
- \tkzDefPoint(1,3){A} \tkzDefPoint(4,2){B}
+ \tkzDefPoints{1/3/A,4/2/B}
\tkzDefPointWith[linear normed](A,B)
\tkzGetPoint{C}
\tkzDrawPoints[color=red](A,B,C)
@@ -225,15 +246,10 @@ In the following example $AC=1$ and $C$ belongs to $(AB)$.
\tkzLabelPoints[above right=3pt](A,B,C)
\end{tikzpicture}
\end{tkzexample}
-
-
-
%<--------------------------------------------------------------------------–>
-% tkzGetVectxy
+% tkzGetVectxy
%<--------------------------------------------------------------------------–>
-
-
-\subsection{\tkzcname{tkzGetVectxy} }
+\subsection{\tkzcname{tkzGetVectxy} }
Retrieving the coordinates of a vector.
\begin{NewMacroBox}{tkzGetVectxy}{\parg{$A,B$}\var{text}}%
@@ -254,9 +270,7 @@ arguments & example & explication \\
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,1){A}
- \tkzDefPoint(4,2){B}
+ \tkzDefPoints{0/0/O,1/1/A,4/2/B}
\tkzGetVectxy(A,B){v}
\tkzDefPoint(\vx,\vy){V}
\tkzDrawSegment[->,color=red](O,V)
@@ -265,7 +279,4 @@ arguments & example & explication \\
\tkzLabelPoints(A,B,O,V)
\end{tikzpicture}
\end{tkzexample}
-
-
-
-\endinput \ No newline at end of file
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex
index d63e31fdea..e27221a916 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-polygons.tex
@@ -3,7 +3,7 @@
We have seen the definitions of some triangles. Let us look at the definitions of some quadrilaterals and regular polygons.
\begin{NewMacroBox}{tkzDefSquare}{\parg{pt1,pt2}}%
-The square is defined in the forward direction. From two points, two more points are obtained such that the four taken in order form a square. The square is defined in the forward direction. The results are in \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}.\\
+The square is defined in the forward direction. From two points, two more points are obtained such that the four taken in order form a square. The square is defined in the forward direction. \\The results are in \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}.\\
We can rename them with \tkzcname{tkzGetPoints}.
\medskip
@@ -22,15 +22,15 @@ Note the inversion of the first two points and the result.
\begin{tikzpicture}[scale=.5]
\tkzDefPoint(0,0){A} \tkzDefPoint(3,0){B}
\tkzDefSquare(A,B)
- \tkzDrawPolygon[color=red](A,B,tkzFirstPointResult,%
+ \tkzDrawPolygon[new](A,B,tkzFirstPointResult,%
tkzSecondPointResult)
\tkzDefSquare(B,A)
- \tkzDrawPolygon[color=blue](B,A,tkzFirstPointResult,%
+ \tkzDrawPolygon(B,A,tkzFirstPointResult,%
tkzSecondPointResult)
\end{tikzpicture}
\end{tkzexample}
- We may only need one point to draw an isosceles right-angled triangle so we use \tkzcname{tkzGetFirstPoint} or \tkzcname{tkzGetSecondPoint}.
+ We may only need one point to draw an isosceles right-angled triangle so we use \\ \tkzcname{tkzGetFirstPoint} or \tkzcname{tkzGetSecondPoint}.
\subsubsection{Use of \tkzcname{tkzDefSquare} to obtain an isosceles right-angled triangle}
\begin{tkzexample}[latex=7cm,small]
@@ -38,42 +38,64 @@ Note the inversion of the first two points and the result.
\tkzDefPoint(0,0){A}
\tkzDefPoint(3,0){B}
\tkzDefSquare(A,B) \tkzGetFirstPoint{C}
- \tkzDrawPolygon[color=blue,fill=blue!30](A,B,C)
+ \tkzDrawSegment(A,B)
+ \tkzDrawSegments[new](A,C B,C)
+ \tkzMarkRightAngles(A,B,C)
+ \tkzDrawPoints(A,B) \tkzDrawPoint[new](C)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[new](C)
\end{tikzpicture}
\end{tkzexample}
\subsubsection{Pythagorean Theorem and \tkzcname{tkzDefSquare} }
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.5]
-\tkzInit
\tkzDefPoint(0,0){C}
\tkzDefPoint(4,0){A}
\tkzDefPoint(0,3){B}
\tkzDefSquare(B,A)\tkzGetPoints{E}{F}
\tkzDefSquare(A,C)\tkzGetPoints{G}{H}
\tkzDefSquare(C,B)\tkzGetPoints{I}{J}
-\tkzFillPolygon[fill = red!50 ](A,C,G,H)
-\tkzFillPolygon[fill = blue!50 ](C,B,I,J)
-\tkzFillPolygon[fill = purple!50](B,A,E,F)
-\tkzFillPolygon[fill = orange,opacity=.5](A,B,C)
-\tkzDrawPolygon[line width = 1pt](A,B,C)
-\tkzDrawPolygon[line width = 1pt](A,C,G,H)
-\tkzDrawPolygon[line width = 1pt](C,B,I,J)
-\tkzDrawPolygon[line width = 1pt](B,A,E,F)
-\tkzLabelSegment[](A,C){$a$}
-\tkzLabelSegment[](C,B){$b$}
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPolygon(A,C,G,H)
+\tkzDrawPolygon(C,B,I,J)
+\tkzDrawPolygon(B,A,E,F)
+\tkzLabelSegment(A,C){$a$}
+\tkzLabelSegment(C,B){$b$}
\tkzLabelSegment[swap](A,B){$c$}
\end{tikzpicture}
\end{tkzexample}
+\subsection{Defining the points of a rectangle}
+.
+
+\begin{NewMacroBox}{tkzDefRectangle}{\parg{pt1,pt2}}%
+The rectangle is defined in the forward direction. From two points, two more points are obtained such that the four taken in order form a rectangle. The two points passed in arguments are the ends of a diagonal of the rectangle. The sides are parallel to the axes.\\
+ The results are in \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}.\\
+We can rename them with \tkzcname{tkzGetPoints}.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+Arguments & example & explication \\
+\midrule
+\TAline{\parg{pt1,pt2}}{\tkzcname{tkzDefRectangle}\parg{A,B}}{The rectangle is defined in the direct direction.}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Example of a rectangle definition}
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,5/2/C}
+\tkzDefRectangle(A,C) \tkzGetPoints{B}{D}
+\tkzDrawPolygon[fill=teal!15](A,...,D)
+\end{tikzpicture}
+\end{tkzexample}
+
\subsection{Definition of parallelogram}
-\subsection{Defining the points of a parallelogram}
-It is a matter of completing three points in order to obtain a parallelogram.
+Defining the points of a parallelogram. It is a matter of completing three points in order to obtain a parallelogram.
\begin{NewMacroBox}{tkzDefParallelogram}{\parg{pt1,pt2,pt3}}%
-From three points, another point is obtained such that the four taken in order form a parallelogram. The result is in \tkzname{tkzPointResult}. \\
-We can rename it with the name \tkzcname{tkzGetPoint}...
-
\begin{tabular}{lll}%
\toprule
arguments & default & definition \\
@@ -83,12 +105,18 @@ arguments & default & definition \\
\end{tabular}
\end{NewMacroBox}
+From three points, another point is obtained such that the four taken in order form a parallelogram.
+\\ The result is in \tkzname{tkzPointResult}. \\
+We can rename it with the name \tkzcname{tkzGetPoint}...
+
+
\subsubsection{Example of a parallelogram definition}
\begin{tkzexample}[latex=7 cm,small]
\begin{tikzpicture}[scale=1]
\tkzDefPoints{0/0/A,3/0/B,4/2/C}
\tkzDefParallelogram(A,B,C)
+ % or \tkzDefPointWith[colinear= at C](B,A)
\tkzGetPoint{D}
\tkzDrawPolygon(A,B,C,D)
\tkzLabelPoints(A,B)
@@ -98,92 +126,11 @@ arguments & default & definition \\
\end{tkzexample}
-
-\subsubsection{Simple example}
-Explanation of the definition of a parallelogram
-\begin{tkzexample}[latex=7 cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,3/0/B,4/2/C}
- \tkzDefPointWith[colinear= at C](B,A)
- \tkzGetPoint{D}
- \tkzDrawPolygon(A,B,C,D)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above right](C,D)
- \tkzDrawPoints(A,...,D)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Construction of the golden rectangle }
-
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzInit[xmax=14,ymax=10]
- \tkzClip[space=1]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(8,0){B}
- \tkzDefMidPoint(A,B)\tkzGetPoint{I}
- \tkzDefSquare(A,B)\tkzGetPoints{C}{D}
- \tkzDrawSquare(A,B)
- \tkzInterLC(A,B)(I,C)\tkzGetPoints{G}{E}
- \tkzDrawArc[style=dashed,color=gray](I,E)(D)
- \tkzDefPointWith[colinear= at C](E,B)
- \tkzGetPoint{F}
- \tkzDrawPoints(C,D,E,F)
- \tkzLabelPoints(A,B,C,D,E,F)
- \tkzDrawSegments[style=dashed,color=gray]%
-(E,F C,F B,E)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-
-
-\subsection{Drawing a square}
-\begin{NewMacroBox}{tkzDrawSquare}{\oarg{local options}\parg{pt1,pt2}}%
-The macro draws a square but not the vertices. It is possible to color the inside. The order of the points is that of the direct direction of the trigonometric circle.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2}}{|\tkzcname{tkzDrawSquare}|\parg{A,B}}{|\tkzcname{tkzGetPoints\{C\}\{D\}}|}
-\bottomrule
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-options & example & explication \\
-\midrule
-\TOline{Options TikZ}{|red,line width=1pt|}{}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{The idea is to inscribe two squares in a semi-circle.}
-
-\begin{tkzexample}[latex=6 cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzInit[ymax=8,xmax=8]
- \tkzClip[space=.25] \tkzDefPoint(0,0){A}
- \tkzDefPoint(8,0){B} \tkzDefPoint(4,0){I}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzInterLC(I,C)(I,B) \tkzGetPoints{E'}{E}
- \tkzInterLC(I,D)(I,B) \tkzGetPoints{F'}{F}
- \tkzDefPointsBy[projection=onto A--B](E,F){H,G}
- \tkzDefPointsBy[symmetry = center H](I){J}
- \tkzDefSquare(H,J) \tkzGetPoints{K}{L}
- \tkzDrawSector[fill=yellow](I,B)(A)
- \tkzFillPolygon[color=red!40](H,E,F,G)
- \tkzFillPolygon[color=blue!40](H,J,K,L)
- \tkzDrawPolySeg[color=red](H,E,F,G)
- \tkzDrawPolySeg[color=red](J,K,L)
- \tkzDrawPoints(E,G,H,F,J,K,L)
-\end{tikzpicture}
-\end{tkzexample}
-
\subsection{The golden rectangle}
- \begin{NewMacroBox}{tkzDefGoldRectangle}{\parg{point,point}}%
-The macro determines a rectangle whose size ratio is the number $\Phi$. The created points are in \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}. They can be obtained with the macro \tkzcname{tkzGetPoints}. The following macro is used to draw the rectangle.
+ \begin{NewMacroBox}{tkzDefGoldenRectangle}{\parg{point,point}}%
+The macro determines a rectangle whose size ratio is the number $\Phi$.\\
+ The created points are in \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}. \\
+ They can be obtained with the macro \tkzcname{tkzGetPoints}. The following macro is used to draw the rectangle.
\begin{tabular}{lll}%
\toprule
@@ -191,22 +138,10 @@ arguments & example & explication \\
\midrule
\TAline{\parg{pt1,pt2}}{\parg{A,B}}{If C and D are created then $AB/BC=\Phi$.}
\end{tabular}
+
+ \tkzcname{tkzDefGoldenRectangle} or \tkzcname{tkzDefGoldRectangle}
\end{NewMacroBox}
- \begin{NewMacroBox}{tkzDrawGoldRectangle}{\oarg{local options}\parg{point,point}}
-\begin{tabular}{lll}%
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2}}{\parg{A,B}}{Draws the golden rectangle based on the segment $[AB]$}
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-options & example & explication \\
-\midrule
-\TOline{Options TikZ}{|red,line width=1pt|}{}
-\end{tabular}
-\end{NewMacroBox}
\subsubsection{Golden Rectangles}
\begin{tkzexample}[latex=6 cm,small]
@@ -214,170 +149,38 @@ options & example & explication \\
\tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B}
\tkzDefGoldRectangle(A,B) \tkzGetPoints{C}{D}
\tkzDefGoldRectangle(B,C) \tkzGetPoints{E}{F}
- \tkzDrawPolygon[color=red,fill=red!20](A,B,C,D)
- \tkzDrawPolygon[color=blue,fill=blue!20](B,C,E,F)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Drawing a polygon}
- \begin{NewMacroBox}{tkzDrawPolygon}{\oarg{local options}\parg{points list}}%
-Just give a list of points and the macro plots the polygon using the \TIKZ\ options present. You can replace $(A,B,C,D,E)$ by $(A,...,E)$ and $(P_1,P_2,P_3,P_4,P_5)$ by $(P_1,P...,P_5)$
-
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolygon[gray,dashed](A,B,C)|}{Drawing a triangle}
- \end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & example \\
-\midrule
-\TOline{Options TikZ}{...}{|\BS tkzDrawPolygon[red,line width=2pt](A,B,C)|}
- \end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{\tkzcname{tkzDrawPolygon}}
-
-\begin{tkzexample}[latex=7cm, small]
-\begin{tikzpicture} [rotate=18,scale=1.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2.25,0.2){B}
- \tkzDefPoint(2.5,2.75){C}
- \tkzDefPoint(-0.75,2){D}
- \tkzDrawPolygon[fill=black!50!blue!20!](A,B,C,D)
- \tkzDrawSegments[style=dashed](A,C B,D)
-\end{tikzpicture}\end{tkzexample}
-
-\subsection{Drawing a polygonal chain}
- \begin{NewMacroBox}{tkzDrawPolySeg}{\oarg{local options}\parg{points list}}%
-Just give a list of points and the macro plots the polygonal chain using the \TIKZ\ options present.
-
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolySeg[gray,dashed](A,B,C)|}{Drawing a triangle}
- \end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & example \\
-\midrule
-\TOline{Options TikZ}{...}{|\BS tkzDrawPolySeg[red,line width=2pt](A,B,C)|}
- \end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Polygonal chain}
-
-\begin{tkzexample}[latex=7cm, small]
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,6/0/B,3/4/C,2/2/D}
- \tkzDrawPolySeg(A,...,D)
- \tkzDrawPoints(A,...,D)
+ \tkzDefGoldRectangle(C,E) \tkzGetPoints{G}{H}
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzDrawSegments(E,F G,H)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Polygonal chain: index notation}
+\subsubsection{Construction of the golden rectangle }
+Without the previous macro here is how to get the golden rectangle.
-\begin{tkzexample}[latex=7cm, small]
-\begin{tikzpicture}
-\foreach \pt in {1,2,...,8} {%
-\tkzDefPoint(\pt*20:3){P_\pt}}
-\tkzDrawPolySeg(P_1,P_...,P_8)
-\tkzDrawPoints(P_1,P_...,P_8)
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}[scale=.5]
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(8,0){B}
+\tkzDefMidPoint(A,B)
+\tkzGetPoint{I}
+\tkzDefSquare(A,B)\tkzGetPoints{C}{D}
+\tkzInterLC(A,B)(I,C)\tkzGetPoints{G}{E}
+\tkzDefPointWith[colinear= at C](E,B)
+ \tkzGetPoint{F}
+\tkzDefPointBy[projection=onto D--C ](E)
+ \tkzGetPoint{H}
+\tkzDrawArc[style=dashed](I,E)(D)
+\tkzDrawSquare(A,B)
+\tkzDrawPoints(C,D,E,F,H)
+\tkzLabelPoints(A,B,C,D,E,F,H)
+\tkzDrawSegments[style=dashed,color=gray]%
+(E,F C,F B,E F,H H,C E,H)
\end{tikzpicture}
\end{tkzexample}
-\subsection{Clip a polygon}
- \begin{NewMacroBox}{tkzClipPolygon}{\oarg{local options}\parg{points list}}%
-This macro makes it possible to contain the different plots in the designated polygon.
-\medskip
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2}}{\parg{A,B}}{}
-%\bottomrule
- \end{tabular}
-\end{NewMacroBox}
-\subsubsection{\tkzcname{tkzClipPolygon}}
-\begin{tkzexample}[latex=7 cm,small]
-\begin{tikzpicture}[scale=1.25]
- \tkzInit[xmin=0,xmax=4,ymin=0,ymax=3]
- \tkzClip[space=.5]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C)
- \tkzDefPoint(0,2){D} \tkzDefPoint(2,0){E}
- \tkzDrawPoints(D,E) \tkzLabelPoints(D,E)
- \tkzClipPolygon(A,B,C)
- \tkzDrawLine[color=red](D,E)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example: use of "Clip" for Sangaku in a square}
-\begin{tkzexample}[latex=7cm, small]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzDrawPolygon(B,C,D,A)
- \tkzClipPolygon(B,C,D,A)
- \tkzDefPoint(4,8){F}
- \tkzDefTriangle[equilateral](C,D)
- \tkzGetPoint{I}
- \tkzDrawPoint(I)
- \tkzDefPointBy[projection=onto B--C](I)
- \tkzGetPoint{J}
- \tkzInterLL(D,B)(I,J) \tkzGetPoint{K}
- \tkzDefPointBy[symmetry=center K](B)
- \tkzGetPoint{M}
- \tkzDrawCircle(M,I)
- \tkzCalcLength(M,I) \tkzGetLength{dMI}
- \tkzFillPolygon[color = orange](A,B,C,D)
- \tkzFillCircle[R,color = yellow](M,\dMI pt)
- \tkzFillCircle[R,color = blue!50!black](F,4 cm)%
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Color a polygon}
- \begin{NewMacroBox}{tkzFillPolygon}{\oarg{local options}\parg{points list}}%
-You can color by drawing the polygon, but in this case you color the inside of the polygon without drawing it.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-arguments & example & explication \\
-\midrule
-\TAline{\parg{pt1,pt2,\dots}}{\parg{A,B,\dots}}{}
-%\bottomrule
- \end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{\tkzcname{tkzFillPolygon}}
-\begin{tkzexample}[latex=7cm, small]
-\begin{tikzpicture}[scale=0.7]
-\tkzInit[xmin=-3,xmax=6,ymin=-1,ymax=6]
-\tkzDrawX[noticks]
-\tkzDrawY[noticks]
-\tkzDefPoint(0,0){O} \tkzDefPoint(4,2){A}
-\tkzDefPoint(-2,6){B}
-\tkzPointShowCoord[xlabel=$x$,ylabel=$y$](A)
-\tkzPointShowCoord[xlabel=$x'$,ylabel=$y'$,%
- ystyle={right=2pt}](B)
-\tkzDrawSegments[->](O,A O,B)
-\tkzLabelSegment[above=3pt](O,A){$\vec{u}$}
-\tkzLabelSegment[above=3pt](O,B){$\vec{v}$}
-\tkzMarkAngle[fill= yellow,size=1.8cm,%
- opacity=.5](A,O,B)
-\tkzFillPolygon[red!30,opacity=0.25](A,B,O)
-\tkzLabelAngle[pos = 1.5](A,O,B){$\alpha$}
-\end{tikzpicture}
-\end{tkzexample}
\subsection{Regular polygon}
\begin{NewMacroBox}{tkzDefRegPolygon}{\oarg{local options}\parg{pt1,pt2}}%
@@ -407,14 +210,15 @@ options & default & example \\
\subsubsection{Option \tkzname{center}}
\begin{tkzexample}[latex=7cm, small]
\begin{tikzpicture}
- \tkzDefPoints{0/0/P0,0/0/Q0,2/0/P1}
- \tkzDefMidPoint(P0,P1) \tkzGetPoint{Q1}
+ \tkzDefPoints{0/0/P0,0/0/Q0,2/0/P1}
+ \tkzDefMidPoint(P0,P1) \tkzGetPoint{Q1}
\tkzDefRegPolygon[center,sides=7](P0,P1)
- \tkzDefMidPoint(P1,P2) \tkzGetPoint{Q1}
+ \tkzDefMidPoint(P1,P2) \tkzGetPoint{Q1}
\tkzDefRegPolygon[center,sides=7,name=Q](P0,Q1)
- \tkzDrawPolygon(P1,P...,P7)
- \tkzFillPolygon[gray!20](Q0,Q1,P2,Q2)
- \foreach \j in {1,...,7} {\tkzDrawSegment[black](P0,Q\j)}
+ \tkzFillPolygon[teal!20](Q0,Q1,P2,Q2)
+ \tkzDrawPolygon(P1,P...,P7)
+ \foreach \j in {1,...,7} {%
+ \tkzDrawSegment[black](P0,Q\j)}
\end{tikzpicture}
\end{tkzexample}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
index 44aa4cd007..826c521f80 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
@@ -2,7 +2,7 @@
\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}[scale=.25]
- \tkzDefPoints{00/0/A,12/0/B,6/12*sind(60)/C}
+ \tkzDefPoints{0/0/A,12/0/B,6/12*sind(60)/C}
\foreach \density in {20,30,...,240}{%
\tkzDrawPolygon[fill=teal!\density](A,B,C)
\pgfnodealias{X}{A}
@@ -25,16 +25,324 @@ The objects, of course, are points, segments, lines, triangles, polygons and cir
The syntax is perhaps too verbose but it is, I believe, easily accessible.
As a result, the students like teachers were able to easily access this tool.
-\subsection{\tkzname{\tkznameofpack} vs \tkzname{\TIKZ } }
+\subsection{ \tkzname{\TIKZ } vs \tkzname{\tkznameofpack} }
I love programming with \TIKZ, and without \TIKZ\ I would never have had the idea to create \tkzname{\tkznameofpack} but never forget that behind it there is \TIKZ\ and that it is always possible to insert code from \TIKZ. \tkzname{\tkznameofpack} doesn't prevent you from using \TIKZ.
That said, I don't think mixing syntax is a good thing.
There is no need to compare \TIKZ\ and \tkzname{\tkznameofpack}. The latter is not addressed to the same audience as \TIKZ. The first one allows you to do a lot of things, the second one only does geometry drawings. The first one can do everything the second one does, but the second one will more easily do what you want.
-\subsection{How it works}
+The main purpose is to define points to create geometrical figures. \tkzname{\tkznameofpack} allows you to draw the essential objects of Euclidean geometry from these points but it may be insufficient for some actions like coloring surfaces. In this case you will have to use \TIKZ\ which is always possible.
-\subsubsection{Example Part I: gold triangle}
+Here are some comparisons between \tkzname{\TIKZ } and \tkzname{\tkznameofpack} 4. For this I will use the geometry examples from the PGFManual.
+ The two most important Euclidean tools used by early Greeks to construct different geometrical shapes and angles were a compass and a straightedge. My idea is to allow you to follow step by step a construction that would be done by hand (with compass and straightedge) as naturally as possible.
+
+\subsubsection{Book I, proposition I \_Euclid's Elements\_ }
+
+\begin{tikzpicture}
+\node [mybox,title={Book I, proposition I \_Euclid's Elements\_}] (box){%
+ \begin{minipage}{0.90\textwidth}
+{\emph{To construct an equilateral triangle on a given finite straight line.}
+}
+ \end{minipage}
+};
+\end{tikzpicture}%
+
+
+Explanation :
+
+The fourth tutorial of the \emph{PgfManual} is about geometric constructions. \emph{T. Tantau} proposes to get the drawing with its beautiful tool Ti\emph{k}Z. Here I propose the same construction with \emph{tkz-elements}. The color of the Ti\emph{k}Z code is green and that of \emph{tkz-elements} is red.
+
+\medskip
+
+\hspace*{1cm}\vbox{\orange |\usepackage{tikz}|\\
+|\usetikzlibrary{calc,intersections,through,backgrounds}|}
+
+\medskip
+\hspace*{1cm}\vbox{\red |\usepackage{tkz-euclide}|}
+
+\medskip
+How to get the line AB ? To get this line, we use two fixed points.\\
+
+\medskip
+\hspace*{1cm}\vbox{\orange
+|\coordinate [label=left:$A$] (A) at (0,0);|\\
+|\coordinate [label=right:$B$] (B) at (1.25,0.25);|\\
+|\draw (A) -- (B);|}
+
+\medskip
+\hspace*{1cm}\vbox{\red
+|\tkzDefPoint(0,0){A}|\\
+|\tkzDefPoint(1.25,0.25){B}|\\
+|\tkzDrawSegment(A,B)|\\
+|\tkzLabelPoint[left](A){$A$}|\\
+|\tkzLabelPoint[right](B){$B$}|}
+
+We want to draw a circle around the points $A$ and $B$ whose radius is given by the length of the line AB.
+\medskip
+
+\hspace*{1cm}\vbox{\orange
+|\draw let \p1 = ($ (B) - (A) $),|\\
+|\n2 = {veclen(\x1,\y1)} in|\\
+| (A) circle (\n2)|\\
+| (B) circle (\n2);|}
+
+\medskip
+\hspace*{1cm}\vbox{\red
+|\tkzDrawCircles(A,B B,A)|
+}
+
+The intersection of the circles
+
+\medskip
+
+\hspace*{1cm}\vbox{\orange
+|draw [name path=A--B] (A) -- (B);|\\
+|node (D) [name path=D,draw,circle through=(B),label=left:$D$] at (A) {}; |\\
+|node (E) [name path=E,draw,circle through=(A),label=right:$E$] at (B) {};|\\
+|path [name intersections={of=D and E, by={[label=above:$C$]C, [label=below:$C'$]C'}}]; |\\
+|draw [name path=C--C',red] (C) -- (C');|\\
+|path [name intersections={of=A--B and C--C',by=F}];|\\
+|node [fill=red,inner sep=1pt,label=-45:$F$] at (F) {};|\\}
+
+\medskip
+\hspace*{1cm}\vbox{\red |\tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{X}|\\}
+
+
+How to draw points :
+
+\medskip
+\hspace*{1cm}\vbox{\orange |\foreach \point in {A,B,C}|\\
+|\fill [black,opacity=.5] (\point) circle (2pt);|\\}
+
+\medskip
+\hspace*{1cm}\vbox{\red| \tkzDrawPoints[fill=gray,opacity=.5](A,B,C)|\\}
+
+\subsubsection{Complete code with \pkg{tkz-euclide}}
+
+\colorlet{input}{red!80!black}
+\colorlet{output}{red!70!black}
+\colorlet{triangle}{orange!40}
+
+
+
+\begin{tkzexample}[vbox,small]
+ \begin{tikzpicture}[scale=1.25,thick,help lines/.style={thin,draw=black!50}]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(1.25+rand(),0.25+rand()){B}
+ \tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{X}
+
+ \tkzFillPolygon[triangle,opacity=.5](A,B,C)
+ \tkzDrawSegment[input](A,B)
+ \tkzDrawSegments[red](A,C B,C)
+ \tkzDrawCircles[help lines](A,B B,A)
+
+ \tkzLabelPoints(A,B)
+ \tkzLabelCircle[below=12pt](A,B)(180){$D$}
+ \tkzLabelCircle[above=12pt](B,A)(180){$E$}
+ \tkzLabelPoint[above,red](C){$C$}
+ \tkzDrawPoints[fill=gray,opacity=.5](A,B,C)
+
+ \end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection*{Book I, Proposition II \_Euclid's Elements\_}
+
+\begin{tikzpicture}
+\node [mybox,title={Book I, Proposition II \_Euclid's Elements\_}] (box){%
+\begin{minipage}{0.90\textwidth}
+ {\emph{To place a straight line equal to a given straight line with one end at a given point.}}
+\end{minipage}
+};
+\end{tikzpicture}%
+
+Explanation
+
+In the first part, we need to find the midpoint of the straight line $AB$. With TikZ we can use the calc library
+
+\medskip
+\hspace*{1cm}\vbox{\orange |\coordinate [label=left:$A$] (A) at (0,0);|\\
+|\coordinate [label=right:$B$] (B) at (1.25,0.25);|\\
+|\draw (A) -- (B);|\\
+|\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($ (A)!.5!(B) $) {};|\\}
+
+With \pkg{tkz-euclide} we have a macro \tkzcname{tkzDefMidPoint}, we get the point X with \tkzcname{tkzGetPoint} but we don't need this point to get the next step.
+
+
+\medskip
+\hspace*{1cm}\vbox{\red |\tkzDefPoints{0/0/A,0.75/0.25/B,1/1.5/C}|\\
+|\tkzDefMidPoint(A,B) \tkzGetPoint{X}|}\\
+
+\medskip
+Then we need to construct a triangle equilateral. It's easy with \pkg{tkz-euclide} . With TikZ you need some effort because you need to use the midpoint $X$ to get the point $D$ with trigonometry calculation.
+
+\medskip
+\hspace*{1cm}\vbox{\orange
+|\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($ (A)!.5!(B) $) {}; | \\
+|\node [fill=red,inner sep=1pt,label=above:$D$] (D) at | \\
+|($ (X) ! {sin(60)*2} ! 90:(B) $) {}; | \\
+|\draw (A) -- (D) -- (B); | \\
+} \\
+
+\medskip
+\hspace*{1cm}\vbox{\red |\tkzDefTriangle[equilateral](A,B) \tkzGetPoint{D}|}\\
+
+We can draw the triangle at the end of the picture with
+
+\medskip
+\hspace*{1cm}\vbox{\red |\tkzDrawPolygon{A,B,C}|}
+
+\medskip
+We know how to draw the circle around $B$ through $C$ and how to place the points $E$ and $F$
+
+\medskip
+\hspace*{1cm}\vbox{\orange
+|\node (H) [label=135:$H$,draw,circle through=(C)] at (B) {};| \\
+|\draw (D) -- ($ (D) ! 3.5 ! (B) $) coordinate [label=below:$F$] (F);| \\
+|\draw (D) -- ($ (D) ! 2.5 ! (A) $) coordinate [label=below:$E$] (E);|} \\
+
+\medskip
+
+\hspace*{1cm}\vbox{\red |\tkzDrawCircle(B,C)|\\
+|\tkzDrawLines[add=0 and 2](D,A D,B)|}
+
+\medskip
+We can place the points $E$ and $F$ at the end of the picture. We don't need them now.
+
+Intersecting a Line and a Circle : here we search the intersection of the circle around B through C and the line DB.
+The infinite straight line DB intercepts the circle but with TikZ we need to extend the lines DB and that can be done using partway calculations. We get the point F and BF or DF intercepts the circle
+
+\medskip
+\hspace*{1cm}\vbox{\orange| \node (H) [label=135:$H$,draw,circle through=(C)] at (B) {}; | \\
+|\path let \p1 = ($ (B) - (C) $) in| \\
+| coordinate [label=left:$G$] (G) at ($ (B) ! veclen(\x1,\y1) ! (F) $); | \\
+|\fill[red,opacity=.5] (G) circle (2pt);|} \\
+
+\medskip
+Like the intersection of two circles, it's easy to find the intersection of a line and a circle with \pkg{elements}. We don't need $F$
+
+\medskip
+\hspace*{1cm}\vbox{\red | \tkzInterLC(B,D)(B,C)\tkzGetFirstPoint{G}|}
+
+\medskip
+there are no more difficulties. Here the final code with some simplications.
+
+
+\begin{tkzexample}[vbox,small]
+ \begin{tikzpicture}[scale=2]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(0.75,0.25){B}
+ \tkzDefPoint(1,1.5){C}
+ \tkzDefTriangle[equilateral](A,B) \tkzGetPoint{D}
+ \tkzInterLC(B,D)(B,C)\tkzGetFirstPoint{G}
+ \tkzInterLC(D,A)(D,G)\tkzGetSecondPoint{L}
+ \tkzDrawCircles(B,C D,G)
+ \tkzDrawLines[add=0 and 2](D,A D,B)
+ \tkzDrawSegment(A,B)
+ \tkzDrawSegments[red](A,L B,C)
+ \tkzDrawPoints[red](D,L)
+ \tkzDrawPoints[fill=gray](A,B,C)
+ \tkzLabelPoints[left,red](A)
+ \tkzLabelPoints[below right,red](L)
+ \tkzLabelCircle[above left=6pt](B,G)(180){$H$}
+ \tkzLabelPoints[above left](D,G)
+ \tkzLabelPoints[above,red](C)
+ \tkzLabelPoints[right,red](B)
+ \tkzLabelCircle[above left=6pt](D,G)(180){$K$}
+ \end{tikzpicture}
+\end{tkzexample}
+
+\subsection{\tkzname{\tkznameofpack 4} vs \tkzname{\tkznameofpack 3}}
+
+Now I am no longer a Mathematics teacher, and I only spend a few hours studying geometry. I wanted to avoid multiple complications by trying to make \tkzname{tkz-euclide} independent of \tkzname{tkz-base}. Thus was born \tkzname{\tkznameofpack} 4. The latter is a simplified version of its predecessor. The macros of \tkzname{tkz-euclide 3} have been retained. The unit is now \tkzname{cm}. Si vous avez besoin de certaines macros de \tkzname{tkz-base}, il vous faudra sans doute utiliser la macro \tkzcname{tkzInit}.
+
+\subsection{How to use the \tkzname{\tkznameofpack} package ?}
+\subsubsection{Let's look at a classic example}
+In order to show the right way, we will see how to build an equilateral triangle. Several possibilities are open to us, we are going to follow the steps of Euclid.
+
+\begin{itemize}
+\item First of all, you have to use a document class. The best choice to test your code is to create a single figure with the class \tkzname{standalone}\index{standalone}.
+\begin{verbatim}
+\documentclass{standalone}
+\end{verbatim}
+\item Then load the \tkzname{\tkznameofpack} package:
+\begin{verbatim}
+\usepackage{tkz-euclide}
+\end{verbatim}
+
+ You don't need to load \TIKZ\ because the \tkzname{\tkznameofpack} package works on top of TikZ and loads it.
+
+ \item Start the document and open a TikZ picture environment:
+\begin{verbatim}
+\begin{document}
+\begin{tikzpicture}
+\end{verbatim}
+
+\item Now we define two fixed points:
+\begin{verbatim}
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(5,2){B}
+\end{verbatim}
+
+\item Two points define two circles, let's use these circles:
+
+ circle with center $A$ through $B$ and circle with center $B$ through $A$. These two circles have two points in common.
+\begin{verbatim}
+\tkzInterCC(A,B)(B,A)
+\end{verbatim}
+We can get the points of intersection with
+\begin{verbatim}
+\tkzGetPoints{C}{D}
+\end{verbatim}
+
+\item All the necessary points are obtained, we can move on to the final steps including the plots.
+\begin{verbatim}
+\tkzDrawCircles[gray,dashed](A,B B,A)
+\tkzDrawPolygon(A,B,C)% The triangle
+\end{verbatim}
+\item Draw all points $A$, $B$, $C$ and $D$:
+\begin{verbatim}
+\tkzDrawPoints(A,...,D)
+\end{verbatim}
+
+\item The final step, we print labels to the points and use options for positioning:\\
+\begin{verbatim}
+\tkzLabelSegments[swap](A,B){$c$}
+\tkzLabelPoints(A,B,D)
+\tkzLabelPoints[above](C)
+\end{verbatim}
+\item We finally close both environments
+\begin{verbatim}
+\end{tikzpicture}
+\end{document}
+\end{verbatim}
+
+\item The complete code
+
+\begin{tkzexample}[latex=8cm,small]
+ \begin{tikzpicture}[scale=.5]
+ % fixed points
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(5,2){B}
+ % calculus
+ \tkzInterCC(A,B)(B,A)
+ \tkzGetPoints{C}{D}
+ % drawings
+ \tkzDrawCircles(A,B B,A)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,...,D)
+ % marking
+ \tkzMarkSegments[mark=s||](A,B B,C C,A)
+ % labelling
+ \tkzLabelSegments[swap](A,B){$c$}
+ \tkzLabelPoints(A,B,D)
+ \tkzLabelPoints[above](C)
+\end{tikzpicture}
+\end{tkzexample}
+
+ \end{itemize}
+
+\subsubsection{ Part I: golden triangle}
\begin{center}
\begin{tikzpicture}
@@ -46,15 +354,18 @@ There is no need to compare \TIKZ\ and \tkzname{\tkznameofpack}. The latter is
% Toget A we use an intersection of lines
\tkzInterLL(B,E)(C,D) \tkzGetPoint{A}
\tkzInterLL(C,E)(B,D) \tkzGetPoint{H}
-% drawing
-\tkzDrawArc[delta=10](B,C)(E)
-\tkzDrawPolygon(C,B,D)
-\tkzDrawSegments(D,A B,A C,E)
+
% angles
-\tkzMarkAngles(C,B,D E,A,D) %this is to draw the arcs
+\tkzMarkAngles[size=2](C,B,D E,A,D) %this is to draw the arcs
\tkzLabelAngles[pos=1.5](C,B,D E,A,D){$\alpha$}
\tkzMarkRightAngle(B,H,C)
\tkzDrawPoints(A,...,E)
+
+% drawing
+\tkzDrawArc[delta=10](B,C)(E)
+\tkzDrawPolygon(C,B,D)
+\tkzDrawSegments(D,A B,A C,E)
+
% Label only now
\tkzLabelPoints[below left](C,A)
\tkzLabelPoints[below right](D)
@@ -106,14 +417,15 @@ How construct a gold triangle or an angle of $36^\circ$?
\tkzInterCC[with nodes](C,C,n)(D,C,n)
\tkzGetFirstPoint{B}
\tkzDrawSegment[brown,dashed](f,n)
- \pgfinterruptboundingbox
+ \pgfinterruptboundingbox% from tikz
\tkzDrawPolygon[brown,dashed](C,D,e,f)
\tkzDrawArc[brown,dashed](m,e)(n)
\tkzCompass[brown,dashed,delta=20](C,B)
\tkzCompass[brown,dashed,delta=20](D,B)
\endpgfinterruptboundingbox
- \tkzDrawPoints(C,D,B)
\tkzDrawPolygon(B,...,D)
+ \tkzDrawPoints(B,C,D,e,f,m,n)
+ \tkzLabelPoints(B,C,D,e,f,m,n)
\end{tikzpicture}
\end{minipage}
\begin{minipage}{.6\textwidth}
@@ -130,12 +442,10 @@ How construct a gold triangle or an angle of $36^\circ$?
\tkzInterCC[with nodes](C,C,n)(D,C,n)
\tkzGetFirstPoint{B}
\tkzDrawSegment[brown,dashed](f,n)
- \pgfinterruptboundingbox
\tkzDrawPolygon[brown,dashed](C,D,e,f)
\tkzDrawArc[brown,dashed](m,e)(n)
\tkzCompass[brown,dashed,delta=20](C,B)
\tkzCompass[brown,dashed,delta=20](D,B)
- \endpgfinterruptboundingbox
\tkzDrawPoints(C,D,B)
\tkzDrawPolygon(B,...,D)
\end{tikzpicture}
@@ -144,39 +454,6 @@ How construct a gold triangle or an angle of $36^\circ$?
After building the golden triangle $BCD$, we build the point $A$ by noticing that $BD=DA$. Then we get the point $E$ and finally the point $F$. This is done with already intersections of defined objects (line and circle).
-
-
-\begin{center}
- \begin{tikzpicture}
- \tkzDefPoint(0,0){C}
- \tkzDefPoint(4,0){D}
- \tkzDefSquare(C,D)
- \tkzGetPoints{e}{f}
- \tkzDefMidPoint(C,f)
- \tkzGetPoint{m}
- \tkzInterLC(C,f)(m,e)
- \tkzGetSecondPoint{n}
- \tkzInterCC[with nodes](C,C,n)(D,C,n)
- \tkzGetFirstPoint{B}
- \tkzInterLC(C,D)(D,B) \tkzGetSecondPoint{A}
- \tkzInterLC(B,A)(B,D) \tkzGetSecondPoint{E}
- \tkzInterLL(B,D)(C,E) \tkzGetPoint{F}
- \tkzDrawPoints(C,D,B)
- \tkzDrawPolygon(B,...,D)
- \tkzDrawPolygon(B,C,D)
- \tkzDrawSegments(D,A A,B C,E)
- \tkzDrawArc[delta=10](B,C)(E)
- \tkzMarkRightAngle[fill=blue!20](B,F,C)
- \tkzFillAngles[fill=blue!10](C,B,D E,A,D)
- \tkzMarkAngles(C,B,D E,A,D)
- \tkzLabelAngles[pos=1.5](C,B,D E,A,D){$\alpha$}
- \tkzLabelPoints[below](A,C,D,E)
- \tkzLabelPoints[above right](B,F)
- \tkzDrawPoints(A,...,F)
- \end{tikzpicture}
-\end{center}
-
-
\begin{tkzexample}[code only,small]
\begin{tikzpicture}
@@ -199,8 +476,7 @@ After building the golden triangle $BCD$, we build the point $A$ by noticing tha
\tkzDrawSegments(D,A A,B C,E)
\tkzDrawArc[delta=10](B,C)(E)
\tkzDrawPoints(A,...,F)
- \tkzMarkRightAngle[fill=blue!20](B,F,C)
- \tkzFillAngles[fill=blue!10](C,B,D E,A,D)
+ \tkzMarkRightAngle(B,F,C)
\tkzMarkAngles(C,B,D E,A,D)
\tkzLabelAngles[pos=1.5](C,B,D E,A,D){$\alpha$}
\tkzLabelPoints[below](A,C,D,E)
@@ -208,9 +484,9 @@ After building the golden triangle $BCD$, we build the point $A$ by noticing tha
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Example Part II: two others methods gold and euclide triangle}
+\subsubsection{Part II: two others methods with golden and euclid triangle}
-\tkzname{\tkznameofpack} knows how to define a "gold" or "euclide" triangle. We can define $BCD$ and $BCA$ like gold triangles.
+\tkzname{\tkznameofpack} knows how to define a "golden" or "euclide" triangle. We can define $BCD$ and $BCA$ like gold triangles.
\begin{center}
@@ -218,9 +494,9 @@ After building the golden triangle $BCD$, we build the point $A$ by noticing tha
\begin{tikzpicture}
\tkzDefPoint(0,0){C}
\tkzDefPoint(4,0){D}
- \tkzDefTriangle[euclide](C,D)
+ \tkzDefTriangle[euclid](C,D)
\tkzGetPoint{B}
- \tkzDefTriangle[euclide](B,C)
+ \tkzDefTriangle[euclid](B,C)
\tkzGetPoint{A}
\tkzInterLC(B,A)(B,D) \tkzGetSecondPoint{E}
\tkzInterLL(B,D)(C,E) \tkzGetPoint{F}
@@ -230,8 +506,7 @@ After building the golden triangle $BCD$, we build the point $A$ by noticing tha
\tkzDrawSegments(D,A A,B C,E)
\tkzDrawArc[delta=10](B,C)(E)
\tkzDrawPoints(A,...,F)
- \tkzMarkRightAngle[fill=blue!20](B,F,C)
- \tkzFillAngles[fill=blue!10](C,B,D E,A,D)
+ \tkzMarkRightAngle(B,F,C)
\tkzMarkAngles(C,B,D E,A,D)
\tkzLabelAngles[pos=1.5](C,B,D E,A,D){$\alpha$}
\tkzLabelPoints[below](A,C,D,E)
@@ -342,8 +617,8 @@ The following code consists of several parts:
\tkzGetPoint{M}
\tkzDefPointWith[orthogonal](I,M)
\tkzGetPoint{H}
- \tkzInterLC(I,H)(M,A)
- \tkzGetSecondPoint{B}
+ \tkzInterLC(I,H)(M,B)
+ \tkzGetSecondPoint{C}
\end{tkzltxexample}
@@ -352,23 +627,23 @@ The following code consists of several parts:
\tkzDrawSegment[style=orange](I,H)
\tkzDrawPoints(O,I,A,B,M)
\tkzDrawArc(M,A)(O)
- \tkzDrawSegment[dim={$1$,-16pt,}](O,I)
+ \tkzDrawSegment[dim={$1$,-16pt,}](A,I)
\tkzDrawSegment[dim={$a/2$,-10pt,}](I,M)
- \tkzDrawSegment[dim={$a/2$,-16pt,}](M,A)
+ \tkzDrawSegment[dim={$a/2$,-16pt,}](M,B)
\end{tkzltxexample}
\item Marking: the fourth is devoted to marking;
\begin{tkzltxexample}[]
- \tkzMarkRightAngle(A,I,B)
+ \tkzMarkRightAngle[ra](A,I,C)
\end{tkzltxexample}
\item Labelling: the latter only deals with the placement of labels.
\begin{tkzltxexample}[]
- \tkzLabelPoint[left](O){$A(0,0)$}
- \tkzLabelPoint[right](A){$B(10,0)$}
- \tkzLabelSegment[right=4pt](I,B){$\sqrt{a^2}=a \ (a>0)$}
+ \tkzLabelPoint[left](A){$A(0,0)$}
+ \tkzLabelPoint[right](B){$B(10,0)$}
+ \tkzLabelSegment[right=4pt](I,C){$\sqrt{a^2}=a \ (a>0)$}
\end{tkzltxexample}
@@ -401,253 +676,4 @@ The following code consists of several parts:
\end{tkzexample}
\end{itemize}
-\subsection{The Elements of tkz code}
-In this paragraph, we start looking at the "rules" and "symbols" used to create a figure with \tkzname{\tkznameofpack}.
-
- The primitive objects are points. You can refer to a point at any time using the name given when defining it. (it is possible to assign a different name later on).
-
-\medskip
-In general, \tkzname{\tkznameofpack} macros have a name beginning with tkz. There are four main categories starting with:
-|\tkzDef...| |\tkzDraw...| |\tkzMark...| and |\tkzLabel...|
-
-Among the first category, |\tkzDefPoint| allows you to define fixed points. It will be studied in detail later. Here we will see in detail the macro |\tkzDefTriangle|.
-
-This macro makes it possible to associate to a pair of points a third point in order to define a certain triangle |\tkzDefTriangle(A,B)|. The obtained point is referenced |tkzPointResult| and it is possible to choose another reference with |\tkzGetPoint{C}| for example.
-Parentheses are used to pass arguments. In |(A,B)| $A$ and $B$ are the points with which a third will be defined.
-
-However, in |{C}| we use braces to retrieve the new point.
-In order to choose a certain type of triangle among the following choices:
- |equilateral|, |half|, |pythagoras|, |school|, |golden or sublime|, |euclide|, |gold|, |cheops|...
- and |two angles| you just have to choose between hooks, for example:
-
-|\tkzDefTriangle[euclide](A,B) \tkzGetPoint{C}|
-
-\begin{minipage}{0.5\textwidth}
- \begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/A,8/0/B}
- \foreach \tr in {equilateral,half,pythagore,%
- school,golden,euclide, gold,cheops}
- {\tkzDefTriangle[\tr](A,B) \tkzGetPoint{C}
- \tkzDrawPoint(C)
- \tkzLabelPoint[right](C){\tr}
- \tkzDrawSegments(A,C C,B)}
- \tkzDrawPoints(A,B)
- \tkzDrawSegments(A,B)
- \end{tikzpicture}
-\end{minipage}
-\begin{minipage}{0.5\textwidth}
- \begin{tkzexample}[code only,small]
- \begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/A,8/0/B}
- \foreach \tr in {equilateral,half,pythagore,%
- school,golden,euclide, gold,cheops}
- {\tkzDefTriangle[\tr](A,B) \tkzGetPoint{C}
- \tkzDrawPoint(C)
- \tkzLabelPoint[right](C){\tr}
- \tkzDrawSegments(A,C C,B)}
- \tkzDrawPoints(A,B)
- \tkzDrawSegments(A,B)
- \end{tikzpicture}
- \end{tkzexample}
-
-\end{minipage}
-
-
-\subsection{Notations and conventions}
-
-I deliberately chose to use the geometric French and personal conventions to describe the geometric objects represented. The objects defined and represented by \tkzname{\tkznameofpack} are points, lines and circles located in a plane. They are the primary objects of Euclidean geometry from which we will construct figures.
-
-According to \tkzimp{Euclidian} these figures will only illustrate pure ideas produced by our brain.
-Thus a point has no dimension and therefore no real existence. In the same way the line has no width and therefore no existence in the real world. The objects that we are going to consider are only representations of ideal mathematical objects. \tkzname{\tkznameofpack} will follow the steps of the ancient Greeks to obtain geometrical constructions using the ruler and the compass.
-
-Here are the notations that will be used:
-
-
-\begin{itemize}
-\item The points are represented geometrically either by a small disc or by the intersection of two lines (two straight lines, a straight line and a circle or two circles). In this case, the point is represented by a cross.
-
-\begin{tkzexample}[latex=6cm, small]
- \begin{tikzpicture}
- \tkzDefPoints{0/0/A,4/2/B}
- \tkzDrawPoints(A,B)
- \tkzLabelPoints(A,B)
- \end{tikzpicture}
-\end{tkzexample}
-
-or else
-
-\begin{tkzexample}[latex=6cm, small]
- \begin{tikzpicture}
- \tkzSetUpPoint[shape=cross, color=red]
- \tkzDefPoints{0/0/A,4/2/B}
- \tkzDrawPoints(A,B)
- \tkzLabelPoints(A,B)
- \end{tikzpicture}
- \end{tkzexample}
-
-The existence of a point being established, we can give it a label which will be a capital letter (with some exceptions) of the Latin alphabet such as $A$, $B$ or $C$. For example:
-\begin{itemize}
-\item $O$ is a center for a circle, a rotation, etc.;
-\item $M$ defined a midpoint;
-\item $H$ defined the foot of an altitude;
-\item $P'$ is the image of $P$ by a transformation ;
-\end{itemize}
-
-It is important to note that the reference name of a point in the code may be different from the label to designate it in the text. So we can define a point A and give it as label $P$. In particular the style will be different, point A will be labeled $A$.
-
-\begin{tkzexample}[latex=6cm, small]
- \begin{tikzpicture}
- \tkzDefPoints{0/0/A}
- \tkzDrawPoints(A)
- \tkzLabelPoint(A){$P$}
- \end{tikzpicture}
-\end{tkzexample}
-
-Exceptions: some points such as the middle of the sides of a triangle share a characteristic, so it is normal that their names also share a common character. We will designate these points by $M_a$, $M_b$ and $M_c$ or $M_A$, $M_B$ and $M_C$.
-
-In the code, these points will be referred to as: M\_A, M\_B and M\_C.
-
-Another exception relates to intermediate construction points which will not be labelled. They will often be designated by a lowercase letter in the code.
-
-\item The line segments are designated by two points representing their ends in square brackets: $[AB]$.
-
-\item The straight lines are in Euclidean geometry defined by two points so $A$ and $B$ define the straight line $(AB)$. We can also designate this stright line using the Greek alphabet and name it $(\delta)$ or $(\Delta)$. It is also possible to designate the straight line with lowercase letters such as $d$ and $d'$.
-
-\item The semi-straight line is designated as follows $[AB)$.
-
-
-\item Relation between the straight lines. Two perpendicular $(AB)$ and $(CD)$ lines will be written $(AB) \perp (CD)$ and if they are parallel we will write $(AB) \parallelslant (CD)$.
-
-\item The lengths of the sides of triangle ABC are $AB$, $AC$ and $BC$. The numbers are also designated by a lowercase letter so we will write: $AB=c$, $AC=b$ and $BC=a$. The letter $a$ is also used to represent an angle, and $r$ is frequently used to represent a radius, $d$ a diameter, $l$ a length, $d$ a distance.
-
-\item Polygons are designated afterwards by their vertices so $ABC$ is a triangle, $EFGH$ a quadrilateral.
-
-\item Angles are generally measured in degrees (ex $60^\circ$) and in an equilateral $ABC$ triangle we will write $\widehat{ABC}=\widehat{B}=60^\circ$.
-
-\item The arcs are designated by their extremities. For example if $A$ and $B$ are two points of the same circle then $\widearc{AB}$.
-
-
-\item Circles are noted either $\mathcal{C}$ if there is no possible confusion or $\mathcal{C}$ $(O~;~A)$ for a circle with center $O$ and passing through the point $A$ or $\mathcal{C}$ $(O~;~1)$ for a circle with center O and radius 1 cm.
-
-\item Name of the particular lines of a triangle: I used the terms bisector, bisector out, mediator (sometimes called perpendicular bisectors), altitude, median and symmedian.
-
-\item ($x_1$,$y_1$) coordinates of the point $A_1$, ($x_A$,$y_A$) coordinates of the point $A$.
-
-\end{itemize}
-
-
-
-
-\subsection{How to use the \tkzname{\tkznameofpack} package ?}
-\subsubsection{Let's look at a classic example}
-In order to show the right way, we will see how to build an equilateral triangle. Several possibilities are open to us, we are going to follow the steps of Euclid.
-
-\begin{itemize}
-\item First of all you have to use a document class. The best choice to test your code is to create a single figure with the class \tkzname{standalone}\index{standalone}.
-\begin{verbatim}
-\documentclass{standalone}
-\end{verbatim}
-\item Then load the \tkzname{\tkznameofpack} package:
-\begin{verbatim}
-\usepackage{tkz-euclide}
-\end{verbatim}
-
- You don't need to load \TIKZ\ because the \tkzname{\tkznameofpack} package works on top of TikZ and loads it.
- \item {\color{red} \bomb \sout{|\BS usetkzobj{all}| }}
- With the new version 3.03 you don't need this line anymore. All objects are now loaded.
- \item Start the document and open a TikZ picture environment:
-\begin{verbatim}
-\begin{document}
-\begin{tikzpicture}
-\end{verbatim}
-
-\item Now we define two fixed points:
-\begin{verbatim}
-\tkzDefPoint(O,O){A}
-\tkzDefPoint(5,2){B}
-\end{verbatim}
-
-\item Two points define two circles, let's use these circles:
-
- circle with center $A$ through $B$ and circle with center $B$ through $A$. These two circles have two points in common.
-\begin{verbatim}
-\tkzInterCC(A,B)(B,A)
-\end{verbatim}
-We can get the points of intersection with
-\begin{verbatim}
-\tkzGetPoints{C}{D}
-\end{verbatim}
-
-\item All the necessary points are obtained, we can move on to the final steps including the plots.
-\begin{verbatim}
-\tkzDrawCircles[gray,dashed](A,B B,A)
-\tkzDrawPolygon(A,B,C)% The triangle
-\end{verbatim}
-\item Draw all points $A$, $B$, $C$ and $D$:
-\begin{verbatim}
-\tkzDrawPoints(A,...,D)
-\end{verbatim}
-
-\item The final step, we print labels to the points and use options for positioning:\\
-\begin{verbatim}
-\tkzLabelSegments[swap](A,B){$c$}
-\tkzLabelPoints(A,B,D)
-\tkzLabelPoints[above](C)
-\end{verbatim}
-\item We finally close both environments
-\begin{verbatim}
-\end{tikzpicture}
-\end{document}
-\end{verbatim}
-
-\item The complete code
-
-\begin{tkzexample}[latex=8cm,small]
- \begin{tikzpicture}[scale=.5]
- % fixed points
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,2){B}
- % calculus
- \tkzInterCC(A,B)(B,A)
- \tkzGetPoints{C}{D}
- % drawings
- \tkzDrawCircles[gray,dashed](A,B B,A)
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,...,D)
- % marking
- \tkzMarkSegments[mark=s||](A,B B,C C,A)
- % labelling
- \tkzLabelSegments[swap](A,B){$c$}
- \tkzLabelPoints(A,B,D)
- \tkzLabelPoints[above](C)
-\end{tikzpicture}
-\end{tkzexample}
-
- \end{itemize}
-
-\subsubsection{\tkzname{Set, Calculate, Draw, Mark, Label}}
-The title could have been: \texttt{Separation of Calculus and Drawings}
-
-When a document is prepared using the \LATEX\ system, the source code of the document can be divided into two parts: the document body and the preamble.
-Under this methodology, publications can be structured, styled and typeset with minimal effort.
-I propose a similar methodology for creating figures with \tkzname{\tkznameofpack}.
-
-The first part defines the fixed points, the second part allows the creation of new points. These are the two main parts. All that is left to do is to draw, mark and label.
-
-
-
-
-\endinput
-
-
-
-
-
-
-
-
-
-
-
-
-
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rapporteur.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rapporteur.tex
index ebd7f3fd80..5ee7fd055c 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rapporteur.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rapporteur.tex
@@ -12,7 +12,6 @@ options & default & definition \\
\end{tabular}
\end{NewMacroBox}
-
\subsection{The circular protractor}
Measuring in the forward direction
@@ -39,6 +38,4 @@ Measuring in the forward direction
\tkzProtractor[return](A,C)
\end{tikzpicture}
\end{tkzexample}
-
-
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rnd.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rnd.tex
index 47a5bd70f0..9427fd8da3 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rnd.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-rnd.tex
@@ -23,7 +23,7 @@ options & default & definition \\
\TOline{rectangle=pt1 and pt2} {}{[rectangle=A and B]}
\TOline{segment= pt1--pt2} {}{[segment=A--B]}
\TOline{line=pt1--pt2}{}{[line=A--B]}
-\TOline{circle =center pt1 radius dim}{}{[circle = center A radius 2 cm]}
+\TOline{circle =center pt1 radius dim}{}{[circle = center A radius 2]}
\TOline{circle through=center pt1 through pt2}{}{[circle through= center A through B]}
\TOline{disk through=center pt1 through pt2}{}{[disk through=center A through B]}
\end{tabular}
@@ -70,42 +70,24 @@ options & default & definition \\
\end{tkzexample}
-\subsubsection{Example of random points}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,2/2/B,-1/-1/C}
- \tkzDefCircle[through=](A,C)
- \tkzGetLength{rAC}
- \tkzDrawCircle(A,C)
- \tkzDrawCircle(A,B)
- \tkzDefRandPointOn[rectangle=A and B]
- \tkzGetPoint{a}
- \tkzDefRandPointOn[segment=A--B]
- \tkzGetPoint{b}
- \tkzDefRandPointOn[circle=center A radius \rAC pt]
- \tkzGetPoint{d}
- \tkzDefRandPointOn[circle through= center A through B]
- \tkzGetPoint{c}
- \tkzDefRandPointOn[disk through=center A through B]
- \tkzGetPoint{e}
- \tkzLabelPoints[above right=3pt](A,B,C,a,b,...,e)
- \tkzDrawPoints[](A,B,C,a,b,...,e)
- \tkzDrawRectangle(A,B)
-\end{tikzpicture}
-\end{tkzexample}
-\subsection{Random point on a circle}
+
+\subsubsection{Random point on a circle}
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5] \tkzGrid
- \tkzDefPoints{3/2/A,1/1/B}
- \tkzCalcLength[cm](A,B) \tkzGetLength{rAB}
- \tkzDrawCircle[R](A,\rAB cm)
- \tkzDefRandPointOn[circle = center A radius
- \rAB cm]\tkzGetPoint{a}
- \tkzDrawSegment(A,a)
- \tkzDrawPoints(A,B,a)
- \tkzLabelPoints(A,B,a)
+\begin{tikzpicture}
+\tkzInit[ymin=-1,xmax=6,ymax=5] \tkzGrid
+\tkzDefPoints{3/2/A,1/1/B}
+\tkzCalcLength(A,B) \tkzGetLength{rAB}
+\tkzDefRandPointOn[circle = center A radius \rAB]
+\tkzGetPoint{a}
+\tkzDefRandPointOn[circle through= center A through B]
+\tkzGetPoint{b}
+\tkzDefRandPointOn[disk through=center A through B]
+\tkzGetPoint{c}
+\tkzDrawCircle[R](A,\rAB)
+\tkzDrawSegment(A,a)
+\tkzDrawPoints(A,B,a,b,c)
+\tkzLabelPoints(A,B,a,b,c)
\end{tikzpicture}
\end{tkzexample}
@@ -118,21 +100,22 @@ options & default & definition \\
\tkzGetPoint{P}
\tkzDefApolloniusPoint[K=\coeffK](A,B)
\tkzGetPoint{M}
+ \tkzDefRandPointOn[circle through=%
+ center P through M]
+ \tkzGetPoint{N}
\tkzDefApolloniusRadius[K=\coeffK](A,B)
\tkzDrawCircle[R,color = blue!50!black,
fill=blue!20,
- opacity=.4](tkzPointResult,\tkzLengthResult pt)
- \tkzDefRandPointOn[circle through= center P through M]
- \tkzGetPoint{N}
+ opacity=.4](tkzPointResult,\tkzLengthResult)
+ \tkzLabelCircle[R,draw,fill=green!10,%
+ text width=3cm,%
+ text centered](P,\tkzLengthResult+1)(-120)%
+ { $MA/MB=\coeffK$\\$NA/NB=\coeffK$}
\tkzDrawPoints(A,B,P,M,N)
\tkzLabelPoints(A,B,P,M,N)
\tkzDrawSegments[red](N,A N,B)
\tkzDrawPoints(A,B)
\tkzDrawSegments[red](A,B)
- \tkzLabelCircle[R,draw,fill=green!10,%
- text width=3cm,%
- text centered](P,\tkzLengthResult pt-20pt)(-120)%
- { $MA/MB=\coeffK$\\$NA/NB=\coeffK$}
\end{tikzpicture}
\end{tkzexample}
@@ -141,34 +124,56 @@ options & default & definition \\
\subsection{Middle of a compass segment}
To conclude this section, here is a more complex example. It involves determining the middle of a segment, using only a compass.
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
+\begin{tikzpicture}
\tkzDefPoint(0,0){A}
- \tkzDefRandPointOn[circle= center A radius 4cm]
+ \tkzDefRandPointOn[circle= center A radius 4]
\tkzGetPoint{B}
- \tkzDrawPoints(A,B)
\tkzDefPointBy[rotation= center A angle 180](B)
\tkzGetPoint{C}
- \tkzInterCC[R](A,4 cm)(B,4 cm)
+ \tkzInterCC[R](A,4)(B,4)
\tkzGetPoints{I}{I'}
- \tkzInterCC[R](A,4 cm)(I,4 cm)
+ \tkzInterCC[R](A,4)(I,4)
\tkzGetPoints{J}{B}
\tkzInterCC(B,A)(C,B)
\tkzGetPoints{D}{E}
\tkzInterCC(D,B)(E,B)
\tkzGetPoints{M}{M'}
- \tikzset{arc/.style={color=brown,style=dashed,delta=10}}
- \tkzDrawArc[arc](C,D)(E)
- \tkzDrawArc[arc](B,E)(D)
- \tkzDrawCircle[color=brown,line width=.2pt](A,B)
- \tkzDrawArc[arc](D,B)(M)
- \tkzDrawArc[arc](E,M)(B)
- \tkzCompasss[color=red,style=solid](B,I I,J J,C)
- \tkzDrawPoints(B,C,D,E,M)
+ \tkzSetUpArc[color=teal,style=dashed,delta=10]
+ \tkzDrawArc(C,D)(E)
+ \tkzDrawArc(B,E)(D)
+ \tkzDrawCircle[color=teal,line width=.2pt](A,B)
+ \tkzDrawArc(D,B)(M)
+ \tkzDrawArc(E,M)(B)
+ \tkzCompasss[style=solid](B,I I,J J,C)
+ \tkzDrawPoints(A,B,C,D,E,M)
+ \tkzLabelPoints(A,B,M)
+ \end{tikzpicture}
+
+\begin{tkzexample}[code only,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefRandPointOn[circle= center A radius 4]
+ \tkzGetPoint{B}
+ \tkzDefPointBy[rotation= center A angle 180](B)
+ \tkzGetPoint{C}
+ \tkzInterCC[R](A,4)(B,4)
+ \tkzGetPoints{I}{I'}
+ \tkzInterCC[R](A,4)(I,4)
+ \tkzGetPoints{J}{B}
+ \tkzInterCC(B,A)(C,B)
+ \tkzGetPoints{D}{E}
+ \tkzInterCC(D,B)(E,B)
+ \tkzGetPoints{M}{M'}
+ \tkzSetUpArc[ccolor=teal,style=dashed,delta=10]
+ \tkzDrawArc(C,D)(E)
+ \tkzDrawArc(B,E)(D)
+ \tkzDrawCircle[color=teal,line width=.2pt](A,B)
+ \tkzDrawArc(D,B)(M)
+ \tkzDrawArc(E,M)(B)
+ \tkzCompasss[color=orange,style=solid](B,I I,J J,C)
+ \tkzDrawPoints(A,B,C,D,E,M)
\tkzLabelPoints(A,B,M)
\end{tikzpicture}
\end{tkzexample}
-\endinput
-
- \ No newline at end of file
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-sectors.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-sectors.tex
deleted file mode 100644
index 030af8917f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-sectors.tex
+++ /dev/null
@@ -1,224 +0,0 @@
-\section{Sectors}
-\subsection{\tkzcname{tkzDrawSector}}
-\tkzHandBomb\ Attention the arguments vary according to the options.
-\begin{NewMacroBox}{tkzDrawSector}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{towards}{towards}{$O$ is the center and the arc from $A$ to $(OB)$}
-\TOline{rotate} {towards}{the arc starts from $A$ and the angle determines its length }
-\TOline{R}{towards}{We give the radius and two angles}
-\TOline{R with nodes}{towards}{We give the radius and two points}
-\bottomrule
-\end{tabular}
-
-\medskip
-You have to add, of course, all the styles of \TIKZ\ for tracings...
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & arguments & example \\
-\midrule
-\TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzDrawSector(O,A)(B)}}
-\TOline{rotate} {\parg{pt,pt}\parg{an}}{\tkzcname{tkzDrawSector[rotate,color=red](O,A)(90)}}
-\TOline{R}{\parg{pt,$r$}\parg{an,an}}{\tkzcname{tkzDrawSector[R,color=blue](O,2 cm)(30,90)}}
-\TOline{R with nodes}{\parg{pt,$r$}\parg{pt,pt}}{\tkzcname{tkzDrawSector[R with nodes](O,2 cm)(A,B)}}
-\bottomrule
-\end{tabular}
-\end{NewMacroBox}
-
-Here are a few examples:
-
-\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{towards}}
-There's no need to put \tkzname{towards}. You can use \tkzname{fill} as an option.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(-30:3){A}
- \tkzDefPointBy[rotation = center O angle -60](A)
- \tkzDrawSector[fill=red!50](O,A)(tkzPointResult)
- \begin{scope}[shift={(-60:1cm)}]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(-30:3){A}
- \tkzDefPointBy[rotation = center O angle -60](A)
- \tkzDrawSector[fill=blue!50](O,tkzPointResult)(A)
- \end{scope}
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{rotate}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=2]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,2){A}
- \tkzDrawSector[rotate,draw=red!50!black,%
- fill=red!20](O,A)(30)
- \tkzDrawSector[rotate,draw=blue!50!black,%
- fill=blue!20](O,A)(-30)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{R}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDrawSector[R,draw=white,%
- fill=red!50](O,2cm)(30,90)
- \tkzDrawSector[R,draw=white,%
- fill=red!60](O,2cm)(90,180)
- \tkzDrawSector[R,draw=white,%
- fill=red!70](O,2cm)(180,270)
- \tkzDrawSector[R,draw=white,%
- fill=red!90](O,2cm)(270,360)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{R}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(4,-2){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(3,3){C}
- \tkzDrawSector[R with nodes,%
- fill=blue!20](O,1 cm)(B,C)
- \tkzDrawSector[R with nodes,%
- fill=red!20](O,1.25 cm)(A,B)
-\tkzDrawSegments(O,A O,B O,C)
-\tkzDrawPoints(O,A,B,C)
-\tkzLabelPoints(A,B,C)
-\tkzLabelPoints[left](O)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{R with nodes}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture} [scale=.5]
- \tkzDefPoint(-1,-2){A}
- \tkzDefPoint(1,3){B}
- \tkzDefRegPolygon[side,sides=6](A,B)
- \tkzGetPoint{O}
- \tkzDrawPolygon[fill=black!10,
- draw=blue](P1,P...,P6)
- \tkzLabelRegPolygon[sep=1.05](O){A,...,F}
- \tkzDrawCircle[dashed](O,A)
- \tkzLabelSegment[above,sloped,
- midway](A,B){\(A B = 16m\)}
- \foreach \i [count=\xi from 1] in {2,...,6,1}
- {%
- \tkzDefMidPoint(P\xi,P\i)
- \path (O) to [pos=1.1] node {\xi} (tkzPointResult) ;
- }
- \tkzDefRandPointOn[segment = P3--P5]
- \tkzGetPoint{S}
- \tkzDrawSegments[thick,dashed,red](A,S S,B)
- \tkzDrawPoints(P1,P...,P6,S)
- \tkzLabelPoint[left,above](S){$S$}
- \tkzDrawSector[R with nodes,fill=red!20](S,2 cm)(A,B)
- \tkzLabelAngle[pos=1.5](A,S,B){$\alpha$}
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{\tkzcname{tkzFillSector}}
-\tkzHandBomb\ Attention the arguments vary according to the options.
-\begin{NewMacroBox}{tkzFillSector}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{towards}{towards}{$O$ is the center and the arc from $A$ to $(OB)$}
-\TOline{rotate} {towards}{the arc starts from A and the angle determines its length }
-\TOline{R}{towards}{We give the radius and two angles}
-\TOline{R with nodes}{towards}{We give the radius and two points}
-\bottomrule
-\end{tabular}
-
-\medskip
-Of course, you have to add all the styles of \TIKZ\ for the tracings...
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & arguments & example \\
-\midrule
-\TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzFillSector(O,A)(B)}}
-\TOline{rotate} {\parg{pt,pt}\parg{an}}{\tkzcname{tkzFillSector[rotate,color=red](O,A)(90)}}
-\TOline{R}{\parg{pt,$r$}\parg{an,an}}{\tkzcname{tkzFillSector[R,color=blue](O,2 cm)(30,90)}}
-\TOline{R with nodes}{\parg{pt,$r$}\parg{pt,pt}}{\tkzcname{tkzFillSector[R with nodes](O,2 cm)(A,B)}}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{\tkzcname{tkzFillSector} and \tkzname{towards}}
-It is useless to put \tkzname{towards} and you will notice that the contours are not drawn, only the surface is colored.
-\begin{tkzexample}[latex=5.75cm,small]
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(-30:3){A}
- \tkzDefPointBy[rotation = center O angle -60](A)
- \tkzFillSector[fill=red!50](O,A)(tkzPointResult)
- \begin{scope}[shift={(-60:1cm)}]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(-30:3){A}
- \tkzDefPointBy[rotation = center O angle -60](A)
- \tkzFillSector[color=blue!50](O,tkzPointResult)(A)
- \end{scope}
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{\tkzcname{tkzFillSector} and \tkzname{rotate}}
-\begin{tkzexample}[latex=5.75cm,small]
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O} \tkzDefPoint(2,2){A}
- \tkzFillSector[rotate,color=red!20](O,A)(30)
- \tkzFillSector[rotate,color=blue!20](O,A)(-30)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{\tkzcname{tkzClipSector}}
-\tkzHandBomb\ Attention the arguments vary according to the options.
-\begin{NewMacroBox}{tkzClipSector}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
-\begin{tabular}{lll}%
-options & default & definition \\
-\midrule
-\TOline{towards}{towards}{$O$ is the centre and the sector starts from $A$ to $(OB)$}
-\TOline{rotate} {towards}{The sector starts from $A$ and the angle determines its amplitude. }
-\TOline{R}{towards}{We give the radius and two angles}
-\bottomrule
-\end{tabular}
-
-\medskip
-You have to add, of course, all the styles of \TIKZ\ for tracings...
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & arguments & example \\
-\midrule
-\TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzClipSector(O,A)(B)}}
-\TOline{rotate} {\parg{pt,pt}\parg{angle}}{\tkzcname{tkzClipSector[rotate](O,A)(90)}}
-\TOline{R}{\parg{pt,$r$}\parg{angle 1,angle 2}}{\tkzcname{tkzClipSector[R](O,2 cm)(30,90)}}
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{\tkzcname{tkzClipSector}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPoint(1,1){B}
- \tkzDrawSector[color=blue,dashed](O,A)(B)
- \tkzDrawSector[color=blue](O,B)(A)
- \tkzClipBB
- \begin{scope}
- \tkzClipSector(O,B)(A)
- \draw[fill=gray!20] (-1,0) rectangle (3,3);
- \end{scope}
- \tkzDrawPoints(A,B,O)
-\end{tikzpicture}
-\end{tkzexample}
-
-\endinput
-
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
index f52a749430..3a35b4ba2b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
@@ -163,49 +163,4 @@ You'll find this figure again, but without the construction features.
\end{tikzpicture}
\end{tkzexample}
-%<---------------------------------------------------------------------->
-\section{Different points}
-%<---------------------------------------------------------------------->
-
-\subsection{\tkzcname{tkzDefEquiPoints}}
-This macro makes it possible to obtain two points on a straight line equidistant from a given point.
-
-\begin{NewMacroBox}{tkzDefEquiPoints}{\oarg{local options}\parg{pt1,pt2}}%
-\begin{tabular}{lll}%
-arguments & default & definition \\
-\midrule
-\TAline{(pt1,pt2)}{no default}{unordered list of two items}
-\bottomrule
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-\toprule \\
-options & default & definition \\
-\midrule
-\TOline{dist} {2 cm} {half the distance between the two points}
-\TOline{from=pt} {no default} {reference point}
-\TOline{show} {false} {if true displays compass traces}
-\TOline{/compass/delta} {0} {compass trace size }
-
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Using \tkzcname{tkzDefEquiPoints} with options}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzSetUpCompass[color=purple,line width=1pt]
- \tkzDefPoint(0,1){A}
- \tkzDefPoint(5,2){B}
- \tkzDefPoint(3,4){C}
- \tkzDefEquiPoints[from=C,dist=1,show,
- /tkzcompass/delta=20](A,B)
- \tkzGetPoints{E}{H}
- \tkzDrawLines[color=blue](C,E C,H A,B)
- \tkzDrawPoints[color=blue](A,B,C)
- \tkzDrawPoints[color=red](E,H)
- \tkzLabelPoints(E,H)
- \tkzLabelPoints[color=blue](A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex
new file mode 100644
index 0000000000..d28226ee97
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-styles.tex
@@ -0,0 +1,333 @@
+\section{Predefined styles}\label{custom}
+The way to proceed will depend on your use of the package. A method that seems to me to be correct is to use as much as possible predefined styles in order to separate the content from the form. This method will be the right one if you plan to create a document (like this documentation) with many figures. We will see how to define a global style for a document. We will see how to use a style locally.
+
+The file \tkzname{tkz-euclide.cfg} contains the predefined styles of the main objects. Among these the most important are points, lines, segments, circles, arcs and compass traces.
+ If you always use the same styles and if you create many figures then it is interesting to create your own styles . To do this you need to know what features you can modify. It will be necessary to know some notions of \TIKZ.
+
+ The predefined styles are global styles. They exist before the creation of the figures. It is better to avoid changing them between two figures. On the other hand these styles can be modified in a figure temporarily. There the styles are defined locally and do not influence the other figures.
+
+ For the document you are reading here is how I defined the different styles.
+
+\begin{tkzltxexample}[]
+ \tkzSetUpColors[background=white,text=black]
+ \tkzSetUpPoint[size=2,color=teal]
+ \tkzSetUpLine[line width=.4pt,color=teal]
+ \tkzSetUpCompass[color=orange, line width=.4pt,delta=10]
+ \tkzSetUpArc[color=gray,line width=.4pt]
+ \tkzSetUpStyle[orange]{new}
+\end{tkzltxexample}
+
+The macro \tkzcname{tkzSetUpColors} allows you to set the background color as well as the text color. If you don't use it, the colors of your document will be used as well as the fonts. Let's see how to define the styles of the main objects.
+
+\section{Points style}
+This is how the points are defined :
+\begin{tkzltxexample}[]
+\tikzset{point style/.style = {%
+ draw = \tkz@euc@pointcolor,
+ inner sep = 0pt,
+ shape = \tkz@euc@pointshape,
+ minimum size = \tkz@euc@pointsize,
+ fill = \tkz@euc@pointcolor}}
+\end{tkzltxexample}
+
+It is of course possible to use \tkzcname{tikzset} but you can use a macro provided by the package. You can use the macro \tkzcname{tkzSetUpPoint} globally or locally, \\ Let's look at this possibility.
+
+\subsubsection{Use of \tkzcname{tkzSetUpPoint}}
+
+\begin{NewMacroBox}{tkzSetUpPoint}{\oarg{local options}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{color}{black}{point color}
+\TOline{size}{3}{point size}
+\TOline{fill}{black!50}{inside point color}
+\TOline{shape}{circle}{point shape circle, cross or cross out}
+\end{tabular}
+\end{NewMacroBox}
+
+
+
+\subsubsection{Global style or local style}
+First of all here is a figure created with the styles of my documentation, then the style of the points is modified within the environment \tkzNameEnv{tikzspicture}.
+
+You can use the macro \tkzcname{tkzSetUpPoint} globally or locally, If you place this macro in your preamble or before your first figure then the point style will be valid for all figures in your document. Il sera possible d'utiliser un autre style locallement en utilisant cette commande au sein d'un environnement \tkzNameEnv{tikzpicture}.\\ Let's look at this possibility.
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,5/0/B,3/2/C,3/1/D}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above right](C)
+\end{tikzpicture}
+\end{tkzexample}
+
+The style of the points is modified locally in the second figure
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzSetUpPoint[size=4,color=red,fill=red!20]
+ \tkzDefPoints{0/0/A,5/0/B,3/2/C,3/1/D}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoint[shape=cross out,thick](D)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above right](C)
+\end{tikzpicture}
+\end{tkzexample}
+
+The points get back the initial style. Point D has a new style limited by the environment \tkzNameEnv{scope}. It is also possible to use |{...}| orThe points get back the initial style. Point $D$ has a new style limited by the environment \tkzNameEnv{scope}. It is also possible to use |{...}| or |\begingoup ... \endgroup|.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,5/0/B,3/2/C,3/1/D}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \begin{scope}
+ \tkzSetUpPoint[size=4,color=red,fill=red!20]
+ \tkzDrawPoint(D)
+ \end{scope}
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above right](C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Simple example with \tkzcname{tkzSetUpPoint}}
+
+\begin{tkzexample}[latex=5cm,small]
+\begin{tikzpicture}
+ \tkzSetUpPoint[shape = cross out,color=blue]
+ \tkzDefPoint(2,1){A}
+ \tkzDefPoint(4,0){B}
+ \tkzDrawLine(A,B)
+ \tkzDrawPoints(A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Use of \tkzcname{tkzSetUpPoint} inside a group}
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,2/4/B,4/0/C,3/2/D}
+ \tkzDrawSegments(A,B A,C A,D)
+ {\tkzSetUpPoint[shape=cross out,
+ fill= teal!50,
+ size=4,color=teal]
+ \tkzDrawPoints(A,B)}
+ \tkzSetUpPoint[fill= teal!50,size=4,
+ color=teal]
+ \tkzDrawPoints(C,D)
+ \tkzLabelPoints(A,B,C,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\section{Lines style}
+
+\subsubsection{Use of \tkzcname{tkzSetUpLine}} \label{tkzsetupline}
+It is a macro that allows you to define the style of all the lines.
+
+\begin{NewMacroBox}{tkzSetUpLine}{\oarg{local options}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{color}{black}{colour of the construction lines}
+\TOline{line width}{0.4pt}{thickness of the construction lines}
+\TOline{style}{solid}{style of construction lines}
+\TOline{add}{.2 and .2}{changing the length of a line segment}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Change line width}
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}[scale=.75]
+\tkzSetUpLine[line width=1pt]
+\begin{scope}[rotate=-90]
+ \tkzDefPoints{0/6/A,10/0/B,10/6/C}
+ \tkzDefPointBy[projection = onto B--A](C)
+ \tkzGetPoint{H}
+ \tkzMarkRightAngle[size=.4,
+ fill=teal!20](B,C,A)
+ \tkzMarkRightAngle[size=.4,
+ fill=orange!20](B,H,C)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawSegment[new](C,H)
+\end{scope}
+ \tkzLabelSegment[below](C,B){$a$}
+ \tkzLabelSegment[right](A,C){$b$}
+ \tkzLabelSegment[left](A,B){$c$}
+ \tkzLabelSegment[color=red](C,H){$h$}
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints[above left](H)
+ \tkzLabelPoints(B,C)
+ \tkzLabelPoints[above](A)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Change style of line}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+\tikzset{line style/.style = {color = gray,
+ style=dashed}}
+\tkzDefPoints{1/0/A,4/0/B,1/1/C,5/1/D}
+\tkzDefPoints{1/2/E,6/2/F,0/4/A',3/4/B'}
+\tkzCalcLength(C,D)
+\tkzGetLength{rCD}
+\tkzCalcLength(E,F)
+\tkzGetLength{rEF}
+\tkzInterCC[R](A',\rCD)(B',\rEF)
+\tkzGetPoints{I}{J}
+\tkzDrawLine(A',B')
+\tkzCompass(A',B')
+\tkzDrawSegments(A,B C,D E,F)
+\tkzDrawCircles[R](A',{\rCD} B',\rEF)
+\begin{scope}
+ \tkzSetUpLine[color=red]
+ \tkzDrawSegments(A',I B',I)
+\end{scope}
+\tkzDrawPoints(A,B,C,D,E,F,A',B',I,J)
+\tkzLabelPoints(A,B,C,D,E,F,A',B',I,J)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example 3: extend lines}
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=.75]
+ \tkzSetUpLine[add=.5 and .5]
+ \tkzDefPoints{0/0/A,4/0/B,1/3/C}
+ \tkzDrawLines(A,B B,C A,C)
+ \tkzDrawPolygon[red,thick](A,B,C)
+ \tkzSetUpPoint[size=4,circle,color=red,fill=red!20]
+ \tkzDrawPoints(A,B,C)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\section{Arc style}
+
+\begin{NewMacroBox}{tkzSetUpArc}{\oarg{local options}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{color}{black}{colour of the lines}
+\TOline{line width}{0.4pt}{thickness of the lines}
+\TOline{style}{solid}{style of construction lines}
+\end{tabular}
+\end{NewMacroBox}
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}
+ \def\r{3} \def\angle{200}
+ \tkzSetUpArc[delta=5,color=purple,style=dashed]
+ \tkzSetUpLabel[font=\scriptsize,red]
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(\angle:\r){A}
+ \tkzInterCC(O,A)(A,O) \tkzGetPoints{C'}{C}
+ \tkzInterCC(O,A)(C,O) \tkzGetPoints{D'}{D}
+ \tkzInterCC(O,A)(D,O) \tkzGetPoints{X'}{X}
+ \tkzDrawCircle(O,A)
+ \tkzDrawArc(A,C')(C)
+ \tkzDrawArc(C,O)(D)
+ \tkzDrawArc(D,O)(X)
+ \tkzDrawLine[add=.1 and .1](A,X)
+ \tkzDrawPoints(O,A)
+ \tkzDrawPoints[new](C,C',D,X)
+ \tkzLabelPoints[below left](O,A)
+ \tkzLabelPoints[below](C,C')
+ \tkzLabelPoints[below right](X)
+ \tkzLabelPoints[above](D)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\section{Compass style, configuration macro \tkzcname{tkzSetUpCompass}}
+The following macro will help to understand the construction of a figure by showing the compass traces necessary to obtain certain points.
+
+\begin{NewMacroBox}{tkzSetUpCompass}{\oarg{local options}}%
+\begin{tabular}{lll}%
+options & default & definition \\
+\midrule
+\TOline{color}{black}{colour of the construction lines}
+\TOline{line width}{0.4pt}{thickness of the construction lines}
+\TOline{style}{solid}{style of lines : solid, dashed,dotted,...}
+\TOline{delta}{0}{changes the length of the arc }
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Use of \tkzcname{tkzSetUpCompass}}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzSetUpCompass[color=red,delta=15]
+ \tkzDefPoint(1,1){A}
+ \tkzDefPoint(6,1){B}
+ \tkzInterCC[R](A,4)(B,4) \tkzGetPoints{C}{D}
+ \tkzCompass(A,C)
+ \tkzCompass(B,C)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Use of \tkzcname{tkzSetUpCompass} with \tkzcname{tkzShowLine}}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+\tkzSetUpStyle[bisector,size=2,gap=3]{showbi}
+\tkzSetUpCompass[color=teal,line width=.3 pt]
+\tkzDefPoints{0/1/A, 8/3/B, 3/6/C}
+\tkzDrawPolygon(A,B,C)
+\tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
+\tkzDefLine[bisector](C,B,A) \tkzGetPoint{b}
+\tkzShowLine[showbi](B,A,C)
+\tkzShowLine[showbi](C,B,A)
+\tkzInterLL(A,a)(B,b) \tkzGetPoint{I}
+\tkzDefPointBy[projection= onto A--B](I)
+\tkzGetPoint{H}
+\tkzDrawCircle[radius,new](I,H)
+\tkzDrawSegments[new](I,H)
+\tkzDrawLines[add=0 and .2,new](A,I B,I)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+
+
+
+\section{Label style}
+The macro \tkzcname{tkzSetUpLabel} is used to define the style of the point labels.
+\begin{NewMacroBox}{tkzSetUpStyle}{\oarg{local options}}%
+ The options are the same as those of \TIKZ
+\end{NewMacroBox}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzSetUpLabel[font=\scriptsize,red]
+ \tkzSetUpStyle[line width=1pt,teal,<->]{XY}
+ \tkzInit[xmin=-3,xmax=3,ymin=-3,ymax=3]
+ \tkzDrawX[XY]
+ \tkzDrawY[XY]
+ \tkzDefPoints{1/0/A,0/1/B,-1/0/C,0/-1/D}
+ \tkzDrawPoints[teal,fill=teal!30,size=6](A,...,D)
+ \tkzLabelPoint[above right](A){$(1,0)$}
+ \tkzLabelPoint[above right](B){$(0,1)$}
+ \tkzLabelPoint[above left](C){$(-1,0)$}
+ \tkzLabelPoint[below left](D){$(0,-1)$}
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\section{Own style}
+You can set your own style with \tkzcname{tkzSetUpStyle}
+
+\begin{NewMacroBox}{tkzSetUpStyle}{\oarg{local options}}%
+ The options are the same as those of \TIKZ
+\end{NewMacroBox}
+
+\begin{tkzexample}[latex=2cm,small]
+\begin{tikzpicture}
+ \tkzSetUpStyle[color=blue!20!black,fill=blue!20]{mystyle}
+ \tkzDefPoint(0,0){O}
+ \tkzDefPoint(0,1){A}
+ \tkzDrawPoints(O) % general style
+ \tkzDrawPoints[mystyle,size=4](A) % my style
+ \tkzLabelPoints(O,A)
+\end{tikzpicture}
+\end{tkzexample}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
index 819b57dc77..d0d36fea4e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-tools.tex
@@ -5,6 +5,7 @@ This involves constructing a segment on a given half-line of the same length as
\begin{NewMacroBox}{tkzDuplicateSegment}{\parg{pt1,pt2}\parg{pt3,pt4}\marg{pt5}}%
This involves creating a segment on a given half-line of the same length as a given segment . It is in fact the definition of a point.
\tkzcname{tkzDuplicateSegment} is the new name of \tkzcname{tkzDuplicateLen}.
+
\medskip
\begin{tabular}{lll}%
\toprule
@@ -20,24 +21,21 @@ The macro \tkzcname{tkzDuplicateLength} is identical to this one.
\end{NewMacroBox}
\begin{tkzexample}[latex=6cm,small]
- \begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,-3){B}
- \tkzDefPoint(2,5){C}
- \tkzDrawSegments[red](A,B A,C)
- \tkzDuplicateSegment(A,B)(A,C)
- \tkzGetPoint{D}
- \tkzDrawSegment[green](A,D)
- \tkzDrawPoints[color=red](A,B,C,D)
- \tkzLabelPoints[above right=3pt](A,B,C,D)
- \end{tikzpicture}
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/A,2/-3/B,2/5/C}
+ \tkzDuplicateSegment(A,B)(A,C)
+ \tkzGetPoint{D}
+ \tkzDrawSegments[new](A,B A,C)
+ \tkzDrawSegment[teal](A,D)
+ \tkzDrawPoints[new](A,B,C,D)
+ \tkzLabelPoints[above right=3pt](A,B,C,D)
+\end{tikzpicture}
\end{tkzexample}
\subsubsection{Proportion of gold with \tkzcname{tkzDuplicateSegment}}
\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[rotate=-90,scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(10,0){B}
+\begin{tikzpicture}[rotate=-90,scale=.4]
+ \tkzDefPoints{0/0/A,10/0/B}
\tkzDefMidPoint(A,B)
\tkzGetPoint{I}
\tkzDefPointWith[orthogonal,K=-.75](B,A)
@@ -49,8 +47,33 @@ The macro \tkzcname{tkzDuplicateLength} is identical to this one.
\tkzDrawArc[orange,delta=10](A,M)(E)
\tkzDrawLines(A,B B,C A,D)
\tkzDrawArc[orange,delta=10](B,D)(I)
- \tkzDrawPoints(A,B,D,C,M,I,N)
- \tkzLabelPoints(A,B,D,C,M,I,N)
+ \tkzDrawPoints(A,B,D,C,M,I)
+ \tkzLabelPoints(A,B,D,C,M,I)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Golden triangle or sublime triangle}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/0/A,5/0/C,0/5/B}
+ \tkzDefMidPoint(A,C)\tkzGetPoint{H}
+ \tkzDuplicateSegment(H,B)(H,A)\tkzGetPoint{D}
+ \tkzDuplicateSegment(A,D)(A,B)\tkzGetPoint{E}
+ \tkzDuplicateSegment(A,D)(B,A)\tkzGetPoint{G}
+ \tkzInterCC(A,C)(B,G)\tkzGetSecondPoint{F}
+ \tkzDrawLine(A,C)
+ \tkzDrawArc(A,C)(B)
+ \begin{scope}[arc style/.style={color=gray,%
+ style=dashed}]
+ \tkzDrawArc(H,B)(D)
+ \tkzDrawArc(A,D)(B)
+ \tkzDrawArc(B,G)(F)
+ \end{scope}
+ \tkzDrawSegment[dashed](H,B)
+ \tkzCompass(B,F)
+ \tkzDrawPolygon[new](A,B,F)
+ \tkzDrawPoints(A,...,H)
+ \tkzLabelPoints(A,...,H)
\end{tikzpicture}
\end{tkzexample}
@@ -60,15 +83,16 @@ There's an option in \TIKZ\ named \tkzname{veclen}. This option
The only problem for me is that the version of \TIKZ\ is not accurate enough in some cases. My version uses the \tkzNamePack{xfp} package and is slower, but more accurate.
-\begin{NewMacroBox}{tkzCalcLength}{\oarg{local options}\parg{pt1,pt2}\marg{name of macro}}%
-The result is stored in a macro.
+\begin{NewMacroBox}{tkzCalcLength}{\oarg{local options}\parg{pt1,pt2}}%
+You can store the result with the macro \tkzcname{tkzGetLength} for example \tkzcname{tkzGetLength\{dAB\}} \\
+defines the macro \tkzcname{dAB}.
\medskip
\begin{tabular}{lll}%
\toprule
arguments & example & explication \\
\midrule
-\TAline{(pt1,pt2)\{name of macro\}} {\tkzcname{tkzCalcLength}(A,B)\{dAB\}}{\tkzcname{dAB} gives $AB$ in pt}
+\TAline{(pt1,pt2)\{name of macro\}} {\tkzcname{tkzCalcLength}[pt](A,B)}{\tkzcname{dAB} gives $AB$ in pt}
\bottomrule
\end{tabular}
@@ -80,7 +104,7 @@ Only one option
\toprule
options & default & example \\
\midrule
-\TOline{cm} {false}{\tkzcname{tkzCalcLength}[cm](A,B)\{dAB\} \tkzcname{dAB} gives $AB$ in cm}
+\TOline{cm} {true}{\tkzcname{tkzCalcLength}(A,B) After \tkzcname{tkzGetLength\{dAB\}} \tkzcname{dAB} gives $AB$ in cm}
\end{tabular}
\end{NewMacroBox}
@@ -89,13 +113,16 @@ Only one option
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1]
\tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDrawLine[add= .6 and .2](A,B)
- \tkzCalcLength[cm](A,B)\tkzGetLength{dAB}
+ \tkzCalcLength(A,B)\tkzGetLength{dAB}
\tkzDefLine[perpendicular=through A](A,B)
- \tkzDrawLine(A,tkzPointResult) \tkzGetPoint{D}
+ \tkzGetPoint{D}
+ \tkzDefPointWith[orthogonal,K=-1](B,A)
+ \tkzGetPoint{F}
+ \tkzGetPoint{C}
+ \tkzDrawLine[add= .6 and .2](A,B)
+ \tkzDrawLine(A,D)
\tkzShowLine[orthogonal=through A,gap=2](A,B)
\tkzMarkRightAngle(B,A,D)
- \tkzVecKOrth[-1](B,A)\tkzGetPoint{C}
\tkzCompasss(A,D D,C)
\tkzDrawArc[R](B,\dAB)(80,110)
\tkzDrawPoints(A,B,C,D)
@@ -105,51 +132,60 @@ Only one option
\end{tkzexample}
-\subsection{Transformation from pt to cm}
+\subsubsection{Example}
+The macro \tkzcname{tkzDefCircle[radius](A,B)} defines the radius that we retrieve with \tkzcname{tkzGetLength}, this result is in \tkzname{cm}.
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(3,-4){B}
+ \tkzDefCircle[through](A,B)
+ \tkzGetLength{rABcm}
+ \tkzDrawCircle(A,B)
+ \tkzDrawPoints(A,B)
+ \tkzLabelPoints(A,B)
+ \tkzDrawSegment[dashed](A,B)
+ \tkzLabelSegment(A,B){$\pgfmathprintnumber{\rABcm}$}
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsection{Transformation from pt to cm or cm to pt}
Not sure if this is necessary and it is only a division by 28.45274 and a multiplication by the same number. The macros are:
\begin{NewMacroBox}{tkzpttocm}{\parg{nombre}\marg{name of macro}}%
+The result is stored in a macro.
+
+\medskip
\begin{tabular}{lll}%
-arguments & example & explication \\
+\toprule
+arguments & example & explication \\
\midrule
-\TAline{(number){name of macro}} {\tkzcname{tkzpttocm}(120)\{len\}}{\tkzcname{len} gives a number of \tkzname{cm}}
+\TAline{(nombre){name of macro}} {\tkzcname{tkzpttocm}(120)\{len\}}{\tkzcname{len} donne un nombre de tkzname{cm}}
\bottomrule
\end{tabular}
\medskip
-You'll have to use \tkzcname{len} along with \tkzname{cm}. The result is stored in a macro.
+You'll have to use \tkzcname{len} along with \tkzname{cm}.
\end{NewMacroBox}
-\subsection{Transformation from cm to pt}
+\subsection{Change of unit}
\begin{NewMacroBox}{tkzcmtopt}{\parg{nombre}\marg{name of macro}}%
-\begin{tabular}{lll}%
+The result is stored in a macro.
+
+\medskip
+\begin{tabular}{lll}
+\toprule
arguments & example & explication \\
\midrule
-\TAline{(nombre)\{name of macro\}}{\tkzcname{tkzcmtopt}(5)\{len\}}{\tkzcname{len} length in \tkzname{pt}}
+\TAline{(nombre)\{name of macro\}}{\tkzcname{tkzcmtopt}(5)\{len\}}{\tkzcname{len} longueur en \tkzname{pts}}
\bottomrule
\end{tabular}
\medskip
-The result is stored in a macro. The result can be used with \tkzcname{len} \tkzname{pt}.
+\noindent{The result can be used with \tkzcname{len}\tkzname{pt}}
\end{NewMacroBox}
-\subsubsection{Example}
-The macro \tkzcname{tkzDefCircle[radius](A,B)} defines the radius that we retrieve with \tkzcname{tkzGetLength}, but this result is in \tkzname{pt}.
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,-4){B}
- \tkzDefCircle[through](A,B)
- \tkzGetLength{rABpt}
- \tkzpttocm(\rABpt){rABcm}
- \tkzDrawCircle(A,B)
- \tkzDrawPoints(A,B)
- \tkzLabelPoints(A,B)
- \tkzDrawSegment[dashed](A,B)
- \tkzLabelSegment(A,B){$\pgfmathprintnumber{\rABcm}$}
-\end{tikzpicture}
-\end{tkzexample}
\subsection{Get point coordinates}
%<--------------------------------------------------------------------------–>
@@ -176,7 +212,7 @@ Stores in two macros the coordinates of a point. If the name of the macro is \tk
\begin{tikzpicture}
\tkzInit[xmax=5,ymax=3]
\tkzGrid[sub,orange]
- \tkzAxeXY
+ \tkzDrawX \tkzDrawY
\tkzDefPoint(1,0){A}
\tkzDefPoint(4,2){B}
\tkzGetPointCoord(A){a}
@@ -201,5 +237,4 @@ Stores in two macros the coordinates of a point. If the name of the macro is \tk
\tkzDrawSegment[->,purple](b,c)
\end{tikzpicture}
\end{tkzexample}
-
-\endinput \ No newline at end of file
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex
index 038e93892c..5becdf0e2f 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex
@@ -7,12 +7,13 @@ The following macros will allow you to define or construct a triangle from \tkzn
\begin{itemize}
\item \tkzname{two angles} determines a triangle with two angles;
\item \tkzname{equilateral} determines an equilateral triangle;
+\item \tkzname{isosceles right} determines an isoxsceles right triangle;
\item \tkzname{half} determines a right-angled triangle such that the ratio of the measurements of the two adjacent sides to the right angle is equal to $2$;
\item \tkzname{pythagore} determines a right-angled triangle whose side measurements are proportional to 3, 4 and 5;
\item \tkzname{school} determines a right-angled triangle whose angles are 30, 60 and 90 degrees;
\item \tkzname{golden} determines a right-angled triangle such that the ratio of the measurements on the two adjacent sides to the right angle is equal to $\Phi=1.618034$, I chose "golden triangle" as the denomination because it comes from the golden rectangle and I kept the denomination "gold triangle" or "Euclid's triangle" for the isosceles triangle whose angles at the base are 72 degrees;
-\item \tkzname{euclide} or \tkzname{gold} for the gold triangle;
+\item \tkzname{euclid} or \tkzname{gold} for the gold triangle; in the previous version the option was "euclide" with an "e".
\item \tkzname{cheops} determines a third point such that the triangle is isosceles with side measurements proportional to $2$, $\Phi$ and $\Phi$.
\end{itemize}
@@ -26,13 +27,14 @@ The points are ordered because the triangle is constructed following the direct
options & default & definition \\
\midrule
\TOline{two angles= \#1 and \#2}{no defaut}{triangle knowing two angles}
-\TOline{equilateral} {no defaut}{equilateral triangle }
-\TOline{pythagore}{no defaut}{proportional to the pythagorean triangle 3-4-5}
-\TOline{school} {no defaut}{angles of 30, 60 and 90 degrees }
-\TOline{gold}{no defaut}{angles of 72, 72 and 36 degrees, $A$ is the apex}
-\TOline{euclide} {no defaut}{same as above but $[AB]$ is the base}
-\TOline{golden} {no defaut}{B rectangle and $AB/AC = \Phi$}
-\TOline{cheops} {no defaut}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
+\TOline{equilateral} {equilateral}{equilateral triangle }
+\TOline{isosceles right} {equilateral}{isosceles right triangle }
+\TOline{pythagore}{equilateral}{proportional to the pythagorean triangle 3-4-5}
+\TOline{school} {equilateral}{angles of 30, 60 and 90 degrees }
+\TOline{gold}{equilateral}{angles of 72, 72 and 36 degrees, $A$ is the apex}
+\TOline{euclid} {equilateral}{same as above but $[AB]$ is the base}
+\TOline{golden} {equilateral}{B rectangle and $AB/AC = \Phi$}
+\TOline{cheops} {equilateral}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
\bottomrule
\end{tabular}
@@ -40,130 +42,134 @@ options & default & definition \\
\tkzcname{tkzGetPoint} allows you to store the point otherwise \tkzname{tkzPointResult} allows for immediate use.
\end{NewMacroBox}
-\subsubsection{Option \tkzname{golden}}
+\subsubsection{Option \tkzname{two angles}}
\begin{tkzexample}[latex=6 cm,small]
-\begin{tikzpicture}[scale=.8]
-\tkzInit[xmax=5,ymax=3] \tkzClip[space=.5]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefTriangle[golden](A,B)\tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C) \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B) \tkzDrawBisector(A,C,B)
- \tkzLabelPoints[above](C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Option \tkzname{equilateral}}
-\begin{tkzexample}[latex=7 cm,small]
\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,0){B}
- \tkzDefTriangle[equilateral](A,B)
- \tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C)
- \tkzDefTriangle[equilateral](B,A)
- \tkzGetPoint{D}
- \tkzDrawPolygon(B,A,D)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(5,0){B}
+\tkzDefTriangle[two angles = 50 and 70](A,B)
+\tkzGetPoint{C}
+\tkzDrawSegment(A,B)
+\tkzDrawPoints(A,B)
+\tkzLabelPoints(A,B)
+\tkzDrawSegments[new](A,C B,C)
+\tkzDrawPoints[new](C)
+\tkzLabelPoints[above,new](C)
+\tkzLabelAngle[pos=1.4](B,A,C){$50^\circ$}
+\tkzLabelAngle[pos=0.8](C,B,A){$70^\circ$}
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{gold} or \tkzname{euclide} }
-\begin{tkzexample}[latex=7 cm,small]
+\subsubsection{Option \tkzname{school}}
+The angles are 30, 60 and 90 degrees.
+
+\begin{tkzexample}[latex=6 cm,small]
\begin{tikzpicture}
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefTriangle[euclide](A,B)\tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \tkzDrawBisector(A,C,B)
+ \tkzDefPoints{0/0/A,4/0/B}
+ \tkzDefTriangle[school](A,B)
+ \tkzGetPoint{C}
+ \tkzMarkRightAngles(C,B,A)
+ \tkzLabelAngle[pos=0.8](B,A,C){$30^\circ$}
+ \tkzLabelAngle[pos=0.8](C,B,A){$90^\circ$}
+ \tkzLabelAngle[pos=0.8](A,C,B){$60^\circ$}
+ \tkzDrawSegments(A,B)
+ \tkzDrawSegments[new](A,C B,C)
\end{tikzpicture}
\end{tkzexample}
-\newpage
-\subsection{Drawing of triangles}
- \begin{NewMacroBox}{tkzDrawTriangle}{\oarg{local options}\parg{A,B}}%
-Macro similar to the previous macro but the sides are drawn.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options & default & definition \\
-\midrule
-\TOline{two angles= \#1 and \#2}{equilateral}{triangle knowing two angles}
-\TOline{equilateral} {equilateral}{equilateral triangle }
-\TOline{pythagore}{equilateral}{proportional to the pythagorean triangle 3-4-5}
-\TOline{school} {equilateral}{the angles are 30, 60 and 90 degrees }
-\TOline{gold}{equilateral}{the angles are 72, 72 and 36 degrees, $A$ is the vertex }
-\TOline{euclide} {equilateral}{identical to the previous one but $[AB]$ is the base}
-\TOline{golden} {equilateral}{B rectangle and $AB/AC = \Phi$}
-\TOline{cheops} {equilateral}{isosceles in C and $AC/AB = \frac{\Phi}{2}$}
-\bottomrule
- \end{tabular}
-
-\medskip
-In all its definitions, the dimensions of the triangle depend on the two starting points.
-\end{NewMacroBox}
-
\subsubsection{Option \tkzname{pythagore}}
This triangle has sides whose lengths are proportional to 3, 4 and 5.
\begin{tkzexample}[latex=6 cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,0){B}
- \tkzDrawTriangle[pythagore,fill=blue!30](A,B)
- \tkzMarkRightAngles(A,B,tkzPointResult)
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/0/B}
+ \tkzDefTriangle[pythagore](A,B)
+ \tkzGetPoint{C}
+ \tkzDrawSegments(A,B)
+ \tkzDrawSegments[new](A,C B,C)
+ \tkzMarkRightAngles(A,B,C)
+ \tkzLabelPoint[above,new](C){$C$}
+ \tkzDrawPoints[new](C)
+ \tkzDrawPoints(A,B)
+ \tkzLabelPoints(A,B)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{school}}
-The angles are 30, 60 and 90 degrees.
-
+\subsubsection{Option \tkzname{golden}}
\begin{tkzexample}[latex=6 cm,small]
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDrawTriangle[school,fill=red!30](A,B)
- \tkzMarkRightAngles(tkzPointResult,B,A)
+\begin{tikzpicture}[scale=.8]
+\tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
+\tkzDefTriangle[golden](A,B)\tkzGetPoint{C}
+\tkzDefSpcTriangle[in,name=M](A,B,C){a,b,c}
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPoints(A,B)
+\tkzDrawSegment(C,Mc)
+\tkzDrawPoints[new](C)
+\tkzLabelPoints(A,B)
+\tkzLabelPoints[above,new](C)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{golden}}
-\begin{tkzexample}[latex=6 cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,-10){M}
- \tkzDefPoint(3,-10){N}
- \tkzDrawTriangle[golden,color=brown](M,N)
+\subsubsection{Option \tkzname{equilateral} and \tkzname{isosceles right}}
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(4,0){B}
+ \tkzDefTriangle[equilateral](A,B)
+ \tkzGetPoint{C}
+ \tkzDefTriangle[isosceles right](A,B)
+ \tkzGetPoint{E}
+ \tkzDrawPolygons(A,B,C A,B,E)
+ \tkzDefTriangle[equilateral](B,A)
+ \tkzGetPoint{D}
+ \tkzDrawPolygon(B,A,D)
+ \tkzMarkRightAngles(B,E,A)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B,C,D,E)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{gold}}
-\begin{tkzexample}[latex=6 cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(5,-5){I}
- \tkzDefPoint(8,-5){J}
- \tkzDrawTriangle[gold,color=blue!50](I,J)
+\subsubsection{Option \tkzname{gold} }
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/0/B}
+ \tkzDefTriangle[gold](A,B)
+ \tkzGetPoint{C}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C)
+ \tkzLabelAngle[pos=0.8](B,A,C){$36^\circ$}
+ \tkzLabelAngle[pos=0.8](C,B,A){$72^\circ$}
+ \tkzLabelAngle[pos=0.8](A,C,B){$72^\circ$}
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{euclide}}
-\begin{tkzexample}[latex=6 cm,small]
- \begin{tikzpicture}[scale=1]
- \tkzDefPoint(10,-5){K}
- \tkzDefPoint(13,-5){L}
- \tkzDrawTriangle[euclide,color=blue,fill=blue!10](K,L)
- \end{tikzpicture}
-\end{tkzexample}
+\subsubsection{Option \tkzname{euclid}}
+\tkzimp{Euclid} and \tkzimp{gold} are identical but the segment AB is a base in one and a side in the other.
+
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
+ \tkzDefTriangle[euclid](A,B)\tkzGetPoint{C}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C)
+ \tkzLabelAngle[pos=0.8](B,A,C){$72^\circ$}
+ \tkzLabelAngle[pos=0.8](C,B,A){$72^\circ$}
+ \tkzLabelAngle[pos=0.8](A,C,B){$36^\circ$}
+\end{tikzpicture}
+\end{tkzexample}
\section{Specific triangles with \tkzcname{tkzDefSpcTriangle}}
The centers of some triangles have been defined in the "points" section, here it is a question of determining the three vertices of specific triangles.
-\begin{NewMacroBox}{tkzDefSpcTriangle}{\oarg{local options}\parg{A,B,C}}
-The order of the points is important!
+\begin{NewMacroBox}{tkzDefSpcTriangle}{\oarg{local options}\parg{p1,p2,p3}\marg{r1,r2,r3}}
+The order of the points is important! p1p2p3 defines a triangle then the result is a triangle whose vertices have as reference a combination with \tkzname{name} and r1,r2, r3. If \tkzname{name} is empty then the references are r1,r2 and r3.
\medskip
@@ -171,25 +177,36 @@ The order of the points is important!
\toprule
options & default & definition \\
\midrule
-\TOline{in or incentral}{centroid}{two-angled triangle}
-\TOline{ex or excentral} {centroid}{equilateral triangle }
-\TOline{extouch}{centroid}{proportional to the pythagorean triangle 3-4-5}
-\TOline{intouch or contact} {centroid}{ 30, 60 and 90 degree angles }
-\TOline{centroid or medial}{centroid}{ angles of 72, 72 and 36 degrees, $A$ is the vertex }
-\TOline{orthic} {centroid}{same as above but $[AB]$ is the base}
-\TOline{feuerbach} {centroid}{B rectangle and $AB/AC = \Phi$}
-\TOline{euler} {centroid}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
-\TOline{tangential} {centroid}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
-\TOline{name} {no defaut}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
+\TOline{orthic} {centroid}{determined by endpoints of the altitudes ...}
+\TOline{centroid or medial}{centroid}{intersection of the triangle's three triangle medians}
+\TOline{in or incentral}{centroid}{determined with the angle bisectors}
+\TOline{ex or excentral} {centroid}{determined with the excenters}
+\TOline{extouch}{centroid}{formed by the points of tangency with the excircles}
+\TOline{intouch or contact} {centroid}{formed by the points of tangency of the incircle}
+\TOline{} {}{each of the vertices}
+\TOline{euler} {centroid}{formed by Euler points on the nine-point circle}
+\TOline{symmedial} {centroid}{intersection points of the symmedians}
+\TOline{tangential}{centroid}{formed by the lines tangent to the circumcircle}
+\TOline{feuerbach} {centroid}{formed by the points of tangency of the nine-point ...}
+\TOline{} {} {circle with the excircles}
+\TOline{name} {empty}{used to name the vertices}
\midrule
\end{tabular}
-\medskip
-\tkzcname{tkzGetPoint} allows you to store the point otherwise \tkzname{tkzPointResult} allows for immediate use.
\end{NewMacroBox}
-\subsubsection{Option \tkzname{medial} or \tkzname{centroid} }
-The geometric centroid of the polygon vertices of a triangle is the point $G$ (sometimes also denoted $M$) which is also the intersection of the triangle's three triangle medians. The point is therefore sometimes called the median point. The centroid is always in the interior of the triangle.\\
+\subsection{How to name the vertices}
+
+With \tkzcname{tkzDefSpcTriangle[medial,name=M](A,B,C)\{\_A,\_B,\_C\}} you get three vertices named $M_A$, $M_B$ and $M_C$.
+
+With \tkzcname{tkzDefSpcTriangle[medial](A,B,C)\{a,b,c\}} you get three vertices named and labeled $a$, $b$ and $c$.
+
+Possible \tkzcname{tkzDefSpcTriangle[medial,name=M\_](A,B,C)\{A,B,C\}} you get three vertices named $M_A$, $M_B$ and $M_C$.
+
+\subsection{Option \tkzname{medial} or \tkzname{centroid} }
+The geometric centroid of the polygon vertices of a triangle is the point $G$ (sometimes also denoted $M$) which is also the intersection of the triangle's three triangle medians. The point is therefore sometimes called the median point. The centroid is always in the interior of the triangle.
+\\
+
\href{http://mathworld.wolfram.com/TriangleCentroid.html}{Weisstein, Eric W. "Centroid triangle" From MathWorld--A Wolfram Web Resource.}
In the following example, we obtain the Euler circle which passes through the previously defined points.
@@ -198,24 +215,25 @@ In the following example, we obtain the Euler circle which passes through the pr
\begin{tikzpicture}[rotate=90,scale=.75]
\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
\tkzDefTriangleCenter[centroid](A,B,C)
- \tkzGetPoint{M}
+ \tkzGetPoint{M}
\tkzDefSpcTriangle[medial,name=M](A,B,C){_A,_B,_C}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawSegments[dashed,red](A,M_A B,M_B C,M_C)
- \tkzDrawPolygon[color=red](M_A,M_B,M_C)
- \tkzDrawPoints(A,B,C,M)
- \tkzDrawPoints[red](M_A,M_B,M_C)
-\tkzAutoLabelPoints[center=M,font=\scriptsize]%
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawSegments[dashed,new](A,M_A B,M_B C,M_C)
+ \tkzDrawPolygon[new](M_A,M_B,M_C)
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[new](M,M_A,M_B,M_C)
+ \tkzAutoLabelPoints[center=M,font=\scriptsize]%
(A,B,C,M_A,M_B,M_C)
\tkzLabelPoints[font=\scriptsize](M)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{in} or \tkzname{incentral} }
+\subsection{Option \tkzname{in} or \tkzname{incentral} }
The incentral triangle is the triangle whose vertices are determined by
the intersections of the reference triangle’s angle bisectors with the
-respective opposite sides.\\
+respective opposite sides.
+\\
\href{http://mathworld.wolfram.com/ContactTriangle.html}{Weisstein, Eric W. "Incentral triangle" From MathWorld--A Wolfram Web Resource.}
@@ -224,19 +242,19 @@ respective opposite sides.\\
\tkzDefPoints{ 0/0/A,5/0/B,1/3/C}
\tkzDefSpcTriangle[in,name=I](A,B,C){_a,_b,_c}
\tkzInCenter(A,B,C)\tkzGetPoint{I}
- \tkzDrawPolygon[red](A,B,C)
- \tkzDrawPolygon[blue](I_a,I_b,I_c)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[new](I_a,I_b,I_c)
\tkzDrawPoints(A,B,C,I,I_a,I_b,I_c)
\tkzDrawCircle[in](A,B,C)
- \tkzDrawSegments[dashed](A,I_a B,I_b C,I_c)
- \tkzAutoLabelPoints[center=I,
- blue,font=\scriptsize](I_a,I_b,I_c)
- \tkzAutoLabelPoints[center=I,red,
- font=\scriptsize](A,B,C,I_a,I_b,I_c)
+ \tkzDrawSegments[dashed,new](A,I_a B,I_b C,I_c)
+ \tkzAutoLabelPoints[center=I,%
+ new,font=\scriptsize](I_a,I_b,I_c)
+ \tkzAutoLabelPoints[center=I,
+ font=\scriptsize](A,B,C)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{ex} or \tkzname{excentral} }
+\subsection{Option \tkzname{ex} or \tkzname{excentral} }
The excentral triangle of a triangle $ABC$ is the triangle $J_aJ_bJ_c$ with vertices corresponding to the excenters of $ABC$.
@@ -245,33 +263,33 @@ The excentral triangle of a triangle $ABC$ is the triangle $J_aJ_bJ_c$ with vert
\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
\tkzDefSpcTriangle[excentral,name=J](A,B,C){_a,_b,_c}
\tkzDefSpcTriangle[extouch,name=T](A,B,C){_a,_b,_c}
- \tkzDrawPolygon[blue](A,B,C)
- \tkzDrawPolygon[red](J_a,J_b,J_c)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[new](J_a,J_b,J_c)
+ \tkzClipBB
\tkzDrawPoints(A,B,C)
- \tkzDrawPoints[red](J_a,J_b,J_c)
+ \tkzDrawPoints[new](J_a,J_b,J_c)
\tkzLabelPoints(A,B,C)
- \tkzLabelPoints[red](J_b,J_c)
- \tkzLabelPoints[red,above](J_a)
- \tkzClipBB \tkzShowBB
+ \tkzLabelPoints[new](J_b,J_c)
+ \tkzLabelPoints[new,above](J_a)
\tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{intouch}}
+\subsection{Option \tkzname{intouch} or \tkzname{contact}}
The contact triangle of a triangle $ABC$, also called the intouch triangle, is the triangle formed by the points of tangency of the incircle of $ABC$ with $ABC$.\\
\href{http://mathworld.wolfram.com/ContactTriangle.html}{Weisstein, Eric W. "Contact triangle" From MathWorld--A Wolfram Web Resource.}
We obtain the intersections of the bisectors with the sides.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
+ \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
\tkzDefSpcTriangle[intouch,name=X](A,B,C){_a,_b,_c}
\tkzInCenter(A,B,C)\tkzGetPoint{I}
- \tkzDrawPolygon[red](A,B,C)
- \tkzDrawPolygon[blue](X_a,X_b,X_c)
- \tkzDrawPoints[red](A,B,C)
- \tkzDrawPoints[blue](X_a,X_b,X_c)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[new](X_a,X_b,X_c)
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[new](X_a,X_b,X_c)
\tkzDrawCircle[in](A,B,C)
\tkzAutoLabelPoints[center=I,blue,font=\scriptsize]%
(X_a,X_b,X_c)
@@ -280,7 +298,7 @@ We obtain the intersections of the bisectors with the sides.
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{extouch}}
+\subsection{Option \tkzname{extouch}}
The extouch triangle $T_aT_bT_c$ is the triangle formed by the points of tangency of a triangle $ABC$ with its excircles $J_a$, $J_b$, and $J_c$. The points $T_a$, $T_b$, and $T_c$ can also be constructed as the points which bisect the perimeter of $A_1A_2A_3$ starting at $A$, $B$, and $C$.\\
\href{http://mathworld.wolfram.com/ExtouchTriangle.html}{Weisstein, Eric W. "Extouch triangle" From MathWorld--A Wolfram Web Resource.}
@@ -297,33 +315,62 @@ We obtain the points of contact of the exinscribed circles as well as the triang
\tkzGetPoint{N_a}
\tkzDefTriangleCenter[centroid](A,B,C)
\tkzGetPoint{G}
-\tkzDrawPoints[blue](J_a,J_b,J_c)
+\tkzDrawPoints[new](J_a,J_b,J_c)
\tkzClipBB \tkzShowBB
\tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
\tkzDrawLines[add=1 and 1](A,B B,C C,A)
-\tkzDrawSegments[gray](A,T_a B,T_b C,T_c)
-\tkzDrawSegments[gray](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawPolygon[blue](A,B,C)
-\tkzDrawPolygon[red](T_a,T_b,T_c)
+\tkzDrawSegments[new](A,T_a B,T_b C,T_c)
+\tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPolygon[new](T_a,T_b,T_c)
\tkzDrawPoints(A,B,C,N_a)
\tkzLabelPoints(N_a)
-\tkzAutoLabelPoints[center=Na,blue](A,B,C)
-\tkzAutoLabelPoints[center=G,red,
+\tkzAutoLabelPoints[center=N_a](A,B,C)
+\tkzAutoLabelPoints[center=G,new,
dist=.4](T_a,T_b,T_c)
\tkzMarkRightAngles[fill=gray!15](J_a,T_a,B
J_b,T_b,C J_c,T_c,A)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{feuerbach}}
+\subsection{Option \tkzname{orthic}}
+
+Given a triangle $ABC$, the triangle $H_AH_BH_C$ whose vertices are endpoints of the altitudes from each of the vertices of ABC is called the orthic triangle, or sometimes the altitude triangle. The three lines $AH_A$, $BH_B$, and $CH_C$ are concurrent at the orthocenter H of ABC.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+\tkzDefPoints{1/5/A,0/0/B,7/0/C}
+ \tkzDefSpcTriangle[orthic](A,B,C){H_A,H_B,H_C}
+ \tkzDefTriangleCenter[ortho](B,C,A)
+ \tkzGetPoint{H}
+ \tkzDefPointWith[orthogonal,normed](H_A,B)
+ \tkzGetPoint{a}
+ \tkzDrawSegments[new](A,H_A B,H_B C,H_C)
+ \tkzMarkRightAngles[fill=gray!20,
+ opacity=.5](A,H_A,C B,H_B,A C,H_C,A)
+ \tkzDrawPolygon[fill=teal!20,opacity=.3](A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[new](H_A,H_B,H_C)
+ \tkzDrawPolygon[new,fill=orange!20,
+ opacity=.3](H_A,H_B,H_C)
+ \tkzDrawPoint(a)
+ \tkzLabelPoints(C)
+ \tkzLabelPoints[left](B)
+ \tkzLabelPoints[above](A)
+ \tkzLabelPoints[new](H_A)
+ \tkzLabelPoints[new,above left](H_C)
+ \tkzLabelPoints[new,above right](H_B,H)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{feuerbach}}
The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles.\\
\href{http://mathworld.wolfram.com/FeuerbachTriangle.html}{Weisstein, Eric W. "Feuerbach triangle" From MathWorld--A Wolfram Web Resource.}
The points of tangency define the Feuerbach triangle.
-
\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale=1]
+\begin{tikzpicture}[scale=1.25]
\tkzDefPoint(0,0){A}
\tkzDefPoint(3,0){B}
\tkzDefPoint(0.5,2.5){C}
@@ -334,18 +381,20 @@ The Feuerbach triangle is the triangle formed by the three points of tangency of
name=J](A,B,C){_a,_b,_c}
\tkzDefSpcTriangle[extouch,
name=T](A,B,C){_a,_b,_c}
- \tkzDrawPoints[blue](J_a,J_b,J_c,F_a,F_b,F_c,A,B,C)
+ \tkzDrawPoints[blue](J_a,J_b,J_c,%
+ F_a,F_b,F_c,A,B,C)
\tkzClipBB \tkzShowBB
\tkzDrawCircle[purple](N,F_a)
\tkzDrawPolygon(A,B,C)
- \tkzDrawPolygon[blue](F_a,F_b,F_c)
+ \tkzDrawPolygon[new](F_a,F_b,F_c)
\tkzDrawCircles[gray](J_a,F_a J_b,F_b J_c,F_c)
\tkzAutoLabelPoints[center=N,dist=.3,
- font=\scriptsize](A,B,C,F_a,F_b,F_c,J_a,J_b,J_c)
+ font=\scriptsize](A,B,C,F_a,F_b,%
+ F_c,J_a,J_b,J_c)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{tangential}}
+\subsection{Option \tkzname{tangential}}
The tangential triangle is the triangle $T_aT_bT_c$ formed by the lines tangent to the circumcircle of a given triangle $ABC$ at its vertices. It is therefore antipedal triangle of $ABC$ with respect to the circumcenter $O$.\\
\href{http://mathworld.wolfram.com/TangentialTriangle.html}{Weisstein, Eric W. "Tangential Triangle." From MathWorld--A Wolfram Web Resource. }
@@ -355,20 +404,22 @@ The tangential triangle is the triangle $T_aT_bT_c$ formed by the lines tangent
\tkzDefPoints{0/0/A,6/0/B,1.8/4/C}
\tkzDefSpcTriangle[tangential,
name=T](A,B,C){_a,_b,_c}
- \tkzDrawPolygon[red](A,B,C)
- \tkzDrawPolygon[blue](T_a,T_b,T_c)
- \tkzDrawPoints[red](A,B,C)
- \tkzDrawPoints[blue](T_a,T_b,T_c)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[new](T_a,T_b,T_c)
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[new](T_a,T_b,T_c)
\tkzDefCircle[circum](A,B,C)
\tkzGetPoint{O}
\tkzDrawCircle(O,A)
- \tkzLabelPoints[red](A,B,C)
- \tkzLabelPoints[blue](T_a,T_b,T_c)
+ \tkzLabelPoints(A,B,C)
+ \tkzLabelPoints[new](T_a,T_b,T_c)
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{euler}}
+\subsection{Option \tkzname{euler}}
The Euler triangle of a triangle $ABC$ is the triangle $E_AE_BE_C$ whose vertices are the midpoints of the segments joining the orthocenter $H$ with the respective vertices. The vertices of the triangle are known as the Euler points, and lie on the nine-point circle.
+\\
+\href{https://mathworld.wolfram.com/EulerTriangle.html}{Weisstein, Eric W. "Euler Triangle." From MathWorld--A Wolfram Web Resource.}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[rotate=90,scale=1.25]
@@ -383,9 +434,9 @@ The Euler triangle of a triangle $ABC$ is the triangle $E_AE_BE_C$ whose vertice
\tkzDefMidPoint(C,H) \tkzGetPoint{E_C}
\tkzDefMidPoint(B,H) \tkzGetPoint{E_B}
\tkzDefSpcTriangle[ortho,name=H](A,B,C){_A,_B,_C}
- \tkzDrawPolygon[color=blue](A,B,C)
+ \tkzDrawPolygon(A,B,C)
\tkzDrawCircle(N,E_A)
- \tkzDrawSegments[blue](A,H_A B,H_B C,H_C)
+ \tkzDrawSegments[new](A,H_A B,H_B C,H_C)
\tkzDrawPoints(A,B,C,N,H)
\tkzDrawPoints[red](M_A,M_B,M_C)
\tkzDrawPoints[blue]( H_A,H_B,H_C)
@@ -395,9 +446,52 @@ The Euler triangle of a triangle $ABC$ is the triangle $E_AE_BE_C$ whose vertice
\tkzLabelPoints[font=\scriptsize](H,N)
\tkzMarkSegments[mark=s|,size=3pt,
color=blue,line width=1pt](B,E_B E_B,H)
- \tkzDrawPolygon[color=red](M_A,M_B,M_C)
+ \tkzDrawPolygon[color=cyan](M_A,M_B,M_C)
\end{tikzpicture}
\end{tkzexample}
+\subsection{Option \tkzname{euler} and Option \tkzname{orthic}}
+\begin{tkzexample}[vbox,small]
+ \begin{tikzpicture}[scale=1.25]
+ \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
+ \tkzDefSpcTriangle[euler,name=E](A,B,C){a,b,c}
+ \tkzDefSpcTriangle[orthic,name=H](A,B,C){a,b,c}
+ \tkzDefExCircle(A,B,C) \tkzGetPoint{I} \tkzGetLength{rI}
+ \tkzDefExCircle(C,A,B) \tkzGetPoint{J} \tkzGetLength{rJ}
+ \tkzDefExCircle(B,C,A) \tkzGetPoint{K} \tkzGetLength{rK}
+ \tkzDrawPoints[orange](I,J,K)
+ \tkzLabelPoints[font=\scriptsize](A,B,C,I,J,K)
+ \tkzClipBB
+ \tkzInterLC[R](I,C)(I,\rI) \tkzGetSecondPoint{Fc}
+ \tkzInterLC[R](J,B)(J,\rJ) \tkzGetSecondPoint{Fb}
+ \tkzInterLC[R](K,A)(K,\rK) \tkzGetSecondPoint{Fa}
+ \tkzDrawLines[add=1.5 and 1.5](A,B A,C B,C)
+ \tkzDrawCircle[euler,orange](A,B,C) \tkzGetPoint{E}
+ \tkzDrawSegments[orange](E,I E,J E,K)
+ \tkzDrawSegments[dashed](A,Ha B,Hb C,Hc)
+ \tkzDrawCircles[R](J,{\rJ} I,{\rI} K,{\rK})
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[orange](E,I,J,K,Ha,Hb,Hc,Ea,Eb,Ec,Fa,Fb,Fc)
+ \tkzLabelPoints[font=\scriptsize](E,Ea,Eb,Ec,Ha,Hb,Hc,Fa,Fb,Fc)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Option \tkzname{symmedial}}
+The symmedial triangle$ K_AK_BK_C$ is the triangle whose vertices are the intersection points of the symmedians with the reference triangle $ABC$.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(5,0){B}
+\tkzDefPoint(.75,4){C}
+\tkzDefTriangleCenter[symmedian](A,B,C)\tkzGetPoint{K}
+\tkzDefSpcTriangle[symmedial,name=K_](A,B,C){A,B,C}
+\tkzDrawPolygon(A,B,C)
+\tkzDrawSegments[new](A,K_A B,K_B C,K_C)
+\tkzDrawPoints(A,B,C,K,K_A,K_B,K_C)
+\tkzLabelPoints[font=\scriptsize](A,B,C,K,K_A,K_B,K_C)
+\end{tikzpicture}
+\end{tkzexample}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
new file mode 100644
index 0000000000..91d7ecba05
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/preamble-standalone.ltx b/macros/latex/contrib/tkz/tkz-euclide/examples/preamble-standalone.ltx
deleted file mode 100644
index fb3587d4f6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/preamble-standalone.ltx
+++ /dev/null
@@ -1,2 +0,0 @@
-\documentclass{standalone}
-\usepackage{tkz-euclide,tkz-fct}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.0.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.0.0.tex
deleted file mode 100644
index d14867b6e6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.0.0.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 1 (Section 1 : Presentation and Overview)
-
-\begin{tikzpicture}[scale=.25]
- \tkzDefPoints{00/0/A,12/0/B,6/12*sind(60)/C}
- \foreach \density in {20,30,...,240}{%
- \tkzDrawPolygon[fill=teal!\density](A,B,C)
- \pgfnodealias{X}{A}
- \tkzDefPointWith[linear,K=.15](A,B) \tkzGetPoint{A}
- \tkzDefPointWith[linear,K=.15](B,C) \tkzGetPoint{B}
- \tkzDefPointWith[linear,K=.15](C,X) \tkzGetPoint{C}}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.1.tex
deleted file mode 100644
index b1492bf998..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.1.tex
+++ /dev/null
@@ -1,34 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 6 (Section 1.3.1 : Example Part I: gold triangle)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){C}
- \tkzDefPoint(4,0){D}
- \tkzDefSquare(C,D)
- \tkzGetPoints{e}{f}
- \tkzDefMidPoint(C,f)
- \tkzGetPoint{m}
- \tkzInterLC(C,f)(m,e)
- \tkzGetSecondPoint{n}
- \tkzInterCC[with nodes](C,C,n)(D,C,n)
- \tkzGetFirstPoint{B}
- \tkzInterLC(C,D)(D,B) \tkzGetSecondPoint{A}
- \tkzInterLC(B,A)(B,D) \tkzGetSecondPoint{E}
- \tkzInterLL(B,D)(C,E) \tkzGetPoint{F}
- \tkzDrawPoints(C,D,B)
- \tkzDrawPolygon(B,...,D)
- \tkzDrawPolygon(B,C,D)
- \tkzDrawSegments(D,A A,B C,E)
- \tkzDrawArc[delta=10](B,C)(E)
- \tkzDrawPoints(A,...,F)
- \tkzMarkRightAngle[fill=blue!20](B,F,C)
- \tkzFillAngles[fill=blue!10](C,B,D E,A,D)
- \tkzMarkAngles(C,B,D E,A,D)
- \tkzLabelAngles[pos=1.5](C,B,D E,A,D){$\alpha$}
- \tkzLabelPoints[below](A,C,D,E)
- \tkzLabelPoints[above right](B,F)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.2.tex
deleted file mode 100644
index 50520d3395..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.2.tex
+++ /dev/null
@@ -1,32 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 8 (Section 1.3.2 : Example Part II: two others methods gold and euclide triangle)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){C} % possible
- % \tkzDefPoint[label=below:$C$](0,0){C}
- % but don't do this
- \tkzDefPoint(2,6){B}
- % We get D and E with a rotation
- \tkzDefPointBy[rotation= center B angle 36](C) \tkzGetPoint{D}
- \tkzDefPointBy[rotation= center B angle 72](C) \tkzGetPoint{E}
- % To get A we use an intersection of lines
- \tkzInterLL(B,E)(C,D) \tkzGetPoint{A}
- \tkzInterLL(C,E)(B,D) \tkzGetPoint{H}
- % drawing
- \tkzDrawArc[delta=10](B,C)(E)
- \tkzDrawPolygon(C,B,D)
- \tkzDrawSegments(D,A B,A C,E)
- % angles
- \tkzMarkAngles(C,B,D E,A,D) %this is to draw the arcs
- \tkzLabelAngles[pos=1.5](C,B,D E,A,D){$\alpha$}
- \tkzMarkRightAngle(B,H,C)
- \tkzDrawPoints(A,...,E)
- % Label only now
- \tkzLabelPoints[below left](C,A)
- \tkzLabelPoints[below right](D)
- \tkzLabelPoints[above](B,E)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.3.tex
deleted file mode 100644
index 5bf623549a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.3.3.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 10 (Section 1.3.3 : Complete but minimal example)
-
-\begin{tikzpicture}[scale=1,ra/.style={fill=gray!20}]
- % fixed points
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(1,0){I}
- % calculation
- \tkzDefPointBy[homothety=center A ratio 10 ](I) \tkzGetPoint{B}
- \tkzDefMidPoint(A,B) \tkzGetPoint{M}
- \tkzDefPointWith[orthogonal](I,M) \tkzGetPoint{H}
- \tkzInterLC(I,H)(M,B) \tkzGetSecondPoint{C}
- \tkzDrawSegment[style=orange](I,C)
- \tkzDrawArc(M,B)(A)
- \tkzDrawSegment[dim={$1$,-16pt,}](A,I)
- \tkzDrawSegment[dim={$a/2$,-10pt,}](I,M)
- \tkzDrawSegment[dim={$a/2$,-16pt,}](M,B)
- \tkzMarkRightAngle[ra](A,I,C)
- \tkzDrawPoints(I,A,B,C,M)
- \tkzLabelPoint[left](A){$A(0,0)$}
- \tkzLabelPoints[above right](I,M)
- \tkzLabelPoints[above left](C)
- \tkzLabelPoint[right](B){$B(10,0)$}
- \tkzLabelSegment[right=4pt](I,C){$\sqrt{a^2}=a \ (a>0)$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.4.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.4.0.tex
deleted file mode 100644
index 22349017df..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.4.0.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 12 (Section 1.4 : The Elements of tkz code)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/A,8/0/B}
- \foreach \tr in {equilateral,half,pythagore,%
- school,golden,euclide, gold,cheops}
- {\tkzDefTriangle[\tr](A,B) \tkzGetPoint{C}
- \tkzDrawPoint(C)
- \tkzLabelPoint[right](C){\tr}
- \tkzDrawSegments(A,C C,B)}
- \tkzDrawPoints(A,B)
- \tkzDrawSegments(A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.5.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.5.0.tex
deleted file mode 100644
index fb55d7b37c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.5.0.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 15 (Section 1.5 : Notations and conventions)
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A}
- \tkzDrawPoints(A)
- \tkzLabelPoint(A){$P$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.6.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.6.1.tex
deleted file mode 100644
index 4dbf112bf2..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-1.6.1.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 17 (Section 1.6.1 : Let's look at a classic example)
-
-\begin{tikzpicture}[scale=.5]
- % fixed points
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,2){B}
- % calculus
- \tkzInterCC(A,B)(B,A)
- \tkzGetPoints{C}{D}
- % drawings
- \tkzDrawCircles[gray,dashed](A,B B,A)
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,...,D)
- % marking
- \tkzMarkSegments[mark=s||](A,B B,C C,A)
- % labelling
- \tkzLabelSegments[swap](A,B){$c$}
- \tkzLabelPoints(A,B,D)
- \tkzLabelPoints[above](C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.1.tex
deleted file mode 100644
index 18afc7ff0b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 60 (Section 10.1.1 : Option \tkzname{colinear at})
-
-\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,3){A} \tkzDefPoint(4,2){B}
- \tkzDefPoint(0,1){C}
- \tkzDefPointWith[colinear=at C](A,B)
- \tkzGetPoint{D}
- \tkzDrawPoints[color=red](A,B,C,D)
- \tkzLabelPoints[above right=3pt](A,B,C,D)
- \tkzDrawSegments[vect](A,B C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.10.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.10.tex
deleted file mode 100644
index d4facfed58..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.10.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 69 (Section 10.1.10 : Option \tkzname{linear})
-
-\begin{tikzpicture}[scale=1.2]
- \tkzDefPoint(1,3){A} \tkzDefPoint(4,2){B}
- \tkzDefPointWith[linear,K=0.5](A,B)
- \tkzGetPoint{C}
- \tkzDrawPoints[color=red](A,B,C)
- \tkzDrawSegment(A,B)
- \tkzLabelPoints[above right=3pt](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.11.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.11.tex
deleted file mode 100644
index b3aa5fb1e1..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.11.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 70 (Section 10.1.11 : Option \tkzname{linear normed})
-
-\begin{tikzpicture}[scale=1.2]
- \tkzDefPoint(1,3){A} \tkzDefPoint(4,2){B}
- \tkzDefPointWith[linear normed](A,B)
- \tkzGetPoint{C}
- \tkzDrawPoints[color=red](A,B,C)
- \tkzDrawSegment(A,B)
- \tkzLabelSegment(A,C){$1$}
- \tkzLabelPoints[above right=3pt](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.2.tex
deleted file mode 100644
index 4ce4d6822c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.2.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 61 (Section 10.1.2 : Option \tkzname{colinear at} with $K$)
-
-\begin{tikzpicture}[vect/.style={->,
- shorten >=3pt,>=latex'}]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzDefPoint(1,2){C}
- \tkzDefPointWith[colinear=at C](A,B)
- \tkzGetPoint{G}
- \tkzDefPointWith[colinear=at C,K=0.5](A,B)
- \tkzGetPoint{H}
- \tkzLabelPoints(A,B,C,G,H)
- \tkzDrawPoints(A,B,C,G,H)
- \tkzDrawSegments[vect](A,B C,H)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.3.tex
deleted file mode 100644
index 244c6e59a6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.3.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 62 (Section 10.1.3 : Option \tkzname{colinear at} with $K=\frac{\sqrt{2}}{2}$)
-
-\begin{tikzpicture}[vect/.style={->,
- shorten >=3pt,>=latex'}]
- \tkzDefPoint(1,1){A}
- \tkzDefPoint(4,2){B}
- \tkzDefPoint(2,2){CU}
- \tkzDefPointWith[colinear=at C,K=sqrt(2)/2](A,B)
- \tkzGetPoint{D}
- \tkzDrawPoints[color=red](A,B,C,D)
- \tkzDrawSegments[vect](A,B C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.4.tex
deleted file mode 100644
index c736adac8e..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.4.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 63 (Section 10.1.4 : Option \tkzname{orthogonal})
-
-\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,3){A}
- \tkzDefPoint(4,2){B}
- \tkzDefPointWith[orthogonal,K=1](A,B)
- \tkzGetPoint{C}
- \tkzDrawPoints[color=red](A,B,C)
- \tkzLabelPoints[right=3pt](B,C)
- \tkzLabelPoints[below=3pt](A)
- \tkzDrawSegments[vect](A,B A,C)
- \tkzMarkRightAngle(B,A,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.5.tex
deleted file mode 100644
index ad47b93669..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.5.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 64 (Section 10.1.5 : Option \tkzname{orthogonal} with $K=-1$)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(1,2){O}
- \tkzDefPoint(2,5){I}
- \tkzDefPointWith[orthogonal](O,I)
- \tkzGetPoint{J}
- \tkzDefPointWith[orthogonal,K=-1](O,I)
- \tkzGetPoint{K}
- \tkzDrawSegment(O,I)
- \tkzDrawSegments[->](O,J O,K)
- \tkzMarkRightAngles(I,O,J I,O,K)
- \tkzDrawPoints(O,I,J,K)
- \tkzLabelPoints(O,I,J,K)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.6.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.6.tex
deleted file mode 100644
index adb9a6caeb..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.6.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 65 (Section 10.1.6 : Option \tkzname{orthogonal} more complicated example)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/A,6/0/B}
- \tkzDefMidPoint(A,B)
- \tkzGetPoint{I}
- \tkzDefPointWith[orthogonal,K=-.75](B,A)
- \tkzGetPoint{C}
- \tkzInterLC(B,C)(B,I)
- \tkzGetPoints{D}{F}
- \tkzDuplicateSegment(B,F)(A,F)
- \tkzGetPoint{E}
- \tkzDrawArc[delta=10](F,E)(B)
- \tkzInterLC(A,B)(A,E)
- \tkzGetPoints{N}{M}
- \tkzDrawArc[delta=10](A,M)(E)
- \tkzDrawLines(A,B B,C A,F)
- \tkzCompass(B,F)
- \tkzDrawPoints(A,B,C,F,M,E)
- \tkzLabelPoints(A,B,C,F,M,E)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.7.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.7.tex
deleted file mode 100644
index 30be510ab9..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.7.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 66 (Section 10.1.7 : Options \tkzname{colinear} and \tkzname{orthogonal})
-
-\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(6,2){B}
- \tkzDefPointWith[orthogonal,K=.5](A,B)
- \tkzGetPoint{C}
- \tkzDefPointWith[colinear=at C,K=.5](A,B)
- \tkzGetPoint{D}
- \tkzMarkRightAngle[fill=gray!20](B,A,C)
- \tkzDrawSegments[vect](A,B A,C C,D)
- \tkzDrawPoints(A,...,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.8.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.8.tex
deleted file mode 100644
index a157dfdc05..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.8.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 67 (Section 10.1.8 : Option \tkzname{orthogonal normed}, $K=1$)
-
-\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,3){A} \tkzDefPoint(4,2){B}
- \tkzDefPointWith[orthogonal normed](A,B)
- \tkzGetPoint{C}
- \tkzDrawPoints[color=red](A,B,C)
- \tkzDrawSegments[vect](A,B A,C)
- \tkzMarkRightAngle[fill=gray!20](B,A,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.9.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.9.tex
deleted file mode 100644
index 50d5a2d651..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.1.9.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 68 (Section 10.1.9 : Option \tkzname{orthogonal normed} and $K=2$)
-
-\begin{tikzpicture}[scale=1.2,
- vect/.style={->,shorten >=3pt,>=latex'}]
- \tkzDefPoint(2,3){A} \tkzDefPoint(5,1){B}
- \tkzDefPointWith[orthogonal normed,K=2](A,B)
- \tkzGetPoint{C}
- \tkzDrawPoints[color=red](A,B,C)
- \tkzDrawCircle[R](A,2cm)
- \tkzDrawSegments[vect](A,B A,C)
- \tkzMarkRightAngle[fill=gray!20](B,A,C)
- \tkzLabelPoints[above=3pt](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.2.1.tex
deleted file mode 100644
index 181ace6c64..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-10.2.1.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 71 (Section 10.2.1 : Coordinate transfer with \tkzcname{tkzGetVectxy})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,1){A}
- \tkzDefPoint(4,2){B}
- \tkzGetVectxy(A,B){v}
- \tkzDefPoint(\vx,\vy){V}
- \tkzDrawSegment[->,color=red](O,V)
- \tkzDrawSegment[->,color=blue](A,B)
- \tkzDrawPoints(A,B,O)
- \tkzLabelPoints(A,B,O,V)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.2.0.tex
deleted file mode 100644
index 2d256cb366..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.2.0.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 72 (Section 11.2 : Random point in a rectangle)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5]\tkzGrid
- \tkzDefPoints{0/0/A,2/2/B,5/5/C}
- \tkzDefRandPointOn[rectangle = A and B]
- \tkzGetPoint{a}
- \tkzDefRandPointOn[rectangle = B and C]
- \tkzGetPoint{d}
- \tkzDrawLine(a,d)
- \tkzDrawPoints(A,B,C,a,d)
- \tkzLabelPoints(A,B,C,a,d)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.3.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.3.0.tex
deleted file mode 100644
index 7be5ae33fd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.3.0.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 73 (Section 11.3 : Random point on a segment)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5] \tkzGrid
- \tkzDefPoints{0/0/A,2/2/B,3/3/C,5/5/D}
- \tkzDefRandPointOn[segment = A--B]\tkzGetPoint{a}
- \tkzDefRandPointOn[segment = C--D]\tkzGetPoint{d}
- \tkzDrawPoints(A,B,C,D,a,d)
- \tkzLabelPoints(A,B,C,D,a,d)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.0.tex
deleted file mode 100644
index 75d04187db..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.0.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 74 (Section 11.4 : Random point on a straight line)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5] \tkzGrid
- \tkzDefPoints{0/0/A,2/2/B,3/3/C,5/5/D}
- \tkzDefRandPointOn[line = A--B]\tkzGetPoint{E}
- \tkzDefRandPointOn[line = C--D]\tkzGetPoint{F}
- \tkzDrawPoints(A,...,F)
- \tkzLabelPoints(A,...,F)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.1.tex
deleted file mode 100644
index 5b3c78e4c5..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.4.1.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 75 (Section 11.4.1 : Example of random points)
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,2/2/B,-1/-1/C}
- \tkzDefCircle[through=](A,C)
- \tkzGetLength{rAC}
- \tkzDrawCircle(A,C)
- \tkzDrawCircle(A,B)
- \tkzDefRandPointOn[rectangle=A and B]
- \tkzGetPoint{a}
- \tkzDefRandPointOn[segment=A--B]
- \tkzGetPoint{b}
- \tkzDefRandPointOn[circle=center A radius \rAC pt]
- \tkzGetPoint{d}
- \tkzDefRandPointOn[circle through= center A through B]
- \tkzGetPoint{c}
- \tkzDefRandPointOn[disk through=center A through B]
- \tkzGetPoint{e}
- \tkzLabelPoints[above right=3pt](A,B,C,a,b,...,e)
- \tkzDrawPoints[](A,B,C,a,b,...,e)
- \tkzDrawRectangle(A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.0.tex
deleted file mode 100644
index 572d8a6897..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.0.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 76 (Section 11.5 : Random point on a circle)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5] \tkzGrid
- \tkzDefPoints{3/2/A,1/1/B}
- \tkzCalcLength[cm](A,B) \tkzGetLength{rAB}
- \tkzDrawCircle[R](A,\rAB cm)
- \tkzDefRandPointOn[circle = center A radius
- \rAB cm]\tkzGetPoint{a}
- \tkzDrawSegment(A,a)
- \tkzDrawPoints(A,B,a)
- \tkzLabelPoints(A,B,a)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.1.tex
deleted file mode 100644
index 0f71ebdfef..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.5.1.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 77 (Section 11.5.1 : Random example and circle of Apollonius)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,3/0/B}
- \def\coeffK{2}
- \tkzApolloniusCenter[K=\coeffK](A,B)
- \tkzGetPoint{P}
- \tkzDefApolloniusPoint[K=\coeffK](A,B)
- \tkzGetPoint{M}
- \tkzDefApolloniusRadius[K=\coeffK](A,B)
- \tkzDrawCircle[R,color = blue!50!black,
- fill=blue!20,
- opacity=.4](tkzPointResult,\tkzLengthResult pt)
- \tkzDefRandPointOn[circle through= center P through M]
- \tkzGetPoint{N}
- \tkzDrawPoints(A,B,P,M,N)
- \tkzLabelPoints(A,B,P,M,N)
- \tkzDrawSegments[red](N,A N,B)
- \tkzDrawPoints(A,B)
- \tkzDrawSegments[red](A,B)
- \tkzLabelCircle[R,draw,fill=green!10,%
- text width=3cm,%
- text centered](P,\tkzLengthResult pt-20pt)(-120)%
- { $MA/MB=\coeffK$\\$NA/NB=\coeffK$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.6.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.6.0.tex
deleted file mode 100644
index 600c61b9fe..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-11.6.0.tex
+++ /dev/null
@@ -1,32 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 78 (Section 11.6 : Middle of a compass segment)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefRandPointOn[circle= center A radius 4cm]
- \tkzGetPoint{B}
- \tkzDrawPoints(A,B)
- \tkzDefPointBy[rotation= center A angle 180](B)
- \tkzGetPoint{C}
- \tkzInterCC[R](A,4 cm)(B,4 cm)
- \tkzGetPoints{I}{I'}
- \tkzInterCC[R](A,4 cm)(I,4 cm)
- \tkzGetPoints{J}{B}
- \tkzInterCC(B,A)(C,B)
- \tkzGetPoints{D}{E}
- \tkzInterCC(D,B)(E,B)
- \tkzGetPoints{M}{M'}
- \tikzset{arc/.style={color=brown,style=dashed,delta=10}}
- \tkzDrawArc[arc](C,D)(E)
- \tkzDrawArc[arc](B,E)(D)
- \tkzDrawCircle[color=brown,line width=.2pt](A,B)
- \tkzDrawArc[arc](D,B)(M)
- \tkzDrawArc[arc](E,M)(B)
- \tkzCompasss[color=red,style=solid](B,I I,J J,C)
- \tkzDrawPoints(B,C,D,E,M)
- \tkzLabelPoints(A,B,M)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.1.tex
deleted file mode 100644
index 826cd564b5..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.1.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 79 (Section 12.1.1 : Example with \tkzname{mediator})
-
-\begin{tikzpicture}[rotate=25]
- \tkzDefPoints{-2/0/A,1/2/B}
- \tkzDefLine[mediator](A,B) \tkzGetPoints{C}{D}
- \tkzDefPointWith[linear,K=.75](C,D) \tkzGetPoint{D}
- \tkzDefMidPoint(A,B) \tkzGetPoint{I}
- \tkzFillPolygon[color=orange!30](A,C,B,D)
- \tkzDrawSegments(A,B C,D)
- \tkzMarkRightAngle(B,I,C)
- \tkzDrawSegments(D,B D,A)
- \tkzDrawSegments(C,B C,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.2.tex
deleted file mode 100644
index 39f38e0866..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.2.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 80 (Section 12.1.2 : Example with \tkzname{bisector} and \tkzname{normed})
-
-\begin{tikzpicture}[rotate=25,scale=.75]
- \tkzDefPoints{0/0/C, 2/-3/A, 4/0/B}
- \tkzDefLine[bisector,normed](B,A,C) \tkzGetPoint{a}
- \tkzDrawLines[add= 0 and .5](A,B A,C)
- \tkzShowLine[bisector,gap=4,size=2,color=red](B,A,C)
- \tkzDrawLines[blue!50,dashed,add= 0 and 3](A,a)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.3.tex
deleted file mode 100644
index 1c77634e53..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.3.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 81 (Section 12.1.3 : Example with \tkzname{orthogonal} and \tkzname{parallel})
-
-\begin{tikzpicture}
- \tkzDefPoints{-1.5/-0.25/A,1/-0.75/B,-0.7/1/C}
- \tkzDrawLine(A,B)
- \tkzLabelLine[pos=1.25,below left](A,B){$(d_1)$}
- \tkzDrawPoints(A,B,C)
- \tkzDefLine[orthogonal=through C](B,A) \tkzGetPoint{c}
- \tkzDrawLine(C,c)
- \tkzLabelLine[pos=1.25,left](C,c){$(\delta)$}
- \tkzInterLL(A,B)(C,c) \tkzGetPoint{I}
- \tkzMarkRightAngle(C,I,B)
- \tkzDefLine[parallel=through C](A,B) \tkzGetPoint{c'}
- \tkzDrawLine(C,c')
- \tkzLabelLine[pos=1.25,below left](C,c'){$(d_2)$}
- \tkzMarkRightAngle(I,C,c')
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.4.tex
deleted file mode 100644
index de3be4b2be..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.4.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 82 (Section 12.1.4 : An envelope)
-
-\begin{tikzpicture}[scale=.75]
- \tkzInit[xmin=-6,ymin=-4,xmax=6,ymax=6] % necessary
- \tkzClip
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(132:4){A}
- \tkzDefPoint(5,0){B}
- \foreach \ang in {5,10,...,360}{%
- \tkzDefPoint(\ang:5){M}
- \tkzDefLine[mediator](A,M)
- \tkzDrawLine[color=magenta,add= 3 and 3](tkzFirstPointResult,tkzSecondPointResult)}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.5.tex
deleted file mode 100644
index afa76e3561..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.1.5.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 83 (Section 12.1.5 : A parabola)
-
-\begin{tikzpicture}[scale=.75]
- \tkzInit[xmin=-6,ymin=-4,xmax=6,ymax=6]
- \tkzClip
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(132:5){A}
- \tkzDefPoint(4,0){B}
- \foreach \ang in {5,10,...,360}{%
- \tkzDefPoint(\ang:4){M}
- \tkzDefLine[mediator](A,M)
- \tkzDrawLine[color=magenta,add= 3 and 3](tkzFirstPointResult,tkzSecondPointResult)}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.1.tex
deleted file mode 100644
index 818896e6e1..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.1.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 84 (Section 12.2.1 : Example of a tangent passing through a point on the circle )
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(6,6){E}
- \tkzDefRandPointOn[circle=center O radius 3cm]
- \tkzGetPoint{A}
- \tkzDrawSegment(O,A)
- \tkzDrawCircle(O,A)
- \tkzDefTangent[at=A](O)
- \tkzGetPoint{h}
- \tkzDrawLine[add = 4 and 3](A,h)
- \tkzMarkRightAngle[fill=red!30](O,A,h)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.2.tex
deleted file mode 100644
index 27db66fd33..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.2.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 85 (Section 12.2.2 : Example of tangents passing through an external point )
-
-\begin{tikzpicture}[scale=.8]
- \tkzDefPoint(3,3){c}
- \tkzDefPoint(6,3){a0}
- \tkzRadius=1 cm
- \tkzDrawCircle[R](c,\tkzRadius)
- \foreach \an in {0,10,...,350}{
- \tkzDefPointBy[rotation=center c angle \an](a0)
- \tkzGetPoint{a}
- \tkzDefTangent[from with R = a](c,\tkzRadius)
- \tkzGetPoints{e}{f}
- \tkzDrawLines[color=magenta](a,f a,e)
- \tkzDrawSegments(c,e c,f)
- }%
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.3.tex
deleted file mode 100644
index 592f7d2347..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.3.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 86 (Section 12.2.3 : Example of Andrew Mertz)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(100:8){A}\tkzDefPoint(50:8){B}
- \tkzDefPoint(0,0){C} \tkzDefPoint(0,4){R}
- \tkzDrawCircle(C,R)
- \tkzDefTangent[from = A](C,R) \tkzGetPoints{D}{E}
- \tkzDefTangent[from = B](C,R) \tkzGetPoints{F}{G}
- \tkzDrawSector[fill=blue!80!black,opacity=0.5](A,D)(E)
- \tkzFillSector[color=red!80!black,opacity=0.5](B,F)(G)
- \tkzInterCC(A,D)(B,F) \tkzGetSecondPoint{I}
- \tkzDrawPoint[color=black](I)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.4.tex
deleted file mode 100644
index 0b7bb6747a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.4.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 87 (Section 12.2.4 : Drawing a tangent option \tkzimp{from with R} and \tkzimp{at})
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){O}
- \tkzDefRandPointOn[circle=center O radius 4cm]
- \tkzGetPoint{A}
- \tkzDefTangent[at=A](O)
- \tkzGetPoint{h}
- \tkzDrawSegments(O,A)
- \tkzDrawCircle(O,A)
- \tkzDrawLine[add = 1 and 1](A,h)
- \tkzMarkRightAngle[fill=red!30](O,A,h)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.5.tex
deleted file mode 100644
index 57c4ce4c91..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-12.2.5.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 88 (Section 12.2.5 : Drawing a tangent option \tkzimp{from})
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){B}
- \tkzDefPoint(0,8){A}
- \tkzDefSquare(A,B)
- \tkzGetPoints{C}{D}
- \tkzDrawSquare(A,B)
- \tkzClipPolygon(A,B,C,D)
- \tkzDefPoint(4,8){F}
- \tkzDefPoint(4,0){E}
- \tkzDefPoint(4,4){Q}
- \tkzFillPolygon[color = green](A,B,C,D)
- \tkzDrawCircle[fill = orange](B,A)
- \tkzDrawCircle[fill = purple](E,B)
- \tkzDefTangent[from=B](F,A)
- \tkzInterLL(F,tkzFirstPointResult)(C,D)
- \tkzInterLL(A,tkzPointResult)(F,E)
- \tkzDrawCircle[fill = yellow](tkzPointResult,Q)
- \tkzDefPointBy[projection= onto B--A](tkzPointResult)
- \tkzDrawCircle[fill = blue!50!black](tkzPointResult,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.1.tex
deleted file mode 100644
index ccbc1bffe8..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.1.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 89 (Section 13.1.1 : Examples with \tkzname{add})
-
-\begin{tikzpicture}
- \tkzInit[xmin=-2,xmax=3,ymin=-2.25,ymax=2.25]
- \tkzClip[space=.25]
- \tkzDefPoint(0,0){A} \tkzDefPoint(2,0.5){B}
- \tkzDefPoint(0,-1){C}\tkzDefPoint(2,-0.5){D}
- \tkzDefPoint(0,1){E} \tkzDefPoint(2,1.5){F}
- \tkzDefPoint(0,-2){G} \tkzDefPoint(2,-1.5){H}
- \tkzDrawLine(A,B) \tkzDrawLine[add = 0 and .5](C,D)
- \tkzDrawLine[add = 1 and 0](E,F)
- \tkzDrawLine[add = 0 and 0](G,H)
- \tkzDrawPoints(A,B,C,D,E,F,G,H)
- \tkzLabelPoints(A,B,C,D,E,F,G,H)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.2.tex
deleted file mode 100644
index 6e437bc6b1..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.2.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 90 (Section 13.1.2 : Example with \tkzcname{tkzDrawLines})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,0){B}
- \tkzDefPoint(1,2){C}
- \tkzDefPoint(3,2){D}
- \tkzDrawLines(A,B C,D A,C B,D)
- \tkzLabelPoints(A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.3.tex
deleted file mode 100644
index 09398cb87f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.3.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 91 (Section 13.1.3 : Example with the option \tkzname{add})
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(3,1){I}
- \tkzDefPoint(1,4){J}
- \tkzDefLine[bisector](I,O,J)
- \tkzGetPoint{i}
- \tkzDefLine[bisector out](I,O,J)
- \tkzGetPoint{j}
- \tkzDrawLines[add = 1 and .5,color=red](O,I O,J)
- \tkzDrawLines[add = 1 and .5,color=blue](O,i O,j)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.4.tex
deleted file mode 100644
index 01a767172b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.4.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 92 (Section 13.1.4 : Medians in a triangle)
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C)
- \tkzSetUpLine[color=blue]
- \tkzDrawLine[median](B,C,A)
- \tkzDrawLine[median](C,A,B)
- \tkzDrawLine[median](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.5.tex
deleted file mode 100644
index 8b830cd5ea..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.5.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 93 (Section 13.1.5 : Altitudes in a triangle)
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C)
- \tkzSetUpLine[color=magenta]
- \tkzDrawLine[altitude](B,C,A)
- \tkzDrawLine[altitude](C,A,B)
- \tkzDrawLine[altitude](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.6.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.6.tex
deleted file mode 100644
index 90fc2476e7..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.1.6.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 94 (Section 13.1.6 : Bisectors in a triangle)
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C)
- \tkzSetUpLine[color=purple]
- \tkzDrawLine[bisector](B,C,A)
- \tkzDrawLine[bisector](C,A,B)
- \tkzDrawLine[bisector](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.2.1.tex
deleted file mode 100644
index 5a94a09b74..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-13.2.1.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 95 (Section 13.2.1 : Example with \tkzcname{tkzLabelLine})
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,3/0/B,1/1/C}
- \tkzDefLine[perpendicular=through C,K=-1](A,B)
- \tkzGetPoint{c}
- \tkzDrawLines(A,B C,c)
- \tkzLabelLine[pos=1.25,blue,right](C,c){$(\delta)$}
- \tkzLabelLine[pos=-0.25,red,left](C,c){again $(\delta)$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.1.tex
deleted file mode 100644
index c66be7b0a6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 96 (Section 14.1.1 : Example with point references)
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,1){B}
- \tkzDrawSegment[color=red,thin](A,B)
- \tkzDrawPoints(A,B)
- \tkzLabelPoints(A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.2.tex
deleted file mode 100644
index a4f91a1f11..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.2.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 97 (Section 14.1.2 : Example of extending an segment with option \tkzname{add})
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefTriangleCenter[euler](A,B,C)
- \tkzGetPoint{E}
- \tkzDrawCircle[euler,red](A,B,C)
- \tkzDrawLines[add=.5 and .5](A,B A,C B,C)
- \tkzDrawPoints(A,B,C,E)
- \tkzLabelPoints(A,B,C,E)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.3.tex
deleted file mode 100644
index 50e0c04d63..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.1.3.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 98 (Section 14.1.3 : Example of adding dimensions with option \tkzname{dim})
-
-\begin{tikzpicture}[scale=4]
- \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,0){B}
- \tkzDefPoint(1,1){C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzCalcLength[cm](A,B)\tkzGetLength{ABl}
- \tkzCalcLength[cm](B,C)\tkzGetLength{BCl}
- \tkzCalcLength[cm](A,C)\tkzGetLength{ACl}
- \tkzDrawSegment[dim={\pgfmathprintnumber\BCl,6pt,transform shape}](C,B)
- \tkzDrawSegment[dim={\pgfmathprintnumber\ACl,6pt,transform shape}](A,C)
- \tkzDrawSegment[dim={\pgfmathprintnumber\ABl,-6pt,transform shape}](A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.0.tex
deleted file mode 100644
index 074b835878..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.0.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 99 (Section 14.2 : Drawing segments \tkzcname{tkzDrawSegments})
-
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=3,ymin=-1,ymax=2]
- \tkzClip[space=1]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,1){B}
- \tkzDefPoint(3,0){C}
- \tkzDrawSegments(A,B B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,C)
- \tkzLabelPoints[above](B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.1.tex
deleted file mode 100644
index dcb8fe001d..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.2.1.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 100 (Section 14.2.1 : Place an arrow on segment)
-
-\begin{tikzpicture}
- \tikzset{
- arr/.style={postaction=decorate,
- decoration={markings,
- mark=at position .5 with {\arrow[thick]{#1}}
- }}}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,-4){B}
- \tkzDrawSegments[arr=stealth](A,B)
- \tkzDrawPoints(A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.1.tex
deleted file mode 100644
index a093ff5385..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.1.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 101 (Section 14.3.1 : Several marks )
-
-\begin{tikzpicture}
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(6,4){B}
- \tkzDrawSegment(A,B)
- \tkzMarkSegment[color=brown,size=2pt,pos=0.4, mark=z](A,B)
- \tkzMarkSegment[color=blue,pos=0.2, mark=oo](A,B)
- \tkzMarkSegment[pos=0.8,mark=s,color=red](A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.2.tex
deleted file mode 100644
index 820cca00f5..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.3.2.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 102 (Section 14.3.2 : Use of \tkzname{mark})
-
-\begin{tikzpicture}
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(6,4){B}
- \tkzDrawSegment(A,B)
- \tkzMarkSegment[color=gray,pos=0.2,mark=s|](A,B)
- \tkzMarkSegment[color=gray,pos=0.4,mark=s||](A,B)
- \tkzMarkSegment[color=brown,pos=0.6,mark=||](A,B)
- \tkzMarkSegment[color=red,pos=0.8,mark=|||](A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.4.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.4.1.tex
deleted file mode 100644
index 03890e041b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.4.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 103 (Section 14.4.1 : Marks for an isosceles triangle)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/O,2/2/A,4/0/B,6/2/C}
- \tkzDrawSegments(O,A A,B)
- \tkzDrawPoints(O,A,B)
- \tkzDrawLine(O,B)
- \tkzMarkSegments[mark=||,size=6pt](O,A A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.0.tex
deleted file mode 100644
index eb1d6e2147..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.0.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 104 (Section 14.5 : Another marking)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){A}\tkzDefPoint(3,2){B}
- \tkzDefPoint(4,0){C}\tkzDefPoint(2.5,1){P}
- \tkzDrawPolygon(A,B,C)
- \tkzDefEquilateral(A,P) \tkzGetPoint{P'}
- \tkzDefPointsBy[rotation=center A angle 60](P,B){P',C'}
- \tkzDrawPolygon(A,P,P')
- \tkzDrawPolySeg(P',C',A,P,B)
- \tkzDrawSegment(C,P)
- \tkzDrawPoints(A,B,C,C',P,P')
- \tkzMarkSegments[mark=s|,size=6pt,
- color=blue](A,P P,P' P',A)
- \tkzMarkSegments[mark=||,color=orange](B,P P',C')
- \tkzLabelPoints(A,C) \tkzLabelPoints[below](P)
- \tkzLabelPoints[above right](P',C',B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.1.tex
deleted file mode 100644
index 8b3ca2a7b0..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.1.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 105 (Section 14.5.1 : Multiple labels)
-
-\begin{tikzpicture}
-\tkzInit
-\tkzDefPoint(0,0){A}
-\tkzDefPoint(6,0){B}
-\tkzDrawSegment(A,B)
-\tkzLabelSegment[above,pos=.8](A,B){$a$}
-\tkzLabelSegment[below,pos=.2](A,B){$4$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.2.tex
deleted file mode 100644
index 4ef89e699e..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.2.tex
+++ /dev/null
@@ -1,33 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 106 (Section 14.5.2 : Labels and right-angled triangle)
-
-\begin{tikzpicture}[rotate=-60]
-\tikzset{label seg style/.append style = {%
- color = red,
- }}
-\tkzDefPoint(0,1){A}
-\tkzDefPoint(2,4){C}
-\tkzDefPointWith[orthogonal normed,K=7](C,A)
-\tkzGetPoint{B}
-\tkzDrawPolygon[green!60!black](A,B,C)
-\tkzDrawLine[altitude,dashed,color=magenta](B,C,A)
-\tkzGetPoint{P}
-\tkzLabelPoint[left](A){$A$}
-\tkzLabelPoint[right](B){$B$}
-\tkzLabelPoint[above](C){$C$}
-\tkzLabelPoint[below](P){$P$}
-\tkzLabelSegment[](B,A){$c$}
-\tkzLabelSegment[swap](B,C){$a$}
-\tkzLabelSegment[swap](C,A){$b$}
-\tkzMarkAngles[size=1cm,
- color=cyan,mark=|](C,B,A A,C,P)
-\tkzMarkAngle[size=0.75cm,
- color=orange,mark=||](P,C,B)
-\tkzMarkAngle[size=0.75cm,
- color=orange,mark=||](B,A,C)
-\tkzMarkRightAngles[german](A,C,B B,P,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.3.tex
deleted file mode 100644
index 4369da6d46..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-14.5.3.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 107 (Section 14.5.3 : Labels for an isosceles triangle)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/O,2/2/A,4/0/B,6/2/C}
- \tkzDrawSegments(O,A A,B)
- \tkzDrawPoints(O,A,B)
- \tkzDrawLine(O,B)
- \tkzLabelSegments[color=red,above=4pt](O,A A,B){$a$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.1.tex
deleted file mode 100644
index 13d0c40f51..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.1.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 108 (Section 15.1.1 : Option \tkzname{golden})
-
-\begin{tikzpicture}[scale=.8]
-\tkzInit[xmax=5,ymax=3] \tkzClip[space=.5]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefTriangle[golden](A,B)\tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C) \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B) \tkzDrawBisector(A,C,B)
- \tkzLabelPoints[above](C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.2.tex
deleted file mode 100644
index ef87491f28..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.2.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 109 (Section 15.1.2 : Option \tkzname{equilateral})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,0){B}
- \tkzDefTriangle[equilateral](A,B)
- \tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C)
- \tkzDefTriangle[equilateral](B,A)
- \tkzGetPoint{D}
- \tkzDrawPolygon(B,A,D)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.3.tex
deleted file mode 100644
index c1179987a3..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.1.3.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 110 (Section 15.1.3 : Option \tkzname{gold} or \tkzname{euclide} )
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefTriangle[euclide](A,B)\tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \tkzDrawBisector(A,C,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.1.tex
deleted file mode 100644
index 95d14deac7..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.1.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 111 (Section 15.2.1 : Option \tkzname{pythagore})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,0){B}
- \tkzDrawTriangle[pythagore,fill=blue!30](A,B)
- \tkzMarkRightAngles(A,B,tkzPointResult)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.2.tex
deleted file mode 100644
index d67b7da0d6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.2.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 112 (Section 15.2.2 : Option \tkzname{school})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDrawTriangle[school,fill=red!30](A,B)
- \tkzMarkRightAngles(tkzPointResult,B,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.3.tex
deleted file mode 100644
index 915e82b101..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.3.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 113 (Section 15.2.3 : Option \tkzname{golden})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,-10){M}
- \tkzDefPoint(3,-10){N}
- \tkzDrawTriangle[golden,color=brown](M,N)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.4.tex
deleted file mode 100644
index 50b34ce1f4..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.4.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 114 (Section 15.2.4 : Option \tkzname{gold})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(5,-5){I}
- \tkzDefPoint(8,-5){J}
- \tkzDrawTriangle[gold,color=blue!50](I,J)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.5.tex
deleted file mode 100644
index 79ae689b25..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-15.2.5.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 115 (Section 15.2.5 : Option \tkzname{euclide})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(10,-5){K}
- \tkzDefPoint(13,-5){L}
- \tkzDrawTriangle[euclide,color=blue,fill=blue!10](K,L)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.1.tex
deleted file mode 100644
index 7caa380a62..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.1.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 116 (Section 16.0.1 : Option \tkzname{medial} or \tkzname{centroid} )
-
-\begin{tikzpicture}[rotate=90,scale=.75]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefTriangleCenter[centroid](A,B,C)
- \tkzGetPoint{M}
- \tkzDefSpcTriangle[medial,name=M](A,B,C){_A,_B,_C}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawSegments[dashed,red](A,M_A B,M_B C,M_C)
- \tkzDrawPolygon[color=red](M_A,M_B,M_C)
- \tkzDrawPoints(A,B,C,M)
- \tkzDrawPoints[red](M_A,M_B,M_C)
-\tkzAutoLabelPoints[center=M,font=\scriptsize]%
-(A,B,C,M_A,M_B,M_C)
- \tkzLabelPoints[font=\scriptsize](M)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.2.tex
deleted file mode 100644
index 5ab3d72d27..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.2.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 117 (Section 16.0.2 : Option \tkzname{in} or \tkzname{incentral} )
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{ 0/0/A,5/0/B,1/3/C}
- \tkzDefSpcTriangle[in,name=I](A,B,C){_a,_b,_c}
- \tkzInCenter(A,B,C)\tkzGetPoint{I}
- \tkzDrawPolygon[red](A,B,C)
- \tkzDrawPolygon[blue](I_a,I_b,I_c)
- \tkzDrawPoints(A,B,C,I,I_a,I_b,I_c)
- \tkzDrawCircle[in](A,B,C)
- \tkzDrawSegments[dashed](A,I_a B,I_b C,I_c)
- \tkzAutoLabelPoints[center=I,
- blue,font=\scriptsize](I_a,I_b,I_c)
- \tkzAutoLabelPoints[center=I,red,
- font=\scriptsize](A,B,C,I_a,I_b,I_c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.3.tex
deleted file mode 100644
index b6e1117422..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.3.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 118 (Section 16.0.3 : Option \tkzname{ex} or \tkzname{excentral} )
-
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefSpcTriangle[excentral,name=J](A,B,C){_a,_b,_c}
- \tkzDefSpcTriangle[extouch,name=T](A,B,C){_a,_b,_c}
- \tkzDrawPolygon[blue](A,B,C)
- \tkzDrawPolygon[red](J_a,J_b,J_c)
- \tkzDrawPoints(A,B,C)
- \tkzDrawPoints[red](J_a,J_b,J_c)
- \tkzLabelPoints(A,B,C)
- \tkzLabelPoints[red](J_b,J_c)
- \tkzLabelPoints[red,above](J_a)
- \tkzClipBB \tkzShowBB
- \tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.4.tex
deleted file mode 100644
index 3a6ffedf9a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.4.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 119 (Section 16.0.4 : Option \tkzname{intouch})
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefSpcTriangle[intouch,name=X](A,B,C){_a,_b,_c}
- \tkzInCenter(A,B,C)\tkzGetPoint{I}
- \tkzDrawPolygon[red](A,B,C)
- \tkzDrawPolygon[blue](X_a,X_b,X_c)
- \tkzDrawPoints[red](A,B,C)
- \tkzDrawPoints[blue](X_a,X_b,X_c)
- \tkzDrawCircle[in](A,B,C)
- \tkzAutoLabelPoints[center=I,blue,font=\scriptsize]%
-(X_a,X_b,X_c)
- \tkzAutoLabelPoints[center=I,red,font=\scriptsize]%
-(A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.5.tex
deleted file mode 100644
index 64101af4cd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.5.tex
+++ /dev/null
@@ -1,33 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 120 (Section 16.0.5 : Option \tkzname{extouch})
-
-\begin{tikzpicture}[scale=.7]
-\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
-\tkzDefSpcTriangle[excentral,
- name=J](A,B,C){_a,_b,_c}
-\tkzDefSpcTriangle[extouch,
- name=T](A,B,C){_a,_b,_c}
-\tkzDefTriangleCenter[nagel](A,B,C)
-\tkzGetPoint{N_a}
-\tkzDefTriangleCenter[centroid](A,B,C)
-\tkzGetPoint{G}
-\tkzDrawPoints[blue](J_a,J_b,J_c)
-\tkzClipBB \tkzShowBB
-\tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawLines[add=1 and 1](A,B B,C C,A)
-\tkzDrawSegments[gray](A,T_a B,T_b C,T_c)
-\tkzDrawSegments[gray](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawPolygon[blue](A,B,C)
-\tkzDrawPolygon[red](T_a,T_b,T_c)
-\tkzDrawPoints(A,B,C,N_a)
-\tkzLabelPoints(N_a)
-\tkzAutoLabelPoints[center=Na,blue](A,B,C)
-\tkzAutoLabelPoints[center=G,red,
- dist=.4](T_a,T_b,T_c)
-\tkzMarkRightAngles[fill=gray!15](J_a,T_a,B
- J_b,T_b,C J_c,T_c,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.6.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.6.tex
deleted file mode 100644
index 544dfe303c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.6.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 121 (Section 16.0.6 : Option \tkzname{feuerbach})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,0){B}
- \tkzDefPoint(0.5,2.5){C}
- \tkzDefCircle[euler](A,B,C) \tkzGetPoint{N}
- \tkzDefSpcTriangle[feuerbach,
- name=F](A,B,C){_a,_b,_c}
- \tkzDefSpcTriangle[excentral,
- name=J](A,B,C){_a,_b,_c}
- \tkzDefSpcTriangle[extouch,
- name=T](A,B,C){_a,_b,_c}
- \tkzDrawPoints[blue](J_a,J_b,J_c,F_a,F_b,F_c,A,B,C)
- \tkzClipBB \tkzShowBB
- \tkzDrawCircle[purple](N,F_a)
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPolygon[blue](F_a,F_b,F_c)
- \tkzDrawCircles[gray](J_a,F_a J_b,F_b J_c,F_c)
- \tkzAutoLabelPoints[center=N,dist=.3,
- font=\scriptsize](A,B,C,F_a,F_b,F_c,J_a,J_b,J_c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.7.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.7.tex
deleted file mode 100644
index 0a75442e52..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.7.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 122 (Section 16.0.7 : Option \tkzname{tangential})
-
-\begin{tikzpicture}[scale=.5,rotate=80]
- \tkzDefPoints{0/0/A,6/0/B,1.8/4/C}
- \tkzDefSpcTriangle[tangential,
- name=T](A,B,C){_a,_b,_c}
- \tkzDrawPolygon[red](A,B,C)
- \tkzDrawPolygon[blue](T_a,T_b,T_c)
- \tkzDrawPoints[red](A,B,C)
- \tkzDrawPoints[blue](T_a,T_b,T_c)
- \tkzDefCircle[circum](A,B,C)
- \tkzGetPoint{O}
- \tkzDrawCircle(O,A)
- \tkzLabelPoints[red](A,B,C)
- \tkzLabelPoints[blue](T_a,T_b,T_c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.8.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.8.tex
deleted file mode 100644
index 617b36b119..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-16.0.8.tex
+++ /dev/null
@@ -1,33 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 123 (Section 16.0.8 : Option \tkzname{euler})
-
-\begin{tikzpicture}[rotate=90,scale=1.25]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefSpcTriangle[medial,
- name=M](A,B,C){_A,_B,_C}
- \tkzDefTriangleCenter[euler](A,B,C)
- \tkzGetPoint{N} % I= N nine points
- \tkzDefTriangleCenter[ortho](A,B,C)
- \tkzGetPoint{H}
- \tkzDefMidPoint(A,H) \tkzGetPoint{E_A}
- \tkzDefMidPoint(C,H) \tkzGetPoint{E_C}
- \tkzDefMidPoint(B,H) \tkzGetPoint{E_B}
- \tkzDefSpcTriangle[ortho,name=H](A,B,C){_A,_B,_C}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawCircle(N,E_A)
- \tkzDrawSegments[blue](A,H_A B,H_B C,H_C)
- \tkzDrawPoints(A,B,C,N,H)
- \tkzDrawPoints[red](M_A,M_B,M_C)
- \tkzDrawPoints[blue]( H_A,H_B,H_C)
- \tkzDrawPoints[green](E_A,E_B,E_C)
- \tkzAutoLabelPoints[center=N,font=\scriptsize]%
-(A,B,C,M_A,M_B,M_C,H_A,H_B,H_C,E_A,E_B,E_C)
-\tkzLabelPoints[font=\scriptsize](H,N)
-\tkzMarkSegments[mark=s|,size=3pt,
- color=blue,line width=1pt](B,E_B E_B,H)
- \tkzDrawPolygon[color=red](M_A,M_B,M_C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.1.tex
deleted file mode 100644
index 13b0caf97b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 124 (Section 17.1.1 : Using \tkzcname{tkzDefSquare} with two points)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){A} \tkzDefPoint(3,0){B}
- \tkzDefSquare(A,B)
- \tkzDrawPolygon[color=red](A,B,tkzFirstPointResult,%
- tkzSecondPointResult)
- \tkzDefSquare(B,A)
- \tkzDrawPolygon[color=blue](B,A,tkzFirstPointResult,%
- tkzSecondPointResult)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.2.tex
deleted file mode 100644
index d37a9f3526..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.2.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 125 (Section 17.1.2 : Use of \tkzcname{tkzDefSquare} to obtain an isosceles right-angled triangle)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,0){B}
- \tkzDefSquare(A,B) \tkzGetFirstPoint{C}
- \tkzDrawPolygon[color=blue,fill=blue!30](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.3.tex
deleted file mode 100644
index a767a6b163..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.1.3.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 126 (Section 17.1.3 : Pythagorean Theorem and \tkzcname{tkzDefSquare} )
-
-\begin{tikzpicture}[scale=.5]
-\tkzInit
-\tkzDefPoint(0,0){C}
-\tkzDefPoint(4,0){A}
-\tkzDefPoint(0,3){B}
-\tkzDefSquare(B,A)\tkzGetPoints{E}{F}
-\tkzDefSquare(A,C)\tkzGetPoints{G}{H}
-\tkzDefSquare(C,B)\tkzGetPoints{I}{J}
-\tkzFillPolygon[fill = red!50 ](A,C,G,H)
-\tkzFillPolygon[fill = blue!50 ](C,B,I,J)
-\tkzFillPolygon[fill = purple!50](B,A,E,F)
-\tkzFillPolygon[fill = orange,opacity=.5](A,B,C)
-\tkzDrawPolygon[line width = 1pt](A,B,C)
-\tkzDrawPolygon[line width = 1pt](A,C,G,H)
-\tkzDrawPolygon[line width = 1pt](C,B,I,J)
-\tkzDrawPolygon[line width = 1pt](B,A,E,F)
-\tkzLabelSegment[](A,C){$a$}
-\tkzLabelSegment[](C,B){$b$}
-\tkzLabelSegment[swap](A,B){$c$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.1.tex
deleted file mode 100644
index 90e118091e..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 138 (Section 17.10.1 : Option \tkzname{center})
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/P0,0/0/Q0,2/0/P1}
- \tkzDefMidPoint(P0,P1) \tkzGetPoint{Q1}
- \tkzDefRegPolygon[center,sides=7](P0,P1)
- \tkzDefMidPoint(P1,P2) \tkzGetPoint{Q1}
- \tkzDefRegPolygon[center,sides=7,name=Q](P0,Q1)
- \tkzDrawPolygon(P1,P...,P7)
- \tkzFillPolygon[gray!20](Q0,Q1,P2,Q2)
- \foreach \j in {1,...,7} {\tkzDrawSegment[black](P0,Q\j)}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.2.tex
deleted file mode 100644
index d5b28de5c8..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.10.2.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 139 (Section 17.10.2 : Option \tkzname{side})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{-4/0/A, -1/0/B}
- \tkzDefRegPolygon[side,sides=5,name=P](A,B)
- \tkzDrawPolygon[thick](P1,P...,P5)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.1.tex
deleted file mode 100644
index ac26e93d44..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 127 (Section 17.3.1 : Example of a parallelogram definition)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,3/0/B,4/2/C}
- \tkzDefParallelogram(A,B,C)
- \tkzGetPoint{D}
- \tkzDrawPolygon(A,B,C,D)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above right](C,D)
- \tkzDrawPoints(A,...,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.2.tex
deleted file mode 100644
index 4810df86fe..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.2.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 128 (Section 17.3.2 : Simple example)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,3/0/B,4/2/C}
- \tkzDefPointWith[colinear= at C](B,A)
- \tkzGetPoint{D}
- \tkzDrawPolygon(A,B,C,D)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above right](C,D)
- \tkzDrawPoints(A,...,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.3.tex
deleted file mode 100644
index f1562f4e6b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.3.3.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 129 (Section 17.3.3 : Construction of the golden rectangle )
-
-\begin{tikzpicture}[scale=.5]
- \tkzInit[xmax=14,ymax=10]
- \tkzClip[space=1]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(8,0){B}
- \tkzDefMidPoint(A,B)\tkzGetPoint{I}
- \tkzDefSquare(A,B)\tkzGetPoints{C}{D}
- \tkzDrawSquare(A,B)
- \tkzInterLC(A,B)(I,C)\tkzGetPoints{G}{E}
- \tkzDrawArc[style=dashed,color=gray](I,E)(D)
- \tkzDefPointWith[colinear= at C](E,B)
- \tkzGetPoint{F}
- \tkzDrawPoints(C,D,E,F)
- \tkzLabelPoints(A,B,C,D,E,F)
- \tkzDrawSegments[style=dashed,color=gray]%
-(E,F C,F B,E)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.4.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.4.1.tex
deleted file mode 100644
index 2a743b99cb..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.4.1.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 130 (Section 17.4.1 : The idea is to inscribe two squares in a semi-circle.)
-
-\begin{tikzpicture}[scale=.75]
- \tkzInit[ymax=8,xmax=8]
- \tkzClip[space=.25] \tkzDefPoint(0,0){A}
- \tkzDefPoint(8,0){B} \tkzDefPoint(4,0){I}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzInterLC(I,C)(I,B) \tkzGetPoints{E'}{E}
- \tkzInterLC(I,D)(I,B) \tkzGetPoints{F'}{F}
- \tkzDefPointsBy[projection=onto A--B](E,F){H,G}
- \tkzDefPointsBy[symmetry = center H](I){J}
- \tkzDefSquare(H,J) \tkzGetPoints{K}{L}
- \tkzDrawSector[fill=yellow](I,B)(A)
- \tkzFillPolygon[color=red!40](H,E,F,G)
- \tkzFillPolygon[color=blue!40](H,J,K,L)
- \tkzDrawPolySeg[color=red](H,E,F,G)
- \tkzDrawPolySeg[color=red](J,K,L)
- \tkzDrawPoints(E,G,H,F,J,K,L)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.5.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.5.1.tex
deleted file mode 100644
index 0116bad5b2..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.5.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 131 (Section 17.5.1 : Golden Rectangles)
-
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B}
- \tkzDefGoldRectangle(A,B) \tkzGetPoints{C}{D}
- \tkzDefGoldRectangle(B,C) \tkzGetPoints{E}{F}
- \tkzDrawPolygon[color=red,fill=red!20](A,B,C,D)
- \tkzDrawPolygon[color=blue,fill=blue!20](B,C,E,F)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.6.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.6.1.tex
deleted file mode 100644
index b1cb949fdc..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.6.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 132 (Section 17.6.1 : \tkzcname{tkzDrawPolygon})
-
-\begin{tikzpicture} [rotate=18,scale=1.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2.25,0.2){B}
- \tkzDefPoint(2.5,2.75){C}
- \tkzDefPoint(-0.75,2){D}
- \tkzDrawPolygon[fill=black!50!blue!20!](A,B,C,D)
- \tkzDrawSegments[style=dashed](A,C B,D)
-
-\end{tikzpicture}\end{tkzexample}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.1.tex
deleted file mode 100644
index 489e47e509..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.1.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 133 (Section 17.7.1 : Polygonal chain)
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,6/0/B,3/4/C,2/2/D}
- \tkzDrawPolySeg(A,...,D)
- \tkzDrawPoints(A,...,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.2.tex
deleted file mode 100644
index b06fc7e181..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.7.2.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 134 (Section 17.7.2 : Polygonal chain: index notation)
-
-\begin{tikzpicture}
-\foreach \pt in {1,2,...,8} {%
-\tkzDefPoint(\pt*20:3){P_\pt}}
-\tkzDrawPolySeg(P_1,P_...,P_8)
-\tkzDrawPoints(P_1,P_...,P_8)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.1.tex
deleted file mode 100644
index 3a4d146696..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 135 (Section 17.8.1 : \tkzcname{tkzClipPolygon})
-
-\begin{tikzpicture}[scale=1.25]
- \tkzInit[xmin=0,xmax=4,ymin=0,ymax=3]
- \tkzClip[space=.5]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C)
- \tkzDefPoint(0,2){D} \tkzDefPoint(2,0){E}
- \tkzDrawPoints(D,E) \tkzLabelPoints(D,E)
- \tkzClipPolygon(A,B,C)
- \tkzDrawLine[color=red](D,E)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.2.tex
deleted file mode 100644
index e16ea98e90..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.8.2.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 136 (Section 17.8.2 : Example: use of "Clip" for Sangaku in a square)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzDrawPolygon(B,C,D,A)
- \tkzClipPolygon(B,C,D,A)
- \tkzDefPoint(4,8){F}
- \tkzDefTriangle[equilateral](C,D)
- \tkzGetPoint{I}
- \tkzDrawPoint(I)
- \tkzDefPointBy[projection=onto B--C](I)
- \tkzGetPoint{J}
- \tkzInterLL(D,B)(I,J) \tkzGetPoint{K}
- \tkzDefPointBy[symmetry=center K](B)
- \tkzGetPoint{M}
- \tkzDrawCircle(M,I)
- \tkzCalcLength(M,I) \tkzGetLength{dMI}
- \tkzFillPolygon[color = orange](A,B,C,D)
- \tkzFillCircle[R,color = yellow](M,\dMI pt)
- \tkzFillCircle[R,color = blue!50!black](F,4 cm)%
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.9.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.9.1.tex
deleted file mode 100644
index 97a1e650f1..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-17.9.1.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 137 (Section 17.9.1 : \tkzcname{tkzFillPolygon})
-
-\begin{tikzpicture}[scale=0.7]
-\tkzInit[xmin=-3,xmax=6,ymin=-1,ymax=6]
-\tkzDrawX[noticks]
-\tkzDrawY[noticks]
-\tkzDefPoint(0,0){O} \tkzDefPoint(4,2){A}
-\tkzDefPoint(-2,6){B}
-\tkzPointShowCoord[xlabel=$x$,ylabel=$y$](A)
-\tkzPointShowCoord[xlabel=$x'$,ylabel=$y'$,%
- ystyle={right=2pt}](B)
-\tkzDrawSegments[->](O,A O,B)
-\tkzLabelSegment[above=3pt](O,A){$\vec{u}$}
-\tkzLabelSegment[above=3pt](O,B){$\vec{v}$}
-\tkzMarkAngle[fill= yellow,size=1.8cm,%
- opacity=.5](A,O,B)
-\tkzFillPolygon[red!30,opacity=0.25](A,B,O)
-\tkzLabelAngle[pos = 1.5](A,O,B){$\alpha$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.1.tex
deleted file mode 100644
index 942deb276d..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.1.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 140 (Section 18.1.1 : Example with a random point and option \tkzname{through})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,4){A}
- \tkzDefPoint(2,2){B}
- \tkzDefMidPoint(A,B) \tkzGetPoint{I}
- \tkzDefRandPointOn[segment = I--B]
- \tkzGetPoint{C}
- \tkzDefCircle[through](A,C)
- \tkzGetLength{rACpt}
- \tkzpttocm(\rACpt){rACcm}
- \tkzDrawCircle(A,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
- \tkzLabelCircle[draw,fill=orange,
- text width=3cm,text centered,
- font=\scriptsize](A,C)(-90)%
- {The radius measurement is:
- \rACpt pt i.e. \rACcm cm}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.10.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.10.tex
deleted file mode 100644
index a28c539346..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.10.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 149 (Section 18.1.10 : Orthogonal circle of given center)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/O,1/0/A}
- \tkzDefPoints{1.5/1.25/B,-2/-3/C}
- \tkzDefCircle[orthogonal from=B](O,A)
- \tkzGetPoints{z1}{z2}
- \tkzDefCircle[orthogonal from=C](O,A)
- \tkzGetPoints{t1}{t2}
- \tkzDrawCircle(O,A)
- \tkzDrawCircle[thick,color=red](B,z1)
- \tkzDrawCircle[thick,color=red](C,t1)
- \tkzDrawPoints(t1,t2,C)
- \tkzDrawPoints(z1,z2,O,A,B)
- \tkzLabelPoints(O,A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.2.tex
deleted file mode 100644
index 902c9febe2..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.2.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 141 (Section 18.1.2 : Example with option \tkzname{diameter})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,2){B}
- \tkzDefCircle[diameter](A,B)
- \tkzGetPoint{O}
- \tkzDrawCircle[blue,fill=blue!20](O,B)
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,B,O)
- \tkzLabelPoints(A,B,O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.3.tex
deleted file mode 100644
index ca0f59c3a7..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.3.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 142 (Section 18.1.3 : Circles inscribed and circumscribed for a given triangle)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(2,2){A}
- \tkzDefPoint(5,-2){B}
- \tkzDefPoint(1,-2){C}
- \tkzDefCircle[in](A,B,C)
- \tkzGetPoint{I} \tkzGetLength{rIN}
- \tkzDefCircle[circum](A,B,C)
- \tkzGetPoint{K} \tkzGetLength{rCI}
- \tkzDrawPoints(A,B,C,I,K)
- \tkzDrawCircle[R,blue](I,\rIN pt)
- \tkzDrawCircle[R,red](K,\rCI pt)
- \tkzLabelPoints[below](B,C)
- \tkzLabelPoints[above left](A,I,K)
- \tkzDrawPolygon(A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.4.tex
deleted file mode 100644
index 866f0be0cd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.4.tex
+++ /dev/null
@@ -1,32 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 143 (Section 18.1.4 : Example with option \tkzname{ex})
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{ 0/0/A,4/0/B,0.8/4/C}
- \tkzDefCircle[ex](B,C,A)
- \tkzGetPoint{J_c} \tkzGetLength{rc}
- \tkzDefPointBy[projection=onto A--C ](J_c)
- \tkzGetPoint{X_c}
- \tkzDefPointBy[projection=onto A--B ](J_c)
- \tkzGetPoint{Y_c}
- \tkzGetPoint{I}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawCircle[R,color=lightgray](J_c,\rc pt)
- % possible \tkzDrawCircle[ex](A,B,C)
- \tkzDrawCircle[in,color=red](A,B,C) \tkzGetPoint{I}
- \tkzDefPointBy[projection=onto A--C ](I)
- \tkzGetPoint{F}
- \tkzDefPointBy[projection=onto A--B ](I)
- \tkzGetPoint{D}
- \tkzDrawLines[add=0 and 2.2,dashed](C,A C,B)
- \tkzDrawSegments[dashed](J_c,X_c I,D I,F J_c,Y_c)
- \tkzMarkRightAngles(A,F,I B,D,I J_c,X_c,A J_c,Y_c,B)
- \tkzDrawPoints(B,C,A,I,D,F,X_c,J_c,Y_c)
- \tkzLabelPoints(B,A,J_c,I,D,X_c,Y_c)
- \tkzLabelPoints[above left](C)
- \tkzLabelPoints[left](F)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.5.tex
deleted file mode 100644
index d88b2286dd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.5.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 144 (Section 18.1.5 : Euler's circle for a given triangle with option \tkzname{euler})
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(5,3.5){A}
- \tkzDefPoint(0,0){B} \tkzDefPoint(7,0){C}
- \tkzDefCircle[euler](A,B,C)
- \tkzGetPoint{E} \tkzGetLength{rEuler}
- \tkzDefSpcTriangle[medial](A,B,C){M_a,M_b,M_c}
- \tkzDrawPoints(A,B,C,E,M_a,M_b,M_c)
- \tkzDrawCircle[R,blue](E,\rEuler pt)
- \tkzDrawPolygon(A,B,C)
- \tkzLabelPoints[below](B,C)
- \tkzLabelPoints[left](A,E)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.6.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.6.tex
deleted file mode 100644
index 52fea9194b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.6.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 145 (Section 18.1.6 : Apollonius circles for a given segment option \tkzname{apollonius})
-
-\begin{tikzpicture}[scale=0.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,0){B}
- \tkzDefCircle[apollonius,K=2](A,B)
- \tkzGetPoint{K1}
- \tkzGetLength{rAp}
- \tkzDrawCircle[R,color = blue!50!black,
- fill=blue!20,opacity=.4](K1,\rAp pt)
- \tkzDefCircle[apollonius,K=3](A,B)
- \tkzGetPoint{K2} \tkzGetLength{rAp}
- \tkzDrawCircle[R,color=red!50!black,
- fill=red!20,opacity=.4](K2,\rAp pt)
- \tkzLabelPoints[below](A,B,K1,K2)
- \tkzDrawPoints(A,B,K1,K2)
- \tkzDrawLine[add=.2 and 1](A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.7.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.7.tex
deleted file mode 100644
index 6569fd7e1f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.7.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 146 (Section 18.1.7 : Circles exinscribed to a given triangle option \tkzname{ex})
-
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,0){B}
- \tkzDefPoint(1,2.5){C}
- \tkzDefCircle[ex](A,B,C) \tkzGetPoint{I}
- \tkzGetLength{rI}
- \tkzDefCircle[ex](C,A,B) \tkzGetPoint{J}
- \tkzGetLength{rJ}
- \tkzDefCircle[ex](B,C,A) \tkzGetPoint{K}
- \tkzGetLength{rK}
- \tkzDefCircle[in](B,C,A) \tkzGetPoint{O}
- \tkzGetLength{rO}
- \tkzDrawLines[add=1.5 and 1.5](A,B A,C B,C)
- \tkzDrawPoints(I,J,K)
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPolygon[dashed](I,J,K)
- \tkzDrawCircle[R,blue!50!black](O,\rO)
- \tkzDrawSegments[dashed](A,K B,J C,I)
- \tkzDrawPoints(A,B,C)
- \tkzDrawCircles[R](J,{\rJ} I,{\rI} K,{\rK})
- \tkzLabelPoints(A,B,C,I,J,K)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.8.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.8.tex
deleted file mode 100644
index f228a2c82b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.8.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 147 (Section 18.1.8 : Spieker circle with option \tkzname{spieker})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{ 0/0/A,4/0/B,0.8/4/C}
- \tkzDefSpcTriangle[medial](A,B,C){M_a,M_b,M_c}
- \tkzDefTriangleCenter[spieker](A,B,C)
- \tkzGetPoint{S_p}
- \tkzDrawPolygon[blue](A,B,C)
- \tkzDrawPolygon[red](M_a,M_b,M_c)
- \tkzDrawPoints[blue](B,C,A)
- \tkzDrawPoints[red](M_a,M_b,M_c,S_p)
- \tkzDrawCircle[in,red](M_a,M_b,M_c)
- \tkzAutoLabelPoints[center=S_p,dist=.3](M_a,M_b,M_c)
- \tkzLabelPoints[blue,right](S_p)
- \tkzAutoLabelPoints[center=S_p](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.9.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.9.tex
deleted file mode 100644
index ae4560dbd4..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-18.1.9.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 148 (Section 18.1.9 : Orthogonal circle passing through two given points, option \tkzname{orthogonal through})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,0){A}
- \tkzDrawCircle(O,A)
- \tkzDefPoint(-1.5,-1.5){z1}
- \tkzDefPoint(1.5,-1.25){z2}
- \tkzDefCircle[orthogonal through=z1 and z2](O,A)
- \tkzGetPoint{c}
- \tkzDrawCircle[thick,color=red](tkzPointResult,z1)
- \tkzDrawPoints[fill=red,color=black,
- size=4](O,A,z1,z2,c)
- \tkzLabelPoints(O,A,z1,z2,c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.1.1.tex
deleted file mode 100644
index 2c15cf0d30..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.1.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 150 (Section 19.1.1 : Circles and styles, draw a circle and color the disc)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(3,0){A}
- \tkzDrawCircle[color=blue](O,A)
- \tkzDrawCircle[diameter,color=red,%
- line width=2pt,fill=red!40,%
- opacity=.5](O,A)
- \edef\rayon{\fpeval{0.25*exp(1)}}
- \tkzDrawCircle[R,color=orange](O,\rayon cm)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.1.tex
deleted file mode 100644
index 118dc56778..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 151 (Section 19.2.1 : Circles defined by a triangle.)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,0){B}
- \tkzDefPoint(3,2){C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles(A,B B,C C,A)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.2.tex
deleted file mode 100644
index 58e454bedb..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.2.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 152 (Section 19.2.2 : Concentric circles.)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDrawCircles[R](A,1cm A,2cm A,3cm)
- \tkzDrawPoint(A)
- \tkzLabelPoints(A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.3.tex
deleted file mode 100644
index 6524868899..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.3.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 153 (Section 19.2.3 : Exinscribed circles.)
-
-\begin{tikzpicture}[scale=1]
-\tkzDefPoints{0/0/A,4/0/B,1/2.5/C}
-\tkzDrawPolygon(A,B,C)
-\tkzDefCircle[ex](B,C,A)
-\tkzGetPoint{J_c} \tkzGetSecondPoint{T_c}
-\tkzGetLength{rJc}
-\tkzDrawCircle[R](J_c,{\rJc pt})
-\tkzDrawLines[add=0 and 1](C,A C,B)
-\tkzDrawSegment(J_c,T_c)
-\tkzMarkRightAngle(J_c,T_c,B)
-\tkzDrawPoints(A,B,C,J_c,T_c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.4.tex
deleted file mode 100644
index 3f9892ed96..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.2.4.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 154 (Section 19.2.4 : Cardioid)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,0){A}
- \foreach \ang in {5,10,...,360}{%
- \tkzDefPoint(\ang:2){M}
- \tkzDrawCircle(M,A)
- }
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.3.1.tex
deleted file mode 100644
index c0c88b0874..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.3.1.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 155 (Section 19.3.1 : Use of \tkzcname{tkzDrawSemiCircle})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A} \tkzDefPoint(6,0){B}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzDrawPolygon(B,C,D,A)
- \tkzDefPoint(3,6){F}
- \tkzDefTriangle[equilateral](C,D) \tkzGetPoint{I}
- \tkzDefPointBy[projection=onto B--C](I) \tkzGetPoint{J}
- \tkzInterLL(D,B)(I,J) \tkzGetPoint{K}
- \tkzDefPointBy[symmetry=center K](B) \tkzGetPoint{M}
- \tkzDrawCircle(M,I)
- \tkzCalcLength(M,I) \tkzGetLength{dMI}
- \tkzFillPolygon[color = red!50](A,B,C,D)
- \tkzFillCircle[R,color = yellow](M,\dMI pt)
- \tkzDrawSemiCircle[fill = blue!50!black](F,D)%
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.4.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.4.1.tex
deleted file mode 100644
index 4f7b6999c5..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.4.1.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 156 (Section 19.4.1 : Example from a sangaku)
-
-\begin{tikzpicture}
- \tkzInit[xmin=0,xmax = 6,ymin=0,ymax=6]
- \tkzDefPoint(0,0){B} \tkzDefPoint(6,0){C}%
- \tkzDefSquare(B,C) \tkzGetPoints{D}{A}
- \tkzClipPolygon(B,C,D,A)
- \tkzDefMidPoint(A,D) \tkzGetPoint{F}
- \tkzDefMidPoint(B,C) \tkzGetPoint{E}
- \tkzDefMidPoint(B,D) \tkzGetPoint{Q}
- \tkzDefTangent[from = B](F,A) \tkzGetPoints{G}{H}
- \tkzInterLL(F,G)(C,D) \tkzGetPoint{J}
- \tkzInterLL(A,J)(F,E) \tkzGetPoint{K}
- \tkzDefPointBy[projection=onto B--A](K)
- \tkzGetPoint{M}
- \tkzFillPolygon[color = green](A,B,C,D)
- \tkzFillCircle[color = orange](B,A)
- \tkzFillCircle[color = blue!50!black](M,A)
- \tkzFillCircle[color = purple](E,B)
- \tkzFillCircle[color = yellow](K,Q)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.5.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.5.1.tex
deleted file mode 100644
index 14a93fc7b7..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.5.1.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 157 (Section 19.5.1 : Example)
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5]
- \tkzGrid \tkzClip
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,2){O}
- \tkzDefPoint(4,4){B}
- \tkzDefPoint(6,6){C}
- \tkzDrawPoints(O,A,B,C)
- \tkzLabelPoints(O,A,B,C)
- \tkzDrawCircle(O,A)
- \tkzClipCircle(O,A)
- \tkzDrawLine(A,C)
- \tkzDrawCircle[fill=red!20,opacity=.5](C,O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.6.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.6.1.tex
deleted file mode 100644
index 7ff97754d8..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-19.6.1.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 158 (Section 19.6.1 : Example)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O} \tkzDefPoint(2,0){N}
- \tkzDefPointBy[rotation=center O angle 50](N)
- \tkzGetPoint{M}
- \tkzDefPointBy[rotation=center O angle -20](N)
- \tkzGetPoint{P}
- \tkzDefPointBy[rotation=center O angle 125](N)
- \tkzGetPoint{P'}
- \tkzLabelCircle[above=4pt](O,N)(120){$\mathcal{C}$}
- \tkzDrawCircle(O,M)
- \tkzFillCircle[color=blue!20,opacity=.4](O,M)
- \tkzLabelCircle[R,draw,fill=orange,%
- text width=2cm,text centered](O,3 cm)(-60)%
- {The circle\\ $\mathcal{C}$}
- \tkzDrawPoints(M,P)\tkzLabelPoints[right](M,P)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.1.1.tex
deleted file mode 100644
index c691e75cb7..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.1.1.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 159 (Section 20.1.1 : Example of intersection between two straight lines)
-
-\begin{tikzpicture}[rotate=-45,scale=.75]
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(6,5){B}
- \tkzDefPoint(3,6){C}
- \tkzDefPoint(5,2){D}
- \tkzDrawLines(A,B C,D)
- \tkzInterLL(A,B)(C,D)
- \tkzGetPoint{I}
- \tkzDrawPoints[color=blue](A,B,C,D)
- \tkzDrawPoint[color=red](I)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.1.tex
deleted file mode 100644
index 73da7dcf98..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.1.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 160 (Section 20.2.1 : Simple example of a line-circle intersection)
-
-\begin{tikzpicture}[scale=.75]
- \tkzInit[xmax=5,ymax=4]
- \tkzDefPoint(1,1){O}
- \tkzDefPoint(0,4){A}
- \tkzDefPoint(5,0){B}
- \tkzDefPoint(3,3){C}
- \tkzInterLC(A,B)(O,C) \tkzGetPoints{D}{E}
- \tkzDrawCircle(O,C)
- \tkzDrawPoints[color=blue](O,A,B,C)
- \tkzDrawPoints[color=red](D,E)
- \tkzDrawLine(A,B)
- \tkzLabelPoints[above right](O,A,B,C,D,E)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.2.tex
deleted file mode 100644
index d54ae9432b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.2.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 161 (Section 20.2.2 : More complex example of a line-circle intersection)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(8,0){B}
- \tkzDefMidPoint(A,B)
- \tkzGetPoint{O}
- \tkzDrawCircle(O,B)
- \tkzDefMidPoint(O,B)
- \tkzGetPoint{O'}
- \tkzDrawCircle(O',B)
- \tkzDefTangent[from=A](O',B)
- \tkzGetSecondPoint{E}
- \tkzInterLC(A,E)(O,B)
- \tkzGetSecondPoint{D}
- \tkzDefPointBy[projection=onto A--B](D)
- \tkzGetPoint{F}
- \tkzMarkRightAngle(D,F,B)
- \tkzDrawSegments(A,D A,B D,F)
- \tkzDrawSegments[color=red,line width=1pt,
- opacity=.4](A,O F,B)
- \tkzDrawPoints(A,B,O,O',E,D)
- \tkzLabelPoints(A,B,O,O',E,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.3.tex
deleted file mode 100644
index 6743c5fe38..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.3.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 162 (Section 20.2.3 : Circle defined by a center and a measure, and special cases)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,8){A} \tkzDefPoint(8,0){B}
- \tkzDefPoint(8,8){C} \tkzDefPoint(4,4){I}
- \tkzDefPoint(2,7){E} \tkzDefPoint(6,4){F}
- \tkzDrawCircle[R](I,4 cm)
- \tkzInterLC[R](A,C)(I,4 cm) \tkzGetPoints{I1}{I2}
- \tkzInterLC[R](B,C)(I,4 cm) \tkzGetPoints{J1}{J2}
- \tkzInterLC[R](A,B)(I,4 cm) \tkzGetPoints{K1}{K2}
- \tkzDrawPoints[color=red](I1,J1,K1,K2)
- \tkzDrawLines(A,B B,C A,C)
- \tkzInterLC[R](E,F)(I,4 cm) \tkzGetPoints{I2}{J2}
- \tkzDrawPoints[color=blue](E,F)
- \tkzDrawPoints[color=red](I2,J2)
- \tkzDrawLine(I2,J2)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.4.tex
deleted file mode 100644
index b6227cd8c2..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.4.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 163 (Section 20.2.4 : More complex example)
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,1){J}
- \tkzDefPoint(0,0){O}
- \tkzDrawArc[R,line width=1pt,color=red](J,2.5 cm)(180,0)
- \foreach \i in {0,-5,-10,...,-85,-90}{
- \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P}
- \tkzDrawSegment[color=orange](J,P)
- \tkzInterLC[R](P,J)(O,1 cm)
- \tkzGetPoints{M}{N}
- \tkzDrawPoints[red](N)
- }
- \foreach \i in {-90,-95,...,-175,-180}{
- \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P}
- \tkzDrawSegment[color=orange](J,P)
- \tkzInterLC[R](P,J)(O,1 cm)
- \tkzGetPoints{M}{N}
- \tkzDrawPoints[red](M)
- }
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.6.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.6.tex
deleted file mode 100644
index e8516e5c2e..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.6.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 164 (Section 20.2.6 : Calculation of radius example 2)
-
-\begin{tikzpicture}
- \tkzDefPoint(2,2){A}
- \tkzDefPoint(5,4){B}
- \tkzDefPoint(4,4){O}
- \edef\tkzLen{\fpeval{0.0002/0.0001}}
- \tkzDrawCircle[R](O,\tkzLen cm)
- \tkzInterLC[R](A,B)(O, \tkzLen cm)
- \tkzGetPoints{I}{J}
- \tkzDrawPoints[color=blue](A,B)
- \tkzDrawPoints[color=red](I,J)
- \tkzDrawLine(I,J)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.7.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.7.tex
deleted file mode 100644
index c1c56e0d37..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.7.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 165 (Section 20.2.7 : Calculation of radius example 3)
-
-\begin{tikzpicture}
- \tkzDefPoints{2/2/A,5/4/B,4/4/0}
- \tkzLength=2cm
- \tkzDrawCircle[R](O,\tkzLength)
- \tkzInterLC[R](A,B)(O,\tkzLength)
- \tkzGetPoints{I}{J}
- \tkzDrawPoints[color=blue](A,B)
- \tkzDrawPoints[color=red](I,J)
- \tkzDrawLine(I,J)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.8.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.8.tex
deleted file mode 100644
index 43eda622ef..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.8.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 166 (Section 20.2.8 : Squares in half a disc)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/A,8/0/B,4/0/I}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzInterLC(I,C)(I,B)\tkzGetPoints{E'}{E}
- \tkzInterLC(I,D)(I,B)\tkzGetPoints{F'}{F}
- \tkzDefPointsBy[projection = onto A--B](E,F){H,G}
- \tkzDefPointsBy[symmetry = center H](I){J}
- \tkzDefSquare(H,J)\tkzGetPoints{K}{L}
- \tkzDrawSector[fill=brown!30](I,B)(A)
- \tkzFillPolygon[color=red!40](H,E,F,G)
- \tkzFillPolygon[color=blue!40](H,J,K,L)
- \tkzDrawPolySeg[color=red](H,E,F,G)
- \tkzDrawPolySeg[color=red](J,K,L)
- \tkzDrawPoints(E,G,H,F,J,K,L)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.9.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.9.tex
deleted file mode 100644
index 036c15abbc..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.2.9.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 167 (Section 20.2.9 : Option "with nodes")
-
-\begin{tikzpicture}[scale=.75]
-\tkzDefPoints{0/0/A,4/0/B,1/1/D,2/0/E}
-\tkzDefTriangle[equilateral](A,B)
-\tkzGetPoint{C}
-\tkzDrawCircle(C,A)
-\tkzInterLC[with nodes](D,E)(C,A,B)
-\tkzGetPoints{F}{G}
-\tkzDrawPolygon(A,B,C)
-\tkzDrawPoints(A,...,G)
-\tkzDrawLine(F,G)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.1.tex
deleted file mode 100644
index aa438fa1ad..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.1.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 168 (Section 20.3.1 : Construction of an equilateral triangle)
-
-\begin{tikzpicture}[trim left=-1cm,scale=.5]
- \tkzDefPoint(1,1){A}
- \tkzDefPoint(5,1){B}
- \tkzInterCC(A,B)(B,A)\tkzGetPoints{C}{D}
- \tkzDrawPoint[color=black](C)
- \tkzDrawCircle[dashed](A,B)
- \tkzDrawCircle[dashed](B,A)
- \tkzCompass[color=red](A,C)
- \tkzCompass[color=red](B,C)
- \tkzDrawPolygon(A,B,C)
- \tkzMarkSegments[mark=s|](A,C B,C)
- \tkzLabelPoints[](A,B)
- \tkzLabelPoint[above](C){$C$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.2.tex
deleted file mode 100644
index 15b25c6def..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.2.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 169 (Section 20.3.2 : Example a mediator)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,2){B}
- \tkzDrawCircle[color=blue](B,A)
- \tkzDrawCircle[color=blue](A,B)
- \tkzInterCC(B,A)(A,B)\tkzGetPoints{M}{N}
- \tkzDrawLine(A,B)
- \tkzDrawPoints(M,N)
- \tkzDrawLine[color=red](M,N)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.3.tex
deleted file mode 100644
index 867efb1726..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.3.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 170 (Section 20.3.3 : An isosceles triangle.)
-
-\begin{tikzpicture}[rotate=120,scale=.75]
- \tkzDefPoint(1,2){A}
- \tkzDefPoint(4,0){B}
- \tkzInterCC[R](A,4cm)(B,4cm)
- \tkzGetPoints{C}{D}
- \tkzDrawCircle[R,dashed](A,4 cm)
- \tkzDrawCircle[R,dashed](B,4 cm)
- \tkzCompass[color=red](A,C)
- \tkzCompass[color=red](B,C)
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints[color=blue](A,B,C)
- \tkzMarkSegments[mark=s|](A,C B,C)
- \tkzLabelPoints[](A,B)
- \tkzLabelPoint[above](C){$C$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.4.tex
deleted file mode 100644
index eb95cc825c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.4.tex
+++ /dev/null
@@ -1,36 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 171 (Section 20.3.4 : Segment trisection)
-
-\begin{tikzpicture}[scale=.8]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,2){B}
- \tkzInterCC(A,B)(B,A)
- \tkzGetPoints{C}{D}
- \tkzInterCC(D,B)(B,A)
- \tkzGetPoints{A}{E}
- \tkzInterCC(D,B)(A,B)
- \tkzGetPoints{F}{B}
- \tkzInterLC(E,F)(F,A)
- \tkzGetPoints{D}{G}
- \tkzInterLL(A,G)(B,E)
- \tkzGetPoint{O}
- \tkzInterLL(O,D)(A,B)
- \tkzGetPoint{J}
- \tkzInterLL(O,F)(A,B)
- \tkzGetPoint{I}
- \tkzDrawCircle(D,A)
- \tkzDrawCircle(A,B)
- \tkzDrawCircle(B,A)
- \tkzDrawCircle(F,A)
- \tkzDrawSegments[color=red](O,G
- O,B O,D O,F)
- \tkzDrawPoints(A,B,D,E,F,G,I,J)
- \tkzLabelPoints(A,B,D,E,F,G,I,J)
- \tkzDrawSegments[blue](A,B B,D A,D%
- A,F F,G E,G B,E)
- \tkzMarkSegments[mark=s|](A,I I,J J,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.5.tex
deleted file mode 100644
index c0aa5b0ec3..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-20.3.5.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 172 (Section 20.3.5 : With the option \tkzimp{with nodes})
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/0/a,0/5/B,5/0/C}
- \tkzDefPoint(54:5){F}
- \tkzDrawCircle[color=gray](A,C)
- \tkzInterCC[with nodes](A,A,C)(C,B,F)
- \tkzGetPoints{a}{e}
- \tkzInterCC(A,C)(a,e) \tkzGetFirstPoint{b}
- \tkzInterCC(A,C)(b,a) \tkzGetFirstPoint{c}
- \tkzInterCC(A,C)(c,b) \tkzGetFirstPoint{d}
- \tkzDrawPoints(a,b,c,d,e)
- \tkzDrawPolygon[color=red](a,b,c,d,e)
- \foreach \vertex/\num in {a/36,b/108,c/180,
- d/252,e/324}{%
- \tkzDrawPoint(\vertex)
- \tkzLabelPoint[label=\num:$\vertex$](\vertex){}
- \tkzDrawSegment[color=gray,style=dashed](A,\vertex)
- }
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.1.tex
deleted file mode 100644
index 9d9b3fd65e..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 173 (Section 21.1.1 : Example with \tkzname{size})
-
-\begin{tikzpicture}
- \tkzInit
- \tkzDefPoints{0/0/O,2.5/0/A,1.5/2/B}
- \tkzFillAngle[size=2cm, fill=gray!10](A,O,B)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.2.tex
deleted file mode 100644
index 83c04f5a55..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.2.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 175 (Section 21.1.2 : Changing the order of items)
-
-\begin{tikzpicture}
- \tkzInit
- \tkzDefPoints{0/0/O,5/0/A,3/4/B}
- % Don't forget {} to get, () to use
- \tkzFillAngle[size=4cm,left color=white,
- right color=red!50](A,O,B)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.3.tex
deleted file mode 100644
index ffe82354cd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.1.3.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 176 (Section 21.1.3 : Multiples angles)
-
-\begin{tikzpicture}[scale=0.75]
- \tkzDefPoint(0,0){B}
- \tkzDefPoint(8,0){C}
- \tkzDefPoint(0,8){A}
- \tkzDefPoint(8,8){D}
- \tkzDrawPolygon(B,C,D,A)
- \tkzDefTriangle[equilateral](B,C)
- \tkzGetPoint{M}
- \tkzInterLL(D,M)(A,B) \tkzGetPoint{N}
- \tkzDefPointBy[rotation=center N angle -60](D)
- \tkzGetPoint{L}
- \tkzInterLL(N,L)(M,B) \tkzGetPoint{P}
- \tkzInterLL(M,C)(D,L) \tkzGetPoint{Q}
- \tkzDrawSegments(D,N N,L L,D B,M M,C)
- \tkzDrawPoints(L,N,P,Q,M,A,D)
- \tkzLabelPoints[left](N,P,Q)
- \tkzLabelPoints[above](M,A,D)
- \tkzLabelPoints(L,B,C)
- \tkzMarkAngles(C,B,M B,M,C M,C,B%
- D,L,N L,N,D N,D,L)
- \tkzFillAngles[fill=red!20,opacity=.2](C,B,M%
- B,M,C M,C,B D,L,N L,N,D N,D,L)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.1.tex
deleted file mode 100644
index c184076450..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 177 (Section 21.2.1 : Example with \tkzname{mark = x})
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/O,5/0/A,3/4/B}
- \tkzMarkAngle[size = 4cm,mark = x,
- arc=ll,mkcolor = red](A,O,B)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.2.tex
deleted file mode 100644
index 1c0b86ecb4..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.2.2.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 178 (Section 21.2.2 : Example with \tkzname{mark =||})
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{0/0/O,5/0/A,3/4/B}
- \tkzMarkAngle[size = 4cm,mark = ||,
- arc=ll,mkcolor = red](A,O,B)
- \tkzDrawLines(O,A O,B)
- \tkzDrawPoints(O,A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.3.1.tex
deleted file mode 100644
index 31e94ac28f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.3.1.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 180 (Section 21.3.1 : Example with \tkzname{pos})
-
-\begin{tikzpicture}[rotate=30]
- \tkzDefPoint(2,1){S}
- \tkzDefPoint(7,3){T}
- \tkzDefPointBy[rotation=center S angle 60](T)
- \tkzGetPoint{P}
- \tkzDefLine[bisector,normed](T,S,P)
- \tkzGetPoint{s}
- \tkzDrawPoints(S,T,P)
- \tkzDrawPolygon[color=blue](S,T,P)
- \tkzDrawLine[dashed,color=blue,add=0 and 3](S,s)
- \tkzLabelPoint[above right](P){$P$}
- \tkzLabelPoints(S,T)
- \tkzMarkAngle[size = 1.8cm,mark = |,arc=ll,
- color = blue](T,S,P)
- \tkzMarkAngle[size = 2.1cm,mark = |,arc=l,
- color = blue](T,S,s)
- \tkzMarkAngle[size = 2.3cm,mark = |,arc=l,
- color = blue](s,S,P)
- \tkzLabelAngle[pos = 1.5](T,S,P){$60^{\circ}$}%
- \tkzLabelAngles[pos = 2.7](T,S,s s,S,P){$30^{\circ}$}%
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.1.tex
deleted file mode 100644
index 487190ae1b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 181 (Section 21.4.1 : Example of marking a right angle)
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,3/1/B,0.9/-1.2/P}
- \tkzDefPointBy[projection = onto B--A](P) \tkzGetPoint{H}
- \tkzDrawLines[add=.5 and .5](P,H)
- \tkzMarkRightAngle[fill=blue!20,size=.5,draw](A,H,P)
- \tkzDrawLines[add=.5 and .5](A,B)
- \tkzMarkRightAngle[fill=red!20,size=.8](B,H,P)
- \tkzDrawPoints[](A,B,P,H)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.2.tex
deleted file mode 100644
index 5e4a94e15a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.2.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 182 (Section 21.4.2 : Example of marking a right angle, german style)
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,3/1/B,0.9/-1.2/P}
- \tkzDefPointBy[projection = onto B--A](P) \tkzGetPoint{H}
- \tkzDrawLines[add=.5 and .5](P,H)
- \tkzMarkRightAngle[german,size=.5,draw](A,H,P)
- \tkzDrawPoints[](A,B,P,H)
- \tkzDrawLines[add=.5 and .5,fill=blue!20](A,B)
- \tkzMarkRightAngle[german,size=.8](P,H,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.3.tex
deleted file mode 100644
index 68bb020c33..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.3.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 183 (Section 21.4.3 : Mix of styles)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(2,5){C}
- \tkzDefPointBy[projection=onto B--A](C)
- \tkzGetPoint{H}
- \tkzDrawLine(A,B)
- \tkzDrawLine[add = .5 and .2,color=red](C,H)
- \tkzMarkRightAngle[,size=1,color=red](C,H,A)
- \tkzMarkRightAngle[german,size=.8,color=blue](B,H,C)
- \tkzFillAngle[opacity=.2,fill=blue!20,size=.8](B,H,C)
- \tkzLabelPoints(A,B,C,H)
- \tkzDrawPoints(A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.4.tex
deleted file mode 100644
index 41980c3fe0..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-21.4.4.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 184 (Section 21.4.4 : Full example)
-
-\begin{tikzpicture}[rotate=-90]
-\tkzDefPoint(0,1){A}
-\tkzDefPoint(2,4){C}
-\tkzDefPointWith[orthogonal normed,K=7](C,A)
-\tkzGetPoint{B}
-\tkzDrawSegment[green!60!black](A,C)
-\tkzDrawSegment[green!60!black](C,B)
-\tkzDrawSegment[green!60!black](B,A)
-\tkzDrawLine[altitude,dashed,color=magenta](B,C,A)
-\tkzGetPoint{P}
-\tkzLabelPoint[left](A){$A$}
-\tkzLabelPoint[right](B){$B$}
-\tkzLabelPoint[above](C){$C$}
-\tkzLabelPoint[left](P){$P$}
-\tkzLabelSegment[auto](B,A){$c$}
-\tkzLabelSegment[auto,swap](B,C){$a$}
-\tkzLabelSegment[auto,swap](C,A){$b$}
-\tkzMarkAngle[size=1cm,color=cyan,mark=|](C,B,A)
-\tkzMarkAngle[size=1cm,color=cyan,mark=|](A,C,P)
-\tkzMarkAngle[size=0.75cm,color=orange,mark=||](P,C,B)
-\tkzMarkAngle[size=0.75cm,color=orange,mark=||](B,A,C)
-\tkzMarkRightAngle[german](A,C,B)
-\tkzMarkRightAngle[german](B,P,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.2.0.tex
deleted file mode 100644
index 1a72d1ac85..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.2.0.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 185 (Section 22.2 : Example of the use of \tkzcname{tkzGetAngle})
-
-\begin{tikzpicture}
- \tkzInit
- \tkzDefPoint(1,5){A} \tkzDefPoint(5,2){B}
- \tkzDrawSegment(A,B)
- \tkzFindSlopeAngle(A,B)\tkzGetAngle{tkzang}
- \tkzDefPointBy[rotation= center A angle \tkzang ](B)
- \tkzGetPoint{C}
- \tkzDefPointBy[rotation= center A angle -\tkzang ](B)
- \tkzGetPoint{D}
- \tkzCompass[length=1,dashed,color=red](A,C)
- \tkzCompass[delta=10,brown](B,C)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(B,C,D)
- \tkzLabelPoints[above left](A)
- \tkzDrawSegments[style=dashed,color=orange!30](A,C A,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.3.1.tex
deleted file mode 100644
index 1e3dfaf92c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.3.1.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 186 (Section 22.3.1 : Verification of angle measurement)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(-1,1){A}
- \tkzDefPoint(5,2){B}
- \tkzDefEquilateral(A,B)
- \tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C)
- \tkzFindAngle(B,A,C)
- \tkzGetAngle{angleBAC}
- \edef\angleBAC{\fpeval{round(\angleBAC)}}
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoint[right](C){$C$}
- \tkzLabelAngle(B,A,C){\angleBAC$^\circ$}
- \tkzMarkAngle[size=1.5cm](B,A,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.0.tex
deleted file mode 100644
index ad152a3e8c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.0.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 187 (Section 22.4 : Example of the use of \tkzcname{tkzFindAngle} )
-
-\begin{tikzpicture}
- \tkzInit[xmin=-1,ymin=-1,xmax=7,ymax=7]
- \tkzClip
- \tkzDefPoint (0,0){O} \tkzDefPoint (6,0){A}
- \tkzDefPoint (5,5){B} \tkzDefPoint (3,4){M}
- \tkzFindAngle (A,O,M) \tkzGetAngle{an}
- \tkzDefPointBy[rotation=center O angle \an](A)
- \tkzGetPoint{C}
- \tkzDrawSector[fill = blue!50,opacity=.5](O,A)(C)
- \tkzFindAngle(M,B,A) \tkzGetAngle{am}
- \tkzDefPointBy[rotation = center O angle \am](A)
- \tkzGetPoint{D}
- \tkzDrawSector[fill = red!50,opacity = .5](O,A)(D)
- \tkzDrawPoints(O,A,B,M,C,D)
- \tkzLabelPoints(O,A,B,M,C,D)
- \edef\an{\fpeval{round(\an,2)}}\edef\am{\fpeval{round(\am,2)}}
- \tkzDrawSegments(M,B B,A)
- \tkzText(4,2){$\widehat{AOC}=\widehat{AOM}=\an^{\circ}$}
- \tkzText(1,4){$\widehat{AOD}=\widehat{MBA}=\am^{\circ}$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.1.tex
deleted file mode 100644
index 31a340396f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.4.1.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 188 (Section 22.4.1 : Determination of the three angles of a triangle)
-
-\begin{tikzpicture}[scale=1.25,rotate=30]
- \tkzDefPoints{0.5/1.5/A, 3.5/4/B, 6/2.5/C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints[below](A,C)
- \tkzLabelPoints[above](B)
- \tkzMarkAngle[size=1cm](B,C,A)
- \tkzFindAngle(B,C,A)
- \tkzGetAngle{angleBCA}
- \edef\angleBCA{\fpeval{round(\angleBCA,2)}}
- \tkzLabelAngle[pos = 1](B,C,A){$\angleBCA^{\circ}$}
- \tkzMarkAngle[size=1cm](C,A,B)
- \tkzFindAngle(C,A,B)
- \tkzGetAngle{angleBAC}
- \edef\angleBAC{\fpeval{round(\angleBAC,2)}}
- \tkzLabelAngle[pos = 1.8](C,A,B){%
- $\angleBAC^{\circ}$}
- \tkzMarkAngle[size=1cm](A,B,C)
- \tkzFindAngle(A,B,C)
- \tkzGetAngle{angleABC}
- \edef\angleABC{\fpeval{round(\angleABC,2)}}
- \tkzLabelAngle[pos = 1](A,B,C){$\angleABC^{\circ}$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.5.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.5.0.tex
deleted file mode 100644
index 6eeffa8a31..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.5.0.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 189 (Section 22.5 : Determining a slope)
-
-\begin{tikzpicture}[scale=1.5]
- \tkzInit[xmax=4,ymax=5]\tkzGrid[sub]
- \tkzDefPoint(1,2){A} \tkzDefPoint(3,4){B}
- \tkzDefPoint(3,2){C} \tkzDefPoint(3,1){D}
- \tkzDrawSegments(A,B A,C A,D)
- \tkzDrawPoints[color=red](A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
- \tkzFindSlope(A,B){SAB} \tkzFindSlope(A,C){SAC}
- \tkzFindSlope(A,D){SAD}
- \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
- \tkzText[fill=Gold!50,draw=brown](1,4)%
- {The slope of (AB) is : $\pgfmathprintnumber{\SAB}$}
- \tkzText[fill=Gold!50,draw=brown](1,3.5)%
- {The slope of (AC) is : $\pgfmathprintnumber{\SAC}$}
- \tkzText[fill=Gold!50,draw=brown](1,3)%
- {The slope of (AD) is : $\pgfmathprintnumber{\SAD}$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.1.tex
deleted file mode 100644
index a29cfe07ec..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.1.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 190 (Section 22.6.1 : Folding)
-
-\begin{tikzpicture}
- \tkzDefPoint(1,5){A}
- \tkzDefPoint(5,2){B}
- \tkzDrawSegment(A,B)
- \tkzFindSlopeAngle(A,B)
- \tkzGetAngle{tkzang}
- \tkzDefPointBy[rotation= center A angle \tkzang ](B)
- \tkzGetPoint{C}
- \tkzDefPointBy[rotation= center A angle -\tkzang ](B)
- \tkzGetPoint{D}
- \tkzCompass[orange,length=1](A,C)
- \tkzCompass[orange,delta=10](B,C)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(B,C,D)
- \tkzLabelPoints[above left](A)
- \tkzDrawSegments[style=dashed,color=orange](A,C A,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.2.tex
deleted file mode 100644
index aff651e888..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-22.6.2.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 191 (Section 22.6.2 : Example of the use of \tkzcname{tkzFindSlopeAngle})
-
-\begin{tikzpicture}
- \tkzInit
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,2){B}
- \tkzDefLine[mediator](A,B)
- \tkzGetPoints{I}{J}
- \tkzCalcLength[cm](A,B)
- \tkzGetLength{dAB}
- \tkzFindSlopeAngle(A,B)
- \tkzGetAngle{tkzangle}
- \begin{scope}[rotate=\tkzangle]
- \tikzset{arc/.style={color=gray,delta=10}}
- \tkzDrawArc[orange,R,arc](B,3/4*\dAB)(120,240)
- \tkzDrawArc[orange,R,arc](A,3/4*\dAB)(-45,60)
- \tkzDrawLine(I,J)
- \tkzDrawSegment(A,B)
- \end{scope}
- \tkzDrawPoints(A,B,I,J)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[right](I,J)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.1.tex
deleted file mode 100644
index 0839f78e35..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.1.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 192 (Section 23.1.1 : \tkzcname{tkzDrawSector} and \tkzname{towards})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(-30:3){A}
- \tkzDefPointBy[rotation = center O angle -60](A)
- \tkzDrawSector[fill=red!50](O,A)(tkzPointResult)
- \begin{scope}[shift={(-60:1cm)}]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(-30:3){A}
- \tkzDefPointBy[rotation = center O angle -60](A)
- \tkzDrawSector[fill=blue!50](O,tkzPointResult)(A)
- \end{scope}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.2.tex
deleted file mode 100644
index 4e09ef65fd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.2.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 193 (Section 23.1.2 : \tkzcname{tkzDrawSector} and \tkzname{rotate})
-
-\begin{tikzpicture}[scale=2]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,2){A}
- \tkzDrawSector[rotate,draw=red!50!black,%
- fill=red!20](O,A)(30)
- \tkzDrawSector[rotate,draw=blue!50!black,%
- fill=blue!20](O,A)(-30)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.3.tex
deleted file mode 100644
index a6d6f744e4..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.3.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 194 (Section 23.1.3 : \tkzcname{tkzDrawSector} and \tkzname{R})
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDrawSector[R,draw=white,%
- fill=red!50](O,2cm)(30,90)
- \tkzDrawSector[R,draw=white,%
- fill=red!60](O,2cm)(90,180)
- \tkzDrawSector[R,draw=white,%
- fill=red!70](O,2cm)(180,270)
- \tkzDrawSector[R,draw=white,%
- fill=red!90](O,2cm)(270,360)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.4.tex
deleted file mode 100644
index 5ee3aa7053..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.4.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 195 (Section 23.1.4 : \tkzcname{tkzDrawSector} and \tkzname{R})
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(4,-2){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(3,3){C}
- \tkzDrawSector[R with nodes,%
- fill=blue!20](O,1 cm)(B,C)
- \tkzDrawSector[R with nodes,%
- fill=red!20](O,1.25 cm)(A,B)
-\tkzDrawSegments(O,A O,B O,C)
-\tkzDrawPoints(O,A,B,C)
-\tkzLabelPoints(A,B,C)
-\tkzLabelPoints[left](O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.5.tex
deleted file mode 100644
index 06517ed645..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.1.5.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 196 (Section 23.1.5 : \tkzcname{tkzDrawSector} and \tkzname{R with nodes})
-
-\begin{tikzpicture} [scale=.5]
- \tkzDefPoint(-1,-2){A}
- \tkzDefPoint(1,3){B}
- \tkzDefRegPolygon[side,sides=6](A,B)
- \tkzGetPoint{O}
- \tkzDrawPolygon[fill=black!10,
- draw=blue](P1,P...,P6)
- \tkzLabelRegPolygon[sep=1.05](O){A,...,F}
- \tkzDrawCircle[dashed](O,A)
- \tkzLabelSegment[above,sloped,
- midway](A,B){\(A B = 16m\)}
- \foreach \i [count=\xi from 1] in {2,...,6,1}
- {%
- \tkzDefMidPoint(P\xi,P\i)
- \path (O) to [pos=1.1] node {\xi} (tkzPointResult) ;
- }
- \tkzDefRandPointOn[segment = P3--P5]
- \tkzGetPoint{S}
- \tkzDrawSegments[thick,dashed,red](A,S S,B)
- \tkzDrawPoints(P1,P...,P6,S)
- \tkzLabelPoint[left,above](S){$S$}
- \tkzDrawSector[R with nodes,fill=red!20](S,2 cm)(A,B)
- \tkzLabelAngle[pos=1.5](A,S,B){$\alpha$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.1.tex
deleted file mode 100644
index af2e378076..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.1.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 197 (Section 23.2.1 : \tkzcname{tkzFillSector} and \tkzname{towards})
-
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(-30:3){A}
- \tkzDefPointBy[rotation = center O angle -60](A)
- \tkzFillSector[fill=red!50](O,A)(tkzPointResult)
- \begin{scope}[shift={(-60:1cm)}]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(-30:3){A}
- \tkzDefPointBy[rotation = center O angle -60](A)
- \tkzFillSector[color=blue!50](O,tkzPointResult)(A)
- \end{scope}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.2.tex
deleted file mode 100644
index 55adc0d7b8..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.2.2.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 198 (Section 23.2.2 : \tkzcname{tkzFillSector} and \tkzname{rotate})
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O} \tkzDefPoint(2,2){A}
- \tkzFillSector[rotate,color=red!20](O,A)(30)
- \tkzFillSector[rotate,color=blue!20](O,A)(-30)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.3.1.tex
deleted file mode 100644
index 8053d152a0..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-23.3.1.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 199 (Section 23.3.1 : \tkzcname{tkzClipSector})
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPoint(1,1){B}
- \tkzDrawSector[color=blue,dashed](O,A)(B)
- \tkzDrawSector[color=blue](O,B)(A)
- \tkzClipBB
- \begin{scope}
- \tkzClipSector(O,B)(A)
- \draw[fill=gray!20] (-1,0) rectangle (3,3);
- \end{scope}
- \tkzDrawPoints(A,B,O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.1.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.1.0.tex
deleted file mode 100644
index 251fdfe91e..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.1.0.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 200 (Section 24.1 : Option \tkzname{towards})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPointBy[rotation= center O angle 90](A)
- \tkzGetPoint{B}
- \tkzDrawArc[color=blue,<->](O,A)(B)
- \tkzDrawArc(O,B)(A)
- \tkzDrawLines[add = 0 and .5](O,A O,B)
- \tkzDrawPoints(O,A,B)
- \tkzLabelPoints[below](O,A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.2.0.tex
deleted file mode 100644
index 143f59aeea..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.2.0.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 201 (Section 24.2 : Option \tkzname{towards})
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPoint(1,1){B}
- \tkzDrawArc[color=blue,->](O,A)(B)
- \tkzDrawArc[color=gray](O,B)(A)
- \tkzDrawArc(O,B)(A)
- \tkzDrawLines[add = 0 and .5](O,A O,B)
- \tkzDrawPoints(O,A,B)
- \tkzLabelPoints[below](O,A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.3.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.3.0.tex
deleted file mode 100644
index c1b2b4d8e9..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.3.0.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 202 (Section 24.3 : Option \tkzname{rotate})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-2){A}
- \tkzDefPoint(60:2){B}
- \tkzDrawLines[add = 0 and .5](O,A O,B)
- \tkzDrawArc[rotate,color=red](O,A)(180)
- \tkzDrawPoints(O,A,B)
- \tkzLabelPoints[below](O,A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.4.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.4.0.tex
deleted file mode 100644
index c55b79cd56..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.4.0.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 203 (Section 24.4 : Option \tkzname{R})
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/O}
- \tikzset{compass style/.append style={<->}}
- \tkzDrawArc[R,color=orange,double](O,3cm)(270,360)
- \tkzDrawArc[R,color=blue,double](O,2cm)(0,270)
- \tkzDrawPoint(O)
- \tkzLabelPoint[below](O){$O$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.5.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.5.0.tex
deleted file mode 100644
index 3d7b5106b3..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.5.0.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 204 (Section 24.5 : Option \tkzname{R with nodes})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPoint(1,1){B}
- \tkzCalcLength(B,A)\tkzGetLength{radius}
- \tkzDrawArc[R with nodes](B,\radius pt)(A,O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.6.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.6.0.tex
deleted file mode 100644
index d4cd3ba9d0..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.6.0.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 205 (Section 24.6 : Option \tkzname{delta})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzDefPointBy[rotation= center A angle 60](B)
- \tkzGetPoint{C}
- \tkzSetUpLine[color=gray]
- \tkzDefPointBy[symmetry= center C](A)
- \tkzGetPoint{D}
- \tkzDrawSegments(A,B A,D)
- \tkzDrawLine(B,D)
- \tkzSetUpCompass[color=orange]
- \tkzDrawArc[orange,delta=10](A,B)(C)
- \tkzDrawArc[orange,delta=10](B,C)(A)
- \tkzDrawArc[orange,delta=10](C,D)(D)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
- \tkzMarkRightAngle(D,B,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.7.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.7.0.tex
deleted file mode 100644
index 2342487cac..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.7.0.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 206 (Section 24.7 : Option \tkzname{angles}: example 1)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzDefPoint(2.5,0){O}
- \tkzDefPointBy[rotation=center O angle 60](B)
- \tkzGetPoint{D}
- \tkzDefPointBy[symmetry=center D](O)
- \tkzGetPoint{E}
- \tkzSetUpLine[color=Maroon]
- \tkzDrawArc[angles](O,B)(0,180)
- \tkzDrawArc[angles,](B,O)(100,180)
- \tkzCompass[delta=20](D,E)
- \tkzDrawLines(A,B O,E B,E)
- \tkzDrawPoints(A,B,O,D,E)
- \tkzLabelPoints(A,B,O,D,E)
- \tkzMarkRightAngle(O,B,E)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.8.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.8.0.tex
deleted file mode 100644
index 44acdc3c22..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-24.8.0.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 207 (Section 24.8 : Option \tkzname{angles}: example 2)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(5,0){I}
- \tkzDefPoint(0,5){J}
- \tkzInterCC(O,I)(I,O)\tkzGetPoints{B}{C}
- \tkzInterCC(O,I)(J,O)\tkzGetPoints{D}{A}
- \tkzInterCC(I,O)(J,O)\tkzGetPoints{L}{K}
- \tkzDrawArc[angles](O,I)(0,90)
- \tkzDrawArc[angles,color=gray,style=dashed](I,O)(90,180)
- \tkzDrawArc[angles,color=gray,style=dashed](J,O)(-90,0)
- \tkzDrawPoints(A,B,K)
- \foreach \point in {I,A,B,J,K}{\tkzDrawSegment(O,\point)}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.0.tex
deleted file mode 100644
index e451aef646..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.0.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 208 (Section 25.1 : Duplicate a segment)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(2,-3){B}
- \tkzDefPoint(2,5){C}
- \tkzDrawSegments[red](A,B A,C)
- \tkzDuplicateSegment(A,B)(A,C)
- \tkzGetPoint{D}
- \tkzDrawSegment[green](A,D)
- \tkzDrawPoints[color=red](A,B,C,D)
- \tkzLabelPoints[above right=3pt](A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.1.tex
deleted file mode 100644
index 25f1c12349..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.1.1.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 209 (Section 25.1.1 : Proportion of gold with \tkzcname{tkzDuplicateSegment})
-
-\begin{tikzpicture}[rotate=-90,scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(10,0){B}
- \tkzDefMidPoint(A,B)
- \tkzGetPoint{I}
- \tkzDefPointWith[orthogonal,K=-.75](B,A)
- \tkzGetPoint{C}
- \tkzInterLC(B,C)(B,I) \tkzGetSecondPoint{D}
- \tkzDuplicateSegment(B,D)(D,A) \tkzGetPoint{E}
- \tkzInterLC(A,B)(A,E) \tkzGetPoints{N}{M}
- \tkzDrawArc[orange,delta=10](D,E)(B)
- \tkzDrawArc[orange,delta=10](A,M)(E)
- \tkzDrawLines(A,B B,C A,D)
- \tkzDrawArc[orange,delta=10](B,D)(I)
- \tkzDrawPoints(A,B,D,C,M,I,N)
- \tkzLabelPoints(A,B,D,C,M,I,N)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.2.1.tex
deleted file mode 100644
index 95f9d4128d..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.2.1.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 210 (Section 25.2.1 : Compass square construction)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDrawLine[add= .6 and .2](A,B)
- \tkzCalcLength[cm](A,B)\tkzGetLength{dAB}
- \tkzDefLine[perpendicular=through A](A,B)
- \tkzDrawLine(A,tkzPointResult) \tkzGetPoint{D}
- \tkzShowLine[orthogonal=through A,gap=2](A,B)
- \tkzMarkRightAngle(B,A,D)
- \tkzVecKOrth[-1](B,A)\tkzGetPoint{C}
- \tkzCompasss(A,D D,C)
- \tkzDrawArc[R](B,\dAB)(80,110)
- \tkzDrawPoints(A,B,C,D)
- \tkzDrawSegments[color=gray,style=dashed](B,C C,D)
- \tkzLabelPoints(A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.4.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.4.1.tex
deleted file mode 100644
index 6a894f4f6e..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.4.1.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 211 (Section 25.4.1 : Example)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,-4){B}
- \tkzDefCircle[through](A,B)
- \tkzGetLength{rABpt}
- \tkzpttocm(\rABpt){rABcm}
- \tkzDrawCircle(A,B)
- \tkzDrawPoints(A,B)
- \tkzLabelPoints(A,B)
- \tkzDrawSegment[dashed](A,B)
- \tkzLabelSegment(A,B){$\pgfmathprintnumber{\rABcm}$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.1.tex
deleted file mode 100644
index 9097cd3263..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.1.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 212 (Section 25.5.1 : Coordinate transfer with \tkzcname{tkzGetPointCoord})
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=3]
- \tkzGrid[sub,orange]
- \tkzAxeXY
- \tkzDefPoint(1,0){A}
- \tkzDefPoint(4,2){B}
- \tkzGetPointCoord(A){a}
- \tkzGetPointCoord(B){b}
- \tkzDefPoint(\ax,\ay){C}
- \tkzDefPoint(\bx,\by){D}
- \tkzDrawPoints[color=red](C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.2.tex
deleted file mode 100644
index 96fdfbdef3..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-25.5.2.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 213 (Section 25.5.2 : Sum of vectors with \tkzcname{tkzGetPointCoord})
-
-\begin{tikzpicture}[>=latex]
- \tkzDefPoint(1,4){a}
- \tkzDefPoint(3,2){b}
- \tkzDefPoint(1,1){c}
- \tkzDrawSegment[->,red](a,b)
- \tkzGetPointCoord(c){c}
- \draw[color=blue,->](a) -- ([shift=(b)]\cx,\cy) ;
- \draw[color=purple,->](b) -- ([shift=(b)]\cx,\cy) ;
- \tkzDrawSegment[->,blue](a,c)
- \tkzDrawSegment[->,purple](b,c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.1.tex
deleted file mode 100644
index 0403f58fc4..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 214 (Section 26.1.1 : Option \tkzname{length})
-
-\begin{tikzpicture}
- \tkzDefPoint(1,1){A}
- \tkzDefPoint(6,1){B}
- \tkzInterCC[R](A,4cm)(B,3cm)
- \tkzGetPoints{C}{D}
- \tkzDrawPoint(C)
- \tkzCompass[color=red,length=1.5](A,C)
- \tkzCompass[color=red](B,C)
- \tkzDrawSegments(A,B A,C B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.2.tex
deleted file mode 100644
index 54f3c917c6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.1.2.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 215 (Section 26.1.2 : Option \tkzname{delta})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzInterCC[R](A,4cm)(B,3cm)
- \tkzGetPoints{C}{D}
- \tkzDrawPoints(A,B,C)
- \tkzCompass[color=red,delta=20](A,C)
- \tkzCompass[color=red,delta=20](B,C)
- \tkzDrawPolygon(A,B,C)
- \tkzMarkAngle(A,C,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.2.0.tex
deleted file mode 100644
index 1083b097b3..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.2.0.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 216 (Section 26.2 : Multiple constructions \tkzcname{tkzCompasss})
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(2,2){A} \tkzDefPoint(5,-2){B}
- \tkzDefPoint(3,4){C} \tkzDrawPoints(A,B)
- \tkzDrawPoint[color=red,shape=cross out](C)
- \tkzCompasss[color=orange](A,B A,C B,C C,B)
- \tkzShowLine[mediator,color=red,
- dashed,length = 2](A,B)
- \tkzShowLine[parallel = through C,
- color=blue,length=2](A,B)
- \tkzDefLine[mediator](A,B) \tkzGetPoints{i}{j}
- \tkzDefLine[parallel=through C](A,B) \tkzGetPoint{D}
- \tkzDrawLines[add=.6 and .6](C,D A,C B,D)
- \tkzDrawLines(i,j) \tkzDrawPoints(A,B,C,i,j,D)
- \tkzLabelPoints(A,B,C,i,j,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.3.1.tex
deleted file mode 100644
index c9e0c91aae..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-26.3.1.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 217 (Section 26.3.1 : Use of \tkzcname{tkzSetUpCompass})
-
-\begin{tikzpicture}[scale=.75,
- showbi/.style={bisector,size=2,gap=3}]
- \tkzSetUpCompass[color=blue,line width=.3 pt]
- \tkzDefPoints{0/1/A, 8/3/B, 3/6/C}
- \tkzDrawPolygon(A,B,C)
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
- \tkzDefLine[bisector](C,B,A) \tkzGetPoint{b}
- \tkzShowLine[showbi](B,A,C)
- \tkzShowLine[showbi](C,B,A)
- \tkzInterLL(A,a)(B,b) \tkzGetPoint{I}
- \tkzDefPointBy[projection= onto A--B](I)
- \tkzGetPoint{H}
- \tkzDrawCircle[radius,color=gray](I,H)
- \tkzDrawSegments[color=gray!50](I,H)
- \tkzDrawLines[add=0 and -.2,color=blue!50 ](A,a B,b)
- \tkzShowBB
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.1.tex
deleted file mode 100644
index cd5016ccb3..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.1.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 218 (Section 27.1.1 : Example of \tkzcname{tkzShowLine} and \tkzname{parallel})
-
-\begin{tikzpicture}
- \tkzDefPoints{-1.5/-0.25/A,1/-0.75/B,-1.5/2/C}
- \tkzDrawLine(A,B)
- \tkzDefLine[parallel=through C](A,B) \tkzGetPoint{c}
- \tkzShowLine[parallel=through C](A,B)
- \tkzDrawLine(C,c) \tkzDrawPoints(A,B,C,c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.2.tex
deleted file mode 100644
index 60d65e5c59..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.2.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 219 (Section 27.1.2 : Example of \tkzcname{tkzShowLine} and \tkzname{perpendicular})
-
-\begin{tikzpicture}
-\tkzDefPoints{0/0/A, 3/2/B, 2/2/C}
-\tkzDefLine[perpendicular=through C,K=-.5](A,B) \tkzGetPoint{c}
-\tkzShowLine[perpendicular=through C,K=-.5,gap=3](A,B)
-\tkzDefPointBy[projection=onto A--B](c)\tkzGetPoint{h}
-\tkzMarkRightAngle[fill=lightgray](A,h,C)
-\tkzDrawLines[add=.5 and .5](A,B C,c)
-\tkzDrawPoints(A,B,C,h,c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.3.tex
deleted file mode 100644
index bf15e64e8f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.3.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 220 (Section 27.1.3 : Example of \tkzcname{tkzShowLine} and \tkzname{bisector})
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoints{0/0/A, 4/2/B, 1/4/C}
- \tkzDrawPolygon(A,B,C)
- \tkzSetUpCompass[color=brown,line width=.1 pt]
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
- \tkzDefLine[bisector](C,B,A) \tkzGetPoint{b}
- \tkzInterLL(A,a)(B,b) \tkzGetPoint{I}
- \tkzDefPointBy[projection = onto A--B](I)
- \tkzGetPoint{H}
- \tkzShowLine[bisector,size=2,gap=3,blue](B,A,C)
- \tkzShowLine[bisector,size=2,gap=3,blue](C,B,A)
- \tkzDrawCircle[radius,color=blue,%
- line width=.2pt](I,H)
- \tkzDrawSegments[color=red!50](I,tkzPointResult)
- \tkzDrawLines[add=0 and -0.3,color=red!50](A,a B,b)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.4.tex
deleted file mode 100644
index 96dd4c211a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.1.4.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 221 (Section 27.1.4 : Example of \tkzcname{tkzShowLine} and \tkzname{mediator})
-
-\begin{tikzpicture}
-\tkzDefPoint(2,2){A}
-\tkzDefPoint(5,4){B}
-\tkzDrawPoints(A,B)
-\tkzShowLine[mediator,color=orange,length=1](A,B)
-\tkzGetPoints{i}{j}
-\tkzDrawLines[add=-0.1 and -0.1](i,j)
-\tkzDrawLines(A,B)
-\tkzLabelPoints[below =3pt](A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.1.tex
deleted file mode 100644
index e1160c2c2b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.1.tex
+++ /dev/null
@@ -1,34 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 222 (Section 27.2.1 : Example of the use of \tkzcname{tkzShowTransformation})
-
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoint(0,0){O} \tkzDefPoint(2,-2){A}
- \tkzDefPoint(70:4){B} \tkzDrawPoints(A,O,B)
- \tkzLabelPoints(A,O,B)
- \tkzDrawLine[add= 2 and 2](O,A)
- \tkzDefPointBy[translation=from O to A](B)
- \tkzGetPoint{C}
- \tkzDrawPoint[color=orange](C) \tkzLabelPoints(C)
- \tkzShowTransformation[translation=from O to A,%
- length=2](B)
- \tkzDrawSegments[->,color=orange](O,A B,C)
- \tkzDefPointBy[reflection=over O--A](B) \tkzGetPoint{E}
- \tkzDrawSegment[blue](B,E)
- \tkzDrawPoint[color=blue](E)\tkzLabelPoints(E)
- \tkzShowTransformation[reflection=over O--A,size=2](B)
- \tkzDefPointBy[symmetry=center O](B) \tkzGetPoint{F}
- \tkzDrawSegment[color=green](B,F)
- \tkzDrawPoint[color=green](F)\tkzLabelPoints(F)
- \tkzShowTransformation[symmetry=center O,%
- length=2](B)
- \tkzDefPointBy[projection=onto O--A](C)
- \tkzGetPoint{H}
- \tkzDrawSegments[color=magenta](C,H)
- \tkzDrawPoint[color=magenta](H)\tkzLabelPoints(H)
- \tkzShowTransformation[projection=onto O--A,%
- color=red,size=3,gap=-2](C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.2.tex
deleted file mode 100644
index 27dedda2cf..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-27.2.2.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 223 (Section 27.2.2 : Another example of the use of \tkzcname{tkzShowTransformation})
-
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoints{0/0/A,8/0/B,3.5/10/I}
- \tkzDefMidPoint(A,B) \tkzGetPoint{O}
- \tkzDefPointBy[projection=onto A--B](I)
- \tkzGetPoint{J}
- \tkzInterLC(I,A)(O,A) \tkzGetPoints{M'}{M}
- \tkzInterLC(I,B)(O,A) \tkzGetPoints{N}{N'}
- \tkzDrawSemiCircle[diameter](A,B)
- \tkzDrawSegments(I,A I,B A,B B,M A,N)
- \tkzMarkRightAngles(A,M,B A,N,B)
- \tkzDrawSegment[style=dashed,color=blue](I,J)
- \tkzShowTransformation[projection=onto A--B,
- color=red,size=3,gap=-3](I)
- \tkzDrawPoints[color=red](M,N)
- \tkzDrawPoints[color=blue](O,A,B,I)
- \tkzLabelPoints(O)
- \tkzLabelPoints[above right](N,I)
- \tkzLabelPoints[below left](M,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-28.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-28.1.1.tex
deleted file mode 100644
index 8a7b00c1cd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-28.1.1.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 224 (Section 28.1.1 : Using \tkzcname{tkzDefEquiPoints} with options)
-
-\begin{tikzpicture}
- \tkzSetUpCompass[color=purple,line width=1pt]
- \tkzDefPoint(0,1){A}
- \tkzDefPoint(5,2){B}
- \tkzDefPoint(3,4){C}
- \tkzDefEquiPoints[from=C,dist=1,show,
- /tkzcompass/delta=20](A,B)
- \tkzGetPoints{E}{H}
- \tkzDrawLines[color=blue](C,E C,H A,B)
- \tkzDrawPoints[color=blue](A,B,C)
- \tkzDrawPoints[color=red](E,H)
- \tkzLabelPoints(E,H)
- \tkzLabelPoints[color=blue](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.1.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.1.0.tex
deleted file mode 100644
index 6e0803cb62..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.1.0.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 225 (Section 29.1 : The circular protractor)
-
-\begin{tikzpicture}[scale=.5]
-\tkzDefPoint(2,0){A}\tkzDefPoint(0,0){O}
-\tkzDefShiftPoint[A](31:5){B}
-\tkzDefShiftPoint[A](158:5){C}
-\tkzDrawPoints(A,B,C)
-\tkzDrawSegments[color = red,
- line width = 1pt](A,B A,C)
- \tkzProtractor[scale = 1](A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.2.0.tex
deleted file mode 100644
index d39457cf57..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-29.2.0.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 226 (Section 29.2 : The circular protractor, transparent and returned)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPoint[A](31:5){B}
- \tkzDefShiftPoint[A](158:5){C}
- \tkzDrawSegments[color=red,line width=1pt](A,B A,C)
- \tkzProtractor[return](A,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.2.tex
deleted file mode 100644
index 1b7d2216ba..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.2.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 227 (Section 30.1.2 : Revised version of "Tangente")
-
-\begin{tikzpicture}[scale=.8,rotate=60]
- \tkzDefPoint(6,0){X} \tkzDefPoint(3,3){Y}
- \tkzDefShiftPoint[X](-110:6){A} \tkzDefShiftPoint[X](-70:6){B}
- \tkzDefShiftPoint[Y](-110:4.2){A'} \tkzDefShiftPoint[Y](-70:4.2){B'}
- \tkzDefPointBy[translation= from A' to B ](Y) \tkzGetPoint{Y}
- \tkzDefPointBy[translation= from A' to B ](B') \tkzGetPoint{C}
- \tkzInterLL(A,B)(X,Y) \tkzGetPoint{O}
- \tkzDefMidPoint(X,Y) \tkzGetPoint{I}
- \tkzDefPointWith[orthogonal](I,Y)
- \tkzInterLL(I,tkzPointResult)(A,B) \tkzGetPoint{Z}
- \tkzDefCircle[circum](X,Y,B) \tkzGetPoint{O}
- \tkzDrawCircle(O,X)
- \tkzDrawLines[add = 0 and 1.5](A,C) \tkzDrawLines[add = 0 and 3](X,Y)
- \tkzDrawSegments(A,X B,X B,Y C,Y) \tkzDrawSegments[color=red](X,Z Y,Z)
- \tkzDrawPoints(A,B,C,X,Y,O,Z)
- \tkzLabelPoints(A,B,C,Z) \tkzLabelPoints[above right](X,Y,O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.3.tex
deleted file mode 100644
index 9d4e24c0ba..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.3.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 228 (Section 30.1.3 : "Le Monde" version)
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,0){B}
- \tkzDefPoint(9,0){C}
- \tkzDefPoint(1.5,2){X}
- \tkzDefPoint(6,4){Y}
- \tkzDefCircle[circum](X,Y,B) \tkzGetPoint{O}
- \tkzDefMidPoint(X,Y) \tkzGetPoint{I}
- \tkzDefPointWith[orthogonal](I,Y) \tkzGetPoint{i}
- \tkzDrawLines[add = 2 and 1,color=orange](I,i)
- \tkzInterLL(I,i)(A,B) \tkzGetPoint{Z}
- \tkzInterLC(I,i)(O,B) \tkzGetSecondPoint{M}
- \tkzDefPointWith[orthogonal](B,Z) \tkzGetPoint{b}
- \tkzDrawCircle(O,B)
- \tkzDrawLines[add = 0 and 2,color=orange](B,b)
- \tkzDrawSegments(A,X B,X B,Y C,Y A,C X,Y)
- \tkzDrawSegments[color=red](X,Z Y,Z)
- \tkzDrawPoints(A,B,C,X,Y,Z,M,I)
- \tkzLabelPoints(A,B,C,Z)
- \tkzLabelPoints[above right](X,Y,M,I)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.4.tex
deleted file mode 100644
index e2c28fa15d..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.4.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 229 (Section 30.1.4 : Triangle altitudes)
-
-\begin{tikzpicture}[scale=.8]
- \tkzDefPoint(0,0){C}
- \tkzDefPoint(7,0){B}
- \tkzDefPoint(5,6){A}
- \tkzDrawPolygon(A,B,C)
- \tkzDefMidPoint(C,B)
- \tkzGetPoint{I}
- \tkzDrawArc(I,B)(C)
- \tkzInterLC(A,C)(I,B)
- \tkzGetSecondPoint{B'}
- \tkzInterLC(A,B)(I,B)
- \tkzGetFirstPoint{C'}
- \tkzInterLL(B,B')(C,C')
- \tkzGetPoint{H}
- \tkzInterLL(A,H)(C,B)
- \tkzGetPoint{A'}
- \tkzDefCircle[circum](A,B',C')
- \tkzGetPoint{O}
- \tkzDrawCircle[color=red](O,A)
- \tkzDrawSegments[color=orange](B,B' C,C' A,A')
- \tkzMarkRightAngles(C,B',B B,C',C C,A',A)
- \tkzDrawPoints(A,B,C,A',B',C',H)
- \tkzLabelPoints(A,B,C,A',B',C',H)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.5.tex
deleted file mode 100644
index 68bedb7537..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.1.5.tex
+++ /dev/null
@@ -1,33 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 230 (Section 30.1.5 : Altitudes - other construction)
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(8,0){B}
- \tkzDefPoint(3.5,10){C}
- \tkzDefMidPoint(A,B)
- \tkzGetPoint{O}
- \tkzDefPointBy[projection=onto A--B](C)
- \tkzGetPoint{P}
- \tkzInterLC(C,A)(O,A)
- \tkzGetSecondPoint{M}
- \tkzInterLC(C,B)(O,A)
- \tkzGetFirstPoint{N}
- \tkzInterLL(B,M)(A,N)
- \tkzGetPoint{I}
- \tkzDrawCircle[diameter](A,B)
- \tkzDrawSegments(C,A C,B A,B B,M A,N)
- \tkzMarkRightAngles[fill=brown!20](A,M,B A,N,B A,P,C)
- \tkzDrawSegment[style=dashed,color=orange](C,P)
- \tkzLabelPoints(O,A,B,P)
- \tkzLabelPoint[left](M){$M$}
- \tkzLabelPoint[right](N){$N$}
- \tkzLabelPoint[above](C){$C$}
- \tkzLabelPoint[above right](I){$I$}
- \tkzDrawPoints[color=red](M,N,P,I)
- \tkzDrawPoints[color=brown](O,A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.1.tex
deleted file mode 100644
index e701c79437..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 231 (Section 30.2.1 : Square root of the integers)
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,0){a0}
- \tkzDrawSegment[blue](O,a0)
- \foreach \i [count=\j] in {0,...,10}{%
- \tkzDefPointWith[orthogonal normed](a\i,O)
- \tkzGetPoint{a\j}
- \tkzDrawPolySeg[color=blue](a\i,a\j,O)}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.10.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.10.tex
deleted file mode 100644
index 7ae1ec1a7f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.10.tex
+++ /dev/null
@@ -1,58 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 240 (Section 30.2.10 : Example 2: from Indonesia)
-
-\begin{tikzpicture}[pol/.style={fill=brown!40,opacity=.5},
- seg/.style={tkzdotted,color=gray},
- hidden pt/.style={fill=gray!40},
- mra/.style={color=gray!70,tkzdotted,/tkzrightangle/size=.2},
- scale=3]
- \tkzSetUpPoint[size=2]
- \tkzDefPoints{0/0/A,2.5/0/B,1.33/0.75/D,0/2.5/E,2.5/2.5/F}
- \tkzDefLine[parallel=through D](A,B) \tkzGetPoint{I1}
- \tkzDefLine[parallel=through B](A,D) \tkzGetPoint{I2}
- \tkzInterLL(D,I1)(B,I2) \tkzGetPoint{C}
- \tkzDefLine[parallel=through E](A,D) \tkzGetPoint{I3}
- \tkzDefLine[parallel=through D](A,E) \tkzGetPoint{I4}
- \tkzInterLL(E,I3)(D,I4) \tkzGetPoint{H}
- \tkzDefLine[parallel=through F](E,H) \tkzGetPoint{I5}
- \tkzDefLine[parallel=through H](E,F) \tkzGetPoint{I6}
- \tkzInterLL(F,I5)(H,I6) \tkzGetPoint{G}
- \tkzDefMidPoint(G,H) \tkzGetPoint{P}
- \tkzDefMidPoint(G,C) \tkzGetPoint{Q}
- \tkzDefMidPoint(B,C) \tkzGetPoint{R}
- \tkzDefMidPoint(A,B) \tkzGetPoint{S}
- \tkzDefMidPoint(A,E) \tkzGetPoint{T}
- \tkzDefMidPoint(E,H) \tkzGetPoint{U}
- \tkzDefMidPoint(A,D) \tkzGetPoint{M}
- \tkzDefMidPoint(D,C) \tkzGetPoint{N}
- \tkzInterLL(B,D)(S,R) \tkzGetPoint{L}
- \tkzInterLL(H,F)(U,P) \tkzGetPoint{K}
- \tkzDefLine[parallel=through K](D,H) \tkzGetPoint{I7}
- \tkzInterLL(K,I7)(B,D) \tkzGetPoint{O}
-
- \tkzFillPolygon[pol](P,Q,R,S,T,U)
- \tkzDrawSegments[seg](K,O K,L P,Q R,S T,U
- C,D H,D A,D M,N B,D)
- \tkzDrawSegments(E,H B,C G,F G,H G,C Q,R S,T U,P H,F)
- \tkzDrawPolygon(A,B,F,E)
- \tkzDrawPoints(A,B,C,E,F,G,H,P,Q,R,S,T,U,K)
- \tkzDrawPoints[hidden pt](M,N,O,D)
- \tkzMarkRightAngle[mra](L,O,K)
- \tkzMarkSegments[mark=|,size=1pt,thick,color=gray](A,S B,S B,R C,R
- Q,C Q,G G,P H,P
- E,U H,U E,T A,T)
-
- \tkzLabelAngle[pos=.3](K,L,O){$\alpha$}
- \tkzLabelPoints[below](O,A,S,B)
- \tkzLabelPoints[above](H,P,G)
- \tkzLabelPoints[left](T,E)
- \tkzLabelPoints[right](C,Q)
- \tkzLabelPoints[above left](U,D,M)
- \tkzLabelPoints[above right](L,N)
- \tkzLabelPoints[below right](F,R)
- \tkzLabelPoints[below left](K)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.11.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.11.tex
deleted file mode 100644
index 936ce71654..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.11.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 241 (Section 30.2.11 : Three circles)
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoints{0/0/A,8/0/B,0/4/a,8/4/b,8/8/c}
- \tkzDefTriangle[equilateral](A,B) \tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C)
- \tkzDefSquare(A,B) \tkzGetPoints{D}{E}
- \tkzClipBB
- \tkzDefMidPoint(A,B) \tkzGetPoint{M}
- \tkzDefMidPoint(B,C) \tkzGetPoint{N}
- \tkzDefMidPoint(A,C) \tkzGetPoint{P}
- \tkzDrawSemiCircle[gray,dashed](M,B)
- \tkzDrawSemiCircle[gray,dashed](A,M)
- \tkzDrawSemiCircle[gray,dashed](A,B)
- \tkzDrawCircle[gray,dashed](B,A)
- \tkzInterLL(A,N)(M,a) \tkzGetPoint{Ia}
- \tkzDefPointBy[projection = onto A--B](Ia)
- \tkzGetPoint{ha}
- \tkzDrawCircle[gray](Ia,ha)
- \tkzInterLL(B,P)(M,b) \tkzGetPoint{Ib}
- \tkzDefPointBy[projection = onto A--B](Ib)
- \tkzGetPoint{hb}
- \tkzDrawCircle[gray](Ib,hb)
- \tkzInterLL(A,c)(M,C) \tkzGetPoint{Ic}
- \tkzDefPointBy[projection = onto A--C](Ic)
- \tkzGetPoint{hc}
- \tkzDrawCircle[gray](Ic,hc)
- \tkzInterLL(A,Ia)(B,Ib) \tkzGetPoint{G}
- \tkzDrawCircle[gray,dashed](G,Ia)
- \tkzDrawPolySeg(A,E,D,B)
- \tkzDrawPoints(A,B,C)
- \tkzDrawPoints(G,Ia,Ib,Ic)
- \tkzDrawSegments[gray,dashed](C,M A,N B,P M,a M,b A,a a,b b,B A,D Ia,ha)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.12.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.12.tex
deleted file mode 100644
index 8be2c168cd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.12.tex
+++ /dev/null
@@ -1,50 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 242 (Section 30.2.12 : "The" Circle of APOLLONIUS)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefTriangleCenter[euler](A,B,C) \tkzGetPoint{N}
- \tkzDefTriangleCenter[circum](A,B,C) \tkzGetPoint{O}
- \tkzDefTriangleCenter[lemoine](A,B,C) \tkzGetPoint{K}
- \tkzDefTriangleCenter[spieker](A,B,C) \tkzGetPoint{Sp}
- \tkzDefExCircle(A,B,C) \tkzGetPoint{Jb}
- \tkzDefExCircle(C,A,B) \tkzGetPoint{Ja}
- \tkzDefExCircle(B,C,A) \tkzGetPoint{Jc}
- \tkzDefPointBy[projection=onto B--C ](Jc) \tkzGetPoint{Xc}
- \tkzDefPointBy[projection=onto B--C ](Jb) \tkzGetPoint{Xb}
- \tkzDefPointBy[projection=onto A--B ](Ja) \tkzGetPoint{Za}
- \tkzDefPointBy[projection=onto A--B ](Jb) \tkzGetPoint{Zb}
- \tkzDefLine[parallel=through Xc](A,C) \tkzGetPoint{X'c}
- \tkzDefLine[parallel=through Xb](A,B) \tkzGetPoint{X'b}
- \tkzDefLine[parallel=through Za](C,A) \tkzGetPoint{Z'a}
- \tkzDefLine[parallel=through Zb](C,B) \tkzGetPoint{Z'b}
- \tkzInterLL(Xc,X'c)(A,B) \tkzGetPoint{B'}
- \tkzInterLL(Xb,X'b)(A,C) \tkzGetPoint{C'}
- \tkzInterLL(Za,Z'a)(C,B) \tkzGetPoint{A''}
- \tkzInterLL(Zb,Z'b)(C,A) \tkzGetPoint{B''}
- \tkzDefPointBy[reflection= over Jc--Jb](B') \tkzGetPoint{Ca}
- \tkzDefPointBy[reflection= over Jc--Jb](C') \tkzGetPoint{Ba}
- \tkzDefPointBy[reflection= over Ja--Jb](A'')\tkzGetPoint{Bc}
- \tkzDefPointBy[reflection= over Ja--Jb](B'')\tkzGetPoint{Ac}
- \tkzDefCircle[circum](Ac,Ca,Ba) \tkzGetPoint{Q}
- \tkzDrawCircle[circum](Ac,Ca,Ba)
- \tkzDefPointWith[linear,K=1.1](Q,Ac) \tkzGetPoint{nAc}
- \tkzClipCircle[through](Q,nAc)
- \tkzDrawLines[add=1.5 and 1.5,dashed](A,B B,C A,C)
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPolygon[dashed,color=blue](Ja,Jb,Jc)
- \tkzDrawCircles[ex](A,B,C B,C,A C,A,B)
- \tkzDrawLines[add=0 and 0,dashed](Ca,Bc B,Za A,Ba B',C')
- \tkzDrawLine[add=1 and 1,dashed](Xb,Xc)
- \tkzDrawLine[add=7 and 3,blue](O,K)
- \tkzDrawLine[add=8 and 15,red](N,Sp)
- \tkzDrawLines[add=10 and 10](K,O N,Sp)
- \tkzDrawSegments(Ba,Ca Bc,Ac)
- \tkzDrawPoints(A,B,C,N,Ja,Jb,Jc,Xb,Xc,B',C',Za,Zb,Ba,Ca,Bc,Ac,Q,Sp,K,O)
- \tkzLabelPoints(A,B,C,N,Ja,Jb,Jc,Xb,Xc,B',C',Za,Zb,Ba,Ca,Bc,Ac,Q,Sp)
- \tkzLabelPoints[above](K,O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.2.tex
deleted file mode 100644
index f70246491f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.2.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 232 (Section 30.2.2 : About right triangle)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint["$A$" left](2,1){A}
- \tkzDefPoint(6,4){B}
- \tkzDrawSegment(A,B)
- \tkzDrawPoint[color=red](A)
- \tkzDrawPoint[color=red](B)
- \tkzDefPointWith[orthogonal,K=-1](B,A)
- \tkzDrawLine[add = .5 and .5](B,tkzPointResult)
- \tkzInterLC[R](B,tkzPointResult)(A,8 cm)
- \tkzGetPoints{C}{J}
- \tkzDrawPoint[color=red](C)
- \tkzCompass(A,C)
- \tkzMarkRightAngle(A,B,C)
- \tkzDrawLine[color=gray,style=dashed](A,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.3.tex
deleted file mode 100644
index 3d67985882..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.3.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 233 (Section 30.2.3 : Archimedes)
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){A}\tkzDefPoint(6,0){D}
- \tkzDefPoint(8,0){B}\tkzDefPoint(4,0){I}
- \tkzDefLine[orthogonal=through D](A,D)
- \tkzInterLC[R](D,tkzPointResult)(I,4 cm) \tkzGetFirstPoint{C}
- \tkzDefLine[orthogonal=through C](I,C) \tkzGetPoint{c}
- \tkzDefLine[orthogonal=through B](A,B) \tkzGetPoint{b}
- \tkzInterLL(C,c)(B,b) \tkzGetPoint{T}
- \tkzInterLL(A,T)(C,D) \tkzGetPoint{P}
- \tkzDrawArc(I,B)(A)
- \tkzDrawSegments(A,B A,T C,D I,C) \tkzDrawSegment[color=orange](I,C)
- \tkzDrawLine[add = 1 and 0](C,T) \tkzDrawLine[add = 0 and 1](B,T)
- \tkzMarkRightAngle(I,C,T)
- \tkzDrawPoints(A,B,I,D,C,T)
- \tkzLabelPoints(A,B,I,D) \tkzLabelPoints[above right](C,T)
- \tkzMarkSegment[pos=.25,mark=s|](C,D) \tkzMarkSegment[pos=.75,mark=s|](C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.4.tex
deleted file mode 100644
index ce6746584f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.4.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 234 (Section 30.2.4 : Example: Dimitris Kapeta)
-
-\begin{tikzpicture}[scale=1.25]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2.5,0){N}
- \tkzDefPoint(-4.2,0.5){M}
- \tkzDefPointBy[rotation=center O angle 30](N)
- \tkzGetPoint{B}
- \tkzDefPointBy[rotation=center O angle -50](N)
- \tkzGetPoint{A}
- \tkzInterLC(M,B)(O,N) \tkzGetFirstPoint{C}
- \tkzInterLC(M,A)(O,N) \tkzGetSecondPoint{A'}
- \tkzMarkAngle[mkpos=.2, size=0.5](A,C,B)
- \tkzMarkAngle[mkpos=.2, size=0.5](A,M,C)
- \tkzDrawSegments(A,C M,A M,B)
- \tkzDrawCircle(O,N)
- \tkzLabelCircle[above left](O,N)(120){$\mathcal{C}$}
- \tkzMarkAngle[mkpos=.2, size=1.2](C,A,M)
- \tkzDrawPoints(O, A, B, M, B, C)
- \tkzLabelPoints[right](O,A,B)
- \tkzLabelPoints[above left](M,C)
- \tkzLabelPoint[below left](A'){$A'$}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.5.tex
deleted file mode 100644
index c2ba7d9aa6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.5.tex
+++ /dev/null
@@ -1,36 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 235 (Section 30.2.5 : Example 1: John Kitzmiller )
-
-\begin{tikzpicture}[scale=2]
- \tkzDefPoint[label=below left:A](0,0){A}
- \tkzDefPoint[label=below right:B](6,0){B}
- \tkzDefTriangle[equilateral](A,B) \tkzGetPoint{C}
- \tkzMarkSegments[mark=|](A,B A,C B,C)
- \tkzDefBarycentricPoint(A=1,B=2) \tkzGetPoint{C'}
- \tkzDefBarycentricPoint(A=2,C=1) \tkzGetPoint{B'}
- \tkzDefBarycentricPoint(C=2,B=1) \tkzGetPoint{A'}
- \tkzInterLL(A,A')(C,C') \tkzGetPoint{J}
- \tkzInterLL(C,C')(B,B') \tkzGetPoint{K}
- \tkzInterLL(B,B')(A,A') \tkzGetPoint{L}
- \tkzLabelPoint[above](C){C}
- \tkzDrawPolygon(A,B,C) \tkzDrawSegments(A,J B,L C,K)
- \tkzMarkAngles[size=1 cm](J,A,C K,C,B L,B,A)
- \tkzMarkAngles[thick,size=1 cm](A,C,J C,B,K B,A,L)
- \tkzMarkAngles[opacity=.5](A,C,J C,B,K B,A,L)
- \tkzFillAngles[fill= orange,size=1 cm,opacity=.3](J,A,C K,C,B L,B,A)
- \tkzFillAngles[fill=orange, opacity=.3,thick,size=1,](A,C,J C,B,K B,A,L)
- \tkzFillAngles[fill=green, size=1, opacity=.5](A,C,J C,B,K B,A,L)
- \tkzFillPolygon[color=yellow, opacity=.2](J,A,C)
- \tkzFillPolygon[color=yellow, opacity=.2](K,B,C)
- \tkzFillPolygon[color=yellow, opacity=.2](L,A,B)
- \tkzDrawSegments[line width=3pt,color=cyan,opacity=0.4](A,J C,K B,L)
- \tkzDrawSegments[line width=3pt,color=red,opacity=0.4](A,L B,K C,J)
- \tkzMarkSegments[mark=o](J,K K,L L,J)
- \tkzLabelPoint[right](J){J}
- \tkzLabelPoint[below](K){K}
- \tkzLabelPoint[above left](L){L}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.6.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.6.tex
deleted file mode 100644
index 953da4ee5d..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.6.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 236 (Section 30.2.6 : Example 2: John Kitzmiller )
-
-\begin{tikzpicture}[scale=2,decoration={markings,
- mark=at position 3cm with {\arrow[scale=2]{>}}}]
- \tkzDefPoints{0/0/E, 6/0/F, 0/1.8/P, 6/1.8/Q, 0/3/R, 6/3/S}
- \tkzDrawLines[postaction={decorate}](E,F P,Q R,S)
- \tkzDefPoints{3.5/3/A, 5/3/B}
- \tkzDrawSegments(E,A F,B)
- \tkzInterLL(E,A)(P,Q) \tkzGetPoint{C}
- \tkzInterLL(B,F)(P,Q) \tkzGetPoint{D}
- \tkzLabelPoints[above right](A,B)
- \tkzLabelPoints[below](E,F)
- \tkzLabelPoints[above left](C)
- \tkzDrawSegments[style=dashed](A,F)
- \tkzInterLL(A,F)(P,Q) \tkzGetPoint{G}
- \tkzLabelPoints[above right](D,G)
- \tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](A,C A,G)
- \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](C,E G,F)
- \tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](B,D)
- \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](D,F)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.7.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.7.tex
deleted file mode 100644
index 824a01e5dd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.7.tex
+++ /dev/null
@@ -1,34 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 237 (Section 30.2.7 : Example 3: John Kitzmiller )
-
-\begin{tikzpicture}[scale=2]
- \tkzDefPoints{0/0/B, 5/0/D} \tkzDefPoint(70:3){A}
- \tkzDrawPolygon(B,D,A)
- \tkzDefLine[bisector](B,A,D) \tkzGetPoint{a}
- \tkzInterLL(A,a)(B,D) \tkzGetPoint{C}
- \tkzDefLine[parallel=through B](A,C) \tkzGetPoint{b}
- \tkzInterLL(A,D)(B,b) \tkzGetPoint{P}
- \begin{scope}[decoration={markings,
- mark=at position .5 with {\arrow[scale=2]{>}}}]
- \tkzDrawSegments[postaction={decorate},dashed](C,A P,B)
- \end{scope}
- \tkzDrawSegment(A,C) \tkzDrawSegment[style=dashed](A,P)
- \tkzLabelPoints[below](B,C,D) \tkzLabelPoints[above](A,P)
- \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](B,C P,A)
- \tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](C,D A,D)
- \tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](A,B)
- \tkzMarkAngles[size=3mm](B,A,C C,A,D)
- \tkzMarkAngles[size=3mm](B,A,C A,B,P)
- \tkzMarkAngles[size=3mm](B,P,A C,A,D)
- \tkzMarkAngles[size=3mm](B,A,C A,B,P B,P,A C,A,D)
- \tkzFillAngles[fill=green, opacity=0.5](B,A,C A,B,P)
- \tkzFillAngles[fill=yellow, opacity=0.3](B,P,A C,A,D)
- \tkzFillAngles[fill=green, opacity=0.6](B,A,C A,B,P B,P,A C,A,D)
- \tkzLabelAngle[pos=1](B,A,C){1} \tkzLabelAngle[pos=1](C,A,D){2}
- \tkzLabelAngle[pos=1](A,B,P){3} \tkzLabelAngle[pos=1](B,P,A){4}
- \tkzMarkSegments[mark=|](A,B A,P)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.8.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.8.tex
deleted file mode 100644
index 1717f0cfc6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.8.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 238 (Section 30.2.8 : Example 4: author John Kitzmiller )
-
-\begin{tikzpicture}[scale=2]
- \tkzDefPoint(0,3){A} \tkzDefPoint(6,3){E} \tkzDefPoint(1.35,3){B}
- \tkzDefPoint(4.65,3){D} \tkzDefPoint(1,1){G} \tkzDefPoint(5,5){F}
- \tkzDefMidPoint(A,E) \tkzGetPoint{C}
- \tkzFillPolygon[yellow, opacity=0.4](B,G,C)
- \tkzFillPolygon[yellow, opacity=0.4](D,F,C)
- \tkzFillPolygon[blue, opacity=0.3](A,B,G)
- \tkzFillPolygon[blue, opacity=0.3](E,D,F)
- \tkzMarkAngles[size=0.5 cm](B,G,A D,F,E)
- \tkzMarkAngles[size=0.5 cm](B,C,G D,C,F)
- \tkzMarkAngles[size=0.5 cm](G,B,C F,D,C)
- \tkzMarkAngles[size=0.5 cm](A,B,G E,D,F)
- \tkzFillAngles[size=0.5 cm,fill=green](B,G,A D,F,E)
- \tkzFillAngles[size=0.5 cm,fill=orange](B,C,G D,C,F)
- \tkzFillAngles[size=0.5 cm,fill=yellow](G,B,C F,D,C)
- \tkzFillAngles[size=0.5 cm,fill=red](A,B,G E,D,F)
- \tkzMarkSegments[mark=|](B,C D,C) \tkzMarkSegments[mark=s||](G,C F,C)
- \tkzMarkSegments[mark=o](A,G E,F) \tkzMarkSegments[mark=s](B,G D,F)
- \tkzDrawSegment[color=red](A,E)
- \tkzDrawSegment[color=blue](F,G)
- \tkzDrawSegments(A,G G,B E,F F,D)
- \tkzLabelPoints[below](C,D,E,G) \tkzLabelPoints[above](A,B,F)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.9.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.9.tex
deleted file mode 100644
index 70825cb132..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-30.2.9.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 239 (Section 30.2.9 : Example 1: from Indonesia)
-
-\begin{tikzpicture}[scale=3]
- \tkzDefPoints{0/0/A,2/0/B}
- \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
- \tkzDefPointBy[rotation=center D angle 45](C)\tkzGetPoint{G}
- \tkzDefSquare(G,D)\tkzGetPoints{E}{F}
- \tkzInterLL(B,C)(E,F)\tkzGetPoint{H}
- \tkzFillPolygon[gray!10](D,E,H,C,D)
- \tkzDrawPolygon(A,...,D)\tkzDrawPolygon(D,...,G)
- \tkzDrawSegment(B,E)
- \tkzMarkSegments[mark=|,size=3pt,color=gray](A,B B,C C,D D,A E,F F,G G,D D,E)
- \tkzMarkSegments[mark=||,size=3pt,color=gray](B,E E,H)
- \tkzLabelPoints[left](A,D)
- \tkzLabelPoints[right](B,C,F,H)
- \tkzLabelPoints[above](G)\tkzLabelPoints[below](E)
- \tkzMarkRightAngles(D,A,B D,G,F)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.1.tex
deleted file mode 100644
index 58fa13558b..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.1.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 243 (Section 31.1.1 : Example 1: change line width)
-
-\begin{tikzpicture}
- \tkzSetUpLine[color=blue,line width=1pt]
-\begin{scope}[rotate=-90]
- \tkzDefPoint(10,6){C}
- \tkzDefPoint( 0,6){A}
- \tkzDefPoint(10,0){B}
- \tkzDefPointBy[projection = onto B--A](C)
- \tkzGetPoint{H}
- \tkzDrawPolygon(A,B,C)
- \tkzMarkRightAngle[size=.4,fill=blue!20](B,C,A)
- \tkzMarkRightAngle[size=.4,fill=red!20](B,H,C)
- \tkzDrawSegment[color=red](C,H)
-\end{scope}
- \tkzLabelSegment[below](C,B){$a$}
- \tkzLabelSegment[right](A,C){$b$}
- \tkzLabelSegment[left](A,B){$c$}
- \tkzLabelSegment[color=red](C,H){$h$}
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints[above left](H)
- \tkzLabelPoints(B,C)
- \tkzLabelPoints[above](A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.2.tex
deleted file mode 100644
index f7978fd5d9..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.2.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 244 (Section 31.1.2 : Example 2: change style of line)
-
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoint(1,0){A} \tkzDefPoint(4,0){B}
- \tkzDefPoint(1,1){C} \tkzDefPoint(5,1){D}
- \tkzDefPoint(1,2){E} \tkzDefPoint(6,2){F}
- \tkzDefPoint(0,4){A'}\tkzDefPoint(3,4){B'}
- \tkzCalcLength[cm](C,D) \tkzGetLength{rCD}
- \tkzCalcLength[cm](E,F) \tkzGetLength{rEF}
- \tkzInterCC[R](A',\rCD cm)(B',\rEF cm)
- \tkzGetPoints{I}{J}
- \tkzSetUpLine[style=dashed,color=gray]
- \tkzDrawLine(A',B')
- \tkzCompass(A',B')
- \tkzDrawSegments(A,B C,D E,F)
- \tkzDrawCircle[R](A',\rCD cm)
- \tkzDrawCircle[R](B',\rEF cm)
- \tkzSetUpLine[color=red]
- \tkzDrawSegments(A',I B',I)
- \tkzDrawPoints(A,B,C,D,E,F,A',B',I,J)
- \tkzLabelPoints(A,B,C,D,E,F,A',B',I,J)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.3.tex
deleted file mode 100644
index 34476f6d05..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.1.3.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 245 (Section 31.1.3 : Example 3: extend lines)
-
-\begin{tikzpicture}
- \tkzSetUpLine[add=.5 and .5]
- \tkzDefPoints{0/0/A,4/0/B,1/3/C}
- \tkzDrawLines(A,B B,C A,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.1.tex
deleted file mode 100644
index 1b599cde55..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.1.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 246 (Section 31.2.1 : Use of \tkzcname{tkzSetUpPoint})
-
-\begin{tikzpicture}
- \tkzSetUpPoint[shape = cross out,color=blue]
- \tkzInit[xmax=100,xstep=20,ymax=.5]
- \tkzDefPoint(20,1){A}
- \tkzDefPoint(80,0){B}
- \tkzDrawLine(A,B)
- \tkzDrawPoints(A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.2.tex
deleted file mode 100644
index 73cd6a54c9..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.2.2.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 247 (Section 31.2.2 : Use of \tkzcname{tkzSetUpPoint} inside a group)
-
-\begin{tikzpicture}
- \tkzInit[ymin=-0.5,ymax=3,xmin=-0.5,xmax=7]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(02.25,04.25){B}
- \tkzDefPoint(4,0){C}
- \tkzDefPoint(3,2){D}
- \tkzDrawSegments(A,B A,C A,D)
- {\tkzSetUpPoint[shape=cross out,
- fill= teal!50,
- size=4,color=teal]
- \tkzDrawPoints(A,B)}
- \tkzSetUpPoint[fill= teal!50,size=4,
- color=teal]
- \tkzDrawPoints(C,D)
- \tkzLabelPoints(A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.1.tex
deleted file mode 100644
index 6c94964942..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.1.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 248 (Section 31.3.1 : Use of \tkzcname{tkzSetUpCompass} with bisector)
-
-\begin{tikzpicture}[scale=0.75]
- \tkzDefPoints{0/1/A, 8/3/B, 3/6/C}
- \tkzDrawPolygon(A,B,C)
- \tkzSetUpCompass[color=red,line width=.2 pt]
- \tkzDefLine[bisector](A,C,B) \tkzGetPoint{c}
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
- \tkzDefLine[bisector](C,B,A) \tkzGetPoint{b}
- \tkzShowLine[bisector,size=2,gap=3](A,C,B)
- \tkzShowLine[bisector,size=2,gap=3](B,A,C)
- \tkzShowLine[bisector,size=1,gap=2](C,B,A)
- \tkzDrawLines[add=0 and 0 ](B,b)
- \tkzDrawLines[add=0 and -.4 ](A,a C,c)
- \tkzLabelPoints(A,B) \tkzLabelPoints[above](C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.2.tex
deleted file mode 100644
index d0770c2c93..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.3.2.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 249 (Section 31.3.2 : Another example of of\tkzcname{tkzSetUpCompass})
-
-\begin{tikzpicture}[scale=1,rotate=90]
- \tkzDefPoints{0/1/A, 8/3/B, 3/6/C}
- \tkzDrawPolygon(A,B,C)
- \tkzSetUpCompass[color=brown,
- line width=.3 pt,style=tkzdotted]
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
- \tkzDefLine[bisector](C,B,A) \tkzGetPoint{b}
- \tkzInterLL(A,a)(B,b) \tkzGetPoint{I}
- \tkzDefPointBy[projection= onto A--B](I)
- \tkzGetPoint{H}
- \tkzMarkRightAngle(I,H,A)
- \tkzDrawCircle[radius,color=red](I,H)
- \tkzDrawSegments[color=red](I,H)
- \tkzDrawLines[add=0 and -.5,,color=red](A,a)
- \tkzDrawLines[add=0 and 0,color=red](B,b)
- \tkzShowLine[bisector,size=2,gap=3](B,A,C)
- \tkzShowLine[bisector,size=1,gap=3](C,B,A)
- \tkzLabelPoints(A,B)\tkzLabelPoints[left](C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.4.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.4.0.tex
deleted file mode 100644
index f7594210cd..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-31.4.0.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 250 (Section 31.4 : Own style)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(0,1){A}
- \tkzDrawPoints(O) % general style
- \tkzDrawPoints[mystyle,size=4](A) % my style
- \tkzLabelPoints(O,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.2.0.tex
deleted file mode 100644
index 99cf75ec36..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.2.0.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 251 (Section 32.2 : \tkzcname{tkzInit} and \tkzcname{tkzShowBB})
-
-\begin{tikzpicture}
- \tkzInit[xmin=-1,xmax=3,ymin=-1, ymax=3]
- \tkzGrid
- \tkzShowBB[red,line width=2pt]
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.3.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.3.0.tex
deleted file mode 100644
index d64141c801..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.3.0.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 252 (Section 32.3 : \tkzcname{tkzClip})
-
-\begin{tikzpicture}
- \tkzInit[xmax=4, ymax=3]
- \tkzAxeXY
- \tkzGrid
- \tkzClip
- \draw[red] (-1,-1)--(5,2);
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.4.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.4.0.tex
deleted file mode 100644
index be93fea5d0..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-32.4.0.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 253 (Section 32.4 : \tkzcname{tkzClip} and the option \tkzname{space})
-
-\begin{tikzpicture}
- \tkzInit[xmax=4, ymax=3]
- \tkzAxeXY
- \tkzGrid
- \tkzClip[space=1]
- \draw[red] (-1,-1)--(5,2);
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.0.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.0.0.tex
deleted file mode 100644
index c0de49d5e8..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.0.0.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 21 (Section 4 : Definition of a point)
-
-\begin{tikzpicture}[,scale=1]
- \tkzInit[xmax=5,ymax=5]
- \tkzDefPoints{0/0/O,1/0/I,0/1/J}
- \tkzDefPoint(40:4){P}
- \tkzDrawXY[noticks,>=triangle 45]
- \tkzDrawSegment[dim={$d$,
- 16pt,above=6pt}](O,P)
- \tkzDrawPoints(O,P)
- \tkzMarkAngle[mark=none,->](I,O,P)
- \tkzFillAngle[fill=blue!20,
- opacity=.5](I,O,P)
- \tkzLabelAngle[pos=1.25](I,O,P){$\alpha$}
- \tkzLabelPoint(P){$P (\alpha : d )$}
- \tkzDrawPoints[shape=cross](I,J)
- \tkzLabelPoints(O,I)
- \tkzLabelPoints[left](J)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.1.tex
deleted file mode 100644
index 37a2adf9a2..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.1.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 22 (Section 4.1.1 : Cartesian coordinates )
-
-\begin{tikzpicture}
- \tkzInit[xmax=5,ymax=5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(4,0){B}
- \tkzDefPoint(0,3){C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.2.tex
deleted file mode 100644
index 1d3db1934a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.2.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 23 (Section 4.1.2 : Calculations with \tkzNamePack{xfp})
-
-\begin{tikzpicture}[scale=1]
- \tkzInit[xmax=4,ymax=4]
- \tkzGrid
- \tkzDefPoint(-1+2,sqrt(4)){O}
- \tkzDefPoint({3*ln(exp(1))},{exp(1)}){A}
- \tkzDefPoint({4*sin(pi/6)},{4*cos(pi/6)}){B}
- \tkzDrawPoints[color=blue](O,B,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.3.tex
deleted file mode 100644
index e855f43720..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.3.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 24 (Section 4.1.3 : Polar coordinates )
-
-\begin{tikzpicture}
- \foreach \an [count=\i] in {0,60,...,300}
- { \tkzDefPoint(\an:3){A_\i}}
- \tkzDrawPolygon(A_1,A_...,A_6)
- \tkzDrawPoints(A_1,A_...,A_6)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.4.tex
deleted file mode 100644
index f6c2211947..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.4.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 25 (Section 4.1.4 : Calculations and coordinates)
-
-\begin{tikzpicture}[scale=.5]
- \foreach \an [count=\i] in {0,2,...,358}
- { \tkzDefPoint(\an:sqrt(sqrt(\an mm))){A_\i}}
- \tkzDrawPoints(A_1,A_...,A_180)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.5.tex
deleted file mode 100644
index 46e19dd738..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.1.5.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 26 (Section 4.1.5 : Relative points)
-
-\begin{tikzpicture}[scale=1]
- \tkzSetUpLine[color=blue!60]
- \begin{scope}[rotate=30]
- \tkzDefPoint(2,3){A}
- \begin{scope}[shift=(A)]
- \tkzDefPoint(90:5){B}
- \tkzDefPoint(30:5){C}
- \end{scope}
- \end{scope}
- \tkzDrawPolygon(A,B,C)
-\tkzLabelPoints[above](B,C)
-\tkzLabelPoints[below](A)
-\tkzDrawPoints(A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.1.tex
deleted file mode 100644
index c0c8f00be3..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.1.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 27 (Section 4.2.1 : Isosceles triangle with \tkzcname{tkzDefShiftPoint})
-
-\begin{tikzpicture}[rotate=-30]
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPoint[A](0:4){B}
- \tkzDefShiftPoint[A](30:4){C}
- \tkzDrawSegments(A,B B,C C,A)
- \tkzMarkSegments[mark=|,color=red](A,B A,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
- \tkzLabelPoints[above left](A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.2.tex
deleted file mode 100644
index ba8146983a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.2.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 28 (Section 4.2.2 : Equilateral triangle)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPoint[A](30:3){B}
- \tkzDefShiftPoint[A](-30:3){C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
- \tkzLabelPoints[above left](A)
- \tkzMarkSegments[mark=|,color=red](A,B A,C B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.3.tex
deleted file mode 100644
index 1e08116f73..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.2.3.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 29 (Section 4.2.3 : Parallelogram)
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(30:3){B}
- \tkzDefShiftPointCoord[B](10:2){C}
- \tkzDefShiftPointCoord[A](10:2){D}
- \tkzDrawPolygon(A,...,D)
- \tkzDrawPoints(A,...,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.4.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.4.0.tex
deleted file mode 100644
index 7e4708d5ec..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.4.0.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 30 (Section 4.4 : Create a triangle)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,4/0/B,4/3/C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.5.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.5.0.tex
deleted file mode 100644
index 4e4840dd96..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-4.5.0.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 31 (Section 4.5 : Create a square)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,2/0/B,2/2/C,0/2/D}
- \tkzDrawPolygon(A,...,D)
- \tkzDrawPoints(A,B,C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.1.1.tex
deleted file mode 100644
index f8e64c8c7f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.1.1.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 32 (Section 5.1.1 : Use of \tkzcname{tkzDefMidPoint})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(2,3){A}
- \tkzDefPoint(4,0){B}
- \tkzDefMidPoint(A,B) \tkzGetPoint{C}
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints[right](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.1.tex
deleted file mode 100644
index 3769b15dc9..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.1.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 33 (Section 5.2.1 : Using \tkzcname{tkzDefBarycentricPoint} with two points)
-
-\begin{tikzpicture}
- \tkzDefPoint(2,3){A}
- \tkzDefShiftPointCoord[2,3](30:4){B}
- \tkzDefBarycentricPoint(A=1,B=2)
- \tkzGetPoint{I}
- \tkzDrawPoints(A,B,I)
- \tkzDrawLine(A,B)
- \tkzLabelPoints(A,B,I)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.2.tex
deleted file mode 100644
index 4d9a504efa..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.2.2.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 34 (Section 5.2.2 : Using \tkzcname{tkzDefBarycentricPoint} with three points)
-
-\begin{tikzpicture}[scale=.8]
- \tkzDefPoint(2,1){A}
- \tkzDefPoint(5,3){B}
- \tkzDefPoint(0,6){C}
- \tkzDefBarycentricPoint(A=1,B=1,C=1)
- \tkzGetPoint{M}
- \tkzDefMidPoint(A,B) \tkzGetPoint{C'}
- \tkzDefMidPoint(A,C) \tkzGetPoint{B'}
- \tkzDefMidPoint(C,B) \tkzGetPoint{A'}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A',B',C')
- \tkzDrawPoints(A,B,C,M)
- \tkzDrawLines[add=0 and 1](A,M B,M C,M)
- \tkzLabelPoint(M){$M$}
- \tkzAutoLabelPoints[center=M](A,B,C)
- \tkzAutoLabelPoints[center=M,above right](A',B',C')
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.3.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.3.0.tex
deleted file mode 100644
index 38faf71e01..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-5.3.0.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 35 (Section 5.3 : Internal Similitude Center)
-
-\begin{tikzpicture}[scale=.75,rotate=-30]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(4,-5){A}
- \tkzDefIntSimilitudeCenter(O,3)(A,1)
- \tkzGetPoint{I}
- \tkzExtSimilitudeCenter(O,3)(A,1)
- \tkzGetPoint{J}
- \tkzDefTangent[from with R= I](O,3 cm)
- \tkzGetPoints{D}{E}
- \tkzDefTangent[from with R= I](A,1 cm)
- \tkzGetPoints{D'}{E'}
- \tkzDefTangent[from with R= J](O,3 cm)
- \tkzGetPoints{F}{G}
- \tkzDefTangent[from with R= J](A,1 cm)
- \tkzGetPoints{F'}{G'}
- \tkzDrawCircle[R,fill=red!50,opacity=.3](O,3 cm)
- \tkzDrawCircle[R,fill=blue!50,opacity=.3](A,1 cm)
- \tkzDrawSegments[add = .5 and .5,color=red](D,D' E,E')
- \tkzDrawSegments[add= 0 and 0.25,color=blue](J,F J,G)
- \tkzDrawPoints(O,A,I,J,D,E,F,G,D',E',F',G')
- \tkzLabelPoints[font=\scriptsize](O,A,I,J,D,E,F,G,D',E',F',G')
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.1.tex
deleted file mode 100644
index 763183c634..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.1.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 36 (Section 6.1.1 : Option \tkzname{ortho} or \tkzname{orthic})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,1){B}
- \tkzDefPoint(1,4){C}
- \tkzClipPolygon(A,B,C)
- \tkzDefTriangleCenter[ortho](B,C,A)
- \tkzGetPoint{H}
- \tkzDefSpcTriangle[orthic,name=H](A,B,C){a,b,c}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPoints(A,B,C,H)
- \tkzDrawLines[add=0 and 1](A,Ha B,Hb C,Hc)
- \tkzLabelPoint(H){$H$}
- \tkzAutoLabelPoints[center=H](A,B,C)
- \tkzMarkRightAngles(A,Ha,B B,Hb,C C,Hc,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.2.tex
deleted file mode 100644
index b637a48113..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.2.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 37 (Section 6.1.2 : Option \tkzname{centroid})
-
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoints{-1/1/A,5/1/B}
- \tkzDefEquilateral(A,B)
- \tkzGetPoint{C}
- \tkzDefTriangleCenter[centroid](A,B,C)
- \tkzGetPoint{G}
- \tkzDrawPolygon[color=brown](A,B,C)
- \tkzDrawPoints(A,B,C,G)
- \tkzDrawLines[add = 0 and 2/3](A,G B,G C,G)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.3.tex
deleted file mode 100644
index 684da82e65..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.3.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 38 (Section 6.1.3 : Option \tkzname{circum})
-
-\begin{tikzpicture}
- \tkzDefPoints{0/1/A,3/2/B,1/4/C}
- \tkzDefTriangleCenter[circum](A,B,C)
- \tkzGetPoint{G}
- \tkzDrawPolygon[color=brown](A,B,C)
- \tkzDrawCircle(G,A)
- \tkzDrawPoints(A,B,C,G)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.4.tex
deleted file mode 100644
index 40a50fbf06..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.4.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 39 (Section 6.1.4 : Option \tkzname{in})
-
-\begin{tikzpicture}
- \tkzDefPoints{0/1/A,3/2/B,1/4/C}
- \tkzDefTriangleCenter[in](A,B,C)\tkzGetPoint{I}
- \tkzDefPointBy[projection=onto A--C](I)
- \tkzGetPoint{Ib}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPoints(A,B,C,I)
- \tkzDrawLines[add = 0 and 2/3](A,I B,I C,I)
- \tkzDrawCircle(I,Ib)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.5.tex
deleted file mode 100644
index 92701dca99..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.5.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 40 (Section 6.1.5 : Option \tkzname{ex})
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/1/A,3/2/B,1/4/C}
- \tkzDefTriangleCenter[ex](B,C,A)
- \tkzGetPoint{J_c}
- \tkzDefPointBy[projection=onto A--B](J_c)
- \tkzGetPoint{Tc}
- %or
- % \tkzDefCircle[ex](B,C,A)
- % \tkzGetFirstPoint{J_c}
- % \tkzGetSecondPoint{Tc}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPoints(A,B,C,J_c)
- \tkzDrawCircle[red](J_c,Tc)
- \tkzDrawLines[add=1.5 and 0](A,C B,C)
- \tkzLabelPoints(J_c)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.6.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.6.tex
deleted file mode 100644
index 2caaafffe9..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.6.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 41 (Section 6.1.6 : Option \tkzname{euler})
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefSpcTriangle[medial,
- name=M](A,B,C){_A,_B,_C}
- \tkzDefTriangleCenter[euler](A,B,C)
- \tkzGetPoint{N} % I= N nine points
- \tkzDefTriangleCenter[ortho](A,B,C)
- \tkzGetPoint{H}
- \tkzDefMidPoint(A,H) \tkzGetPoint{E_A}
- \tkzDefMidPoint(C,H) \tkzGetPoint{E_C}
- \tkzDefMidPoint(B,H) \tkzGetPoint{E_B}
- \tkzDefSpcTriangle[ortho,name=H](A,B,C){_A,_B,_C}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawCircle(N,E_A)
- \tkzDrawSegments[blue](A,H_A B,H_B C,H_C)
- \tkzDrawPoints(A,B,C,N,H)
- \tkzDrawPoints[red](M_A,M_B,M_C)
- \tkzDrawPoints[blue]( H_A,H_B,H_C)
- \tkzDrawPoints[green](E_A,E_B,E_C)
- \tkzAutoLabelPoints[center=N,
- font=\scriptsize](A,B,C,%
- M_A,M_B,M_C,%
- H_A,H_B,H_C,%
- E_A,E_B,E_C)
- \tkzLabelPoints[font=\scriptsize](H,N)
- \tkzMarkSegments[mark=s|,size=3pt,
- color=blue,line width=1pt](B,E_B E_B,H)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.7.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.7.tex
deleted file mode 100644
index 0df63327ee..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.7.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 42 (Section 6.1.7 : Option \tkzname{symmedian})
-
-\begin{tikzpicture}
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzDefPoint(1,4){C}
- \tkzDefTriangleCenter[symmedian](A,B,C)\tkzGetPoint{K}
- \tkzDefTriangleCenter[median](A,B,C)\tkzGetPoint{G}
- \tkzDefTriangleCenter[in](A,B,C)\tkzGetPoint{I}
- \tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
- \tkzDefSpcTriangle[incentral,name=I](A,B,C){a,b,c}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawLines[add = 0 and 2/3,blue](A,K B,K C,K)
- \tkzDrawSegments[red,dashed](A,Ma B,Mb C,Mc)
- \tkzDrawSegments[orange,dashed](A,Ia B,Ib C,Ic)
- \tkzDrawLine[add=2 and 2](G,I)
- \tkzDrawPoints(A,B,C,K,G,I)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.8.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.8.tex
deleted file mode 100644
index 7c5a83fcbf..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.8.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 43 (Section 6.1.8 : Option \tkzname{nagel})
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/0/A,6/0/B,4/6/C}
- \tkzDefSpcTriangle[ex](A,B,C){Ja,Jb,Jc}
- \tkzDefSpcTriangle[extouch](A,B,C){Ta,Tb,Tc}
- \tkzDrawPoints(Ja,Jb,Jc,Ta,Tb,Tc)
- \tkzLabelPoints(Ja,Jb,Jc,Ta,Tb,Tc)
- \tkzDrawPolygon[blue](A,B,C)
- \tkzDefTriangleCenter[nagel](A,B,C) \tkzGetPoint{Na}
- \tkzDrawPoints[blue](B,C,A)
- \tkzDrawPoints[red](Na)
- \tkzLabelPoints[blue](B,C,A)
- \tkzLabelPoints[red](Na)
- \tkzDrawLines[add=0 and 1](A,Ta B,Tb C,Tc)
- \tkzShowBB\tkzClipBB
- \tkzDrawLines[add=1 and 1,dashed](A,B B,C C,A)
- \tkzDrawCircles[ex,gray](A,B,C C,A,B B,C,A)
- \tkzDrawSegments[dashed](Ja,Ta Jb,Tb Jc,Tc)
- \tkzMarkRightAngles[fill=gray!20](Ja,Ta,C
- Jb,Tb,A Jc,Tc,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.9.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.9.tex
deleted file mode 100644
index 1b3b13181a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-6.1.9.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 44 (Section 6.1.9 : Option \tkzname{mittenpunkt})
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/0/A,6/0/B,4/6/C}
- \tkzDefSpcTriangle[centroid](A,B,C){Ma,Mb,Mc}
- \tkzDefSpcTriangle[ex](A,B,C){Ja,Jb,Jc}
- \tkzDefSpcTriangle[extouch](A,B,C){Ta,Tb,Tc}
- \tkzDefTriangleCenter[mittenpunkt](A,B,C)
- \tkzGetPoint{Mi}
- \tkzDrawPoints(Ma,Mb,Mc,Ja,Jb,Jc)
- \tkzClipBB
- \tkzDrawPolygon[blue](A,B,C)
- \tkzDrawLines[add=0 and 1](Ja,Ma
- Jb,Mb Jc,Mc)
- \tkzDrawLines[add=1 and 1](A,B A,C B,C)
- \tkzDrawCircles[gray](Ja,Ta Jb,Tb Jc,Tc)
- \tkzDrawPoints[blue](B,C,A)
- \tkzDrawPoints[red](Mi)
- \tkzLabelPoints[red](Mi)
- \tkzLabelPoints[left](Mb)
- \tkzLabelPoints(Ma,Mc,Jb,Jc)
- \tkzLabelPoints[above left](Ja,Jc)
- \tkzShowBB
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.2.tex
deleted file mode 100644
index 4cdbb37312..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.2.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 45 (Section 7.0.2 : Example of point drawings)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(1,3){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(0,0){O}
- \tkzDrawPoint[color=red](A)
- \tkzDrawPoint[fill=blue!20,draw=blue](B)
- \tkzDrawPoint[color=green](O)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.3.tex
deleted file mode 100644
index 33ea4dcbaf..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.3.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 46 (Section 7.0.3 : First example)
-
-\begin{tikzpicture}
- \tkzDefPoint(1,3){A}
- \tkzDefPoint(4,1){B}
- \tkzDefPoint(0,0){C}
- \tkzDrawPoints[size=6,color=red,
- fill=red!50](A,B,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.4.tex
deleted file mode 100644
index 9ee9b5de99..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-7.0.4.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 47 (Section 7.0.4 : Second example)
-
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(2,3){A} \tkzDefPoint(5,-1){B}
- \tkzDefPoint[label=below:$\mathcal{C}$,
- shift={(2,3)}](-30:5.5){E}
- \begin{scope}[shift=(A)]
- \tkzDefPoint(30:5){C}
- \end{scope}
- \tkzCalcLength[cm](A,B)\tkzGetLength{rAB}
- \tkzDrawCircle[R](A,\rAB cm)
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
- \tkzLabelPoints[above](A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.1.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.1.1.tex
deleted file mode 100644
index 0a6b2a966f..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.1.1.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 48 (Section 8.1.1 : Use of option \tkzname{pos})
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,4/0/B}
- \tkzDrawLine[red](A,B)
- \tkzDefPointOnLine[pos=1.2](A,B)
- \tkzGetPoint{P}
- \tkzDefPointOnLine[pos=-0.2](A,B)
- \tkzGetPoint{R}
- \tkzDefPointOnLine[pos=0.5](A,B)
- \tkzGetPoint{S}
- \tkzDrawPoints(A,B,P)
- \tkzLabelPoints(A,B)
- \tkzLabelPoint[above](P){pos=$1.2$}
- \tkzLabelPoint[above](R){pos=$-.2$}
- \tkzLabelPoint[above](S){pos=$.5$}
- \tkzDrawPoints(A,B,P,R,S)
- \tkzLabelPoints(A,B)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.2.0.tex
deleted file mode 100644
index 75acbd5d7c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-8.2.0.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 49 (Section 8.2 : Point on a circle)
-
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,4/0/B,0.8/3/C}
- \tkzDefPointOnCircle[angle=90,center=B,radius=1 cm]
- \tkzGetPoint{I}
- \tkzDefCircle[circum](A,B,C)
- \tkzGetPoint{G} \tkzGetLength{rG}
- \tkzDefPointOnCircle[angle=30,center=G,radius=\rG pt]
- \tkzGetPoint{J}
- \tkzDrawCircle[R,teal](B,1cm)
- \tkzDrawPoint[teal](I)
- \tkzDrawPoints(A,B,C)
- \tkzDrawCircle(G,J)
- \tkzDrawPoints(G,J)
- \tkzDrawPoint[red](J)
- \tkzLabelPoints(G,J)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.0.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.0.tex
deleted file mode 100644
index 4b83d72a9a..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.0.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 50 (Section 9.2 : Example of translation)
-
-\begin{tikzpicture}[>=latex]
- \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){B}
- \tkzDefPoint(3,0){C}
- \tkzDefPointBy[translation= from B to A](C)
- \tkzGetPoint{D}
- \tkzDrawPoints[teal](A,B,C,D)
- \tkzLabelPoints[color=teal](A,B,C,D)
- \tkzDrawSegments[orange,->](A,B D,C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.1.tex
deleted file mode 100644
index 7d9517c803..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.1.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 51 (Section 9.2.1 : Example of reflection (orthogonal symmetry))
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{1.5/-1.5/C,-4.5/2/D}
- \tkzDefPoint(-4,-2){O}
- \tkzDefPoint(-2,-2){A}
- \foreach \i in {0,1,...,4}{%
- \pgfmathparse{0+\i * 72}
- \tkzDefPointBy[rotation=%
- center O angle \pgfmathresult](A)
- \tkzGetPoint{A\i}
- \tkzDefPointBy[reflection = over C--D](A\i)
- \tkzGetPoint{A\i'}}
- \tkzDrawPolygon(A0, A2, A4, A1, A3)
- \tkzDrawPolygon(A0', A2', A4', A1', A3')
- \tkzDrawLine[add= .5 and .5](C,D)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.2.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.2.tex
deleted file mode 100644
index 4d5341ddd6..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.2.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 52 (Section 9.2.2 : Example of \tkzname{homothety} and \tkzname{projection})
-
-\begin{tikzpicture}[scale=1.2]
- \tkzDefPoint(0,1){A} \tkzDefPoint(5,3){B} \tkzDefPoint(3,4){C}
- \tkzDefLine[bisector](B,A,C) \tkzGetPoint{a}
- \tkzDrawLine[add=0 and 0,color=magenta!50 ](A,a)
- \tkzDefPointBy[homothety=center A ratio .5](a) \tkzGetPoint{a'}
- \tkzDefPointBy[projection = onto A--B](a') \tkzGetPoint{k'}
- \tkzDefPointBy[projection = onto A--B](a) \tkzGetPoint{k}
- \tkzDrawLines[add= 0 and .3](A,k A,C)
- \tkzDrawSegments[blue](a',k' a,k)
- \tkzDrawPoints(a,a',k,k',A)
- \tkzDrawCircles(a',k' a,k)
- \tkzLabelPoints(a,a',k,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.3.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.3.tex
deleted file mode 100644
index 185d9cedad..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.3.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 53 (Section 9.2.3 : Example of projection)
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(0,4){B}
- \tkzDefTriangle[pythagore](B,A) \tkzGetPoint{C}
- \tkzDefLine[bisector](B,C,A) \tkzGetPoint{c}
- \tkzInterLL(C,c)(A,B) \tkzGetPoint{D}
- \tkzDefPointBy[projection=onto B--C](D) \tkzGetPoint{G}
- \tkzInterLC(C,D)(D,A) \tkzGetPoints{E}{F}
- \tkzDrawPolygon[teal](A,B,C)
- \tkzDrawSegment(C,D)
- \tkzDrawCircle(D,A)
- \tkzDrawSegment[orange](D,G)
- \tkzMarkRightAngle[fill=orange!20](D,G,B)
- \tkzDrawPoints(A,C,F) \tkzLabelPoints(A,C,F)
- \tkzDrawPoints(B,D,E,G)
- \tkzLabelPoints[above right](B,D,E,G)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.4.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.4.tex
deleted file mode 100644
index 639e23b392..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.4.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 54 (Section 9.2.4 : Example of symmetry)
-
-\begin{tikzpicture}[scale=1]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,-1){A}
- \tkzDefPoint(2,2){B}
- \tkzDefPointsBy[symmetry=center O](B,A){}
- \tkzDrawLine(A,A')
- \tkzDrawLine(B,B')
- \tkzMarkAngle[mark=s,arc=lll,
- size=2 cm,mkcolor=red](A,O,B)
- \tkzLabelAngle[pos=1,circle,draw,
- fill=blue!10](A,O,B){$60^{\circ}$}
- \tkzDrawPoints(A,B,O,A',B')
- \tkzLabelPoints(A,B,O,A',B')
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.5.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.5.tex
deleted file mode 100644
index fbd70534b5..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.5.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 55 (Section 9.2.5 : Example of rotation)
-
-\begin{tikzpicture}[scale=0.5]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(5,0){B}
- \tkzDrawSegment(A,B)
- \tkzDefPointBy[rotation=center A angle 60](B)
- \tkzGetPoint{C}
- \tkzDefPointBy[symmetry=center C](A)
- \tkzGetPoint{D}
- \tkzDrawSegment(A,tkzPointResult)
- \tkzDrawLine(B,D)
- \tkzDrawArc[orange,delta=10](A,B)(C)
- \tkzDrawArc[orange,delta=10](B,C)(A)
- \tkzDrawArc[orange,delta=10](C,D)(D)
- \tkzMarkRightAngle(D,B,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.6.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.6.tex
deleted file mode 100644
index 924a66ff76..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.6.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 56 (Section 9.2.6 : Example of rotation in radian)
-
-\begin{tikzpicture}
- \tkzDefPoint["$A$" left](1,5){A}
- \tkzDefPoint["$B$" right](5,2){B}
- \tkzDefPointBy[rotation in rad= center A angle pi/3](B)
- \tkzGetPoint{C}
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,B,C)
- \tkzCompass[color=red](A,C)
- \tkzCompass[color=red](B,C)
- \tkzLabelPoints(C)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.7.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.7.tex
deleted file mode 100644
index 7f4955b754..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.7.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 57 (Section 9.2.7 : Inversion of points)
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,0){A}
- \tkzDefPoint(-1.5,-1.5){z1}
- \tkzDefPoint(0.35,0){z2}
- \tkzDefPointBy[inversion =%
- center O through A](z1)
- \tkzGetPoint{Z1}
- \tkzDefPointBy[inversion =%
- center O through A](z2)
- \tkzGetPoint{Z2}
- \tkzDrawCircle(O,A)
- \tkzDrawPoints[color=black,
- fill=red,size=4](Z1,Z2)
- \tkzDrawSegments(z1,Z1 z2,Z2)
- \tkzDrawPoints[color=black,
- fill=red,size=4](O,z1,z2)
- \tkzLabelPoints(O,A,z1,z2,Z1,Z2)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.8.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.8.tex
deleted file mode 100644
index 0606dec824..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.2.8.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 58 (Section 9.2.8 : Point Inversion: Orthogonal Circles)
-
-\begin{tikzpicture}[scale=1.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(1,0){A}
- \tkzDrawCircle(O,A)
- \tkzDefPoint(0.5,-0.25){z1}
- \tkzDefPoint(-0.5,-0.5){z2}
- \tkzDefPointBy[inversion = %
- center O through A](z1)
- \tkzGetPoint{Z1}
- \tkzCircumCenter(z1,z2,Z1)
- \tkzGetPoint{c}
- \tkzDrawCircle(c,Z1)
- \tkzDrawPoints[color=black,
- fill=red,size=4](O,z1,z2,Z1,O,A)
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.3.1.tex b/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.3.1.tex
deleted file mode 100644
index 1ad547124c..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/examples/tkzEuclide-9.3.1.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{preamble-standalone.ltx}
-\begin{document}
-
-% Ex. No. 59 (Section 9.3.1 : Example of translation)
-
-\begin{tikzpicture}[>=latex]
- \tkzDefPoint(0,0){A} \tkzDefPoint(3,1){A'}
- \tkzDefPoint(3,0){B} \tkzDefPoint(1,2){C}
- \tkzDefPointsBy[translation= from A to A'](B,C){}
- \tkzDrawPolygon[color=blue](A,B,C)
- \tkzDrawPolygon[color=red](A',B',C')
- \tkzDrawPoints[color=blue](A,B,C)
- \tkzDrawPoints[color=red](A',B',C')
- \tkzLabelPoints(A,B,A',B')
- \tkzLabelPoints[above](C,C')
- \tkzDrawSegments[color = gray,->,
- style=dashed](A,A' B,B' C,C')
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
new file mode 100644
index 0000000000..fe8738e153
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
@@ -0,0 +1,205 @@
+% tkz-euclide.cfg
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
+% updated. Instead, put your changes in the entire copy of tkz-base.cfg
+% and save the file in a directory part of your TEXINPUTS environment
+% variable.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-euclide.cfg}
+%<------ colors ---------------------------------------–>
+\def\tkz@backgroundcolor{white}
+\def\tkz@textcolor{black}
+%<---------------------------------------------------------
+\def\tkz@fillcolor{\tkz@backgroundcolor}
+\def\tkz@mainlinecolor{\tkz@textcolor}
+\def\tkz@otherlinecolor{\tkz@mainlinecolor!50}
+%<------------------------- Cartesian system -----------------------------–>
+% Default unity cm
+% Geometry Euclidean with unity for x and y = 1cm ---> step = 1
+% 0 ≤ x ≤ 10
+% 0 ≤ y ≤ 10
+\def\tkz@init@xorigine{0}
+\def\tkz@init@yorigine{0}
+\def\tkz@init@xstep{1}
+\def\tkz@init@ystep{1}
+\def\tkz@init@xmin{0}
+\def\tkz@init@ymin{0}
+\def\tkz@init@xmax{10}
+\def\tkz@init@ymax{10}
+\def\tkz@init@xdec{1}
+\def\tkz@init@ydec{1}
+%<-------------------------- points -----------------------------------–>
+\def\tkz@euc@pointshape{circle}
+\def\tkz@euc@pointcolor{\tkz@mainlinecolor}
+\def\tkz@euc@labelcolor{\tkz@mainlinecolor}
+\def\tkz@euc@pointsize{3}
+\def\tkz@euc@pointpos{below right}
+\def\tkz@euc@segmentcolor{\tkz@mainlinecolor}
+\def\tkz@euc@circlecolor{\tkz@mainlinecolor}
+%<-------------------------- line ---------------------------------------–>
+\def\tkz@euc@linecolor{\tkz@mainlinecolor}
+\def\tkz@euc@linewidth{0.6pt}
+\def\tkz@euc@linestyle{solid}
+\def\tkz@euc@lineleft{.2}
+\def\tkz@euc@lineright{.2}
+%<------ axes cartesian system ---------------------------------------–>
+\def\tkz@init@color{\tkz@textcolor}
+\def\tkz@init@lw{0.4 pt}
+\def\tkz@init@tickwd{0.8 pt}
+\def\tkz@init@ticka{2 pt}
+\def\tkz@init@tickb{2 pt}
+\def\tkz@init@xlabel{$x$}
+\def\tkz@init@ylabel{$y$}
+\def\tkz@init@tickb{2 pt}
+\def\tkz@init@rightspace{.5}
+\def\tkz@init@leftspace{0}
+\def\tkz@init@upspace{.5}
+\def\tkz@init@downspace{0}
+\global\let\tkzmathstyle\displaystyle
+\def\tkz@legend@line@len{1cm}
+%<-------------------------- rep ---------------------------------------–>
+\def\tkz@sur@color{\tkz@mainlinecolor}
+\def\tkz@sur@colorlabel{\tkz@mainlinecolor}
+\def\tkz@sur@lw{0.8 pt}
+\def\tkz@sur@posxlabel{below=2pt}
+\def\tkz@sur@posylabel{left=2pt}
+%<-------------------------- grid ---------------------------------------–>
+\def\tkz@grid@color{gray}
+\def\tkz@grid@lw{0.4 pt}
+\def\tkzCoeffSubColor{50}
+\def\tkzCoeffSubLw{0.8}
+\def\tkz@grid@xstep{0.2}
+\def\tkz@grid@ystep{0.2}
+\def\tkz@init@gradsize{\textstyle}
+\def\tkzRatioLineGrid{0.75}
+\def\tkz@gd@sublw{0.4 pt}% size line sub grid
+%<------------------------- compass -----------------------------------–>
+\def\tkz@euc@compasscolor{\tkz@otherlinecolor}
+\def\tkz@euc@compasswidth{0.4pt}
+\def\tkz@euc@compassstyle{solid}
+%<------------------------- arc -----------------------------------–>
+\def\tkz@arc@lw{0.4pt}
+\def\tkz@arc@color{\tkz@mainlinecolor}
+\def\tkz@arc@style{solid}
+%<---------------------------- mark -----------------------------------–>
+\def\tkz@mk@color{\tkz@mainlinecolor}
+\def\tkz@mk@mark{*}
+\def\tkz@mk@size{3pt}
+\def\tkz@mk@fill{\tkz@otherlinecolor}
+%<--------------------------------------------------------------------------–>
+%<------------------------------ styles ---------------------------------–>
+\def\tkzSetUpStyle[#1]#2{\tikzset{#2/.style={#1}}}% add 2022
+
+\tikzset{xlabel style/.style = {below = 3 pt,
+ inner sep = 1pt,
+ outer sep = 0pt}
+ }
+\tikzset{ylabel style/.style = {left = 3 pt,
+ inner sep = 1pt,
+ outer sep = 0pt}}
+\tikzset{xaxe style/.style = {> = latex, ->}
+}
+\tikzset{yaxe style/.style = {> = latex, ->}
+}
+
+\tikzset{point style/.style = {draw = \tkz@euc@pointcolor,
+ inner sep = 0pt,
+ shape = \tkz@euc@pointshape,
+ minimum size = \tkz@euc@pointsize,
+ fill = \tkz@euc@pointcolor
+ }
+ }
+% label for the point
+\tikzset{label style/.style={ \tkz@euc@pointpos,
+ \tkz@euc@labelcolor,
+ font = \normalsize}
+ }
+\tikzset{label angle style/.style={ \tkz@euc@labelcolor,
+ font = \normalsize}
+ }
+\tikzset{line style/.style = {line width = \tkz@euc@linewidth,
+ color = \tkz@euc@linecolor,
+ style = \tkz@euc@linestyle,
+ add = {\tkz@euc@lineleft} and {\tkz@euc@lineright}%
+ }
+ }
+\tikzset{label seg style/.style = {color = \tkz@mainlinecolor,
+ auto
+ }
+ }
+
+\tikzset{rep style/.style = { ->,
+ >=latex}
+ }
+\tikzset{compass style/.style = {color = \tkz@euc@compasscolor,
+ line width = \tkz@euc@compasswidth,
+ style = \tkz@euc@compassstyle}
+ }
+\tikzset{mark style/.style = {mark = \tkz@mk@mark,
+ mark size = \tkz@mk@size,
+ mark options = {color= \tkz@mk@color,
+ fill = \tkz@mk@fill
+ }
+ }
+}
+\tikzset{arc style/.style={gray,thin}}
+%<---------------------- show coord -----------------------------------–>
+\tikzset{arrow coord style/.style = {dashed,
+ \tkz@euc@linecolor,
+ > = latex',
+ ->}
+ }
+\tikzset{xcoord style/.style = {\tkz@euc@labelcolor,
+ font = \normalsize,
+ text height = 1ex,
+ inner sep = 0pt,
+ outer sep = 0pt,
+ fill = \tkz@fillcolor,
+ below = 3pt}
+ }
+\tikzset{ycoord style/.style = {\tkz@euc@labelcolor,
+ font = \normalsize,
+ text height = 1ex,
+ inner sep = 0pt,
+ outer sep = 0pt,
+ fill = \tkz@fillcolor,
+ left = 3pt}
+ }
+%<--------------------------- vector --------------------------------------–>
+\tikzset{vector style/.style={>=latex,->}
+}
+\tikzset{tkzdotted/.style={%
+ dash pattern=on 0.4\pgflinewidth off #1\pgflinewidth,line cap=round, shorten >=#1\pgflinewidth/2,shorten <=#1\pgflinewidth/2,
+ tkzdotted/.default=8}}
+
+% \tikzset{tkzreverseclip/.style={insert path={%
+% (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb)}}}
+
+\tikzset{tkzreverseclip/.style={insert path={
+ (current bounding box.south west) --(current bounding box.north west)
+ --(current bounding box.north east) -- (current bounding box.south east)
+ -- cycle} }}
+
+\def\tkzPhi{1.618034}
+\def\tkzInvPhi{0.618034}
+\def\tkzSqrtPhi{1.27202}
+\def\tkzSqrTwo{1.414213}
+\def\tkzSqrThree{1.7320508}
+\def\tkzSqrFive{2.2360679}
+\def\tkzSqrTwobyTwo{0.7071065}
+\def\tkzPi{3.1415926}
+\def\tkzEuler{2.71828182}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
index 9507e2b1e6..9c27ae7620 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
@@ -1,78 +1,151 @@
-% tkz-euclide.sty (utf8 encoding)
-% Copyright 2020 Alain Matthes
+% tkz-euclide.sty
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later.
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-%
-% This work consists of the files:
-% tkz-euclide.sty
-% tkz-obj-eu-angles.tex
-% tkz-obj-eu-arcs.tex
-% tkz-obj-eu-circles.tex
-% tkz-obj-eu-compass.tex
-% tkz-obj-eu-draw-circles.tex
-% tkz-obj-eu-draw-lines.tex
-% tkz-obj-eu-draw-polygons.tex
-% tkz-obj-eu-lines.tex
-% tkz-obj-eu-points-by.tex
-% tkz-obj-eu-points-rnd.tex
-% tkz-obj-eu-points-with.tex
-% tkz-obj-eu-points.tex
-% tkz-obj-eu-polygons.tex
-% tkz-obj-eu-protractor.tex
-% tkz-obj-eu-sectors.tex
-% tkz-obj-eu-show.tex
-% tkz-obj-eu-triangles.tex
-% tkz-tools-angles.tex
-% tkz-tools-intersections.tex
-% tkz-tools-math.tex
-%<------------------------------------------------------------–>
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-euclide.sty}
+%<------------------------------------------------------------>
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-euclide.sty}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-euclide}[2020/03/18 3.06c for euclidan geometry ]
-\RequirePackage{tkz-base}
-\makeatletter
-\@ifpackagelater{tkz-base}{2020/03/18}{%
- % Package is new enough
-}{%
- \PackageError{tkz-euclide}{Package tkz-base is too old , you need a recent version}%
+\ProvidesPackage{tkz-euclide}[ 2022/01/04 4.00 for pure Euclidean Geometry ]
+
+\@ifpackageloaded{tkz-base}{
+\newdimen\tkzRadius
+\newdimen\tkzLength
+\newdimen\tkz@radi
+\newif\iftkz@line@normed
+\newif\ifnormtkzcode@execute% german ? right angle
+\newif\iftkz@swap@sc%---------------------- semi circle
+}{
+\RequirePackage{tikz}
+\usetikzlibrary{angles,
+ arrows,
+ arrows.meta,
+ calc,
+ decorations,
+ decorations.markings,
+ decorations.pathreplacing,
+ decorations.shapes,
+ decorations.text,
+ decorations.pathmorphing,
+ intersections,
+ plotmarks,
+ quotes,
+ shapes.misc
+ }
+\RequirePackage{xfp}
+%---------------------
+\newdimen\tkzRadius
+\newdimen\tkzLength
+\newdimen\tkz@radi
+%--------------------- tkz registres
+\newdimen\tkz@ax
+\newdimen\tkz@ay
+\newdimen\tkz@bx
+\newdimen\tkz@by
+\newdimen\tkz@cx
+\newdimen\tkz@cy
+\newdimen\tkz@dx
+\newdimen\tkz@dy
+%--------------------- points
+\newif\iftkz@polar\tkz@polarfalse
+\newif\iftkz@pt@polar
+\newif\iftkz@pt@show
+\newif\iftkz@pt@noname
+\newif\iftkz@coord@noxdraw
+\newif\iftkz@coord@noydraw
+\newif\iftkz@vec@normed
+%--------------------- lines
+\newif\iftkz@line@normed
+%--------------------- tkz axis
+\newif\iftkz@X@noticks
+\newif\iftkz@Y@noticks
+\newif\iftkz@X@nograd
+\newif\iftkz@Y@nograd
+\newif\iftkz@X@orig
+\newif\iftkz@Y@orig
+\newif\iftkz@X@unit
+\newif\iftkz@Y@unit
+\newif\iftkz@np
+\newif\iftkz@swap
+\newif\iftkz@init@NO
+\newif\iftkz@Rep@orig%--------------------- Rep
+\newif\iftkzLengthIncm%--------------------- Math
+\newif\iftkz@sop@show%--------------------- marks
+\newif\iftkz@equi@show
+\newif\iftkz@gd@sub% sub grid ?%--------------------- about grid
+\newif\iftkz@node\tkz@nodefalse
+\newif\iftkz@legend@line%--------------------- legend
+\newif\iftkz@TestSubString
+\newif\ifnormtkzcode@execute% german ? right angle
+\newif\iftkz@swap@sc%---------------------- semi circle
+\newif\ifpgf@unknown % math arith
+\newif\ifpgf@isaprime
+\newcount\tkz@cntmk
+\newif\iftkz@RappReturn % protractor
+\newif\iftkz@RappFull
+%--------------------- Init
+\def\tkz@xa{0}
+\def\tkz@xb{10}
+\def\tkz@ya{0}
+\def\tkz@yb{10}
+\def\tkz@mathresult{}
+\InputIfFileExists{tkz-euclide.cfg}{%
+\typeout{Local configuration file tkz-euclide.cfg found and used}}{%
+\typeout{tkz-euclide.cfg not found}}
}
-\makeatother
+%--------------------- Init
+\def\tkz@tmp@xa{-5}
+\def\tkz@tmp@xb{+5}
+\def\tkz@tmp@ya{-5}
+\def\tkz@tmp@yb{+5}
+%<---------------------------------------------------------->
+
\DeclareOption*{}
\ProcessOptions
-%<----------------------------------------------------------–>
+%<---------------------------------------------------------->
% Initialisation
-%<----------------------------------------------------------–>
-\input{tkz-tools-intersections}
-\input{tkz-tools-angles}
-\usetkzobj{%
- eu-angles,%
- eu-arcs,%
- eu-compass,%
- eu-circles,%
- eu-draw-circles,%
- eu-draw-lines,%
- eu-draw-polygons,%
- eu-draw-triangles,%
- eu-lines,%
- eu-points,%
- eu-points-by,%
- eu-points-rnd,%
- eu-points-with,%
- eu-polygons,%
- eu-protractor,%
- eu-sectors,%
- eu-show,%
- eu-triangles}
-\endinput \ No newline at end of file
+%<---------------------------------------------------------->
+\@ifpackageloaded{tkz-base}{}{%
+% from base
+\input{tkz-tools-eu-base.tex}
+\input{tkz-tools-eu-utilities.tex}
+\input{tkz-tools-eu-BB.tex}
+\input{tkz-obj-eu-grids.tex}
+\input{tkz-lib-eu-marks.tex}
+\input{tkz-tools-eu-text.tex}
+\input{tkz-lib-eu-shape.tex}
+\input{tkz-obj-eu-axesmin.tex}
+\input{tkz-tools-eu-colors.tex}
+\input{tkz-obj-eu-points.tex}
+}
+% next from euclide
+\input{tkz-tools-eu-math.tex}
+\input{tkz-tools-eu-intersections}
+\input{tkz-tools-eu-angles}
+\input{tkz-obj-eu-compass.tex}
+\input{tkz-obj-eu-circles.tex}
+\input{tkz-obj-eu-circles-by.tex}
+\input{tkz-obj-eu-draw-angles.tex}
+\input{tkz-obj-eu-draw-circles.tex}
+\input{tkz-obj-eu-draw-lines.tex}
+\input{tkz-obj-eu-draw-polygons.tex}
+\input{tkz-obj-eu-draw-triangles.tex}
+\input{tkz-obj-eu-lines.tex}
+\input{tkz-obj-eu-points-by.tex}
+\input{tkz-obj-eu-points-rnd.tex}
+\input{tkz-obj-eu-points-spc.tex}
+\input{tkz-obj-eu-points-with.tex}
+\input{tkz-obj-eu-polygons.tex}
+\input{tkz-obj-eu-protractor.tex}
+\input{tkz-obj-eu-sectors.tex}
+\input{tkz-obj-eu-show.tex}
+\input{tkz-obj-eu-triangles}
+\endinput
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
new file mode 100644
index 0000000000..f78e764632
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
@@ -0,0 +1,122 @@
+% tkz-eu-lib-marks.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-lib-eu-marks.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% Création des symboles
+%<--------------------------------------------------------------------------–>
+\def\tkz@undefined{none}
+% double bar
+\pgfdeclareplotmark{||}
+{%
+ \pgfpathmoveto{\pgfqpoint{2\pgflinewidth}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-2\pgflinewidth}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-2\pgflinewidth}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+%triple bar
+\pgfdeclareplotmark{|||}
+{%
+ \pgfpathmoveto{\pgfqpoint{0 pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0 pt}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-3\pgflinewidth}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-3\pgflinewidth}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{3\pgflinewidth}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{3\pgflinewidth}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+% An bar slant
+
+\pgfdeclareplotmark{s|}
+{%
+ \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}%
+ {-.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}%
+ {.70710678\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+% An double bar slant
+
+\pgfdeclareplotmark{s||}
+{%
+ \pgfpathmoveto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0.25\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{1\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+\pgfdeclareplotmark{s|||}
+{%
+ \pgfpathmoveto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0.25\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{1\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{1.75\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+% z
+\pgfdeclareplotmark{z}
+{%
+ \pgfpathmoveto{\pgfqpoint{0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0.75\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-0.75\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+% s
+\pgfdeclareplotmark{s}
+{%
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{-\pgfplotmarksize}{\pgfplotmarksize}}
+ {\pgfpoint{\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{\pgfplotmarksize}{-\pgfplotmarksize}}
+ {\pgfpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+% infinity
+\pgfdeclareplotmark{oo}
+{%
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{.5\pgfplotmarksize}{1\pgfplotmarksize}}
+ {\pgfpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{-.5\pgfplotmarksize}{1\pgfplotmarksize}}
+ {\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{.5\pgfplotmarksize}{-1\pgfplotmarksize}}
+ {\pgfpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{-.5\pgfplotmarksize}{-1\pgfplotmarksize}}
+ {\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfusepathqstroke
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
new file mode 100644
index 0000000000..234ba5084f
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
@@ -0,0 +1,51 @@
+% tkz-lib-eu-shape.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-lib-eu-shape.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% Création des symboles
+%<--------------------------------------------------------------------------–>
+% define a new shape for the points
+\pgfdeclareshape{cross}
+{%
+ \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
+ \inheritanchorborder[from=rectangle]
+ \inheritanchor[from=rectangle]{north}
+ \inheritanchor[from=rectangle]{north west}
+ \inheritanchor[from=rectangle]{north east}
+ \inheritanchor[from=rectangle]{center}
+ \inheritanchor[from=rectangle]{west}
+ \inheritanchor[from=rectangle]{east}
+ \inheritanchor[from=rectangle]{mid}
+ \inheritanchor[from=rectangle]{mid west}
+ \inheritanchor[from=rectangle]{mid east}
+ \inheritanchor[from=rectangle]{base}
+ \inheritanchor[from=rectangle]{base west}
+ \inheritanchor[from=rectangle]{base east}
+ \inheritanchor[from=rectangle]{south}
+ \inheritanchor[from=rectangle]{south west}
+ \inheritanchor[from=rectangle]{south east}
+ \foregroundpath{
+% store lower right in xa/ya and upper right in xb/yb
+ \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgfpathmoveto{\pgfqpoint{0 pt}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{0 pt}{\pgf@yb}}
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0 pt}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{0 pt}}
+ }
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-angles.tex
deleted file mode 100644
index 75b8bf6c92..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-angles.tex
+++ /dev/null
@@ -1,297 +0,0 @@
-% tkz-tool-eu-angles.tex
-% Copyright 2020 Alain Matthes
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status “maintained”.
-%
-% The Current Maintainer of this work is Alain Matthes.
-
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tool-eu-angles.tex}
-\makeatletter
-%<--------------------------------------------------------------------------–>
-\newdimen\tkz@arcsize% from julian julian@d-and-j.net
-\newdimen\tkz@fillsize
-%<-------------------------------------------------------------------------–>
-
-%<--------------------------------------------------------------------------–>
-% tkzDrawArcRAN >
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcRAN[#1](#2,#3)(#4,#5){%
-\begingroup
- \draw[shift = {(#2)},/tkzdrawarc/.cd,#1] (#4:#3) arc (#4:#5:#3);
-\endgroup
-}
-%<--------------- tkzPathArcRAN ----------------------------------
-\def\tkzPathArcRAN[#1](#2,#3)(#4,#5){%
-\begingroup
- \path[shift = {(#2)},/tkzdrawarc/.cd,#1] (#4:#3) arc (#4:#5:#3);
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Mark an angle modi 3.03 suppression de \tkz@mksize,
-%<--------------------------------------------------------------------------–>
-% \tkzMarkAngle(B, A, C)
-%
-% Marque d'angle
-% arc de cercle (simple/double/triple) et marque d'églité.
-%
-% Par défaut:
-% arc = simple
-% size = 1cm (rayon de l'arc)
-% style traits pleins
-% mkpos ? position: 0.5 (position de la marque)
-% mark rien du tout (ignoré si type est utilisé)
-%
-% Paramètres (optionnels)
-% arc : l, ll, lll
-% mksize : 1cm
-% gap : 3pt
-% dist ?
-% style : type de traits
-% type : none, |, ||,|||, z, s, x, o, oo
-% position: 0.5
-% mark : none , |, ||,|||, z, s, x, o, oo mais tous les
-% % symboles de tikz sont permis
-%<------------------------- Label on angle -------------------------------–>
-\def\tkz@arcsimple{l}
-\def\tkz@arcdouble{ll}
-\def\tkz@arctriple{lll}
-
-%\tikzset{lbstyle/.style = {color=\tkz@mainlinecolor}}
-
-\pgfkeys{/tkzmkangle/.cd,
- arc/.estore in = \tkz@arc,
- size/.store in = \tkz@size,
- mark/.store in = \tkz@markang,
- mkpos/.estore in = \tkz@mkpos,
- mksize/.store in = \tkz@mksize,
- mkcolor/.store in = \tkz@mkcolor,
- arc = l,
- size = 1 cm,
- mark = |,
- mksize = 4pt,
- mkcolor = black,
- mkpos = 0.5,
- /tkzmkangle/.search also={/tikz}
-} \def\tkzMarkAngle{\pgfutil@ifnextchar[{\tkz@MarkAngle}{\tkz@MarkAngle[]}}
-\def\tkz@MarkAngle[#1](#2,#3,#4){%
-\begingroup
-\pgfqkeys{/tkzmkangle}{#1}
-
-\tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz@dirOne}
-\tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz@dirTwo}
-\tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
-
-% les marques, aucune si mktype = none
-\def\tkz@mymark{\pgfuseplotmark{\tkz@markang}}
-% draw the arcs
-\begin{scope}[decoration= {markings,
- mark=at position \tkz@mkpos with {\tkz@mymark}}]
- \ifx\tkz@arc\tkz@arcsimple
- \tkzDrawArcRAN[#1,fill=none,postaction={decorate}]%
- (#3,\tkz@size)(\tkz@FirstAngle,\tkz@SecondAngle)
- \else
- \ifx\tkz@arc\tkz@arcdouble
- \tkzDrawArcRAN[#1,fill=none](#3,\tkz@size-1.5\pgflinewidth)%
- (\tkz@FirstAngle,\tkz@SecondAngle)
- \tkzPathArcRAN[#1,fill=none,postaction={decorate}]%
- (#3,\tkz@size)(\tkz@FirstAngle,\tkz@SecondAngle)%
- \tkzDrawArcRAN[#1,fill=none](#3,\tkz@size+1.5\pgflinewidth)%
- (\tkz@FirstAngle,\tkz@SecondAngle)%
- \else
- \ifx\tkz@arc\tkz@arctriple
- \tkzDrawArcRAN[#1,fill=none,postaction={decorate}]%
- (#3,\tkz@size)(\tkz@FirstAngle,\tkz@SecondAngle)%
- \tkzDrawArcRAN[#1,fill=none](#3,\tkz@size-2.5\pgflinewidth)%
- (\tkz@FirstAngle,\tkz@SecondAngle)%
- \tkzDrawArcRAN[#1,fill=none](#3,\tkz@size+2.5\pgflinewidth)%
- (\tkz@FirstAngle,\tkz@SecondAngle)%
- \fi
- \fi
- \fi
-\end{scope}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% multiple
-\def\tkz@multiMA#1 #2\@nil{%
- \protected@edef\tkz@temp{
- \noexpand \tkzMarkAngle[\tkz@optma](#1)}\tkz@temp%
- \def\tkz@nextArg{#2}%
- \ifx\tkzutil@empty\tkz@nextArg
- \let\next\@gobble
- \fi
- \next#2\@nil
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzMarkAngles{\pgfutil@ifnextchar[{\tkz@MarkAngles}{\tkz@MarkAngles[]}}
-\def\tkz@MarkAngles[#1](#2){%
-\xdef\tkz@optma{#1}
- \begingroup
- \let\next\tkz@multiMA
- \next#2 \@nil %
-\endgroup
-}
-% fin de \tkzMarkAngle
-%<--------------------------------------------------------------------------–>
-% FillAngle
-%<--------------------------------------------------------------------------–>
-\pgfkeys{/tkzFill/.cd,
- size/.store in = \tkz@size,
- size = 1 cm,
- /tkzFill/.search also = {/tikz}
- }
-
-\def\tkzFillAngle{\pgfutil@ifnextchar[{\tkz@FillAngle}{\tkz@FillAngle[]}}
-\def\tkz@FillAngle[#1](#2,#3,#4){%
-\begingroup
-\pgfqkeys{/tkzFill}{#1}
- \tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz@dirOne}
- \tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz@dirTwo}
- \tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
- \path[shift = {(#3)},/tkzFill/.cd,#1]%
- (#3) -- (\tkz@FirstAngle:\tkz@size) arc%
- (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@size)--cycle;
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% multiple
-\def\tkz@multiFA#1 #2\@nil{\protected@edef\tkz@temp{%
- \noexpand \tkzFillAngle[\tkz@optfa](#1)}%
- \tkz@temp%
- \def\tkz@nextArg{#2}%
- \ifx\tkzutil@empty\tkz@nextArg
- \let\next\@gobble
- \fi
- \next#2\@nil
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzFillAngles{\pgfutil@ifnextchar[{\tkz@MFillAngles}{\tkz@MFillAngles[]}}
-\def\tkz@MFillAngles[#1](#2){%
-\xdef\tkz@optfa{#1}
-\begingroup
- \let\next\tkz@multiFA
- \next#2 \@nil %
-\endgroup
-}
-%<------------------------- Label on angle -------------------------------–>
-\pgfkeys{/tkzlabelangle/.cd,
- dist/.store in = \tkzlabeldist,
- angle/.store in = \tkzlabelangle,
- dist = 1,
- angle = {},
- /tkzlabelangle/.search also={/tikz}
-}
-\def\tkzLabelAngle{\pgfutil@ifnextchar[{\tkz@LabelAngle}{\tkz@LabelAngle[]}}
-\def\tkz@LabelAngle[#1](#2,#3,#4)#5{%2016 added normalize from karu's code
-\begingroup
- \pgfqkeys{/tkzlabelangle}{#1}
- \ifx\tkzutil@empty\tkzlabelangle% no value so calc angle of bisector
- \tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz@dirOne}
- \tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz@dirTwo}
- \tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
- \edef\tkzlabelAngle{\fpeval{(\tkz@SecondAngle+\tkz@FirstAngle)/2}}
- \fi
- \path (#3) --+(\tkzlabelAngle:\tkzlabeldist) node[/tkzlabelangle/.cd,#1] {#5};
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% multiple labels
-\def\tkz@multiLBA#1 #2\@nil{%
- \protected@edef\tkz@temp{
- \noexpand \tkzLabelAngle[\tkz@optlba](#1){\tkz@labelangle}}\tkz@temp%
- \def\tkz@nextArg{#2}%
- \ifx\tkzutil@empty\tkz@nextArg
- \let\next\@gobble
- \fi
- \next#2\@nil
-}
-% %<---------------------------------------------------------------------
-\def\tkzLabelAngles{\pgfutil@ifnextchar[{\tkz@LabelAngles}{%
- \tkz@LabelAngles[]}}
-\def\tkz@LabelAngles[#1](#2)#3{%
- \def\tkz@optlba{#1}
- \def\tkz@labelangle{#3}
- \begingroup
- \let\next\tkz@multiLBA
- \next#2 \@nil %
- \endgroup
-}
-%<-----------------------------------------------------------------------
-% Symbole droites perpendiculaires
-%<----------------------------------------------------------------------
-\pgfkeys{/tkzrightangle/.cd,
- norm tkz code/.is if = normtkzcode@execute,
- german/.code = \normtkzcode@executefalse,
- size/.store in = \tkz@ra@size,
- dotsize/.store in = \tkz@dotsize,
- size = .25,
- dotsize = 3 pt,
- /tkzrightangle/.search also={/tikz},
-}
-\newcommand*{\tkzMarkRightAngle}[1][]{\tkz@RightAngle[#1]}
-\def\tkz@RightAngle[#1](#2,#3,#4){%
-\begingroup
-\normtkzcode@executetrue
-\pgfqkeys{/tkzrightangle}{#1}
- \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#3}{center}}{%
- \pgfpointanchor{#2}{center}}}
- \tkz@ax=\pgf@x\relax%
- \tkz@ay=\pgf@y\relax%
- \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#3}{center}}{%
- \pgfpointanchor{#4}{center}}}
- \tkz@bx=\pgf@x\relax%
- \tkz@by=\pgf@y\relax%
- \ifnormtkzcode@execute%
- \draw[/tkzrightangle/.cd,#1]
- (#3) --++( 28.45274*\tkz@ra@size\tkz@ax , 28.45274*\tkz@ra@size\tkz@ay)
- --++( 28.45274*\tkz@ra@size\tkz@bx , 28.45274*\tkz@ra@size\tkz@by)
- --++(-28.45274*\tkz@ra@size\tkz@ax ,-28.45274*\tkz@ra@size\tkz@ay)
- -- (#3);
- \else%
- % find angles
- \tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz@dirOne}
- \tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz@dirTwo}
- \tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
- \edef\tkzCircleAngle{\fpeval{(\tkz@SecondAngle+\tkz@FirstAngle)/2}}
- \tkzDrawArcRAN[/tkzrightangle/.cd,#1](#3,\tkz@ra@size)%
- (\tkz@FirstAngle,\tkz@SecondAngle)
- \path (#3) --+ (\tkzCircleAngle:\tkz@ra@size/2)
- node[fill,circle,minimum size=\tkz@dotsize,
- inner sep=0 pt,/tkzrightangle/.cd,#1] {};
-\fi%
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-\def\tkz@multiRA#1 #2\@nil{%
-\protected@edef\tkz@temp{
- \noexpand \tkzMarkRightAngle[\tkz@optRA](#1)}\tkz@temp%
-\def\tkz@nextArg{#2}%
- \ifx\tkzutil@empty\tkz@nextArg
- \let\next\@gobble
- \fi
-\next#2\@nil
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzMarkRightAngles{\pgfutil@ifnextchar[{\tkz@RightAngles}{%
- \tkz@RightAngles[]}}
-\def\tkz@RightAngles[#1](#2){%
-\xdef\tkz@optRA{#1}
-\begingroup
- \let\next\tkz@multiRA
- \next#2 \@nil %
-\endgroup
-}
-
-\makeatother
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-arcs.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-arcs.tex
deleted file mode 100644
index 2302fbbc61..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-arcs.tex
+++ /dev/null
@@ -1,178 +0,0 @@
-% tkz-obj-eu-arcs.tex
-% Copyright 2020 Alain Matthes
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status “maintained”.
-%
-% The Current Maintainer of this work is Alain Matthes.
-
-
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/23}
-\typeout{2020/03/23 3.06c tkz-obj-eu-arcs.tex}
-\makeatletter
-%<------------------------------ Arcs -------------------------------------–
-% options : delta
-% \def\tkz@delta{0}
-% \tikzset{arc style/.style={#1}}
-% \pgfkeys{/tikz/.cd,delta/.code={\def\tkz@delta{#1}}}
-\tikzset{arc style/.style={gray,thin}}
-\gdef\tkz@numa{0}
-\pgfkeys{/tkzdrawarc/.cd,
- type/.is choice,
- type/towards/.code = \def\tkz@numa{0},
- type/rotate/.code = \def\tkz@numa{1},
- type/angles/.code = \def\tkz@numa{2},
- type/R/.code = \def\tkz@numa{3},
- type/R with nodes/.code = \def\tkz@numa{4},
- towards/.style = {type=towards},
- rotate/.style = {type=rotate},
- R/.style = {type=R},
- angles/.style = {type=angles},
- R with nodes/.style = {type=R with nodes},
- diameter/.code = {},
- arc/.code = {},
- size/.code = {},
- mark/.code = {},
- mkpos/.code = {},
- mksize/.code = {},
- mkcolor/.code = {},
- type/.default = towards,
- delta/.store in = \tkz@delta,
- delta = 0,
- /tkzdrawarc/.search also = {/tikz}
-}
-\def\tkzDrawArc{\pgfutil@ifnextchar[{\tkz@DrawArc}{\tkz@DrawArc[]}}
-\def\tkz@DrawArc[#1](#2,#3)(#4){%
-\begingroup
-\pgfqkeys{/tkzdrawarc}{#1}
-\ifcase\tkz@numa%
- \tkzDrawArcTowards[#1](#2,#3)(#4)
-\or% 1
- \tkzDrawArcRotate[#1](#2,#3)(#4)
-\or% 2
- \tkzDrawArcAngles[#1](#2,#3)(#4)
-\or% 3
- \tkzDrawArcRAngles[#1](#2,#3)(#4)
- \or% 4
- \tkzDrawArcR[#1](#2,#3)(#4)
-\fi
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% ARC nodes #2 center #3 first point last point #4
-% delta un peu plus à chaque extrémité
-% example : \tkzDrawArc(A,B)(C)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcTowards{\pgfutil@ifnextchar[{\tkz@DrawArcN}{\tkz@DrawArcN[]}}
-\def\tkz@DrawArcN[#1](#2,#3)(#4){%
-\begingroup
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@radius}
- \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstAngle,\tkz@SecondAngle)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% nodes #2 center #3 first point rotate #4 with Angle
-% delta un peu plus à chaque extrémité
-% tkzDrawArcRotate(O,A)(60)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcRotate{\pgfutil@ifnextchar[{\tkz@DrawArcRotate}{%
- \tkz@DrawArcRotate[]}}
-\def\tkz@DrawArcRotate[#1](#2,#3)(#4){%
-\begingroup
- \tkzCalcLength(#2,#3) \tkzGetLength{tkz@radius}
- \tkzFindSlopeAngle(#2,#3) \tkzGetAngle{tkz@FirstA}
- \pgfmathadd{\tkz@FirstA}{#4}
- \edef\tkz@SecondA{\pgfmathresult}
- \pgfmathgreaterthan{#4}{0}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstA,\tkz@SecondA)
- \else
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@SecondA,\tkz@FirstA)
- \fi
- \endgroup
-}
-%<--------------------------------------------------------------------------–>
-% deux angles
-% \tkzDrawArcAngles(O,A)(0,60)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcAngles{\pgfutil@ifnextchar[{\tkz@DrawArcAngles}{%
- \tkz@DrawArcAngles[]}}
-\def\tkz@DrawArcAngles[#1](#2,#3)(#4,#5){%
-\begingroup
- \tkzCalcLength(#2,#3)
- \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult pt)(#4,#5)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Degree #2 center #4 - #3 radius from #5 (degree) to #6(degree)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcRwithNodes{\pgfutil@ifnextchar[{\tkz@DrawArcRwithNodes}{%
- \tkz@DrawArcRwithNodes[]}}
-\def\tkz@DrawArcRwithNodes[#1](#2,#3,#4)(#5,#6){%
-\begingroup
- \tkzCalcLength(#3,#4)
- \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#6)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult)(\tkz@FirstAngle,\tkz@SecondAngle)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Nodes R #2 center #3 radius en cm from #4(node) to #5(node)
-% \tkzDrawArcR(O,2 cm)(A,B)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcR{\pgfutil@ifnextchar[{\tkz@DrawArcR}{\tkz@DrawArcR[]}}
-\def\tkz@DrawArcR[#1](#2,#3)(#4,#5){%
-\begingroup
- \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,#3)(\tkz@FirstAngle,\tkz@SecondAngle)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% #1 center #2 radius #4 first angle (degree) #5 second angle (degree)
-% angles 0 .. 180 or -180 .. 0
-%<--------------------------------------------------------------------------–>
-% example : \tkzDrawArc(A,2 cm)(30,90)
-\def\tkzDrawArcRAngles{\pgfutil@ifnextchar[{\tkz@DrawArcRAngles}{%
- \tkz@DrawArcRAngles[]}}
-\def\tkz@DrawArcRAngles[#1](#2,#3)(#4,#5){%
- \begingroup
- \pgfmathparse{#4}\edef\tkz@FirstAngle{\pgfmathresult}%
- \pgfmathparse{#5}\edef\tkz@SecondAngle{\pgfmathresult}%
- \pgfmathgreaterthan{\tkz@FirstAngle}{0}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathsubtract{\tkz@FirstAngle}{360}
- \edef\tkz@FirstAngle{\pgfmathresult}%
- \fi
- \else
- \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathadd{\tkz@SecondAngle}{360}
- \edef\tkz@SecondAngle{\pgfmathresult}%
- \fi
- \fi
- \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
- \edef\tkz@FirstAngle{\pgfmathresult}%
- \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
- \edef\tkz@SecondAngle{\pgfmathresult}
- \draw[shift = {(#2)},arc style,/tkzdrawarc/.cd,#1]%
- (\tkz@FirstAngle:#3) arc (\tkz@FirstAngle:\tkz@SecondAngle:#3);
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-
-\makeatother
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
new file mode 100644
index 0000000000..2c230a6f07
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
@@ -0,0 +1,171 @@
+% tkz-obj-eu-axesmin.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-axesmin}
+
+\makeatletter
+\newif\ifinteger
+\def\removedot#1.{#1}
+\newcommand\tkzgetinteger[1]{\expandafter\tkz@getinteger#1.\@nil}
+\def\tkz@getinteger#1.#2\@nil{%
+ \ifx\empty#2\empty
+ \integertrue
+ \else
+ \ifnum\removedot#2=0
+ \integertrue
+ \else
+ \integerfalse
+ \fi
+ \fi
+}
+
+%<--------------------------------------------------------------------------–>
+% Setup axe
+%<--------------------------------------------------------------------------–>
+\pgfkeys{tkzaxis/.cd,
+ line width/.code = \xdef\tkz@sua@lw{#1},
+ color/.code = \xdef\tkz@sua@color{#1},
+ tickwd/.code = \xdef\tkz@sua@tickwd{#1},
+ ticka/.code = \xdef\tkz@sua@ticka{#1},
+ tickb/.code = \xdef\tkz@sua@tickb{#1},
+ line width = \tkz@init@lw,
+ color = \tkz@init@color,
+ tickwd = \tkz@init@tickwd,
+ ticka = \tkz@init@ticka,
+ tickb = \tkz@init@tickb
+}
+
+\def\tkzSetUpAxis{\pgfutil@ifnextchar[{\tkz@SetUpAxis}{\tkz@SetUpAxis[]}}
+\def\tkz@SetUpAxis[#1]{%
+\begingroup
+\pgfqkeys{/tkzaxis}{#1}
+\global\let\tkz@init@lw\tkz@sua@lw
+\global\let\tkz@init@gradsize\tkz@sua@gradsize
+\global\let\tkz@init@color\tkz@sua@color
+\global\let\tkz@init@tickwd\tkz@sua@tickwd
+\global\let\tkz@init@ticka\tkz@sua@ticka
+\global\let\tkz@init@tickb\tkz@sua@tickb
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% tkzDrawX todo améliorer les unités
+% sans doute à revoir loop from 0 to i then calcul dans la boucle de la position
+% et de l'affichage
+%<--------------------------------------------------------------------------–>
+\pgfkeys{%
+ /tkzdrawX/.cd,
+ color/.store in = \tkz@X@color,
+ label/.store in = \tkz@X@label,
+ right space/.store in = \tkz@axe@rxspace,
+ left space/.store in = \tkz@axe@lxspace,
+ step/.code = {\edef\tkz@posnext{\fpeval{#1}}},
+ color = \tkz@init@color,
+ label = \tkz@init@xlabel,
+ step = \tkz@init@xstep,
+ right space = \tkz@init@rightspace, %???
+ left space = \tkz@init@leftspace,
+ noticks/.is if = tkz@X@noticks,
+ noticks/.default = true,
+ noticks = true,
+ tickwd/.store in = \tkz@X@tickwd,
+ tickup/.store in = \tkz@X@tickup,
+ tickdn/.store in = \tkz@X@tickdn,
+ tickwd = \tkz@init@tickwd,
+ tickup = \tkz@init@ticka,
+ tickdn = \tkz@init@tickb,
+ /tkzdrawX/.search also={/tikz},
+ }
+
+\def\tkzDrawX{\pgfutil@ifnextchar[{\tkz@DrawX}{\tkz@DrawX[]}}
+\def\tkz@DrawX[#1]{
+\begingroup%
+\pgfqkeys{/tkzdrawX}{#1}
+\edef\tkz@posmax{\fpeval{trunc(\tkz@xb,\tkz@init@xdec)}}
+\edef\tkz@posmin{\fpeval{trunc(\tkz@xa,\tkz@init@xdec)}}
+\edef\tkz@xbsup{\fpeval{\tkz@xb+\tkz@axe@rxspace}}
+\edef\tkz@xainf{\fpeval{\tkz@xa-\tkz@axe@lxspace}}
+\path (\tkz@xainf,0)--(\tkz@xbsup,0) node(tkz@xline){};
+\draw[xaxe style,
+ color = \tkz@X@color,
+ /tkzdrawX/.cd, #1] (\tkz@xainf,0)--(\tkz@xbsup,0)
+ node[ xlabel style,
+ /tkzdrawX/.cd,
+ #1]{\tkz@X@label};
+ \iftkz@X@noticks
+ \else
+ \edef\tkz@posmax{\fpeval{trunc(\tkz@posmax,\tkz@init@xdec)}}
+ \edef\tkz@posnext{\fpeval{\tkz@posnext/\tkz@init@xstep+\tkz@posmin}}
+ \foreach \pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \edef\tkz@pos{\fpeval{\pos*1}}% ???
+ \draw[ color = \tkz@X@color, line width = \tkz@X@tickwd,
+ shift = {(\tkz@pos,0)}]%
+ (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn);
+ }
+ \fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% tkzDrawY todo améliorer les unités
+%<--------------------------------------------------------------------------–>
+\pgfkeys{%
+ /tkzdrawY/.cd,
+ color/.store in = \tkz@Y@color,
+ label/.store in = \tkz@Y@label,
+ up space/.store in = \tkz@axe@uyspace,
+ down space/.store in = \tkz@axe@dyspace,
+ step/.code = {\edef\tkz@posnext{\fpeval{#1}}},
+ color = \tkz@init@color,
+ label = \tkz@init@ylabel,
+ step = \tkz@init@ystep,
+ up space = \tkz@init@upspace,
+ down space = \tkz@init@downspace,
+ noticks/.is if = tkz@Y@noticks,
+ noticks/.default = true,
+ noticks = true,
+ tickwd/.store in = \tkz@Y@tickwd,
+ ticklt/.store in = \tkz@Y@ticklt,
+ tickrt/.store in = \tkz@Y@tickrt,
+ tickwd = \tkz@init@tickwd,
+ ticklt = \tkz@init@tickb,
+ tickrt = \tkz@init@ticka,
+ /tkzdrawY/.search also={/tikz},
+ }
+
+\def\tkzDrawY{\pgfutil@ifnextchar[{\tkz@DrawY}{\tkz@DrawY[]}}
+\def\tkz@DrawY[#1]{%
+\begingroup
+\pgfkeys{/tkzdrawY/.cd,step = \tkz@init@ystep}
+\pgfqkeys{/tkzdrawY}{#1}
+\edef\tkz@posmax{\fpeval{trunc(\tkz@yb,\tkz@init@ydec)}}
+\edef\tkz@posmin{\fpeval{trunc(\tkz@ya,\tkz@init@ydec)}}
+\edef\tkz@ybsup{\fpeval{\tkz@yb+\tkz@axe@uyspace}}
+\edef\tkz@yainf{\fpeval{\tkz@ya-\tkz@axe@dyspace}}
+\path (0,\tkz@yainf)--(0,\tkz@ybsup) node(tkz@yline){};
+\draw[color = \tkz@Y@color,
+ yaxe style,/tkzdrawY/.cd,#1] (0,\tkz@yainf)--(0,\tkz@ybsup)
+ node[ylabel style,/tkzdrawY/.cd,#1]{\tkz@Y@label};
+ \iftkz@Y@noticks
+ \else
+ \edef\tkz@posmax{\fpeval{trunc(\tkz@posmax,\tkz@init@ydec)}}
+ \edef\tkz@posnext{\fpeval{\tkz@posnext/\tkz@init@ystep+\tkz@posmin}}
+ \foreach \tkz@pos in {\tkz@posmin,\tkz@posnext,...,\tkz@posmax}{%
+ \draw[color = \tkz@Y@color,
+ line width = \tkz@Y@tickwd,
+ shift = {(0,\tkz@pos)}]%
+ (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt);}
+
+ \fi
+\endgroup}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
new file mode 100644
index 0000000000..c4824009ce
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
@@ -0,0 +1,161 @@
+% tkz-obj-eu-circles.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-circles.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% tkzCircle center and one point
+%<--------------------------------------------------------------------------–>
+% attention radius circle is defined by center and a point on the circle
+% R defined by center and the value of the radius
+% no need to define a circle with R tikz uses this method.
+% through instead of radius
+\def\tkz@numcby{0}
+\pgfkeys{/tkzDefCircleBy/.cd,
+ translation/.code args = {from #1 to #2} { \def\tkz@numcby{0}
+ \def\tkzfrom{#1}
+ \def\tkzto{#2}},
+ homothety/.code args = {center #1 ratio #2}{ \def\tkz@numcby{1}
+ \def\tkzcenter{#1}
+ \def\tkzratio{#2}},
+ reflection/.code args = {over #1--#2}{ \def\tkz@numcby{2}
+ \def\tkzdeb{#1}
+ \def\tkzfin{#2}},
+ symmetry/.code args = {center #1}{ \def\tkz@numcby{3}
+ \def\tkzcenter{#1}},
+ rotation/.code args = {center #1 angle #2}{ \def\tkz@numcby{4}
+ \def\tkzcenter{#1}
+ \def\tkzangle{#2}},
+ orthogonal from/.code args = {#1}{ \def\tkz@numcby{5}
+ \def\tkz@ptfrom{#1}},
+ orthogonal through/.code args = {#1 and #2}{ \def\tkz@numcby{6}
+ \def\tkz@ptone{#1}
+ \def\tkz@pttwo{#2}},
+ inversion/.code args={center #1 through #2}{ \def\tkz@numcby{7}
+ \def\tkzcenter{#1}
+ \def\tkzpoint{#2}}
+ }
+\def\tkzDefCircleBy{\pgfutil@ifnextchar[{\tkz@DefCircleBy}{\tkz@DefCircleBy[]}}
+\def\tkz@DefCircleBy[#1](#2){%
+\begingroup
+\pgfqkeys{/tkzDefCircleBy}{#1}
+\ifcase\tkz@numcby%
+ \tkzDefCircleTranslation(#2)%
+ \or% 1
+ \tkzDefCircleHomothety(#2)
+ \or% 2
+ \tkzDefCircleReflection(#2)
+ \or% 3
+ \tkzDefCircleSymmetry(#2)
+ \or% 4
+ \tkzDefCircleRotation(#2)
+ \or% 5
+ \tkzDefOrthogonalCircle(#2,\tkz@ptfrom)
+ \or% 6
+ \tkzDefOrthoThroughCircle(#2,\tkz@ptone,\tkz@pttwo)
+ \or% 7
+ \tkzDefInversionCircle(#2,\tkzcenter,\tkzpoint)
+ \fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleTranslation(#1,#2){%
+\begingroup
+ \tkzUTranslation(\tkzfrom,\tkzto)(#1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUTranslation(\tkzfrom,\tkzto)(#2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleHomothety(#1,#2){%
+\begingroup
+ \tkzUHomo(\tkzcenter,\tkzratio)(#1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUHomo(\tkzcenter,\tkzratio)(#2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleReflection(#1,#2){%
+\begingroup
+ \tkzUSymOrth(\tkzdeb,\tkzfin)(#1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUSymOrth(\tkzdeb,\tkzfin)(#2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleSymmetry(#1,#2){%
+\begingroup
+ \tkzUCSym(\tkzcenter)(#1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUCSym(\tkzcenter)(#2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleRotation(#1,#2){%
+\begingroup
+ \tkzURotateAngle(\tkzcenter,\tkzangle)(#1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzURotateAngle(\tkzcenter,\tkzangle)(#2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefOrthogonalCircle(#1,#2,#3){%
+\begingroup
+ \tkzTgtFromP(#1,#2)(#3)
+ \tkz@@CalcLengthcm(#1,tkzFirstPointResult){tkzLengthResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefOrthoThroughCircle(#1,#2,#3,#4){%
+\begingroup
+ \tkz@@CalcLengthcm(#1,#3){tkz@lnb}%
+ \edef\tkz@lnc{\fpeval{1/\tkz@lnb}}
+ \tkzVecKNorm[\tkz@lnc](#1,#3)
+ \pgfnodealias{tkz@PointResult}{tkzPointResult}
+ \tkzCircumCenter(tkz@PointResult,#3,#4)
+ \tkz@@CalcLength(tkzPointResult,#3){tkzLengthResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefInversionCircle(#1,#2,#3,#4){%
+\begingroup
+ \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz@p1}{tkz@p2}
+ \tkzUInversePoint(#3,#4)(tkz@p1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUInversePoint(#3,#4)(tkz@p2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% \def\tkzDefInversionNegativeCircle(#1,#2,#3,#4){%
+% \begingroup
+% \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz@p1}{tkz@p2}
+% \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz@p1)
+% \tkzUCSym(\tkzcenter)(tkzPointResult)
+% \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+% \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz@p2)
+% \tkzUCSym(\tkzcenter)(tkzPointResult)
+% \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+% \endgroup
+% }
+%<--------------------------------------------------------------------------–>
+% End Def Circle
+%<--------------------------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
index 78e98afa8f..b6b2b80005 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-circles.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,15 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-circles.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
@@ -42,7 +39,7 @@
\def\tkz@numc{8}},
spieker/.code = \def\tkz@numc{9},
K/.code = \def\tkz@koeff{#1},
- K = 1,
+ K = 1,
through
}
\def\tkzDefCircle{\pgfutil@ifnextchar[{\tkz@DefCircle}{\tkz@DefCircle[]}}
@@ -72,13 +69,40 @@
\fi
\endgroup
}
+%for compatibility
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleR(#1,#2){%
+\begingroup
+ \edef\tkzLengthResult{\fpeval{round(#2,5)}}
+ \global\let\tkzLengthResult\tkzLengthResult
+ \tkzRenamePoint(#1){tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Through Circle center and point
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleThrough(#1,#2){%
+\begingroup
+ \tkz@@CalcLengthcm(#1,#2){tkzLengthResult}
+ \tkzRenamePoint(#1){tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Diameter Circle
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleD(#1,#2){%
+\begingroup
+ \tkzDefMidPoint(#1,#2)
+ \tkz@@CalcLengthcm(#1,tkzPointResult){tkzLengthResult}
+\endgroup
+}
%<--------------------------------------------------------------------------–>
% Circum Circle
%<--------------------------------------------------------------------------–>
\def\tkzDefCircumCircle(#1,#2,#3){%
\begingroup
\tkzCircumCenter(#1,#2,#3)
- \tkzCalcLength(#1,tkzPointResult)
+ \tkz@@CalcLengthcm(#1,tkzPointResult){tkzLengthResult}%3.06 add [cm]
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -90,7 +114,7 @@
\pgfnodealias{tkz@incenter}{tkzPointResult}
\tkzUProjection(#1,#3)(tkz@incenter)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \tkzCalcLength(tkzPointResult,tkz@incenter)
+ \tkz@@CalcLengthcm(tkzPointResult,tkz@incenter){tkzLengthResult}
\pgfnodealias{tkzPointResult}{tkz@incenter}
\pgfnodealias{tkzFirstPointResult}{tkz@incenter}
\endgroup
@@ -104,7 +128,7 @@
\pgfnodealias{tkz@excenter}{tkzPointResult}
\tkzUProjection(#1,#3)(tkz@excenter)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \tkzCalcLength(tkzPointResult,tkz@excenter)% for tkzGetLength
+ \tkz@@CalcLengthcm(tkzPointResult,tkz@excenter){tkzLengthResult}% for tkzGetLength
\pgfnodealias{tkzPointResult}{tkz@excenter}
\pgfnodealias{tkzFirstPointResult}{tkz@excenter}
\endgroup
@@ -128,7 +152,7 @@
\tkzDefMidPoint(#2,#3) \pgfnodealias{tkz@e2}{tkzPointResult}
\tkzDefMidPoint(#1,#3) \pgfnodealias{tkz@e3}{tkzPointResult}
\tkzCircumCenter(tkz@e1,tkz@e2,tkz@e3)
- \tkzCalcLength(tkzPointResult,tkz@e1)
+ \tkz@@CalcLengthcm(tkzPointResult,tkz@e1){tkzLengthResult}
\endgroup
}
\let\tkzDefNinePointsCircle\tkzEulerCircle%
@@ -139,7 +163,7 @@
\tkzEulerCenter(#1,#2,#3)
\pgfnodealias{eur@pta}{tkzPointResult}
\tkzDefMidPoint(#1,#2)
- \tkzCalcLength(eur@pta,tkzPointResult)
+ \tkz@@CalcLengthcm(eur@pta,tkzPointResult){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -152,7 +176,7 @@
\tkz@VecK[\tkz@koeff/(\tkz@koeff-1)](#1,#2)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult)
- \tkzCalcLength(tkzPointResult,tkzFirstPointResult)
+ \tkz@@CalcLengthcm(tkzPointResult,tkzFirstPointResult){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -172,7 +196,7 @@
\tkz@VecK[\tkz@koeff/(\tkz@koeff-1)](#2,#3)
\pgfnodealias{apo@ptb}{tkzPointResult}
\tkzDefMidPoint(apo@pta,apo@ptb)
- \tkzCalcLength(tkzPointResult,apo@pta)
+ \tkz@@CalcLengthcm(tkzPointResult,apo@pta){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -212,18 +236,18 @@
\def\tkzDefOrthogonalCircle(#1,#2,#3){%
\begingroup
\tkzTgtFromP(#1,#2)(#3)
- \tkzCalcLength[cm](#1,tkzFirstPointResult)
+ \tkz@@CalcLengthcm(#1,tkzFirstPointResult){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
\def\tkzDefOrthoThroughCircle(#1,#2,#3,#4){%
\begingroup
- \tkzCalcLength[cm](#1,#3)\tkzGetLength{tkz@lnb}%
- \edef\tkz@lnc{\fpeval{1/\tkz@lnb}}
+ \tkz@@CalcLengthcm(#1,#3){tkz@lnb}%
+ \edef\tkz@lnc{\fpeval{1/\tkz@lnb}}
\tkzVecKNorm[\tkz@lnc](#1,#3)
\pgfnodealias{tkz@PointResult}{tkzPointResult}
\tkzCircumCenter(tkz@PointResult,#3,#4)
- \tkzCalcLength(tkzPointResult,#3)
+ \tkz@@CalcLength(tkzPointResult,#3){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -235,11 +259,33 @@
\pgfnodealias{tkz@spka}{tkzPointResult}
\tkzDefMidPoint(#1,#2)
\tkzUProjection(#1,#2)(tkzPointResult)
- \tkzCalcLength(tkz@spka,tkzPointResult)
+ \tkz@@CalcLength(tkz@spka,tkzPointResult){tkzLengthResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefInversionCircle(#1,#2,#3,#4){%
+\begingroup
+ \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz@p1}{tkz@p2}
+ \tkzUInversePoint(#3,#4)(tkz@p1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUInversePoint(#3,#4)(tkz@p2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefInversionNegativeCircle(#1,#2,#3,#4){%
+\begingroup
+ \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz@p1}{tkz@p2}
+ \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz@p1)
+ \tkzUCSym(\tkzcenter)(tkzPointResult)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz@p2)
+ \tkzUCSym(\tkzcenter)(tkzPointResult)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
% End Def Circle
%<--------------------------------------------------------------------------–>
- \makeatother
+\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
index 136fee4522..a5eaa32e06 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-compass.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,15 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-compass.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-compass.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Author Alain Matthes
@@ -27,21 +24,18 @@
% Setup Compass
%<--------------------------------------------------------------------------–>
\pgfkeys{tkzsucompass/.cd,
- line width/.code = {\global\edef\tkz@compass@lw{#1}},
- color/.code = {\global\edef\tkz@compass@color{#1}},
- style/.code = {\global\edef\tkz@compass@style{#1}},
- }
+ line width/.store in = \tkz@compass@lw,
+ color/.store in = \tkz@compass@color,
+ style/.store in = \tkz@compass@style,
+ line width = \tkz@euc@compasswidth,
+ color = \tkz@euc@compasscolor,
+ style = \tkz@euc@compassstyle,
+ /tkzsucompass/.search also = {/tikz,/tkzcompass}
+ }
%<--------------------------------------------------------------------------–>
-\def\tkzSetUpCompass{\pgfutil@ifnextchar[{\tkz@SetUpCompass}{% remove tkzActivOff 3.03
- \tkz@SetUpCompass[]}}
+\def\tkzSetUpCompass{\pgfutil@ifnextchar[{\tkz@SetUpCompass}{\tkz@SetUpCompass[]}}
%<--------------------------------------------------------------------------–>
\def\tkz@SetUpCompass[#1]{%
-\pgfkeys{tkzsucompass/.cd,
- line width = \tkz@euc@compasswidth,
- color = \tkz@euc@compasscolor,
- style = \tkz@euc@compassstyle,
- /tkzsucompass/.search also = {/tikz}
-}
\pgfqkeys{/tkzsucompass}{#1}
\tikzset{compass style/.style={color = \tkz@compass@color,
line width = \tkz@compass@lw,
@@ -59,31 +53,25 @@
% style traits pleins
%<--------------------------------------------------------------------------–>
- \pgfkeys{
- /tkzcompass/delta/.code = {\def\tkz@delta{#1}},
- /tkzcompass/length/.code = {\def\tkz@length{#1}},
- /tkzcompass/ratio/.code = {\def\tkz@ratio{#1}},
+ \pgfkeys{/tkzcompass/.cd,
+ delta/.store in = \tkz@delta,
+ length/.store in = \tkz@length,
+ length = 1,
+ delta = 0,
/tkzcompass/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}
+ \pgfkeysalso{\searchname/.try=#1, /tikz/\searchname/.retry=#1}}
}
\def\tkzCompass{\pgfutil@ifnextchar[{\tkz@Compass}{\tkz@Compass[]}}
\def\tkz@Compass[#1](#2,#3){%
\begingroup
-\pgfkeys{%
- tkzcompass/.cd,
- length = 1,
- delta = 0,
- ratio = .5
- }
\pgfkeys{tkzcompass/.cd,#1}
-\tkzCalcLength(#2,#3)\tkzGetLength{tkz@tempLen}
+\tkz@@CalcLength(#2,#3){tkz@tempLen}
\ifnum\tkz@delta=0 %
\pgfmathsetmacro{\tkz@delta}{min(deg(\tkz@length cm/ \tkz@tempLen pt),180)/2}
\fi
\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@angle}%
-\draw[shift ={(#2)},/tkzcompass/.cd,compass style,#1]%
+\draw[shift ={(#2)},compass style,/tkzcompass/.cd,#1]%
(\tkz@angle-\tkz@delta:\tkz@tempLen pt)%
arc (\tkz@angle-\tkz@delta:\tkz@angle+\tkz@delta:\tkz@tempLen pt);
\endgroup}
@@ -108,4 +96,4 @@
}%
\makeatother
-\endinput \ No newline at end of file
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
new file mode 100644
index 0000000000..31e77f3f97
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
@@ -0,0 +1,554 @@
+% tkz-tool-eu-angles.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tool-eu-angles.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% tkzSetUpArc
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/tkzsetuparc/.cd,
+ color/.store in = \tkz@arc@color,
+ line width/.store in = \tkz@arc@lw,
+ style/.store in = \tkz@arc@style,
+ line width = \tkz@euc@linewidth,
+ color = \tkz@euc@linecolor,
+ style = \tkz@euc@linestyle,
+ /tkzsetuparc/.search also = {/tikz,/tkzcompass},
+ }
+\def\tkzSetUpArc{\pgfutil@ifnextchar[{\tkz@SetUpArc}{\tkz@SetUpArc[]}}
+\def\tkz@SetUpArc[#1]{%
+\pgfqkeys{/tkzsetuparc}{#1}
+\tikzset{arc style/.style={color = \tkz@arc@color,
+ line width = \tkz@arc@lw,
+ style = \tkz@arc@style
+ }}
+}% end setup
+%<--------------------------------------------------------------------------->
+\newdimen\tkz@arcsize% from julian julian@d-and-j.net
+\newdimen\tkz@fillsize
+%<-------------------------------------------------------------------------->
+
+%<------------------------------ Arcs -------------------------------------–
+% options : delta
+% \def\tkz@delta{0}
+% \tikzset{arc style/.style={#1}}
+% \pgfkeys{/tikz/.cd,delta/.code={\def\tkz@delta{#1}}}
+\gdef\tkz@numa{0}
+\pgfkeys{/tkzdrawarc/.cd,
+ type/.is choice,
+ type/towards/.code = \def\tkz@numa{0},
+ type/rotate/.code = \def\tkz@numa{1},
+ type/angles/.code = \def\tkz@numa{2},
+ type/R/.code = \def\tkz@numa{3},
+ type/R with nodes/.code = \def\tkz@numa{4},
+ towards/.style = {type=towards},
+ rotate/.style = {type=rotate},
+ R/.style = {type=R},
+ angles/.style = {type=angles},
+ R with nodes/.style = {type=R with nodes},
+ diameter/.code = {},
+ arc/.code = {},
+ size/.code = {},
+ mark/.code = {},
+ mkpos/.code = {},
+ mksize/.code = {},
+ mkcolor/.code = {},
+ type/.default = towards,
+ delta/.store in = \tkz@delta,
+ delta = 0,
+ /tkzdrawarc/.search also = {/tikz}
+}
+\def\tkzDrawArc{\pgfutil@ifnextchar[{\tkz@DrawArc}{\tkz@DrawArc[]}}
+\def\tkz@DrawArc[#1](#2,#3)(#4){%
+\begingroup
+\pgfqkeys{/tkzdrawarc}{#1}
+\ifcase\tkz@numa%
+ \tkzDrawArcTowards[#1](#2,#3)(#4)
+\or% 1
+ \tkzDrawArcRotate[#1](#2,#3)(#4)
+\or% 2
+ \tkzDrawArcAngles[#1](#2,#3)(#4)
+\or% 3
+ \tkzDrawArcRAngles[#1](#2,#3)(#4)
+ \or% 4
+ \tkzDrawArcR[#1](#2,#3)(#4)
+\fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% ARC nodes #2 center #3 first point last point #4
+% delta un peu plus à chaque extrémité
+% example : \tkzDrawArc(A,B)(C)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcTowards{\pgfutil@ifnextchar[{\tkz@DrawArcN}{\tkz@DrawArcN[]}}
+\def\tkz@DrawArcN[#1](#2,#3)(#4){%
+\begingroup
+ \tkz@@CalcLength(#2,#3){tkz@radius}
+ \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstAngle,\tkz@SecondAngle)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% nodes #2 center #3 first point rotate #4 with Angle
+% delta un peu plus à chaque extrémité
+% tkzDrawArcRotate(O,A)(60)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcRotate{\pgfutil@ifnextchar[{\tkz@DrawArcRotate}{%
+ \tkz@DrawArcRotate[]}}
+\def\tkz@DrawArcRotate[#1](#2,#3)(#4){%
+\begingroup
+ \tkz@@CalcLength(#2,#3){tkz@radius}
+ \tkzFindSlopeAngle(#2,#3) \tkzGetAngle{tkz@FirstA}
+ \pgfmathadd{\tkz@FirstA}{#4}
+ \edef\tkz@SecondA{\pgfmathresult}
+ \pgfmathgreaterthan{#4}{0}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstA,\tkz@SecondA)
+ \else
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@SecondA,\tkz@FirstA)
+ \fi
+ \endgroup
+}
+%<--------------------------------------------------------------------------–>
+% deux angles
+% \tkzDrawArcAngles(O,A)(0,60)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcAngles{\pgfutil@ifnextchar[{\tkz@DrawArcAngles}{%
+ \tkz@DrawArcAngles[]}}
+\def\tkz@DrawArcAngles[#1](#2,#3)(#4,#5){%
+\begingroup
+ \tkz@@CalcLength(#2,#3){tkzLengthResult}
+ \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult pt)(#4,#5)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Degree #2 center #4 - #3 radius from #5 (degree) to #6(degree)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcRwithNodes{\pgfutil@ifnextchar[{\tkz@DrawArcRwithNodes}{%
+ \tkz@DrawArcRwithNodes[]}}
+\def\tkz@DrawArcRwithNodes[#1](#2,#3,#4)(#5,#6){%
+\begingroup
+ \tkz@@CalcLength(#3,#4){tkzLengthResult}
+ \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#6)\tkzGetAngle{tkz@SecondAngle}
+ \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult)(\tkz@FirstAngle,\tkz@SecondAngle)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Nodes R #2 center #3 radius en cm from #4(node) to #5(node)
+% \tkzDrawArcR(O,2)(A,B)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcR{\pgfutil@ifnextchar[{\tkz@DrawArcR}{\tkz@DrawArcR[]}}
+\def\tkz@DrawArcR[#1](#2,#3)(#4,#5){%
+\begingroup
+ \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@SecondAngle}
+ \tkz@DrawArcRAngles[#1](#2,#3)(\tkz@FirstAngle,\tkz@SecondAngle)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+% #1 center #2 radius #4 first angle (degree) #5 second angle (degree)
+% angles 0 .. 180 or -180 .. 0
+%<--------------------------------------------------------------------------–>
+% example : \tkzDrawArc(A,2)(30,90)
+\def\tkzDrawArcRAngles{\pgfutil@ifnextchar[{\tkz@DrawArcRAngles}{%
+ \tkz@DrawArcRAngles[]}}
+\def\tkz@DrawArcRAngles[#1](#2,#3)(#4,#5){%
+ \begingroup
+ \pgfmathparse{#4}\edef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathparse{#5}\edef\tkz@SecondAngle{\pgfmathresult}%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{0}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathsubtract{\tkz@FirstAngle}{360}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+ \fi
+ \else
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathadd{\tkz@SecondAngle}{360}
+ \edef\tkz@SecondAngle{\pgfmathresult}%
+ \fi
+ \fi
+ \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
+ \edef\tkz@SecondAngle{\pgfmathresult}
+ \draw[shift = {(#2)},arc style,/tkzdrawarc/.cd,#1]%
+ (\tkz@FirstAngle:#3) arc (\tkz@FirstAngle:\tkz@SecondAngle:#3);
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\pgfkeys{
+ /@tkzmarkarc/.cd,
+ pos/.store in = \tkz@mkarcpos,
+ color/.store in = \tkz@mkcolor,
+ mark/.store in = \tkz@markarcseg,
+ size/.store in = \tkz@mkarcsize,
+ color = teal!20,
+ size = 4pt,
+ pos = .5,
+ mark = |,
+ /@tkzmarkarc/.search also={/tikz},
+}
+\def\tkzMarkArc{\pgfutil@ifnextchar[{\tkz@MarkArc}{\tkz@MarkArc[]}}
+\def\tkz@MarkArc[#1](#2,#3,#4){%
+\begingroup
+ \pgfqkeys{/@tkzmarkarc}{#1} \def\tkz@mymarkarc{\pgfsetplotmarksize{\tkz@mkarcsize}\pgfuseplotmark{\tkz@markarcseg}}
+ \tkz@@CalcLength(#2,#3){tkz@radius}
+ \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
+ \pgfmathparse{\tkz@FirstAngle}\edef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathparse{\tkz@SecondAngle}\edef\tkz@SecondAngle{\pgfmathresult}%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{0}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathsubtract{\tkz@FirstAngle}{360}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+ \fi
+ \else
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathadd{\tkz@SecondAngle}{360}
+ \edef\tkz@SecondAngle{\pgfmathresult}%
+ \fi
+ \fi
+ \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
+ \edef\tkz@SecondAngle{\pgfmathresult}
+ \begin{scope}[decoration={markings,
+ mark=at position \tkz@mkarcpos with {\tkz@mymarkarc}}]
+ \path[shift = {(#2)},\tkz@mkcolor,/@tkzmarkarc/.cd,#1,postaction={decorate}]%
+ (\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt);
+ \end{scope}
+\endgroup
+}
+
+\def\tkzLabelArc{\pgfutil@ifnextchar[{\tkz@LabelArc}{\tkz@LabelArc[]}}
+\def\tkz@LabelArc[#1](#2,#3,#4)#5{%
+\begingroup
+ \pgfqkeys{/@tkzmarkarc}{#1}
+ \tkz@@CalcLength(#2,#3){tkz@radius}
+ \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
+ \pgfmathparse{\tkz@FirstAngle}\edef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathparse{\tkz@SecondAngle}\edef\tkz@SecondAngle{\pgfmathresult}%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{0}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathsubtract{\tkz@FirstAngle}{360}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+ \fi
+ \else
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathadd{\tkz@SecondAngle}{360}
+ \edef\tkz@SecondAngle{\pgfmathresult}%
+ \fi
+ \fi
+ \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
+ \edef\tkz@SecondAngle{\pgfmathresult}
+ \begin{scope}[decoration={markings,
+ mark=at position \tkz@mkarcpos with \node{#5};}]
+ \path[shift = {(#2)},/@tkzmarkarc/.cd,#1,postaction={decorate}]%
+ (\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt);
+ \end{scope}
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+% tkzDrawArcRAN >
+%<--------------------------------------------------------------------------->
+\def\tkzDrawArcRAN[#1](#2,#3)(#4,#5){%
+\begingroup
+ \draw[shift = {(#2)},/tkzdrawarc/.cd,#1] (#4:#3) arc (#4:#5:#3);
+\endgroup
+}
+%<--------------- tkzPathArcRAN ----------------------------------
+\def\tkzPathArcRAN[#1](#2,#3)(#4,#5){%
+\begingroup
+ \path[shift = {(#2)},/tkzdrawarc/.cd,#1] (#4:#3) arc (#4:#5:#3);
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+% Mark an angle modi 3.03 suppression de \tkz@mksize,
+%<--------------------------------------------------------------------------->
+% \tkzMarkAngle(B, A, C)
+%
+% Marque d'angle
+% arc de cercle (simple/double/triple) et marque d'églité.
+%
+% Par défaut:
+% arc = simple
+% size = 1cm (rayon de l'arc)
+% style traits pleins
+% mkpos ? position: 0.5 (position de la marque)
+% mark rien du tout (ignoré si type est utilisé)
+%
+% Paramètres (optionnels)
+% arc : l, ll, lll
+% mksize : 1cm
+% gap : 3pt
+% dist ?
+% style : type de traits
+% position: 0.5
+% mark : none , |, ||,|||, z, s, x, o, oo mais tous les
+% % symboles de tikz sont permis
+%<------------------------- Label on angle -------------------------------->
+\def\tkz@arcsimple{l}
+\def\tkz@arcdouble{ll}
+\def\tkz@arctriple{lll}
+
+%\tikzset{lbstyle/.style = {color=\tkz@mainlinecolor}}
+
+\pgfkeys{/tkzmkangle/.cd,
+ arc/.estore in = \tkz@arc,
+ size/.store in = \tkz@size,
+ mark/.store in = \tkz@markang,
+ mkpos/.estore in = \tkz@mkpos,
+ mksize/.store in = \tkz@mksize,
+ mkcolor/.store in = \tkz@mkcolor,
+ arc = l,
+ size = 1,
+ mark = none,
+ mksize = 4pt,
+ mkcolor = black,
+ mkpos = 0.5,
+ /tkzmkangle/.search also={/tikz}
+}
+\def\tkzMarkAngle{\pgfutil@ifnextchar[{\tkz@MarkAngle}{\tkz@MarkAngle[]}}
+\def\tkz@MarkAngle[#1](#2,#3,#4){%
+\begingroup
+\pgfqkeys{/tkzmkangle}{#1}
+\tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz@dirOne}
+\tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz@dirTwo}
+\tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
+
+% les marques, aucune si mktype = none
+% add cm after tkz@size !! 01/2022
+\def\tkz@mymark{\pgfsetplotmarksize{\tkz@mksize}\pgfuseplotmark{\tkz@markang}}
+% draw the arcs
+\begin{scope}[decoration= {markings,
+ mark=at position \tkz@mkpos with {\tkz@mymark}}]
+ \ifx\tkz@arc\tkz@arcsimple
+ \tkzDrawArcRAN[#1,fill=none]%
+ (#3,\tkz@size)(\tkz@FirstAngle,\tkz@SecondAngle)%
+ \tkzPathArcRAN[\tkz@mkcolor,postaction={decorate}]%
+ (#3,\tkz@size)(\tkz@FirstAngle,\tkz@SecondAngle)
+ \else
+ \ifx\tkz@arc\tkz@arcdouble
+ \tkzDrawArcRAN[#1,fill=none](#3,\tkz@size cm-2.5\pgflinewidth)%
+ (\tkz@FirstAngle,\tkz@SecondAngle)
+ \tkzPathArcRAN[\tkz@mkcolor,postaction={decorate}]%
+ (#3,\tkz@size cm)(\tkz@FirstAngle,\tkz@SecondAngle)%
+ \tkzDrawArcRAN[#1,fill=none](#3,\tkz@size cm+2.5\pgflinewidth)%
+ (\tkz@FirstAngle,\tkz@SecondAngle)%
+ \else
+ \ifx\tkz@arc\tkz@arctriple
+ \tkzDrawArcRAN[#1,fill=none]%
+ (#3,\tkz@size cm)(\tkz@FirstAngle,\tkz@SecondAngle)%
+ \tkzPathArcRAN[\tkz@mkcolor,postaction={decorate}]%
+ (#3,\tkz@size cm)(\tkz@FirstAngle,\tkz@SecondAngle)%
+ \tkzDrawArcRAN[#1,fill=none](#3,\tkz@size cm-5\pgflinewidth)%
+ (\tkz@FirstAngle,\tkz@SecondAngle)%
+ \tkzDrawArcRAN[#1,fill=none](#3,\tkz@size cm+5\pgflinewidth)%
+ (\tkz@FirstAngle,\tkz@SecondAngle)%
+ \fi
+ \fi
+ \fi
+\end{scope}
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+% multiple
+\def\tkz@multiMA#1 #2\@nil{%
+ \protected@edef\tkz@temp{
+ \noexpand \tkzMarkAngle[\tkz@optma](#1)}\tkz@temp%
+ \def\tkz@nextArg{#2}%
+ \ifx\tkzutil@empty\tkz@nextArg
+ \let\next\@gobble
+ \fi
+ \next#2\@nil
+}
+%<--------------------------------------------------------------------------->
+\def\tkzMarkAngles{\pgfutil@ifnextchar[{\tkz@MarkAngles}{\tkz@MarkAngles[]}}
+\def\tkz@MarkAngles[#1](#2){%
+\xdef\tkz@optma{#1}
+ \begingroup
+ \let\next\tkz@multiMA
+ \next#2 \@nil %
+\endgroup
+}
+% fin de \tkzMarkAngle
+
+%<--------------------------------------------------------------------------->
+% FillAngle
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzFill/.cd,
+ size/.store in = \tkz@size,
+ size = 1 cm,
+ /tkzFill/.search also = {/tikz}
+ }
+
+\def\tkzFillAngle{\pgfutil@ifnextchar[{\tkz@FillAngle}{\tkz@FillAngle[]}}
+\def\tkz@FillAngle[#1](#2,#3,#4){%
+\begingroup
+\pgfqkeys{/tkzFill}{#1}
+ \tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz@dirOne}
+ \tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz@dirTwo}
+ \tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
+ \path[shift = {(#3)},fill=\tkz@euc@linecolor!10,/tkzFill/.cd,#1]%
+ (#3) -- (\tkz@FirstAngle:\tkz@size) arc%
+ (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@size)--cycle;
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+% multiple
+\def\tkz@multiFA#1 #2\@nil{\protected@edef\tkz@temp{%
+ \noexpand \tkzFillAngle[\tkz@optfa](#1)}%
+ \tkz@temp%
+ \def\tkz@nextArg{#2}%
+ \ifx\tkzutil@empty\tkz@nextArg
+ \let\next\@gobble
+ \fi
+ \next#2\@nil
+}
+%<--------------------------------------------------------------------------->
+\def\tkzFillAngles{\pgfutil@ifnextchar[{\tkz@MFillAngles}{\tkz@MFillAngles[]}}
+\def\tkz@MFillAngles[#1](#2){%
+\xdef\tkz@optfa{#1}
+\begingroup
+ \let\next\tkz@multiFA
+ \next#2 \@nil %
+\endgroup
+}
+%<------------------------- Label on angle -------------------------------->
+\pgfkeys{/tkzlabelangle/.cd,
+ dist/.store in = \tkzlabeldist,
+ angle/.store in = \tkzlabelangle,
+ dist = 1,
+ angle = {},
+ /tkzlabelangle/.search also={/tikz}
+}
+\def\tkzLabelAngle{\pgfutil@ifnextchar[{\tkz@LabelAngle}{\tkz@LabelAngle[]}}
+\def\tkz@LabelAngle[#1](#2,#3,#4)#5{%2016 added normalize from karu's code
+\begingroup
+ \pgfqkeys{/tkzlabelangle}{#1}
+ \ifx\tkzutil@empty\tkzlabelangle% no value so calc angle of bisector
+ \tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz@dirOne}
+ \tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz@dirTwo}
+ \tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
+ \edef\tkzlabelAngle{\fpeval{(\tkz@SecondAngle+\tkz@FirstAngle)/2}}
+ \fi
+ \path (#3) --+(\tkzlabelAngle:\tkzlabeldist) node[label angle style,/tkzlabelangle/.cd,#1] {#5};
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+%<--------------------------------------------------------------------------->
+% multiple labels
+\def\tkz@multiLBA#1 #2\@nil{%
+ \protected@edef\tkz@temp{
+ \noexpand \tkzLabelAngle[\tkz@optlba](#1){\tkz@labelangle}}\tkz@temp%
+ \def\tkz@nextArg{#2}%
+ \ifx\tkzutil@empty\tkz@nextArg
+ \let\next\@gobble
+ \fi
+ \next#2\@nil
+}
+% %<---------------------------------------------------------------------
+\def\tkzLabelAngles{\pgfutil@ifnextchar[{\tkz@LabelAngles}{%
+ \tkz@LabelAngles[]}}
+\def\tkz@LabelAngles[#1](#2)#3{%
+ \def\tkz@optlba{#1}
+ \def\tkz@labelangle{#3}
+ \begingroup
+ \let\next\tkz@multiLBA
+ \next#2 \@nil %
+ \endgroup
+}
+%<-----------------------------------------------------------------------
+% Symbole droites perpendiculaires
+%<----------------------------------------------------------------------
+\pgfkeys{/tkzrightangle/.cd,
+ norm tkz code/.is if = normtkzcode@execute,
+ german/.code = \normtkzcode@executefalse,
+ size/.store in = \tkz@ra@size,
+ dotsize/.store in = \tkz@dotsize,
+ size = .25,
+ dotsize = 3 pt,
+ /tkzrightangle/.search also={/tikz},
+}
+\newcommand*{\tkzMarkRightAngle}[1][]{\tkz@RightAngle[#1]}
+\def\tkz@RightAngle[#1](#2,#3,#4){%
+\begingroup
+\normtkzcode@executetrue
+\pgfqkeys{/tkzrightangle}{#1}
+ \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#3}{center}}{%
+ \pgfpointanchor{#2}{center}}}
+ \tkz@ax=\pgf@x\relax%
+ \tkz@ay=\pgf@y\relax%
+ \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#3}{center}}{%
+ \pgfpointanchor{#4}{center}}}
+ \tkz@bx=\pgf@x\relax%
+ \tkz@by=\pgf@y\relax%
+ \ifnormtkzcode@execute%
+ \draw[/tkzrightangle/.cd,#1]
+ (#3) --++( 28.45274*\tkz@ra@size\tkz@ax , 28.45274*\tkz@ra@size\tkz@ay)
+ --++( 28.45274*\tkz@ra@size\tkz@bx , 28.45274*\tkz@ra@size\tkz@by)
+ --++(-28.45274*\tkz@ra@size\tkz@ax ,-28.45274*\tkz@ra@size\tkz@ay)
+ -- (#3);
+ \else%
+ % find angles
+ \tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz@dirOne}
+ \tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz@dirTwo}
+ \tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
+ \edef\tkzCircleAngle{\fpeval{(\tkz@SecondAngle+\tkz@FirstAngle)/2}}
+ \tkzDrawArcRAN[/tkzrightangle/.cd,#1](#3,\tkz@ra@size)%
+ (\tkz@FirstAngle,\tkz@SecondAngle)
+ \path (#3) --+ (\tkzCircleAngle:\tkz@ra@size/2)
+ node[fill,circle,minimum size=\tkz@dotsize,
+ inner sep=0 pt,/tkzrightangle/.cd,#1] {};
+\fi%
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+\def\tkz@multiRA#1 #2\@nil{%
+\protected@edef\tkz@temp{
+ \noexpand \tkzMarkRightAngle[\tkz@optRA](#1)}\tkz@temp%
+\def\tkz@nextArg{#2}%
+ \ifx\tkzutil@empty\tkz@nextArg
+ \let\next\@gobble
+ \fi
+\next#2\@nil
+}
+%<--------------------------------------------------------------------------->
+\def\tkzMarkRightAngles{\pgfutil@ifnextchar[{\tkz@RightAngles}{%
+ \tkz@RightAngles[]}}
+\def\tkz@RightAngles[#1](#2){%
+\xdef\tkz@optRA{#1}
+\begingroup
+ \let\next\tkz@multiRA
+ \next#2 \@nil %
+\endgroup
+}
+
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
index 8d340ba99d..99d3531067 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-draw-circles.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,43 +7,14 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-draw-circles.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-draw-circles.tex}
\makeatletter
-%for compatibility
-%<--------------------------------------------------------------------------–>
-\def\tkzDefCircleR(#1,#2){%
-\begingroup
- \edef\tkzLengthResult{\fpeval{round(#2,5)}}
- \global\let\tkzLengthResult\tkzLengthResult
- \tkzRenamePoint(#1){tkzPointResult}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Through Circle center and point
-%<--------------------------------------------------------------------------–>
-\def\tkzDefCircleThrough(#1,#2){%
-\begingroup
- \tkzCalcLength(#1,#2)
- \tkzRenamePoint(#1){tkzPointResult}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Diameter Circle
-%<--------------------------------------------------------------------------–>
-\def\tkzDefCircleD(#1,#2){%
-\begingroup
- \tkzDefMidPoint(#1,#2)
- \tkzCalcLength(#1,tkzPointResult)
-\endgroup
-}
+
\def\tkz@numdc{0}
\pgfkeys{/tkzdrawc/.cd,
@@ -75,13 +46,13 @@
\begingroup
\pgfqkeys{/tkzdrawc}{#1}
\ifcase\tkz@numdc%
- \tkzDefCircleThrough(#2)
+ \tkzDefCircleThrough(#2)
\or% 1
- \tkzDefCircleR(#2)
+ \tkzDefCircleR(#2)
\or% 2
- \tkzDefCircleD(#2)
+ \tkzDefCircleD(#2)
\or% 3
- \tkzDefCircumCircle(#2)
+ \tkzDefCircumCircle(#2)
\or% 4
\tkzDefInCircle(#2)
\or% 4
@@ -95,8 +66,7 @@
\or% 8
\tkzDefOrthoThroughCircle(#2,\tkz@ptone,\tkz@pttwo)
\fi
- \draw[line style,/tkzdrawc/.cd,#1]
- (tkzPointResult) circle (\tkzLengthResult pt);
+ \draw[line style,/tkzdrawc/.cd,#1] (tkzPointResult) circle (\tkzLengthResult);
\endgroup
}
@@ -126,11 +96,11 @@
\pgfkeys{/tkzdrawsc/.cd,
through/.code = \def\tkz@numdsc{0},
diameter/.code = \def\tkz@numdsc{1},
- swap/.is if = tkz@sawp@sc,
+ swap/.is if = tkz@swap@sc,
swap/.default = true,
swap = false,
through,
- /tkzdrawsc/.search also={/tikz}
+ /tkzdrawsc/.search also={/tikz}
}
\def\tkzDrawSemiCircle{\pgfutil@ifnextchar[{\tkz@DrawSemiCircle}{%
\tkz@DrawSemiCircle[]}}
@@ -142,19 +112,19 @@
\or%
\tkzDrawSemiCircleDiameter(#2)
\fi
- \tkzDrawArc[#1](\tkz@Center,\tkz@FirstPoint)(\tkz@SecondPoint)
+ \tkzDrawArc[#1,delta=0](\tkz@Center,\tkz@FirstPoint)(\tkz@SecondPoint)
\endgroup
}
%<--------------------------------------------------------------------------–>
\def\tkzDrawSemiCircleThrough(#1,#2){%
\tkzDefPointBy[symmetry=center #1](#2)
- \pgfnodealias{tkz@pt}{tkzPointResult}
+ \pgfnodealias{tkz@pt}{tkzPointResult}
\def\tkz@Center{#1}
- \iftkz@sawp@sc
- \gdef\tkz@FirstPoint{tkz@pt}
+ \iftkz@swap@sc
+ \gdef\tkz@FirstPoint{tkz@pt}
\gdef\tkz@SecondPoint{#2}
\else
- \gdef\tkz@FirstPoint{#2}
+ \gdef\tkz@FirstPoint{#2}
\gdef\tkz@SecondPoint{tkz@pt}
\fi
}
@@ -163,7 +133,7 @@
\tkzDefMidPoint(#1,#2)
\pgfnodealias{tkz@Center}{tkzPointResult}
\def\tkz@Center{tkz@Center}
- \iftkz@sawp@sc
+ \iftkz@swap@sc
\def\tkz@FirstPoint{#1}
\def\tkz@SecondPoint{#2}
\else
@@ -171,11 +141,33 @@
\def\tkz@SecondPoint{#1}
\fi
}
-
+%<--------------------------------------------------------------------------–>
+\def\tkz@multisemicircles#1 #2\@nil{%
+\protected@edef\tkz@temp{
+\noexpand \tkzDrawSemiCircle[\tkz@optsemicircle](#1)}\tkz@temp%
+\def\tkz@nextArg{#2}%
+\ifx\tkzutil@empty\tkz@nextArg
+ \let\next\@gobble
+\fi
+\next#2\@nil
+}
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawSemiCircles{\pgfutil@ifnextchar[{\tkz@DrawSemiCircles}{%
+ \tkz@DrawSemiCircles[]}}
+\def\tkz@DrawSemiCircles[#1](#2){%
+\xdef\tkz@optsemicircle{#1}
+\begingroup
+ \let\next\tkz@multisemicircles
+ \next#2 \@nil %
+\endgroup
+}%
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
%<---------------------------- Fill Circle --------------------------------–>
\def\tkz@numfc{0}
\pgfkeys{/fillcircle/.cd, radius/.code = \def\tkz@numfc{0},
- R/.code = \def\tkz@numfc{1},
+ R/.code = \def\tkz@numfc{1},
radius,
/fillcircle/.search also={/tikz}
}
@@ -185,46 +177,42 @@
\pgfqkeys{/fillcircle}{#1}
\ifcase\tkz@numfc%
% first case 0
- \tkzCalcLength(#2,#3)
+ \tkz@@CalcLength(#2,#3){tkzLengthResult}
\fill[/fillcircle/.cd,#1] (#2) circle (\tkzLengthResult pt);%
\or% 1
\fill[/fillcircle/.cd,#1] (#2) circle (#3);%
\fi
\endgroup
}
-%<----------------------- Out Clip Circle ---------------------------------–>
-\def\tkz@numocc{0}
-\pgfkeys{/clipoutcircle/.cd, radius/.code = \def\tkz@numocc{0},
- R/.code = \def\tkz@numocc{1},
- radius}
-%<--------------------------------------------------------------------------–>
-\def\tkzClipOutCircle{\pgfutil@ifnextchar[{\tkz@ClipOutCircle}{%
- \tkz@ClipOutCircle[]}}
-\def\tkz@ClipOutCircle[#1](#2,#3){%
-\pgfqkeys{/clipoutcircle}{#1}
-\ifcase\tkz@numocc
- \tkzCalcLength(#2,#3)
- \clip[tkzreverseclip] (#2) circle (\tkzLengthResult pt);
- \or% 1
- \clip[tkzreverseclip] (#2) circle (#3);
- \fi
-}
+
%<--------------------------- Clip Circle ---------------------------------–>
+\newif\iftkzClipOutCircle
\def\tkz@numcc{0}
\pgfkeys{/tkzclipc/.cd,
- through/.code = \def\tkz@numcc{0},
- R/.code = \def\tkz@numcc{1},
+ through/.code = \def\tkz@numcoc{0},
+ R/.code = \def\tkz@numcoc{1},
+ out code/.is if = tkzClipOutCircle,
+ out/.code = \tkzClipOutCirclefalse,
through}
%<--------------------------------------------------------------------------–>
\def\tkzClipCircle{\pgfutil@ifnextchar[{\tkz@ClipCircle}{\tkz@ClipCircle[]}}
\def\tkz@ClipCircle[#1](#2,#3){%
+\tkzClipOutCircletrue
\pgfqkeys{/tkzclipc}{#1}
-\ifcase\tkz@numcc
- \tkzCalcLength(#2,#3)
+\ifcase\tkz@numcoc
+ \tkz@@CalcLength(#2,#3){tkzLengthResult}
+ \iftkzClipOutCircle
\clip (#2) circle (\tkzLengthResult pt);
+ \else
+ \clip (#2) circle (\tkzLengthResult pt) [tkzreverseclip] ;
+ \fi
\or% 1
+ \iftkzClipOutCircle
\clip (#2) circle (#3);
+ \else
+ \clip (#2) circle (#3) [tkzreverseclip] ;
+ \fi
\fi
}
%<--------------------------- Label Circle --------------------------------–>
@@ -255,6 +243,5 @@
\fi
\endgroup
}
-%<--------------------------------------------------------------------------–>
- \makeatother
+\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
index 9804439ee3..0e3e9f6096 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-draw-lines.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,195 +7,26 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-draw-lines.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-draw-lines.tex}
\makeatletter
+
\def\tkz@numdl{0}
\pgfkeys{/tkzdrawl/.cd,
- median/.code = \def\tkz@numdl{0},
- altitude/.code = \def\tkz@numdl{1},
- bisector/.code = \def\tkz@numdl{2},
- none/.code = \def\tkz@numdl{3},
- none,
/tkzdrawl/.search also={/tikz}
}
%<--------------------------------------------------------------------------–>
% Drawing a line >
%<--------------------------------------------------------------------------–>
\def\tkzDrawLine{\pgfutil@ifnextchar[{\tkz@DrawLine}{\tkz@DrawLine[]}}
-\def\tkz@DrawLine[#1](#2){%
+\def\tkz@DrawLine[#1](#2,#3){%
\begingroup
\pgfqkeys{/tkzdrawl}{#1}
-\ifcase\tkz@numdl%
- \tkzDrawMedian[#1](#2)
- \or% 1
- \tkzDrawAltitude[#1](#2)
- \or% 2
- \tkzDrawBisector[#1](#2)
- \or% 3
- \tkzDrawSLine[#1](#2)
- \fi
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Droites particulières d'un triangle
-%<--------------------------------------------------------------------------–>
-%
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawSLine{\pgfutil@ifnextchar[{\tkz@DrawSLine}{\tkz@DrawSLine[]}}
-\def\tkz@DrawSLine[#1](#2,#3){%
-\begingroup
-\draw[line style,#1] (#2) to (#3);
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% median
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawMedian{\pgfutil@ifnextchar[{\tkz@Median}{\tkz@Median[]}}
-\def\tkz@Median[#1](#2,#3,#4){%
-\begingroup
- \tkzDefMidPoint(#2,#4)
- \tkzDrawSLine[add= 0 and 0,/tkzdrawl/.cd,#1](#3,tkzPointResult)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% altitude
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawAltitude{\pgfutil@ifnextchar[{\tkz@Altitude}{\tkz@Altitude[]}}
-\def\tkz@Altitude[#1](#2,#3,#4){%
-\begingroup
- \tkzUProjection(#2,#4)(#3)
- \tkzDrawSLine[add= 0 and 0,/tkzdrawl/.cd,#1](#3,tkzPointResult)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% bisector
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawBisector{\pgfutil@ifnextchar[{\tkz@Bisector}{\tkz@Bisector[]}}
-\def\tkz@Bisector[#1](#2,#3,#4){%
-\begingroup
- \tkzDefBisectorLine(#2,#3,#4)
- \tkzInterLL(#2,#4)(#3,tkzPointResult)
- \tkzDrawSLine[add= 0 and 0,/tkzdrawl/.cd,#1](#3,tkzPointResult)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% \def\tkz@recuplast(#1,#2){\def\tkz@last{#1}}
-% \def\tkz@stop{\tkz@stop}
-%<--------------------------------------------------------------------------–>
-% medians
-%<--------------------------------------------------------------------------–>
-\def\tkz@@Medians(#1,#2,#3)(#4,#5){%
- \def\tkz@tmp{#5}%
- \ifx\tkz@tmp\tkz@stop\else\tkz@@Medians(#2,#3)(#5)\fi
- \tkz@recuplast(#3)
-
- \pgfcoordinate{#4}{\pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#2}{center}}{%
- \pgfpointanchor{\tkz@last}{center}}%
- }}%
- \protected@edef\tkz@temp{\noexpand
- \tkzDrawLine[add= 0 and 0,/DrawTLines/.cd,\tkz@opttline](#4,#1)}\tkz@temp%
- \ifx\tkzutil@empty\tkz@newpoint@name
- \else
- \coordinate (\tkz@newpoint@name#4) at (#4);
- \fi
-}
-\def\tkzDrawMedians{\pgfutil@ifnextchar[{\tkz@Medians}{\tkz@Medians[]}}
-\def\tkz@Medians[#1](#2)#3{%
-\begingroup
- \xdef\tkz@opttline{#1}
- \tkz@@Medians(#2,#2)(#3,\tkz@stop)
- \endgroup
-}
-
-%<--------------------------------------------------------------------------–>
-% Altitudes
-%<--------------------------------------------------------------------------–>
-\def\tkz@@Altitudes(#1,#2,#3)(#4,#5){%
- \def\tkz@tmp{#5}%
- \ifx\tkz@tmp\tkz@stop\else\tkz@@Altitudes(#2,#3)(#5)\fi
- \tkz@recuplast(#3)
- \tkzUProjection(#2,\tkz@last)(#1)
- \pgfnodealias{tkz@tmp@pt}{tkzPointResult}
- \protected@edef\tkz@temp{%
- \noexpand
- \tkzDrawLine[add= 0 and 0,/DrawTLines/.cd,\tkz@opttline](#1,tkz@tmp@pt)}\tkz@temp%
- \ifx\tkzutil@empty\tkz@newpoint@name
- \else
- \coordinate (\tkz@newpoint@name#4) at (tkz@tmp@pt);
- \fi
-}
-\def\tkzDrawAltitudes{\pgfutil@ifnextchar[{\tkz@DrawAltitudes}{\tkz@DrawAltitudes[]}}
-\def\tkz@DrawAltitudes[#1](#2)#3{%
-\begingroup
- \xdef\tkz@opttline{#1}
- \tkz@@Altitudes(#2,#2)(#3,\tkz@stop)
- \endgroup
- }
-%<--------------------------------------------------------------------------–>
-% bisectors
-%<--------------------------------------------------------------------------–>
-\def\tkz@@Bisectors(#1,#2,#3)(#4,#5){%
-\def\tkz@tmp{#5}%
-\ifx\tkz@tmp\tkz@stop\else\tkz@@Bisectors(#2,#3)(#5)\fi
- \tkz@recuplast(#3)
- \tkzDefBisectorLine(\tkz@last,#1,#2)
- \tkzInterLL(#2,\tkz@last)(#1,tkzPointResult)
- \pgfnodealias{tkz@tmp@pt}{tkzPointResult}
- \protected@edef\tkz@temp{
- \noexpand \tkzDrawLine[add= 0 and 0,
- /DrawTLines/.cd,
- \tkz@opttline](#1,tkz@tmp@pt)}\tkz@temp
- \ifx\tkzutil@empty\tkz@newpoint@name
- \else
- \coordinate (\tkz@newpoint@name#4) at (tkz@tmp@pt);
- \fi
-}
-\def\tkzDrawBisectors{\pgfutil@ifnextchar[{\tkz@DrawBisectors}{\tkz@DrawBisectors[]}}
-
-\def\tkz@DrawBisectors[#1](#2)#3{%
-\begingroup
- \xdef\tkz@opttline{#1}
- \tkz@@Bisectors(#2,#2)(#3,\tkz@stop)
-\endgroup
-}
-%<-------------------------------------------------------------------------–
-%<-------------------------------------------------------------------------–
-%<-------------------------------------------------------------------------–
-\def\tkz@numdtls{0}
-\pgfkeys{/DrawTLines/.cd,
- median/.code = \def\tkz@numdtls{0},
- altitude/.code = \def\tkz@numdtls{1},
- bisector/.code = \def\tkz@numdtls{2},
- median,
- name/.store in = \tkz@newpoint@name,
- name/.initial = {},
- name = {},
- /DrawTLines/.search also={/tikz}
-}
-%<--------------------------------------------------------------------------–>
-% Drawing tr lines >
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawTLines{\pgfutil@ifnextchar[{\tkz@DrawTLines}{\tkz@DrawTLines[]}}
-\def\tkz@DrawTLines[#1](#2)#3{%
-\begingroup
-\pgfqkeys{/DrawTLines}{#1}
-\ifcase\tkz@numdtls%
- \tkzDrawMedians[#1](#2){#3}
- \or% 1
- \tkzDrawAltitudes[#1](#2){#3}
- \or% 2
- \tkzDrawBisectors[#1](#2){#3}
- \fi
+ \draw[line style,#1] (#2) to (#3);
\endgroup
}
%<-------------------------------------------------------------------------–
@@ -231,11 +62,11 @@
%<--------------------------------------------------------------------------–>
\pgfkeys{%
tkzsuline/.cd,
- line width/.code = {\xdef\tkz@line@lw{#1}},
- color/.code = {\xdef\tkz@line@color{#1}},
- style/.code = {\xdef\tkz@line@style{#1}},
- add/.code args = {#1 and #2} {\xdef\tkz@line@left{#1}%
- \xdef\tkz@line@right{#2}},
+ line width/.code = \def\tkz@line@lw{#1},
+ color/.code = \def\tkz@line@color{#1},
+ style/.code = \def\tkz@line@style{#1},
+ add/.code args = {#1 and #2} {\def\tkz@line@left{#1}
+ \def\tkz@line@right{#2}},
/tkzsuline/.search also={/tikz}%
}
%<--------------------------------------------------------------------------–>
@@ -268,10 +99,10 @@
\def\tkzDrawSegment{\pgfutil@ifnextchar[{\tkz@DrawSegment}{%
\tkz@DrawSegment[]}}
\def\tkz@DrawSegment[#1](#2,#3){%
-\begingroup
+\scope
\pgfqkeys{/tkzdraws}{#1}
\draw[line style,add=0 and 0,#1] (#2) to (#3);
-\endgroup
+\endscope
}%
\def\tkz@multiDrawSeg#1 #2\@nil{%
@@ -387,17 +218,24 @@
% \draw[dim={7cm,10pt,transform shape}] (B) -- (C);
% \draw[dim={X,,}] (A) -- (C);
%<--------------------------------------------------------------------------–>
+% code from muzimuzhi Z
+
\pgfkeys{/pgf/decoration/.cd, distance/.initial = 10pt}
\pgfdeclaredecoration{add dim}{final}{
\state{final}{%
\pgfmathsetmacro{\dist}{\pgfkeysvalueof{/pgf/decoration/distance}}
- \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
+ \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
\pgfpathlineto{\pgfpoint{0pt}{1.2*\dist}}
\pgfpathmoveto{\pgfpoint{\pgfdecoratedpathlength}{0pt}}
- \pgfpathlineto{\pgfpoint{(\pgfdecoratedpathlength}{1.2*\dist}}
+ \pgfpathlineto{\pgfpoint{(\pgfdecoratedpathlength}{1.2*\dist}}
+ % start of patch
+ \pgfusepath{stroke}
\pgfsetarrowsstart{latex}
\pgfsetarrowsend{latex}
+ \expandafter\pgfsetdash\tkz@dim@dashpattern
+ \pgfsetstrokecolor{\tkz@dim@color}
+ % end of patch
\pgfpathmoveto{\pgfpoint{0pt}{\dist}}
\pgfpathlineto{\pgfpoint{\pgfdecoratedpathlength}{\dist}}
\pgfusepath{stroke}
@@ -424,12 +262,26 @@
},
dim/.default={,0pt,}
}
-
+\tikzset{
+ dim color/.store in=\tkz@dim@color,
+ dim color=black,
+ % similar to code for \tikzoption{dash pattern}{...}
+ dim dash pattern/.code={%
+ \def\tikz@temp{#1}%
+ \ifx\tikz@temp\pgfutil@empty%
+ \def\tkz@dim@dashpattern{{}{0pt}}%
+ \else%
+ \def\tikz@dashpattern{}%
+ \expandafter\tikz@scandashon\pgfutil@gobble#1o\@nil%
+ \edef\tkz@dim@dashpattern{{\tikz@dashpattern}{\noexpand\tikz@dashphase}}%
+ \fi
+ },
+ dim dash pattern=,
+}
%<--------------------------- style line --------------------------------->
\tikzset{add/.style args={#1 and #2}{to path={%
($(\tikztostart)!-#1!(\tikztotarget)$)--($(\tikztotarget)!-#2!(\tikztostart)$)%
\tikztonodes}}
}
-%<--------------------------------------------------------------------------–>
\makeatother
-\endinput
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
index 9388916c42..0bad413a37 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-polygons.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,15 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-polygons.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-polygons.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Polygon
@@ -31,6 +28,27 @@
\foreach \pt in {#2,#3}{--(\pt)}--cycle;%
\endgroup
}
+%<--------------------------------------------------------------------------–>
+\def\tkz@multipolygons#1 #2\@nil{%
+\protected@edef\tkz@temp{
+\noexpand \tkzDrawPolygon[\tkz@optpolygon](#1)}\tkz@temp%
+\def\tkz@nextArg{#2}%
+\ifx\tkzutil@empty\tkz@nextArg
+ \let\next\@gobble
+\fi
+\next#2\@nil
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawPolygons{\pgfutil@ifnextchar[{\tkz@DrawPolygons}{\tkz@DrawPolygons[]}}
+\def\tkz@DrawPolygons[#1](#2){%
+\xdef\tkz@optpolygon{#1}
+\begingroup
+ \let\next\tkz@multipolygons
+ \next#2 \@nil %
+\endgroup
+}%
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
%<---------------------------- FILL --------------------------------–>
%
%<--------------------------------------------------------------------------–>
@@ -39,7 +57,7 @@
\def\tkz@FillPolygon[#1](#2,#3){%
\begingroup
\fill[#1] (#2)
- \foreach \pt in {#2,#3}{--(\pt)}--cycle;%
+ \foreach \pt in {#2,#3}{--(\pt)}--cycle;%
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -52,7 +70,7 @@
}
%<--------------------------------------------------------------------------–>
\def\tkzDrawRectangle{\pgfutil@ifnextchar[{\tkz@DrawRectangle}%
- {\tkz@DrawRectangle[]}}
+ {\tkz@DrawRectangle[]}}
\def\tkz@DrawRectangle[#1](#2,#3){%
\begingroup
\draw[#1](#2) -| (#3) -| (#2);
@@ -61,20 +79,23 @@
%<-------------------------- gold rectangle -------------------------------–>
%
%<--------------------------------------------------------------------------–>
+\def\tkzDrawGoldRectangle{\pgfutil@ifnextchar[{\tkz@DrawGoldRectangle}{%
+ \tkz@DrawGoldRectangle[]}}
\def\tkz@DrawGoldRectangle[#1](#2,#3){
\begingroup
- \tkzDefGoldRectangle(#2,#3)
- \tkzDrawPolygon[#1](#2,#3,tkzFirstPointResult,tkzSecondPointResult)
+ \tkzDefGoldRectangle(#2,#3)
+ \tkzDrawPolygon[#1](#2,#3,tkzFirstPointResult,tkzSecondPointResult)
\endgroup
}
+\let\tkzDrawGoldenRectangle\tkzDrawGoldRectangle
%<-------------- Labels for Regular Polygon -------------------------–>
%
%<--------------------------------------------------------------------------–>
\pgfkeys{/deflabelregpoly/.cd,
- name/.store in = \tkz@regpolname,
- sep/.store in = \tkz@regpolsep,
- name = P,
- sep = 1.1
+ name/.store in = \tkz@regpolname,
+ sep/.store in = \tkz@regpolsep,
+ name = P,
+ sep = 1.1
}
\def\tkzLabelRegPolygon{\pgfutil@ifnextchar[{\tkz@labelPolygon}{%
@@ -83,11 +104,31 @@
\begingroup
\pgfqkeys{/deflabelregpoly}{#1}
\foreach \v [count=\vi from 1] in {#3} {%
- \path (#2) to [pos=1.1] node {$\v$} (\tkz@regpolname\vi) ;
- \pgfnodealias{\v}{\tkz@regpolname\vi}
+ \path (#2) to [pos=1.1] node {$\v$} (\tkz@regpolname\vi) ;
+ \pgfnodealias{\v}{\tkz@regpolname\vi}
}
\endgroup
}
+%<---------------------------- CLIP --------------------------------–>
+%
+%<--------------------------------------------------------------------------–>
+
+\newif\iftkzClipOutPoly%
+\pgfkeys{tkzclippolygon/.cd,
+ out code/.is if = tkzClipOutPoly,
+ out/.code = \tkzClipOutPolyfalse}
+\def\tkzClipPolygon{\pgfutil@ifnextchar[{\tkz@ClipPolygon}{\tkz@ClipPolygon[]}}
+\def\tkz@ClipPolygon[#1](#2,#3){%
+\tkzClipOutPolytrue
+\pgfqkeys{/tkzclippolygon}{#1}%
+\iftkzClipOutPoly
+\clip (#2)
+ \foreach \pt in {#2,#3}{--(\pt)}--cycle;
+\else
+ \clip(#2)
+ \foreach \pt in {#2,#3}{--(\pt)}--cycle[tkzreverseclip] ;
+\fi
+}%
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
index bc0d6b10f2..00c5a97e54 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-draw-triangles.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,12 +7,13 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status “maintained”.
-%
+% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-draw-triangles.tex}
+\makeatletter
%<--------------------------------------------------------------------------–>
% Draw Triangles
%<--------------------------------------------------------------------------–>
@@ -25,12 +26,13 @@
school/.code = {\def\tkz@numdtr{3}},
golden/.code = {\def\tkz@numdtr{4}},
sublime/.code = {\def\tkz@numdtr{4}},
- euclide/.code = {\def\tkz@numdtr{5}},
+ euclid/.code = {\def\tkz@numdtr{5}},
gold/.code = {\def\tkz@numdtr{6}},
cheops/.code = {\def\tkz@numdtr{7}},
two angles/.code args = {#1 and #2}{\def\tkz@numdtr{8}%
\def\tkz@alpha{#1}%
\def\tkz@beta{#2}},
+ isosceles right/.code = {\def\tkz@numdtr{9}},
equilateral,
/drawtriangle/.search also={/tikz}
}
@@ -58,9 +60,32 @@
\or% 7
\tkzDefCheopsTriangle(#2,#3)
\or% 8
- \tkzDefTwoAnglesTriangle(#2,#3)
+ \tkzDefTwoAnglesTriangle(#2,#3)
+ \or% 9
+ \tkzDefIsoscelesRightTriangle(#2,#3)
\fi
\draw[/drawtriangle/.cd,line style,#1] (#2)--(#3)--(tkzPointResult)--cycle;
\endgroup
}
+%<--------------------------------------------------------------------------–>
+\def\tkz@multitriangles#1 #2\@nil{%
+\protected@edef\tkz@temp{
+\noexpand \tkzDrawPolygon[\tkz@opttrianle](#1)}\tkz@temp%
+\def\tkz@nextArg{#2}%
+\ifx\tkzutil@empty\tkz@nextArg
+ \let\next\@gobble
+\fi
+\next#2\@nil
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawTriangles{\pgfutil@ifnextchar[{\tkz@DrawTriangles}{\tkz@DrawTriangles[]}}
+\def\tkz@DrawTriangles[#1](#2){%
+\xdef\tkz@opttrianle{#1}
+\begingroup
+ \let\next\tkz@multitriangles
+ \next#2 \@nil %
+\endgroup
+}%
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
new file mode 100644
index 0000000000..709d78079f
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
@@ -0,0 +1,83 @@
+% tkz-obj-eu-grids.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-grids.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% Setup Grid
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/tkzsugrid/.cd,
+ line width/.store in = \tkz@sug@lw,
+ color/.store in = \tkz@sug@color,
+ line width = \tkz@grid@lw,
+ color = \tkz@grid@color
+ }
+
+\def\tkzSetUpGrid{\pgfutil@ifnextchar[{\tkz@SetUpGrid}{\tkz@SetUpGrid[]}}
+\def\tkz@SetUpGrid[#1]{%
+\begingroup
+\pgfqkeys{/tkzsugrid}{#1}
+\global\let\tkz@grid@lw\tkz@sug@lw
+\global\let\tkz@grid@color\tkz@sug@color
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% tkzGrid
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/tkzGrid/.cd,
+ color/.code = {\def\tkz@gd@color{#1}%
+ \edef\tkz@gd@subcolor{%
+ \tkz@gd@color!\tkzCoeffSubColor}},
+ subxstep/.store in = {\tkz@gd@subxstep},
+ subystep/.store in = {\tkz@gd@subystep},
+ ratio/.store in = {\tkz@gd@ratio},
+ line width/.code = {\edef\tkz@gd@lw{#1}
+ \edef\tkz@gd@sublw{\tkz@gd@ratio\tkz@gd@lw}},
+ sub/.is if = tkz@gd@sub,
+ sub/.default = true ,
+ sub = false,
+ color = \tkz@grid@color,
+ ratio = 0.75,
+ subxstep = \tkz@grid@xstep,
+ subystep = \tkz@grid@ystep,
+ line width = \tkz@grid@lw,
+ /tkzGrid/.search also= {/tikz},
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzGrid{\pgfutil@ifnextchar[{\tkz@Grid}{\tkz@Grid[]}}
+\def\tkz@Grid[#1]{\@ifnextchar({\tkz@@Grid[#1]}%
+ {\tkz@@Grid[#1](\tkz@tmp@xa,\tkz@tmp@ya)(\tkz@tmp@xb,\tkz@tmp@yb)}}
+\def\tkz@@Grid[#1](#2,#3)(#4,#5){%
+ \pgfqkeys{/tkzGrid}{#1}
+ \begingroup
+ \edef\tkz@gxa{\fpeval{(#2-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkz@gxb{\fpeval{(#4-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkz@gya{\fpeval{(#3-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \edef\tkz@gyb{\fpeval{(#5-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \iftkz@gd@sub%
+ \edef\@subxstep{\fpeval{\tkz@gd@subxstep/\tkz@init@xstep}}%
+ \edef\@subystep{\fpeval{\tkz@gd@subystep/\tkz@init@ystep}}%
+ \draw [xstep = \@subxstep cm,%
+ ystep = \@subystep cm,%
+ color = \tkz@gd@subcolor,%
+ line width = \tkzRatioLineGrid]%
+ (\tkz@gxa,\tkz@gya) grid (\tkz@gxb,\tkz@gyb);%
+ \fi
+ \draw [color = \tkz@gd@color,%
+ line width = \tkz@gd@lw]%
+ (\tkz@gxa,\tkz@gya) grid (\tkz@gxb,\tkz@gyb);%
+ \endgroup
+}%
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
index c8137bcc6e..6bdecebee9 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-lines.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,15 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-lines.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-lines.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% les lignes
@@ -32,6 +29,10 @@
bisector/.code = \def\tkz@numl{3},
bisector out/.code = \def\tkz@numl{4},
symmedian/.code = \def\tkz@numl{5},
+ tangent at/.code = {#1}{\def\tkz@numl{6} \def\tkz@ptat{#1}},
+ tangent from/.code = {#1}{\def\tkz@numl{7} \def\tkz@ptfrom{#1}},
+ median/.code = \def\tkz@numl{8},
+ altitude/.code = \def\tkz@numl{9},
K/.code = \def\tkz@koeff{#1},
K = 1,
normed/.is if = tkz@line@normed,
@@ -39,7 +40,6 @@
normed = false,
mediator
}
-
\def\tkzDefLine{\pgfutil@ifnextchar[{\tkz@DefLine}{\tkz@DefLine[]}}
\def\tkz@DefLine[#1](#2){%
\begingroup
@@ -49,7 +49,7 @@
% first case 0
\tkzDefMediatorLine(#2)
\or% 1
- \tkzDefOrthLine[\tkz@koeff](#2)(\tkz@through)
+ \tkzDefOrthLine[\tkz@koeff](#2)
\or% 2
\tkzDefLineLL(#2)
\or% 3
@@ -58,6 +58,10 @@
\tkzDefBisectorOutLine(#2)
\or% 5
\tkzDefSymmedianLine(#2)
+ \or% 6
+ \tkzTgtAt(#1)(#2)
+ \or% 7
+ \tkzTgtFromP(#1)(#2)
\fi
\endgroup
}
@@ -74,7 +78,7 @@
\pgfinterruptboundingbox
\path[coordinate](\tkz@through)--++(\tkz@koeff\pgf@xa,\tkz@koeff\pgf@ya)%
coordinate (tkzPointResult);
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\iftkz@line@normed
\tkzVecKNorm(\tkz@through,tkzPointResult)
\fi
@@ -90,9 +94,9 @@
\pgfnodealias{tkz@OLtmp}{tkzPointResult}
\tkz@VecKCoLinear[\tkz@koeff](#2,tkz@OLtmp,\tkz@through)
\iftkz@line@normed
- \pgfinterruptboundingbox
+ \pgfinterruptboundingbox
\tkzVecKNorm(\tkz@through,tkzPointResult)
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\fi
\endgroup}%
%<--------------------------------------------------------------------------–>
@@ -105,7 +109,7 @@
\begingroup
\tkzDefEquilateral(#2,#3)
\pgfnodealias{tkzFirstPointResult}{tkzPointResult}
- \tkzDefEquilateral(#3,#2)
+ \tkzDefEquilateral(#3,#2)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\ifx\tkz@koeff=1 %
\else
@@ -119,12 +123,12 @@
\iftkz@line@normed
\tkzDefMidPoint(#2,#3)
\pgfnodealias{tkz@mid}{tkzPointResult}
- \pgfinterruptboundingbox
+ % \pgfinterruptboundingbox
\tkzVecKNorm[\tkz@koeff](tkz@mid,tkzFirstPointResult)
\pgfnodealias{tkzFirstPointResult}{tkzPointResult}
\tkzVecKNorm[\tkz@koeff](tkz@mid,tkzSecondPointResult)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \endpgfinterruptboundingbox
+ % \endpgfinterruptboundingbox
\fi
\endgroup}
% autre possibilité
@@ -134,10 +138,11 @@
%<--------------------------------------------------------------------------–>
\def\tkzDefBisectorLine(#1,#2,#3){%
\begingroup
- \pgfinterruptboundingbox
+ \pgfinterruptboundingbox
\tkzDuplicateSegment(#2,#1)(#2,#3)
\pgfnodealias{bi@tmp}{tkzPointResult}
- \tkzDefEquilateral(bi@tmp,#1)
+ \tkzDefMidPoint(bi@tmp,#1)
+% \tkzDefEquilateral(bi@tmp,#1)
\ifx\tkz@koeff=1 %
\else
\tkzVecK[\tkz@koeff](#2,tkzPointResult)
@@ -145,7 +150,7 @@
\iftkz@line@normed
\tkzVecKNorm[\tkz@koeff](#2,tkzPointResult)
\fi
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -153,7 +158,7 @@
%<--------------------------------------------------------------------------–>
\def\tkzDefBisectorOutLine(#1,#2,#3){%
\begingroup
- \pgfinterruptboundingbox
+ \pgfinterruptboundingbox
\tkzDuplicateLength(#2,#1)(#2,#3)
\pgfnodealias{out@tmp}{tkzPointResult}
\tkzDefMidPoint(#1,out@tmp)
@@ -166,7 +171,7 @@
\iftkz@line@normed
\tkzVecKNorm[\tkz@koeff](#2,tkzPointResult)
\fi
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -178,7 +183,7 @@
\pgfnodealias{sym@pt1}{tkzPointResult}
\tkzDefMidPoint(#1,#3)
\pgfnodealias{sym@pt2}{tkzPointResult}
- \tkzUSymOrth(#2,sym@pt1)(sym@pt2)
+ \tkzUSymOrth(#2,sym@pt1)(sym@pt2)
\ifx\tkz@koeff=1 %
\else
\tkzVecK[\tkz@koeff](#2,tkzPointResult)
@@ -188,43 +193,43 @@
\fi
\endgroup
}
-%<-------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
% tangente à cercle passant par un point donné
%<--------------------------------------------------------------------------–>
-\def\tkzTgtFromPR(#1,#2)(#3){%
- \begingroup
- \tkzDefMidPoint(#1,#3)
- \tkzCalcLength(tkzPointResult,#1)
- \tkzInterCCR(#1,#2)(tkzPointResult,\tkzLengthResult pt){%
- tkzFirstPointResult}{%
- tkzSecondPointResult}%
- \endgroup
+
+\def\tkzTgtAt(#1)(#2){%
+\begingroup
+ \tkz@VecKOrthNorm[-1](#2,#1)
+ \endgroup
}
-
+%<-------------------------------------------------------------------------–>
\def\tkzTgtFromP(#1,#2)(#3){%
- \begingroup
+\begingroup
\tkzDefMidPoint(#1,#3)
- \tkzCalcLength(#1,#2)
- \tkzGetLength{tkz@radone}%
- \tkzCalcLength(tkzPointResult,#1)
- \tkzGetLength{tkz@radtwo}%
- \tkzInterCCR(#1,\tkz@radone pt)(tkzPointResult,\tkz@radtwo pt){%
+ \tkz@@CalcLengthcm(#1,#2){tkz@radone}
+ \tkz@@CalcLengthcm(tkzPointResult,#1){tkz@radtwo}
+ \tkzInterCCR(#1,\tkz@radone)(tkzPointResult,\tkz@radtwo){%
tkzFirstPointResult}{%
tkzSecondPointResult}%
- \endgroup
-}
-\def\tkzTgtAt(#1)(#2){%
+\endgroup
+}
+%<-------------------------------------------------------------------------–>
+\def\tkzTgtFromPR(#1,#2)(#3){%
\begingroup
- \tkz@VecKOrthNorm[-1](#2,#1)
- \endgroup
-} %<--------------------------------------------------------------------------–> %<--------------------------------------------------------------------------–>
+ \tkzDefMidPoint(#1,#3)
+ \tkz@@CalcLengthcm(tkzPointResult,#1){tkzLengthResult}
+ \tkzInterCCR(#1,#2)(tkzPointResult,\tkzLengthResult){%
+ tkzFirstPointResult}{%
+ tkzSecondPointResult}%
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
\def\tkz@numtang{0}
\pgfkeys{/tkz@tang/.cd,
- at/.code = {\def\tkz@numtang{0}\def\tkz@ptat{#1}},
- from/.code = {\def\tkz@numtang{1}\def\tkz@ptfrom{#1}},
- from with R/.code = {\def\tkz@numtang{2}\def\tkz@ptfrom{#1}}
- }
+ at/.code = {\def\tkz@numtang{0}\def\tkz@ptat{#1}},
+ from/.code = {\def\tkz@numtang{1}\def\tkz@ptfrom{#1}},
+ from with R/.code = {\def\tkz@numtang{2}\def\tkz@ptfrom{#1}}
+ }
%<--------------------------------------------------------------------------–>
\def\tkzDefTangent{\pgfutil@ifnextchar[{\tkz@Tangent}{\tkz@Tangent[]}}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
index 9075bff11a..d255a1713b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
@@ -1,5 +1,5 @@
% tkz-tools-eu-points-by.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,51 +7,45 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-eu-points-by.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-el-points-by.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Transformations Géométriques
%<--------------------------------------------------------------------------–>
\def\tkz@numtrsf{0}
\pgfkeys{/tkzDefPointBy/.cd,
-translation/.code args={from #1 to #2}{%
- \def\tkzfrom{#1}%
- \def\tkzto{#2}%
- \def\tkz@numtrsf{0}},
- homothety/.code args={center #1 ratio #2}{%
- \def\tkzcenter{#1}%
- \def\tkzratio{#2}%
- \def\tkz@numtrsf{1}},
- reflection/.code args={over #1--#2}{%
- \def\tkzdeb{#1}%
- \def\tkzfin{#2}%
- \def\tkz@numtrsf{2}},
- symmetry/.code args={center #1}{%
- \def\tkzcenter{#1}%
- \def\tkz@numtrsf{3}},
- projection/.code args={onto #1--#2}{%
- \def\tkzdeb{#1}%
- \def\tkzfin{#2}%
- \def\tkz@numtrsf{4}},
- rotation/.code args={center #1 angle #2}{%
- \def\tkzcenter{#1}%
- \def\tkzangle{#2}%
- \def\tkz@numtrsf{5}},
- rotation in rad/.code args={center #1 angle #2}{%
- \def\tkzcenter{#1}%
- \def\tkzangle{#2}%
- \def\tkz@numtrsf{6}},
-inversion/.code args={center #1 through #2}{%
- \def\tkzcenter{#1}%
- \def\tkzpoint{#2}%
- \def\tkz@numtrsf{7}}
+ translation/.code args={from #1 to #2}{ \def\tkzfrom{#1}%
+ \def\tkzto{#2}%
+ \def\tkz@numtrsf{0}},
+ homothety/.code args={center #1 ratio #2}{ \def\tkzcenter{#1}%
+ \def\tkzratio{#2}%
+ \def\tkz@numtrsf{1}},
+ reflection/.code args={over #1--#2}{ \def\tkzdeb{#1}%
+ \def\tkzfin{#2}%
+ \def\tkz@numtrsf{2}},
+ symmetry/.code args={center #1}{ \def\tkzcenter{#1}%
+ \def\tkz@numtrsf{3}},
+ projection/.code args={onto #1--#2}{ \def\tkzdeb{#1}%
+ \def\tkzfin{#2}%
+ \def\tkz@numtrsf{4}},
+ rotation/.code args={center #1 angle #2}{ \def\tkzcenter{#1}%
+ \def\tkzangle{#2}%
+ \def\tkz@numtrsf{5}},
+ rotation in rad/.code args={center #1 angle #2}{ \def\tkzcenter{#1}%
+ \def\tkzangle{#2}%
+ \def\tkz@numtrsf{6}},
+ inversion/.code args={center #1 through #2}{ \def\tkzcenter{#1}%
+ \def\tkzpoint{#2}%
+ \def\tkz@numtrsf{7}},
+ inversion negative/.code args={center #1 through #2}{ \def\tkzcenter{#1}%
+ \def\tkzpoint{#2}%
+ \def\tkz@numtrsf{8}}
+% inversion négative ?
}
%<--------------------------------------------------------------------------–>
\def\tkzDefPointBy{\pgfutil@ifnextchar[{\tkz@DefPointBy}{\tkz@DefPointBy[]}}
@@ -75,6 +69,8 @@ inversion/.code args={center #1 through #2}{%
\tkzURotateInRad(\tkzcenter,\tkzangle)(#2)
\or% 7
\tkzUInversePoint(\tkzcenter,\tkzpoint)(#2)
+\or% 8
+ \tkzUInverseNegativePoint(\tkzcenter,\tkzpoint)(#2)
\fi
\endgroup
}
@@ -93,13 +89,15 @@ inversion/.code args={center #1 through #2}{%
\or% 3
\tkzCSym(\tkzcenter)(#2){#3}
\or% 4
- \tkzProjection(\tkzdeb,\tkzfin)(#2){#3}
+ \tkzProjection(\tkzdeb,\tkzfin)(#2){#3}
\or% 5
\tkzRotateAngle(\tkzcenter,\tkzangle)(#2){#3}
\or% 6
\tkzRotateInRad(\tkzcenter,\tkzangle)(#2){#3}
\or% 7
\tkzInversePoint(\tkzcenter,\tkzpoint)(#2){#3}
+ \or% 8
+ \tkzInverseNegativePoint(\tkzcenter,\tkzpoint)(#2){#3}
\fi
\endgroup
}
@@ -235,7 +233,7 @@ inversion/.code args={center #1 through #2}{%
\pgfinterruptboundingbox
\path[coordinate](#3)--++(-\tkz@ax,\tkz@ay) coordinate (tkz@point);
\tkzInterLL(#1,#2)(#3,tkz@point)% définit tkzPointResult
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -334,9 +332,9 @@ inversion/.code args={center #1 through #2}{%
{#2}
\tkz@bx\pgf@x%
\tkz@by\pgf@y%
- \pgfinterruptboundingbox
- \path (\tkz@bx,\tkz@by) coordinate (tkzPointResult);%
- \endpgfinterruptboundingbox
+ \pgfinterruptboundingbox
+ \path (\tkz@bx,\tkz@by) coordinate (tkzPointResult);%
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -405,19 +403,51 @@ inversion/.code args={center #1 through #2}{%
\else
\xdef\tkz@pointtsf{\tkz@FirstPoint}
\fi
- \tkzCalcLength[cm](#1,#2)\tkzGetLength{tkz@lna}
- \tkzCalcLength[cm](#1,\PointIP)\tkzGetLength{tkz@lnb}
- \edef\tkz@lnc{\tkz@lna/\tkz@lnb*\tkz@lna}
- \tkzVecKNorm[\tkz@lnb](#1,\PointIP)
- }
+ \tkz@@CalcLengthcm(#1,#2){tkz@lna}
+ \tkz@@CalcLengthcm(#1,\PointIP){tkz@lnb}
+ \edef\tkz@lnc{\fpeval{\tkz@lna/\tkz@lnb*\tkz@lna}}
+ \tkzVecKNorm[\tkz@lnc](#1,\PointIP)
+ \pgfnodealias{\tkz@pointtsf}{tkzPointResult}
+ }
\endgroup
}
\def\tkzUInversePoint(#1,#2)(#3){%
\begingroup
- \tkzCalcLength[cm](#1,#2)\tkzGetLength{tkz@lna}%
- \tkzCalcLength[cm](#1,#3)\tkzGetLength{tkz@lnb}%
- \edef\tkz@lnc{\fpeval{\tkz@lna/\tkz@lnb*\tkz@lna}}
+ \tkz@@CalcLengthcm(#1,#2){tkz@lna}%
+ \tkz@@CalcLengthcm(#1,#3){tkz@lnb}%
+ \edef\tkz@lnc{\fpeval{\tkz@lna/\tkz@lnb*\tkz@lna}}
+ \tkzVecKNorm[\tkz@lnc](#1,#3)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Inverse negative of a point
+%<--------------------------------------------------------------------------–>
+\def\tkzInverseNegativePoint(#1,#2)(#3)#4{%
+\begingroup
+\gdef\tkz@LastList{#4}
+ \foreach\PointIP in {#3}{%
+ \FirstPointInList\tkz@LastList
+ \ifx\tkz@FirstPoint\tkzutil@empty
+ \xdef\tkz@pointtsf{\PointIP '}
+ \else
+ \xdef\tkz@pointtsf{\tkz@FirstPoint}
+ \fi
+ \tkz@@CalcLengthcm(#1,#2){tkz@lna}
+ \tkz@@CalcLengthcm(#1,\PointIP){tkz@lnb}
+ \edef\tkz@lnc{\fpeval{\tkz@lna/\tkz@lnb*\tkz@lna}}
+ \tkzVecKNorm[\tkz@lnc](#1,\PointIP)
+ \tkzUCSym(#1)(tkzPointResult)
+ \pgfnodealias{\tkz@pointtsf}{tkzPointResult}
+ }
+\endgroup
+}
+\def\tkzUInverseNegativePoint(#1,#2)(#3){%
+\begingroup
+ \tkz@@CalcLengthcm(#1,#2){tkz@lna}%
+ \tkz@@CalcLengthcm(#1,#3){tkz@lnb}%
+ \edef\tkz@lnc{\fpeval{\tkz@lna/\tkz@lnb*\tkz@lna}}
\tkzVecKNorm[\tkz@lnc](#1,#3)
+ \tkzUCSym(#1)(tkzPointResult)
\endgroup
}
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
index 008021cf10..9832a3e9be 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-points-rnd.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-points-rnd.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-el-points-rnd.tex}
%<--------------------------------------------------------------------------–>
\makeatletter
%<-------------------------------------------------------------------------–>
@@ -94,25 +92,25 @@
%<--------------------------------------------------------------------------–>
\def\tkzRandPointOnCircle(#1,#2){%
\pgfmathrandominteger{\tkzrnd}{0}{360}
-\tkz@ax#2 %
- \edef\tkz@xa{\fpeval{\tkz@ax*cosd(\tkzrnd)}}
- \edef\tkz@xb{\fpeval{\tkz@ax*sind(\tkzrnd)}}
- \path[coordinate]($(#1) + (\tkz@xa pt,\tkz@xb pt) $) coordinate (tkzPointResult);
+\tkz@ax#2cm %
+ \edef\tkz@pxa{\fpeval{\tkz@ax*cosd(\tkzrnd)}}
+ \edef\tkz@pxb{\fpeval{\tkz@ax*sind(\tkzrnd)}}
+ \path[coordinate]($(#1) + (\tkz@pxa pt,\tkz@pxb pt) $) coordinate (tkzPointResult);
}
\def\tkzRandPointOnCircleThrough(#1,#2){%
\pgfmathrandominteger{\tkzrnd}{0}{360}
-\tkzCalcLength(#1,#2)
- \edef\tkz@xa{\fpeval{\tkzLengthResult*cosd(\tkzrnd)}}
- \edef\tkz@xb{\fpeval{\tkzLengthResult*sind(\tkzrnd)}}
-\path[coordinate]($(#1) + (\tkz@xa pt ,\tkz@xb pt) $) coordinate (tkzPointResult);
+\tkz@@CalcLength(#1,#2){tkzLengthResult}
+ \edef\tkz@pxa{\fpeval{\tkzLengthResult*cosd(\tkzrnd)}}
+ \edef\tkz@pxb{\fpeval{\tkzLengthResult*sind(\tkzrnd)}}
+\path[coordinate]($(#1) + (\tkz@pxa pt ,\tkz@pxb pt) $) coordinate (tkzPointResult);
}
%<--------------------------------------------------------------------------–>
\def\tkzRandPointOnDisk(#1,#2){%
\pgfmathrandominteger{\tkzrnd}{0}{360}
- \tkzCalcLength(#1,#2)
- \edef\tkz@xa{\fpeval{\tkzLengthResult*cosd(\tkzrnd)}}
- \edef\tkz@xb{\fpeval{\tkzLengthResult*sind(\tkzrnd)}}
- \path[coordinate]($(#1) + (\tkz@xa pt ,\tkz@xb pt) $) coordinate (tkz@tmp);
+ \tkz@@CalcLength(#1,#2){tkzLengthResult}
+ \edef\tkz@pxa{\fpeval{\tkzLengthResult*cosd(\tkzrnd)}}
+ \edef\tkz@pxb{\fpeval{\tkzLengthResult*sind(\tkzrnd)}}
+ \path[coordinate]($(#1) + (\tkz@pxa pt ,\tkz@pxb pt) $) coordinate (tkz@tmp);
\pgfmathparse{rnd}
\let\myrnd\pgfmathresult
\path[coordinate] ($ (#1)!\myrnd!(tkz@tmp) $) coordinate (tkzPointResult);
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
new file mode 100644
index 0000000000..888e127bfc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
@@ -0,0 +1,536 @@
+% tkz-obj-eu-points.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-el-points.tex}
+\makeatletter
+%add ExCenter
+%<--------------------------------------------------------------------------–>
+% Specific points
+%<--------------------------------------------------------------------------–>
+% barycentre
+%<--------------------------------------------------------------------------–>
+\def\tkzDefBarycentricPoint(#1){%
+\begingroup
+ \path[coordinate] (barycentric cs:#1) coordinate (tkzPointResult);
+\endgroup
+}
+\let\tkzDefBCPoint\tkzDefBarycentricPoint
+
+\def\tkzDefCentroid(#1){%
+\begingroup
+ \xdef\tkz@arg{}
+ \foreach \X in {#1}
+ {%
+ \ifx\tkzutil@empty\tkz@arg%
+ \xdef\tkz@arg{\X=1}
+ \else
+ \xdef\tkz@arg{\tkz@arg,\X=1}
+ \fi
+ }
+ \path[coordinate] (barycentric cs:\tkz@arg) coordinate (tkzPointResult);
+\endgroup
+}
+
+%<--------------------------------------------------------------------------–>
+% milieu de deux points
+%<--------------------------------------------------------------------------–>
+% possible \coordinate (#3) at ($(#1)!0.5!(#2)$);
+%<--------------------------------------------------------------------------–>
+% \def\tkzDefMidPoint(#1,#2){%
+% \begingroup
+% \path (#1) -- (#2) coordinate[pos=.5](tkzPointResult);
+% \endgroup
+% }
+\def\tkzDefMidPoint(#1,#2){%
+\begingroup
+ \pgf@process{\pgfpointanchor{#1}{center}}%
+ \tkz@ax\pgf@x%
+ \tkz@ay\pgf@y%
+ \pgf@process{\pgfpointanchor{#2}{center}}%
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \advance\tkz@bx by\tkz@ax\relax%
+ \advance\tkz@by by\tkz@ay\relax%
+ \divide\tkz@bx by2\relax%
+ \divide\tkz@by by2\relax
+ \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@bx}{\tkz@by}}
+\endgroup
+}
+\def\tkz@DefMidPoint(#1,#2,#3,#4){%
+\begingroup
+ \tkz@ax#1%
+ \tkz@ay#2%
+ \tkz@bx#3%
+ \tkz@by#4%
+ \advance\tkz@bx by\tkz@ax\relax%
+ \advance\tkz@by by\tkz@ay\relax%
+ \divide\tkz@bx by2\relax%
+ \divide\tkz@by by2\relax
+ \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@bx}{\tkz@by}}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Internal Similitude center
+% Two circles have two similitude centers namely the internal center of
+% similitude Si and the external similitude center Se.
+%<--------------------------------------------------------------------------–>
+\def\tkz@numhomo{0}
+\pgfkeys{
+/tkzSimilitudeCenter/.cd,
+ node/.code = \def\tkz@numhomo{0},
+ R/.code = \def\tkz@numhomo{1},
+ node
+}
+\def\tkzDefIntSimilitudeCenter{\pgfutil@ifnextchar[{\tkz@DefIntSimilitudeCenter}{\tkz@DefIntSimilitudeCenter[]}}
+\def\tkz@DefIntSimilitudeCenter[#1](#2,#3)(#4,#5){%
+\begingroup
+\pgfqkeys{/tkzSimilitudeCenter}{#1}
+\ifcase\tkz@numhomo%
+ \tkzCalcLength(#2,#3)
+ \tkzGetLength{tkz@rt}
+ \tkzCalcLength(#4,#5)
+ \tkzGetLength{tkz@rf}
+ \or% 1
+ \def\tkz@rt{#3}
+ \def\tkz@rf{#5}
+\fi
+ \path[coordinate](barycentric cs:#2=\tkz@rf,#4=\tkz@rt)coordinate (tkzPointResult);
+\endgroup
+}
+\let\tkzDefIntHomotheticCenter\tkzDefIntSimilitudeCenter
+%<--------------------------------------------------------------------------–>
+% External Similitude center
+%<--------------------------------------------------------------------------–>
+\def\tkzDefExtSimilitudeCenter{\pgfutil@ifnextchar[{\tkz@DefExtSimilitudeCenter}{\tkz@DefExtSimilitudeCenter[]}}
+
+\def\tkz@DefExtSimilitudeCenter[#1](#2,#3)(#4,#5){%
+\begingroup
+\pgfqkeys{/tkzSimilitudeCenter}{#1}
+\ifcase\tkz@numhomo%
+ \tkzCalcLength(#2,#3)
+ \tkzGetLength{tkz@rt}
+ \tkzCalcLength(#4,#5)
+ \tkzGetLength{tkz@rf}
+ \or% 1
+ \def\tkz@rt{#3}
+ \def\tkz@rf{#5}
+\fi
+ \path[coordinate](barycentric cs:#2=-\tkz@rf,#4=\tkz@rt) coordinate(tkzPointResult);
+\endgroup
+}
+
+\let\tkzDefExtHomotheticCenter\tkzDefExtSimilitudeCenter
+
+%<--------------------------------------------------------------------------–>
+% golden ratio
+%<--------------------------------------------------------------------------–>
+\def\tkzDefGoldenRatio(#1,#2){%
+\begingroup
+\tkzDefPointWith[linear,K=\tkzInvPhi](#1,#2)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% triangle center
+%<--------------------------------------------------------------------------–>
+
+\def\tkz@numtc{0}
+\pgfkeys{/tkzDefTriangleCenter/.cd,
+ ortho/.code = \def\tkz@numtc{0},
+ orthic/.code = \def\tkz@numtc{0},
+ centroid/.code = \def\tkz@numtc{1},
+ median/.code = \def\tkz@numtc{1},
+ circum/.code = \def\tkz@numtc{2},
+ in/.code = \def\tkz@numtc{3},
+ ex/.code = \def\tkz@numtc{4},
+ euler/.code = \def\tkz@numtc{5},
+ symmedian/.code = \def\tkz@numtc{6},
+ lemoine/.code = \def\tkz@numtc{6},
+ grebe/.code = \def\tkz@numtc{6},
+ spieker/.code = \def\tkz@numtc{7},
+ gergonne/.code = \def\tkz@numtc{8},
+ nagel/.code = \def\tkz@numtc{9},
+ mittenpunkt/.code = \def\tkz@numtc{10},
+ feuerbach/.code = \def\tkz@numtc{11},
+ circum
+}
+\def\tkzDefTriangleCenter{\pgfutil@ifnextchar[{\tkz@DefTriangleCenter}{\tkz@DefTriangleCenter[]}}
+\def\tkz@DefTriangleCenter[#1](#2){%
+\begingroup
+\pgfqkeys{/tkzDefTriangleCenter}{#1}
+\ifcase\tkz@numtc%
+ \tkzOrthoCenter(#2)
+ \or% 1
+ \tkzCentroid(#2)
+ \or% 2
+ \tkzCircumCenter(#2)
+ \or% 3
+ \tkzInCenter(#2)
+ \or% 4
+ \tkzExCenter(#2)
+ \or% 5
+ \tkzEulerCenter(#2)
+ \or% 6
+ \tkzSymmedianCenter(#2)
+ \or% 7
+ \tkzSpiekerCenter(#2)
+ \or% 8
+ \tkzGergonneCenter(#2)
+ \or%9
+ \tkzNagelCenter(#2)
+ \or%10
+ \tkzMittenpunktCenter(#2)
+ \or%11
+ \tkzFeuerbachCenter(#2)
+ \fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% OrthoCenter
+%<--------------------------------------------------------------------------–>
+\def\tkzOrthoCenter(#1,#2,#3){% H orthocentre
+\begingroup
+ \pgfinterruptboundingbox
+ \tkzUProjection(#1,#2)(#3)
+ \pgfnodealias{ort@pta}{tkzPointResult}
+ \tkzUProjection(#1,#3)(#2)
+ \pgfnodealias{ort@ptb}{tkzPointResult}
+ \tkzInterLL(#2,ort@ptb)(#3,ort@pta)
+ \endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzDefOrthoCenter\tkzOrthoCenter
+%<--------------------------------------------------------------------------–>
+% GravityCenter modif 3.03
+%<--------------------------------------------------------------------------–>
+\def\tkzCentroid(#1,#2,#3){%
+\begingroup
+ \pgf@process{\pgfpointanchor{#1}{center}}%
+ \tkz@ax\pgf@x%
+ \tkz@ay\pgf@y%
+ \pgf@process{\pgfpointanchor{#2}{center}}%
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \pgf@process{\pgfpointanchor{#3}{center}}%
+ \tkz@cx\pgf@x%
+ \tkz@cy\pgf@y%
+ \advance\tkz@cx by\tkz@ax\relax%
+ \advance\tkz@cy by\tkz@ay\relax%
+ \advance\tkz@cx by\tkz@bx\relax%
+ \advance\tkz@cy by\tkz@by\relax%
+ \divide\tkz@cx by3\relax%
+ \divide\tkz@cy by3\relax
+ \pgfinterruptboundingbox
+ \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@cx}{\tkz@cy}}
+ \endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzBaryCenter\tkzCentroid
+
+%<--------------------------------------------------------------------------–>
+% CircumCenter
+%<--------------------------------------------------------------------------–>
+\def\tkzCircumCenter(#1,#2,#3){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkzDefMediatorLine(#1,#2)
+ \pgf@process{\pgfpointanchor{tkzFirstPointResult}{center}}%
+ \tkz@ax\pgf@x%
+ \tkz@ay\pgf@y%
+ \pgf@process{\pgfpointanchor{tkzSecondPointResult}{center}}%
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \tkzDefMediatorLine(#1,#3)
+ \pgf@process{\pgfpointanchor{tkzFirstPointResult}{center}}%
+ \tkz@cx\pgf@x%
+ \tkz@cy\pgf@y%
+ \pgf@process{\pgfpointanchor{tkzSecondPointResult}{center}}%
+ \tkz@dx\pgf@x%
+ \tkz@dy\pgf@y%
+ \tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)(\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)%
+\endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzDefCircumCenter\tkzCircumCenter
+%<--------------------------------------------------------------------------–>
+% InCenter
+%<--------------------------------------------------------------------------–>
+\def\tkzInCenter(#1,#2,#3){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkzDefBisectorLine(#3,#1,#2)
+ \pgf@process{\pgfpointanchor{tkzPointResult}{center}}%
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \tkzDefBisectorLine(#3,#2,#1)
+ \pgf@process{\pgfpointanchor{tkzPointResult}{center}}%
+ \tkz@dx\pgf@x%
+ \tkz@dy\pgf@y%
+ \pgf@process{\pgfpointanchor{#1}{center}}%
+ \tkz@ax\pgf@x%
+ \tkz@ay\pgf@y%
+ \pgf@process{\pgfpointanchor{#2}{center}}%
+ \tkz@cx\pgf@x%
+ \tkz@cy\pgf@y%
+ \tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)%
+ (\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)%
+ \endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzDefInCenter\tkzInCenter
+%<--------------------------------------------------------------------------–>
+% ExCenter
+%<--------------------------------------------------------------------------–>
+\def\tkzExCenter(#1,#2,#3){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkzDefBisectorOutLine(#2,#1,#3)
+ \pgf@process{\pgfpointanchor{tkzPointResult}{center}}%
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \tkzDefBisectorOutLine(#2,#3,#1)
+ \pgf@process{\pgfpointanchor{tkzPointResult}{center}}%
+ \tkz@dx\pgf@x%
+ \tkz@dy\pgf@y%
+ \pgf@process{\pgfpointanchor{#1}{center}}%
+ \tkz@ax\pgf@x%
+ \tkz@ay\pgf@y%
+ \pgf@process{\pgfpointanchor{#3}{center}}%
+ \tkz@cx\pgf@x%
+ \tkz@cy\pgf@y%
+ \tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)%
+ (\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)%
+ \endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzDefExCenter\tkzExCenter
+%<--------------------------------------------------------------------------–>
+% EulerCenter neuf points
+%<--------------------------------------------------------------------------–>
+\def\tkzEulerCenter(#1,#2,#3){%
+% mileu de orthocentre et centre cercle circonscrit
+% passe par les midpoints par les pieds des hauteurs
+\begingroup
+\pgfinterruptboundingbox
+ \tkzDefMidPoint(#1,#2)
+ \pgfnodealias{eu@mic}{tkzPointResult}
+ \tkzDefMidPoint(#1,#3)
+ \pgfnodealias{eu@mib}{tkzPointResult}
+ \tkzDefMidPoint(#2,#3)
+ \pgfnodealias{eu@mia}{tkzPointResult}
+ \tkzCircumCenter(eu@mia,eu@mib,eu@mic)
+\endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzNinePointCenter\tkzEulerCenter
+\let\tkzDefEulerCenter\tkzEulerCenter
+%<--------------------------------------------------------------------------–>
+%Symmedian center Lemoine point Grebe point K
+%<--------------------------------------------------------------------------–>
+\def\tkzSymmedianCenter(#1,#2,#3){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkzDefMidPoint(#2,#3)
+ \pgfnodealias{eu@mic}{tkzPointResult}
+ \tkzDefMidPoint(#1,#3)
+ \pgfnodealias{eu@mib}{tkzPointResult}
+ \tkzUProjection(#2,#3)(#1)
+ \pgfnodealias{ort@pta}{tkzPointResult}
+ \tkzDefMidPoint(#1,ort@pta)
+ \pgfnodealias{eu@mid}{tkzPointResult}
+ \tkzUProjection(#1,#3)(#2)
+ \pgfnodealias{ort@ptb}{tkzPointResult}
+ \tkzDefMidPoint(#2,ort@ptb)
+ \pgfnodealias{eu@mie}{tkzPointResult}
+ \tkzInterLL(eu@mic,eu@mid)(eu@mib,eu@mie)
+\endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzLemoinePoint\tkzSymmedianCenter
+\let\tkzGrebePoint\tkzSymmedianCenter
+\let\tkzDefLemoinePoint\tkzLemoinePoint
+%<--------------------------------------------------------------------------–>
+% Spieker center
+%<--------------------------------------------------------------------------–>
+\def\tkzSpiekerCenter(#1,#2,#3){%
+\begingroup
+% we need to get the midpoints
+\pgfcoordinate{tkz@m3}{%
+ \pgfpointscale{0.5}{%
+ \pgfpointadd{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}}}%
+\pgfcoordinate{tkz@m2}{%
+ \pgfpointscale{0.5}{%
+ \pgfpointadd{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#3}{center}}}}%
+\pgfcoordinate{tkz@m1}{%
+ \pgfpointscale{0.5}{%
+ \pgfpointadd{\pgfpointanchor{#2}{center}}%
+ {\pgfpointanchor{#3}{center}}}}%
+\tkzInCenter(tkz@m1,tkz@m2,tkz@m3)
+\endgroup
+}
+\let\tkzDefSpiekerCenter\tkzSpiekerCenter
+%<--------------------------------------------------------------------------–>
+% Gergonne center Ge
+%<--------------------------------------------------------------------------–>
+\def\tkzGergonneCenter(#1,#2,#3){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkzInCenter(#1,#2,#3)
+ \pgfnodealias{tkz@ptin}{tkzPointResult}
+ \tkzUProjection(#2,#3)(tkz@ptin)
+ \pgfnodealias{tkz@oca}{tkzPointResult}
+ \tkzUProjection(#1,#3)(tkz@ptin)
+ \pgfnodealias{tkz@ocb}{tkzPointResult}
+ \tkzInterLL(#1,tkz@oca)(#2,tkz@ocb)
+\endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzDefGergonneCenter\tkzGergonneCenter
+%<--------------------------------------------------------------------------–>
+% Nagel center Na
+%<--------------------------------------------------------------------------–>
+% INa = 3 IG. Nagel point % correction 02/02/20
+\def\tkzNagelCenter(#1,#2,#3){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkzDefExcentralTriangle(#1,#2,#3){tkz@a,tkz@b,tkz@c}
+ \tkzUProjection(#2,#3)(tkz@a)
+ \pgfnodealias{tkz@tgta}{tkzPointResult}
+ \tkzUProjection(#1,#2)(tkz@c)
+ \pgfnodealias{tkz@tgtc}{tkzPointResult}
+ \tkzInterLL(#1,tkz@tgta)(#3,tkz@tgtc)
+\endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzDefNagelCenter\tkzNagelCenter
+%<--------------------------------------------------------------------------–>
+% Mittenpunkt
+%<--------------------------------------------------------------------------–>
+\def\tkzMittenpunktCenter(#1,#2,#3){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkzExCenter(#2,#3,#1)
+ \pgfnodealias{tkz@a}{tkzPointResult}
+ \tkzExCenter(#3,#1,#2)
+ \pgfnodealias{tkz@b}{tkzPointResult}
+ \pgfcoordinate{tkz@ma}{%
+ \pgfpointscale{0.5}{%
+ \pgfpointadd{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}}}%
+ \pgfcoordinate{tkz@mb}{%
+ \pgfpointscale{0.5}{%
+ \pgfpointadd{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}}}%
+ \tkzInterLL(tkz@a,tkz@ma)(tkz@b,tkz@mb)
+ \endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzDefMittenpunktCenter\tkzMittenpunktCenter
+\let\tkzDefMiddlespoint\tkzMittenpunktCenter
+%<--------------------------------------------------------------------------–>
+% Feuerbach point
+%<--------------------------------------------------------------------------–>
+\def\tkzFeuerbachCenter(#1,#2,#3){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkzEulerCenter(#1,#2,#3)
+ \pgfnodealias{tkz@euler}{tkzPointResult}
+ \tkzInCenter(#1,#2,#3)
+ \pgfnodealias{tkz@in}{tkzPointResult}
+ \tkzUProjection(#2,#3)(tkzPointResult)
+ \tkzInterLC(tkz@in,tkz@euler)(tkz@in,tkzPointResult)\tkzGetFirstPoint{tkz@fe}
+ \tkzRenamePoint(tkz@fe){tkzPointResult}
+ \endpgfinterruptboundingbox
+\endgroup
+}
+\let\tkzDefFeuerbachCenter\tkzFeuerbachCenter
+%<--------------------------------------------------------------------------–>
+% Orthogonal center
+%<--------------------------------------------------------------------------–>
+\def\tkzOrthogonalCenter(#1,#2){%
+\begingroup
+\pgfinterruptboundingbox
+ \tkz@VecK[\tkz@koeff/(1+\tkz@koeff)](#1,#2)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkz@VecK[\tkz@koeff/(\tkz@koeff-1)](#1,#2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+ \tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult)
+\endpgfinterruptboundingbox
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% End Triangle center
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+% Projection center of excircles
+%<--------------------------------------------------------------------------–>
+\def\tkzDefProjExcenter{\pgfutil@ifnextchar[{%
+ \tkz@DefProjExcenter}{%
+ \tkz@DefProjExcenter[]}
+ }
+\def\tkz@DefProjExcenter[#1](#2,#3,#4)(#5)#6{
+\begingroup
+ \SetUpPTTR{#1}
+ \foreach \name [count=\i] in {#5} {%
+ \global\expandafter\edef\csname tkz@pt\i\endcsname{\name}
+ }
+ \foreach \name [count=\i] in {#6} {%
+ \global\expandafter\edef\csname tkz@ppt\i\endcsname{\name}
+ }
+\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt1\endcsname)
+\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt1\endcsname}{tkzPointResult}
+\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt2\endcsname)
+\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt2\endcsname}{tkzPointResult}
+\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt3\endcsname)
+\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt3\endcsname}{tkzPointResult}
+\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt1\endcsname)
+\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt1\endcsname}{tkzPointResult}
+\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt2\endcsname)
+\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt2\endcsname}{tkzPointResult}
+\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt3\endcsname)
+\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt3\endcsname}{tkzPointResult}
+\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt1\endcsname)
+\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt1\endcsname}{tkzPointResult}
+\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt2\endcsname)
+\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt2\endcsname}{tkzPointResult}
+\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt3\endcsname)
+\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt3\endcsname}{tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Point on circle
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/tkzptcircle/.cd,
+ angle/.store in = \tkz@angle,
+ angle = 0 ,
+ center/.store in = \tkz@center,
+ radius/.store in = \tkz@radius,
+}
+\def\tkzDefPointOnCircle{\pgfutil@ifnextchar[{\tkz@DefPointOnCircle}{\tkz@DefPointOnCircle[]}}
+\def\tkz@DefPointOnCircle[#1]{%
+\begingroup
+\pgfqkeys{/tkzptcircle}{#1}
+\path (\tkz@center) --++(\tkz@angle:\tkz@radius) coordinate(tkzPointResult);
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Point on line
+%<--------------------------------------------------------------------------–>
+\def\tkzDefPointOnLine{\pgfutil@ifnextchar[{\tkz@DefPointOnLine}{\tkz@DefPointOnLine[]}}
+\def\tkz@DefPointOnLine[#1](#2,#3){%
+\begingroup
+\path (#2) to [#1] coordinate (tkzPointResult) (#3);
+\endgroup
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
index 66ce3aa16c..585b90c1b6 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
@@ -1,5 +1,5 @@
-% tkz-obj-eu-points-with.tex
-% Copyright 2020 Alain Matthes
+% tkz-obj-el-points-with.tex
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-points-with.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-el-points-with.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Vectors
@@ -39,9 +37,9 @@
\def\tkzDuplicateSegment(#1,#2)(#3,#4){%
\begingroup
- \tkzCalcLength(#1,#2)\tkzGetLength{tkz@firstlen}%
- \tkzCalcLength(#3,#4)\tkzGetLength{tkz@secondlen}%
- \edef\tkz@ratio{\fpeval{\tkz@firstlen/\tkz@secondlen}}
+ \tkz@@CalcLength(#1,#2){tkz@firstlen}%
+ \tkz@@CalcLength(#3,#4){tkz@secondlen}%
+ \edef\tkz@ratio{\fpeval{\tkz@firstlen/\tkz@secondlen}}
\tkz@VecKCoLinear[\tkz@ratio](#3,#4,#3)%
\endgroup
}
@@ -263,6 +261,5 @@
\endpgfinterruptboundingbox
\endgroup
}%
-%<-------------------------------------------------------------------------–>
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
index 64118c22e9..c7b94a86a0 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
@@ -1,5 +1,5 @@
-% tkz-obj-eu-points.tex
-% Copyright 2020 Alain Matthes
+ % tkz-obj-eu-points.tex
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,491 +7,322 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status “maintained”.
-%
+% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-points.tex}
-\makeatletter
-%add ExCenter
-%<--------------------------------------------------------------------------–>
-% Specific points
-%<--------------------------------------------------------------------------–>
-% barycentre
-%<--------------------------------------------------------------------------–>
-\def\tkzDefBarycentricPoint(#1){%
-\begingroup
- \path[coordinate] (barycentric cs:#1) coordinate (tkzPointResult);
-\endgroup
-}
-\let\tkzDefBCPoint\tkzDefBarycentricPoint
-\def\tkzDefCentroid(#1){%
-\begingroup
- \xdef\tkz@arg{}
- \foreach \X in {#1}
- {%
- \ifx\tkzutil@empty\tkz@arg%
- \xdef\tkz@arg{\X=1}
- \else
- \xdef\tkz@arg{\tkz@arg,\X=1}
- \fi
- }
- \path[coordinate] (barycentric cs:\tkz@arg) coordinate (tkzPointResult);
-\endgroup
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-points.tex}
+\makeatletter
+%<--------------------------------------------------------------------------->
+% init def point
+%<--------------------------------------------------------------------------->
+% tkzDefPoint
+%<--------------------------------------------------------------------------->
+% macros complémentaires pour def point
+%<--------------------------------------------------------------------------->
+\def\tkz@parsecoordinate#1{%
+\tkz@getseparator#1,\@nil
+\iftkz@polar
+ \tkz@getfrompolar#1\@nil
+\else
+ \tkz@getfromcart#1\@nil
+\fi
}
-
-%<--------------------------------------------------------------------------–>
-% milieu de deux points
-%<--------------------------------------------------------------------------–>
-% possible \coordinate (#3) at ($(#1)!0.5!(#2)$);
-%<--------------------------------------------------------------------------–>
-% \def\tkzDefMidPoint(#1,#2){%
-% \begingroup
-% \path (#1) -- (#2) coordinate[pos=.5](tkzPointResult);
-% \endgroup
-% }
-\def\tkzDefMidPoint(#1,#2){%
-\begingroup
- \pgf@process{\pgfpointanchor{#1}{center}}%
- \tkz@ax\pgf@x%
- \tkz@ay\pgf@y%
- \pgf@process{\pgfpointanchor{#2}{center}}%
- \tkz@bx\pgf@x%
- \tkz@by\pgf@y%
- \advance\tkz@bx by\tkz@ax\relax%
- \advance\tkz@by by\tkz@ay\relax%
- \divide\tkz@bx by2\relax%
- \divide\tkz@by by2\relax
- \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@bx}{\tkz@by}}
-\endgroup
+\def\tkz@getseparator#1,#2\@nil{%
+\ifx\tkzempty#2\tkzempty%
+ \tkz@polartrue
+\else
+ \tkz@polarfalse
+\fi
+}
+\def\tkz@getfrompolar#1:#2\@nil{%
+\edef\tkz@a{\fpeval{#1}}
+\edef\tkz@r{\fpeval{#2}}
+\xdef\tkz@polarrad{\tkz@r}
+\xdef\tkz@polarangle{\tkz@a}
+}
+\def\tkz@getfromcart#1,#2\@nil{%
+\edef\tkz@x{\fpeval{#1}}
+\edef\tkz@y{\fpeval{#2}}
+\xdef\tkz@absc{\tkz@x}
+\xdef\tkz@ord{\tkz@y}
}
-\def\tkz@DefMidPoint(#1,#2,#3,#4){%
-\begingroup
- \tkz@ax#1%
- \tkz@ay#2%
- \tkz@bx#3%
- \tkz@by#4%
- \advance\tkz@bx by\tkz@ax\relax%
- \advance\tkz@by by\tkz@ay\relax%
- \divide\tkz@bx by2\relax%
- \divide\tkz@by by2\relax
- \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@bx}{\tkz@by}}
-\endgroup
+%<--------------------------------------------------------------------------->
+% options pour point definition
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzPt/.cd,
+ polar/.is if = tkz@pt@polar,
+ polar/.default = true,
+ polar = false
}
-%<--------------------------------------------------------------------------–>
-% Internal Similitude center
-% Two circles have two similitude centers namely the internal center of similitude Si and the external similitude center Se.
-%<--------------------------------------------------------------------------–>
-\def\tkzDefIntSimilitudeCenter(#1,#2)(#3,#4){%
-\begingroup
- \path[coordinate](barycentric cs:#1=#4,#3=#2)coordinate (tkzPointResult);
-\endgroup
+%<--------------------------------------------------------------------------->
+% tkz@ptStar
+%<--------------------------------------------------------------------------->
+\def\tkz@ptStar[#1](#2,#3)#{%
+\pgfkeys{/tkzPt/.cd, polar = false}
+\pgfqkeys{/tkzPt}{#1}
+\iftkz@pt@polar%
+ \edef\tkz@x{\fpeval{#3*cosd(#2)}}
+ \edef\tkz@y{\fpeval{#3*sind(#2)}}
+\else
+ \edef\tkz@x{\fpeval{#2}}
+ \edef\tkz@y{\fpeval{#3}}
+\fi
+\edef\tkzpt@xa{\fpeval{(\tkz@x-\tkz@init@xorigine)/\tkz@init@xstep}}
+\edef\tkzpt@ya{\fpeval{(\tkz@y-\tkz@init@yorigine)/\tkz@init@ystep}}
+\tkz@node
}
-\let\tkzIntSimilitudeCenter\tkzDefIntSimilitudeCenter
-%<--------------------------------------------------------------------------–>
-% External Similitude center
-%<--------------------------------------------------------------------------–>
-\def\tkzDefExtSimilitudeCenter(#1,#2)(#3,#4){%
-\begingroup
- \path[coordinate](barycentric cs:#1=-#4,#3=#2) coordinate(tkzPointResult);
-\endgroup
-}
-\let\tkzExtSimilitudeCenter\tkzDefExtSimilitudeCenter
-%<--------------------------------------------------------------------------–>
-% triangle center
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------->
+% la macro defpoint les coordonnées cartésiennes ou polaires sont traitées
+% afin de pouvoir être adaptées avec les unités choisies
+%<--------------------------------------------------------------------------->
+\def\tkzDefPoint{\pgfutil@ifnextchar[{\tkz@DefPoint}{\tkz@DefPoint[]}}
-\def\tkz@numtc{0}
-\pgfkeys{/tkzDefTriangleCenter/.cd,
- ortho/.code = \def\tkz@numtc{0},
- centroid/.code = \def\tkz@numtc{1},
- median/.code = \def\tkz@numtc{1},
- circum/.code = \def\tkz@numtc{2},
- in/.code = \def\tkz@numtc{3},
- ex/.code = \def\tkz@numtc{4},
- euler/.code = \def\tkz@numtc{5},
- symmedian/.code = \def\tkz@numtc{6},
- lemoine/.code = \def\tkz@numtc{6},
- grebe/.code = \def\tkz@numtc{6},
- spieker/.code = \def\tkz@numtc{7},
- gergonne/.code = \def\tkz@numtc{8},
- nagel/.code = \def\tkz@numtc{9},
- mittenpunkt/.code = \def\tkz@numtc{10},
- feuerbach/.code = \def\tkz@numtc{11},
- circum
-}
-\def\tkzDefTriangleCenter{\pgfutil@ifnextchar[{\tkz@DefTriangleCenter}{\tkz@DefTriangleCenter[]}}
-\def\tkz@DefTriangleCenter[#1](#2){%
-\begingroup
-\pgfqkeys{/tkzDefTriangleCenter}{#1}
-\ifcase\tkz@numtc%
- \tkzOrthoCenter(#2)
- \or% 1
- \tkzCentroid(#2)
- \or% 2
- \tkzCircumCenter(#2)
- \or% 3
- \tkzInCenter(#2)
- \or% 4
- \tkzExCenter(#2)
- \or% 5
- \tkzEulerCenter(#2)
- \or% 6
- \tkzSymmedianCenter(#2)
- \or% 7
- \tkzSpiekerCenter(#2)
- \or% 8
- \tkzGergonneCenter(#2)
- \or%9
- \tkzNagelCenter(#2)
- \or%10
- \tkzMittenpunktCenter(#2)
- \or%11
- \tkzFeuerbachCenter(#2)
- \fi
-\endgroup
+\def\tkz@DefPoint[#1](#2)#{%
+\tkz@parsecoordinate{#2}
+\iftkz@polar
+ \tkz@ptStar[polar](\tkz@polarangle,\tkz@polarrad){tkz@coord@temp}
+\else
+ \tkz@ptStar[](#2){tkz@coord@temp}
+\fi
+\tkz@DefPointEnd[#1]
+}%
+\def\tkz@DefPointEnd[#1]#2{\coordinate[#1] (#2) at (tkz@coord@temp);}
+%<--------------------------------------------------------------------------->
+% tkzDefPoints
+%<--------------------------------------------------------------------------->
+\def\tkzDefPoints{\pgfutil@ifnextchar[{\tkz@DefPoints}{\tkz@DefPoints[]}}
+\def\tkz@DefPoints[#1]#2{%
+ \begingroup
+ \def\tkz@parenthesis@for@err{(}%
+ \def\tkz@maybe@parenthesis{#2}%
+ \ifx\tkz@maybe@parenthesis\tkz@parenthesis@for@err
+ \PackageError{tkz-base}{Syntax error use {} instead of ()}{You need to use {} instead of ()}%
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {\tkz@absorb@bad@arg}%
+ {\foreach \ptx/\pty/\name in {#2}{\tkzDefPoint[#1](\ptx,\pty){\name}}%
+ \endgroup}%
}
-%<--------------------------------------------------------------------------–>
-% OrthoCenter
-%<--------------------------------------------------------------------------–>
-\def\tkzOrthoCenter(#1,#2,#3){% H orthocentre
-\begingroup
- \pgfinterruptboundingbox
- \tkzUProjection(#1,#2)(#3)
- \pgfnodealias{ort@pta}{tkzPointResult}
- \tkzUProjection(#1,#3)(#2)
- \pgfnodealias{ort@ptb}{tkzPointResult}
- \tkzInterLL(#2,ort@ptb)(#3,ort@pta)
- \endpgfinterruptboundingbox
-\endgroup
+\def\tkz@absorb@bad@arg#1){\endgroup}
+%<--------------------------------------------------------------------------->
+\def\tkz@node#1{ \pgfinterruptboundingbox
+\path[coordinate](\tkzpt@xa,\tkzpt@ya) coordinate(#1);
+ \endpgfinterruptboundingbox}
+% \def\tkz@drawnode#1{\path[coordinate](\tkzpt@xa,\tkzpt@ya) coordinate(#1);
+% \tkz@DrawPt{#1}
+% }
+%<--------------------------------------------------------------------------->
+% tkzSetUpPoint définit la forme d'un point
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzsetuppt/.cd,
+ size/.store in = \tkz@pt@size,
+ color/.store in = \tkz@pt@color,
+ fill/.store in = \tkz@pt@fill,
+ shape/.store in = \tkz@pt@shape,
+ size = \tkz@euc@pointsize,
+ color = \tkz@euc@pointcolor,
+ fill = \tkz@euc@pointcolor,
+ shape = \tkz@euc@pointshape,
+ /tkzsetuppt/.search also = {/tikz},
+ }
+\def\tkzSetUpPoint{\pgfutil@ifnextchar[{\tkz@SetUpPoint}{%
+ \tkz@SetUpPoint[]}}
+\def\tkz@SetUpPoint[#1]{%
+\pgfqkeys{/tkzsetuppt}{#1}
+% redefine point style with new values
+\tikzset{point style/.style={draw = \tkz@pt@color,
+ inner sep = 0pt,
+ shape = \tkz@pt@shape,
+ minimum size = \tkz@pt@size,
+ fill = \tkz@pt@fill}}
+}% end setup
+%<--------------------------------------------------------------------------->
+% Draw Point
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzdrawpt/.cd,
+ size/.code = {\tikzset{point style/.append style={minimum size = #1}}},
+ size = \tkz@euc@pointsize,
+ /tkzdrawpt/.search also = {/tikz},
}
-\let\tkzDefOrthoCenter\tkzOrthoCenter
-%<--------------------------------------------------------------------------–>
-% GravityCenter modif 3.03
-%<--------------------------------------------------------------------------–>
-\def\tkzCentroid(#1,#2,#3){%
+%<--------------------------------------------------------------------------
+\def\tkzDrawPoint{\pgfutil@ifnextchar[{\tkz@DrawPoint}{\tkz@DrawPoint[]}}
+\def\tkz@DrawPoint[#1](#2){%
\begingroup
- \pgf@process{\pgfpointanchor{#1}{center}}%
- \tkz@ax\pgf@x%
- \tkz@ay\pgf@y%
- \pgf@process{\pgfpointanchor{#2}{center}}%
- \tkz@bx\pgf@x%
- \tkz@by\pgf@y%
- \pgf@process{\pgfpointanchor{#3}{center}}%
- \tkz@cx\pgf@x%
- \tkz@cy\pgf@y%
- \advance\tkz@cx by\tkz@ax\relax%
- \advance\tkz@cy by\tkz@ay\relax%
- \advance\tkz@cx by\tkz@bx\relax%
- \advance\tkz@cy by\tkz@by\relax%
- \divide\tkz@cx by3\relax%
- \divide\tkz@cy by3\relax
- \pgfinterruptboundingbox
- \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@cx}{\tkz@cy}}
- \endpgfinterruptboundingbox
-\endgroup
-}
-\let\tkzBaryCenter\tkzCentroid
-
-%<--------------------------------------------------------------------------–>
-% CircumCenter
-%<--------------------------------------------------------------------------–>
-\def\tkzCircumCenter(#1,#2,#3){%
-\begingroup
-\pgfinterruptboundingbox
- \tkzDefMediatorLine(#1,#2)
- \pgf@process{\pgfpointanchor{tkzFirstPointResult}{center}}%
- \tkz@ax\pgf@x%
- \tkz@ay\pgf@y%
- \pgf@process{\pgfpointanchor{tkzSecondPointResult}{center}}%
- \tkz@bx\pgf@x%
- \tkz@by\pgf@y%
- \tkzDefMediatorLine(#1,#3)
- \pgf@process{\pgfpointanchor{tkzFirstPointResult}{center}}%
- \tkz@cx\pgf@x%
- \tkz@cy\pgf@y%
- \pgf@process{\pgfpointanchor{tkzSecondPointResult}{center}}%
- \tkz@dx\pgf@x%
- \tkz@dy\pgf@y%
- \tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)(\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)%
-\endpgfinterruptboundingbox
-\endgroup
-}
-\let\tkzDefCircumCenter\tkzCircumCenter
-%<--------------------------------------------------------------------------–>
-% InCenter
-%<--------------------------------------------------------------------------–>
-\def\tkzInCenter(#1,#2,#3){%
-\begingroup
-\pgfinterruptboundingbox
- \tkzDefBisectorLine(#3,#1,#2)
- \pgf@process{\pgfpointanchor{tkzPointResult}{center}}%
- \tkz@bx\pgf@x%
- \tkz@by\pgf@y%
- \tkzDefBisectorLine(#3,#2,#1)
- \pgf@process{\pgfpointanchor{tkzPointResult}{center}}%
- \tkz@dx\pgf@x%
- \tkz@dy\pgf@y%
- \pgf@process{\pgfpointanchor{#1}{center}}%
- \tkz@ax\pgf@x%
- \tkz@ay\pgf@y%
- \pgf@process{\pgfpointanchor{#2}{center}}%
- \tkz@cx\pgf@x%
- \tkz@cy\pgf@y%
- \tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)%
- (\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)%
- \endpgfinterruptboundingbox
-\endgroup
-}
-\let\tkzDefInCenter\tkzInCenter
-%<--------------------------------------------------------------------------–>
-% ExCenter
-%<--------------------------------------------------------------------------–>
-\def\tkzExCenter(#1,#2,#3){%
-\begingroup
-\pgfinterruptboundingbox
- \tkzDefBisectorOutLine(#2,#1,#3)
- \pgf@process{\pgfpointanchor{tkzPointResult}{center}}%
- \tkz@bx\pgf@x%
- \tkz@by\pgf@y%
- \tkzDefBisectorOutLine(#2,#3,#1)
- \pgf@process{\pgfpointanchor{tkzPointResult}{center}}%
- \tkz@dx\pgf@x%
- \tkz@dy\pgf@y%
- \pgf@process{\pgfpointanchor{#1}{center}}%
- \tkz@ax\pgf@x%
- \tkz@ay\pgf@y%
- \pgf@process{\pgfpointanchor{#3}{center}}%
- \tkz@cx\pgf@x%
- \tkz@cy\pgf@y%
- \tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)%
- (\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)%
- \endpgfinterruptboundingbox
-\endgroup
-}
-\let\tkzDefExCenter\tkzExCenter
-%<--------------------------------------------------------------------------–>
-% EulerCenter neuf points
-%<--------------------------------------------------------------------------–>
-\def\tkzEulerCenter(#1,#2,#3){%
-% mileu de orthocentre et centre cercle circonscrit
-% passe par les midpoints par les pieds des hauteurs
-\begingroup
-\pgfinterruptboundingbox
- \tkzDefMidPoint(#1,#2)
- \pgfnodealias{eu@mic}{tkzPointResult}
- \tkzDefMidPoint(#1,#3)
- \pgfnodealias{eu@mib}{tkzPointResult}
- \tkzDefMidPoint(#2,#3)
- \pgfnodealias{eu@mia}{tkzPointResult}
- \tkzCircumCenter(eu@mia,eu@mib,eu@mic)
-\endpgfinterruptboundingbox
+ \pgfqkeys{/tkzdrawpt}{#1}
+ \node[point style,/tkzdrawpt/.cd,#1] at (#2) {};%2016
\endgroup
}
-\let\tkzNinePointCenter\tkzEulerCenter
-\let\tkzDefEulerCenter\tkzEulerCenter
-%<--------------------------------------------------------------------------–>
-%Symmedian center Lemoine point Grebe point K
-%<--------------------------------------------------------------------------–>
-\def\tkzSymmedianCenter(#1,#2,#3){%
+%<--------------------------------------------------------------------------->
+\def\tkzDrawPoints{\pgfutil@ifnextchar[{\tkz@drawpts}{\tkz@drawpts[]}}
+%<--------------------------------------------------------------------------->
+\def\tkz@drawpts[#1](#2){%
\begingroup
-\pgfinterruptboundingbox
- \tkzDefMidPoint(#2,#3)
- \pgfnodealias{eu@mic}{tkzPointResult}
- \tkzDefMidPoint(#1,#3)
- \pgfnodealias{eu@mib}{tkzPointResult}
- \tkzUProjection(#2,#3)(#1)
- \pgfnodealias{ort@pta}{tkzPointResult}
- \tkzDefMidPoint(#1,ort@pta)
- \pgfnodealias{eu@mid}{tkzPointResult}
- \tkzUProjection(#1,#3)(#2)
- \pgfnodealias{ort@ptb}{tkzPointResult}
- \tkzDefMidPoint(#2,ort@ptb)
- \pgfnodealias{eu@mie}{tkzPointResult}
- \tkzInterLL(eu@mic,eu@mid)(eu@mib,eu@mie)
-\endpgfinterruptboundingbox
-\endgroup
+ \pgfqkeys{/tkzdrawpt}{#1}
+ \foreach \point in {#2}{\node[point style,/tkzdrawpt/.cd,#1] at (\point) {};} %2016
+\endgroup
}
-\let\tkzLemoinePoint\tkzSymmedianCenter
-\let\tkzGrebePoint\tkzSymmedianCenter
-\let\tkzDefLemoinePoint\tkzLemoinePoint
-%<--------------------------------------------------------------------------–>
-% Spieker center
-%<--------------------------------------------------------------------------–>
-\def\tkzSpiekerCenter(#1,#2,#3){%
-\begingroup
-% we need to get the midpoints
-\pgfcoordinate{tkz@m3}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#2}{center}}}}%
-\pgfcoordinate{tkz@m2}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#3}{center}}}}%
-\pgfcoordinate{tkz@m1}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#2}{center}}%
- {\pgfpointanchor{#3}{center}}}}%
-\tkzInCenter(tkz@m1,tkz@m2,tkz@m3)
-\endgroup
-}
-\let\tkzDefSpiekerCenter\tkzSpiekerCenter
-%<--------------------------------------------------------------------------–>
-% Gergonne center Ge
-%<--------------------------------------------------------------------------–>
-\def\tkzGergonneCenter(#1,#2,#3){%
-\begingroup
-\pgfinterruptboundingbox
- \tkzInCenter(#1,#2,#3)
- \pgfnodealias{tkz@ptin}{tkzPointResult}
- \tkzUProjection(#2,#3)(tkz@ptin)
- \pgfnodealias{tkz@oca}{tkzPointResult}
- \tkzUProjection(#1,#3)(tkz@ptin)
- \pgfnodealias{tkz@ocb}{tkzPointResult}
- \tkzInterLL(#1,tkz@oca)(#2,tkz@ocb)
-\endpgfinterruptboundingbox
-\endgroup
+%<--------------------------------------------------------------------------->
+%
+%<--------------------------------------------------------------------------->
+\def\tkzRenamePoint(#1)#2{\coordinate (#2) at (#1);}
+\def\tkz@RenamePointEnd[#1]#2{\coordinate[#1] (#2) at (\tkz@ax,\tkz@ay);}
+\def\tkzGetPoint#1{\coordinate (#1) at (tkzPointResult);}
+\def\tkzGetPoints#1#2{\coordinate (#1) at (tkzFirstPointResult);
+ \coordinate (#2) at (tkzSecondPointResult);}
+\def\tkzGetFirstPoint#1{\coordinate (#1) at (tkzFirstPointResult);}
+\def\tkzGetSecondPoint#1{\coordinate (#1) at (tkzSecondPointResult);}
+\def\tkzDefShiftPointCoord[#1](#2)#3{%
+ \begin{scope}[shift={(#1)}]
+ \coordinate (#3) at (#2);
+ \end{scope}
+ }%
+%<--------------------------------------------------------------------------->
+% tkzDefShiftPoint
+%<--------------------------------------------------------------------------->
+\def\tkzDefShiftPoint[#1](#2)#3{%
+ \tkz@@extractxy{#1}
+ \tkz@ax\pgf@x %
+ \tkz@ay\pgf@y %
+\begin{scope}[shift={(\tkz@ax,\tkz@ay)}]
+ \coordinate (#3) at (#2);
+\end{scope}
}
-\let\tkzDefGergonneCenter\tkzGergonneCenter
-%<--------------------------------------------------------------------------–>
-% Nagel center Na
-%<--------------------------------------------------------------------------–>
-% INa = 3 IG. Nagel point % correction 02/02/20
-\def\tkzNagelCenter(#1,#2,#3){%
-\begingroup
-\pgfinterruptboundingbox
- \tkzDefExcentralTriangle(#1,#2,#3){tkz@a,tkz@b,tkz@c}
- \tkzUProjection(#2,#3)(tkz@a)
- \pgfnodealias{tkz@tgta}{tkzPointResult}
- \tkzUProjection(#1,#2)(tkz@c)
- \pgfnodealias{tkz@tgtc}{tkzPointResult}
- \tkzInterLL(#1,tkz@tgta)(#3,tkz@tgtc)
-\endpgfinterruptboundingbox
-\endgroup
+%<-------------------------------------------------------------------------->
+% tkzLabelPoint Affichage des LABELS pour un point
+%<-------------------------------------------------------------------------->
+\def\tkzLabelPoint{\pgfutil@ifnextchar[{\tkz@LabelPoint}{\tkz@LabelPoint[]}}
+\def\tkz@LabelPoint[#1](#2)#3{%
+ \node[label style,#1] at (#2) {#3};}%
+%<--------------------------------------------------------------------------->
+
+\def\tkzLabelPoints{\pgfutil@ifnextchar[{\tkz@LabelPoints}{\tkz@LabelPoints[]}}%
+\def\tkz@LabelPoints[#1](#2){%
+ \foreach \point in {#2}{
+ \node[label style,#1] at (\point) {$\point$};}
+}%
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzsetuppt/.cd,
+ size/.store in = \tkz@pt@size,
+ color/.store in = \tkz@pt@color,
+ fill/.store in = \tkz@pt@fill,
+ shape/.store in = \tkz@pt@shape,
+ size = \tkz@euc@pointsize,
+ color = \tkz@euc@pointcolor,
+ fill = \tkz@euc@pointcolor,
+ shape = \tkz@euc@pointshape,
+ /tkzsetuppt/.search also = {/tikz},
+ }
+\def\tkzSetUpPoint{\pgfutil@ifnextchar[{\tkz@SetUpPoint}{%
+ \tkz@SetUpPoint[]}}
+\def\tkz@SetUpPoint[#1]{%
+\pgfqkeys{/tkzsetuppt}{#1}
+% redefine point style with new values
+\tikzset{point style/.style={draw = \tkz@pt@color,
+ inner sep = 0pt,
+ shape = \tkz@pt@shape,
+ minimum size = \tkz@pt@size,
+ fill = \tkz@pt@fill}}
+}% end setup
+%<--------------------------------------------------------------------------->
+%
+%<--------------------------------------------------------------------------->
+% \pgfkeys{/tkzsetuplabel/.cd,
+% /tkzsetuplabel/.search also = {/tikz},
+% }
+\def\tkzSetUpLabel{\pgfutil@ifnextchar[{\tkz@SetUpLabel}{%
+ \tkz@SetUpLabel[]}}
+\def\tkz@SetUpLabel[#1]{%
+%\pgfqkeys{/tkzsetuplabel}{#1}
+% redefine point style with new values
+\tikzset{label style/.style={#1}}
+}% end setup
+%<--------------------------------------------------------------------------->
+
+\pgfkeys{/tkzautolab/.cd,
+ center/.store in = \tkz@center,
+ dist/.store in = \tkz@dist,
+ dist = 0.15,
+ /tkzautolab/.search also = {/tikz},
}
-\let\tkzDefNagelCenter\tkzNagelCenter
-%<--------------------------------------------------------------------------–>
-% Mittenpunkt
-%<--------------------------------------------------------------------------–>
-\def\tkzMittenpunktCenter(#1,#2,#3){%
-\begingroup
-\pgfinterruptboundingbox
- \tkzExCenter(#2,#3,#1)
- \pgfnodealias{tkz@a}{tkzPointResult}
- \tkzExCenter(#3,#1,#2)
- \pgfnodealias{tkz@b}{tkzPointResult}
- \pgfcoordinate{tkz@ma}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}}}%
- \pgfcoordinate{tkz@mb}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}}}%
- \tkzInterLL(tkz@a,tkz@ma)(tkz@b,tkz@mb)
- \endpgfinterruptboundingbox
+\def\tkzAutoLabelPoints{\pgfutil@ifnextchar[{\tkz@AutoLabelPoints}{\tkz@AutoLabelPoints[]}}%
+\def\tkz@AutoLabelPoints[#1](#2){%
+\begingroup
+\pgfqkeys{/tkzautolab}{#1}
+ \foreach \point in {#2}{
+ \path (\tkz@center) -- ($ (\point) + \tkz@dist*($(\point)-(\tkz@center)$) $) node[/tkzautolab/.cd,#1]{$\point$};}
\endgroup
+}%
+%<--------------------------------------------------------------------------->
+% PointShowCoord
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzprcoord/.cd,
+ xlabel/.store in = \tkz@xlabel,
+ ylabel/.store in = \tkz@ylabel,
+ xstyle/.code = {\tikzset{xcoord style/.append style={#1}}},
+ ystyle/.code = {\tikzset{ycoord style/.append style={#1}}},
+ noxdraw/.is if = tkz@coord@noxdraw,
+ noxdraw/.default = true,
+ noydraw/.is if = tkz@coord@noydraw,
+ noydraw/.default = true,
+ xlabel = {},
+ ylabel = {},
+ xstyle = {},
+ ystyle = {},
+ noxdraw = false,
+ noydraw = false,
+ /tkzprcoord/.search also = {/tikz},
}
-\let\tkzDefMittenpunktCenter\tkzMittenpunktCenter
-\let\tkzDefMiddlespoint\tkzMittenpunktCenter
-%<--------------------------------------------------------------------------–>
-% Feuerbach point
-%<--------------------------------------------------------------------------–>
-\def\tkzFeuerbachCenter(#1,#2,#3){%
-\begingroup
-\pgfinterruptboundingbox
- \tkzEulerCenter(#1,#2,#3)
- \pgfnodealias{tkz@euler}{tkzPointResult}
- \tkzInCenter(#1,#2,#3)
- \pgfnodealias{tkz@in}{tkzPointResult}
- \tkzUProjection(#2,#3)(tkzPointResult)
- \tkzInterLC(tkz@in,tkz@euler)(tkz@in,tkzPointResult)\tkzGetFirstPoint{tkz@fe}
- \tkzRenamePoint(tkz@fe){tkzPointResult}
- \endpgfinterruptboundingbox
+\def\tkzPointShowCoord{\pgfutil@ifnextchar[{\tkz@PointShowCoord}{\tkz@PointShowCoord[]}}
+\def\tkz@PointShowCoord[#1](#2){%
+\begingroup
+\pgfqkeys{/tkzprcoord}{#1}
+% 2019 for showcoord
+ \iftkznodedefined{tkz@xline}{}{%
+ \path (0,0) --(1,0) node(tkz@xline){};
+ \path (0,0) --(0,1) node(tkz@yline){};
+ }
+\iftkz@coord@noxdraw\else\draw[arrow coord style,/tkzprcoord/.cd,#1] (#2)--(#2 |- tkz@xline);\fi
+\iftkz@coord@noydraw\else\draw[arrow coord style,/tkzprcoord/.cd,#1] (#2)--(#2 -| tkz@yline);\fi
+\ifx\tkzutil@empty\tkz@xlabel
+\else
+\path (#2)--(#2 |- tkz@xline)
+ node[xcoord style] {\tkz@xlabel};
+\fi
+\ifx\tkzutil@empty\tkz@ylabel
+\else
+ \path (#2)--(#2 -| tkz@yline)
+ node[ycoord style] {\tkz@ylabel};
+\fi
\endgroup
}
-\let\tkzDefFeuerbachCenter\tkzFeuerbachCenter
-%<--------------------------------------------------------------------------–>
-% Orthogonal center
-%<--------------------------------------------------------------------------–>
-\def\tkzOrthogonalCenter(#1,#2){%
+\let\tkzShowPointCoord\tkzPointShowCoord
+%<--------------------------------------------------------------------------->
+% Coordonnées d'un point
+% result in #2x et #2y #1 est le point et on récupère ses coordonnées
+% usage soit A un point \tkzGetPointCoord(A){V} alors \Vx = xA et \Vy = yA
+% en cm
+% tkzGetPointCoord avec [#1] cm ou bien pt ?? todo
+%<--------------------------------------------------------------------------->
+\def\tkzGetPointCoord(#1)#2{%
\begingroup
-\pgfinterruptboundingbox
- \tkz@VecK[\tkz@koeff/(1+\tkz@koeff)](#1,#2)
- \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
- \tkz@VecK[\tkz@koeff/(\tkz@koeff-1)](#1,#2)
- \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult)
-\endpgfinterruptboundingbox
+ \pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
+ \pgfmathparse{\pgf@sys@tonumber{\pgf@x}/28.45274}
+ \global\let\tkzresultx\pgfmathresult
+ \global\expandafter\edef\csname #2x\endcsname{\tkzresultx}%
+ \pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
+ \pgfmathparse{\pgf@sys@tonumber{\pgf@y}/28.45274}
+ \global\let\tkzresulty\pgfmathresult
+ \global\expandafter\edef\csname #2y\endcsname{\tkzresulty}
\endgroup
+}
+\def\tkz@@extractxy#1{%
+\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
+\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
}
-%<--------------------------------------------------------------------------–>
-% End Triangle center
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% Projection center of excircles
-%<--------------------------------------------------------------------------–>
-\def\tkzDefProjExcenter{\pgfutil@ifnextchar[{%
- \tkz@DefProjExcenter}{%
- \tkz@DefProjExcenter[]}
- }
-\def\tkz@DefProjExcenter[#1](#2,#3,#4)(#5)#6{
-\begingroup
- \SetUpPTTR{#1}
- \foreach \name [count=\i] in {#5} {%
- \global\expandafter\edef\csname tkz@pt\i\endcsname{\name}
- }
- \foreach \name [count=\i] in {#6} {%
- \global\expandafter\edef\csname tkz@ppt\i\endcsname{\name}
- }
-\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt1\endcsname)
-\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt1\endcsname}{tkzPointResult}
-\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt2\endcsname)
-\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt2\endcsname}{tkzPointResult}
-\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt3\endcsname)
-\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt3\endcsname}{tkzPointResult}
-\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt1\endcsname)
-\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt1\endcsname}{tkzPointResult}
-\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt2\endcsname)
-\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt2\endcsname}{tkzPointResult}
-\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt3\endcsname)
-\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt3\endcsname}{tkzPointResult}
-\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt1\endcsname)
-\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt1\endcsname}{tkzPointResult}
-\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt2\endcsname)
-\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt2\endcsname}{tkzPointResult}
-\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt3\endcsname)
-\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt3\endcsname}{tkzPointResult}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Point on circle
-%<--------------------------------------------------------------------------–>
-\pgfkeys{/tkzptcircle/.cd,
- angle/.store in = \tkz@angle,
- angle = 0 ,
- center/.store in = \tkz@center,
- radius/.store in = \tkz@radius
-}
-\def\tkzDefPointOnCircle{\pgfutil@ifnextchar[{\tkz@DefPointOnCircle}{\tkz@DefPointOnCircle[]}}
-\def\tkz@DefPointOnCircle[#1]{%
-\begingroup
-\pgfqkeys{/tkzptcircle}{#1}
-\path (\tkz@center) --++(\tkz@angle:\tkz@radius) coordinate(tkzPointResult);
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Point on line
-%<--------------------------------------------------------------------------–>
-\def\tkzDefPointOnLine{\pgfutil@ifnextchar[{\tkz@DefPointOnLine}{\tkz@DefPointOnLine[]}}
-\def\tkz@DefPointOnLine[#1](#2,#3){%
-\begingroup
-\path (#2) to [#1] coordinate (tkzPointResult) (#3);
-\endgroup
-}
-
+\let\tkzGetPointxy\tkzGetPointCoord
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
index 32353d145f..71305cd9a7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-polygons.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,15 +7,13 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-polygons.tex}
-% bug in regular polygon side 2020/03/18
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-polygons.tex}
+% bug in regular polygon side 2020/03/09
\makeatletter
%<--------------------------------------------------------------------------–>
% Polygon
@@ -25,9 +23,9 @@
%<--------------------------------------------------------------------------–>
\def\tkzDefSquare(#1,#2){
\begingroup
- \tkzURotateAngle(#2,-90)(#1)
+ \tkzURotateAngle(#2,-90)(#1)
\pgfnodealias{tkzFirstPointResult}{tkzPointResult}
- \tkzURotateAngle(#1, 90)(#2)
+ \tkzURotateAngle(#1, 90)(#2)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\endgroup
}
@@ -39,11 +37,21 @@
\tkzDefPointWith[colinear= at #3](#2,#1)
\endgroup
}
+%<--------------------- rectangle ---------------------------------–>
+%
+%<--------------------------------------------------------------------------–>
+
+\def\tkzDefRectangle{\pgfutil@ifnextchar[{\tkz@DefRectangle}%
+ {\tkz@DefRectangle[]}}
+\def\tkz@DefRectangle[#1](#2,#3){%
+\begingroup
+ \path[#1](#2) -| coordinate (tkzFirstPointResult) (#3) -| coordinate (tkzSecondPointResult) (#2);
+\endgroup
+}
%<-------------------------- gold rectangle -------------------------------–>
%
%<--------------------------------------------------------------------------–>
-
\def\tkzDefGoldRectangle(#1,#2){
\begingroup
\tkzDefPointWith[K=-\tkzInvPhi](#2,#1)
@@ -52,18 +60,16 @@
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\endgroup
}
-\def\tkzDrawGoldRectangle{\pgfutil@ifnextchar[{\tkz@DrawGoldRectangle}{%
- \tkz@DrawGoldRectangle[]}}
-
+\let\tkzDefGoldenRectangle\tkzDefGoldRectangle
%<---------------------------- Regular Polygon -------------------------–>
\def\tkz@numregpol{0}
\pgfkeys{/defregpoly/.cd,
- name/.store in = \tkz@regpolname,
- sides/.store in = \tkz@regpolsides,
- center/.code = \def\tkz@numregpol{0},
- side/.code = \def\tkz@numregpol{1},
- name/.default = P,
- sides/.default = 5,
+ name/.store in = \tkz@regpolname,
+ sides/.store in = \tkz@regpolsides,
+ center/.code = \def\tkz@numregpol{0},
+ side/.code = \def\tkz@numregpol{1},
+ name/.default = P,
+ sides/.default = 5,
center
}
\def\tkzDefRegPolygon{\pgfutil@ifnextchar[{\tkz@DefRegPolygon}{\tkz@DefRegPolygon[]}}
@@ -94,7 +100,7 @@
\pgfmathsetmacro{\tkz@regangleside}{(180-\tkz@regangle)/2}
\tkzDefMidPoint(#1,#2)
\pgfnodealias{tkz@tempPt}{tkzPointResult}
-\tkzCalcLength[cm](tkz@tempPt,#1) \tkzGetLength{tkz@len}
+\tkz@@CalcLengthcm(tkz@tempPt,#1){tkz@len}
\pgfmathsetmacro{\tkz@inscriberadius}{%
\tkz@len*tan(90*(\tkz@regpolsides-2)/\tkz@regpolsides)}
\tkzDefPointWith[orthogonal normed,K=\tkz@inscriberadius](tkz@tempPt,#2)
@@ -104,16 +110,6 @@
\endgroup
}
-%<---------------------------- CLIP --------------------------------–>
-%
-%<--------------------------------------------------------------------------–>
-\def\tkzClipPolygon(#1,#2){%
-\path[clip] (#1)
- \foreach \pt in {#1,#2}{--(\pt)}--cycle;
-}
- \def\tkzClipOutPolygon(#1,#2){\clip[tkzreverseclip] (#1)
- \foreach \pt in {#1,#2}{--(\pt)}--cycle;
-}
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
index dcc5a1081d..7c1c1cb9ea 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-protractor.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
- \typeout{2020/03/18 3.06c tkz-obj-eu-protractor.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-protractor.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% !!! idea from Y. Combe !!!
@@ -75,7 +73,7 @@
\draw [>=stealth',->, thick,black] (0:2) arc(0:-32:2);
\draw [>=stealth',->, thick,black] (0:1.5) arc(0:-32:1.5);
}
-\global\let\tkz@@Protractor\FullProtractor
+
\pgfkeys{
protractor/.cd,
lw/.code = {\def\cmdMO@Rap@lw{#1}},
@@ -83,29 +81,28 @@
rotate/.code = {\def\cmdMO@Rap@rotate{#1}},
scale/.code = {\def\cmdMO@Rap@scale{#1}},
return/.is if = tkz@RappReturn,
- return/.default = true,
- /protractor/.search also={/tikz}
+ return/.code = \tkz@RappReturnfalse,
+ /protractor/.search also={/tikz},
+ lw = 0.4pt,
+ scale=1,
+ shift={(0,0)},
+ rotate=0
}
-
\def\tkzProtractor{\pgfutil@ifnextchar[{\tkz@Protractor}{\tkz@Protractor[]}}
\def\tkz@Protractor[#1](#2,#3){%
- \pgfkeys{%
- /protractor/.cd,
- shift={(0,0)},
- rotate=0,
- lw=0.4pt,
- scale =1,
- return=false
- }
+\tkz@RappReturntrue
\pgfqkeys{/protractor}{#1}
\tkz@@extractxy{#2}
\global\tkz@ax\pgf@x
\global\tkz@ay\pgf@y
\tkzFindSlopeAngle(#2,#3)
\tkzGetAngle{cmdMO@Rap@rotate}%
+ \global\let\tkz@@Protractor\FullProtractor%
\iftkz@RappReturn
\global\let\tkz@@Protractor\FullProtractorReturn
+ \else
+ \global\let\tkz@@Protractor\FullProtractor
\fi
\pgfmathsetlengthmacro{\MO@lw}{\cmdMO@Rap@lw * \cmdMO@Rap@scale}
\begin{scope}[shift = {(\tkz@ax,\tkz@ay)},%
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
index 3d178a2586..010af2ade7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-sectors.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,24 +7,21 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-sectors.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-sectors.tex}
\makeatletter
%<----------------------- Sectors ------------------------------–>
-\tikzset{sstyle/.style={#1}}
\gdef\tkz@nums{0}
\pgfkeys{/drawsector/.cd,
- towards/.code = {\def\tkz@nums{0}},
- rotate/.code = {\def\tkz@nums{1}},
- R/.code = {\def\tkz@nums{2}},
- R with nodes/.code = {\def\tkz@nums{3}},
- towards,
+ towards/.code = {\def\tkz@nums{0}},
+ rotate/.code = {\def\tkz@nums{1}},
+ R/.code = {\def\tkz@nums{2}},
+ R with nodes/.code = {\def\tkz@nums{3}},
+ towards,
/drawsector/.search also = {/tikz},
}
@@ -63,8 +60,8 @@
\edef\tkz@SecondAngle{\pgfmathresult}%
\fi
\fi
- \draw[shift = {(#2)},/drawsector/.cd,#1]%
- (#2) --(\tkz@FirstAngle:#3) arc (\tkz@FirstAngle:\tkz@SecondAngle:#3)--cycle;
+ \draw[shift = {(#2)},/drawsector/.cd,#1]%
+ (#2) --(\tkz@FirstAngle:#3) arc (\tkz@FirstAngle:\tkz@SecondAngle:#3)--cycle;
\endgroup
} % revoir il y a plus simple que ce shift !!!
%<--------------------------------------------------------------------------–>
@@ -74,10 +71,10 @@
\tkz@DrawSectorN[]}}
\def\tkz@DrawSectorN[#1](#2,#3)(#4){%
\begingroup
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLengthcm(#2,#3){tkz@radius}
\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawSectorRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstAngle,%
+ \tkz@DrawSectorRAngles[#1](#2,\tkz@radius)(\tkz@FirstAngle,%
\tkz@SecondAngle)
\endgroup
}
@@ -88,15 +85,15 @@
\tkz@DrawSectorRotate[]}}
\def\tkz@DrawSectorRotate[#1](#2,#3)(#4){%
\begingroup
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLengthcm(#2,#3){tkz@radius}
\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstA}
\pgfmathadd{\tkz@FirstA}{#4}
- \edef\tkz@SecondA{\pgfmathresult}
+ \edef\tkz@SecondA{\pgfmathresult}
\pgfmathgreaterthan{#4}{0}
\ifdim\pgfmathresult pt=1 pt\relax%
- \tkz@DrawSectorRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstA,\tkz@SecondA)
+ \tkz@DrawSectorRAngles[#1](#2,\tkz@radius)(\tkz@FirstA,\tkz@SecondA)
\else
- \tkz@DrawSectorRAngles[#1](#2,\tkz@radius pt)(\tkz@SecondA,\tkz@FirstA)
+ \tkz@DrawSectorRAngles[#1](#2,\tkz@radius)(\tkz@SecondA,\tkz@FirstA)
\fi
\endgroup
}
@@ -107,7 +104,7 @@
\tkz@DrawSectorAngles[]}}
\def\tkz@DrawSectorAngles[#1](#2,#3)(#4,#5){%
\begingroup
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLengthcm(#2,#3){tkz@radius}
\tkz@DrawSectorRAngles[#1](#2,\tkz@radius pt)(#4,#5)
\endgroup
}
@@ -115,28 +112,16 @@
% \tkzDrawSectorRwithNodesAngles(O,A,B)(ang1,ang2)
%<--------------------------------------------------------------------------–>
\def\tkzDrawSectorRwithNodesAngles{\pgfutil@ifnextchar[{%
- \tkz@DrawSectorRwithNodesAngles}{%
- \tkz@DrawSectorRwithNodesAngles[]}}
+ \tkz@DrawSectorRwithNodesAngles}{%
+ \tkz@DrawSectorRwithNodesAngles[]}}
\def\tkz@DrawSectorRwithNodesAngles[#1](#2,#3,#4)(#5,#6){%
\begingroup
- \tkzCalcLength(#3,#4)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLengthcm(#3,#4){tkz@radius}
\tkz@DrawSectorRAngles[#1](#2,\tkz@radius pt)(#5,#6)
\endgroup
}
% %<--------------------------------------------------------------------------–>
-% % \tkzDrawSectorRwithNodes(O,A,B)(C,D) center O radius AB from C to D
-% %<--------------------------------------------------------------------------–>
-% \def\tkzDrawSectorRwithNodes{\pgfutil@ifnextchar[{%
-% \tkz@DrawSectorRwithNodes}{%
-% \tkz@DrawSectorRwithNodes[]}}
-% \def\tkz@DrawSectorRwithNodes[#1](#2,#3,#4)(#5,#6){%
-% \begingroup
-% \tkzCalcLength(#3,#4){tkz@rad}
-% \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@FirstAngle}
-% \tkzFindSlopeAngle(#2,#6)\tkzGetAngle{tkz@SecondAngle}
-% \tkz@DrawSectorRAngles[#1](#2,\tkz@rad)(\tkz@FirstAngle,\tkz@SecondAngle)
-% \endgroup
-% }
+
%<--------------------------------------------------------------------------–>
% \tkzDrawSectorR(O, rad)(A,B)
%<--------------------------------------------------------------------------–>
@@ -150,18 +135,16 @@
\endgroup
}
%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
% Fill
%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
\gdef\tkz@nums{0}
\pgfkeys{/@fillsector/.cd,
- towards/.code = {\def\tkz@nums{0}},
- rotate/.code = {\def\tkz@nums{1}},
- R/.code = {\def\tkz@nums{2}},
- R with nodes/.code = {\def\tkz@nums{3}},
- towards,
- /@fillsector/.search also={/tikz},
+ towards/.code = {\def\tkz@nums{0}},
+ rotate/.code = {\def\tkz@nums{1}},
+ R/.code = {\def\tkz@nums{2}},
+ R with nodes/.code = {\def\tkz@nums{3}},
+ towards,
+ /@fillsector/.search also={/tikz},
}
\def\tkzFillSector{\pgfutil@ifnextchar[{\tkz@FillSector}{\tkz@FillSector[]}}
@@ -200,9 +183,9 @@
\pgfmathadd{\tkz@SecondAngle}{360}
\edef\tkz@SecondAngle{\pgfmathresult}%
\fi\fi
- \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
+ \pgfmathsubtract{\tkz@FirstAngle}{0}
\edef\tkz@FirstAngle{\pgfmathresult}%
- \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
+ \pgfmathadd{\tkz@SecondAngle}{0}
\edef\tkz@SecondAngle{\pgfmathresult}
\path[shift = {(#2)},/@fillsector/.cd,fill=\tkz@fillcolor,#1] (#2) -- %
(\tkz@FirstAngle:#3) arc (\tkz@FirstAngle:\tkz@SecondAngle:#3)--cycle;
@@ -214,7 +197,7 @@
\def\tkzFillSectorN{\pgfutil@ifnextchar[{\tkz@FillSectorN}{\tkz@FillSectorN[]}}
\def\tkz@FillSectorN[#1](#2,#3)(#4){%
\begingroup
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLength(#2,#3){tkz@radius}
\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
\tkz@FillSectorRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstAngle,%
@@ -228,7 +211,7 @@
\tkz@FillSectorRotate[]}}
\def\tkz@FillSectorRotate[#1](#2,#3)(#4){%
\begingroup
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLength(#2,#3){tkz@radius}
\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstA}
\pgfmathadd{\tkz@FirstA}{#4}
\edef\tkz@SecondA{\pgfmathresult}
@@ -247,7 +230,7 @@
\tkz@FillSectorAngles[]}}
\def\tkz@FillSectorAngles[#1](#2,#3)(#4,#5){%
\begingroup
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLength(#2,#3){tkz@radius}
\tkz@FillSectorRAngles[#1](#2,\tkz@radius pt)(#4,#5)
\endgroup
}
@@ -293,7 +276,7 @@
%<--------------------------------------------------------------------------–>
\def\tkz@ClipSectorRotate(#1,#2)(#3){%
\begingroup
- \tkzCalcLength(#1,#2)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLength(#1,#2){tkz@radius}
\tkzFindSlopeAngle(#1,#2)\tkzGetAngle{tkz@FirstA}
\pgfmathadd{\tkz@FirstA}{#3}
\edef\tkz@SecondA{\pgfmathresult}
@@ -308,10 +291,9 @@
%<--------------------------------------------------------------------------–>
%
%<--------------------------------------------------------------------------–>
-
\def\tkz@ClipSectorN(#1,#2)(#3){%
\begingroup
- \tkzCalcLength(#1,#2)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLength(#1,#2){tkz@radius}
\tkzFindSlopeAngle(#1,#2)\tkzGetAngle{tkz@FirstAngle}
\tkzFindSlopeAngle(#1,#3)\tkzGetAngle{tkz@SecondAngle}
\tkz@ClipSectorRAngles(#1,\tkz@radius pt)(\tkz@FirstAngle,\tkz@SecondAngle)
@@ -321,16 +303,15 @@
%<--------------------------------------------------------------------------–>
\def\tkz@numcs{0}
\pgfkeys{/clipsector/.cd,
- towards/.code = {\def\tkz@numcs{0}},
- rotate/.code = {\def\tkz@numcs{1}},
- R/.code = {\def\tkz@numcs{2}},
+ towards/.code = {\def\tkz@numcs{0}},
+ rotate/.code = {\def\tkz@numcs{1}},
+ R/.code = {\def\tkz@numcs{2}},
}
%<--------------------------------------------------------------------------–>
\def\tkzClipSector{\pgfutil@ifnextchar[{\tkz@ClipSector}{%
\tkz@ClipSector[]}}
\def\tkz@ClipSector[#1](#2,#3)(#4){%
-\begingroup
\pgfkeys{/clipsector/.cd}
\pgfqkeys{/clipsector}{#1}
\ifcase\tkz@numcs%
@@ -340,7 +321,6 @@
\or% 2
\tkz@ClipSectorRAngles(#2,#3)(#4)
\fi
-\endgroup
}
\makeatother
-\endinput \ No newline at end of file
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
index 281eee5d9c..61b7d69c07 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
@@ -1,5 +1,5 @@
%tkz-obj-eu-show.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-show.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-show.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% finding specific points in a triangle
@@ -26,8 +24,8 @@
from/.store in = {\tkz@frompoint},
dist/.store in = {\tkz@equ@dist},
show/.is if = tkz@equi@show,
- dist = 2,
- show = false,
+ dist = 2,
+ show = false,
/tkzEquiPt/.search also={/tikz}
}
@@ -43,8 +41,8 @@
\tkzVecKNorm[-\tkz@equ@dist](tkzEQpoint,#2)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\iftkz@equi@show
- \tkzCompass[#1](\tkz@frompoint,tkzFirstPointResult)
- \tkzCompass[#1](\tkz@frompoint,tkzSecondPointResult)
+ \tkzCompass[compass style,#1](\tkz@frompoint,tkzFirstPointResult)
+ \tkzCompass[compass style,#1](\tkz@frompoint,tkzSecondPointResult)
\fi
\endgroup
}
@@ -58,15 +56,15 @@
\def\tkz@through{#1}},
orthogonal/.code args = {through #1} {\global\def\tkz@numsh{1}%
\global\def\tkz@through{#1}},
- parallel/.code args = {through #1} {\global\def\tkz@numsh{2}%
+ parallel/.code args = {through #1} {\global\def\tkz@numsh{2}%
\global\def\tkz@through{#1}},
- bisector/.code = \global\def\tkz@numsh{3},
- K/.code = \def\tkz@koeff{#1},
- length/.code = \def\tkz@show@length{#1},
- ratio/.code = \def\tkz@show@ratio{#1},
- gap/.code = \def\tkz@show@gap{#1},
- size/.code = \def\tkz@show@size{#1},
- /show/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
+ bisector/.code = \global\def\tkz@numsh{3},
+ K/.code = \def\tkz@koeff{#1},
+ length/.code = \def\tkz@show@length{#1},
+ ratio/.code = \def\tkz@show@ratio{#1},
+ gap/.code = \def\tkz@show@gap{#1},
+ size/.code = \def\tkz@show@size{#1},
+ /show/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
\pgfkeysalso{\searchname/.try=#1,
/tkzcompass/\searchname/.retry=#1,
/tikz/\searchname/.retry=#1}%
@@ -76,10 +74,10 @@
\def\tkz@ShowLine[#1](#2){%
\begingroup
\pgfqkeys{/show}{ K = 1,
- gap = 2,
- ratio = .5,
- length = 1,
- size = 1
+ gap = 2,
+ ratio = .5,
+ length = 1,
+ size = 1
}
\pgfqkeys{/show}{#1}
\ifcase\tkz@numsh%
@@ -100,8 +98,8 @@
\def\tkz@ShowMediatorLine[#1](#2,#3){%
\begingroup
\pgfkeys{show/.cd, gap = 2,
- ratio = .5,
- length = 1
+ ratio = .5,
+ length = 1
}
\pgfkeys{show/.cd,#1}
\path (#2) -- (#3) coordinate[pos=.5](tkzmidpoint);
@@ -117,10 +115,10 @@
\pgfnodealias{MED@1}{tkzPointResult}
\tkz@VecKNorm[\tkz@show@gap](tkzmidpoint,MED@tmp2)
\pgfnodealias{MED@2}{tkzPointResult}
- \tkzCompass[#1,length=\tkz@show@ratio*\tkz@show@length](#2,MED@1)
- \tkzCompass[#1](#3,MED@1)
- \tkzCompass[#1,length=\tkz@show@ratio*\tkz@show@length](#2,MED@2)
- \tkzCompass[#1](#3,MED@2)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio*\tkz@show@length](#2,MED@1)
+ \tkzCompass[compass style,#1](#3,MED@1)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio*\tkz@show@length](#2,MED@2)
+ \tkzCompass[compass style,#1](#3,MED@2)
\endgroup
}
\def\tkzShowLLLine{\pgfutil@ifnextchar[{\tkz@ShowLLLine}{\tkz@ShowLLLine[]}}
@@ -130,8 +128,8 @@
\pgfkeys{show/.cd,#1}
\tkz@VecKCoLinear[1](#2,#3,#4)
\pgfnodealias{tkz@lltmp}{tkzPointResult}
- \tkzCompass[#1](#4,tkz@lltmp)
- \tkzCompass[#1,length=\tkz@show@ratio*\tkz@show@length](#3,tkz@lltmp)
+ \tkzCompass[compass style,#1](#4,tkz@lltmp)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio*\tkz@show@length](#3,tkz@lltmp)
\endgroup
}
@@ -155,8 +153,7 @@
\pgfnodealias{tkzPointCo}{tkzPointResult}
\tkzInterLL(#2,#3)(#4,tkzPointCo)
\pgfnodealias{tkzPOpoint}{tkzPointResult}
- \tkzCalcLength(#4,tkzPOpoint)
- \tkzGetLength{tkz@mathLen}
+ \tkz@@CalcLength(#4,tkzPOpoint){tkz@mathLen}
\tkz@VecKNorm[1](#2,#3)
\pgfnodealias{PO@tmp}{tkzPointResult}
\tkz@VecKCoLinear[1](#2,PO@tmp,tkzPOpoint)
@@ -176,10 +173,10 @@
\fi
\tkz@VecKCoLinear[-\tkz@show@gap](PO@tmp1,tkzPOpoint,tkzPOpoint)
\pgfnodealias{PO@3}{tkzPointResult}
- \tkzCompass[#1,length=\tkz@show@ratio *\tkz@show@length](#4,PO@1)
- \tkzCompass[#1,length=\tkz@show@ratio *\tkz@show@length](#4,PO@2)
- \tkzCompass[#1,length=\tkz@show@ratio *\tkz@show@length](PO@1,PO@3)
- \tkzCompass[#1,length=\tkz@show@length](PO@2,PO@3)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio *\tkz@show@length](#4,PO@1)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio *\tkz@show@length](#4,PO@2)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio *\tkz@show@length](PO@1,PO@3)
+ \tkzCompass[compass style,#1,length=\tkz@show@length](PO@2,PO@3)
\endgroup
}
%<-------------------------------------------------------------------------–>
@@ -190,9 +187,10 @@
\def\tkz@ShowBisectorLine[#1](#2,#3,#4){%
\begingroup
\pgfkeys{show/.cd, gap = 2,
- ratio =. 5,
- length = 1,
- size = 1}
+ ratio =. 5,
+ length = 1,
+ size = 1
+ }
\pgfkeys{show/.cd,#1}
\tkzVecKNorm(#3,#2)
\pgfnodealias{tkz@pt1}{tkzPointResult}
@@ -212,10 +210,10 @@
\pgfnodealias{BI@2}{tkzPointResult}
\tkzVecK[\tkz@show@gap](#3,tkzBisPoint)
\pgfnodealias{tkzBisPoint}{tkzPointResult}
- \tkzCompass[#1,length=\tkz@show@ratio *\tkz@show@length](#3,BI@1)
- \tkzCompass[#1,length=\tkz@show@ratio *\tkz@show@length](#3,BI@2)
- \tkzCompass[#1,length=\tkz@show@length](BI@1,tkzBisPoint)
- \tkzCompass[#1,length=\tkz@show@ratio *\tkz@show@length](BI@2,tkzBisPoint)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio *\tkz@show@length](#3,BI@1)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio *\tkz@show@length](#3,BI@2)
+ \tkzCompass[compass style,#1,length=\tkz@show@length](BI@1,tkzBisPoint)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio *\tkz@show@length](BI@2,tkzBisPoint)
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -269,22 +267,20 @@ translation/.code args={from #1 to #2}{%
\or% 3
\tkzShowTranslation[#1](\tkzfrom,\tkzto)(#2)
\fi
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
\def\tkzShowTranslation{\pgfutil@ifnextchar[{\tkz@ShowTranslation}{%
\tkz@ShowTranslation[]}}
\def\tkz@ShowTranslation[#1](#2,#3)(#4){%
\begingroup
\tkz@VecKCoLinear[1](#2,#3,#4) \pgfnodealias{tkz@lltmp}{tkzPointResult}
-\tkzCompass[#1](#4,tkz@lltmp)
-\tkzCompass[#1,length=\tkz@show@ratio*\tkz@show@length](#3,tkz@lltmp)
+\tkzCompass[compass style,#1](#4,tkz@lltmp)
+\tkzCompass[compass style,#1,length=\tkz@show@ratio*\tkz@show@length](#3,tkz@lltmp)
\endgroup}
%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
\def\tkzShowSymOrth{\pgfutil@ifnextchar[{\tkz@ShowSymOrth}{%
\tkz@ShowSymOrth[]}}
\def\tkz@ShowSymOrth[#1](#2,#3)(#4){%
@@ -298,14 +294,13 @@ translation/.code args={from #1 to #2}{%
\pgfnodealias{tkzPointofSym}{tkzPointResult}
\tkz@VecK[2](#4,tkzPointofSym)
\pgfnodealias{tkz@pointtsf}{tkzPointResult}
- \tkzCompass[#1](#2,#4)
- \tkzCompass[#1,length=\tkz@show@ratio*\tkz@show@length](#3,#4)
- \tkzCompass[#1](#2,tkz@pointtsf)
- \tkzCompass[#1,length=\tkz@show@ratio*\tkz@show@length](#3,tkz@pointtsf)
+ \tkzCompass[compass style,#1](#2,#4)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio*\tkz@show@length](#3,#4)
+ \tkzCompass[compass style,#1](#2,tkz@pointtsf)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio*\tkz@show@length](#3,tkz@pointtsf)
\endgroup
}
%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
\def\tkzShowCSym{\pgfutil@ifnextchar[{\tkz@ShowCSym}{\tkz@ShowCSym[]}}
\def\tkz@ShowCSym[#1](#2)(#3){%
@@ -315,12 +310,11 @@ translation/.code args={from #1 to #2}{%
\tkz@ax=\pgf@x%
\tkz@ay=\pgf@y%
\path[coordinate](#2)--++(-\tkz@ax,-\tkz@ay) coordinate (tkz@pointtsf);
- \tkzCompass[#1](#2,tkz@pointtsf)
- \tkzCompass[#1](#2,#3)
+ \tkzCompass[compass style,#1](#2,tkz@pointtsf)
+ \tkzCompass[compass style,#1](#2,#3)
\endgroup
}
%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
\def\tkzShowProjection{\pgfutil@ifnextchar[{\tkz@ShowProjection}{%
\tkz@ShowProjection[]}}
\def\tkz@ShowProjection[#1](#2,#3)(#4){%
@@ -342,12 +336,11 @@ translation/.code args={from #1 to #2}{%
\pgfnodealias{SO@2}{tkzPointResult}
\tkz@VecKNorm[-\tkz@show@gap](tkz@pointtsf,#4)
\pgfnodealias{SO@3}{tkzPointResult}
- \tkzCompass[#1](#4,SO@1)
- \tkzCompass[#1](#4,SO@2)
- \tkzCompass[#1](SO@1,SO@3)
- \tkzCompass[#1,length=\tkz@show@ratio*\tkz@show@length](SO@2,SO@3)
+ \tkzCompass[compass style,#1](#4,SO@1)
+ \tkzCompass[compass style,#1](#4,SO@2)
+ \tkzCompass[compass style,#1](SO@1,SO@3)
+ \tkzCompass[compass style,#1,length=\tkz@show@ratio*\tkz@show@length](SO@2,SO@3)
\endgroup
}
-%<-------------------------------------------------------------------------–>
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
index 41332b9f6e..f60491ac38 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-triangles.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,15 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-triangles.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-triangles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Triangle Equilateral
@@ -27,6 +24,16 @@
\endgroup
}
%<--------------------------------------------------------------------------–>
+% Triangle Isosceles Right
+%<--------------------------------------------------------------------------–>
+\def\tkzDefIsoscelesRightTriangle(#1,#2){
+\begingroup
+ \tkzURotateAngle(#1,45)(#2)
+ \pgfnodealias{tkz@a}{tkzPointResult}
+ \tkzUHomo(#1,\tkzSqrTwobyTwo)(tkz@a)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
\def\tkzDrawEquilateral{\pgfutil@ifnextchar[{\tkz@Equilateral}{%
\tkz@Equilateral[]}}
@@ -37,12 +44,24 @@
\tkzDrawPolygon[#1](#2,#3,tkzPointResult)
\endgroup
}
+
+%<--------------------------------------------------------------------------–>
+
+\def\tkzDefIsoscelesRightTriangle{\pgfutil@ifnextchar[{\tkz@DefIsoscelesRightTriangle}{%
+ \tkz@DefIsoscelesRightTriangle[]}}
+
+\def\tkz@DefIsoscelesRightTriangle[#1](#2,#3){%
+\begingroup
+ \tkzURotateAngle(#2,45)(#3)
+ \pgfnodealias{tkz@a}{tkzPointResult}
+ \tkzUHomo(#2,\tkzSqrTwobyTwo)(tkz@a)
+ \tkzDrawPolygon[#1](#2,#3,tkzPointResult)
+\endgroup
+}
%<--------------------------------------------------------------------------–>
% Triangle OneTwo
%<--------------------------------------------------------------------------–>
-\def\tkzPhi{1.618034}
-\def\tkzInvPhi{0.618034}
-\def\tkzSqrtPhi{1.27202}
+
\def\tkzDefTwoOne(#1,#2){
\begingroup
@@ -56,7 +75,7 @@
}
\def\tkzDefSchoolTriangle(#1,#2){
\begingroup
- \tkzDefPointWith[K=-1](#2,#1)
+ \tkzDefPointWith[K=-1](#2,#1)
\pgfnodealias{tkz@a}{tkzPointResult}
\tkzURotateAngle(#1,30)(#2)
\tkzInterLL(#1,tkzPointResult)(#2,tkz@a)
@@ -106,12 +125,13 @@
school/.code = \def\tkz@numtr{3},
golden/.code = \def\tkz@numtr{4},
sublime/.code = \def\tkz@numtr{4},
- euclide/.code = \def\tkz@numtr{5},
+ euclid/.code = \def\tkz@numtr{5},
gold/.code = \def\tkz@numtr{6},
cheops/.code = \def\tkz@numtr{7},
two angles/.code args = {#1 and #2} { \def\tkz@numtr{8}%
\def\tkz@alpha{#1}%
\def\tkz@beta{#2}},
+ isosceles right/.code = \def\tkz@numtr{9},
equilateral
}
@@ -138,6 +158,8 @@
\tkzDefCheopsTriangle(#2,#3)
\or% 8
\tkzDefTwoAnglesTriangle(#2,#3)
+ \or% 9
+ \tkzDefIsoscelesRightTriangle(#2,#3)
\fi
\endgroup
}
@@ -162,7 +184,7 @@
feuerbach/.code = \def\tkz@numtspc{6},
euler/.code = \def\tkz@numtspc{7},
tangential/.code = \def\tkz@numtspc{8},
- symmedian/.code = \def\tkz@numtspc{9},
+ symmedial/.code = \def\tkz@numtspc{9},
name/.store in = \tkz@pttr@name,
name = {},
centroid,
@@ -191,7 +213,7 @@
\or% 8
\tkzDefTangentialTriangle(#2){#3}
\or% 8
- \tkzDefSymmedianTriangle(#2){#3}
+ \tkzDefSymmedialTriangle(#2){#3}
\fi
\endgroup
}
@@ -201,10 +223,8 @@
\def\SetUpPTTR#1{\pgfqkeys{/setuppttr}{#1}}
\pgfkeys{/setuppttr/.cd,
name/.store in = \tkz@pttr@name,
- name = {}
+ name = {}
}
-\def\tkz@recuplast(#1,#2){\def\tkz@last{#1}}
-\def\tkz@stop{\tkz@stop}
%<--------------------------------------------------------------------------–
% InCentral
%<--------------------------------------------------------------------------–
@@ -214,9 +234,8 @@
\tkz@recuplast(#3)
\tkzDefBisectorLine(#2,#1,\tkz@last)
\tkzInterLL(#2,\tkz@last)(#1,tkzPointResult)
- \pgfnodealias{#4}{tkzPointResult}
+ \pgfnodealias{\tkz@pttr@name#4}{tkzPointResult}
\ifx\tkz@tmp\tkz@stop\else\@DefIncentralTriangle(#2,#3)(#5)\fi
- \pgfnodealias{\tkz@pttr@name#4}{#4}
}
\def\tkzDefIncentralTriangle{\pgfutil@ifnextchar[{%
@@ -241,9 +260,8 @@
\def\tkz@tmp{#5}%
\tkz@recuplast(#3)
\tkzDefExCircle(#2,#1,\tkz@last)
- \pgfnodealias{#4}{tkzPointResult}
+ \pgfnodealias{\tkz@pttr@name#4}{tkzPointResult}
\ifx\tkz@tmp\tkz@stop\else\@DefExcentralTriangle(#2,#3)(#5)\fi
- \pgfnodealias{\tkz@pttr@name#4}{#4}
}
\def\tkzDefExcentralTriangle{\pgfutil@ifnextchar[{%
@@ -264,9 +282,8 @@
\def\tkz@tmp{#5}%
\tkz@recuplast(#3)
\tkzUProjection(#2,\tkz@last)(tkz@pt)
- \pgfnodealias{#4}{tkzPointResult}
+ \pgfnodealias{\tkz@pttr@name#4}{tkzPointResult}
\ifx\tkz@tmp\tkz@stop\else\@DefIntouchTriangle(#2,#3)(#5)\fi
- \pgfnodealias{\tkz@pttr@name#4}{#4}
}
\def\tkzDefIntouchTriangle{\pgfutil@ifnextchar[{%
@@ -295,7 +312,10 @@
\foreach \name [count=\i] in {#5} {%
\global\expandafter\edef\csname tkz@point\i\endcsname{\name}
}
+ \begingroup
+ \def\tkz@pttr@name{}
\tkzDefExcentralTriangle(#2,#3,#4){tkz@a,tkz@b,tkz@c}
+ \endgroup
\tkzUProjection(#3,#4)(tkz@a)
\pgfnodealias{\tkz@pttr@name\csname tkz@point1\endcsname}{tkzPointResult}
\tkzUProjection(#2,#3)(tkz@c)
@@ -322,11 +342,11 @@
\pgfnodealias{tkz@c}{tkzPointResult} \tkzGetLength{tkz@rc}
\tkzDefExCircle(#4,#2,#3)
\pgfnodealias{tkz@a}{tkzPointResult} \tkzGetLength{tkz@ra}
- \tkzInterLC[R](#3,tkz@b)(tkz@b,\tkz@rb pt)
+ \tkzInterLC[R](#3,tkz@b)(tkz@b,\tkz@rb)
\tkzGetFirstPoint{\tkz@pttr@name\csname tkz@point2\endcsname}
- \tkzInterLC[R](#4,tkz@c)(tkz@c,\tkz@rc pt)
+ \tkzInterLC[R](#4,tkz@c)(tkz@c,\tkz@rc)
\tkzGetFirstPoint{\tkz@pttr@name\csname tkz@point3\endcsname}
- \tkzInterLC[R](#2,tkz@a)(tkz@a,\tkz@ra pt)
+ \tkzInterLC[R](#2,tkz@a)(tkz@a,\tkz@ra)
\tkzGetFirstPoint{\tkz@pttr@name\csname tkz@point1\endcsname}
\endgroup
}
@@ -337,13 +357,12 @@
\def\@DefCentroidTriangle(#1,#2,#3)(#4,#5){%
\def\tkz@tmp{#5}%
\tkz@recuplast(#3)
- \pgfcoordinate{#4}{%
+ \pgfcoordinate{\tkz@pttr@name#4}{%
\pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#2}{center}}%
+ \pgfpointadd{\pgfpointanchor{#2}{center}}%
{\pgfpointanchor{\tkz@last}{center}}}
}%
\ifx\tkz@tmp\tkz@stop\else\@DefCentroidTriangle(#2,#3)(#5)\fi
- \pgfnodealias{\tkz@pttr@name#4}{#4}
}
\def\tkzDefCentroidTriangle{\pgfutil@ifnextchar[{\tkz@DefCentroidTriangle}
{\tkz@DefCentroidTriangle[]}}
@@ -361,12 +380,9 @@
\def\@DefOrthicTriangle(#1,#2,#3)(#4,#5){%
\def\tkz@tmp{#5}%
\tkz@recuplast(#3)
- \pgfinterruptboundingbox
\tkzUProjection(#2,\tkz@last)(#1)
- \endpgfinterruptboundingbox
- \pgfnodealias{#4}{tkzPointResult}
+ \pgfnodealias{\tkz@pttr@name#4}{tkzPointResult}
\ifx\tkz@tmp\tkz@stop\else\@DefOrthicTriangle(#2,#3)(#5)\fi
- \pgfnodealias{\tkz@pttr@name#4}{#4}
}
\def\tkzDefOrthicTriangle{\pgfutil@ifnextchar[{\tkz@DefOrthicTriangle}
@@ -432,25 +448,24 @@
%<--------------------------------------------------------------------------–
% tkzDefSymmedianLine
%<--------------------------------------------------------------------------–
-\def\@DefSymmedianTriangle(#1,#2,#3)(#4,#5){%
- \def\tkz@tmp{#5}%
- \tkz@recuplast(#3)
- \tkzDefSymmedianLine(#2,#1,\tkz@last)
- \tkzInterLL(#2,\tkz@last)(#1,tkzPointResult)
- \pgfnodealias{#4}{tkzPointResult}
- \ifx\tkz@tmp\tkz@stop\else\@DefSymmedianTriangle(#2,#3)(#5)\fi
- \pgfnodealias{\tkz@pttr@name#4}{#4}
+\def\@DefSymmedialTriangle(#1,#2,#3)(#4,#5){%
+ \def\tkz@tmp{#5}%
+ \tkz@recuplast(#3)
+ \tkzDefSymmedianLine(#2,#1,\tkz@last)
+ \tkzInterLL(#2,\tkz@last)(#1,tkzPointResult)
+ \pgfnodealias{\tkz@pttr@name#4}{tkzPointResult}
+ \ifx\tkz@tmp\tkz@stop\else\@DefSymmedialTriangle(#2,#3)(#5)\fi
}
-\def\tkzDefSymmedianTriangle{\pgfutil@ifnextchar[{%
- \tkz@DefSymmedianTriangle}{%
- \tkz@DefSymmedianTriangle[]}}
+\def\tkzDefSymmedialTriangle{\pgfutil@ifnextchar[{%
+ \tkz@DefSymmedialTriangle}{%
+ \tkz@DefSymmedialTriangle[]}}
-\def\tkz@DefSymmedianTriangle[#1](#2)#3{%
+\def\tkz@DefSymmedialTriangle[#1](#2)#3{%
\begingroup
\SetUpPTTR{#1}
\pgfinterruptboundingbox
- \@DefSymmedianTriangle(#2,#2)(#3,\tkz@stop)
+ \@DefSymmedialTriangle(#2,#2)(#3,\tkz@stop)
\endpgfinterruptboundingbox
\endgroup
}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
new file mode 100644
index 0000000000..d9ee2931c6
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
@@ -0,0 +1,30 @@
+% tkz-tools-eu-BB.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-BB.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+\def\tkzShowBB{\pgfutil@ifnextchar[{\tkz@ShowBB}{\tkz@ShowBB[]}}
+\def\tkz@ShowBB[#1]{%
+ \draw[#1] (current bounding box.south west) rectangle
+ (current bounding box.north east);
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzClipBB{%
+\clip (current bounding box.south west) rectangle
+ (current bounding box.north east);
+}
+%<--------------------------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
index 32dfc82e65..d9636c2d83 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
@@ -1,5 +1,5 @@
% tkz-tools-angles.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,14 +7,12 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status “maintained”.
-%
+% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-angles.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-angles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
@@ -35,8 +33,8 @@
\else
\pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
\ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathadd{\tkz@SecondAngle}{360}
- \xdef\tkz@SecondAngle{\pgfmathresult}%
+ \pgfmathadd{\tkz@SecondAngle}{360}
+ \xdef\tkz@SecondAngle{\pgfmathresult}%
\fi
\fi
\endgroup
@@ -47,9 +45,9 @@
%<--------------------------------------------------------------------------–>
\def\tkzFindSlopeAngle(#1,#2){%
\begingroup
- \pgfmathanglebetweenpoints{\pgfpointanchor{#1}{center}}{%
+ \pgfmathanglebetweenpoints{\pgfpointanchor{#1}{center}}{%
\pgfpointanchor{#2}{center}}
- \global\let\tkzAngleResult\pgfmathresult
+ \global\let\tkzAngleResult\pgfmathresult
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -57,18 +55,18 @@
%<--------------------------------------------------------------------------–>
\def\tkzFindAngle(#1,#2,#3){% new code 2016
\begingroup
- \tkzFindSlopeAngle(#2,#1)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@SecondAngle}
- \tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
- \edef\tkz@Angle{\fpeval{\tkz@SecondAngle-\tkz@FirstAngle}}
- \global\let\tkzAngleResult\tkz@Angle
+ \tkzFindSlopeAngle(#2,#1)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@SecondAngle}
+ \tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
+ \edef\tkz@Angle{\fpeval{\tkz@SecondAngle-\tkz@FirstAngle}}
+ \global\let\tkzAngleResult\tkz@Angle
\endgroup
}
%<--------------------------------------------------------------------------–>
% Find angle
%<--------------------------------------------------------------------------–>
\def\tkzGetAngle#1{%
- \global\expandafter\edef\csname #1\endcsname{\tkzAngleResult}
+ \global\expandafter\edef\csname #1\endcsname{\tkzAngleResult}
}
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
new file mode 100644
index 0000000000..44b984ab6c
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
@@ -0,0 +1,89 @@
+% tkz-tools-eu-base.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-eu-base.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+\global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016
+\global\let\tkz@tmp@xb\tkz@init@xmax% modif 2016
+\global\let\tkz@tmp@ya\tkz@init@ymin% modif 2016
+\global\let\tkz@tmp@yb\tkz@init@ymax% modif 2016
+%<--------------------------------------------------------------------------–>
+\pgfkeys{
+ /tkzInit/.cd,
+ xmin/.store in = \tkz@init@xmin,
+ xmax/.store in = \tkz@init@xmax,
+ xstep/.store in = \tkz@init@xstep,
+ ymin/.store in = \tkz@init@ymin,
+ ymax/.store in = \tkz@init@ymax,
+ ystep/.store in = \tkz@init@ystep,
+ NO/.is if = tkz@init@NO,
+ NO/.default = true,
+ xmin = 0,
+ xmax = 10,
+ xstep = 1,
+ ymin = 0,
+ ymax = 10,
+ ystep = 1,
+ NO = false
+ }
+
+\def\tkzInit{\pgfutil@ifnextchar[{\tkz@Init}{\tkz@Init[]}}
+\def\tkz@Init[#1]{%
+ \pgfqkeys{/tkzInit}{#1}
+ \ifx\tkzfctloaded\undefined
+ \else
+ \tkz@tkzf@fct=0 % only if tkz-fct loaded
+ \fi
+ \xdef\tkz@init@xorigine{0}
+ \xdef\tkz@init@yorigine{0}
+ \edef\@xsgmin{\fpeval{sign(\tkz@init@xmin)}}
+ \edef\@xsgmax{\fpeval{sign(\tkz@init@xmax)}}
+ \edef\@ysgmin{\fpeval{sign(\tkz@init@ymin)}}
+ \edef\@ysgmax{\fpeval{sign(\tkz@init@ymax)}}
+ \let\tkz@tmp@xa\tkz@init@xmin %modif 2016
+ \let\tkz@tmp@xb\tkz@init@xmax %modif 2016
+ \let\tkz@tmp@ya\tkz@init@ymin %modif 2016
+ \let\tkz@tmp@yb\tkz@init@ymax %modif 2016
+ \tkz@init@NOfalse
+ \ifx\@xsgmin\@xsgmax \tkz@init@NOtrue \fi
+ \ifx\@ysgmin\@ysgmax \tkz@init@NOtrue \fi
+ \iftkz@init@NO%
+ \ifx\@xsgmin\@xsgmax
+ \edef\tkz@init@xmax{\fpeval{\tkz@init@xmax-\tkz@init@xmin}}
+ \edef\tkz@init@xorigine{\tkz@init@xmin}
+ \edef\tkz@init@xmin{0}
+ \fi
+ \ifx\@ysgmin\@ysgmax
+ \edef\tkz@init@ymax{\fpeval{\tkz@init@ymax-\tkz@init@ymin}}
+ \edef\tkz@init@yorigine{\tkz@init@ymin}
+ \edef\tkz@init@ymin{0}
+ \fi
+ \fi
+ \edef\tkz@xa{\fpeval{\tkz@init@xmin/\tkz@init@xstep}}
+ \edef\tkz@xb{\fpeval{\tkz@init@xmax/\tkz@init@xstep}}
+ \edef\tkz@ya{\fpeval{\tkz@init@ymin/\tkz@init@ystep}}
+ \edef\tkz@yb{\fpeval{\tkz@init@ymax/\tkz@init@ystep}}
+ \tkz@getdecimal{\tkz@init@xstep} % amélioration nb dec et integer
+ \xdef\tkz@init@xdec{\number\c@pgfmath@countb}
+ \tkz@getdecimal{\tkz@init@ystep}
+ \xdef\tkz@init@ydec{\number\c@pgfmath@countb}
+}%
+\def\tkzAddName{\pgfutil@ifnextchar[{\tkz@AddName}{\tkz@AddName[]}}
+\def\tkz@AddName[#1]#2{%
+\node[above left,#1] at (\pgf@path@lastx,\pgf@path@lasty){#2};
+}%
+%<--------------------------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
new file mode 100644
index 0000000000..a105f51f93
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
@@ -0,0 +1,57 @@
+% tkz-tools-eu-colors
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-eu-colors}
+\makeatletter
+
+%<------ Initialisation of the colors with tkzSetUpColors ----------------->
+% Première macro SetUpColors %%%%%%%%%%%%%%%%%%%%%
+%Possible
+\pgfkeys{/tkzsucolor/.is family}
+\def\setupcolorkeys#1{%
+ \pgfkeys{/tkzsucolor,#1}}
+\setupcolorkeys{
+ background/.estore in = \setupcolor@background,
+ text/.estore in = \setupcolor@text,
+ @initial/.style = {background=white,text=black},
+ @apply/.code = {\pagecolor{\setupcolor@background}%
+ \color{\setupcolor@text}%
+ },
+}
+\def\tkzSetUpColors{\pgfutil@ifnextchar[{\tkz@SetUpColors}{\tkz@SetUpColors[]}}
+\def\tkz@SetUpColors[#1]{\setupcolorkeys{@initial,#1,@apply}}
+
+%<------ Initialisation of all colors ----------------->
+\pgfkeys{/tkzsupallcol/.cd,
+ background/.store in = \tkz@suac@bkc,
+ text/.store in = \tkz@suac@txt,
+ background = \tkz@backgroundcolor,% see tkz-euclide.cfg
+ text = \tkz@textcolor% idem
+ }
+\def\tkzSetUpAllColors{\pgfutil@ifnextchar[{\tkz@SetUpAllColors}{%
+ \tkz@SetUpAllColors[]}}
+\def\tkz@SetUpAllColors[#1]{%
+ \pgfqkeys{/tkzsupallcol}{#1} % now we redine the based colors
+ \def\tkz@fillcolor{\tkz@suac@bkc}
+ \def\tkz@mainlinecolor{\tkz@suac@txt}
+ \def\tkz@textcolor{\tkz@suac@txt}
+ \def\tkz@otherlinecolor{\tkz@suac@txt!50}
+ \def\tkz@sua@color{\tkz@suac@txt}
+ \tkzSetUpAxis[color=\tkz@suac@txt]
+ \tkzSetUpGrid[color=\tkz@suac@txt]
+ \pagecolor{\tkz@suac@bkc}
+ \color{\tkz@suac@txt}
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-intersections.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex
index d0517fdee7..9448b707a7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-intersections.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex
@@ -1,5 +1,5 @@
% tkz-tools-intersections.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -12,9 +12,10 @@
%
% The Current Maintainer of this work is Alain Matthes.
% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-intersections.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-intersections.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% intersection de deux lignes
@@ -125,8 +126,8 @@
%<---------- test ------------------------------------------------------–>
\def\tkzTestInterLC(#1,#2)(#3,#4){%
\tkz@Projection(#1,#2)(#3){tkz@pth}% distance centre à la ligne
-\tkz@@CalcLength(#3,tkz@pth){tkz@mathLen}%
-\tkzCalcLength(#3,#4)
+\tkz@@CalcLength(#3,tkz@pth){tkz@mathLen}%
+\tkz@@CalcLength(#3,#4){tkzLengthResult}
\ifdim\tkz@mathLen pt>\tkzLengthResult pt\relax%
\def\tkzflagLC{-1}
\else
@@ -136,10 +137,10 @@
%<--------------------------------------------------------------------------–>
\def\tkz@numlc{0}
\pgfkeys{/linecircle/.cd,
- node/.code = \def\tkz@numlc{0},
- R/.code = \def\tkz@numlc{1},
- with nodes/.code = \def\tkz@numlc{2},
- node
+ node/.code = \def\tkz@numlc{0},
+ R/.code = \def\tkz@numlc{1},
+ with nodes/.code = \def\tkz@numlc{2},
+ node
}
%<--------------------------------------------------------------------------–>
\def\tkzInterLC{\pgfutil@ifnextchar[{\tkz@InterLC}{\tkz@InterLC[]}}
@@ -148,16 +149,16 @@
\pgfqkeys{/linecircle}{#1}
\pgfinterruptboundingbox
\ifcase\tkz@numlc%
- % first case 0
- \tkzCalcLength(#4,#5)
- \tkzInterLCR(#2,#3)(#4,\tkzLengthResult pt){tkzFirstPointResult}%
- {tkzSecondPointResult}
+ % first case 0
+ \tkz@@CalcLength(#4,#5){tkzLengthResult}
+ \tkzInterLCR(#2,#3)(#4,\tkzLengthResult pt){tkzFirstPointResult}%
+ {tkzSecondPointResult}
\or% 1
- \tkzInterLCR(#2,#3)(#4,#5){tkzFirstPointResult}
- {tkzSecondPointResult}%
+ \tkzInterLCR(#2,#3)(#4,#5 cm){tkzFirstPointResult}
+ {tkzSecondPointResult}%
\or% 2
\tkzInterLCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}%
- {tkzSecondPointResult}%
+ {tkzSecondPointResult}%
\fi
\endpgfinterruptboundingbox
\endgroup
@@ -183,11 +184,11 @@
\tkz@ay=\pgf@y\relax%
\advance\tkz@bx by\tkz@ax\relax%
\advance\tkz@by by\tkz@ay\relax%
- \pgfcoordinate{#6}{\pgfqpoint{\tkz@bx}{\tkz@by}}
+ \pgfcoordinate{#6}{\pgfqpoint{\tkz@bx}{\tkz@by}}
\tkzCSym(#3)(#6){#5}
\else
- \edef\pgfmathresult{\fpeval{\tkz@mathLen/\tkz@radi}}
- % \edef\tkz@angle{\fpeval{acosd(\pgfmathresult)}}
+ \edef\pgfmathresult{\fpeval{\tkz@mathLen/\tkz@radi}}
+ % \edef\tkz@angle{\fpeval{acosd(\pgfmathresult)}}
\pgfmathacos@{\pgfmathresult}%
\let\tkz@angle\pgfmathresult%
\pgfpointdiff{\pgfpointanchor{#3}{center}}%
@@ -207,11 +208,11 @@
\pgfmathrotatepointaround{\pgfpoint{\tkz@bx}{\tkz@by}}%
{\pgfpoint{\tkz@ax}{\tkz@ay}}%
{\tkz@angle}
- \pgfcoordinate{#5}{\pgfqpoint{\pgf@x}{\pgf@y}}
+ \pgfcoordinate{#5}{\pgfqpoint{\pgf@x}{\pgf@y}}
\pgfmathrotatepointaround{\pgfpoint{\tkz@bx}{\tkz@by}}%
{\pgfpoint{\tkz@ax}{\tkz@ay}}%
{-\tkz@angle}
- \pgfcoordinate{#6}{\pgfqpoint{\pgf@x}{\pgf@y}}
+ \pgfcoordinate{#6}{\pgfqpoint{\pgf@x}{\pgf@y}}
\fi
\endgroup
@@ -222,7 +223,7 @@
%<--------------------------------------------------------------------------–>
% \def\tkzInterLC(#1,#2)(#3,#4)#5#6{%
% \begingroup
-% \tkzCalcLength(#3,#4)\tkzGetLength{tkz@rad}
+% \tkz@@CalcLength(#3,#4){tkz@rad}
% \tkzInterLCR(#1,#2)(#3,\tkz@rad pt){#5}{#6}
% \endgroup
% }
@@ -231,7 +232,7 @@
%<--------------------------------------------------------------------------–>
\def\tkzInterLCWithNodes(#1,#2)(#3,#4,#5)#6#7{%
\begingroup
- \tkzCalcLength(#4,#5)\tkzGetLength{tkz@radius}
+ \tkz@@CalcLength(#4,#5){tkz@radius}
\tkzInterLCR(#1,#2)(#3,\tkz@radius pt){#6}{#7}
\endgroup
}
@@ -255,10 +256,10 @@ with nodes/.code = {\global\def\tkz@numcc{2}}
\ifcase\tkz@numcc%
% first case 0
\tkz@save@length
- \tkzCalcLength(#2,#3) \tkzGetLength{tkz@rayA}
- \tkzCalcLength(#4,#5) \tkzGetLength{tkz@rayB}
+ \tkz@@CalcLengthcm(#2,#3){tkz@rayA}
+ \tkz@@CalcLengthcm(#4,#5){tkz@rayB}
\tkz@restore@length
- \tkzInterCCR(#2,\tkz@rayA pt)(#4,\tkz@rayB pt){tkzFirstPointResult}{%
+ \tkzInterCCR(#2,\tkz@rayA)(#4,\tkz@rayB){tkzFirstPointResult}{%
tkzSecondPointResult}
\or% 1
\tkzInterCCR(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}%
@@ -350,7 +351,7 @@ with nodes/.code = {\global\def\tkz@numcc{2}}
\begingroup
\pgfinterruptboundingbox
\tkz@save@length
-\tkzCalcLength(#1,#3)\tkzGetLength{tkz@dd}
+\tkz@@CalcLength(#1,#3){tkz@dd}
\tkz@restore@length
\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
@@ -360,8 +361,8 @@ with nodes/.code = {\global\def\tkz@numcc{2}}
\pgfextracty{\pgf@y}{\pgfpointanchor{#3}{center}}
\tkz@bx\pgf@x %
\tkz@by\pgf@y %
-\tkz@cx#2 %
-\tkz@cy#4 %
+\tkz@cx#2cm %
+\tkz@cy#4cm %
\edef\tkz@aa{\fpeval{((\tkz@cx+\tkz@cy)/(2*\tkz@dd))*(\tkz@cx-\tkz@cy)+\tkz@dd/2}}
\edef\tkz@xx{\fpeval{\tkz@ax+\tkz@aa/\tkz@dd*(\tkz@bx - \tkz@ax)}}
\edef\tkz@yy{\fpeval{\tkz@ay+\tkz@aa/\tkz@dd*(\tkz@by - \tkz@ay)}}
@@ -382,8 +383,8 @@ with nodes/.code = {\global\def\tkz@numcc{2}}
% #2 node #3 node #4 node #5 node
% \def\tkzInterCC(#1,#2)(#3,#4)#5#6{%
% \begingroup
-% \tkzCalcLength(#1,#2)\tkzGetLength{tkz@rayA}
-% \tkzCalcLength(#3,#4)\tkzGetLength{tkz@rayB}
+% \tkz@@CalcLength(#1,#2){tkz@rayA}
+% \tkz@@CalcLength(#3,#4){tkz@rayB}
% \tkzInterCCR(#1,\tkz@rayA pt)(#3,\tkz@rayB pt){#5}{#6}
% \endgroup
% }
@@ -393,9 +394,9 @@ with nodes/.code = {\global\def\tkz@numcc{2}}
% la première variante devrait être #2 #3 avec #4 #5
\def\tkzInterCCWithNodes(#1,#2,#3)(#4,#5,#6)#7#8{%
\begingroup
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@rayA}
- \tkzCalcLength(#5,#6)\tkzGetLength{tkz@rayB}
- \tkzInterCCR(#1,\tkz@rayA pt)(#4,\tkz@rayB pt){#7}{#8}
+ \tkz@@CalcLengthcm(#2,#3){tkz@rayA}
+ \tkz@@CalcLengthcm(#5,#6){tkz@rayB}
+ \tkzInterCCR(#1,\tkz@rayA)(#4,\tkz@rayB){#7}{#8}
\endgroup
}
\makeatother
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-math.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
index fbd34cb84c..e7f41593a0 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-math.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
@@ -1,5 +1,5 @@
-% tkz-tools-math.tex
-% Copyright 2020 Alain Matthes
+% tkz-tools-eu-math.tex
+% Copyright 2022 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -7,16 +7,22 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
-%
% This work has the LPPL maintenance status “maintained”.
-%
% The Current Maintainer of this work is Alain Matthes.
-% utf8 encoding
-\def\fileversion{3.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-tools-math.tex}
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-eu-math.tex}
\makeatletter
%<-------------------------------------------------------------------------->
+% \tkzpointnormalised#
+% tkzCalcLength
+% \tkzGetLength
+% \tkzpttocm
+% \tkzcmtopt
+% \tkzFindSlope
+% option xfp
+
% \tkzpointnormalised normalise un point A-->A' tq ||v(OA')=1||
% équivalent de \pgfpointnormalised avec fp
% example
@@ -41,28 +47,28 @@
}
%<-------------------------------------------------------------------------->
% restaure and save length
-\def\tkz@save@length{%
-\global\let\tkz@temp@length\tkzLengthResult}%
-\def\tkz@restore@length{%
- \global\let\tkzLengthResult\tkz@temp@length }%
+\def\tkz@save@length{\global\let\tkz@temp@length\tkzLengthResult}%
+\def\tkz@restore@length{\global\let\tkzLengthResult\tkz@temp@length }%
%<-------------------------------------------------------------------------->
% \tkzCalcLength Distance entre deux points en pt ou en cm avec xfp
% \veclen mais avec fp
-% option cm le résultat est en cm sinon en pt
+% option cm le résultat est en cm sinon en pt
%<-------------------------------------------------------------------------->
+%\newif\iftkzLengthIncm \iftkzLengthIncmtrue
\pgfkeys{tkzcalclen/.cd,
cm/.is if = tkzLengthIncm,
- cm/.default = true}
+ cm/.default = true,
+ cm = true}
\def\tkzCalcLength{\pgfutil@ifnextchar[{\tkz@CalcLength}{\tkz@CalcLength[]}}
\def\tkz@CalcLength[#1](#2,#3){%
-\pgfkeys{tkzcalclen/.cd, cm = false}
+%\pgfkeys{tkzcalclen/.cd, cm = true}
\pgfqkeys{/tkzcalclen}{#1}%
\begingroup
\tkz@@CalcLength(#2,#3){tkzLengthResult}
\iftkzLengthIncm
- \pgfmathparse{\tkz@xfpMathLen pt/1cm}
- \edef\tkz@xfpMathLen{\fpeval{round(\pgfmathresult,5)}}
+ \pgfmathparse{\tkzLengthResult pt/1cm}
+ \edef\tkz@xfpMathLen{\fpeval{round(\pgfmathresult,5)}}
\global\let\tkzLengthResult\tkz@xfpMathLen
\fi
\endgroup
@@ -74,6 +80,15 @@
\edef\tkz@xfpMathLen{\fpeval{round(\tkz@xfpMathLen,5)}}
\global\expandafter\edef\csname #3\endcsname{\tkz@xfpMathLen}
}
+\def\tkz@@CalcLengthcm(#1,#2)#3{%
+\pgfpointdiff{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}%
+\edef\tkz@xfpMathLen{\fpeval{sqrt((\pgf@x)^2+(\pgf@y)^2)}}
+\edef\tkz@xfpMathLen{\fpeval{round(\tkz@xfpMathLen,5)}}
+\pgfmathparse{\tkz@xfpMathLen pt/1cm}
+\edef\tkz@xfpMathLen{\fpeval{round(\pgfmathresult,5)}}
+\global\expandafter\edef\csname #3\endcsname{\tkz@xfpMathLen}
+}
%<-------------------------------------------------------------------------->
\def\tkzGetLength#1{%
\global\expandafter\edef\csname #1\endcsname{\tkzLengthResult}}
@@ -93,25 +108,13 @@
%<--------------------------------------------------------------------------
\def\tkzcmtopt(#1)#2{%
\begingroup
- \pgfmathparse{#1/1pt}
+ \pgfmathparse{#1*1cm}
\edef\tkz@mathresult{\fpeval{round(\pgfmathresult,5)}}
\global\let\tkz@mathresult\tkz@mathresult
\global\expandafter\edef\csname #2\endcsname{\tkz@mathresult}%
\endgroup
}%
-%<-------------------------------------------------------------------------->
-% Slope
-%<-------------------------------------------------------------------------->
-\def\tkzFindSlope{\tkz@FindSlope}
-\def\tkz@FindSlope(#1,#2)#3{%
-\begingroup
- \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#2}{center}}}
- \edef\tkz@Slope{\fpeval{\pgfmath@tonumber{\pgf@y}/\pgfmath@tonumber{\pgf@x}}}
- \edef\tkz@Slope{\fpeval{round(\tkz@Slope,5)}}
- \global\expandafter\edef\csname #3\endcsname{\tkz@Slope}%
-\endgroup
-}
+
% Schrodinger's cat idea 03/01/20
\tikzset{xfp/.code={%
\pgfmathdeclarefunction*{veclen}{2}{%
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
new file mode 100644
index 0000000000..349ce0d631
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
@@ -0,0 +1,67 @@
+% tkz-tools-modules
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-utilities.tex}
+\makeatletter
+%<------------- % chargement des modules ---------------------------------->
+\def\tkz@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
+\def\tkz@obj@txt{all}
+\def\usetkzobj{\pgfutil@ifnextchar[{\use@usetkzobj}{\use@@usetkzobj}}%}
+\def\use@usetkzobj[#1]{\use@@usetkzobj{#1}}
+\def\use@@usetkzobj#1{%
+ \def\tkz@list{#1}
+ \ifx\tkz@obj@txt\tkz@list \edef\tkz@list{\tkz@obj@all}%
+ \else
+ \edef\tkz@list{#1}%
+ \fi
+ \pgfutil@for\tkz@temp:=\tkz@list\do{%
+ \expandafter\ifx\csname tkz@library@\tkz@temp @loaded\endcsname\relax%
+ \expandafter\global\expandafter\let\csname tkz@library@\tkz@temp @loaded\endcsname=\pgfutil@empty%
+ \expandafter\edef\csname tkz@obj@#1@atcode\endcsname{\the\catcode`\@}
+ \expandafter\edef\csname tkz@obj@#1@barcode\endcsname{\the\catcode`\|}
+ \catcode`\@=11
+ \catcode`\|=12
+ \input tkz-obj-\tkz@temp.tex
+ \catcode`\@=\csname tkz@obj@#1@atcode\endcsname
+ \catcode`\|=\csname tkz@obj@#1@barcode\endcsname
+ \fi%
+ }%
+}%
+%<---------------------------------------------------------–>
+\def\tkz@tool@all{math-xfp}
+\def\tkz@tool@txt{all}
+
+\def\usetkztool{\pgfutil@ifnextchar[{\use@usetkztool}{\use@@usetkztool}}%}
+\def\use@usetkztool[#1]{\use@@usetkztool{#1}}
+\def\use@@usetkztool#1{%
+ \def\tkz@list{#1}
+ \ifx\tkz@tool@txt\tkz@list \edef\tkz@list{\tkz@tool@all}%
+ \else
+ \edef\tkz@list{#1}%
+ \fi
+ \pgfutil@for\tkz@temp:=\tkz@list\do{%
+ \expandafter\ifx\csname tkz@library@\tkz@temp @loaded\endcsname\relax%
+ \expandafter\global\expandafter\let\csname tkz@library@\tkz@temp @loaded\endcsname=\pgfutil@empty%
+ \expandafter\edef\csname tkz@tool@#1@atcode\endcsname{\the\catcode`\@}
+ \expandafter\edef\csname tkz@tool@#1@barcode\endcsname{\the\catcode`\|}
+ \catcode`\@=11
+ \catcode`\|=12
+ \input tkz-tools-\tkz@temp.tex
+ \catcode`\@=\csname tkz@tool@#1@atcode\endcsname
+ \catcode`\|=\csname tkz@tool@#1@barcode\endcsname
+ \fi%
+ }%
+}%
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
new file mode 100644
index 0000000000..6744585be4
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
@@ -0,0 +1,88 @@
+% tkz-tools-eu-text.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-eu-text.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% tkzText
+%<--------------------------------------------------------------------------–>
+\def\tkz@parsenode#1{%
+\tkz@getvirg#1,\@nil
+\iftkz@node
+\else
+ \tkz@getfromcart#1\@nil
+\fi
+}
+\def\tkz@getvirg#1,#2\@nil{%
+\ifx\tkzempty#2\tkzempty%
+ \tkz@nodetrue
+\else
+ \tkz@nodefalse
+\fi
+}
+\def\tkzText{\pgfutil@ifnextchar[{\tkz@Text}{\tkz@Text[]}}
+\def\tkz@Text[#1](#2)#3{%
+ \begingroup
+ \tkz@parsenode{#2}
+ \iftkz@node
+ \node[#1] at (#2){#3};
+ \else
+ \edef\tkzpt@xa{\fpeval{(\tkz@absc-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkzpt@ya{\fpeval{(\tkz@ord-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \node[#1] at (\tkzpt@xa,\tkzpt@ya){#3};%
+ \fi
+\endgroup
+}%
+% %<--------------------------------------------------------------------------–>
+% % légende
+% %<--------------------------------------------------------------------------–>
+\pgfkeys{/tkzlegend/.cd,
+ line/.is if = tkz@legend@line,
+ line/.default = true,
+ line = false,
+ /tkzlegend/.search also = {/tikz},
+}
+\def\tkzLegend{\pgfutil@ifnextchar[{\tkz@Legend}{\tkz@Legend[]}}
+\def\tkz@Legend[#1](#2,#3)#4{%
+\pgfqkeys{/tkzlegend}{#1}
+\begingroup
+ \c@pgfmath@counta=0 %
+ \edef\tkzpt@xa{\fpeval{(#2-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkzpt@ya{\fpeval{(#3-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \node[/tkzlegend/.cd,#1] at (\tkzpt@xa,\tkzpt@ya) {%
+\begin{tikzpicture}
+ \foreach \motif/\size/\col/\mtext in {#4}{%
+ \iftkz@legend@line
+ \draw[color = \col,
+ line width = \size,
+ style = \motif,
+ text = \tkz@mainlinecolor]%
+ (0cm ,\the\c@pgfmath@counta ex)--%
+ (\tkz@legend@line@len,\the\c@pgfmath@counta ex)
+ \else
+ \draw plot[mark size = \size,%
+ mark = \motif,%
+ mark options = {color=\col}]%
+ coordinates{(0 ex,\the\c@pgfmath@counta ex)}%
+ \fi
+ node[right=1ex] {\mtext};
+ \global\advance\c@pgfmath@counta by 3 %
+ }%
+
+\end{tikzpicture}%
+};%
+\endgroup
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
new file mode 100644
index 0000000000..f85acf6142
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
@@ -0,0 +1,172 @@
+% tkz-tools-eu-utilities
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-eu-utilities.tex}
+\makeatletter
+\pgfkeys{/tkzClip/.cd,
+space/.store in = {\tkz@CLI@space},
+space = {}}
+
+\def\tkzClip{\pgfutil@ifnextchar[{\tkz@Clip}{\tkz@Clip[]}}
+\def\tkz@Clip[#1]{%
+
+\pgfqkeys{/tkzClip}{#1}
+\ifx\tkzutil@empty\tkz@CLI@space
+ \clip (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb);
+ \else
+ \edef\tkz@xxa{\fpeval{\tkz@xa-\tkz@CLI@space}}
+ \edef\tkz@yya{\fpeval{\tkz@ya-\tkz@CLI@space}}
+ \edef\tkz@xxb{\fpeval{\tkz@xb+\tkz@CLI@space}} % correction bug 2020
+ \edef\tkz@yyb{\fpeval{\tkz@yb+\tkz@CLI@space}}
+ \clip (\tkz@xxa,\tkz@yya) rectangle (\tkz@xxb,\tkz@yyb);
+\fi
+}
+
+% for testing results
+\def\extractxy#1{%
+\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
+\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
+\typeout{#1 \the\pgf@x,\the\pgf@y}
+}
+%<-------------- some tools ------------------------------------------------->
+\def\tkzutil@empty{}
+\def\tkzutil@firstofone#1{#1}
+\def\tkzutil@firstoftwo#1#2{#1}
+\def\tkzutil@secondoftwo#1#2{#2}
+%<--------------------------------------------------------------------------–>
+\long\def\tkzutil@ifundefined#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\tkzutil@firstoftwo
+ \else
+ \expandafter\tkzutil@secondoftwo
+ \fi}
+%<--------------------------------------------------------------------------–>
+\long\def\iftkznodedefined#1#2#3{%
+ \tkzutil@ifundefined{pgf@sh@ns@#1}{#3}{#2}%
+}
+%<--------------------------------------------------------------------------–>
+\gdef\tkzActivOff{%
+ \edef\tkzTwoPtCode{\the\catcode`\:}
+ \edef\tkzPtExCode{\the\catcode`\!}
+ \edef\tkzPtVirCode{\the\catcode`\;}
+ \catcode`\:=12 \catcode`\!=12 \catcode`\;=12
+ }%
+\gdef\tkzActivOn{%
+ \catcode`\:=\tkzTwoPtCode\relax
+ \catcode`\!=\tkzPtExCode\relax
+ \catcode`\;=\tkzPtVirCode\relax
+}%
+%<--------------------------------------------------------------------------–>
+% Pour savoir le nombre de décimales d'un nombre
+% le nombre dans #1 et le résultat dans \c@pgfmath@countb
+%<--------------------------------------------------------------------------–>
+\newcommand\tkz@getdecimal[1]{\expandafter\@getdecimal#1.\@nil}
+\def\@getdecimal#1.#2\@nil{%
+ \ifx\empty#2\empty
+ % Si #2 est vide, c'est qu'il n'y avait pas de point
+ % dans la chaîne initiale
+ \c@pgfmath@countb0 %
+ \gdef\tkz@decpart{}%
+ \else
+ % sinon c'est la chaîne qui suit le point décimal...
+ \CountToken{#2}%
+ % ... y compris le point en trop ajouté par \tkz@getdecimal :-)
+ \advance\c@pgfmath@countb by-1 %
+ \@@getdecimal#2\@nil
+ \fi
+}
+\def\@@getdecimal#1.\@nil{\gdef\tkz@decpart{#1}}
+%<---------------------------------------------------------–>
+% code from JCC modifi
+\newcommand\CountToken[1]{%
+ \c@pgfmath@countb0 %
+ \expandafter\C@untToken#1\@nil
+%modifi ajout du expandafter
+}
+\newcommand\C@untToken{%
+ \afterassignment\C@untT@ken\let\CurrT@ken=
+}
+\newcommand\C@untT@ken{%
+ \ifx\CurrT@ken\@nil \else
+ \advance\c@pgfmath@countb by1 %
+ \expandafter\C@untToken
+ \fi
+}
+%<---------------------------------------------------------–>
+\def\tkz@recuplast(#1,#2){\def\tkz@last{#1}}
+\def\tkz@stop{\tkz@stop}
+% end code from JCC
+%<---------------------------------------------------------–>
+% Tools
+%<---------------------------------------------------------–>
+%<–––––––– code from TeX in Practice ––––––––>
+\def\SubStringConditional #1#2{%
+ TT\fi
+ \edef\@MainString{#1}%
+ \edef\@SubStringConditionalTemp{{#1}{#2}}%
+ \expandafter\@SubStringConditional\@SubStringConditionalTemp
+}
+\def\@SubStringConditional #1#2{%
+ \def\@TestSubS ##1#2##2\\{%
+ \def\@TestTemp{##1}%
+ }%
+ \@TestSubS #1#2\\
+ \ifx\@MainString\@TestTemp
+ \tkz@TestSubStringfalse
+ \else
+ \tkz@TestSubStringtrue
+ \fi
+ \iftkz@TestSubString
+}
+\def\RecursionMacroEnd #1#2#3{%
+ #1\relax
+ \def\@RecursionMacroEndNext{#2}%
+ \else
+ \def\@RecursionMacroEndNext{#3}%
+ \fi
+ \@RecursionMacroEndNext
+}
+\def\ReplaceSubStrings #1#2#3#4{%
+ \def\@ReplaceResult{#1}%
+ \edef\@ReplaceMain{#2}%
+ \edef\@ReplaceSub{#3}%
+ \edef\@ReplaceSubRep{#4}%
+ \@ReplaceSubStrings
+}
+\def\@ReplaceSubStrings{%
+ \RecursionMacroEnd
+ {\if\SubStringConditional{\@ReplaceMain}{\@ReplaceSub}}%
+ {\@ReplaceSubStringsDo}{\expandafter\edef\@ReplaceResult{\@ReplaceMain}}%
+}
+\def\@ReplaceSubStringsDoX{%
+ \def\@ReplaceSubStringsDoA ##1%
+}%
+\def\@ReplaceSubStringsDo{%
+ \expandafter\@ReplaceSubStringsDoX \@ReplaceSub
+ ##2\@EndReplaceSubStrings{%
+ \edef\@ReplaceMain{##1\@ReplaceSubRep ##2}%
+ }%
+ \expandafter\@ReplaceSubStringsDoA\@ReplaceMain
+ \@EndReplaceSubStrings
+ \@ReplaceSubStrings
+}
+%<---------------------------------------------------------–>
+\def\DisabledNumprint{%
+ \let\tkz@numprint\numprint
+ \let\numprint\relax
+ }
+\def\EnabledNumprint{\let\numprint\tkz@numprint}
+%<---------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/translations/README b/macros/latex/contrib/translations/README
index 052fe53853..3c6f5b5893 100644
--- a/macros/latex/contrib/translations/README
+++ b/macros/latex/contrib/translations/README
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-the TRANSLATIONS package v1.10a - 2021/01/17
+the TRANSLATIONS package v1.11 - 2022/01/04
internationalization of LaTeX2e packages
--------------------------------------------------------------------------
@@ -7,7 +7,7 @@ Clemens Niederberger
Web: https://github.com/cgnieder/translations
E-Mail: contact@mychemistry.eu
--------------------------------------------------------------------------
-Copyright 2012--2021 Clemens Niederberger
+Copyright 2012--2022 Clemens Niederberger
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-brazil.trsl b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-brazil.trsl
index b2d495e261..0ceefdc47c 100644
--- a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-brazil.trsl
+++ b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-brazil.trsl
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/translations
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl
index 1be12223d7..f53c5dc867 100644
--- a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl
+++ b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/translations
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-dutch.trsl b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-dutch.trsl
index 5a0f4f2fcc..5d1c66b3f6 100644
--- a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-dutch.trsl
+++ b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-dutch.trsl
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/translations
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -60,9 +60,9 @@
\ProvideDictTranslation{Index}{Register}
\ProvideDictTranslation{Introduction}{Inleiding}
\ProvideDictTranslation{introduction}{inleiding}
-\ProvideDictTranslation{List of Figures and Tables}{L\ij st van figuren en tabellen}
-\ProvideDictTranslation{List of Figures}{L\ij st van figuren}
-\ProvideDictTranslation{List of Tables}{L\ij st van tabellen}
+\ProvideDictTranslation{List of Figures and Tables}{Figuren- en Tabellen\-l\ij st}
+\ProvideDictTranslation{List of Figures}{Figuren\-l\ij st}
+\ProvideDictTranslation{List of Tables}{Tabellen\-l\ij st}
\ProvideDictTranslation{or}{of}
\ProvideDictTranslation{Outline}{Indeling}
\ProvideDictTranslation{Overview}{Overzicht}
@@ -78,7 +78,7 @@
\ProvideDictTranslation{parts}{delen}
\ProvideDictTranslation{Part}{Deel}
\ProvideDictTranslation{part}{deel}
-\ProvideDictTranslation{Preface}{Woord vooraf}
+\ProvideDictTranslation{Preface}{Voorwoord}
\ProvideDictTranslation{Proofs}{Bew\ij zen}
\ProvideDictTranslation{proofs}{Bew\ij zen}
\ProvideDictTranslation{Proof}{Bew\ij s}
@@ -94,10 +94,10 @@
\ProvideDictTranslation{see also}{zie ook}
\ProvideDictTranslation{See}{Zie}
\ProvideDictTranslation{see}{zie}
-\ProvideDictTranslation{Sketch of Proofs}{Bew\ij sschetsen}
-\ProvideDictTranslation{Sketch of proofs}{bew\ij sschetsen}
-\ProvideDictTranslation{Sketch of Proof}{Bew\ij sschets}
-\ProvideDictTranslation{Sketch of proof}{bew\ij sschets}
+\ProvideDictTranslation{Sketch of Proofs}{Bew\ij s\-schetsen}
+\ProvideDictTranslation{Sketch of proofs}{bew\ij s\-schetsen}
+\ProvideDictTranslation{Sketch of Proof}{Bew\ij s\-schets}
+\ProvideDictTranslation{Sketch of proof}{bew\ij s\-schets}
\ProvideDictTranslation{Subsections}{Subparagrafen}
\ProvideDictTranslation{subsections}{subparagrafen}
\ProvideDictTranslation{Subsection}{Subparagraaf}
@@ -110,24 +110,24 @@
\ProvideDictTranslation{To}{Aan}
\ProvideDictTranslation{to}{aan}
-\ProvideDictTranslation{Monday}{Maandag}
-\ProvideDictTranslation{Tuesday}{Dinsdag}
-\ProvideDictTranslation{Wednesday}{Woensdag}
-\ProvideDictTranslation{Thursday}{Donderdag}
-\ProvideDictTranslation{Friday}{Vr\ij dag}
-\ProvideDictTranslation{Saturday}{Zaterdag}
-\ProvideDictTranslation{Sunday}{Zondag}
+\ProvideDictTranslation{Monday}{maandag}
+\ProvideDictTranslation{Tuesday}{dinsdag}
+\ProvideDictTranslation{Wednesday}{woensdag}
+\ProvideDictTranslation{Thursday}{donderdag}
+\ProvideDictTranslation{Friday}{vr\ij dag}
+\ProvideDictTranslation{Saturday}{zaterdag}
+\ProvideDictTranslation{Sunday}{zondag}
-\ProvideDictTranslation{January}{Januari}
-\ProvideDictTranslation{February}{Februari}
-\ProvideDictTranslation{March}{Maart}
-\ProvideDictTranslation{April}{April}
-\ProvideDictTranslation{May}{Mei}
-\ProvideDictTranslation{June}{Juni}
-\ProvideDictTranslation{July}{Juli}
-\ProvideDictTranslation{August}{Augustus}
-\ProvideDictTranslation{September}{September}
-\ProvideDictTranslation{October}{Oktober}
-\ProvideDictTranslation{November}{November}
-\ProvideDictTranslation{December}{December}
+\ProvideDictTranslation{January}{januari}
+\ProvideDictTranslation{February}{februari}
+\ProvideDictTranslation{March}{maart}
+\ProvideDictTranslation{April}{april}
+\ProvideDictTranslation{May}{mei}
+\ProvideDictTranslation{June}{juni}
+\ProvideDictTranslation{July}{juli}
+\ProvideDictTranslation{August}{augustus}
+\ProvideDictTranslation{September}{september}
+\ProvideDictTranslation{October}{oktober}
+\ProvideDictTranslation{November}{november}
+\ProvideDictTranslation{December}{december}
diff --git a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-english.trsl b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-english.trsl
index ad659328b3..ab554a8a29 100644
--- a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-english.trsl
+++ b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-english.trsl
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/translations
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-french.trsl b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-french.trsl
index 4f3818cc24..a5f3fd2e83 100644
--- a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-french.trsl
+++ b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-french.trsl
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/translations
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-german.trsl b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-german.trsl
index 4c192b3dac..3caa51765f 100644
--- a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-german.trsl
+++ b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-german.trsl
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/translations
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-spanish.trsl b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-spanish.trsl
index 9d281f509d..83de194e97 100644
--- a/macros/latex/contrib/translations/dicts/translations-basic-dictionary-spanish.trsl
+++ b/macros/latex/contrib/translations/dicts/translations-basic-dictionary-spanish.trsl
@@ -8,7 +8,7 @@
% Web: https://github.com/cgnieder/translations
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/translations/translations.sty b/macros/latex/contrib/translations/translations.sty
index f3fac4dce0..ea75c22521 100644
--- a/macros/latex/contrib/translations/translations.sty
+++ b/macros/latex/contrib/translations/translations.sty
@@ -25,8 +25,8 @@
% If you have any ideas, questions, suggestions or bugs to report, please
% feel free to contact me.
% --------------------------------------------------------------------------
-\newcommand*\@trnslt@date{2021/01/17}
-\newcommand*\@trnslt@version{v1.10a}
+\newcommand*\@trnslt@date{2022/01/04}
+\newcommand*\@trnslt@version{v1.11}
\newcommand*\@trnslt@packageinfo{internationalization of LaTeX2e packages}
\ProvidesPackage{translations}[%
@@ -388,8 +388,6 @@
{\long\csdef{@trnslt@word@\detokenize{#1}@\@trnslt@dialect@of{#2}}{#3}}%
}
{\long\csdef{@trnslt@word@\detokenize{#1}@\@trnslt@language{#2}}{#3}}%
- % save the <word> as <word>:
- \csdef{@trnslt@word@\detokenize{#1}@literal}{#1}%
}
{\@trnslt@err@unknown@lang{#2}}%
}
@@ -510,7 +508,7 @@
{%
\@trnslt@if@translation{#1}{fallback}
{\@trnslt@translation@value{#1}{fallback}}
- {\@trnslt@translation@value{#1}{literal}}%
+ {\detokenize{#1}}% literal
}%
}
@@ -519,9 +517,7 @@
}
\newcommand*\@trnslt@translation@value[2]{%
- \unexpanded\expandafter\expandafter\expandafter{%
- \csname @trnslt@word@\detokenize{#1}@#2\endcsname
- }%
+ \csname @trnslt@word@\detokenize{#1}@#2\endcsname
}
% this is not expandable!
@@ -536,7 +532,7 @@
\@trnslt@info{Using fallback translation for `#1'}%
\csuse{@trnslt@word@\detokenize{#1}@fallback}
}
- {\csuse{@trnslt@word@\detokenize{#1}@literal}}%
+ {\detokenize{#1}}% literal
}%
}
@@ -552,7 +548,7 @@
\@trnslt@info{Using fallback translation for `#1'}%
\@trnslt@get@lowercase{\csuse{@trnslt@word@\detokenize{#1}@fallback}}%
}
- {\@trnslt@get@lowercase{\csuse{@trnslt@word@\detokenize{#1}@literal}}}%
+ {\detokenize{#1}}% literal
}%
}
@@ -632,7 +628,7 @@
% #1: name
% #2: lang
\newrobustcmd*\@trnslt@check@dictionary[2]{%
- \AddToHook{file/after/#1-\@trnslt@language{#2}.trsl}
+ \AddToHook{file/#1-\@trnslt@language{#2}.trsl/after}
{%
\edef\@trnslt@tmpa{\@trnslt@language{#2}}%
\ifcsdef{@trnslt@dictionary@#1@\@trnslt@tmpa}
@@ -897,6 +893,7 @@
\DeclareLanguageDialect{canadien}{french}
\DeclareLanguageDialect{canadian}{english}
\DeclareLanguageDialect{newzealand}{english}
+\DeclareLanguageDialect{nynorsk}{norwegian}
\DeclareLanguageDialect{irish}{gaelic}
\DeclareLanguageDialect{scottish}{gaelic}
\DeclareLanguageDialect{austrian}{german}
@@ -1025,7 +1022,6 @@
\DeclareLanguageAlias {norsk}{norwegian}
\DeclareLanguageAlias {Norsk}{norsk}
\DeclareLanguageAlias {Norwegian}{norwegian}
-\DeclareLanguageAlias {nynorsk}{norwegian}
\DeclareLanguageAlias {Nynorsk}{nynorsk}
\DeclareLanguageAlias {Occitan}{occitan}
\DeclareLanguageAlias {lenga d'oc}{occitan}
@@ -1235,3 +1231,8 @@
- add Brazilian basic dictionary
2021/01/16 v1.10 - remove scrlfile dependency
2021/01/16 v1.10a - correct bug from last update
+2022/01/04 v1.11 - fix issue #18
+ - undo v1.7, fixes issue #12
+ - make nynorsk a dialect of norsk, fixes issue #19
+ - don't define the literal string as command but output it
+ directly; fixes issue #13
diff --git a/macros/latex/contrib/translations/translations_en.pdf b/macros/latex/contrib/translations/translations_en.pdf
index bc6472fddd..1776de4ca5 100644
--- a/macros/latex/contrib/translations/translations_en.pdf
+++ b/macros/latex/contrib/translations/translations_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/translations/translations_en.tex b/macros/latex/contrib/translations/translations_en.tex
index 3d579860f3..60f0fe835e 100644
--- a/macros/latex/contrib/translations/translations_en.tex
+++ b/macros/latex/contrib/translations/translations_en.tex
@@ -1,7 +1,7 @@
-% !arara: pdflatex: { shell: on, interaction: nonstopmode }
-% !arara: biber
-% arara: pdflatex
-% arara: pdflatex
+% arara: pdflatex: { shell: on, interaction: nonstopmode }
+% arara: biber
+% arara: pdflatex: { interaction: nonstopmode }
+% arara: pdflatex: { interaction: nonstopmode }
% --------------------------------------------------------------------------
% the TRANSLATIONS package
%
@@ -12,7 +12,7 @@
% Web: https://github.com/cgnieder/translations
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2021 Clemens Niederberger
+% Copyright 2012--2022 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -24,8 +24,8 @@
%
% The Current Maintainer of this work is Clemens Niederberger.
% --------------------------------------------------------------------------
+\PassOptionsToPackage{french,brazil,spanish,ngerman,english}{babel}
\documentclass[load-preamble]{cnltx-doc}
-\usepackage[french,brazil,spanish,ngerman,english]{babel}
% ----------------------------------------------------------------------------
\usepackage{imakeidx}
% document layout and typographic features
diff --git a/support/texlogsieve/README.md b/support/texlogsieve/README.md
index acc3204d90..e7e9233997 100644
--- a/support/texlogsieve/README.md
+++ b/support/texlogsieve/README.md
@@ -22,12 +22,20 @@ report. It is a `texlua` script, similar in spirit to tools such as
`texlogsieve` **must** be run from the same directory as `[pdf|lua|xe]latex`,
because it searches for the files used during compilation (packages loaded
-from the current directory, files included with `\input` etc.).
+from the current directory, files included with `\input` etc.). Also, since
+it cannot detect if LaTeX stops for user input, you should **really** run
+LaTeX in `nonstopmode` when `texlogsieve` is reading from a pipe.
The defaults are reasonable; hopefully, you can just do
```
-[pdf|lua|xe]latex myfile.tex | texlogsieve
+[pdf|lua|xe]latex -interaction nonstopmode myfile.tex | texlogsieve
+```
+
+or
+
+```
+texlogsieve myfile.log
```
and be satisfied with the result.
@@ -40,94 +48,11 @@ too difficult.
If you want to know more about the TeX log file and the workings of
the program, check the initial comments in the code.
-## Short-term improvements
-
- * Create tests
-
- - Synthetic unit tests: these should systematically test the code and the
- features it implements with small "fake" log files
-
- - Real-world files (for example, the docs for some packages or some papers
- from arXiv): these should help us detect important log messages and
- changes in messages whenever new versions of LaTeX and its packages are
- released
-
- * Include the line number in the summary for messages that have it
-
- * Consider messages that only differ by "on line XXX" to be repetitions
-
- * Implement option `--collapse-lines` (show multiline messages as a single
- line)
-
- * Implement option `--no-redundant` (makes messages that are going to be
- summarized, such as `undefined reference blah`, not appear in the filtered
- report, only in the summary)
-
-## Other improvements
-
- * Improve the final summary format - we should look at other tools for
- inspiration
-
- * Filter the summary report too; look at `texloganalyser` for inspiration
-
- * Consider indicating filenames more prominently in the filtered report;
- something like
-
- Messages for file ./somefile.tex:
- LaTeX Warning: File `blah.txt' already exists on the system.
- Messages for file ./someotherfile.tex:
- Warning: Missing character: There is no " (U+0022) in font...
- but only when there is actually something to report for the given file
-
- * Do something smart about LaTeX errors (maybe just detecting them and saying
- "there was an error here" is enough) - maybe get some inspiration from
- <https://github.com/overleaf/latex-log-parser> (the parser from overleaf).
- This can get complicated if we account for the possibility that the user
- interactively solved whatever was the problem, but do we really want to or
- need to handle that?
-
- * Add colors (see `texlog_extract`)
-
- * Improve error handling if/where possible
-
- * Better aggregation in the summary:
-
- - `under/overfull boxes: p.5 (chap1.tex, L27); p.7 (chap2.tex, L37); p.19
- (chap2.tex, L176)`
-
- - `missing characters X, Y, Z in font blah`
-
- * Try to figure out a way to automatically extract possible messages from
- LaTeX packages
-
- * Stuff like
- `LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right`
- should trigger a specific "please rerun" message in the summary
-
- * Maybe grep the .fls file first before trying to do `kpse.find_file()`; this
- is probably more reliable and works even if the environment has changed,
- but can we be sure it works correctly when reading the logfile from a pipe?
-
-## Refactorings to consider:
-
- * Modify `heartbeat` to use `os.difftime()`
-
- * Improve Lines:
-
- - Eliminate `Lines.current` and instead always use `Lines.get(0)`,
- `Lines.get(1)` etc. We might store stuff in indexes 1, 2, 3 etc. and
- make something like `Lines:get(val) => return Lines[val +1]` (this is
- better than actually using index 0 because the lua standard library
- counts from one, so adhering to this convention makes using it easier)
-
- - Reimplement the logic using <https://www.lua.org/pil/11.4.html> for a
- small performance increase
-
---
Code etc: <https://gitlab.com/lago/texlogsieve>
-Copyright 2021 Nelson Lago <lago@ime.usp.br>
+Copyright (C) 2021, 2022 Nelson Lago <lago@ime.usp.br>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/support/texlogsieve/texlogsieve b/support/texlogsieve/texlogsieve
index 699bfa972d..590b182633 100755
--- a/support/texlogsieve/texlogsieve
+++ b/support/texlogsieve/texlogsieve
@@ -2,7 +2,7 @@
-- texlogsieve - filter and summarize LaTeX log files
--
--- Copyright (C) 2021 Nelson Lago <lago@ime.usp.br>
+-- Copyright (C) 2021, 2022 Nelson Lago <lago@ime.usp.br>
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
@@ -332,6 +332,7 @@ A simple handler:
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
local first, last = string.find(line, self.pattern)
if first == nil then return false
@@ -525,9 +526,9 @@ CRITICAL = 3
UNKNOWN = 4
function main(arg)
+ initializeKpse()
processCommandLine(arg)
initializeGlobals()
- initializeKpse()
registerHandlers()
registerSummaries()
convertFilterStringsToPatterns()
@@ -552,7 +553,7 @@ function moreData()
-- if there is remaining data from the previous iteration,
-- we leave everything as-is for it to be processed now
local tmp = Lines.current
- if tmp ~= nil and string.len(tmp) > 0 then return true end
+ if tmp ~= nil and tmp ~= "" then return true end
-- Refill the buffer. A simple experiment suggests 8 lines
-- is enough, but why not use a higher value?
@@ -562,7 +563,7 @@ function moreData()
-- We *need* to remove blank lines here because
-- sometimes a wrapped line is followed by a blank
-- line, which messes our detection of wrapped lines.
- if string.len(tmp) > 0 then Lines:append(tmp) end
+ if tmp ~= "" then Lines:append(tmp) end
end
-- proceed to the next line
@@ -655,22 +656,20 @@ function initializeGlobals()
-- map physicalPage (from numShipouts) to latexPage (LaTeX counter)
latexPages = {}
- -- After printing each message, the output coroutine stores them
- -- in currentPageMessages. When it receives a shipout message,
- -- it traverses currentPageMessages adding the page number it
- -- just learned about to each of the messages, calls :toSummary()
- -- for each of them and and clears currentPageMessages (we do this
- -- so the data in the summaries may include the page numbers). The
- -- objects representing the summary for each kind of message are
- -- stored in summaries, so after all messages we can just traverse
- -- this list calling :toString() and get all the summaries. The
- -- summaries table is populated by registerSummaries().
+ -- After printing each message, the output coroutine stores them in
+ -- currentPageMessages. When it receives a shipout message, it traverses
+ -- currentPageMessages adding the page number it just learned about to
+ -- each of the messages and clears currentPageMessages. This serves two
+ -- purposes: it allows us to include the page numbers in the summaries
+ -- and it allows us to include the page number in page-delay mode.
currentPageMessages = {}
- summaries = {}
- -- When the same message appears several times, we only output it
- -- once, thanks to this table. This is used by showMessage()
- alreadySeen = {}
+ -- The objects representing the summary for each kind of message are
+ -- stored in summaries, so after all messages are processed we can just
+ -- traverse this list calling :toString() and get all the summaries. The
+ -- summaries are also used to suppress repeated messages. This table is
+ -- populated by registerSummaries().
+ summaries = {}
-- All handlers should be in either of these. They are populated by
-- registerHandlers().
@@ -717,9 +716,11 @@ function registerHandlers()
table.insert(beginningOfLineHandlers, beginningOfLineDebugStringsHandler)
table.insert(beginningOfLineHandlers, beginningOfLineInfoStringsHandler)
table.insert(beginningOfLineHandlers, beginningOfLineWarningStringsHandler)
+ table.insert(beginningOfLineHandlers, beginningOfLineCriticalStringsHandler)
table.insert(anywhereHandlers, anywhereDebugStringsHandler)
table.insert(anywhereHandlers, anywhereInfoStringsHandler)
table.insert(anywhereHandlers, anywhereWarningStringsHandler)
+ table.insert(anywhereHandlers, anywhereCriticalStringsHandler)
table.insert(anywhereHandlers, openParensHandler)
table.insert(anywhereHandlers, closeParensHandler)
table.insert(anywhereHandlers, openSquareBracketHandler)
@@ -769,6 +770,34 @@ function convertFilterStringsToPatterns()
table.insert(tmp, pat)
end
SILENCE_PKGS = tmp
+
+ tmp = {}
+ for _, str in ipairs(FORCED_DEBUG) do
+ local pat = stringToPattern(str)
+ table.insert(tmp, pat)
+ end
+ FORCED_DEBUG = tmp
+
+ tmp = {}
+ for _, str in ipairs(FORCED_INFO) do
+ local pat = stringToPattern(str)
+ table.insert(tmp, pat)
+ end
+ FORCED_INFO = tmp
+
+ tmp = {}
+ for _, str in ipairs(FORCED_WARNING) do
+ local pat = stringToPattern(str)
+ table.insert(tmp, pat)
+ end
+ FORCED_WARNING = tmp
+
+ tmp = {}
+ for _, str in ipairs(FORCED_CRITICAL) do
+ local pat = stringToPattern(str)
+ table.insert(tmp, pat)
+ end
+ FORCED_CRITICAL = tmp
end
function processCommandLine(args)
@@ -780,12 +809,19 @@ function processCommandLine(args)
RAW = false
SILENCE_REPETITIONS = true
MINLEVEL = WARNING
+ BE_REDUNDANT = false
+ DETAILED_UNDEROVER_SUMMARY = true
SILENCE_STRINGS = {}
SILENCE_PKGS = {} -- just the package names
SEMISILENCE_FILES = {} -- filenames (without leading path), file globs work
SILENCE_FILES_RECURSIVE = {} -- same
+ -- The user may redefine the severity level of some messages.
+ FORCED_DEBUG = {}
+ FORCED_INFO = {}
+ FORCED_WARNING = {}
+ FORCED_CRITICAL = {}
-- "-l level -c configFile"
local optionsWithArgs = "lc"
@@ -806,6 +842,10 @@ Options:
--only-summary no filtering, only final summary
--shipouts, --no-shipouts enable/disable reporting shipouts
--repetitions, --no-repetitions allow/prevent repeated messages
+ --be-redundant, --no-be-redundant present/suppress ordinary messages
+ that will also appear in the summary
+ --box-detail, --no-box-detail include/exclude full under/overfull
+ boxes information in the summary
--heartbeat, --no-heartbeat enable/disable progress gauge
-l LEVEL, --minlevel=LEVEL filter out messages with severity
level lower than [LEVEL]. Valid
@@ -825,6 +865,19 @@ Options:
--add-debug-message=MESSAGE add new recognizable debug message
--add-info-message=MESSAGE add new recognizable info message
--add-warning-message=MESSAGE add new recognizable warning message
+ --add-critical-message=MESSAGE add new recognizable critical message
+ --set-to-level-debug=EXCERPT reset severity of messages containing
+ text EXCERPT to DEBUG; can be used
+ multiple times
+ --set-to-level-info=EXCERPT reset severity of messages containing
+ text EXCERPT to INFO; can be used
+ multiple times
+ --set-to-level-warning=EXCERPT reset severity of messages containing
+ text EXCERPT to WARNING; can be used
+ multiple times
+ --set-to-level-critical=EXCERPT reset severity of messages containing
+ text EXCERPT to CRITICAL; can be used
+ multiple times
-c cfgfile, --config-file=cfgfile read options from config file
-h, --help give this help list
--version print program version]]
@@ -835,8 +888,8 @@ Options:
--version
if vars.version then
- print("texlogsieve 1.0.0-beta-1")
- print("Copyright (C) 2021 Nelson Lago <lago@ime.usp.br>")
+ print("texlogsieve 1.0.0-beta-2")
+ print("Copyright (C) 2021, 2022 Nelson Lago <lago@ime.usp.br>")
print("License GPLv3+: GNU GPL version 3 or later "
.. "<https://gnu.org/licenses/gpl.html>.")
print("This is free software: you are free to change "
@@ -847,29 +900,22 @@ Options:
--config-file=file
-- "-c file"
- local configFileName
- if vars['config-file'] ~= nil then configFileName = vars['config-file'] end
- if vars.c ~= nil then configFileName = vars.c end
- if configFileName ~= nil then
- configFileName = configFileName[1]
- local filevars = processConfigFile(configFileName)
-
- -- merge filevars with vars; vars has precedence
- for k, v in pairs(vars) do
- if type(v) == "boolean" then
- filevars[k] = v
- elseif filevars[k] == nil then
- filevars[k] = v
- else
- -- the value is a table, so append
- for _, item in ipairs(v) do
- table.insert(filevars[k], item)
- end
- end
+ local configFileNames = vars['config-file']
+ if configFileNames == nil then configFileNames = {} end
+
+ if vars.c ~= nil then
+ for _, val in ipairs(vars.c) do
+ table.insert(configFileNames, val)
end
+ end
- -- use the merged values
- vars = filevars
+ -- Add the default config file to the beginning of the list
+ local filename = kpse.find_file('texlogsieverc')
+ if filename ~= nil then table.insert(configFileNames, 1, filename) end
+
+ for _, filename in ipairs(configFileNames) do
+ local configFile = assert(io.open(filename, "r"))
+ vars = processConfigFile(configFile, vars)
end
--unwrap-only
@@ -881,6 +927,7 @@ Options:
PAGE_DELAY = false
SHOW_SHIPOUTS = true
SILENCE_REPETITIONS = false
+ BE_REDUNDANT = true
MINLEVEL = DEBUG
end
@@ -904,6 +951,7 @@ Options:
if vars['no-summary'] or vars.summary ~= nil and not vars.summary then
SHOW_SUMMARY = false
SILENCE_REPETITIONS = false
+ BE_REDUNDANT = true
end
if vars.summary then SHOW_SUMMARY = true end
@@ -941,6 +989,28 @@ Options:
end
if vars.repetitions then SILENCE_REPETITIONS = false end
+ --be-redundant
+ --no-be-redundant
+ --be-redundant=true/false
+ if vars['no-be-redundant']
+ or vars['be-redundant'] ~= nil
+ and not vars['be-redundant'] then
+
+ BE_REDUNDANT = false
+ end
+ if vars['be-redundant'] then BE_REDUNDANT = true end
+
+ --box-detail
+ --no-box-detail
+ --box-detail=true/false
+ if vars['no-box-detail']
+ or vars['box-detail'] ~= nil
+ and not vars['box-detail'] then
+
+ DETAILED_UNDEROVER_SUMMARY = false
+ end
+ if vars['box-detail'] then DETAILED_UNDEROVER_SUMMARY = true end
+
--no-heartbeat
--heartbeat
--heartbeat=true/false
@@ -969,7 +1039,7 @@ Options:
for _, msg in ipairs(vars['add-debug-message']) do
local pat = stringToPattern(msg)
if not string.find(pat, '^', 1, true) then pat = '^%s*' .. pat end
- pat = string.gsub(pat, '\\n', '\n')
+ pat = string.gsub(pat, '\\n', '%%s*\n')
table.insert(anywhereDebugStringsHandler.patterns, pat)
end
end
@@ -978,8 +1048,8 @@ Options:
for _, msg in ipairs(vars['add-info-message']) do
local pat = stringToPattern(msg)
if not string.find(pat, '^', 1, true) then pat = '^%s*' .. pat end
- pat = string.gsub(pat, '\\n', '\n')
- table.insert(anywhereInfoStringsHandler.patterns, msg)
+ pat = string.gsub(pat, '\\n', '%%s*\n')
+ table.insert(anywhereInfoStringsHandler.patterns, pat)
end
end
@@ -987,39 +1057,79 @@ Options:
for _, msg in ipairs(vars['add-warning-message']) do
local pat = stringToPattern(msg)
if not string.find(pat, '^', 1, true) then pat = '^%s*' .. pat end
- pat = string.gsub(pat, '\\n', '\n')
- table.insert(anywhereWarningStringsHandler.patterns, msg)
+ pat = string.gsub(pat, '\\n', '%%s*\n')
+ table.insert(anywhereWarningStringsHandler.patterns, pat)
end
end
-end
-function processConfigFile(filename)
- configfile = assert(io.open(filename, "r"))
- local fileOptions = {}
+ if vars['add-critical-message'] then
+ for _, msg in ipairs(vars['add-critical-message']) do
+ local pat = stringToPattern(msg)
+ if not string.find(pat, '^', 1, true) then pat = '^%s*' .. pat end
+ pat = string.gsub(pat, '\\n', '%%s*\n')
+ table.insert(anywhereCriticalStringsHandler.patterns, pat)
+ end
+ end
- while true do
- local line = configfile:read("*line")
- if line == nil then break end
- line = trim(line)
- local first = string.find(line, '^#')
- if first == nil and string.len(line) > 0 then
+ if vars['set-to-level-debug'] then
+ FORCED_DEBUG = vars['set-to-level-debug']
+ end
- local equals = string.find(line, '=', 1, true)
- if equals ~= nil then
- optname = string.sub(line, 1, equals -1)
- optval = string.sub(line, equals +1)
- optname = trim(optname)
- optval = trim(optval)
- else
- optname = line
- optval = true
+ if vars['set-to-level-info'] then
+ FORCED_INFO = vars['set-to-level-info']
+ end
+
+ if vars['set-to-level-warning'] then
+ FORCED_WARNING = vars['set-to-level-warning']
+ end
+
+ if vars['set-to-level-critical'] then
+ FORCED_CRITICAL = vars['set-to-level-critical']
+ end
+end
+
+function processConfigFile(configFile, currentVars)
+ local fileVars = {}
+
+ while true do
+ local line = configFile:read("*line")
+ if line == nil then break end
+
+ line = trim(line)
+ local first = string.find(line, '^#')
+
+ if first == nil and line ~= "" then
+ local equals = string.find(line, '=', 1, true)
+ if equals ~= nil then
+ optname = string.sub(line, 1, equals -1)
+ optval = string.sub(line, equals +1)
+ optname = trim(optname)
+ optval = trim(optval)
+ else
+ optname = line
+ optval = true
+ end
+ simpleGetoptStoreVal(fileVars, optname, optval)
+ end
+ end
+
+ -- merge fileVars with currentVars; currentVars has precedence
+ for k, v in pairs(currentVars) do
+ if type(v) == "boolean" then
+ fileVars[k] = v
+ elseif fileVars[k] == nil then
+ fileVars[k] = v
+ else
+ -- the value is a table, so append
+ for _, item in ipairs(v) do
+ table.insert(fileVars[k], item)
end
- simpleGetoptStoreVal(fileOptions, optname, optval)
end
end
- return fileOptions
+ -- return the merged values
+ return fileVars
end
@@ -1039,7 +1149,107 @@ outputCoroutine = coroutine.create(
dispatch = function(msg) coroutine.resume(outputCoroutine, msg) end
+function adjustSeverity(msg)
+ formatted = trim(msg:realToString())
+ if formatted == "" then return end
+
+ DEFAULT_FORCED_INFO = {
+ "File %b`' already exists on the system%."
+ .. "%s*Not generating it from",
+ "You have requested package %b`',"
+ .. "%s*but the package provides",
+ "Writing file %b`'",
+ "Form Feed has been converted to Blank",
+ "Tab has been converted to Blank",
+ "The morewrites package is unnecessary",
+ 'Unused \\captionsetup%b[]',
+ }
+
+ DEFAULT_FORCED_CRITICAL = {
+ "Label %b`' multiply defined",
+ "Command .- invalid in math mode",
+ "Optional argument of \\twocolumn too tall on page",
+ "Marginpar on page %S- moved",
+ "Some font shapes were not available, defaults substituted%.",
+ "Font shape %b`' in size %b<> not available"
+ .. "%s+Font shape %b`' tried instead",
+ "Font shape %b`' in size %S+ not available"
+ .. "%s+external font %b`' used",
+ "Font shape %b`' undefined"
+ .. "%s+using %b`' instead",
+ }
+
+
+ -- We do things this way so that user-defined strings override these
+ -- defaults (note that there is no "return" in the first two blocks)
+ if msg.severity ~= INFO then
+ for _, val in ipairs(DEFAULT_FORCED_INFO) do
+ local first = string.find(formatted, val)
+ local other = string.find(msg.content, val)
+ if first ~= nil or other ~= nil then
+ msg.severity = INFO
+ end
+ end
+ end
+
+ if msg.severity ~= CRITICAL then
+ for _, val in ipairs(DEFAULT_FORCED_CRITICAL) do
+ local first = string.find(formatted, val)
+ local other = string.find(msg.content, val)
+ if first ~= nil or other ~= nil then
+ msg.severity = CRITICAL
+ end
+ end
+ end
+
+ if msg.severity ~= DEBUG then
+ for _, val in ipairs(FORCED_DEBUG) do
+ local first = string.find(formatted, val)
+ local other = string.find(msg.content, val)
+ if first ~= nil or other ~= nil then
+ msg.severity = DEBUG
+ return
+ end
+ end
+ end
+
+ if msg.severity ~= INFO then
+ for _, val in ipairs(FORCED_INFO) do
+ local first = string.find(formatted, val)
+ local other = string.find(msg.content, val)
+ if first ~= nil or other ~= nil then
+ msg.severity = INFO
+ return
+ end
+ end
+ end
+
+ if msg.severity ~= WARNING then
+ for _, val in ipairs(FORCED_WARNING) do
+ local first = string.find(formatted, val)
+ local other = string.find(msg.content, val)
+ if first ~= nil or other ~= nil then
+ msg.severity = WARNING
+ return
+ end
+ end
+ end
+
+ if msg.severity ~= CRITICAL then
+ for _, val in ipairs(FORCED_CRITICAL) do
+ local first = string.find(formatted, val)
+ local other = string.find(msg.content, val)
+ if first ~= nil or other ~= nil then
+ msg.severity = CRITICAL
+ return
+ end
+ end
+ end
+end
+
function processMessage(msg)
+ adjustSeverity(msg)
+
if ONLY_SUMMARY or PAGE_DELAY then
heartbeat:tick()
else
@@ -1054,7 +1264,9 @@ function processMessage(msg)
for _, tmp in ipairs(currentPageMessages) do
tmp.physicalPage = msg.physicalPage
- tmp:toSummary()
+ -- normally, toSummary() is called by showMessage(),
+ -- but with ONLY_SUMMARY that is never called
+ if ONLY_SUMMARY then tmp:toSummary() end
end
if PAGE_DELAY and not ONLY_SUMMARY then
@@ -1069,52 +1281,42 @@ function finishProcessingMessages()
heartbeat:stop()
-- messages after the last shipout
- if PAGE_DELAY and not ONLY_SUMMARY then
- print("")
- print("After last page:")
- print("")
- showPageMessages()
- end
+ if PAGE_DELAY and not ONLY_SUMMARY then showRemainingMessages() end
- -- now, the summaries
if SHOW_SUMMARY then showSummary() end
end
function showMessage(msg)
local formatted = msg:toString()
- if string.len(trim(formatted)) == 0 then return end
-
- if RAW then
- for _, line in ipairs(linesToTable(formatted)) do print(line) end
- return
- end
-
- local pageinfo = ""
- if msg.physicalPage ~= nil then
- pageinfo = 'pg ' .. msg.physicalPage .. ': '
- end
- local spaces = string.rep(" ", string.len(pageinfo))
-
- if not SILENCE_REPETITIONS then
- local lines = linesToTable(formatted)
- for _, line in ipairs(lines) do
- print(pageinfo .. line)
- pageinfo = spaces
+ if trim(formatted) ~= "" then
+ local pageinfo = ""
+ local spaces = ""
+ if not RAW and msg.physicalPage ~= nil then
+ pageinfo = 'pg ' .. msg.physicalPage .. ': '
+ spaces = string.rep(" ", string.len(pageinfo))
end
- return
- end
+ -- A message is a repetition if it has
+ -- already been included in some summary
+ local alreadySeen = false
+ if SILENCE_REPETITIONS then
+ for _, summary in ipairs(summaries) do
+ if summary:alreadySeen(msg) then
+ alreadySeen = true
+ break
+ end
+ end
+ end
- if alreadySeen[formatted] == nil then
- alreadySeen[formatted] = {msg}
- local lines = linesToTable(formatted)
- for _, line in ipairs(lines) do
- print(pageinfo .. line)
- pageinfo = spaces
+ if not SILENCE_REPETITIONS or not alreadySeen then
+ for _, line in ipairs(linesToTable(formatted)) do
+ print(pageinfo .. line)
+ pageinfo = spaces
+ end
end
- else
- table.insert(alreadySeen[formatted], msg)
end
+
+ msg:toSummary()
end
function showPageMessages()
@@ -1123,13 +1325,43 @@ function showPageMessages()
end
end
+function showRemainingMessages()
+ local thereIsSomething = false
+ for _, msg in ipairs(currentPageMessages) do
+ if trim(msg:toString()) ~= "" then
+ thereIsSomething = true
+ break
+ end
+ end
+
+ if thereIsSomething then
+ print("")
+ print("After last page:")
+ print("")
+ end
+
+ -- we always call this, even if there is nothing to show,
+ -- because it calls :toSummary() for each message
+ showPageMessages()
+end
+
function showSummary()
- if not ONLY_SUMMARY then for i = 1, 5 do print("") end end
+ local thereIsSomething = false
+ for _, summary in ipairs(summaries) do
+ if trim(summary:toString()) ~= "" then
+ thereIsSomething = true
+ break
+ end
+ end
+
+ if not thereIsSomething then return end
+
+ if not ONLY_SUMMARY then for i = 1, 3 do print("") end end
for _, summary in ipairs(summaries) do
local formatted = summary:toString()
local prefix = ""
- if string.len(trim(formatted)) > 0 then
+ if trim(formatted) ~= "" then
for _, line in ipairs(linesToTable(formatted)) do
print(prefix .. line)
prefix = ' '
@@ -1244,6 +1476,7 @@ function epilogueHandler:canDoit(position)
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
-- This appears in the logfile but not on stdout
local _, last = string.find(line, "^Here is how much")
@@ -1324,6 +1557,7 @@ function underOverFullBoxHandler:canDoit(position)
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
local basePattern = "^([UO][nv][de][e]?r)full \\(.)box (%b())"
local first, last, underover,
@@ -1487,6 +1721,8 @@ function stringsHandler:handleFirstLine()
self.message = self:newMessage()
self.message.severity = self.severity
+ -- ignore leading spaces in the first line (in the others,
+ -- they may be indentation or somehow relevant)
local _, last = string.find(Lines.current, '^%s+')
if last ~= nil then Lines:handledChars(last) end
@@ -1524,11 +1760,13 @@ function stringsHandler:handleLines()
return true
end
+ -- trailing spaces in any line in this kind of messsage
+ -- are safe to ignore and may appear in \message's
+ local chunk = trimRight(string.sub(Lines.current, 1, last))
if self.patternLineNumber == 1 then
- self.message.content = string.sub(Lines.current, 1, last)
+ self.message.content = chunk
else
- self.message.content = self.message.content .. '\n'
- .. string.sub(Lines.current, 1, last)
+ self.message.content = self.message.content .. '\n' .. chunk
end
Lines:handledChars(last)
@@ -1575,6 +1813,7 @@ function stringsHandler:canDoitRecursive(patternLines,
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
-- skip what was processed in a previous iteration/recursion
if offset > 0 then line = string.sub(line, offset +1) end
@@ -1672,7 +1911,6 @@ beginningOfLineDebugStringsHandler.patterns = {
'^%s*restricted \\write18 enabled%.',
'^%s*%%%&%-line parsing enabled%.',
'^%*%*[%w%.]+', -- "**jobname"
- '^file:line:error style messages enabled%.',
'^\\[^%s=]+=[^%s=]+', -- "\c@chapter=\count174"
"^\\openout%d+%s*=%s*`?[^']+'?%.?",
@@ -1713,9 +1951,6 @@ beginningOfLineDebugStringsHandler.patterns = {
"^Loading configuration file `" .. filepat .. "'%.",
"^contour: Using driver file `" .. filepat .. "'%.",
- '^ABD: EverySelectfont initializing macros',
- '^ABD: EveryShipout initializing macros',
-
'^%[Loading MPS to PDF converter %(version ' .. datepat .. '%)%.%]',
@@ -1769,8 +2004,9 @@ beginningOfLineDebugStringsHandler.patterns = {
'^Lua module: luaotfload%-multiscript ' .. datepat
.. ' [%d%.]+ luaotfload submodule / multiscript',
- '^' .. string.rep('%*', 37) .. '\n%* Using libertinus math %*\n'
- .. string.rep('%*', 37),
+ '^' .. string.rep('%*', 37) .. '\n'
+ .. '%* Using libertinus math %*\n'
+ .. string.rep('%*', 37),
'^`inconsolata%-zi4\' v%S-, ' .. datepat
.. ' Text macros for Inconsolata %(msharpe%)',
@@ -1789,6 +2025,13 @@ anywhereDebugStringsHandler.patterns = {
'^%s*L3 programming layer %b<> xparse %b<>',
'^%s*%{.*pdftex%.map%}',
+ '^%s*ABD: EverySelectfont initializing macros',
+ '^%s*ABD: EveryShipout initializing macros',
+
+ '^%s*' .. string.rep('%*', 65) .. '%s*\n'
+ .. 'GFS%-Solomos style file by A%. Tsolomitis%s*\n'
+ .. string.rep('%*', 65),
+
-- <blah.jpg, id=555, [...,] 722.7pt x 722.7pt>
'^%s*%<' .. filepat .. ', id=.- [%d%.]+pt x [%d%.]+pt%>',
'^%s*%<use ' .. filepat .. '%>', -- <use blah.jpg>
@@ -1803,10 +2046,11 @@ beginningOfLineInfoStringsHandler = stringsHandler:new()
beginningOfLineInfoStringsHandler.severity = INFO
beginningOfLineInfoStringsHandler.patterns = {
"^Writing index file.*%.idx",
+ "^Writing glossary file.*%.glo",
"^%*geometry%* driver:.*",
"^%*geometry%* detected driver:.*",
"^Driver file for pgf:.*%.def",
- "^%s*file:line:error style messages enabled",
+ "^%s*file:line:error style messages enabled%.",
"^Applying: %b[] float order in 2%-column on input line .-%.",
"^Already applied: %b[] float order in 2%-column on input line .-%.",
"^\\%S+ = a dialect from .*",
@@ -1814,6 +2058,7 @@ beginningOfLineInfoStringsHandler.patterns = {
"^No file .-%.aux%.",
"^No file .-%.ind%.",
"^No file .-%.bbl%.",
+ "^No file .-%.gls%.",
"^reledmac reminder:%s*\n"
.. "%s*The number of the footnotes in this section "
.. "has changed since the last run.\n"
@@ -1864,7 +2109,7 @@ beginningOfLineWarningStringsHandler.patterns = {
'^luaotfload | aux : no font with id %d+',
"^warning %(pdf backend%): ignoring duplicate destination "
- .. "with the name '%-%.'",
+ .. "with the name '.-'",
"^Couldn't patch \\%S+",
"^Invalid UTF%-8 byte or sequence at line %d+ replaced by U%+FFFD%.",
@@ -1884,6 +2129,29 @@ anywhereWarningStringsHandler.patterns = {
}
+-- We know these messages always start at the beginning of a line
+-- Always start these patterns with "^", see lookahead().
+-- Order matters! The first match wins, so the longer ones should come first.
+beginningOfLineCriticalStringsHandler = stringsHandler:new()
+beginningOfLineCriticalStringsHandler.severity = CRITICAL
+beginningOfLineCriticalStringsHandler.patterns = {
+ "^The control sequence at the end of the top line\n"
+ .. "of your error message was never \\def'ed%. If you have\n"
+ .. "misspelled it %(e%.g%., `\\hobx'%), type `I' and the correct\n"
+ .. "spelling %(e%.g%., `I\\hbox'%)%. Otherwise just continue,\n"
+ .. "and I'll forget about whatever was undefined%.",
+}
+
+
+-- These messages may start anywhere in a line
+-- Always start these patterns with "^%s*", see lookahead().
+-- Order matters! The first match wins, so the longer ones should come first.
+anywhereCriticalStringsHandler = stringsHandler:new()
+anywhereCriticalStringsHandler.severity = CRITICAL
+anywhereCriticalStringsHandler.patterns = {
+}
+
+
-------------------------------------------------------------------------------
-- missingCharHandler
-- (from stringsHandler)
@@ -1938,6 +2206,7 @@ function genericLatexHandler:canDoit(position)
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
local last, data
@@ -1966,10 +2235,12 @@ function genericLatexHandler:unpackData(data)
self.message.what = what
self.message.name = name
self.message.severity = self:parseSeverity(severity)
- self.message.content = Lines.current
self:findPrefix(last, name, what)
self.message.prefix = self.prefix
+
+ self:unwrapLines()
+ self.message.content = Lines.current
end
function genericLatexHandler:handleFirstLine()
@@ -1977,7 +2248,6 @@ function genericLatexHandler:handleFirstLine()
if not myTurn then return false end
flushUnrecognizedMessages()
- self:unwrapLines()
-- erase any previous values; nil is not a good idea! If one of these
-- is nil in a derived object, the object may grab the value of the
@@ -2017,7 +2287,6 @@ function genericLatexHandler:handleOtherLines()
if self.linenum ~= "" then
self.message.linenum = self.linenum
end
- self:adjustSeverity()
dispatch(self.message)
end
@@ -2089,54 +2358,6 @@ function genericLatexHandler:unwrapLines()
end
end
--- LaTeX only uses severity "INFO" and "WARNING", which
--- is very limited. Let's demote some warnings to INFO
--- and promote some others to CRITICAL.
-function genericLatexHandler:adjustSeverity()
- for _, pat in ipairs(self.downgradePatterns) do
- local first = string.find(self.message.content, pat)
- if first ~= nil then
- self.message.severity = INFO
- break
- end
- end
-
- for _, pat in ipairs(self.upgradePatterns) do
- local first = string.find(self.message.content, pat)
- if first ~= nil then
- self.message.severity = CRITICAL
- break
- end
- end
-end
-
-genericLatexHandler.downgradePatterns = {
- -- No need to include the full message
- "File %b`' already exists on the system%."
- .. "%s*Not generating it from",
- "You have requested package %b`',"
- .. "%s*but the package provides",
- "Writing file %b`'",
- "Form Feed has been converted to Blank",
- "Tab has been converted to Blank",
- "The morewrites package is unnecessary",
- 'Unused \\captionsetup%b[]',
-}
-
-genericLatexHandler.upgradePatterns = {
- "Label %b`' multiply defined",
- "Command .- invalid in math mode",
- "Optional argument of \\twocolumn too tall on page",
- "Marginpar on page %S- moved",
- "Some font shapes were not available, defaults substituted%.",
- "Font shape %b`' in size %b<> not available"
- .. "%s+Font shape %b`' tried instead",
- "Font shape %b`' in size %S+ not available"
- .. "%s+external font %b`' used",
- "Font shape %b`' undefined"
- .. "%s+using %b`' instead",
-}
-
-------------------------------------------------------------------------------
-- latex23MessageHandler
@@ -2160,7 +2381,6 @@ function latex23MessageHandler:unpackData(data)
local severity = data[3]
self.message.severity = self:parseSeverity(severity)
self.message.what = what
- self.message.content = Lines.current
local name
-- When the message looks like "LaTeX...", there is no package
@@ -2169,6 +2389,9 @@ function latex23MessageHandler:unpackData(data)
self:findPrefix(last, name, what)
self.message.prefix = self.prefix
+
+ self:unwrapLines()
+ self.message.content = Lines.current
end
genericLatexVariantHandler = genericLatexHandler:new()
@@ -2186,10 +2409,12 @@ function genericLatexVariantHandler:unpackData(data)
self.message.what = what
self.message.name = name
self.message.severity = self:parseSeverity(severity)
- self.message.content = Lines.current
self:findPrefix(last, name, what)
self.message.prefix = self.prefix
+
+ self:unwrapLines()
+ self.message.content = Lines.current
end
@@ -2206,8 +2431,8 @@ end
citationHandler = genericLatexHandler:new()
citationHandler.patterns = {
- "^(LaTeX)%s+(Warning): (Citation) (%b`') on page (.-) undefined",
- "^(LaTeX)%s+(Warning): (Citation) (%b`') undefined",
+ "^(LaTeX)%s+(Warning): (Citation) ('.-') on page (.-) undefined",
+ "^(LaTeX)%s+(Warning): (Citation) ('.-') undefined",
}
function citationHandler:unpackData(data)
@@ -2223,9 +2448,11 @@ function citationHandler:unpackData(data)
self.message.severity = self:parseSeverity(severity)
self.message.key = key
self.message.page = page
- self.message.content = Lines.current
self:findPrefix(last, nil, what)
self.message.prefix = self.prefix
+
+ self:unwrapLines()
+ self.message.content = Lines.current
end
function citationHandler:newMessage()
@@ -2287,13 +2514,15 @@ function providesHandler:unpackData(data)
self.message.what = what
self.message.name = name
- self.message.content = Lines.current
-- There are no continuation lines of this kind for
-- these messages, but the generic code still wants
-- to check for the prefix.
self.prefix = '[^%s%S]+' -- nothing matches
+ self:unwrapLines()
+ self.message.content = Lines.current
+
if not Lines:empty() then
local first = string.find(Lines:get(1), 'with kernel methods')
if first ~= nil then
@@ -2326,9 +2555,11 @@ geometryDetailsHandler.patterns = {
function geometryDetailsHandler:unpackData(data)
self.message.name = 'geometry'
- self.message.content = Lines.current
self.prefix = '* '
self.message.prefix = self.prefix
+
+ self:unwrapLines()
+ self.message.content = Lines.current
end
-------------------------------------------------------------------------------
@@ -2380,6 +2611,7 @@ function openParensHandler:canDoit(position)
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
local first, last = string.find(line, self.pattern)
if first == nil then return false, {} end
@@ -2434,6 +2666,7 @@ function closeParensHandler:canDoit(position)
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
local first = string.find(line, self.pattern)
if first == nil then return false, {} end
@@ -2476,6 +2709,7 @@ function openSquareBracketHandler:canDoit(position)
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
local first, last = string.find(line, self.pattern)
if first == nil then return false, {} end
@@ -2529,6 +2763,7 @@ function closeSquareBracketHandler:canDoit(position)
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
local first = string.find(line, self.pattern)
if first == nil then return false, {} end
@@ -2603,6 +2838,7 @@ function utf8FontMapHandler:canDoit(position)
local line
if position == nil then position = 0 end
line = Lines:get(position)
+ if line == nil then return false, {} end
local first, encoding
if self.doit == self.handleFirstLine then
@@ -2757,12 +2993,22 @@ end
Message.severity = UNKNOWN
-function Message:toString()
- if self.mute then return "" end
+function Message:toString(noSilence)
+ -- noSilence may be useful when generating summaries
+ if noSilence then
+ local formatted = self:realToString()
+ if trim(formatted) == "" then return "" else return formatted end
+ end
-- If we've already been here, just output the previous result
if self.formatted ~= nil then return self.formatted end
+ if self.mute then self.formatted = "" return "" end
+
+ if self.severity < MINLEVEL then self.formatted = "" return "" end
+
+ if self:redundant() then self.formatted = "" return "" end
+
self.formatted = self:realToString()
if trim(self.formatted) == "" then self.formatted = "" return "" end
@@ -2778,8 +3024,6 @@ function Message:toString()
end
end
- if self.severity < MINLEVEL then self.formatted = "" return "" end
-
return self.formatted
end
@@ -2794,9 +3038,19 @@ function Message:realToString()
return msg
end
+function Message:redundant()
+ return false
+end
+
function Message:toSummary()
local formatted = self:toString()
- if string.len(trim(formatted)) == 0 then return end
+ if trim(formatted) == "" then return end
+
+ -- In the rare event that one of these is sent out as
+ -- an unrecognizedMessage with no other text, allow for
+ -- repetitions
+ local first = string.find(trim(formatted), '^[%(%)%[%]]$')
+ if first ~= nil then return end
repetitionsSummary:add(self)
end
@@ -2865,6 +3119,10 @@ function openFileMessage:realToString()
return Message.realToString(self)
end
+-- We never want to suppress these repetitions
+function openFileMessage:toSummary()
+end
+
closeFileMessage = Message:new()
function closeFileMessage:realToString()
@@ -2873,9 +3131,18 @@ function closeFileMessage:realToString()
return Message.realToString(self)
end
+-- We never want to suppress these repetitions
+function closeFileMessage:toSummary()
+end
+
underOverMessage = Message:new()
underOverMessage.severity = WARNING
+
+function underOverMessage:redundant()
+ return not BE_REDUNDANT
+end
+
function underOverMessage:realToString()
local tmp = self.content
if self.failedText ~= nil then
@@ -2898,6 +3165,10 @@ end
missingCharMessage = Message:new()
+function missingCharMessage:redundant()
+ return not BE_REDUNDANT
+end
+
-- This is a hack: it would be too painful to define
-- pattern captures in the handler, so we do this here
function missingCharMessage:realToString()
@@ -2915,16 +3186,23 @@ end
citationMessage = Message:new()
+
+function citationMessage:redundant()
+ return not BE_REDUNDANT
+end
+
function citationMessage:toSummary()
citationsSummary:add(self)
end
-referenceMessage = Message:new()
+referenceMessage = citationMessage:new()
+
function referenceMessage:toSummary()
referencesSummary:add(self)
end
-labelMessage = Message:new()
+labelMessage = citationMessage:new()
+
function labelMessage:toSummary()
labelsSummary:add(self)
end
@@ -2955,6 +3233,7 @@ end
function SummaryPrototype:add(msg)
-- group messages by message content
local formatted = msg:toString()
+ if trim(formatted) == "" then return end
if self.messages[formatted] == nil then
self.messages[formatted] = {}
@@ -2963,6 +3242,12 @@ function SummaryPrototype:add(msg)
table.insert(self.messages[formatted], msg)
end
+function SummaryPrototype:alreadySeen(msg)
+ local formatted = msg:toString()
+ if trim(formatted) == "" then return false end
+ return self.messages[formatted] ~= nil
+end
+
function SummaryPrototype:toString()
-- check if the table is empty - https://stackoverflow.com/a/1252776
if next(self.messages) == nil then return "" end
@@ -3008,7 +3293,9 @@ function SummaryPrototype:pageAndFileList(messages)
local pages = {}
local files = {}
for _, msg in ipairs(messages) do
- pages[msg.physicalPage] = true
+ if msg.physicalPage ~= nil then
+ pages[msg.physicalPage] = true
+ end
if msg.filename ~= nil then
files[msg.filename] = true
end
@@ -3065,12 +3352,23 @@ function repetitionsSummary:processSingleMessageList(messages)
local text = ""
if #messages > 1 then
local pages, files = self:pageAndFileList(messages)
+
+ local where
+ if pages ~= "" and files ~= "" then
+ where = 'in pages ' .. pages .. ' (files ' .. files .. ') - '
+ elseif pages == "" and files ~= "" then
+ where = 'in files ' .. files .. ' - '
+ elseif pages ~= "" and files == "" then
+ where = 'in pages ' .. pages .. ' - '
+ end
+
local content = messages[1]:toString()
+ if trim(content) ~= "" then
- text = content .. '\n'
- .. 'in pages ' .. pages
- .. " (files " .. files .. ") - "
- .. #messages .. ' repetitions'
+ text = content .. '\n'
+ .. where
+ .. #messages .. ' repetitions'
+ end
end
return text
@@ -3101,6 +3399,7 @@ function citationsSummary:add(msg)
-- here because some messages may include the page number, making
-- messages that are otherwise the same appear to be different.
local key = msg.key
+ if key == "" then key = '???' end
if self.messages[key] == nil then
self.messages[key] = {}
@@ -3109,10 +3408,18 @@ function citationsSummary:add(msg)
table.insert(self.messages[key], msg)
end
+function citationsSummary:alreadySeen(msg)
+ local key = msg.key
+ if key == "" then key = '???' end
+
+ return self.messages[key] ~= nil
+end
+
function citationsSummary:processSingleMessageList(messages)
local text = ""
local pages, files = self:pageAndFileList(messages)
local key = messages[1].key
+ if key == "" then key = '???' end
text = key .. '\n'
.. 'in pages ' .. pages .. " (files " .. files .. ")"
@@ -3144,8 +3451,18 @@ function underOverSummary:toString()
local pages, files = self:pageAndFileList(self.messages)
- return "Under/overfull boxes in pages "
+ if DETAILED_UNDEROVER_SUMMARY then
+ local output = "Under/overfull boxes:"
+ for _, msg in ipairs(self.messages) do
+ output = output .. '\npage ' .. msg.physicalPage
+ .. ' (file ' .. msg.filename .. '):\n'
+ output = output .. msg:toString(true)
+ end
+ return output
+ else
+ return "Under/overfull boxes in pages "
.. pages .. " (files " .. files .. ")"
+ end
end
@@ -3185,6 +3502,8 @@ end
function trim(s) return (string.gsub(s, '^%s*(.-)%s*$', '%1')) end
+function trimRight(s) return (string.gsub(s, '^(.-)%s*$', '%1')) end
+
function stringToPattern(s)
local first, _ = string.find(s, '^////')
local pat
@@ -3204,14 +3523,14 @@ function linesToTable(s)
local size = string.len(s)
local i = 1
local lines = {}
- while i < size do
+ while i <= size do
-- check \r in case the user added to this file a pattern
-- with an embedded dos-style "CR LF" sequence.
local first, last, line = string.find(s, '(.-)[\r]?\n', i)
if first == nil then
table.insert(lines, string.sub(s, i))
- i = size
+ i = size +1
else
table.insert(lines, line)
i = last +1
@@ -3824,6 +4143,9 @@ function unwrapUntilPatternMatches(pat)
-- but it saves us from problems with a couple of messages that use
-- "filepat" at the end of the pattern.
+ -- Nothing to do if the next line does not exist
+ if Lines:get(1) == nil then return last, matches end
+
-- these might fit in 2 chars, so do not consider lines with that
local realMessage = string.find(Lines:get(1), '[%)%[%]]')
if string.len(Lines:get(1)) < 3 and not realMessage then
@@ -3915,6 +4237,17 @@ function guessShipoutPage(position)
local _, last = string.find(line, '^%s*%[')
if last ~= nil then line = string.sub(line, last +1) end
+ -- If this is a 79-chars line that ends with ...[NUMBER, we will try
+ -- to unwrap. With that, we may find ...[LONGERNUMBER, which is what
+ -- we want. If, however, we find [NUMBERLETTER, we give up and consider
+ -- this not to be a shipout. Should we stick with [NUMBER instead?
+ --
+ -- No.
+ --
+ -- Either way, we have no way of knowing whether we are right or wrong,
+ -- but giving up is the lesser evil: the user may register the unknown
+ -- message with --add-[debug|info|warning]-message and solve the problem.
+ local page
while true do
for _, pattern in ipairs(patterns) do
_, _, page = string.find(line, pattern)
@@ -3940,7 +4273,7 @@ function guessQuotedFilename(line, position)
-- luatex puts quotes around filenames with spaces, which makes things easier
while true do
local _, last = string.find(line, '^"')
- if string.len(line) > 0 and last == nil then return false end -- no quotes
+ if line ~= "" and last == nil then return false end -- no quotes
last = string.find(line, '^"[%.]?/') -- relative path or unix-style path
if last == nil then
@@ -3979,6 +4312,7 @@ function guessUnquotedFilename(line, position)
-- we already checked in the previous ones.
local alreadyCheckedIdx = 0
+ local filename
while true do
local first = string.find(line, '^[%.]?/') -- relative or unix-style path
if first == nil then
@@ -3996,18 +4330,23 @@ function guessUnquotedFilename(line, position)
-- From longest to shortest, to avoid problems if there is a
-- substring in the filename that matches some other filename.
for i = longest, alreadyCheckedIdx +1, -1 do
- local filename = string.sub(line, 1, i)
- if kpse.find_file(filename, 'other text files') ~= nil then
- return filename
+ local candidate = string.sub(line, 1, i)
+ if kpse.find_file(candidate, 'other text files') ~= nil then
+ filename = candidate
+ break
end
end
- -- we did not find the filename; can we unwrap this line?
- if not Lines:seemsWrapped(position) then return nil end
+ -- We may or may not have found the filename. Either way, if we
+ -- can unwrap this line, we should:
+ -- 1. If we did not find the filename, we might
+ -- 2. If we did find the filename, we might find a different
+ -- (longer) filename, in which case we should stick with
+ -- it (yes, I have seen it happen!)
+ if not Lines:seemsWrapped(position) then return filename end
first = string.find(line, "[%)%(%[%]]")
- if first ~= nil then return nil end
+ if first ~= nil then return filename end
- -- yep!
alreadyCheckedIdx = longest
line = line .. Lines:get(position +1)
position = position +1
diff --git a/support/texlogsieve/texlogsieve.1 b/support/texlogsieve/texlogsieve.1
index 79cdbc68d1..41095e2374 100644
--- a/support/texlogsieve/texlogsieve.1
+++ b/support/texlogsieve/texlogsieve.1
@@ -1,4 +1,4 @@
-.TH TEXLOGSIEVE "1" "December 2021" "texlogsieve 1.0.0-beta-1" "User Commands"
+.TH TEXLOGSIEVE "1" "January 2022" "texlogsieve 1.0.0-beta-2" "User Commands"
.SH NAME
@@ -16,7 +16,9 @@ report.
texlogsieve \fBmust\fR be run from the same directory as [pdf|lua|xe]latex,
because it searches for the files used during compilation (packages loaded
-from the current directory, files included with \einput etc.).
+from the current directory, files included with \einput etc.). Also, since
+it cannot detect if LaTeX stops for user input, you should \fBreally\fR run
+LaTeX in \fI\,nonstopmode\/\fR when texlogsieve is reading from a pipe.
The program goes to great lengths to correctly handle TeX line wrapping. It
understands the \fI\,max_print_line\/\fR TeX configuration variable and reads
@@ -27,7 +29,15 @@ The defaults are reasonable; hopefully, you can just do
.RS 3
.EX
-[pdf|lua|xe]latex myfile.tex | texlogsieve
+[pdf|lua|xe]latex \-interaction nonstopmode myfile.tex | texlogsieve
+.EE
+.RE
+
+or
+
+.RS 3
+.EX
+texlogsieve myfile.log
.EE
.RE
@@ -61,6 +71,19 @@ Allow/prevent repeated messages (default disabled, i.e., repeated messages
are supressed).
.TP
+\fB\-\-be\-redundant\fR, \fB\-\-no\-be\-redundant\fR
+Present/suppress ordinary messages that will also appear in the summary.
+This affects messages that have special summaries (such as under/overfull
+boxes or undefined citations). With \-\-no\-be\-redundant (the default),
+these messages are filtered out and only appear in the final summary.
+
+.TP
+\fB\-\-box\-detail\fR, \fB\-\-no\-box\-detail\fR
+Include/exclude detailed information on under/overfull boxes in the final
+summary. With \-\-no\-box\-detail, the summary presents only a list of
+pages and files that had under/overfull boxes (default enabled).
+
+.TP
\fB\-\-heartbeat\fR, \fB\-\-no\-heartbeat\fR
Enable/disable progress gauge in page-delay mode (default enabled).
@@ -75,13 +98,14 @@ WARNING).
Do not filter messages and do not output the summary, only unwrap long,
wrapped lines. The output should be very similar (but not equal) to the
input file, but with wrapped lines reconstructed. This activates \-l debug,
-\-\-no\-summary, \-\-no\-page\-delay, \-\-repetitions, and \-\-shipouts, and
-also supresses the verbose \[lq]open/close file\[rq] and \[lq]shipout\[rq]
-messages, simulating instead the TeX format, with parens and square brackets. \
-This is useful if you prefer the reports generated by some other tool but want
-to benefit from texlogsieve's line unwrapping algorithm; the output generated
-by this option should be parseable by other tools (but you probably need to
-coerce the other tool not to try to unwrap lines).
+\-\-no\-summary, \-\-no\-page\-delay, \-\-repetitions, \-\-be\-redundant,
+and \-\-shipouts, and also supresses the verbose \[lq]open/close file\[rq]
+and \[lq]shipout\[rq] messages, simulating instead the TeX format, with parens
+and square brackets. This is useful if you prefer the reports generated
+by some other tool but want to benefit from texlogsieve's line unwrapping
+algorithm; the output generated by this option should be parseable by other
+tools (but you probably need to coerce the other tool not to try to unwrap
+lines).
.TP
\fB\-\-silence\-package\fR=\fI\,PKGNAME\/\fR
@@ -107,8 +131,11 @@ enclose it in quotes nor escape special characters such as \[lq]\e\[rq].
\fB\-\-silence\-file\fR=\fI\,FILENAME OR FILE GLOB\/\fR
Filter out messages that have been generated while the given file was being
processed. Do \fBnot\fR use absolute or relative paths, only filenames. Simple
-file globs, such as \[lq]*.cls\[rq], work as expected. Use this option multiple
-times to suppress messages from several different files.
+file globs, such as \[lq]*.cls\[rq], work as expected. If you are only using
+packages you already know, silencing \[lq]*.sty\[rq] may be a good idea (note
+that this does not suppress all messages from all packages, only the messages
+generated while the packages are being loaded). Use this option multiple times
+to suppress messages from several different files.
.TP
\fB\-\-semisilence\-file\fR=\fI\,FILENAME OR FILE GLOB\/\fR
@@ -123,24 +150,63 @@ messages generated by chapters.tex will be suppressed, but messages generated
by chapter1.tex or chapter2.tex will not.
.TP
-\fB\-\-add\-[debug|info|warning]\-message\fR=\fI\,MESSAGE\/\fR
+\fB\-\-add\-[debug|info|warning|critical]\-message\fR=\fI\,MESSAGE\/\fR
Add MESSAGE to the list of messages known to the program with the given
severity level; see Section UNRECOGNIZED MESSAGES below for more information
about this. Like \-\-silence\-string, these should be a single line; unlike
\-\-silence\-string, you need to embed \en explicitly to indicate line
-breaks. You may precede the string with \[lq]////\[rq] to use lua-style
-pattern matching, but embedding \en to indicate line breaks is unavoidable.
-Use these options multiple times to add many different messages.
+breaks (this is literally a backslash character followed by the letter
+\[lq]n\[rq], \fBnot\fR a linefeed character). You may precede the string
+with \[lq]////\[rq] to use lua-style pattern matching, but embedding \en
+to indicate line breaks is unavoidable. Use these options multiple times
+to add many different messages.
+
+.TP
+\fB\-\-set\-to\-level\-[debug|info|warning|critical]\fR=\fI\,EXCERPT OF MESSAGE\/\fR
+Redefine the severity level of messages that contain the provided string
+to the given level. Check the explanation for \-\-silence\-string, as this
+works in a similar way. Use these options multiple times to change the
+severity level of many different messages.
.TP
\fB\-c\fR \fI\,CFGFILE\/\fR, \fB\-\-config\-file\fR=\fI\,CFGFILE\/\fR
-Read options from the given configuration file. Options are exactly the
-same as the long command-line options, but without the preceding \[lq]\-\-\[rq]
-characters. Lines starting with a \[lq]#\[rq] sign are comments. An example
-configuration file:
+Read options from the given configuration file in addition to
+\fI\,texlogsieverc\/\fR.
+
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show concise options description.
+
+.TP
+\fB\-\-version\fR
+Print program version.
+
+.SH UNRECOGNIZED MESSAGES
+
+texlogsieve automatically handles messages such as \[lq]Package blah
+Info:...\[rq] or \[lq]LaTeX Warning:...\[rq]. However, many messages do not
+follow this pattern. To do its thing, texlogsieve should know about these
+other messages beforehand.
+
+.PP
+While texlogsieve recognizes quite a few messages out of the box, you may run
+into a message generated by some package that it does not know about (you can
+check for this using \[lq]\-l unknown\[rq]). If that is the case, you can use
+the \-\-add\-[debug|info|warning|critical]\-message options to add it to the
+list of messages known to the program.
+
+.SH CONFIGURATION FILE
+
+texlogsieve always searches automatically for the (optional)
+\fI\,texlogsieverc\/\fR configuration file in the TeX path (i.e., it searches
+using Kpathsea). In the default configuration, the current directory is in
+the search path, so adding a config file with that name to the project
+directory is enough to make it work. Options in the config file are exactly
+the same as the long command-line options described above, but without the
+preceding \[lq]\-\-\[rq] characters. Lines starting with a \[lq]#\[rq] sign
+are comments. An example configuration file:
.RS
-.RS 3
.EX
no\-page\-delay
.br
@@ -158,48 +224,17 @@ silence\-string = Using \eoverbracket and \eunderbracket from \[ga]mathtools\[aq
.br
silence\-string = ////luaotfload | aux : font no %d+ %(.\-%)
.br
-silence\-files = *.cls
+silence\-files = *.sty
.EE
.RE
-.RE
-
-.TP
-\fB\-h\fR, \fB\-\-help\fR
-Show concise options description.
-
-.TP
-\fB\-\-version\fR
-Print program version.
-
-.SH UNRECOGNIZED MESSAGES
-
-texlogsieve automatically handles messages such as \[lq]Package blah
-Info:...\[rq] or \[lq]LaTeX Warning:...\[rq]. However, many messages do not
-follow this pattern. To do its thing, texlogsieve should know about these
-other messages beforehand. This is important for three reasons:
-
-.IP 1. 3
-Unknown messages are given maximum priority; if you do not want to see them,
-you have to use \-\-silence\-string;
-.IP 2. 3
-If the message has more than one line, each line is treated as an independent
-message. This means you need to use \-\-silence\-string multiple times;
-.IP 3. 3
-In some rare cases, the line unwrapping algorithm may fail near an
-unrecognized message.
-
-.PP
-While texlogsieve recognizes quite a few messages out of the box, you may run
-into a message generated by some package that it does not know about (you can
-check for this using \[lq]\-l unknown\[rq]). If that is the case, you can use
-the \-\-add\-[debug|info|warning]\-message options to add it to the list of
-messages known to the program.
.SH LIMITATIONS
texlogsieve does not try to do anything smart about error messages (at least
for now); if there is an error, you probably want to take a look directly
-at the log file anyway.
+at the log file anyway. It also cannot detect if LaTeX stops for user input,
+so you should \fBreally\fR run LaTeX in \fI\,nonstopmode\/\fR when texlogsieve
+is reading from a pipe.
Since it needs to know what messages to expect, texlogsieve is currently
geared towards LaTeX; I have no idea how it would work with ConTeXt or plain
@@ -219,7 +254,7 @@ program, check the initial comments in the code.
.SH COPYRIGHT
-Copyright \[co] 2021 Nelson Lago <lago@ime.usp.br>
+Copyright \[co] 2021, 2022 Nelson Lago <lago@ime.usp.br>
.br
License GPLv3+: GNU GPL version 3 or later
.UR https://gnu.org/licenses/gpl.html
diff --git a/support/texlogsieve/texlogsieve.pdf b/support/texlogsieve/texlogsieve.pdf
index 80c47a3037..35a729df5d 100644
--- a/support/texlogsieve/texlogsieve.pdf
+++ b/support/texlogsieve/texlogsieve.pdf
Binary files differ
diff --git a/support/texlogsieve/texlogsieve.tex b/support/texlogsieve/texlogsieve.tex
index 4d29abf8cc..3608343743 100644
--- a/support/texlogsieve/texlogsieve.tex
+++ b/support/texlogsieve/texlogsieve.tex
@@ -1,6 +1,6 @@
% texlogsieve - filter and summarize LaTeX log files
%
-% Copyright (C) 2021 Nelson Lago <lago@ime.usp.br>
+% Copyright (C) 2021, 2022 Nelson Lago <lago@ime.usp.br>
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
@@ -37,13 +37,26 @@
\RecordChanges
-\changes{v1.0.0-beta-1}{2021/12/16}{first public prerelease}
+\changes{v1.0.0-beta-1}{2021/12/16}{First public prerelease}
+\changes{v1.0.0-beta-2}{2022/01/04}{Automatically read \texttt{texlogsieverc}
+ if it exists}
+\changes{v1.0.0-beta-2}{2022/01/04}{Add options \texttt{-\/-be-redundant}
+ and \texttt{-\/-box-detail}}
+\changes{v1.0.0-beta-2}{2022/01/04}{Add options
+ \texttt{-\/-set-to-level-[levelname]}}
+\changes{v1.0.0-beta-2}{2022/01/04}{Include silenced messages in summaries}
+\changes{v1.0.0-beta-2}{2022/01/04}{Substitute empty citation/label keys
+ for ``???''}
+\changes{v1.0.0-beta-2}{2022/01/04}{Fix bug that prevented
+ \texttt{-\/-add-[info\textbar
+ warning]-message} from working}
+\changes{v1.0.0-beta-2}{2022/01/04}{Misc small bugfixes}
\begin{document}
\title{\textsf{texlogsieve}:\thanks{This document
-corresponds to \textsf{texlogsieve}~1.0.0-beta-1,
-dated~2021-12-16.}\\[.3\baselineskip]
+corresponds to \textsf{texlogsieve}~1.0.0-beta-2,
+dated~2022-01-04.}\\[.3\baselineskip]
{\normalsize(yet another program to)\\[-.6\baselineskip]}
{\large filter and summarize \LaTeX\ log files}
}
@@ -87,9 +100,13 @@ messages and outputs the rest, together with a final summary for the
specially important ones. It is a \texttt{texlua} script, similar in
spirit to tools such as \texttt{texfot}, \texttt{texloganalyser},
\texttt{rubber-info}, \texttt{textlog\_extract}, \texttt{texlogparser},
-and others. Note that it does not try to do anything smart about error
-messages (at least for now); if there is an error, you probably want to
-take a look directly at the log file anyway.
+and others.
+
+Note that it does not try to do anything smart about error messages
+(at least for now); if there is an error, you probably want to take a
+look directly at the log file anyway. It also cannot detect if \LaTeX{}
+stops for user input, so you should \textbf{really} run \LaTeX\ in
+\texttt{nonstopmode} when \texttt{texlogsieve} is reading from a pipe.
\texttt{texlogsieve} \textbf{must} be run from the same directory as
\verb/[pdf|lua|xe]latex/, because it searches for the files used during
@@ -99,11 +116,15 @@ with \verb|\input| etc.).
\pagebreak[1]
The defaults are reasonable; hopefully, you can just do
-\begin{quote}
-\verb/[pdf|lua|xe]latex myfile.tex | texlogsieve/
-\end{quote}
+\begin{list}{}{}
+ \small\item
+ \verb/[pdf|lua|xe]latex -interaction nonstopmode myfile.tex | texlogsieve/
+ \par
+ {\normalsize or\par}
+ \verb|texlogsieve myfile.log|
+\end{list}
-and be satisfied with the result.
+\noindent and be satisfied with the result.
Since it needs to know what messages to expect, \texttt{texlogsieve} is
currently geared towards \LaTeX; I have no idea how it would work with
@@ -113,7 +134,7 @@ too difficult.
If you want to know more about the \TeX\ log file and the workings of the
program, check the initial comments in the code.
-\section{Unwrapping long lines}
+\section{Unwrapping Long Lines}
\TeX\ wraps (breaks) lines longer than \texttt{max\_print\_line} (by
default, 79 characters). Most tools detect lines that are exactly 79
@@ -130,6 +151,60 @@ the \texttt{max\_print\_line} \TeX{} configuration variable and reads its
value from the same places as \TeX. Setting \texttt{max\_print\_line} to
a value larger than 9999 makes \texttt{texlogsieve} ignore line wrapping.
+\section{Unrecognized Messages}
+\label{unrecognized}
+
+\texttt{texlogsieve} automatically handles messages such as ``Package blah
+Info:\dots'' or ``LaTeX Warning:\dots''. However, many messages do not
+follow this pattern. To do its thing, \texttt{texlogsieve} should know about
+these other messages beforehand. This is important for three reasons:
+
+\begin{enumerate}
+ \item Unknown messages are given maximum priority; if you do not want to
+ see them, you have to use \texttt{-\/-silence-string};
+ \item If the message has more than one line, each line is treated as an
+ independent message. This means you need to use
+ \texttt{-\/-silence-string} multiple times;
+ \item In some rare cases, an unrecognized message may make
+ \texttt{texlogsieve} misclassify nearby wrapped lines (if it comes
+ right after a 79 characters long line of a specific type), close
+ file messages (if it includes an unmatched close parens character),
+ or shipout messages (if it includes an unmatched close square bracket
+ character or an open square bracket character followed only by
+ numbers).
+\end{enumerate}
+
+While \texttt{texlogsieve} recognizes quite a few messages out of the box,
+you may run into a message generated by some package that it does not know
+about (you can check for this using \texttt{-l unknown}). If that is the
+case, you can use the \verb/--add-[debug|info|warning|critical]-message/
+options to add it to the list of messages known to the program.
+
+\section{Configuration File}
+
+\texttt{texlogsieve} always searches automatically for the (optional)
+\texttt{texlogsieverc} configuration file in the \TeX\ path (i.e., it
+searches using \texttt{Kpathsea}). In the default configuration, the
+current directory is in the search path, so adding a config file with that
+name to the project directory is enough to make it work. Options in the
+config file are exactly the same as the long command-line options described
+below, but without the preceding ``\texttt{-\/-}'' characters. Lines
+starting with a ``\#'' sign are comments. An example configuration file:
+
+\begin{quote}
+\begin{verbatim}
+no-page-delay
+# no-page-delay enables shipouts, but we do not want that
+no-shipouts
+silence-string = Hyperreferences in rotated content will be misplaced
+# no need to escape the "\" (or any other) character
+silence-string = Using \overbracket and \underbracket from `mathtools'
+# silence a string using lua pattern matching
+silence-string = ////luaotfload | aux : font no %d+ %(.-%)
+silence-files = *.sty
+\end{verbatim}
+\end{quote}
+
\section{Options}
\begin{description}
@@ -162,6 +237,22 @@ are supressed).
\end{description}
\begin{description}
+\item[\texttt{-\/-be-redundant}, \texttt{-\/-no-be-redundant}]~\\
+Present/suppress ordinary messages that will also appear in the summary.
+This affects messages that have special summaries (such as under/overfull
+boxes or undefined citations). With \texttt{-\/-no-be-redundant} (the
+default), these messages are filtered out and only appear in the final
+summary.
+\end{description}
+
+\begin{description}
+\item[\texttt{-\/-box-detail}, \texttt{-\/-no-box-detail}]~\\
+Include/exclude detailed information on under/overfull boxes in the final
+summary. With \texttt{-\/-no-box-detail}, the summary presents only a list
+of pages and files that had under/overfull boxes (default enabled).
+\end{description}
+
+\begin{description}
\item[\texttt{-\/-heartbeat}, \texttt{-\/-no-heartbeat}]~\\
Enable/disable progress gauge in page-delay mode (default enabled).
\end{description}
@@ -177,14 +268,15 @@ levels are \texttt{DEBUG} (no filtering), \texttt{INFO}, \texttt{WARNING},
\item[\texttt{-u}, \texttt{-\/-unwrap-only}]~\\
Do not filter messages and do not output the summary, only unwrap long,
wrapped lines. The output should be very similar (but not equal) to the
-input file, but with wrapped lines reconstructed. This activates \texttt{-l
-debug}, \texttt{-\/-no-summary}, \texttt{-\/-no-page-delay},
-\texttt{-\/-repetitions}, and \texttt{-\/-shipouts}, and also supresses the
-verbose ``open/close file'' and ``shipout'' messages, simulating instead
-the \TeX{} format, with parens and square brackets. This is useful if you
-prefer the reports generated by some other tool but want to benefit from
-texlogsieve's line unwrapping algorithm; the output generated by this option
-should be parseable by other tools (but you probably need to coerce the other
+input file, but with wrapped lines reconstructed. This activates
+\texttt{-l debug}, \texttt{-\/-no-summary}, \texttt{-\/-no-page-delay},
+\texttt{-\/-repetitions}, \texttt{-\/-be-redundant}, and
+\texttt{-\/-shipouts}, and also supresses the verbose ``open/close file''
+and ``shipout'' messages, simulating instead the \TeX{} format, with
+parens and square brackets. This is useful if you prefer the reports
+generated by some other tool but want to benefit from texlogsieve's line
+unwrapping algorithm; the output generated by this option should be
+parseable by other tools (but you probably need to coerce the other
tool not to try to unwrap lines).
\end{description}
@@ -213,7 +305,10 @@ nor escape special characters such as ``\textbackslash''.
\item[\texttt{-\/-silence-file=FILENAME OR FILE GLOB}]~\\
Filter out messages that have been generated while the given file was being
processed. Do \textbf{not} use absolute or relative paths, only filenames.
-Simple file globs, such as ``\texttt{*.cls}'', work as expected. Use this
+Simple file globs, such as ``\texttt{*.cls}'', work as expected. If you are
+only using packages you already know, silencing ``\texttt{*.sty}'' may be a
+good idea (note that this does not suppress all messages from all packages,
+only the messages generated while the packages are being loaded). Use this
option multiple times to suppress messages from several different files.
\end{description}
@@ -232,37 +327,32 @@ by any of the three files from being displayed. If, however, you use
\end{description}
\begin{description}
-\item[\texttt{-\/-add-[debug\textbar info\textbar warning]-message=MESSAGE}]~\\
-Add \texttt{MESSAGE} to the list of messages known to the program with the given
-severity level; see Section \ref{unrecognized} below for more information
+\item[\texttt{-\/-add-[debug\textbar info\textbar warning\textbar
+ critical]-message=MESSAGE}]~\\
+Add \texttt{MESSAGE} to the list of messages known to the program with the
+given severity level; see Section \ref{unrecognized} for more information
about this. Like \texttt{-\/-silence-string}, these should be a single line;
-unlike \texttt{-\/-silence-string}, you need to embed \verb|\n| explicitly
-to indicate line breaks. You may precede the string with ``////'' to use
-lua-style pattern matching, but embedding \verb|\n| to indicate line breaks
-is unavoidable. Use these options multiple times to add many different
-messages.
+unlike \texttt{-\/-silence-string}, you need to embed \verb|\n| explicitly
+to indicate line breaks (this is literally a backslash character followed
+by the letter ``n'', \textbf{not} a linefeed character). You may precede
+the string with ``////'' to use lua-style pattern matching, but embedding
+\verb|\n| to indicate line breaks is unavoidable. Use these options multiple
+times to add many different messages.
\end{description}
\begin{description}
-\item[\texttt{-c CFGFILE}, \texttt{-\/-config-file=CFGFILE}]~\\
-Read options from the given configuration file. Options are exactly the
-same as the long command-line options, but without the preceding ``-\/-''
-characters. Lines starting with a ``\#'' sign are comments. An example
-configuration file:
+\item[\texttt{-\/-set-to-level-[debug\textbar info\textbar warning\textbar
+ critical]=EXCERPT OF MESSAGE}]~\\
+Redefine the severity level of messages that contain the provided string
+to the given level. Check the explanation for \texttt{-\/-silence-string},
+as this works in a similar way. Use these options multiple times to change
+the severity level of many different messages.
+\end{description}
-\begin{quote}
-\begin{verbatim}
-no-page-delay
-# no-page-delay enables shipouts, but we do not want that
-no-shipouts
-silence-string = Hyperreferences in rotated content will be misplaced
-# no need to escape the "\" (or any other) character
-silence-string = Using \overbracket and \underbracket from `mathtools'
-# silence a string using lua pattern matching
-silence-string = ////luaotfload | aux : font no %d+ %(.-%)
-silence-files = *.cls
-\end{verbatim}
-\end{quote}
+\begin{description}
+\item[\texttt{-c CFGFILE}, \texttt{-\/-config-file=CFGFILE}]~\\
+Read options from the given configuration file in addition to
+\texttt{texlogsieverc}.
\end{description}
\begin{description}
@@ -275,33 +365,9 @@ Show concise options description.
Print program version.
\end{description}
-\section{Unrecognized Messages}
-\label{unrecognized}
-
-\texttt{texlogsieve} automatically handles messages such as ``Package blah
-Info:\dots'' or ``LaTeX Warning:\dots''. However, many messages do not
-follow this pattern. To do its thing, \texttt{texlogsieve} should know about
-these other messages beforehand. This is important for three reasons:
-
-\begin{enumerate}
- \item Unknown messages are given maximum priority; if you do not want to
- see them, you have to use -\/-silence-string;
- \item If the message has more than one line, each line is treated as an
- independent message. This means you need to use -\/-silence-string
- multiple times;
- \item In some rare cases, the line unwrapping algorithm may fail near an
- unrecognized message.
-\end{enumerate}
-
-While \texttt{texlogsieve} recognizes quite a few messages out of the box,
-you may run into a message generated by some package that it does not know
-about (you can check for this using \texttt{-l unknown}). If that is the
-case, you can use the \verb/--add-[debug|info|warning]-message/ options to
-add it to the list of messages known to the program.
-
\section{License}
-Copyright © 2021 Nelson Lago \textless lago@ime.usp.br\textgreater\\
+Copyright © 2021, 2022 Nelson Lago \textless lago@ime.usp.br\textgreater\\
License GPLv3+: GNU GPL version 3 or later
\url{https://gnu.org/licenses/gpl.html}.\\
This is free software: you are free to change and redistribute it.\\
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index e44821cc09..7249db3280 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -48,6 +48,7 @@ $mirrors = {
'https://cran.asia/tex/' => 1,
'https://ftp.harukasan.org/CTAN/' => 1,
'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
+ 'https://mirror.kakao.com/CTAN/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
'https://mirror.yongbok.net/ctan/' => 1,
},
@@ -98,7 +99,6 @@ $mirrors = {
'https://ctan.mirror.norbert-ruehl.de/' => 1,
'https://ctan.net/' => 1,
'https://ctan.space-pro.be/tex-archive/' => 1,
- 'https://ftp.agdsn.de/pub/mirrors/latex/dante/' => 1,
'https://ftp.fau.de/ctan/' => 1,
'https://ftp.gwdg.de/pub/ctan/' => 1,
'https://ftp.rrze.uni-erlangen.de/ctan/' => 1,
@@ -153,7 +153,6 @@ $mirrors = {
'https://ctan.ijs.si/tex-archive/' => 1,
},
'Spain' => {
- 'https://ctan.javinator9889.com/' => 1,
'https://osl.ugr.es/CTAN/' => 1,
},
'Sweden' => {
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index bb509299f9..644d255010 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2021
-depend revision/61478
+depend revision/61485
name 00texlive.image
category TLCore
-revision 61456
+revision 61484
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -40,7 +40,7 @@ longdesc IgnorePatterns in the check_files routine in tlmgr.pl augment
longdesc this list. Those are not included in the source/ tarball. For
longdesc information on the 00texlive prefix see
longdesc 00texlive.installation(.tlpsrc)
-runfiles size=12497
+runfiles size=12498
.mkisofsrc
autorun.inf
texmf-dist/README
@@ -4426,6 +4426,7 @@ runfiles size=12497
tlpkg/tlpsrc/yathesis.tlpsrc
tlpkg/tlpsrc/yax.tlpsrc
tlpkg/tlpsrc/yazd-thesis.tlpsrc
+ tlpkg/tlpsrc/yb-book.tlpsrc
tlpkg/tlpsrc/ycbook.tlpsrc
tlpkg/tlpsrc/ydoc.tlpsrc
tlpkg/tlpsrc/yfonts-t1.tlpsrc
@@ -4505,7 +4506,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 61466
+revision 61480
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -70194,7 +70195,7 @@ containerchecksum 54e2b23dfd58d514d577f535e4f8bab08b2a124c43abdea796847d5c8cdf5c
name collection-publishers
category Collection
-revision 61397
+revision 61484
shortdesc Publisher styles, theses, etc.
relocated 1
depend aastex
@@ -70451,9 +70452,10 @@ depend xduthesis
depend xmuthesis
depend yathesis
depend yazd-thesis
+depend yb-book
depend york-thesis
-containersize 1604
-containerchecksum b079111174e27c874c78f905ba43f30471027a4afaa960613fe894f99e4468dbf3c5cdb3efb0d63c43d7d2c9e48c43b0f927d0180b447e19f9ab2af4086e3095
+containersize 1608
+containerchecksum b0688e80488136570a94c96743b1fdfd5203d54504589d3b52d26b3d56cd5a6bf73703a7ed8be3826e4c90ad655a2c0d57ff3cf6407a12c1b467269d5acb4faa
name collection-texworks
category Collection
@@ -127226,28 +127228,24 @@ catalogue-version 1.4
name garamond-math
category Package
-revision 52820
+revision 61481
shortdesc An OTF math font matching EB Garamond
relocated 1
longdesc Garamond-Math is an open type math font matching EB Garamond
longdesc (Octavio Pardo) and EB Garamond (Georg Mayr-Duffner). Many
longdesc mathematical symbols are derived from other fonts, others are
longdesc made from scratch. The metric is generated with a Python
-longdesc script. The font is best used with XeTeX and the unicode-math
-longdesc package. Other engines (e.g. LuaTeX; also: MS Word) are likely
-longdesc to produce unsatifactory spacings. This font is still under
-longdesc development, so do not expect it to be free of bugs. Any
-longdesc component might be updated at any time. Issues, bug reports,
-longdesc forks, and other contributions are welcome.
-containersize 399076
-containerchecksum 5a6520612a6cfc8633149f4ea795049c017cb1a483104dc7258cd0c0afa0388d4348ebc0fd7d5b7229031adda5ba835c122b69d5310091106c972c5b8aa32891
-doccontainersize 244012
-doccontainerchecksum 3afc74609589c22ad0e540f2915c8cc27a2712a2409f0085098cd00df74007e2cecdecaa40cfe79e99ac6538e496d59bed9ca44cfb18dd2b7fce2620805623b3
-docfiles size=65
+longdesc script. Issues, bug reports and other contributions are
+longdesc welcome.
+containersize 407520
+containerchecksum fcab922fc4faa8468a2d8076664567c8533e95dc6767eabedee5c053bbdbb721890731f0d976a2d6047709f058a4d5e029996a5a5574912d21cb493f2975a76a
+doccontainersize 292360
+doccontainerchecksum c7c5795e7d9de09a590dbfd7311786027be9dcbe51b1f40284639341953effbb0dfcb331061cad0a8d01df55c52611a8d61a6b62fba701565bb643826ba55734
+docfiles size=78
RELOC/doc/fonts/garamond-math/Garamond-Math.pdf details="Package documentation"
RELOC/doc/fonts/garamond-math/Garamond-Math.tex
RELOC/doc/fonts/garamond-math/README.md details="Readme"
-runfiles size=197
+runfiles size=202
RELOC/fonts/opentype/public/garamond-math/Garamond-Math.otf
catalogue-contact-bugs https://github.com/YuanshengZhao/Garamond-Math/issues
catalogue-contact-home https://github.com/YuanshengZhao/Garamond-Math
@@ -188234,18 +188232,18 @@ catalogue-version 1.3
name luatexja
category Package
-revision 60862
+revision 61485
shortdesc Typeset Japanese with Lua(La)TeX
relocated 1
longdesc The package offers support for typesetting Japanese documents
longdesc with LuaTeX. Either of the Plain and LaTeX2e formats may be
longdesc used with the package.
depend luatexbase
-containersize 190716
-containerchecksum c86d8475e8ed95f31e8068646061e08845faee7749d5bac40cd9f55c20b5d7a5410f2af7ab66c91a0b470e1f7048d95bbbcc5182b24541cc470b1c235e00ae85
-doccontainersize 3200840
-doccontainerchecksum dfac6f66fa5248e94e9c0dacd6aca177473563411ad5cb749faafa83ab8fe058184005557495aac2b137c87f2988e85760bac454e8fb3277e4b631ab83f0372c
-docfiles size=961
+containersize 191008
+containerchecksum 7ce61f59c6ace10daa78d10f7516c8058fe02b9f1cec4ef1a761cd0ab085ccf4d0d090c1405cb38afafba68bc537120c9f3b00904198224c407e39596c2db706
+doccontainersize 3232668
+doccontainerchecksum 9024ef0b8873f0d19e2d4558b2e22e7919f094e56693ccc687e42961fe866fe76dcd5c81440166e2edaf2028fd2882d28c351156a14283f590b7bdf439b44809
+docfiles size=972
RELOC/doc/luatex/luatexja/COPYING
RELOC/doc/luatex/luatexja/README details="Readme"
RELOC/doc/luatex/luatexja/jfm-test.lua
@@ -188262,8 +188260,8 @@ docfiles size=961
RELOC/doc/luatex/luatexja/luatexja-ruby.tex
RELOC/doc/luatex/luatexja/luatexja.dtx
RELOC/doc/luatex/luatexja/luatexja.ins
-srccontainersize 83320
-srccontainerchecksum 3571d85fcfb142ec58d68f2a104c375a89088e201ba0f80ddcce0ad381851e60529665e5e1ae3f7fba1d0e4aef7bc7422abdcc80e04adef9ca88747be3329a39
+srccontainersize 83316
+srccontainerchecksum af1a85083fa203aea813d702f5e1da76ec4bb73b8d090b977c53523d70e0f539d29407172516a7913f1c951df05705487fe6037af1184fefb72ebd9751d24c94
srcfiles size=118
RELOC/source/luatex/luatexja/ltjclasses.dtx
RELOC/source/luatex/luatexja/ltjclasses.ins
@@ -188387,7 +188385,7 @@ catalogue-contact-repository https://osdn.net/projects/luatex-ja/scm/git/luatexj
catalogue-ctan /macros/luatex/generic/luatexja
catalogue-license bsd
catalogue-topics japanese luatex class
-catalogue-version 20211024.0
+catalogue-version 20220103.0
name luatexko
category Package
@@ -278532,7 +278530,7 @@ binfiles arch=x86_64-solaris size=1
name srdp-mathematik
category Package
-revision 61382
+revision 61482
shortdesc Typeset Austrian SRDP in mathematics
relocated 1
longdesc This package provides basic commands for the defined formats of
@@ -278541,21 +278539,21 @@ longdesc mathematics. Furthermore, it includes ways to implement answers
longdesc in the tex file which can optionally be displayed in the pdf
longdesc file, and it offers a way to vary the answers in order to
longdesc create different groups (e. g. for tests) easily.
-containersize 29428
-containerchecksum 136e82abbe636476439596ffc746539ec587adcb3990111d8d3a6da6d9fcc8232809f75f269921b04b21f4494d26a28f542253a982b3735dc98e31d84c87b99d
-doccontainersize 147864
-doccontainerchecksum d1ed31b68c9ba52fde6aa1e676a7cc74ed1086447bdcc3190fab8e64e9c32dc30c348a6e0a36306d0b3d31f5fe7dca47da0016990648a00e4416e291dd3bcf28
+containersize 29420
+containerchecksum 366f7df8e99ae06d1c1c6b61d43e407981fcad73c44e33ffb6a97872027d7de93363e08406514f099db4f1bbf4aca918b96e0f97834c97436b29960351d08fa4
+doccontainersize 147484
+doccontainerchecksum f780b3be1d9f7ed0e502b05062d0bcf7a56c77360f65e234bcaafa25cfae1dba76298e982fc31d03bd42bbf9c6488fabf2a798671a57d643999149950bb75de0
docfiles size=57
RELOC/doc/latex/srdp-mathematik/README.txt details="Readme"
RELOC/doc/latex/srdp-mathematik/srdp-mathematik.pdf details="Package documentation"
RELOC/doc/latex/srdp-mathematik/srdp-mathematik.tex
-runfiles size=46
+runfiles size=47
RELOC/tex/latex/srdp-mathematik/srdp-mathematik.sty
RELOC/tex/latex/srdp-mathematik/srdp-tables.sty
catalogue-ctan /macros/latex/contrib/srdp-mathematik
catalogue-license lppl1.3c
catalogue-topics exam maths std-conform
-catalogue-version 1.9.3
+catalogue-version 1.9.4
name sseq
category Package
@@ -298126,7 +298124,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 61466
+revision 61480
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -298134,10 +298132,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 108280
-containerchecksum 166481ced3d5915d2ab1aa26d0232510caf091594305751c0a23a316192531d8c4318370e3faf6ebe3ca19edee35166ec37b5f31f07d6fe0e507406fbec3ad5b
+containersize 108268
+containerchecksum afc261787a07d71d2fbab52026ed3b77bebe193f0d4049324673103e0917df81cd1d2380cbddfb4829e3832ca44912b97dcaea6df75004309c5e53f46f89bd67
doccontainersize 402344
-doccontainerchecksum 96344060eb0634b223b404ab4455f28cdbbaa7dda37074e50c07680c357306d8075a037a3e2da48c54a489492e26934d947fa7b97f436fddcde2e849cda1d1cd
+doccontainerchecksum 5f29f985352875cf31476b5119b8488885eec2a305f79303ce6c1b1d92a5226acf6c7b3a708c969549901f4d0c86f6fdc25ba4589dae0379ee0ff8255c8169de
docfiles size=500
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -332243,23 +332241,23 @@ catalogue-version 3.6
name wrapfig2
category Package
-revision 61423
+revision 61483
shortdesc Wrap text around figures
relocated 1
-longdesc This package is a fork of Donald Arseneau wrapfig package. It
-longdesc is backwards compatible with thw original environments.
+longdesc This package is a fork of Donald Arseneau's wrapfig package. It
+longdesc is backwards compatible with the original environments.
longdesc Therefore this package does not work with LaTeX2e kernels older
longdesc than about 2018, although a warning is issued if the LaTeX
longdesc format file is dated with a date older than 1st January 2019.
-containersize 5160
-containerchecksum 55dca8c3498605ac0fd58b20368495ae409a4afe48f3c5c365b2a046f7d91d5b0df523b1dddb910983c6c05357314c4452741c5abbaef5051aa302fb915e20e1
-doccontainersize 501200
-doccontainerchecksum 9719ec57ba7efde22d688557a6aa5765d9dee47489995bbe909b6d3f4987f01bb1950a8257e5fc33ced8ebf114821bbd06524869c6fc60652ebf9ba214d5b099
-docfiles size=126
+containersize 5172
+containerchecksum 82f3e73329f18e1f55db4a6f49db1512f20fe2e0d2c2f6c23a3bbfa86d6ca6fdd53d219cfef21ae47324f91f793a0048d4c4949f8c87e0bb82f4ded70d832189
+doccontainersize 520112
+doccontainerchecksum 3235c5e5cb47e57b588fd8eb8197e8fd8823e45b3202fee89d0a16c90e14bb5e44c9e82858f6fd155cd460025de15e0353a26f28513ff54faf4eb98e6289d52e
+docfiles size=131
RELOC/doc/latex/wrapfig2/README.txt details="Readme"
RELOC/doc/latex/wrapfig2/wrapfig2.pdf details="Package documentation"
-srccontainersize 16648
-srccontainerchecksum 81c189ca03017fb259f2ee37227be4c9cc9115a5d5585687c63312e949a0e77dbd33b8bb162ea1dfa3bb459cac0d2e082b5fe84648268a4148360beafeda2301
+srccontainersize 16772
+srccontainerchecksum a28d321a93750301c2d461a18f9140d1a9eb41aa1ecce641f62cd9aca7300e90f64e64c2c13627d9824d908a959ddc14284bbf9787ba81b851df76ab58174b9b
srcfiles size=14
RELOC/source/latex/wrapfig2/wrapfig2.dtx
runfiles size=4
@@ -332268,7 +332266,7 @@ catalogue-also cutwin
catalogue-ctan /macros/latex/contrib/wrapfig2
catalogue-license lppl1.3c
catalogue-topics text-flow
-catalogue-version 4.0
+catalogue-version 4.0.1
name wsemclassic
category Package
@@ -339276,6 +339274,64 @@ catalogue-license lppl1.3c
catalogue-topics class dissertation persian xetex
catalogue-version 0.3
+name yb-book
+category Package
+revision 61484
+shortdesc Template for YB Branded Books
+relocated 1
+longdesc This template helps the author design books published on Amazon
+longdesc under the "Y.B." brand. You are welcome to use it too for your
+longdesc own books.
+depend anyfontsize
+depend biblatex
+depend changepage
+depend chngcntr
+depend csquotes
+depend enumitem
+depend fancyhdr
+depend float
+depend footmisc
+depend geometry
+depend graphics
+depend imakeidx
+depend l3packages
+depend lastpage
+depend libertine
+depend mdframed
+depend microtype
+depend paralist
+depend pgf
+depend qrcode
+depend setspace
+depend soul
+depend titlesec
+depend titlesec
+depend ulem
+depend wrapfig
+depend wrapfig
+depend xcolor
+depend xifthen
+depend xkeyval
+containersize 3948
+containerchecksum 1f73b26023c553ef747ed7db6af03e68be64b79576384f0f9a58719a1cafa8fa7e5b1cba4e605748e40990fff9a6b955defa49a61e88e1d520523e5963a05735
+doccontainersize 243272
+doccontainerchecksum 71176d67bf784433ca53e35504c5bef4ced8702e8a5a8ace096a92be06e2ce14608129dd8e6d44bdd84b83fb6b3077e72cb11c105ad43c568e6254ed85d86191
+docfiles size=65
+ RELOC/doc/latex/yb-book/DEPENDS.txt
+ RELOC/doc/latex/yb-book/README.md details="Readme"
+ RELOC/doc/latex/yb-book/samples/sample.tex
+ RELOC/doc/latex/yb-book/yb-book-logo.pdf
+ RELOC/doc/latex/yb-book/yb-book.pdf details="Package documentation"
+ RELOC/doc/latex/yb-book/yb-book.tex
+runfiles size=3
+ RELOC/tex/latex/yb-book/yb-book.cls
+catalogue-contact-bugs https://github.com/yegor256/yb-book/issues
+catalogue-contact-repository https://github.com/yegor256/yb-book
+catalogue-ctan /macros/latex/contrib/yb-book
+catalogue-license mit
+catalogue-topics class doc-templ book-pub
+catalogue-version 0.1.0
+
name ycbook
category Package
revision 46201
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index f912a65202..2c68021339 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-844f65ce2da5df7f2ec5ee1d793c0121 texlive.tlpdb
+21c210bd2a4a01802b98b14cb86d7f91 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 5fb44ef459..3a52970519 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-2c284bcfab23b2c55e21ce557f5fb60efdf129fac94436ae0a977a7dee971834a59aefa90a887ef8a6edd06621729563c0a4b26876f10793a1536aa013c624df texlive.tlpdb
+06113e2f6ac205bc40f421a98a064164d62f712a6f7524999d002652df87254941a11d7fcbf788c5673755cf1f4ad00f5e790f75a87012d4f50dfe0900c42c74 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index df7faa57c2..a737c204cc 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJh0klAAAoJEEzhh34ZQ4xwNygH/2Bk6hBJ9x8xob0OiRKG9ANi
-JVJJp7s1deQgCAU8OTlSZ+hNFXqEEShK9xheu6ZV9NanhhzxuznmxMLLC5a6nxh4
-FyRwqtRtbOpxQd+QAIBqTETUnYduf+11aYJ/jRfmwSPc9j6iMgXkCJkzlgLr2qiq
-8NBkGtVPEqunmCkWmFcM5Dn41TLRBzVps+OPu3TTDxByCiiKq2CGfCQER4g9UcdE
-zaSNbRKEkGqftCwuc9MXZvUPeTM7fRuknwor+rs1yQcduBGKgkaErtD4x/mG1X0s
-RPV6CT2JORnuP0RqLs1nQc8B7cwk0km305hOZgb10qx3tdtvPoXkvboSx5Fn4b4=
-=hVLn
+iQEcBAEBCgAGBQJh05qCAAoJEEzhh34ZQ4xw9hIIAKRKE/LK5EU0EkMsGYKI7cfX
+F/Rl0Kv+WX3dxb0WBzVyPW7KpmwVkAGPwiOgmj209173S9waa0yXl1xhuq4ul191
+ta1bTNiTEPLaygOgjN/yHYbGAbfhJnyFEKyVdQMNz7Q44Ek8Rs9BiDzhS7HM5E25
+Kn8gOKepkandz8/r7n5noKmqxJ1p+VT3CLbDzIU2URXOHfV3Ojz4M7FBeXZWAMK2
+uTFL+Rt4pnKqTCMJ54/NlNzw4EZ5toAKZ2hrMT1CQyBbijKKXassUihcKm0nxidQ
+sycJIDqhzADgQo1dc7E/nXJU1GvUq7e+3F71fJFhBS5AL1ExPfs2rxTHq8oZyfQ=
+=5oBN
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index d8ed754d51..2d03993d68 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma
index 44fc945790..6888e41644 100644
--- a/systems/win32/miktex/tm/packages/next/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/next/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index c323b9cde8..0841f95a31 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1641244749
+date=1641331152
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=b0c44ff738b3f59dea38dfd1b8f5c42c
-numpkg=5200
+lstdigest=5ffa1003a6a22d80ba1358dbb00ce6f2
+numpkg=5196
relstate=next
-version=8038
+version=8039
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: DXxtW8eSpB8DOysOImWtnmI9sSK/rRKatHChghDe21CvXmieOE876mxdaXQW+dC+vamrVyqm1kb4gTb4MtbtTJ9hRDgc087xGB7LoF64MSGUAjEl6zNFCwuj/37ICRPKgkjGiy9q4+8SGqI5rqIER2YX3DWhca5qIxLcC3Yq3qx4d9TSt3BSBAg2MxXIsi4aBzPkQ2p0E/1vXC5enhOTecDG+S1aYUadJuVRJTlaAjkzx0Cq5QJekmCRl10b2bOodWXTKdGjYkjK6EYx4SX9nE4d9OO/VKpMtfO4E0GTmLqbJZyU6B/jrspxeVG4itasBhqHQMB4I9EapiedO6eE/w==
+;;;; signature/miktex: RiqJuAEZ7/PyQo1HVQZc4qjihkbV+UHxk2ysNALyuNKNAt5WWfT9Crtrg2IH5aM0684I02qlg++YybWZtpgypaf7SuXMXXffBh5cJxlNnYxAZGkOY4ouHp+KGSNsWYFnNRA52ZmgHmto+QO+dAzv0ZgHKymbvBN5fOY8OQJDZAdCP3HDRTiqaRcwgBy/ancyqHAIEQ2jeGdQh9/S51CDtBhNjXxWKPV5IiEGO2gFPSTjOQXjnqx51j2bEvFeibGbQ1X2o0cWlB6y3CJ0TBN8h7LJgerrf+ba89fa+Z/9J0r4qC3zYMNZvJIRBd0e68PuTGXOER1Wx9AxjyJgOcUCJA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 96d6f3816c..706f8650f7 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1641244299
+date=1641330692
lastupd=asmeconf asmeconf__doc asmeconf__source babel babel__doc babel__source bfh-ci bfh-ci__doc biblatex-apa biblatex-apa__doc biblatex-apa__source biblatex-spbasic biblatex-spbasic__doc biblatex-spbasic__source calxxxx-yyyy calxxxx-yyyy__doc calxxxx-yyyy__source ccfonts ccfonts__doc ccfonts__source
-lstdigest=a44eae1b0c708848978713bc61257fd0
+lstdigest=a3b6f6f2ae10d7631597f188e20fc4b1
numpkg=5198
relstate=stable
-version=8038
+version=8039
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: R/rzd/lano2N6GF09NKEdpyhDUbZ7s6e2bCrQ8oUuuRKWjWBUiJGEpmT5KzVM/h+PNHncb3xx1p39G/LUyE1r+k/X6cVtHWmuCs/DWUr7lqSK/DAm3QdXuImOKrYez/NKIga3cW1+Xii5N/3xje91zzqCx9Dveguhwgs0mmv/sBek6SXIGpvI3WB0uX/5dJ9Jt32UqVLpUDCj1QOedAvj6eZAabis1e25HOKE28WF+lbaNDm/14eIQSW3369aYZAfKGmTqbH0qkbMDa2iNTJ1v6S79Jc/Dp+alfmBbJSLIMkgqyl5KRGitDmMKyb/JmWIU1PMG44quoihJL6d3pI4g==
+;;;; signature/miktex: PJY4AxJFeMVgwmDuyKakM0VXg3gJtiDXB46O2wWQQe0W0XD0u9/Fufk3xhrtB33vQ/5EGkzJ9+X4VoeueuvZPaEQQAEVnNzmY9NxNqE3UlSZDQn/Ta2hho7ztXKTiHUtw2/fE0IR3WgxJwvMH4NOIer51hHC+yXbflxXEmIH84uGPSRfx0PSHI0nPkFhdBYRPtAYvprGcrTxPlTpxs8qHHy6S9CNC/hkBTUplztswJlBdfNsxPBwxddlan8vBFPrJy/EAYtLJP5m9/ao4aK6NI3DW/ldkjniLRXHjcnyvlGHLp3/52hZGy2Rf8ZehPKqszoak0RXS1wgAbmRSR4LlQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 7c6156cf9b..7b63d95f39 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2022-01-04-02-02
+2022-01-05-02-02