texlive[67482] Master/texmf-dist: profsio (26jun23)

commits+karl at tug.org commits+karl at tug.org
Mon Jun 26 22:16:41 CEST 2023


Revision: 67482
          http://tug.org/svn/texlive?view=revision&revision=67482
Author:   karl
Date:     2023-06-26 22:16:41 +0200 (Mon, 26 Jun 2023)
Log Message:
-----------
profsio (26jun23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.pdf
    trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.tex
    trunk/Master/texmf-dist/tex/latex/profsio/ProfSio.sty

Modified: trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.tex	2023-06-26 20:16:27 UTC (rev 67481)
+++ trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.tex	2023-06-26 20:16:41 UTC (rev 67482)
@@ -4,8 +4,8 @@
 
 \documentclass[french,a4paper,11pt]{article}
 \usepackage[margin=2cm,includefoot]{geometry}
-\def\TPversion{0.1.0}
-\def\TPdate{23 juin 2023}
+\def\TPversion{0.1.1}
+\def\TPdate{26 juin 2023}
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage{amsmath,amssymb}
@@ -79,10 +79,10 @@
 		keywordstyle={\color{violet}},%
 		classoffset=2,%
 		alsoletter={-},%
-		morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset},%
+		morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset,\DiagrammeSagittal,\draw},%
 		keywordstyle={\color{green!50!black}},%
 		classoffset=3,%
-		morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids},%
+		morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids,DistElem,DistEns,LargEns,NomAppli,CouleurE,CouleurAppli,CouleurF,CouleurFleches,TypeFleche,Epaisseur,Labels,Ensembles,PosLabels,PoliceLabels},%
 		keywordstyle={\color{orange}}
 	},%
 	#1
@@ -126,6 +126,8 @@
 				{\Huge \texttt{ProfSio} [fr]}\\
 				\\
 				{\LARGE Des outils pour les Maths en BTS SIO.} \\
+				\\
+				{\large (Services Informatiques aux Organisations)}
 			\end{tabular}
 			
 			\bigskip
@@ -144,22 +146,26 @@
 \end{tabular}
 \end{center}
 
-\vspace{0.25cm}
+\vspace{0.15cm}
 
-{$\blacktriangleright$~~Créer des diagrammes MPM (de manière manuelle, pas de calculs ou placements automatiques).}
+{$\blacktriangleright$~~Commandes spécifiques pour le programme de Mathématiques en BTS SIO\footnotemark\footnotetext{Brevet de Technicien Supérieur - Services Informatiques aux Organisations : \href{https://www.letudiant.fr/etudes/bts/bts-sio-services-informatiques-aux-organisations.html}{[Lien]} sur le site de L'Étudiant}.}
 
-\vspace{0.25cm}
+\vspace{0.15cm}
 
+{$\blacktriangleright$~~Créer des diagrammes MPM\footnotemark\footnotetext{Méthode des Potentiels Métra : \href{https://fr.wikipedia.org/wiki/Méthode_des_potentiels_métra}{[Lien]} sur le site de Wikipedia} (Méthode des Potentiels Métra).}
+
+\vspace{0.15cm}
+
 {$\blacktriangleright$~~Créer des tables de Karnaugh avec mise en valeur (manuelle) des regroupements.}
 
-\vspace{0.25cm}
+\vspace{0.15cm}
 
-{$\blacktriangleright$~~Créer des graphes simples.}
+{$\blacktriangleright$~~Créer des graphes simples ou des diagrammes sagittaux.
 
 \vspace{1cm}
 
 \hfill
-\begin{GrapheMPM}[LargeurCases=0.5cm]
+\begin{GrapheMPM}[LargeurCases=0.5cm]<scale=0.9>
 	%NOTICE
 	\MPMPlaceNotice(1,6.5)
 	%SOMMETS
@@ -189,7 +195,7 @@
 \hfill~
 
 \hfill
-\begin{TableKarnaugh}
+\begin{TableKarnaugh}<scale=0.9>
 	\KarnaughCasesResult{0,1,1,0,1,1,1,1}
 	\KarnaughBlocRegroup[Type=Centre,Couleur=blue!75,Decalage=-1.5pt]{10}{32}
 	\KarnaughBlocRegroup[Type=Gauche,Couleur=red!75,Decalage=-1.5pt]{00}{11}
@@ -206,7 +212,7 @@
 \vspace{0.5cm}
 
 \hfill
-\begin{GrapheTikz}[Unite=0.75cm,CouleurSommets={gray/blue},Epaisseur={very thick/thick},CouleurFleches=orange]
+\begin{GrapheTikz}[Unite=0.75cm,CouleurSommets={gray/blue},Epaisseur={very thick/thick},CouleurFleches=orange]<scale=0.9>
 	\GrphPlaceSommets{(5,4)/A (2,2)/B (9,3)/C}
 	\GrphTraceAretes{A/B}
 	\GrphTraceAretes[AngleGauche]{C/A}
@@ -214,21 +220,23 @@
 	\GrphTraceAretes[Boucle=4]{A/45 B/135 C/-45}
 \end{GrapheTikz}
 \hfill~
+\DiagrammeSagittal[Labels=false,E={a,b,c},F={A,C,H,P},Labels=false]{a/A,a/P,b/H,b/P,c/C}
+\hfill~
 
 %%\hfill{}\textit{Merci à Patrick Bideault pour ses retours et conseils !}
 
-\vfill
+%\vfill
+%
+%\hrule
+%
+%\medskip
+%
+%\TableauDocumentation
+%
+%\medskip
+%
+%\hrule
 
-\hrule
-
-\medskip
-
-\TableauDocumentation
-
-\medskip
-
-\hrule
-
 \newpage
 
 \phantomsection
@@ -240,6 +248,8 @@
 
 \section{Historique}
 
+\verb|v0.1.1|~:~~~~Mise à jour de la documentation + Diagrammes sagittaux.
+
 \verb|v0.1.0|~:~~~~Version initiale.
 
 \newpage
@@ -994,4 +1004,121 @@
 \end{GrapheTikz}
 \end{DemoCode}
 
+\pagebreak
+
+\section{Diagrammes sagittaux}
+
+\subsection{Commande et fonctionnement global}
+
+\begin{cautionblock}
+La commande dédiée à la création d'un diagramme sagittal pour une application est \motcletex!\DiagrammeSagittal!.
+
+Le diagramme créé est réalisé avec un environnement \motcletex!tikzpicture!.
+\end{cautionblock}
+
+\begin{DemoCode}[listing only]
+%commande autonome
+\DiagrammeSagittal[clés]<options tikz>{liaisons}
+
+%commande à insérer dans un environnement tikzpicture
+\begin{tikzpicture}
+	\DiagrammeSagittal*[clés]{liaisons}
+\end{tikzpicture}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\DiagrammeSagittal[E={a,b,c},F={A,C,H,P}]{a/A,a/P,b/H,b/P,c/C}
+\end{DemoCode}
+
+\begin{warningblock}
+La majorité des paramètres sont personnalisables, mais le \textit{thème} général est globalement \textit{fixé}, dans le sens où ce sont les éléments \textit{cosmétiques} qui pourront être modifiés.
+
+\smallskip
+
+La commande de création de \packagetex!ProfSio! est volontairement pour des applications basiques, dans l'optique de travailler avec exemples en adéquation avec le programme de BTS SIO.
+\end{warningblock}
+
+\subsection{Arguments et clés}
+
+\begin{DemoCode}[listing only]
+\DiagrammeSagittal[clés]<options tikz>{liaisons}
+
+\begin{tikzpicture}
+	\DiagrammeSagittal*[clés]{liaisons}
+\end{tikzpicture}
+\end{DemoCode}
+
+\begin{noteblock}
+Le code se charge, grâce aux \Cle{clés}, de positionner et d'aligner les éléments des ensembles et les flèches.
+
+De ce fait, les \textit{écarts} entre les éléments d'un ensemble sont fixées globalement, tout comme le style général des flèches.
+\end{noteblock}
+
+\begin{tipblock}
+La version \textit{étoilé} permet de ne pas créer l'environnement \motcletex!tikzpicture!, pour d'éventuels rajouts ultérieurs :
+
+\begin{itemize}
+	\item les éléments de l'ensemble de départ sont des nœuds nommés \verb!(E...)! ;
+	\item les éléments de l'ensemble d'arrivée sont des nœuds nommés \verb!(F...)!.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+%\begin{DemoCode}[]
+%\DiagrammeSagittal[E={A,B,C,D,E,F},F={1,2,3,4}]{}
+%\end{DemoCode}
+
+\begin{tipblock}
+Les \Cle{clés} disponibles sont :
+
+\begin{itemize}
+	\item \Cle{DistElem} := distance verticale entre les éléments ; \hfill{}défaut : \Cle{0.75}
+	\item \Cle{DistEns} := distance entre les \og patates \fg{} ; \hfill{}défaut : \Cle{4}
+	\item \Cle{LargEns} := largeur des \og patates \fg{} ; \hfill{}défaut : \Cle{1.5}
+	\item \Cle{NomAppli} := nom de l'application ; \hfill{}défaut : \Cle{$f$}
+	\item \Cle{CouleurE} := couleur de l'ensemble de départ ; \hfill{}défaut : \Cle{blue}
+	\item \Cle{CouleurAppli} := couleur de l'application ; \hfill{}défaut : \Cle{violet}
+	\item \Cle{CouleurF} := couleur de l'ensemble d'arrivée ; \hfill{}défaut : \Cle{red}
+	\item \Cle{CouleurFleches} := couleur des flèches ; \hfill{}défaut : \Cle{teal}
+	\item \Cle{TypeFleche} := type de la flèche  ; \hfill{}défaut : \Cle{Latex}
+	\item \Cle{Epaisseur} := épaisseur des tracés ; \hfill{}défaut : \Cle{0.8pt}
+	\item \Cle{Police} := police pour les éléments ; \hfill{}défaut : \Cle{vide}
+	\item \Cle{NoirBlanc} := booléen pour forcer l'affichage en N\&{}B ; \hfill{}défaut : \Cle{false}
+	\item \Cle{Labels} := booléen pour afficher les noms des ensembles ; \hfill{}défaut : \Cle{true}
+	\item \Cle{Ensembles} := nom des ensembles  ; \hfill{}défaut : \Cle{\$\textbackslash mathcal\{E\}\$/\$\textbackslash  mathcal\{F\}\$}
+	\item \Cle{PosLabels} := position des labels, parmi \Cle{haut/bas}. \hfill{}défaut : \Cle{bas}
+\end{itemize}
+
+Le deuxième argument, optionnel et entre \texttt{<...>} propose des options, en langage \packagetex!tikz! à passer à l'environnement.
+
+\smallskip
+
+Le troisième argument, obligatoire et entre \texttt{\{...\}}, permet de préciser les \textit{liaisons} sous la forme \verb!x1/f(x1),x2/f(x2),...!.
+\end{tipblock}
+
+\subsection{Exemples}
+
+\begin{DemoCode}[]
+\DiagrammeSagittal[DistElem=1,DistEns=5,LargEns=1.75,Police={\Large\ttfamily}, Epaisseur=1pt,NomAppli={$h$},E={a,b,c},F={A,C,H,P}, PoliceLabels=\Large]{a/A,a/P,b/H,b/P,c/C}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\DiagrammeSagittal[%
+	E={1,2,3,4,5,6,7},F={a,b,c,d,e},Labels=false,%
+	DistElem=1,DistEns=6,LargEns=2,%
+	CouleurE=teal,CouleurF=orange,CouleurAppli=brown,CouleurFleches=brown
+	]{1/a,2/b,3/b,4/c,5/d,6/e,7/e}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\begin{tikzpicture}
+	\DiagrammeSagittal*[%
+	E={1,2,3,4,5,6,7},F={a,b,c,d,e},DistEns=6,%
+	CouleurE=teal,CouleurF=orange,CouleurAppli=brown,CouleurFleches=brown
+	]{1/a,2/b,3/b,4/c,5/d,6/d,7/d}
+	\draw[lime!50!black,<-,thick,dashed,>=Latex] ($(Fb)+(12pt,0)$) to[bend right=10]++ (2,1) node[right] {\parbox{4cm}{b admet 2 antécédents, donc $f$ ne peut pas être injective.}} ;
+	\draw[blue!50!black,<-,thick,dashed,>=Latex] ($(Fe)+(12pt,0)$) to[bend left=10]++ (2,-1) node[right] {\parbox{4cm}{e n'admet pas d'antécédent, donc $f$ ne peut pas être surjective.}} ;
+\end{tikzpicture}
+\end{DemoCode}
+
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/profsio/ProfSio.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/profsio/ProfSio.sty	2023-06-26 20:16:27 UTC (rev 67481)
+++ trunk/Master/texmf-dist/tex/latex/profsio/ProfSio.sty	2023-06-26 20:16:41 UTC (rev 67482)
@@ -2,7 +2,8 @@
 % licence    : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfSio}[2023/06/23 0.1.0 Pour les enseignants en BTS SIO]
+\ProvidesPackage{ProfSio}[2023/06/26 0.1.1 Pour les enseignants en BTS SIO]
+%0.1.1	Correction de la documentation + Ajout des diagrammes sagittaux
 %0.1.0	Version initiale
 
 %------Packages utiles
@@ -539,5 +540,102 @@
 	}%
 }
 
+%------Diagramme Sagittal
+\defKV[DiagSagitt]{%
+	E=\def\DSListeEltE{#1},%
+	F=\def\DSListeEltF{#1},%
+	DistElem=\def\DSEcartIN{#1},%
+	DistEns=\def\DSEcartIP{#1},%
+	LargEns=\def\DSLargPatates{#1},%
+	NomAppli=\def\DSNomFctPatates{#1},%
+	CouleurE=\def\DSCouleurE{#1},%
+	CouleurAppli=\def\DSCouleurFct{#1},%
+	CouleurF=\def\DSCouleurF{#1},%
+	CouleurFleches=\def\DSCouleurArc{#1},%
+	TypeFleche=\def\DSTypeFleche{#1},%
+	Epaisseur=\def\DSThick{#1},%
+	Police=\def\DSPolicePatates{#1},%
+	PoliceLabels=\def\DSPoliceLabels{#1},%
+	Ensembles=\def\DSNomEns{#1},%
+	PosLabels=\def\DSPosLabels{#1}
+}
 
+\setKVdefault[DiagSagitt]{%
+	DistElem=0.75,%
+	DistEns=4,%
+	LargEns=1.5,%
+	NomAppli={$f$},%
+	CouleurE={blue},%
+	CouleurAppli={violet},%
+	CouleurF={red},%
+	CouleurFleches={teal},%
+	TypeFleche=Latex,%
+	Epaisseur=0.8pt,%
+	Police={},%
+	NoirBlanc=false,%
+	Labels=true,%
+	Ensembles={$\mathcal{E}$/$\mathcal{F}$},%{E/F},%
+	PosLabels=bas,%
+	PoliceLabels={}
+}
+
+\NewDocumentCommand\DiagrammeSagittal{s O{} D<>{} m }{%
+	\restoreKV[DiagSagitt]%paramètres par défaut
+	\setKV[DiagSagitt]{#2}%
+	\readlist*\DSLstE{\DSListeEltE}%
+	\readlist*\DSLstF{\DSListeEltF}%
+	\def\DSHauteurPatateE{\fpeval{\DSEcartIN*(1+\DSLstElen)}}%
+	\def\DSHauteurPatateF{\fpeval{\DSEcartIN*(1+\DSLstFlen)}}%
+	\def\DSMaxHauteursPatates{\fpeval{max(\DSHauteurPatateE,\DSHauteurPatateF)}}%
+	\def\DSOffsetPatates{\fpeval{0.5*\DSHauteurPatateF-0.5*\DSHauteurPatateE}}%
+	\IfStrEq{\DSPosLabels}{bas}%
+		{%
+			\def\DSHautLegende{\fpeval{min(0,-\DSOffsetPatates)-0.5*\DSEcartIN}}%
+		}{}%
+	\IfStrEq{\DSPosLabels}{haut}%
+		{%
+			\def\DSHautLegende{\fpeval{max(\DSHauteurPatateE,\DSHauteurPatateF-\DSOffsetPatates)+0.5*\DSEcartIN}}%
+		}{}
+	\ifboolKV[DiagSagitt]{NoirBlanc}%
+		{%
+			\def\DSCouleurE{black}%
+			\def\DSCouleurF{black}%
+			\def\DSCouleurArc{black}%
+			\def\DSCouleurFct{black}%
+		}{}%
+	\IfBooleanTF{#1}%
+		{}%
+		{\begin{tikzpicture}[#3]}%
+		%LABELS
+		%\draw[lightgray,thin,->] (-1,0)--++(6,0) ;
+		\ifboolKV[DiagSagitt]{Labels}%
+			{%
+				\saveexpandmode\expandarg
+				\StrCut{\DSNomEns}{/}{\DSNomE}{\DSNomF}
+				\restoreexpandmode
+				\draw (0,{\DSHautLegende}) node[\DSCouleurE,inner sep=1pt,font=\DSPoliceLabels] {\DSNomE} ;
+				\draw ({\DSEcartIP},{\DSHautLegende}) node[\DSCouleurF,inner sep=1pt,font=\DSPoliceLabels] {\DSNomF} ;
+				\draw[line width=\DSThick,->,>=\DSTypeFleche] ({0.45},{\DSHautLegende})--({\DSEcartIP-0.45},{\DSHautLegende}) node[midway,above=2pt,inner sep=1pt,text=\DSCouleurFct,font=\DSPoliceLabels] {\DSNomFctPatates} ;
+			}{}%
+		%PATATE_E (ok)
+		\draw[line width=\DSThick] (0,{0.5*\DSHauteurPatateE}) ellipse ({0.5*\DSLargPatates} and {0.5*\DSHauteurPatateE} );
+		\foreach \i in {1,...,\DSLstElen}{%
+			\coordinate (E\DSLstE[\i]) at ({0.05*\DSLargPatates},{(\DSLstElen-\i+1)*\DSEcartIN}) ;%
+			\filldraw[\DSCouleurE] (E\DSLstE[\i]) circle[radius=1.5pt] node[left,font=\DSPolicePatates] {\DSLstE[\i]} ;%
+		}%
+		%PATATE_F (ok)
+		\draw[line width=\DSThick] ({\DSEcartIP},{0.5*\DSHauteurPatateF-\DSOffsetPatates}) ellipse ({0.5*\DSLargPatates} and {0.5*\DSHauteurPatateF} );
+		\foreach \i in {1,...,\DSLstFlen}{%
+			\coordinate (F\DSLstF[\i]) at ({\DSEcartIP-0.05*\DSLargPatates},{(\DSLstFlen-\i+1)*\DSEcartIN-\DSOffsetPatates}) ;%
+			\filldraw[\DSCouleurF] (F\DSLstF[\i]) circle[radius=1.5pt] node[right,font=\DSPolicePatates] {\DSLstF[\i]} ;%
+		}%
+		%ARCS
+		\foreach \Deb/\Fin in {#4} {%
+			\draw[line width=\DSThick,->,>=\DSTypeFleche,\DSCouleurArc] (E\Deb)--(F\Fin) ;
+		}%
+	\IfBooleanTF{#1}%
+		{}%
+		{\end{tikzpicture}}%
+}
+
 \endinput
\ No newline at end of file



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