% tkz-tools-misc.tex
% 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.

\def\fileversion{4.21c}
\def\filedate{2024/01/16} 
\typeout{2024/01/16 4.21c   tkz-tools-misc.tex}   
\makeatletter
%<--------------------------------------------------------------------------–>
%                                 hline  pb  avec line
%<--------------------------------------------------------------------------–>
\def\tkzHLine{\pgfutil@ifnextchar[{\tkz@HLine}{\tkz@HLine[]}}  
\def\tkz@HLine[#1]#2{%
\begingroup
 \edef\tkz@ptya{\fpeval{(#2-\tkz@init@yorigine)/\tkz@init@ystep}}
 \draw[#1] (\tkz@xa,\tkz@ptya)--(\tkz@xb,\tkz@ptya);%
\endgroup
}
%<--------------------------------------------------------------------------–>
%                                 hlines  pb  avec line
%<--------------------------------------------------------------------------–>
\def\tkzHLines{\pgfutil@ifnextchar[{\tkz@HLines}{\tkz@HLines[]}}  
\def\tkz@HLines[#1]#2{%
 \begingroup 
 \foreach \tkz@vy in {#2}{%
  \edef\my@tkz@vy{\fpeval{(\tkz@vy)}}
  \tkz@HLine[#1]{\my@tkz@vy}}   
\endgroup
}  
%<--------------------------------------------------------------------------->
%                                      vline
%<--------------------------------------------------------------------------->
\def\tkzVLine{\pgfutil@ifnextchar[{\tkz@VLine}{\tkz@VLine[]}}
\def\tkz@VLine[#1]#2{%
\begingroup
  \edef\tkz@ptxa{\fpeval{(#2-\tkz@init@xorigine)/\tkz@init@xstep}}
  \draw[#1](\tkz@ptxa,\tkz@ya)--(\tkz@ptxa,\tkz@yb);
\endgroup
}  
%<--------------------------------------------------------------------------->
%                                      vlines
%<--------------------------------------------------------------------------->
\def\tkzVLines{\pgfutil@ifnextchar[{\tkz@VLines}{\tkz@VLines[]}}
\def\tkz@VLines[#1]#2{%
\begingroup  
 \foreach \tkz@vx in {#2}{% 
   \edef\my@tkz@vx{\fpeval{(\tkz@vx)}} 
   \tkz@VLine[#1]{\my@tkz@vx}}  
\endgroup
} 
%<--------------------------------------------------------------------------–>
\def\tkzHTick{\pgfutil@ifnextchar[{\tkz@HTick}{\tkz@HTick[]}}  
\def\tkz@HTick[#1]#2{%
 \begingroup  
 \edef\tkz@ptxa{\fpeval{(round(#2,5)-\tkz@init@xorigine)/\tkz@init@xstep}}
 \draw plot[mark style,#1] coordinates {(\tkz@ptxa,0)};  
\endgroup
}
\def\tkzHTicks{\pgfutil@ifnextchar[{\tkz@HTicks}{\tkz@HTicks[]}}  
\def\tkz@HTicks[#1]#2{%
 \begingroup 
	\foreach \tkz@hy in {#2} {\tkz@HTick[#1]{\tkz@hy}}
\endgroup
}
%<--------------------------------------------------------------------------–>
\def\tkzVTick{\pgfutil@ifnextchar[{\tkz@VTick}{\tkz@VTick[]}}  
\def\tkz@VTick[#1]#2{%
 \begingroup
 \edef\tkz@ptya{\fpeval{(round(#2,5)-\tkz@init@yorigine)/\tkz@init@ystep}}
 \draw plot[mark style,#1] coordinates {(0,\tkz@ptya)};
\endgroup
}
%<--------------------------------------------------------------------------–>
\def\tkzVTicks{\pgfutil@ifnextchar[{\tkz@VTicks}{\tkz@VTicks[]}}  
\def\tkz@VTicks[#1]#2{%
\begingroup 
	\foreach \tkz@hy in {#2} {\tkz@VTick[#1]{\tkz@hy}}
\endgroup
} 
\makeatother
\endinput