# Directory `macros/latex/contrib/tkz/tkz-euclide`

# tkz-euclide — for euclidean geometry

Release 5.10c 2024/04/27

## 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 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. Now tkz-euclide introduces a `lua`

option which allows to do most of the calculations using `lua`

. A new option mini has been introduced. When one wishes to use tkz-euclide and tkz-elements together, it is recommended to load the package with this option. Thus, tkz-euclide will focus solely on the drawings.

## Licence

This package may be modified and distributed under the terms and conditions of the LaTeX Project Public License, version 1.3 or greater.

## Requirements

The package compiles with utf8 and pdflatex or lualatex, loads and depends on updated versions of:

## Installation

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 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`

:

## How to use it

To use the package `tkz-euclide`

, place the following lines in the preamble of your LaTeX document:

\usepackage{tkz-euclide} \begin{document} \begin{tikzpicture} your code \end{tikzpicture}

This code can be compiled using either `pdflatex`

or `lualatex`

. In the latter case, the `lua`

option allows most calculations to be performed with `lua`

. If you do the calculations with `tkz-elements`

then you can load `tkz-euclide`

with the `mini`

option. If you use the `xcolor`

package, load that package before `tkz-euclide`

to avoid package conflicts.

## Documentation

Documentation for `tkz-euclide`

is available on `CTAN`

. A french version of the documentation is now available on my website http://altermundus.fr

## Examples

All examples given in documentation will be stored on my site : http://altermundus.fr as standalone files, ready for compilation.

Other examples, in French, are on my site.

## History

- 5.10c
- tkz-tool-eu-angles.arc.tex has been extracted from the file tkz-tool-eu-angles.tex
- Added
`mini`

option- Added french documentation on my site (altermundus.fr)

- Added

- tkz-tool-eu-angles.arc.tex has been extracted from the file tkz-tool-eu-angles.tex
- 5.06c
- Correction of a bug with the macro tkzLabelAngle and the option “angle”
- Added tkzSetUpCircle
- Correction of some typos
- Remove some french texts

- Correction of a bug with the macro tkzLabelAngle and the option “angle”
- 5.05c Correction of the documentation.

- 5.04c Some files have been renamed.

- 5.03c Correction of the file tkz-obj-lua-points-spc.tex. Bug in the macro
`\tkzDefBarycentricPointTwo`

. Add macro |tkzDrawEllipse|;

- 5.02c Correction of the file tkz-lib-eu-shape.tex. Remove duplicate macro inside tkz-draw-eu-points.tex (ex tkz-obj-eu-draw-points.tex);

- 5.01c Correction of the date of the file tkz-euclide.sty. Cleaned up the file tkz-tools-lua-math.tex. Added file tkz-obj-eu-points-spc.tex;

- 5.00c Added the "lua" option to the package, allowing to perform most of the calculations with "lua". This saves time and precision;

- 4.25c Remove input{tkz-obj-eu-draw-triangles.tex} from the list of files to load.

- 4.24c Correction of a bug in the macro
`\tkzMarkAngle`

; Modification of the macro`\tkzDefCircle[apollonius]`

;

`\tkzDrawSemiCircle`

, Modification of `\tkzDefRadicalAxis`

, Remove old codes, Correction of the documentation;`\tkzMarkAngle`

; Correction of the documentation: Remove options R, diameter of the macro `\tkzDrawCircle`

. To draw a circle you must use two points: the center and a point of the circle. `\tkzDefPointOnCircle`

: forgotten "in rad" in the documentation.Complement in the documentation for the macro `\tkzDefCircle[R](....)`

. You can use either `\tkzGetPoints{o}{x}`

or either `\tkzGetPoints{x}`

.

- 4.21c the package archive was corrupted, all the "|" disappeared ...

- 4.2c.

Now `\tkzDefCircle`

gives two points as results: the center of the circle and a point of the circle. When a point of the circle is known, it is enough to use `\tkzGetPoint`

or `\tkzGetFirstPoint`

to get the center, otherwise `\tkzGetPoints`

will give you the center and a point of the circle. You can always get the length of the radius with `\tkzGetLength`

. I wanted to favor working with nodes and banish the appearance of numbers in the code.

In order to isolate the definitions, I deleted or modified certain macros which are: `\tkzDrawLine`

, `\tkzDrawTriangle`

, `\tkzDrawCircle`

, `\tkzDrawSemiCircle`

and `\tkzDrawRectangle`

;

Thus `\tkzDrawSquare(A,B)`

becomes `\tkzDefSquare(A,B)`

`\tkzGetPoints{C}{D}`

then

`\tkzDrawPolygon(A,B,C,D)`

;

If you want to draw a circle, you can't do so tkzDrawCircleR . First you have to define the point through which the circle passes, so you have to do `\tkzDefCircle[R](A,1)`

`\tkzGetPoint{a}`

and finally `\tkzDrawCircle(A,a)`

. Another possibilty is to define a point on the circle `\tkzDefShiftPoint[A](1,O){a}`

;

The following macros `\tkzDefCircleBy[orthogonal through]`

and `\tkzDefCircleBy[orthogonal from]`

become `\tkzDefCircle[orthogonal through]`

and `\tkzDefCircle[orthogonal from]`

;

`\tkzDefLine[euler](A,B,C)`

is a macro that allows you to obtain the line of `Euler`

when possible. `\tkzDefLine[altitude](A,B,C)`

is possible again, as well as `\tkzDefLine[tangent at=A](O)`

and `\tkzDefLine[tangent from=P](O,A)`

which did not works;

`\tkzDefTangent` is replaced by \tkzDelLine[tangent from = ...] or \tkzDelLine[tangent at = ...]

I added the macro `\tkzPicAngle[tikz options](A,B,C)`

for those who prefer to use TIKZ.

The order of the arguments of the macro `\tkzDefPointOnCircle`

has changed: now it is center, angle and point or radius. I have added two options for working with radians which are `through in rad`

and `R in rad`

.

I added the option `reverse`

to the arcs paths. This allows to reverse the path and to reverse if necessary the arrows that would be present.

I have unified the styles for the labels. There is now only `label style`

left which is valid for points, segments, lines, circles and angles. I have deleted `label seg style`

`{label line style`

and `label angle style`

I added the macro `\tkzFillAngles`

to use several angles.

Correction option `return`

with `tkzProtractor`

As a reminder, the following changes have been made previously:

`\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 ;

`\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`

;

The circle inversion was badly defined so I rewrote the macro. The input arguments are always the center and a point of the circle, the output arguments are the center of the image circle and a point of the image circle or two points of the image line if the antecedent circle passes through the pole of the inversion. If the circle passes the inversion center, the image is a straight line, the validity of the procedure depends on the choice of the point on the antecedent circle;

Correct allocation for gold sublime and euclide triangles;

I added the option " next to" for the intersections LC and CC;

Correction option isoceles right;

`\tkzDefMidArc(O,A,B)`

gives the middle of the arc center $O$ from $A$ to $B$;

Good news : Some useful tools have been added. They are present on an experimental basis and will undoubtedly need to be improved;

The options "orthogonal from and through" depend now of `tkzDefCircleBy`

`\tkzDotProduct(A,B,C)` computes the scalar product in an orthogonal reference system of the vectors $\overrightarrow{A,B}$ and $\overrightarrow{A,C}$.

`\tkzDotProduct(A,B,C)=aa'+bb' if vec{AB} =(a,b) and vec{AC} =(a',b')`

`\tkzPowerCircle(A)(B,C)` power of point $A$ with respect to the circle of center $B$ passing through $C$;

`\tkzDefRadicalAxis(A,B)(C,D)` Radical axis of two circles of center $A$ and $C$;

Some tests : `\tkzIsOrtho(A,B,C)`

and `\tkzIsLinear(A,B,C)`

The first indicates whether the lines AB and AC are orthogonal. The second indicates whether the points $A$, $B$ and $C$ are aligned;

`\tkzIsLinear(A,B,C)`

if A, B, C are aligned then tkzLineartrue you can use `\iftkzLinear`

(idem for `\tkzIsOrtho`

);

A style for vectors has been added that you can of course modify `\tikzset{vector style/.style={>=Latex,->}}`

;

Now it's possible to add an arrow on a line or a circle with the option tkz arrow .

- 4.05b
`\tkzInterLC`

new option near new method to choice the points`\tkzInterCC`

new method to choice the points`\tkzDefTangent`

add method to choice the points`\tkzTestInterLC`

and`\iftkzFlagLC`

`\tkzTestInterLC`

and`\iftkzFlagCC`

`\tkzDefHarmonic` option ext int both then node or R

` \tkzDefGoldenRatio`

new macro `\tkzSwapPoints`

Exchange two points `\tkzPermute `

Permutation of two points of a triangle `\tkzDefPointsBy`

option rotation with nodes no need to know the angle ` \tkzMarkArc`

and `\tkzLabelArc`

`\tkzDefPointOnCircle[angle=30,center=K1,radius=\rAp]` becomes `\tkzDefPointOnCircle[R= angle 30 center K1 radius \rAp]` Added `\tkzDefPointOnCircle[through= angle 30 center K1 point \rAp]` Added some styles to place arrow "tkz arrow" and "tkz arrows" Added " line cap =round" and "line join =round" to all the constructions Added information about angles in the documentation

`tkzFirstPointResult`

. In other cases, for the intersection of two circles the determined points form angles with the centers of the circles. One of the angles measures less than 180 degrees and the other more than 180. The smaller one determines `tkzFirstPointResult`

.For the intersection of a line and a circle, the method is the same except that the angle is formed by a point on the line and the center of the circle.

- 4.01

`\tkzDefOrthogonalCircle`

was defined twice so I deleted the version in tkz-obj-eu-circles-by

In the tkz-obj-eu-draw-lines.tex new code for add dim from muzimuzhi Z. The code comes from an answer on the site tex.stackexchange.com

In the file tkz-obj-eu-draw-triangles.tex added options pythagoras and egyptian equivalent to pythagore euclid equivalent to euclide two one equivalent to half

Added option "swap" useful with golden, gold, school, half, pythagorasIn the file tkz-obj-eu-circles correction of bug in `\tkzDefOrthoThroughCircle`

: `\tkz@@CalcLength`

has been replaced by `\tkz@@CalcLengthcm `

`\tkzDefGoldenRatio`

in tkz-obj-eu-points-spc. It allows to split a segment with a ratio equal to the golden ratioMinor corrections of the documentation. New examples about option "dim"

- 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.
- 3.01 replacement
`fp`

for`xfp`

, addition of some macros, correction of bugs - 1.16 correction of bugs
- 1.13 first version

## Author

Alain Matthes, 5 rue de Valence, Paris 75005, al (dot) ma (at) mac (dot) com

Download the contents of this package in one zip archive (1.2M).

## tkz-euclide – Tools for drawing Euclidean geometry

The tkz-euclide package is a set of files designed to give math teachers and students easy access to the programming of Euclidean geometry with TikZ.

Package | tkz-euclide |

Home page | https://altermundus.fr |

Version | 5.10c |

Licenses | The LaTeX Project Public License 1.3 |

Copyright | 2024 Alain Matthes |

Maintainer | Alain Matthes |

Contained in | TeX Live as tkz-euclide MiKTeX as tkz-euclide |

Topics | PGF TikZ Graphics use Maths Use luatex |

See also | eukleides pst-eucl |