summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-elements/README.md
blob: 75744500d44147808b76ec1ef58d8425193ea325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# tkz-elements — for euclidean geometry

Release 1.40c 2023/12/03

## Description

`tkz-elements v.1.40c` is the new version of 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`. With `tkz-elements`, 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 ellipse.  For the moment, once the calculations are done, it is `tkz-euclide` or `TikZ` which allows the drawings.

## Licence

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 and lualatex. You need actually to load:

- [tkz-euclide](https://ctan.org/pkg/tkz-euclide)
-  or [tikz](https://ctan.org/pkg/tikz)

## Installation

The package `tkz-elements` is  present in TeXLive and MiKTeX, use the package
manager to install.

You can experiment with the `tkz-elements` 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-elements`, place the following lines in the preamble of
your LaTeX document:

```
\usepackage{tkz-euclide,tkz-elements}
\begin{document}
\begin{tkzelements}
    your code
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
    your code
\end{tikzpicture}
```

If you use the `xcolor` package, load that package before `tkz-euclide` to avoid
package conflicts.

## Examples

Some  examples  will be stored on my site : [http://altermundus.fr](http://altermundus.fr). 

## History
   - Version 1.40c Restructuring objects
   
      New version for all transformations. Now, they accept all objects as parameters. 
      
      Symmetry_axial has changed its name to reflection.
      
      Added scale to north south etc.. (point object).
      
      Change the "point" method of the objects  circle  and ellipse. now the parameter is un real t (between 0 and 1) and not an angle
 
      Added the method `check_equilateral` to know if a triangle is equilateral.
 
 
      Added option "indirect" to the method equilateral for a  line object.
      
      Correction of the documentation. (Added sections).
      
      
   
   
   - Version 1.20 Memory management: tables are emptied when the tkzelements environment is opened.

   
   `set_lua_to_tex` has been replaced by `tkzUseLua` to transfer data between the `tkzelements` and `tikzpicture` environments.
   
   New version of `inversion` with respect to a circle method. It selects the correct algorithm based on the object passed as a parameter.
   
   Added an `in_out_disk` method for the `circle` object, which indicates whether or not a point is in the disk. `in_out` is for the circle.
   
   Added two methods: `radical_center (C1,C2,C3)`  radical center of three circles.
   `radical_circle (C1,C2,C3)` orthogonal circle of three circles.
   
   Added function `circle : radius` to define a circle with a centre and a radius.
   
   Added methods `normalize` and  `normalize_inv`  for `line`. 
   
   Added methods `translation` and `set_translation` to the `line` object. 
   
   Added  an example to illustrate combinations of methods and attributes.
     
   - First version 1.00b 

## Author

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