Skip to content

About tkz-elements

About tkz-elements

About tkz-elements

tkz-elements is a Lua-based extension that brings object-oriented and symbolic geometry into the LaTeX environment. Designed to complement tkz-euclide, it delegates all computations to Lua, enabling powerful geometric constructions that go far beyond traditional compass-and-straightedge tools.

The package introduces a high-level API for geometric objects such as points, lines, circles, conics, triangles, and more. It allows symbolic manipulation, advanced constructions, transformation chains, and fine-grained control over drawing via TikZ or MetaPost.

With the introduction of version 4.00 and later, tkz-elements has evolved significantly:

  • Path objects: a new path class allows you to build and manipulate geometric paths — including curves, polygonal chains, arcs, and interpolated segments — with Lua-level control and TikZ-level rendering.
  • Lua–TikZ data exchange: points, paths, booleans, and values can now be exported or drawn via a consistent set of LaTeX macros (e.g., \tkzDrawPath, \tkzPrintNumber).
  • Improved conic section support: conics can be defined from focus/directrix/eccentricity, and support true arc generation, tangents, and intersections.
  • Triangle geometry: new methods and attributes provide full control over symmedians, bisectors, altitudes, Euler circle, and transformations on triangle vertices.
  • Transformations and inversions: direct and inverse geometric transformations are now encapsulated in reusable objects and methods.

The package is fully compatible with LuaLaTeX (recommended with TeX Live 2024 or newer), and integrates naturally with tkz-euclide version 4.15c (released May 2025 on CTAN).

If you are looking for precise, symbolic, and programmable geometric diagrams — and want to mix the expressive power of Lua with the quality of TikZ — then tkz-elements offers a unique and powerful solution.

Link to the package on CTAN tkz-elements