texlive[68592] Master/texmf-dist: outilsgeomtikz (19oct23)

commits+karl at tug.org commits+karl at tug.org
Thu Oct 19 22:04:33 CEST 2023


Revision: 68592
          https://tug.org/svn/texlive?view=revision&revision=68592
Author:   karl
Date:     2023-10-19 22:04:33 +0200 (Thu, 19 Oct 2023)
Log Message:
-----------
outilsgeomtikz (19oct23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/outilsgeomtikz/OutilsGeomTikz-doc.pdf
    trunk/Master/texmf-dist/doc/latex/outilsgeomtikz/OutilsGeomTikz-doc.tex
    trunk/Master/texmf-dist/tex/latex/outilsgeomtikz/OutilsGeomTikz.sty

Modified: trunk/Master/texmf-dist/doc/latex/outilsgeomtikz/OutilsGeomTikz-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/outilsgeomtikz/OutilsGeomTikz-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/outilsgeomtikz/OutilsGeomTikz-doc.tex	2023-10-19 16:56:04 UTC (rev 68591)
+++ trunk/Master/texmf-dist/doc/latex/outilsgeomtikz/OutilsGeomTikz-doc.tex	2023-10-19 20:04:33 UTC (rev 68592)
@@ -4,8 +4,8 @@
 
 \documentclass[french,a4paper,11pt]{article}
 \usepackage[margin=2cm,includefoot]{geometry}
-\def\TPversion{0.1.2}
-\def\TPdate{22 mai 2023}
+\def\TPversion{0.1.4}
+\def\TPdate{18 octobre 2023}
 \usepackage[table,svgnames]{xcolor}
 \usepackage[bold-style=ISO,math-style=french]{concmath-otf}
 %\usepackage[bold-style=ISO,math-style=french]{unicode-math}
@@ -39,12 +39,7 @@
 \let\TikZ\tikzlogo
 \newcommand\TableauDocumentation{%
 	\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
-		{\LARGE \LaTeX} & & & & &\\
-		& {\LARGE \hologo{pdfLaTeX}} & & & & \\
-		& & {\LARGE \hologo{LuaLaTeX}} & & & \\
-		& & & {\LARGE \TikZ} & & \\
-		& & & & {\LARGE \TeXLive} & \\
-		& & & & & {\LARGE \hologo{MiKTeX}} \\
+		{\large \LaTeX} & {\large \hologo{pdfLaTeX}} & {\large \hologo{LuaLaTeX}} & {\large \TikZ} & {\large \TeXLive} & {\large \hologo{MiKTeX}} \\
 	\end{tblr}
 }
 
@@ -171,14 +166,14 @@
 	\tkzRapporteur[Complet,Echelle=0.5,Origine={(13,3.25)},Rotation=25,Fond,CouleurFond=orange]
 \end{tikzpicture}\hfill~
 
-%\vspace{0.5cm}
-%
-%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !}
-
 \smallskip
 
 \vfill
 
+\hfill\textit{Merci à Arnaud pour ses retours et idées !!}
+
+\vfill
+
 \hrule
 
 \medskip
@@ -202,12 +197,16 @@
 
 \part{Historique}
 
-\verb|v0.1.2|~:~~~~Ajout de la \textit{règle-repère}
+\verb|v0.1.4 : |Possibilité de positionner certains outils avec deux points (angle calculé automatiquement)
 
-\verb|v0.1.1|~:~~~~Correction d'un bug avec une ancienne syntaxe [join=...]
+\verb|v0.1.3 : |Ajout du \textit{pourcenteur}
 
-\verb|v0.1.0|~:~~~~Version initiale.
+\verb|v0.1.2 : |Ajout de la \textit{règle-repère}
 
+\verb|v0.1.1 : |Correction d'un bug avec une ancienne syntaxe \textsf{[join=...]}
+
+\verb|v0.1.0 : |Version initiale.
+
 \vspace{1cm}
 
 \newpage
@@ -225,7 +224,8 @@
 	\item un crayon ;
 	\item une règle graduée ;
 	\item une équerre graduée (30/60) ;
-	\item un rapporteur (180 ou 360);
+	\item un rapporteur (180 ou 360) ;
+	\item un pourcenteur ;
 	\item une réquerre graduée ;
 	\item une \og règle-repère \fg{} graduée ;
 	\item une \og rappéquerre \fg{} graduée ;
@@ -283,7 +283,7 @@
 \begin{itemize}
 	\item le \textit{nom} de la commande est sous la forme \texttt{\textbackslash tkz<Outil>} ;
 	\item les outils ont été créés, en \TikZ, avec comme unité de base le centimètre ;
-	\item pour certains outils, des dimensions minimales sont requises pour un aspect conforme et acceptable ;
+	\item pour certains outils, des dimensions minimales sont requises pour un aspect acceptable ;
 	\item les options personnalisables sont (sauf exceptions) :
 	\begin{itemize}
 		\item la \textit{taille} ;
@@ -290,7 +290,8 @@
 		\item l'\textit{échelle} globale ou l'\textit{échelle} des éventuels labels ;
 		\item les \textit{couleurs} ;
 		\item le \textit{fond} (couleur et opacité) ;
-		\item la position (\textit{placement} et/ou \textit{rotation}).
+		\item la position (\textit{placement} et/ou \textit{rotation}) ;
+		\item un \textit{placement automatique} avec la données de 2 points.
 	\end{itemize}
 \end{itemize}
 \vspace*{-\baselineskip}\leavevmode
@@ -301,12 +302,10 @@
 \begin{cautionblock}
 Les outils disponibles sont à insérer dans un environnement \TikZ, et pour le moment il existe :
 \begin{itemize}
-	\item \texttt{\textbackslash tkzRegle} ;
-	\item \texttt{\textbackslash tkzEquerre} ;
-	\item \texttt{\textbackslash tkzRapporteur} ;
-	\item \texttt{\textbackslash tkzRequerre} ;
+	\item \texttt{\textbackslash tkzRegle} et \texttt{\textbackslash tkzRegleRepere} ;
+	\item \texttt{\textbackslash tkzEquerre} et \texttt{\textbackslash tkzRequerre} ;
+	\item \texttt{\textbackslash tkzRapporteur} et \texttt{\textbackslash tkzPourcenteur} ;
 	\item \texttt{\textbackslash tkzRappequerre} ;
-	\item \texttt{\textbackslash tkzRegleRepere} ;
 	\item \texttt{\textbackslash tkzCompas} ;
 	\item \texttt{\textbackslash tkzCrayon}.
 \end{itemize}
@@ -317,6 +316,7 @@
 \tkzRegle[clés]
 \tkzEquerre[clés]
 \tkzRapporteur[clés]
+\tkzPourcenteur[clés]
 \tkzRequerre[clés]
 \tkzRappEquerre[clés]
 \tkzRegleRepere[clés]
@@ -432,7 +432,8 @@
 	
 	\hfill~(défaut : \Cle{m})
 \end{itemize}
-\vspace*{-\baselineskip}\leavevmode
+
+À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable !
 \end{tipblock}
 
 \begin{noteblock}
@@ -445,8 +446,10 @@
 
 \begin{PresentationCode}{listing only}
 %environnement tikz
+\coordinate (K) at (1,-3) ;
+\coordinate (C) at (6,-8) ;
 \tkzRegle[Fond,CouleurFond=red]
-\tkzRegle[Longueur=13,Largeur=2,Rotation=-45,Couleur=ForestGreen, Origine={(1,-3)},Fond,PosVal=hb]
+\tkzRegle[Longueur=13,Largeur=2,Rotation=auto/C,Couleur=ForestGreen, Origine=K,Fond,PosVal=hb]
 \tkzRegle[Largeur=1.25,Longueur=9,Couleur=blue,Rotation=20,Origine={(0,3)}, AfficheValeurs=false]
 \end{PresentationCode}
 
@@ -453,9 +456,11 @@
 \begin{PresentationCode}{text only}
 \begin{tikzpicture}
 	\affichegrille{-1}{13}{-14}{7}
-	\pointsutiles{(0,0),(1,-3),(0,3)}
+	\coordinate (K) at (1,-3) ;
+	\coordinate (C) at (6,-8) ;
+	\pointsutiles{(0,0),(1,-3),(0,3),(6,-8)}
 	\tkzRegle[Fond,CouleurFond=red]
-	\tkzRegle[Longueur=13,Largeur=2,Rotation=-45,Couleur=ForestGreen,Origine={(1,-3)},Fond,PosVal=hb]
+	\tkzRegle[Longueur=13,Largeur=2,Rotation=auto/C,Couleur=ForestGreen, Origine=K,Fond,PosVal=hb]
 	\tkzRegle[Largeur=1.25,Longueur=9,Couleur=blue,Rotation=20,Origine={(0,3)},AfficheValeurs=false]
 \end{tikzpicture}
 \end{PresentationCode}
@@ -498,7 +503,8 @@
 	
 	\hfill~(défaut : \Cle{false})
 \end{itemize}
-\vspace*{-\baselineskip}\leavevmode
+
+À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable !
 \end{tipblock}
 
 \begin{noteblock}
@@ -511,17 +517,21 @@
 
 \begin{PresentationCode}{listing only}
 %environnement tikz
+\coordinate (U) at (1,-5) ;
+\coordinate (V) at (9,-7) ;
 \tkzRegleRepere[Fond,CouleurFond=red]
-\tkzRegleRepere[Longueur=8,Rotation=-15,Couleur=ForestGreen, Origine={(1,-5)},Fond,AfficheValeurs=false]
+\tkzRegleRepere[Longueur=8,Rotation=auto/V,Couleur=ForestGreen, Origine=U,Fond,AfficheValeurs=false]
 \tkzRegleRepere[Longueur=18,Echelle=0.5,Couleur=blue,Rotation=20, Origine={(3,3.25)},Retourne]
 \end{PresentationCode}
 
 \begin{PresentationCode}{text only}
 \begin{tikzpicture}
-	\affichegrille{-1}{13}{-12}{7}
-	\pointsutiles{(0,0),(1,-5),(3,3.25)}
+	\affichegrille{-1}{13}{-11}{7}
+	\coordinate (U) at (1,-5) ;
+	\coordinate (V) at (9,-7) ;
+	\pointsutiles{(0,0),(1,-5),(3,3.25),(9,-7)}
 	\tkzRegleRepere[Fond,CouleurFond=red]
-	\tkzRegleRepere[Longueur=8,Rotation=-15,Couleur=ForestGreen, Origine={(1,-5)},Fond,AfficheValeurs=false]
+	\tkzRegleRepere[Longueur=8,Rotation=auto/V,Couleur=ForestGreen, Origine=U,Fond,AfficheValeurs=false]
 	\tkzRegleRepere[Longueur=18,Echelle=0.5,Couleur=blue,Rotation=20,Origine={(3,3.25)},Retourne]
 \end{tikzpicture}
 \end{PresentationCode}
@@ -556,15 +566,20 @@
 	\item le booléen \Cle{Fond} pour afficher une couleur de fond pour l'équerre ;\hfill~(défaut : \Cle{false})
 	\item \Cle{CouleurFond} pour la couleur du fond de l'équerre ;\hfill~(défaut : \Cle{black})
 	\item \Cle{Opacite} pour régler l'opacité du fond de l'équerre ;\hfill~(défaut : \Cle{0.5})
-	\item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true})
+	\item le booléen \Cle{PetitCote} dans le cas d'un placement par deux points. \hfill~(défaut \Cle{false})
 \end{itemize}
-\vspace*{-\baselineskip}\leavevmode
+
+À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable !
+
+Le booléen \Cle{PetitCote} permet de forcer le placement de l'équerre sur le petit côté.
 \end{tipblock}
 
 \begin{PresentationCode}{listing only}
 %environnement tikz
+\coordinate (P) at (8,6) ;
+\coordinate (Q) at (11,10) ;
 \tkzEquerre[Fond]
-\tkzEquerre[Echelle=0.5,Origine={(8,6)},Couleur=DarkBlue,Rotation=-45]
+\tkzEquerre[Echelle=0.61,Origine=P,Couleur=DarkBlue,Rotation=auto/Q]
 \tkzEquerre[Longueur=10,Origine={(2.5,-1)},Couleur=red,Rotation=-105]
 \end{PresentationCode}
 
@@ -571,9 +586,11 @@
 \begin{PresentationCode}{text only}
 \begin{tikzpicture}
 	\affichegrille{-1}{13}{-7}{11}
-	\pointsutiles{(0,0),(8,6),(2.5,-1)}
+	\coordinate (P) at (8,6) ;
+	\coordinate (Q) at (11,10) ;
+	\pointsutiles{(0,0),(8,6),(2.5,-1),(11,10)}
 	\tkzEquerre[Fond]
-	\tkzEquerre[Echelle=0.5,Origine={(8,6)},Couleur=DarkBlue,Rotation=-45]
+	\tkzEquerre[Echelle=0.61,Origine=P,Couleur=DarkBlue,Rotation=auto/Q]
 	\tkzEquerre[Longueur=10,Origine={(2.5,-1)},Couleur=red,Rotation=-105]
 \end{tikzpicture}
 \end{PresentationCode}
@@ -642,6 +659,64 @@
 
 \pagebreak
 
+\pagebreak
+
+\section{Le pourcenteur}
+
+\subsection{La commande}
+
+\begin{cautionblock}
+Le package propose l'outil \textsf{Pourcenteur}.
+
+La forme générale du rapporteur (largeur $6$~cm) est \textit{fixée}, mais le pourcenteur peut être \textit{personnalisé}.
+\end{cautionblock}
+
+\begin{PresentationCode}{tikz lower}
+\tkzPourcenteur
+\end{PresentationCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Quelques \Cle{clés} de personnalisation sont disponibles :
+
+\begin{itemize}
+	\item \Cle{Origine} pour le placer le pourcenteur (au niveau du \textit{centre}) ;\hfill~(défaut : \Cle{\{(0,0)\}})
+	\item \Cle{Rotation} pour pivoter le pourcenteur (au niveau du \textit{centre}) ;\hfill~(défaut : \Cle{0})
+	\item \Cle{Echelle} pour l'échelle globale du pourcenteur ;\hfill~(défaut : \Cle{1})
+	\item \Cle{Couleur} pour la couleur des éléments du pourcenteur ;\hfill~(défaut : \Cle{black})
+	\item le booléen \Cle{Fond} pour afficher une couleur de fond ;\hfill~(défaut : \Cle{false})
+	\item \Cle{CouleurFond} pour la couleur du fond du pourcenteur ;\hfill~(défaut : \Cle{black})
+	\item \Cle{Opacite} pour régler l'opacité du fond du pourcenteur ;\hfill~(défaut : \Cle{0.5})
+	\item le booléen \Cle{Decoration} pour afficher les \textit{décorations d'intérieur} ; \hfill~(défaut : \Cle{true})
+	\item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des pourcentages.\hfill~(défaut : \Cle{true})
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\pagebreak
+
+\begin{PresentationCode}{listing only}
+%environnement tikz
+\tkzPourcenteur[Fond,CouleurFond=purple]
+\tkzPourcenteur[Origine={(7,1)},Rotation=-45,Couleur=ForestGreen,Echelle=0.75]
+\tkzPourcenteur[Decoration=false,AfficheValeurs=false,Origine={(9,-4)},Rotation=30, Couleur=DarkBlue,Fond,CouleurFond=DarkBlue,Echelle=0.66]
+\tkzPourcenteur[Origine={(3,-4)},Rotation=90,Couleur=orange,Fond,CouleurFond=orange, Echelle=0.33]
+\end{PresentationCode}
+
+\begin{PresentationCode}{text only}
+\begin{tikzpicture}
+	\affichegrille{-4}{11}{-7}{4}
+	\pointsutiles{(0,0),(7,1),(9,-4)}
+	\tkzPourcenteur[Fond,CouleurFond=purple]
+	\tkzPourcenteur[Origine={(7,1)},Rotation=-45,Couleur=ForestGreen,Echelle=0.75]
+	\tkzPourcenteur[Decoration=false,AfficheValeurs=false,Origine={(9,-4)},Rotation=30,Couleur=DarkBlue, Fond,CouleurFond=DarkBlue,Echelle=0.66]
+	\tkzPourcenteur[Origine={(3,-4)},Rotation=90,Couleur=orange, Fond,CouleurFond=orange,Echelle=0.33]
+\end{tikzpicture}
+\end{PresentationCode}
+
+\pagebreak
+
 \section{La réquerre}
 
 \subsection{La commande}
@@ -673,23 +748,28 @@
 	\item \Cle{Opacite} pour régler l'opacité du fond de la réquerre ;\hfill~(défaut : \Cle{0.5})
 	\item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true})
 \end{itemize}
-\vspace*{-\baselineskip}\leavevmode
+
+À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable !
 \end{tipblock}
 
 \begin{PresentationCode}{listing only}
 %environnement tikz
+\coordinate (F) at (1,-5) ;
+\coordinate (G) at (4,-4) ;
 \tkzRequerre[Fond,CouleurFond=yellow]
 \tkzRequerre[Echelle=0.5,Origine={(-5,-6)},Rotation=-80,Couleur=ForestGreen, Longueur=10,Largeur=3.5,AfficheValeurs=false]
-\tkzRequerre[Origine={(1,-5)},Rotation=15,Couleur=DarkBlue, Longueur=9,Largeur=2.75]
+\tkzRequerre[Origine=F,Rotation=auto/G,Couleur=DarkBlue, Longueur=9,Largeur=2.75]
 \end{PresentationCode}
 
 \begin{PresentationCode}{text only}
 \begin{tikzpicture}
+	\coordinate (F) at (1,-5) ;
+	\coordinate (G) at (4,-4) ;
 	\affichegrille{-8}{7}{-9}{1}
-	\pointsutiles{(0,0),(-5,-6),(1,-5)}
+	\pointsutiles{(0,0),(-5,-6),(1,-5),(4,-4)}
 	\tkzRequerre[Fond,CouleurFond=yellow]
 	\tkzRequerre[Echelle=0.5,Origine={(-5,-6)},Rotation=-80,Couleur=ForestGreen, Longueur=10,Largeur=3.5,AfficheValeurs=false]
-	\tkzRequerre[Origine={(1,-5)},Rotation=15,Couleur=DarkBlue,Longueur=9,Largeur=2.75]
+	\tkzRequerre[Origine=F,Rotation=auto/G,Couleur=DarkBlue, Longueur=9,Largeur=2.75]
 \end{tikzpicture}
 \end{PresentationCode}
 
@@ -722,28 +802,35 @@
 	\item \Cle{EchelleValeurs} pour l'échelle des valeurs ;\hfill~(défaut : \Cle{1})
 	\item \Cle{Couleur} pour la couleur des éléments de la rappéquerre ;\hfill~(défaut : \Cle{black})
 	\item le booléen \Cle{Fond} pour afficher une couleur de fond pour la rappéquerre ;\hfill~(défaut : \Cle{false})
-	\item \Cle{CouleurFond} pour la couleur du fond de la rappéquerre ;\hfill~(défaut : \Cle{black})
+	\item \Cle{CouleurFond} pour la couleur du fond de la rappéquerre ;
+	
+	\hfill~(défaut : \Cle{black})
 	\item \Cle{Opacite} pour régler l'opacité du fond de la rappéquerre ;\hfill~(défaut : \Cle{0.5})
 	\item le booléen \Cle{AfficheAngles} pour afficher les valeurs des angles ;\hfill~(défaut : \Cle{true})
 	\item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true})
 \end{itemize}
-\vspace*{-\baselineskip}\leavevmode
+
+À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable !
 \end{tipblock}
 
 \begin{PresentationCode}{listing only}
 %environnement tikz
+\coordinate (S) at (2,-10) ;
+\coordinate (T) at (0,-10.5) ;
 \tkzRappEquerre[Fond,Ombre]
 \tkzRappEquerre[Origine={(-5,-9)},Rotation=150,Couleur=ForestGreen,Echelle=0.5,Ombre]
-\tkzRappEquerre[Origine={(2,-10)},Rotation=-170,Couleur=DarkBlue, Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue]
+\tkzRappEquerre[Origine=S,Rotation=auto/T,Couleur=DarkBlue, Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue]
 \end{PresentationCode}
 
 \begin{PresentationCode}{text only}
 \begin{tikzpicture}
 	\affichegrille{-8}{7}{-11}{1}
-	\pointsutiles{(0,0),(-5,-9),(2,-10)}
+	\coordinate (S) at (2,-10) ;
+	\coordinate (T) at (0,-10.5) ;
+	\pointsutiles{(0,0),(-5,-9),(2,-10),(0,-10.5)}
 	\tkzRappEquerre[Fond,Ombre]
 	\tkzRappEquerre[Origine={(-5,-9)},Rotation=150,Couleur=ForestGreen,Echelle=0.5,Ombre]
-	\tkzRappEquerre[Origine={(2,-10)},Rotation=-170,Couleur=DarkBlue,Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue]
+	\tkzRappEquerre[Origine=S,Rotation=auto/T,Couleur=DarkBlue, Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue]
 \end{tikzpicture}
 \end{PresentationCode}
 

Modified: trunk/Master/texmf-dist/tex/latex/outilsgeomtikz/OutilsGeomTikz.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/outilsgeomtikz/OutilsGeomTikz.sty	2023-10-19 16:56:04 UTC (rev 68591)
+++ trunk/Master/texmf-dist/tex/latex/outilsgeomtikz/OutilsGeomTikz.sty	2023-10-19 20:04:33 UTC (rev 68592)
@@ -2,7 +2,9 @@
 % licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{OutilsGeomTikz}[2023/05/22 v0.1.2 Outils geometriques en TikZ]
+\ProvidesPackage{OutilsGeomTikz}[2023/10/18 v0.1.4 Outils geometriques en TikZ]
+% 0.1.4		Possibilité de positionner les outils avec deux points (angle calculé automatiquement)
+% 0.1.3		Ajout du pourcenteur
 % 0.1.2		Ajout de la règle-repère
 % 0.1.1		Correction d'un bug avec une ancienne syntaxe [join=...]
 % 0.1.0		Version initiale
@@ -12,6 +14,7 @@
 \RequirePackage{simplekv}
 \RequirePackage{xstring}
 \RequirePackage{nicefrac}
+%\RequirePackage{tkz-euclide}
 %librairies tikz
 \usetikzlibrary{calc,positioning}
 
@@ -53,7 +56,7 @@
 	Largeur=\def\REGLlargeur{#1},%
 	Couleur=\def\REGLcouleur{#1},%
 	CouleurFond=\def\REGLcouleurfond{#1},%
-	Origine=\def\REGLposOrigin{#1},%
+	Origine=\xdef\REGLposOrigin{#1},%
 	Rotation=\def\REGLangle{#1},%
 	Opacite=\def\REGLopac{#1},%
 	PosVal=\def\REGLposval{#1}
@@ -76,6 +79,12 @@
 \NewDocumentCommand{\tkzRegle}{ O{} }{%
 	\useKVdefault[RegleGeom]%
 	\setKV[RegleGeom]{#1}%
+	\IfSubStr{\REGLangle}{auto/}%
+		{%
+			\StrBehind{\REGLangle}{/}[\tmppointdeux]%
+			\pgfmathanglebetweenpoints{\pgfpointanchor{\REGLposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}%
+			\edef\REGLangle{\pgfmathresult}%
+		}{}%
 	\xdef\REGLlongueur{\fpeval{max(3,\REGLlongueur)}}%valeurs mini
 	\xdef\REGLlargeur{\fpeval{max(1.5,\REGLlargeur)}}
 	\begin{scope}[shift={(\REGLposOrigin)},rotate=\REGLangle,scale=\REGLechelle]
@@ -137,7 +146,13 @@
 	\useKVdefault[RegleRepereGeom]%
 	\setKV[RegleRepereGeom]{#1}%
 	\xdef\REGLREPlongueur{\fpeval{max(4,2*round(0.5*\REGLREPlongueur,0))}}%valeurs mini
-	\xdef\REGLREPlargeur{\fpeval{max(4,round(\REGLREPlargeur,0))}}
+	\xdef\REGLREPlargeur{\fpeval{max(4,round(\REGLREPlargeur,0))}}%
+	\IfSubStr{\REGLREPangle}{auto/}%
+		{%
+			\StrBehind{\REGLREPangle}{/}[\tmppointdeux]%
+			\pgfmathanglebetweenpoints{\pgfpointanchor{\REGLREPposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}%
+			\edef\REGLREPangle{\pgfmathresult}%
+		}{}%
 	\begin{scope}[shift={(\REGLREPposOrigin)},rotate=\REGLREPangle,scale=\REGLREPechelle]
 		%bases de la règle-repère
 		\ifboolKV[RegleRepereGeom]{Fond}%
@@ -200,7 +215,13 @@
 	\useKVdefault[RequerreGeom]%
 	\setKV[RequerreGeom]{#1}%
 	\xdef\REQlongueur{\fpeval{max(6,\REQlongueur)}}%valeurs mini
-	\xdef\REQlargeur{\fpeval{max(1.5,\REQlargeur)}}
+	\xdef\REQlargeur{\fpeval{max(1.5,\REQlargeur)}}%
+	\IfSubStr{\REQangle}{auto/}%
+		{%
+			\StrBehind{\REQangle}{/}[\tmppointdeux]%
+			\pgfmathanglebetweenpoints{\pgfpointanchor{\REQposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}%
+			\edef\REQangle{\pgfmathresult}%
+		}{}%
 	\begin{scope}[shift={(\REQposOrigin)},rotate=\REQangle,scale=\REQechelle]
 		\ifboolKV[RequerreGeom]{Fond}
 			{
@@ -250,7 +271,8 @@
 	Rotation=0,%
 	AfficheValeurs=true,%
 	Fond=false,%
-	Opacite=0.5
+	Opacite=0.5,%
+	PetitCote=false
 }
 
 \NewDocumentCommand{\tkzEquerre}{ O{} }{%
@@ -257,7 +279,19 @@
 	\useKVdefault[EquerreGeom]%
 	\setKV[EquerreGeom]{#1}%
 	\xdef\EQlongueur{\fpeval{max(4.5,\EQlongueur)}}%valeurs mini
-	\def\EQlargeur{\fpeval{\EQlongueur*tand(30)}}
+	\def\EQlargeur{\fpeval{\EQlongueur*tand(30)}}%
+	\IfSubStr{\EQangle}{auto/}%
+		{%
+			\StrBehind{\EQangle}{/}[\tmppointdeux]%
+			\pgfmathanglebetweenpoints{\pgfpointanchor{\EQposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}%
+			\ifboolKV[EquerreGeom]{PetitCote}%
+				{%
+					\edef\EQangle{\pgfmathresult}%
+				}%
+				{%
+					\edef\EQangle{\fpeval{\pgfmathresult-90}}%
+				}%
+		}{}%
 	\begin{scope}[shift={(\EQposOrigin)},rotate=\EQangle,scale=\EQechelle]
 		\ifboolKV[EquerreGeom]{Fond}
 			{%
@@ -404,6 +438,82 @@
 	\end{scope}
 }
 
+\defKV[Pourcenteur]{%
+	Echelle=\def\POURCechelle{#1},%
+	EchelleAngle=\def\POURCechangle{#1},%
+	Couleur=\def\POURCcouleur{#1},%
+	CouleurFond=\def\POURCcouleurfond{#1},%
+	Origine=\def\POURCposOrigin{#1},%
+	Rotation=\def\POURCangle{#1},%
+	Opacite=\def\POURCopac{#1}
+}
+
+\setKVdefault[Pourcenteur]{%
+	Echelle=1,%
+	EchelleAngle=1,%
+	Couleur=black,%
+	CouleurFond=black,%
+	Origine={(0,0)},%
+	Rotation=0,%
+	AfficheValeurs=true,%
+	Fond=false,%
+	Opacite=0.5,%
+	Decoration=true
+}
+
+\NewDocumentCommand{\tkzPourcenteur}{ O{} }{%
+	\useKVdefault[Pourcenteur]%
+	\setKV[Pourcenteur]{#1}%
+	\begin{scope}[shift={(\POURCposOrigin)},rotate=\POURCangle,scale=\POURCechelle,every node/.style={rotate=\POURCangle}]
+	\ifboolKV[Pourcenteur]{Fond}
+		{%
+			\fill[draw=none,fill=\POURCcouleurfond!10!white,fill opacity=\POURCopac] (0,0) circle[radius=3] ;
+		}%
+		{}%
+		\draw[\POURCcouleur,semithick] (0,0) circle[radius=3] ;
+		\draw[\POURCcouleur,semithick] ({-0.15*3},0)--({0.15*3},0) (0,{-0.15*3})--(0,{0.15*3}) ;
+		\foreach \pct in {0,1,...,199}
+		{\draw[\POURCcouleur,thin] ({0.5*\pct*3.6}:{3})--({0.5*\pct*3.6}:{3-0.2}) ;}
+		\foreach \pct in {0,10,...,90}{%
+			\draw[\POURCcouleur,thin] ({(\pct+1)*3.6}:{3})--({(\pct+1)*3.6}:{3-0.35}) ;
+			\filldraw[\POURCcouleur] ({(\pct+1)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ;
+			\draw[\POURCcouleur,thin] ({(\pct+2)*3.6}:{3})--({(\pct+2)*3.6}:{3-0.35}) ;
+			\filldraw[\POURCcouleur] ({(\pct+2)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ;
+			\draw[\POURCcouleur,thin] ({(\pct+3)*3.6}:{3})--({(\pct+3)*3.6}:{3-0.35}) ;
+			\filldraw[\POURCcouleur] ({(\pct+3)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ;
+			\draw[\POURCcouleur,thin] ({(\pct+4)*3.6}:{3})--({(\pct+4)*3.6}:{3-0.35}) ;
+			\filldraw[\POURCcouleur] ({(\pct+4)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ;
+			\draw[\POURCcouleur,thin] ({(\pct+6)*3.6}:{3})--({(\pct+6)*3.6}:{3-0.35}) ;
+			\filldraw[\POURCcouleur] ({(\pct+6)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ;
+			\draw[\POURCcouleur,thin] ({(\pct+7)*3.6}:{3})--({(\pct+7)*3.6}:{3-0.35}) ;
+			\filldraw[\POURCcouleur] ({(\pct+7)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ;
+			\draw[\POURCcouleur,thin] ({(\pct+8)*3.6}:{3})--({(\pct+8)*3.6}:{3-0.35}) ;
+			\filldraw[\POURCcouleur] ({(\pct+8)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ;
+			\draw[\POURCcouleur,thin] ({(\pct+9)*3.6}:{3})--({(\pct+9)*3.6}:{3-0.35}) ;
+			\filldraw[\POURCcouleur] ({(\pct+9)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ;
+		}
+		\foreach \pct in {5,10,15,20,30,35,40,45,55,60,65,70,80,85,90,95}{%
+			\draw[\POURCcouleur,semithick] ({\pct*3.6}:{3})--({\pct*3.6}:{3-0.5}) ;
+			\ifboolKV[Pourcenteur]{AfficheValeurs}
+				{\draw ({-\pct*3.6+90}:{3-0.6}) node[\POURCcouleur,rotate={-3.6*\pct},scale=\fpeval{0.8*\POURCechelle*\POURCechangle},font=\tiny] {\pct\,\%} ;}{}
+		}
+		\foreach \pct in {0,25,50,75}{%
+			\draw[\POURCcouleur,semithick] ({\pct*3.6}:{3})--({\pct*3.6}:{3-0.5}) ;
+			\ifboolKV[Pourcenteur]{AfficheValeurs}
+				{%
+					\draw ({-\pct*3.6+90}:{3-0.61}) node[\POURCcouleur,rotate={-3.6*\pct},scale=\fpeval{0.8*\POURCechelle*\POURCechangle},font=\scriptsize\bfseries] {\pct\,\%} ;
+					\draw ({-\pct*3.6+90}:{2+0.15}) node[\POURCcouleur,rotate={-3.6*\pct},scale=\fpeval{0.8*\POURCechelle*\POURCechangle},font=\tiny\bfseries] {\pct\,\%} ;
+				}{}%
+		}
+		\draw[\POURCcouleur,semithick] (0,1)--(0,2) (1.6,0)--(2,0) (0,-1.6)--(0,-2) (-1.6,0)--(-2,0) ;
+		\ifboolKV[Pourcenteur]{Decoration}
+			{%
+				\foreach \arccc in {0.8,0.9,...,1.9} {\draw[\POURCcouleur] (0,\arccc) arc (90:47:\arccc) ;}
+			}%
+			{}%
+	\end{scope}
+}
+
 %--------RappÉquerre (OK)
 \defKV[RapporteurEquerreGeom]{%
 	Echelle=\def\RAPPEQechelle{#1},%
@@ -435,6 +545,12 @@
 	\useKVdefault[RapporteurEquerreGeom]%
 	\setKV[RapporteurEquerreGeom]{#1}%
 	\xdef\RAPPEQlargeur{\fpeval{max(3,\RAPPEQlargeur)}}%valeurs mini
+	\IfSubStr{\RAPPEQangle}{auto/}%
+		{%
+			\StrBehind{\RAPPEQangle}{/}[\tmppointdeux]%
+			\pgfmathanglebetweenpoints{\pgfpointanchor{\RAPPEQposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}%
+			\edef\RAPPEQangle{\pgfmathresult}%
+		}{}%
 	\begin{scope}[shift={(\RAPPEQposOrigin)},rotate=\RAPPEQangle,scale=\RAPPEQechelle,every node/.style={rotate=\RAPPEQangle}]
 		%fond
 		\ifboolKV[RapporteurEquerreGeom]{Fond}



More information about the tex-live-commits mailing list.