texlive[64649] Master/texmf-dist: proflycee (7oct22)

commits+karl at tug.org commits+karl at tug.org
Fri Oct 7 23:05:45 CEST 2022


Revision: 64649
          http://tug.org/svn/texlive?view=revision&revision=64649
Author:   karl
Date:     2022-10-07 23:05:45 +0200 (Fri, 07 Oct 2022)
Log Message:
-----------
proflycee (7oct22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
    trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
    trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty

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

Modified: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2022-10-07 21:05:31 UTC (rev 64648)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2022-10-07 21:05:45 UTC (rev 64649)
@@ -40,6 +40,7 @@
 	ylabel near ticks
 }
 \usepackage{tkz-tab}
+\tikzstyle{every picture}+=[remember picture]
 \usepackage{listofitems}
 \usepackage{xintexpr}
 \usepackage{codehigh}
@@ -61,8 +62,8 @@
 \setlength{\parindent}{0pt}
 \definecolor{LightGray}{gray}{0.9}
 
-\def\PLversion{1.2.9}
-\def\PLdate{3 Octobre 2022}
+\def\PLversion{1.3.1}
+\def\PLdate{7 Octobre 2022}
 
 \tcbset{vignettes/.style={%
 		nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
@@ -3772,6 +3773,97 @@
 
 \newpage
 
+\section{Conversion \og présentée \fg{} d'un nombre en décimal}\label{convrestes}
+
+\subsection{Idée}
+
+\begin{codeidee}
+L'idée est de proposer une \og présentation \fg{} par divisions euclidiennes pour la conversion d'un entier donné en base 10 dans une base quelconque.
+
+\smallskip
+
+Les commandes de la section précédente donne \textit{juste} les résultats, dans cette section il y a en plus la présentation de la conversion.
+
+\smallskip
+
+La commande utilise -- par défaut -- du code \TikZ{} en mode \ctex{overlay}, donc on pourra déclarer -- si ce n'est pas fait -- dans le préambule, la commande qui suit.
+\end{codeidee}
+
+\begin{codetex}[listing only]
+...
+\tikzstyle{every picture}+=[remember picture]
+...
+\end{codetex}
+
+\subsection{Code et clés}
+
+\begin{codetex}[]
+%conversion basique
+\PLconvDepuisDec{78}{2}
+\end{codetex}
+
+\begin{codeinfo}
+La \og tableau \fg, qui est géré par \ctex{array} est inséré dans un \ctex{ensuremath}, donc les \ctex{\$...\$} ne sont pas utiles.
+\end{codeinfo}
+
+\begin{codetex}[listing only]
+\PLconvDepuisDec[<options>]{<nombre en base 10>}{<base d'arrivée>}
+\end{codetex}
+
+\begin{codecles}
+Quelques options pour cette commande :
+
+\begin{itemize}
+	\item la clé \Cle{couleur} pour la couleur du \og rectangle \fg{} des restes ; \hfill{}défaut \Cle{red}
+	\item la clé \Cle{decalh} pour gérer le décalage H du \og rectangle \fg{}, qui peut être donné soit sous la forme \Cle{esp} ou soit sous la forme \Cle{espgauche/espdroite}; \hfill{}défaut \Cle{2pt}
+	\item la clé \Cle{decalv} pour le décalage vertical du \og rectangle \fg{} ; \hfill{}défaut \Cle{3pt}
+	\item la clé \Cle{noeud} pour le préfixe du nœud du premier et du dernier reste (pour utilisation en \TikZ) ; \hfill{}défaut \Cle{EEE}
+	\item le booléen \Cle{rect} pour afficher ou non le \og rectangle \fg{} des restes. \hfill{}défaut \Cle{true}
+\end{itemize}
+\end{codecles}
+
+\begin{codetex}[listing only]
+%conversion avec changement de couleur
+\PLconvDepuisDec[couleur=DarkBlue]{45}{2}
+
+%conversion sans le rectangle
+Par divisions euclidiennes successives, \PLconvDepuisDec[rect=false]{54}{3}.
+
+%conversion avec gestion du decalh pour le placement précis du rectangle
+\PLconvDepuisDec[couleur=Goldenrod,decalh=6pt/2pt]{1012}{16}
+
+%conversion avec nœud personnalisé et réutilisation
+\PLconvDepuisDec[couleur=ForestGreen,noeud=TEST]{100}{9}
+\begin{tikzpicture}
+	\draw[overlay,ForestGreen,thick,->] (TEST2.south east) to[bend right] ++ (3cm,-1cm) node[right] {test } ;
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+\PLconvDepuisDec[couleur=DarkBlue]{45}{2}
+
+\medskip
+
+Par divisions euclidiennes successives, \PLconvDepuisDec[rect=false]{54}{3}.
+
+\medskip
+
+\PLconvDepuisDec[couleur=Goldenrod,decalh=6pt/2pt]{1012}{16}
+
+\medskip
+
+On obtient donc \PLconvDepuisDec[couleur=ForestGreen,noeud=TEST]{100}{9}
+\begin{tikzpicture}
+	\draw[overlay,ForestGreen,thick,->] (TEST2.south east) to[bend right] ++ (3cm,-1cm) node[right] {test } ;
+\end{tikzpicture}
+
+\vspace{1.5cm}
+
+~
+\end{codesortie}
+
+\newpage
+
 \section{Style \og main levée \fg{} en \TikZ}\label{mainlevee}
 
 \subsection{Idée}
@@ -3919,6 +4011,9 @@
 \begin{tikzpicture}%avec correction
 	\PLpixelart[codes=ABCD,couleurs={Black,Green,Yellow,Red},correction]{basique.csv}
 \end{tikzpicture}
+\begin{tikzpicture}%avec correction sans bordure
+	\PLpixelart[codes=ABCD,couleurs={Black,Green,Yellow,Red},correction,bordcases=false]{basique.csv}
+\end{tikzpicture}
 \end{codetex}
 
 \begin{codesortie}
@@ -3940,18 +4035,23 @@
 	\end{tabular}
 \end{center}
 
-\hfill\begin{tikzpicture}
+\hfill\begin{tikzpicture}[scale=0.9]
 	%avec lettres
 	\PLpixelart[codes=ABCD,style=\large\sffamily]{basique.csv}
 \end{tikzpicture}
-\begin{tikzpicture}
+\begin{tikzpicture}[scale=0.9]
 	%avec chiffres
 	\PLpixelart[codes=ABCD,symboles={45,22,1,7},symb,style=\large\sffamily]{basique.csv}
 \end{tikzpicture}
-\begin{tikzpicture}
+\begin{tikzpicture}[scale=0.9]
 	%avec correction
 	\PLpixelart[codes=ABCD,couleurs={Black,Green,Yellow,Red},correction]{basique.csv}
-\end{tikzpicture}\hfill~
+\end{tikzpicture}
+\begin{tikzpicture}[scale=0.9]
+	%avec correction
+	\PLpixelart[codes=ABCD,couleurs={Black,Green,Yellow,Red},correction,bordcases=false]{basique.csv}
+\end{tikzpicture}
+\hfill~
 \end{codesortie}
 
 \begin{codeinfo}
@@ -3979,6 +4079,7 @@
 	\item la clé \Cle{symboles} qui contient la \textsf{liste éventuelles} des caractères alternatifs à afficher dans les cases ;
 	\item la clé booléenne \Cle{correction} qui permet de colorier le PixelART ;\hfill{}défaut \Cle{false}
 	\item la clé booléenne \Cle{symb} qui permet d'afficher les caractères \textit{alternatifs} ;\hfill{}défaut \Cle{false}
+	\item la clé booléenne \Cle{bordcases} qui permet d'afficher les bords des cases de la correction ;\hfill{}défaut \Cle{true}
 	\item la clé \Cle{style} qui permet de spécifier le style des caractères. \hfill{}défaut \Cle{scriptsize}
 \end{itemize}
 \end{codecles}
@@ -4331,6 +4432,10 @@
 
 \part{Historique}
 
+{\small \bverb|v1.3.1|~:~~~~Ajout d'une option pour ne pas afficher les bordures des corrections de pixelart (page \pageref{pixelart})
+
+{\small \bverb|v1.3.0|~:~~~~Commande pour présenter une conversion depuis la base 10 (page \pageref{convrestes})
+
 {\small \bverb|v1.2.9|~:~~~~Correction des commandes avec simplekv
 
 {\small \bverb|v1.2.8|~:~~~~Ajout d'une librairie \TikZ{} oubliée, et remise en forme de la documentation

Modified: trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2022-10-07 21:05:31 UTC (rev 64648)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2022-10-07 21:05:45 UTC (rev 64649)
@@ -3,7 +3,9 @@
 % or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2022/10/03 v1.2.9 - Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2022/10/07 v1.3.1 - Aide pour l'utilisation de LaTeX en lycee]
+% 1.3.1	Ajout d'une option pour ne pas afficher les bords des cases en pixelart
+% 1.3.0	Ajout d'une commande pour mettre en forme une conversion depuis la base 10
 % 1.2.9	Correction d'une incompatibilité avec simplekv (clés vides...)
 % 1.2.8	Correction de l'oubli d'une librairie tikz et remise en forme de la documentation
 % 1.2.7	Calculs de probas pour des lois classiques
@@ -932,8 +934,8 @@
 }
 
 \newcommand\ensPL[2][1]{%
-	\useKVdefault[kvensemble]
-	\setKV[kvensemble]{#1}
+	\useKVdefault[kvensemble]%
+	\setKV[kvensemble]{#1}%
 	\ifboolKV[kvensemble]{mathpunct}%
 		{\left\lbrace \PLensopt{} \mathpunct{} \StrSubstitute{#2}{/}{\mathpunct{}{\PLenssep}\mathpunct{}} \mathpunct{} \right\rbrace}%
 		{\left\lbrace \PLensopt{} \StrSubstitute{#2}{/}{{\PLenssep}} \right\rbrace}
@@ -1569,7 +1571,8 @@
 \setKVdefault[pixelarttkz]{%
 	style=\scriptsize,%
 	correction=false,%
-	symb=false
+	symb=false,%
+	bordcases=true
 }
 
 \newcommand\PLpixelart[2][]{%
@@ -1587,7 +1590,10 @@
 					\xintifboolexpr{\pixcnt>0}%
 					{%
 						\itemtomacro\LCPA[\pixcnt]\pixcol%
-						\draw[fill=\pixcol] ({\n-0.5},{-\thecsvrow+0.5}) rectangle ({\n+0.5},{-\thecsvrow-0.5}) ;%
+						\ifboolKV[pixelarttkz]{bordcases}%
+							{\draw[fill=\pixcol] ({\n-0.5},{-\thecsvrow+0.5}) rectangle ({\n+0.5},{-\thecsvrow-0.5}) ;}%
+							{\filldraw[\pixcol] ({\n-0.5},{-\thecsvrow+0.5}) rectangle ({\n+0.5},{-\thecsvrow-0.5}) ;}%
+						%
 					}%
 					{}
 				}
@@ -2334,4 +2340,62 @@
 	}
 }
 
+%===============CONVFROMDEC============ OK !!
+\newcommand\PLnoeud[2]{\tikz[remember picture,baseline=(#1.base)]\node[shape=rectangle,inner sep=0pt](#1){#2};}
+\ExplSyntaxOn
+\newcommand\convertbasedixtobase[2]{%
+	\int_to_Base:nn {#1}{#2}
+}
+\ExplSyntaxOff
+
+\defKV[convfromten]{%
+	couleur=\def\PLConvCouleur{#1},%
+	decalh=\def\PLConvDecalH{#1},%
+	decalv=\def\PLConvDecalV{#1},%
+	noeud=\def\PLConvNoeud{#1}
+}
+
+\setKVdefault[convfromten]{%
+	couleur=red,%
+	decalh=2pt,%
+	decalv=3pt,%
+	rect=true,%
+	noeud=EEE
+}
+
+\newcommand\PLconvDepuisDec[3][]{%
+	\useKVdefault[convfromten]%
+	\setKV[convfromten]{#1}%
+	\xdef\ValRes{\xintDecToHex{#2}}%
+	\xdef\ValA{#2}\xdef\ValB{#3}%
+	\xdef\ValTMP{#2}%
+	\xdef\ValMU{\inteval{#3-1}}%
+	\ensuremath{%
+		\left\lbrace\begin{array}{@{\,}r@{\;=\;}l@{\;+\;}r}
+			%1ere division
+			\xdef\ValQ{\fpeval{trunc(\ValTMP/#3,0)}}\xdef\ValR{\fpeval{\ValTMP-#3*\ValQ}}
+			\num{\ValTMP}\uppercase{&}\num{\ValB}\times\num{\ValQ}\uppercase{&}\PLnoeud{\PLConvNoeud1}{\num{\ValR}}%
+			\xdef\ValTMP{\ValQ}%
+			\whiledo {\ValTMP > \ValMU}%
+			{%
+				\xdef\ValQ{\fpeval{trunc(\ValTMP/#3,0)}}\xdef\ValR{\fpeval{\ValTMP-#3*\ValQ}}%
+				\\ \num{\ValTMP}\uppercase{&}\num{\ValB}\times\num{\ValQ}\uppercase{&}\num{\ValR}
+				\xdef\ValTMP{\ValQ}%
+			}
+			%dernière
+			\xdef\ValQ{\fpeval{trunc(\ValTMP/#3,0)}}\xdef\ValR{\fpeval{\ValTMP-#3*\ValQ}}%
+			\\ \num{\ValTMP}\uppercase{&}\num{\ValB}\times\num{\ValQ}\uppercase{&}\PLnoeud{\PLConvNoeud2}{\num{\ValR}}
+		\end{array} \right| \Rightarrow \num{#2}_{10}=\convertbasedixtobase{#2}{#3}_{#3}}
+	\ifboolKV[convfromten]{rect}%
+	{%
+		\IfSubStr{\PLConvDecalH}{/}%
+			{\StrCut{\PLConvDecalH}{/}{\PLConvDecalHg}{\PLConvDecalHd}}%
+			{\def\PLConvDecalHg{\PLConvDecalH}\def\PLConvDecalHd{\PLConvDecalH}}
+		\begin{tikzpicture}
+			\draw[overlay,rounded corners=4pt,\PLConvCouleur,thick] ($(\PLConvNoeud1.north west)+(-\PLConvDecalHg,\PLConvDecalV)$) rectangle ($(\PLConvNoeud2.south east)+(\PLConvDecalHd,-\PLConvDecalV)$) ;
+			\draw[overlay,rounded corners=4pt,\PLConvCouleur,thick,->,>=latex] ($(\PLConvNoeud2.east)+(\PLConvDecalHd,0)$)--++(0,{0.75\baselineskip}) ;
+		\end{tikzpicture}
+	}{}
+}
+
 \endinput
\ No newline at end of file



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