From e7d184bc6eca37cdb7e87b0194122ee883a5703e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 28 Apr 2022 20:24:07 +0000 Subject: proflycee (28apr22) git-svn-id: svn://tug.org/texlive/trunk@63168 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/proflycee/ProfLycee-doc.pdf | Bin 487568 -> 498392 bytes .../doc/latex/proflycee/ProfLycee-doc.tex | 171 ++++++++++++++++++--- .../texmf-dist/tex/latex/proflycee/ProfLycee.sty | 65 +++++++- 3 files changed, 207 insertions(+), 29 deletions(-) diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf index d5b650b1a68..5349f06c06d 100644 Binary files a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf and b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf differ diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex index b6f426cdbfb..0132bc7c691 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex @@ -34,6 +34,9 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} +\def\PLversion{1.1.1} +\def\PLdate{28 Avril 2022} + \tcbset{vignettes/.style={% nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,% @@ -153,7 +156,7 @@ {\ttfamily c pierquet -- at -- outlook . fr} \end{tabular} } -\date{Version 1.0.9 -- 24 Avril 2022} +\date{Version \PLversion{} -- \PLdate} \newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}} @@ -335,7 +338,9 @@ Le \ctex{package}, qui s'enrichira peut-être au fil du temps permet -- pour le \item tracer des tangentes (ou portions) de tangentes sur la même base que pour les splines ; \item simuler une fenêtre de logiciel formel (\textit{à la manière de} \textsf{XCas}) ; \item mettre en forme du code \textsf{python} ou \textsf{pseudocode} ; - \item simuler une fenêtre de terminal (win/unix/osx). + \item simuler une fenêtre de terminal (win/unix/osx) ; + \item créer un cartouche \textit{à la manière de} Capytale ; + \item créer rapidement un pavé droit ou un tétraèdre en \TikZ, avec gestion des nœuds. \end{itemize} \end{codeidee} @@ -738,7 +743,7 @@ Les \Cle{Clés} disponibles sont : \item \Cle{tailletitre} : taille du titre ;\hfill{}défaut \Cle{\textbackslash normalsize} \item \Cle{poscmd} : position horizontale de la commande d'entrée ;\hfill{}défaut \Cle{gauche} \item \Cle{posres} : position horizontale de la commande de sortie ;\hfill{}défaut \Cle{centre} - \item \Cle{couleurcmd} : couleur de la commande d'entrée ;\hfill{}défaut \Cle{ed} + \item \Cle{couleurcmd} : couleur de la commande d'entrée ;\hfill{}défaut \Cle{red} \item \Cle{couleurres} : couleur de la commande de sortie ;\hfill{}défaut \Cle{blue} \item \Cle{sep} : booléen pour l'affichage du trait de séparation E/S ;\hfill{}défaut \Cle{true} \item \Cle{menu} : booléen pour l'affichage du \textit{bouton} MENU ;\hfill{}défaut \Cle{true} @@ -788,7 +793,7 @@ Chaque argument \textsf{COMMANDE} \& \textsf{RÉSULTAT} peut être formaté (niv \subsection{Visualisation des paramètres} \begin{codeinfo} -Pour \textit{illustrer} un peur les \Cle{clés}, un petit schéma, avec les différents nœuds crées par les \textsf{macros}. +Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les différents nœuds crées par les \textsf{macros}. \begin{center} \begin{tikzpicture}[x=1cm,y=1cm,line width=1pt] @@ -850,7 +855,7 @@ Voir par exemple \url{http://lesmathsduyeti.fr/fr/informatique/latex/pythontex/} \smallskip \begin{codeinfo} -Compte tenu de la \textit{relative complexité} de gérer les options (par paramètres/clés\ldots) des \textit{tcbox} et des \textit{fancyvrb}, le style est \og fixé \fg{} tel quel, et seules la taille et la position de la \textit{tcbox} sont modifiables. Si toutefois vous souhaitez personnaliser davantage, il faudra prendre le code correspondant et appliquer vos modifications ! +Compte tenu de la \textit{relative complexité} pour gérer les options (par paramètres/clés\ldots) des \textit{tcbox} et des \textit{fancyvrb}, le style est \og fixé \fg{} tel quel, et seules la taille et la position de la \textit{tcbox} sont modifiables. Si toutefois vous souhaitez personnaliser davantage, il faudra prendre le code correspondant et appliquer vos modifications ! Cela peut donner -- en tout cas -- des idées de personnalisation en ayant une base \textit{pré}existante ! \end{codeinfo} @@ -858,7 +863,7 @@ Cela peut donner -- en tout cas -- des idées de personnalisation en ayant une b \subsection{Présentation de code Python via pythontex} \begin{codeidee} -L'environnement \ctex{\textbackslash envcodepythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code python, dans une \ctex{colorbox} avec un style particulier. +L'environnement \ctex{\textbackslash envcodepythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code python, dans une \ctex{tcolorbox} avec un style particulier. \end{codeidee} \smallskip @@ -932,7 +937,7 @@ Pour celles et ceux qui ne sont pas à l'aise avec le \textsf{package} \ctex{pyt \smallskip \begin{codeidee} -L'environnement \ctex{\textbackslash envcodepythonminted} permet de présenter du code python, dans une \ctex{colorbox} avec un style (\textit{minted}) particulier. +L'environnement \ctex{\textbackslash envcodepythonminted} permet de présenter du code python, dans une \ctex{tcolorbox} avec un style (\textit{minted}) particulier. \end{codeidee} \smallskip @@ -1074,7 +1079,7 @@ Les \Cle{Clés} disponibles sont : \subsection{Introduction} \begin{codeinfo} -Le \textsf{package} \ctex{listings} permet d'insérer et de présenter du code, et avec \ctex{tclorobox} on peut obtenir une présentation similaire à celle du code Python. Pour le moment la \textit{philosophie} de la commande est un peu différente de celle du code python, avec son système de \Cle{Clés}, car l'environnement \ctex{tcblisting} est un peu différent\ldots +Le \textsf{package} \ctex{listings} permet d'insérer et de présenter du code, et avec \ctex{tcolorbox} on peut obtenir une présentation similaire à celle du code Python. Pour le moment la \textit{philosophie} de la commande est un peu différente de celle du code python, avec son système de \Cle{Clés}, car l'environnement \ctex{tcblisting} est un peu différent\ldots \end{codeinfo} \subsection{Présentation de Pseudo-Code} @@ -1163,7 +1168,7 @@ FinPour \begin{codeinfo} À l'instar de \textsf{packages} existants, la \textit{philosophie} ici est de laisser l'utilisateur gérer \textit{son} langage pseudo-code. -J'ai fait le choix de ne pas définir des \textsf{mots clés} à mettre en valeur car cela reviendrait à \textit{imposer} des choix ! Donc ici, pas de coloration syntaxique ou de mise en évidence de mots clés, uniquement un formatage libre de code pseudo-code. +J'ai fait le choix de ne pas définir des \textsf{mots clés} à mettre en valeur car cela reviendrait à \textit{imposer} des choix ! Donc ici, pas de coloration syntaxique ou de mise en évidence de mots clés, uniquement un formatage libre de pseudo-code. \end{codeinfo} \smallskip @@ -1173,7 +1178,7 @@ J'ai fait le choix de ne pas définir des \textsf{mots clés} à mettre en valeu \smallskip -Celles et ceux qui sont déjà à l'aise avec les \textsf{packages} \ctex{listings} ou \ctex{minted} doivent déj avoir leur environnement personnel prêt ! +Celles et ceux qui sont déjà à l'aise avec les \textsf{packages} \ctex{listings} ou \ctex{minted} doivent déjà avoir leur environnement personnel prêt ! Il s'agit ici de présenter une version \og clé en main \fg{}. \end{codeidee} @@ -1368,7 +1373,7 @@ Le \textsf{cartouche} peut être \og cliquable \fg{} grâce à \ctex{href}. \newpage -\section{Pavé droit \og simple \fg} +\section{Pavé droit \og simple \fg{}} \subsection{Introduction} @@ -1416,7 +1421,7 @@ Quelques \Cle{clés} sont disponibles pour cette commande : \begin{codeinfo} La ligne est de ce fait à insérer dans un environnement \TikZ, avec les options au choix pour cet environnement. -Le code créé les nœeuds relatifs aux sommets, et les nomme comme les sommets, ce qui permet de les réutiliser pour éventuellement compléter la figure ! +Le code crée les nœuds relatifs aux sommets, et les nomme comme les sommets, ce qui permet de les réutiliser pour éventuellement compléter la figure ! \end{codeinfo} \subsection{Influence des paramètres} @@ -1459,26 +1464,148 @@ Le code créé les nœeuds relatifs aux sommets, et les nomme comme les sommets, \newpage +\section{Tétraèdre \og simple \fg{}} + +\subsection{Introduction} + +\begin{codeidee} +L'idée est d'obtenir un tétraèdre, dans un environnement \TikZ, avec les nœuds créés et nommés directement pour utilisation ultérieure. +\end{codeidee} + +\subsection{Commandes} + +\begin{codetex}[listing only] +... +\begin{tikzpicture}[] + \tetraCF[] + ... +\end{tikzpicture} +\end{codetex} + +\begin{codecles} +Quelques \Cle{clés} sont disponibles pour cette commande : + +\begin{itemize} + \item \Cle{largeur} : \textit{largeur} du tétraèdre ;\hfill{}défaut \Cle{4} + \item \Cle{profondeur} : \textit{profondeur} du tétraèdre ;\hfill{}défaut \Cle{1.25} + \item \Cle{hauteur} : \textit{hauteur} du tétraèdre ;\hfill{}défaut \Cle{3} + \item \Cle{alpha} : angle \textit{du sommet de devant} ;\hfill{}défaut \Cle{40} + \item \Cle{beta} : angle \textit{du sommet du haut} ;\hfill{}défaut \Cle{60} + \item \Cle{sommets} : liste des sommets (avec délimiteur § !) ;\hfill{}défaut \Cle{A§B§C§D} + \item \Cle{epaisseur} : épaisseur des arêtes (en \textit{langage simplifié} \TikZ) ;\hfill{}défaut \Cle{thick} + \item \Cle{aff} : booléen pour afficher les noms des sommets ;\hfill{}défaut \Cle{false} + \item \Cle{plein} : booléen pour ne pas afficher l'arête \textit{invisible} .\hfill{}défaut \Cle{false} +\end{itemize} +\end{codecles} + +\begin{codetex}[tikz lower] +%code tikz +\tetraPL +\end{codetex} + +\begin{codetex}[tikz lower] +%code tikz +\tetraPL[aff,largeur=2,profondeur=0.625,hauteur=1.5] +\end{codetex} + +\begin{codetex}[tikz lower] +%code tikz +\tetraPL[plein,aff,largeur=5,beta=60] +\end{codetex} + +%\begin{codeinfo} +%La ligne est de ce fait à insérer dans un environnement \TikZ, avec les options au choix pour cet environnement. +% +%Le code créé les nœuds relatifs aux sommets, et les nomme comme les sommets, ce qui permet de les réutiliser pour éventuellement compléter la figure ! +%\end{codeinfo} + +\subsection{Influence des paramètres} + +\begin{codeinfo} +Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les différents paramètres utiles. + +\begin{center} + \begin{tikzpicture}[x=1.25cm,y=1.25cm,line width=1pt,line join=bevel] + \tetraPL[largeur=5,profondeur=1.95,hauteur=2.75,alpha=45,beta=70] + \draw[draw=none] (A)--(C) node[midway,sloped,above,font=\small\sffamily,CadetBlue] {largeur} ; + \draw[draw=none] (A)--(B) node[midway,sloped,below,font=\small\sffamily,CadetBlue] {profondeur} ; + \draw[draw=none] (A)--(D) node[midway,sloped,above,font=\small\sffamily,CadetBlue] {hauteur} ; + \draw[purple] (0.5,0) arc (0:-45:0.5) ; + \draw (-22.5:0.5) node[purple,right] {$\alpha$} ; + \draw[orange] (0.75,0) arc (0:70:0.75) ; + \draw (35:0.75) node[orange,right] {$\beta$} ; + \end{tikzpicture} +\end{center} +\end{codeinfo} + +\begin{codetex}[listing only] +\begin{center} + \begin{tikzpicture}[line join=bevel] + \tetraPL[aff,largeur=7,profondeur=3,hauteur=5,epaisseur={ultra thick},alpha=20,beta=30] + \draw[very thick,ForestGreen,<->] ($(A)!0.5!(D)$)--($(B)!0.5!(D)$) ; + \end{tikzpicture} +\end{center} +\end{codetex} + +\medskip + +\begin{codesortie} +\begin{center} + \begin{tikzpicture}[line join=bevel] + \tetraPL[aff,largeur=7,profondeur=3,hauteur=5,epaisseur={ultra thick},alpha=20,beta=30] + \draw[very thick,ForestGreen,<->] ($(A)!0.5!(D)$)--($(B)!0.5!(D)$) ; + \end{tikzpicture} +\end{center} +\end{codesortie} +% +%\begin{codetex}[listing only] +% \begin{center} +% \begin{tikzpicture}[line join=bevel] +% \pavePL[plein,aff,largeur=7,profondeur=3.5,hauteur=4,sommets=Q§S§D§F§G§H§J§K] +% \draw[thick,red,densely dotted] (G)--(J) ; +% \draw[thick,blue,densely dotted] (K)--(H) ; +% \end{tikzpicture} +% \end{center} +%\end{codetex} +% +%\medskip +% +%\begin{codesortie} +% \begin{center} +% \begin{tikzpicture}[line join=bevel] +% \pavePL[plein,aff,largeur=7,profondeur=3.5,hauteur=4,sommets=Q§S§D§F§G§H§J§K] +% \draw[thick,red,densely dotted] (G)--(J) ; +% \draw[thick,blue,densely dotted] (K)--(H) ; +% \end{tikzpicture} +% \end{center} +%\end{codesortie} + +\newpage + \section{Historique} -{\small \bverb|v1.0.9| :~~~~Ajout d'une commande \textsf{pavePL} pour créer des pavés droits (avec nœuds) en \TikZ +{\small \bverb|v1.1.1|~:~~~~Modification mineure de l'environnement CF, avec prise de charge de la taille du texte ! + +{\small \bverb|v1.1.0|~:~~~~Ajout d'une commande \textsf{tetraPL} pour créer des tétraèdres (avec nœuds) en \TikZ + +{\small \bverb|v1.0.9|~:~~~~Ajout d'une commande \textsf{pavePL} pour créer des pavés droits (avec nœuds) en \TikZ -{\small \bverb|v1.0.8| :~~~~Ajout d'une commande \textsf{liencapytale} pour créer des cartouches de lien "comme capytale" +{\small \bverb|v1.0.8|~:~~~~Ajout d'une commande \textsf{liencapytale} pour créer des cartouches de lien "comme capytale" -{\small \bverb|v1.0.7| :~~~~Ajout d'une option \textsf{build} pour placer certains fichiers auxiliaires dans un répertoire \textsf{./build} +{\small \bverb|v1.0.7|~:~~~~Ajout d'une option \textsf{build} pour placer certains fichiers auxiliaires dans un répertoire \textsf{./build} -{\small \bverb|v1.0.6| :~~~~Ajout d'une option \textsf{nominted} pour ne pas charger \ctex{minted} (pas besoin de compiler avec \textsf{shell-escape}) +{\small \bverb|v1.0.6|~:~~~~Ajout d'une option \textsf{nominted} pour ne pas charger \ctex{minted} (pas besoin de compiler avec \textsf{shell-escape}) -{\small \bverb|v1.0.5| :~~~~Ajout d'un environnement pour Python (minted) +{\small \bverb|v1.0.5|~:~~~~Ajout d'un environnement pour Python (minted) -{\small \bverb|v1.0.4| :~~~~Ajout des environnements pour Terminal (win, osx, unix) +{\small \bverb|v1.0.4|~:~~~~Ajout des environnements pour Terminal (win, osx, unix) -{\small \bverb|v1.0.3| :~~~~Ajout des environnements pour PseudoCode +{\small \bverb|v1.0.3|~:~~~~Ajout des environnements pour PseudoCode -{\small \bverb|v1.0.2| :~~~~Ajout des environnements pour Python (pythontex) +{\small \bverb|v1.0.2|~:~~~~Ajout des environnements pour Python (pythontex) -{\small \bverb|v1.0.1| :~~~~Modification mineure liée au chargement de \ctex{xcolor} +{\small \bverb|v1.0.1|~:~~~~Modification mineure liée au chargement de \ctex{xcolor} -{\small \bverb|v1.0 | :~~~~Version initiale} +{\small \bverb|v1.0 |~:~~~~Version initiale} \end{document} \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty index 71079843e34..d88ec5e8496 100644 --- a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty +++ b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty @@ -3,7 +3,9 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2022/04/24 - v1.0.9 - Aide pour l'utilisation de LaTeX en lycée] +\ProvidesPackage{ProfLycee}[2022/04/28 - v1.1.1 - Aide pour l'utilisation de LaTeX en lycée] +% 1.1.1 Modification mineure de l'environnement CF, avec prise de charge de la taille du texte ! +% 1.1.0 Ajout d'une commande tetraPL pour un tetraèdre dans un environnement TikZ % 1.0.9 Ajout d'une commande pavePL pour un pave droit dans un environnement TikZ % 1.0.8 Ajout d'une commande liencapytale pour créer un cartouche "comme sur capytale" % 1.0.7 Option [build] pour placer les fichiers temporaires dans un répertoire build (désactivée par défaut) @@ -234,13 +236,13 @@ \draw[\CFcouleur] (A0\CFL) rectangle (A5\CFL) ; %LA COMMANDE EN ROUGE \IfStrEq{\CFposcmd}{centre}%si poscmd=center - {\draw (C2\CFL) node[\CFcoulcmd] {#2} ;} + {\draw (C2\CFL) node[\CFcoulcmd,font=\CFtaille] {#2} ;} {} \IfStrEq{\CFposcmd}{gauche}%si poscmd=left - {\draw (C1\CFL) node[right,\CFcoulcmd] {#2} ;} + {\draw (C1\CFL) node[right,\CFcoulcmd,font=\CFtaille] {#2} ;} {} \IfStrEq{\CFposcmd}{right}%si poscmd=right - {\draw (C3\CFL) node[left,\CFcoulcmd] {#2} ;} + {\draw (C3\CFL) node[left,\CFcoulcmd,font=\CFtaille] {#2} ;} {} %LA LIGNE DE SÉPARATION \ifboolKV[paramfenxcas]{sep}%si sep=true @@ -248,13 +250,13 @@ {} %LE RÉSULTAT \IfStrEq{\CFposres}{centre}%si posrep=center - {\draw (R2\CFL) node[\CFcoulres] {#3} ;} + {\draw (R2\CFL) node[\CFcoulres,font=\CFtaille] {#3} ;} {} \IfStrEq{\CFposres}{gauche}%si posrep=left - {\draw (R1\CFL) node[right,\CFcoulres] {#3} ;} + {\draw (R1\CFL) node[right,\CFcoulres,font=\CFtaille] {#3} ;} {} \IfStrEq{\CFposres}{right}%si posrep=right - {\draw (R3\CFL) node[left,\CFcoulres] {#3} ;} + {\draw (R3\CFL) node[left,\CFcoulres,font=\CFtaille] {#3} ;} {} \ifboolKV[paramfenxcas]{sep}%si sep=true {\draw[\CFcouleur] (A1\CFL) -- (A4\CFL);}% @@ -745,4 +747,53 @@ (\PaveD)--(\PaveH) ;} } +%============TétraèdreTikZ============= OK !! +\defKV[paramstetra]{% + largeur=\xdef\PFTetraLg{#1},% + profondeur=\xdef\PFTetraPf{#1},% + hauteur=\xdef\PFTetraHt{#1},% + alpha=\xdef\PFTetraAlpha{#1},% + beta=\xdef\PFTetraBeta{#1},% + sommets=\def\PFTetraSommets{#1},% + epaisseur=\xdef\PFTetraThick{#1} +} +\setKVdefault[paramstetra]{% + aff=false,% + plein=false,% + largeur=4,% + profondeur=1.25,% + hauteur=3,% + alpha=40,% + beta=60,% + epaisseur=thick,% + sommets=A§B§C§D,% +} + +\newcommand\tetraPL[1][]{% + \useKVdefault[paramstetra]% + \setKV[paramstetra]{#1}% + \setsepchar{§}% + \readlist\PFListeSommets\PFTetraSommets + \itemtomacro\PFListeSommets[1]\TetraA + \itemtomacro\PFListeSommets[2]\TetraB + \itemtomacro\PFListeSommets[3]\TetraC + \itemtomacro\PFListeSommets[4]\TetraD + %les nœuds du tétraèdre + \coordinate (\TetraA) at (0,0) ; + \coordinate (\TetraB) at ($(\TetraA) + ({-\PFTetraAlpha}:{\PFTetraPf})$) ; + \coordinate (\TetraC) at ({\PFTetraLg},0) ; + \coordinate (\TetraD) at ($(\TetraA) + ({\PFTetraBeta}:{\PFTetraHt})$) ; + \ifboolKV[paramstetra]{aff} + {\draw (\TetraA) node[left] {\TetraA} ; + \draw (\TetraB) node[below] {\TetraB} ; + \draw (\TetraC) node[right] {\TetraC} ; + \draw (\TetraD) node[above] {\TetraD} ;} + {}%on affiche rien + \draw[\PFTetraThick] (\TetraA)--(\TetraD)--(\TetraC)--(\TetraB)--cycle + (\TetraD)--(\TetraB) ; + \ifboolKV[paramstetra]{plein} + {} + {\draw[dashed,\PFTetraThick] (\TetraA)--(\TetraC) ;} +} + \endinput \ No newline at end of file -- cgit v1.2.3