% encoding : utf8 % tkz-elements.sty v2.25c % Copyright 2024 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. \ProvidesPackage{tkz-elements}[2024/04/27 v2.25c Graphic Object Library] \RequirePackage{luacode} \directlua{require "tkz_elements_main"} \newenvironment{tkzelements} { \directlua{scale=1} \directlua{tkz_epsilon=1e-8} \directlua{tkz_dc=2} \directlua{indirect = true} \directlua{z={} C={} E={} L={} M={} P={} Q={} R={} RP={} S={} T={} V={}} \luacode} {\endluacode} \def\tkzGetNodes{\directlua{% for K,V in pairs(z) do local n,sd,ft n = string.len(K) if n >1 then _,_,ft, sd = string.find( K , "(.+)(.)" ) if sd == "p" then K=ft.."'" end _,_,xft, xsd = string.find( ft , "(.+)(.)" ) if xsd == "p" then K=xft.."'".."'" end end tex.print("\\coordinate ("..K..") at ("..V.re..","..V.im..") ;\\\\") end} } \def\tkzUseLua#1{\directlua{tex.print(tostring(#1))}} \makeatletter \def\tkzDrawLuaEllipse{\pgfutil@ifnextchar[{\tkz@DrawLuaEllipse}{\tkz@DrawLuaEllipse[]}} \def\tkz@DrawLuaEllipse[#1](#2,#3,#4){% \begingroup \draw[#1](#2) ellipse [x radius=\tkzUseLua{length(z.#3,z.#2)}, y radius = \tkzUseLua{length(z.#4,z.#2)},rotate=\tkzUseLua{math.deg(slope_ (z.#3,z.#2))}]; \endgroup } \def\tkzDN{\pgfutil@ifnextchar[{\tkz@DN}{\tkz@DN[2]}}% \def\tkz@DN[#1]#2{% \begingroup \pgfkeys{/pgf/number format/.cd,std,precision=#1}% \pgfmathprintnumber{#2} \endgroup } \makeatother \endinput