CTAN update: tkz-elements
Date: May 27, 2025 7:22:23 AM CEST
Alain Matthes submitted an update to the
tkz-elements
package.
Version: 4.00c 2025-05-25
License: lppl1.3
Summary description: A Lua library for drawing Euclidean geometry with TikZ or tkz-euclide
Announcement text:
This update marks a significant evolution of the tkz-elements package, both in its internal architecture and documentation structure. Beyond performance improvements, many new features have been added to expand the package's geometric capabilities and make it more accessible and modular. Documentation: A major rewrite of the documentation has been undertaken to improve clarity, consistency, and usability: Index fully corrected and rebuilt Macro indexing redesigned for greater coherence Obsolete sections removed, including the former News section New sections added: Short Contents, Getting Started, Class path, LuaLaTeX for Beginners, Global Variables and Constants, Various Functions, Module utils and Metapost. Package Enhancements: The dependency on an external "class" implementation for point has been removed. All classes now support the __call metamethod, enabling a Short Syntax for object creation. This syntax is now consistent across all classes. New Class: path. The new path class manages sequences of points, especially for geometric constructions like conic sections. Automatically generated paths are now available for: Segments, Circular arcs and Triangles. Future versions will extend this to more shapes. The path class also facilitates interactions with TikZ decorations and custom drawings. Metapost Integration: A dedicated mini-macro has been added for exporting point coordinates to MetaPost files. Functional Additions Intersection now supports "known" and "near" options for more precise control. The get_points function is still available but replaced conceptually by the get() method for most geometric classes. Option values must now be passed as strings: "swap" -- instead of swap The barycentric_coordinates function has been rewritten for better accuracy. New: trilinear_coordinates support for triangle-based calculations. New methods on line: orthogonal_at(pt, k) like colinear_at(pt, k) for direction-based extensions. Replaces old _east, _west, etc. with more geometric flexibility. Advanced Geometry New function: search_ellipse(p1, ..., p5) — Construct an ellipse passing through five points. Triangle Class Additions: adams_points, adams_circle, lamoen_points, lamoen_circle, yiu_points, yiu_circles,, yiu_triangle, circumcevian, reflection, excenter, brocard_point (first and second), kimberling (e.g., Brocard midpoint) Algebraic Capabilities Though not yet fully documented, the following functions are present and functional: gauss_jordan, gauss_jordan_rect, solve_linear_system, solve(...), solve_cubic(a, b, c, d) Fixes and Refinements triangle:point() method corrected for consistent output. get_lengths now computes correct dimensions for rectangles.
The package’s Catalogue entry can be viewed at https://ctan.org/pkg/tkz-elements The package’s files themselves can be inspected at https://mirrors.ctan.org/macros/latex/contrib/tkz/tkz-elements/
Thanks for the upload. For the CTAN Team Petra Rübe-Pugliese
CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs
This update marks a significant evolution of the tkz-elements package, both in its internal architecture and documentation structure. Beyond performance improvements, many new features have been added to expand the package's geometric capabilities and make it more accessible and modular. Documentation: A major rewrite of the documentation has been undertaken to improve clarity, consistency, and usability: Index fully corrected and rebuilt Macro indexing redesigned for greater coherence Obsolete sections removed, including the former News section New sections added: Short Contents, Getting Started, Class path, LuaLaTeX for Beginners, Global Variables and Constants, Various Functions, Module utils and Metapost. Package Enhancements: The dependency on an external "class" implementation for point has been removed. All classes now support the __call metamethod, enabling a Short Syntax for object creation. This syntax is now consistent across all classes. New Class: path. The new path class manages sequences of points, especially for geometric constructions like conic sections. Automatically generated paths are now available for: Segments, Circular arcs and Triangles. Future versions will extend this to more shapes. The path class also facilitates interactions with TikZ decorations and custom drawings. Metapost Integration: A dedicated mini-macro has been added for exporting point coordinates to MetaPost files. Functional Additions Intersection now supports "known" and "near" options for more precise control. The get_points function is still available but replaced conceptually by the get() method for most geometric classes. Option values must now be passed as strings: "swap" -- instead of swap The barycentric_coordinates function has been rewritten for better accuracy. New: trilinear_coordinates support for triangle-based calculations. New methods on line: orthogonal_at(pt, k) like colinear_at(pt, k) for direction-based extensions. Replaces old _east, _west, etc. with more geometric flexibility. Advanced Geometry New function: search_ellipse(p1, ..., p5) — Construct an ellipse passing through five points. Triangle Class Additions: adams_points, adams_circle, lamoen_points, lamoen_circle, yiu_points, yiu_circles,, yiu_triangle, circumcevian, reflection, excenter, brocard_point (first and second), kimberling (e.g., Brocard midpoint) Algebraic Capabilities Though not yet fully documented, the following functions are present and functional: gauss_jordan, gauss_jordan_rect, solve_linear_system, solve(...), solve_cubic(a, b, c, d) Fixes and Refinements triangle:point() method corrected for consistent output. get_lengths now computes correct dimensions for rectangles.
The package’s Catalogue entry can be viewed at https://ctan.org/pkg/tkz-elements The package’s files themselves can be inspected at https://mirrors.ctan.org/macros/latex/contrib/tkz/tkz-elements/
Thanks for the upload. For the CTAN Team Petra Rübe-Pugliese
CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs
tkz-elements – A Lua library for drawing Euclidean geometry with TikZ or tkz-euclide
This package provides a library written in Lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with LuaLaTeX. The definitions and calculations are only done with Lua.
The main possibility of programmation proposed is oriented “object programming” with object classes like point, line, triangle, circle and now, conic. For the moment, once the calculations are done, it is tkz-euclide or TikZ which allows the drawings.
Package | tkz-elements |
Version | 4.10c 2025-06-10 |
Copyright | 2024–2025 Alain Matthes |
Maintainer | Alain Matthes |