diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf | bin | 812698 -> 815001 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex | 563 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf | bin | 60443 -> 60451 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex | 25 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pythontex.pdf | bin | 0 -> 44183 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pythontex.tex | 242 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty | 208 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/proflycee-tools-listings.tex | 333 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex | 47 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex | 35 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex | 89 |
11 files changed, 932 insertions, 610 deletions
diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf Binary files differindex f44e4ef13a4..67586db55bb 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex index 51bd79b3e7a..1aa8261b740 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex @@ -5,8 +5,8 @@ % arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') \documentclass[a4paper,french,11pt]{article} -\def\PLversion{2.5.7} -\def\PLdate{4 Avril 2023} +\def\PLversion{2.5.8} +\def\PLdate{6 Avril 2023} \usepackage{ProfLycee} \useproflyclib{piton,minted,pythontex} %\usepackage{lualatex-math} @@ -89,12 +89,12 @@ } \tcbset{vignettelib/.style={% - fontupper={\vphantom{pf}\footnotesize\ttfamily}, - vignettes,% - colframe=ForestGreen,coltitle=white,colback=white,% - overlay={\begin{tcbclipinterior}% - \fill[fill=green!25]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{ForestGreen}{\scalebox{0.85}[0.75]{\textbf{LIB}}}}} ($(interior.north west)+(5pt,0pt)$);% - \end{tcbclipinterior}} + fontupper={\vphantom{pf}\footnotesize\ttfamily}, + vignettes,% + colframe=ForestGreen,coltitle=white,colback=white,% + overlay={\begin{tcbclipinterior}% + \fill[fill=green!25]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{ForestGreen}{\scalebox{0.85}[0.75]{\textbf{LIB}}}}} ($(interior.north west)+(5pt,0pt)$);% + \end{tcbclipinterior}} } } @@ -246,8 +246,7 @@ {\deblst} résoudre, de manière approchée, des équations\\ {\deblst} tracer \textit{facilement} des repères/grilles/courbes\\ {\deblst} tracer des courbes \textit{lisses} avec gestion des extrema et des dérivées\\ -{\deblst} simuler une fenêtre de logiciel de calcul formel, une console d'exécution \\ -{\deblst} présenter du code \textsf{python} ou \textsf{pseudocode} \\ +{\deblst} présenter du code \textsf{python} ou \textsf{pseudocode}, une console d'exécution \textsf{Python} \\ {\deblst} tracer rapidement un pavé, un tétraèdre \\ {\deblst} simplifier des calculs sous forme fractionnaire, simplifier des racines \\ {\deblst} effectuer des calculs avec des suites récurrentes \\ @@ -303,19 +302,19 @@ \subsection{\og Philosophie \fg{} du package} \begin{codeidee} -Ce \ctex{package}, très largement inspiré (et beaucoup moins abouti !) de l'excellent \ctex{ProfCollege} de C. Poulain et des excellents \ctex{tkz-*} d'A. Matthes, va définir quelques outils pour des situations particulières qui ne sont pas encore dans \ctex{ProfCollege}. +Ce \ctex{package}, très largement inspiré (et beaucoup moins abouti) de l'excellent \ctex{ProfCollege} de C. Poulain et des excellents \ctex{tkz-*} d'A. Matthes, va définir quelques outils pour des situations particulières qui ne sont pas encore dans \ctex{ProfCollege}. -On peut le voir comme un (maigre) complément à \ctex{ProfCollege}, et je précise que la syntaxe est très proche (car pertinente de base) et donc pas de raison de changer une équipe qui gagne ! +On peut le voir comme un (maigre) complément à \ctex{ProfCollege}, et je précise que la syntaxe est très proche (car pertinente de base) et donc pas de raison de changer une \textit{équipe qui gagne} ! \medskip -Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee\}}. Il charge des {packages} utiles, mais j'ai fait le choix de laisser l'utilisateur gérer ses autres {packages}, comme notamment \ctex{amssymb} qui peut poser souci en fonction de la \textit{position} de son chargement. +Il se charge de manière classique, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee\}}. Il charge des {packages} utiles, mais j'ai fait le choix de laisser l'utilisateur gérer ses autres {packages}, comme notamment \ctex{amssymb} qui peut poser souci en fonction de la \textit{position} de son chargement. L'utilisateur est libre de charger ses autres {packages} utiles et habituels, ainsi que ses \textsf{polices} et \textsf{encodages} habituels ! \end{codeidee} \begin{codeinfo} -Le {package} \ctex{ProfLycee} charge les {packages} : +Le {package} \ctex{ProfLycee} charge et utilise les {packages} : \begin{itemize} \item \ctex{xcolor} avec l' option \textsf{[table,svgnames]} ; @@ -371,6 +370,10 @@ Les librairies disponibles seront indiquées dans les sections spécifiques. Pou \end{itemize} \end{codeinfo} +\begin{codeattention} +\cmaj{2.5.8} Pour le package \ctex{piton}, la version minimale requise est la \ctex{1.5} pour bénéficier d'un rendu optimal (au niveau des marges) de la présentation du code \textsf{Python}. +\end{codeattention} + \begin{codeinfo} En compilant (notamment avec les librairies \clib{minted} et \clib{pythontex}) on peut spécifier des répertoires particuliers pour les (ou des) fichiers auxiliaires. @@ -401,28 +404,6 @@ L'option \Cle{build} charge certains packages (librairies \clib{minted} et \clib \section{Compléments} -%\subsection{Changements à partir de la version 2 !!} -% -%\begin{codeattention} -%\cmaj{2.0.0} Pour des raisons pratiques, les commandes et environnements disponibles dans \ctex{ProfLycee} ont été renommés, pour utiliser des noms plus génériques et explicites. -% -%La nomenclature des \Cle{clés} a été également revue, avec -- dans la grande majorité des cas -- une majuscule en début. -% -%\smallskip -% -%Je préfère faire ces ajustements tant que le package est assez \textit{jeune} ! -%\end{codeattention} -% -%\begin{codeattention} -%\cmaj{2.0.0} L'ancienne version (qui ne sera mise à jour !!) du package \ctex{ProfLycee} est toutefois encore disponible, pour une migration en douceur, elle est désormais accessible sous le nom \ctex{ProfLycee-old}, et la documentation est également encore disponible. -%\end{codeattention} -% -%\begin{codetex}[listing only] -%... -%\usepackage[options]{ProfLycee-old} %nouveautés non disponibles par contre... -%... -%\end{codetex} - \subsection{Le système de \og clés/options \fg} \begin{codeidee} @@ -457,27 +438,8 @@ Les \textsf{codes} seront présentés dans des \textsf{boîtes} \textcolor{red!7 Les \textsf{clés} ou \textsf{options} seront présentées dans des \textsf{boîtes} \textcolor{ForestGreen}{{\small \faPaperclip} Clés}. \end{codeinfo} -%\subsection{Outils disponibles} -% -%\begin{codeidee} -%Le {package}, qui s'enrichira peut-être au fil du temps permet -- pour le moment -- de : -% -%\begin{itemize} -% \item tracer des splines cubiques avec gestion \textit{assez fine} des tangentes ; -% \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 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 ; -% \item créer rapidement un ensemble d'éléments, avec gestion des espaces ; -% \item créer, dans un environnement \TikZ, la \og toile \fg{} pour une suite récurrente : -% \item etc -%\end{itemize} -%\end{codeidee} - \begin{codeinfo} -À noter que certaines commandes disponibles sont liées à un environnement \ctex{tikzpicture}, elles ne sont pas autonomes mais permettent de conserver -- en parallèle -- toute commande liée à \TikZ{} ! +À noter que certaines commandes disponibles sont liées à un environnement \ctex{tikzpicture}, elles peuvent ne pas être autonomes mais permettent de conserver -- en parallèle -- toute commande liée à \TikZ{} ! \end{codeinfo} \subsection{Compilateur(s)} @@ -566,17 +528,21 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent \begin{codetex}[listing only] %présentation de code Python \begin{CodePythonLst}(*)[largeur]{commandes tcbox}...\end{CodePythonLst} +\begin{CodePythonLstAlt}(*)[largeur]{commandes tcbox}...\end{CodePythonLstAlt} %:=librairie piton -\begin{CodePiton}[options]...\end{CodePiton} -\begin{PitonConsole}[options Piton]<Clés>{paramètres tcbox}...\end{PitonConsole} +\begin{CodePiton}[options piton]{commandes tcbox}...\end{CodePiton} +\begin{PitonConsole}<Clés>{commandes tcbox}...\end{PitonConsole} %:=librairie pythontex -\begin{CodePythontex}[options]...\end{CodePythontex} -\begin{ConsolePythontex}[options]...\end{ConsolePythontex} +\begin{CodePythontex}[options]{}...\end{CodePythontex} +\begin{CodePythontexAlt}[options]{}...\end{CodePythontexAlt} +\begin{ConsolePythontex}[options]{}...\end{ConsolePythontex} %:=librairie minted -\begin{CodePythonMinted}(*)[largeur][options]...\end{CodePythonMinted} +\begin{CodePythonMinted}(*)[largeur]{commandes tcbox}...\end{CodePythonMinted} +\begin{CodePythonMintedAlt}(*)[largeur]{commandes tcbox}...\end{CodePythonMintedAlt} %présentation de pseudocode -\begin{PseudoCode}(*)[largeur][options]...\end{PseudoCode} +\begin{PseudoCode}(*)[largeur]{commandes tcbox}...\end{PseudoCode} +\begin{PseudoCodeAlt}(*)[largeur]{commandes tcbox}...\end{PseudoCodeAlt} \end{codetex} \pagebreak @@ -1444,7 +1410,7 @@ Avec des explications utiles à la compréhension : \begin{center} \begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=7,ygrille=1,ygrilles=0.5] \genfenetre - \SplineTikz[affpoints=true]{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10} + \SplineTikz[AffPoints]{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10} \gennotice \gentangentes \listecoeffs{3}{3}{3}{3} @@ -1461,12 +1427,6 @@ Dans certains cas, il se peut que la portion paraisse un peu trop \og abrupte \f On peut dans ce cas \textit{jouer} sur les coefficients de cette portion pour \textit{arrondir} un peu tout cela (\textit{ie} diminuer le \textsf{coeff}\ldots)! -%\begin{itemize} -% \item être donnés (pour utiliser le même partout) sous la forme \Cle{coeffs=C} ; -% \item être donnés portion par portion, sous la forme \Cle{coeffs=C1§C2§...} ; -% \item être donné de manière très fine, portion par portion et côté par côté, sous la forme \Cle{coeffs=C1G/C1D§C2G/C2D§...}. -%\end{itemize} - \begin{center} \begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=7,ygrille=1,ygrilles=0.5] \genfenetre @@ -1500,8 +1460,6 @@ On peut dans ce cas \textit{jouer} sur les coefficients de cette portion pour \t \foreach \y in {0,1,...,4} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;} \draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ; \draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ; -% \draw (1,-4pt) node[below,font=\sffamily] {1} ; -% \draw (-4pt,1) node[left,font=\sffamily] {1} ; \def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10} \SplineTikz[AffPoints,Coeffs=3§3§3§2/1]{\LISTE} \end{tikzpicture} @@ -2014,137 +1972,14 @@ Peut-être que -- ultérieurement -- des options \textit{booléennes} seront dis \part{Présentation de codes} -%\section{L'outil \og Calcul Formel \fg} -% -%\subsection{Introduction} -% -%\begin{codeidee} -%L'idée des commandes suivantes est de définir, dans un environnement \TikZ, une présentation proche de celle d'un logiciel de calcul formel comme \textsf{XCas} ou \textsf{Geogebra}. -% -%\smallskip -% -%Les sujets d'examens, depuis quelques années, peuvent comporter des \textit{captures d'écran} de logiciel de calcul formel, l'idée est ici de reproduire, de manière autonome, une telle présentation. -% -%\smallskip -% -%À la manière du {package} \ctex{tkz-tab}, l'environnement de référence est un environnement \TikZ, dans lequel les lignes sont créées petit à petit, à l'aide de nœuds qui peuvent être réutilisés à loisir ultérieurement. -%\end{codeidee} -% -%\subsection{La commande \og CalculFormelParametres \fg} -% -%\begin{codeinfo} -%La première chose à définir est l'ensemble des paramètres \textit{globaux} de la fenêtre de calcul formel, à l'aide de \Cle{Clés}. -%\end{codeinfo} -% -%\begin{codetex}[listing only] -%... -%\begin{tikzpicture}[...] -% \CalculFormelParametres[options] -% ... -%\end{tikzpicture} -%\end{codetex} -% -%\begin{codecles} -%Les \Cle{Clés} disponibles sont : -%\begin{itemize} -% \item \Cle{Largeur} : largeur de l'environnement ; \hfill{}défaut \Cle{16} -% \item \Cle{EspaceLg} : espacement vertical entre les lignes ;\hfill{}défaut \Cle{2pt} -% \item \Cle{PremCol} \& \Cle{HautPremCol} : largeur et hauteur de la case du \textit{petit numéro} ;\hfill{}défaut \Cle{0.3} \& \Cle{0.4} -% \item \Cle{Taille} : taille du texte ;\hfill{}défaut \Cle{\textbackslash normalsize} -% \item \Cle{Couleur} : couleur des traits de l'environnement ;\hfill{}défaut \Cle{darkgray} -% \item \Cle{Titre} : booléen pour l'affichage d'un bandeau de titre ;\hfill{}défaut \Cle{false} -% \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{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} -% \item \Cle{LabelTitre} : libellé du titre.\hfill{}défaut \Cle{Résultats obtenus avec un logiciel de Calcul Formel} -%\end{itemize} -%\end{codecles} -% -%\subsection{La commande \og CalculFormelLigne \fg} -% -%\begin{codeinfo} -%Une fois les paramètres déclarés, il faut créer les différentes lignes, grâce à la \ctex{CalculFormelLigne}. -%\end{codeinfo} -% -%\begin{codetex}[listing only] -%\begin{tikzpicture}[...] -% \CalculFormelParametres[options] -% \CalculFormelLigne[options]{commande}{résultat} -% ... -%\end{tikzpicture} -%\end{codetex} -% -%\begin{codecles} -%Les (quelques) \Cle{Clés} disponibles sont : -% -%\begin{itemize} -% \item \Cle{HautCmd} et \Cle{HautRes}: hauteur de la ligne de commande d'entrée et de sortie ;\hfill{}défaut \Cle{0.75} -% \item deux \textsf{arguments}, celui de la commande d'entrée et celui de la commande de sortie. -%\end{itemize} -%% -%Chaque argument \textsf{COMMANDE} \& \textsf{RÉSULTAT} peut être formaté (niveau police) de manière indépendante. -%\end{codecles} -% -%\begin{codetex}[tikz lower] -%%code tikz -%\CalculFormelParametres[Titre=true,CouleurCmd=olive,CouleurRes=orange] -%\CalculFormelLigne{COMMANDE 1}{RÉSULTAT 1} -%\CalculFormelLigne[HautCmd=0.75,HautRes=1]{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$} -%%\CFchap := ^ en mathtt -%\end{codetex} -% -%\subsection{Visualisation des paramètres} -% -%\begin{codeinfo} -%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=0.7cm,y=0.5cm,line width=1pt] -% \CalculFormelParametres[Largeur=12cm,Couleur=lightgray,EspaceLg=12pt,Menu=false] -% \CalculFormelLigne{}{} -% \CalculFormelLigne[HautCmd=1,HautRes=1.25]{}{} -% %explications -% \foreach \noeud in {01,11,21,31,41,51,02,12,22,32,42,52} -% \draw[blue] (A\noeud) node[font=\footnotesize\ttfamily] {A\noeud} ; -%\end{tikzpicture} -%\end{center} -% -%\begin{center} -% \begin{tikzpicture}[x=0.7cm,y=0.7cm,line width=1pt] -% \CalculFormelParametres[Titre,Largeur=12cm,EspaceLg=10pt,PremCol=0.5,HautPremCol=0.7,Couleur=lightgray] -% \CalculFormelLigne{COMMANDE 1}{RÉSULTAT 1} -% \CalculFormelLigne[HautCmd=0.85,HautRes=1.05]{COMMANDE 2}{RÉSULTAT 2} -% %explications -% \draw[CadetBlue,<->,>=latex] ($(A22) + (0,-12pt)$) -- ($(A52) + (0,-12pt)$) node[midway,below,font=\footnotesize\sffamily] {\Cle{Largeur}} ; -% \draw[CadetBlue,<->,>=latex] ($(A51) + (12pt,0)$) -- ($(A32) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{EsapceLg}} ; -% \draw[CadetBlue,<->,>=latex] ($(A02) + (0,2pt)$) -- ($(A02) + (0,2pt) + ({-\CFpremcol},0) $) node[midway,above,font=\footnotesize\sffamily] {\Cle{PremCol}} ; -% \draw[CadetBlue,<->,>=latex] ($(A02) + ({-\CFpremcol},0) + (-2pt,0)$) -- ($(A02) + ({-\CFpremcol},{-\CFhpremcol}) +(-2pt,0)$) node[midway,left,font=\footnotesize\sffamily] {\Cle{HautPremCol}} ; -% \draw[CadetBlue,<->,>=latex] ($(A31) + (12pt,0)$) -- ($(A41) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautCom}} ; -% \draw[CadetBlue,<->,>=latex] ($(A41) + (12pt,0)$) -- ($(A51) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautRes}} ; -% \draw[CadetBlue,<->,>=latex] ($(A32) + (12pt,0)$) -- ($(A42) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautCom}} ; -% \draw[CadetBlue,<->,>=latex] ($(A42) + (12pt,0)$) -- ($(A52) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautRes}} ; -% \draw[CadetBlue,->,>=latex] ($(A12) + (0,-12pt)$) to[bend left=10] ($(A12) + (0,-12pt) + (-18pt,-12pt)$) node[below left,font=\footnotesize\sffamily] {\Cle{Couleur}} ; -% \draw[CadetBlue,->,>=latex] ($(A52) + (-0.65,0.25)$) to[bend left=10] ($(A52) + (-0.65,0.25) + (-18pt,12pt)$) node[inner sep=0pt,above left=1pt,font=\footnotesize\sffamily] {\Cle{Menu}} ; -% \draw[CadetBlue,->,>=latex] ($(A12) + (16pt,0)$) to[bend left=10] ($(A12) + (16pt,0) + (18pt,-12pt)$) node[inner sep=0pt,below right=1pt,font=\footnotesize\sffamily] {\Cle{Sep}} ; -% \draw[CadetBlue,->,>=latex] ($(A01) + (8pt,2pt) + (0,1em)$) to[bend left=10] ($(A01) + (8pt,2pt) + (0,1em) + (-18pt,12pt)$) node[inner sep=0pt,above=1pt,font=\footnotesize\sffamily] {\Cle{Titre} \& \Cle{TailleTitre} \& \Cle{LabelTitre}} ; -%\end{tikzpicture} -%\end{center} -%\end{codeinfo} -% -%\newpage - \section{Code Python \og simple \fg{} via le package listings}\label{pythonsimple} \subsection{Introduction} \begin{codeidee} -Le {package} \ctex{listings} permet d'insérer et de formater du code, notamment du code Python. +Le {package} \ctex{listings} permet d'insérer et de formater du code, notamment du code \textsf{Python}. -En \textit{partenariat} avec \ctex{tcolorbox}, on peut donc présenter \textit{joliment} du code python ! +En \textit{partenariat} avec \ctex{tcolorbox}, on peut donc présenter \textit{joliment} du code \textsf{Python} ! \end{codeidee} \begin{codeinfo} @@ -2152,17 +1987,17 @@ Le package \ctex{listings} ne nécessite pas de compilation particulière, au co \end{codeinfo} \begin{codeinfo} -Le style utilisé pour formater le code Python n'est pas modifiable. Il donne un rendu proche de celui des packages comme \ctex{pythontex} ou \ctex{minted} ou \ctex{piton}. +Les styles utilisés pour formater le code \textsf{Python} ne sont pas modifiables. Ils donnent un rendu proche de celui des packages comme \ctex{pythontex} ou \ctex{minted} ou \ctex{piton}. \smallskip -Donc, si plusieurs \textit{méthodes} sont utilisées pour insérer du code Python (via les \textit{méthodes} suivantes), le rendu pourra être légèrement différent. +Donc, si plusieurs \textit{méthodes} sont utilisées pour insérer du code \textsf{Python} (via les \textit{méthodes} suivantes), le rendu pourra être légèrement différent. \end{codeinfo} \subsection{Commande et options} \begin{codeidee} -L'environnement \ctex{CodePythonLst} permet de présenter du code python, dans une \ctex{tcolorbox} avec un style particulier. +L'environnement \ctex{CodePythonLst} permet de présenter du code \textsf{Python}, dans une \ctex{tcolorbox} avec deux styles particuliers (\cmaj{2.5.8}). \end{codeidee} \begin{codetex}[listing only] @@ -2171,6 +2006,12 @@ L'environnement \ctex{CodePythonLst} permet de présenter du code python, dans u \end{CodePythonLst} \end{codetex} +\begin{codetex}[listing only] +\begin{CodePythonLstAlt}(*)[largeur]{commandes tcbox} +... +\end{CodePythonLstAlt} +\end{codetex} + \begin{codecles} Plusieurs \Cle{arguments} sont disponibles : @@ -2188,7 +2029,7 @@ Les environnements \ctex{DeclareTCBListing} créés par \ctex{tcolorbox} et \cte \subsection{Insertion via un fichier \og externe \fg} \begin{codeidee} -Pour des raison pratiques, il est parfois intéressant d'avoir le code Python dans un fichier externe au ficher \ctex{tex}, ou bien créé directement par le fichier \ctex{tex} (via \ctex{scontents}, notamment, mais non chargé par \ctex{ProfLycee}). +Pour des raison pratiques, il est parfois intéressant d'avoir le code \textsf{Python} dans un fichier externe au ficher \ctex{tex}, ou bien créé directement par le fichier \ctex{tex} (via \ctex{scontents}, notamment, mais non chargé par \ctex{ProfLycee}). Dans ce cas, il n'est pas nécessaire d'aligner le code \og à gauche \fg, en utilisant une commande alternative. @@ -2232,7 +2073,7 @@ def f(x) : \end{codesortie} \begin{codetex}[listing only] -\begin{CodePythonLst}*[0.5\linewidth]{flush right} +\begin{CodePythonLstAlt}*[0.75\linewidth]{flush right} #largeur de 50%, sans numéro, et aligné à droite nb = int(input("Saisir un entier Python positif")) if (nb %7 == 0) : @@ -2241,11 +2082,11 @@ if (nb %7 == 0) : def f(x) : return x**2 -\end{CodePythonLst} +\end{CodePythonLstAlt} \end{codetex} \begin{codesortie} -\begin{CodePythonLst}*[0.5\linewidth]{flush right} +\begin{CodePythonLstAlt}*[0.75\linewidth]{flush right} #largeur de 50%, sans numéro, et aligné à droite nb = int(input("Saisir un entier Python positif")) if (nb %7 == 0) : @@ -2254,7 +2095,7 @@ if (nb %7 == 0) : def f(x) : return x**2 -\end{CodePythonLst} +\end{CodePythonLstAlt} \end{codesortie} \begin{codetex}[listing only] @@ -2329,7 +2170,7 @@ def trace_parabole_tableaux(): \begin{codeinfo} \cmaj{2.5.0} Cette section nécessite de charger la \textsf{librairie} \clib{piton} dans le préambule. -\cmaj{2.5.7} Une console Python est disponible, elle nécessite le package \ctex{pyluatex}, qui n'est pas chargé par \ctex{ProfLycee}, du fait de l'obligation de spécifier le \textit{chemin} pour l'exécutable Python ! +\cmaj{2.5.7} Une console \textsf{Python} est disponible, elle nécessite le package \ctex{pyluatex}, qui n'est pas chargé par \ctex{ProfLycee}, du fait de l'obligation de spécifier le \textit{chemin} pour l'exécutable \textsf{Python} ! \end{codeinfo} \begin{codetex}[listing only] @@ -2338,11 +2179,11 @@ def trace_parabole_tableaux(): \end{codetex} \begin{codeinfo} -La \textsf{librairie} \clib{piton} (qui charge \ctex{piton}, est compatible uniquement avec \hologo{LuaLaTeX} !) permet d'insérer du code Python avec une coloration syntaxique en utilisant la bibliothèque \textsf{Lua LPEG}. +La \textsf{librairie} \clib{piton} (qui charge \ctex{piton}, est compatible uniquement avec \hologo{LuaLaTeX} !) permet d'insérer du code \textsf{Python} avec une coloration syntaxique en utilisant la bibliothèque \textsf{Lua LPEG}. \smallskip -En \textit{partenariat} avec \ctex{tcolorbox}, on peut avoir une présentation de code Python ! +En \textit{partenariat} avec \ctex{tcolorbox}, on peut avoir une présentation de code \textsf{Python} ! \smallskip @@ -2368,7 +2209,7 @@ Ce package n'est chargé que si la compilation détectée est en \hologo{LuaLaTe \subsection{Présentation de code Python} \begin{codetex}[listing only] -\begin{CodePiton}[options] +\begin{CodePiton}[options]{options tcbox} ... \end{CodePiton} \end{codetex} @@ -2393,8 +2234,12 @@ Plusieurs \Cle{clés} sont disponibles : Du fait du paramétrage des boîtes \ctex{tcolorbox}, il se peut que le rendu soit non conforme si elle doit être insérée dans une autre \ctex{tcolorbox}\ldots{} ! \end{codeinfo} +\begin{codeinfo} +Pour éviter des problèmes avec le code interprété par \textsf{piton}, les \ctex{\{\}} de l'argument obligatoire sont nécessaires au bon fonctionnement du code. +\end{codeinfo} + \begin{codetex}[listing only] -\begin{CodePiton} +\begin{CodePiton}{} #environnement piton avec numéros de ligne, pleine largeur, style moderne def arctan(x,n=10): if x < 0: @@ -2406,7 +2251,7 @@ def arctan(x,n=10): \end{CodePiton} \end{codetex} -\begin{CodePiton} +\begin{CodePiton}{} #environnement piton avec numéros de ligne, pleine largeur, style moderne def arctan(x,n=10): if x < 0: @@ -2418,8 +2263,8 @@ def arctan(x,n=10): \end{CodePiton} \begin{codetex}[listing only] -\begin{CodePiton}[Style=Classique] -#environnement piton avec numéros de ligne, pleine largeur, style classique +\begin{CodePiton}[Style=Classique,Filigrane]{} +#environnement piton avec numéros, style classique, filigrane def arctan(x,n=10): if x < 0: return -arctan(-x) #> (appel récursif) @@ -2430,8 +2275,8 @@ def arctan(x,n=10): \end{CodePiton} \end{codetex} -\begin{CodePiton}[Style=Classique] -#environnement piton avec numéros de ligne, pleine largeur, style classique +\begin{CodePiton}[Style=Classique,Filigrane]{} +#environnement piton avec numéros, style classique, filigrane def arctan(x,n=10): if x < 0: return -arctan(-x) #> (appel récursif) @@ -2442,12 +2287,12 @@ def arctan(x,n=10): \end{CodePiton} \begin{codetex}[listing only] -\begin{CodePiton}[Alignement=flush right,Largeur=13cm] +\begin{CodePiton}[Alignement=flush right,Largeur=13cm]{} def f(x) : return x**2 \end{CodePiton} -\begin{CodePiton}[Alignement=flush left,Largeur=11cm] +\begin{CodePiton}[Alignement=flush left,Largeur=11cm]{} def f(x) : return x**2 \end{CodePiton} @@ -2455,13 +2300,13 @@ def f(x) : \begin{itemize} %Avec des indentations d'environnement : \item On essaye avec un \texttt{itemize} : % - \begin{CodePiton}[Largeur=12cm,Style=Classique,Cadre=false] + \begin{CodePiton}[Largeur=12cm,Style=Classique,Cadre=false]{} def f(x) : return x**2 \end{CodePiton} \item Et avec un autre \texttt{itemize} : % - \begin{CodePiton}[Largeur=12cm,Style=Classique,Cadre=false,BarreTitre=false] + \begin{CodePiton}[Largeur=12cm,Style=Classique,Cadre=false,BarreTitre=false]{} #avec numéros, de largeur 12cm, centré, classique, sans cadre/titre def f(x) : return x**2 @@ -2469,13 +2314,13 @@ def f(x) : \end{itemize} \end{codetex} -\begin{CodePiton}[Alignement=flush right,Largeur=13cm] +\begin{CodePiton}[Alignement=flush right,Largeur=13cm]{} #avec numéros, de largeur 13cm, aligné à droite def f(x) : return x**2 \end{CodePiton} -\begin{CodePiton}[Alignement=flush left,Largeur=11cm] +\begin{CodePiton}[Alignement=flush left,Largeur=11cm]{} #avec numéros, de largeur 11cm, aligné à gauche def f(x) : return x**2 @@ -2484,14 +2329,14 @@ def f(x) : \begin{itemize} \item On essaye avec un \texttt{itemize} : % - \begin{CodePiton}[Largeur=12cm,Style=Classique,Cadre=false] + \begin{CodePiton}[Largeur=12cm,Style=Classique,Cadre=false]{} #avec numéros, de largeur 12cm, centré, classique, sans cadre def f(x) : return x**2 \end{CodePiton} \item Et avec un autre \texttt{itemize} : % - \begin{CodePiton}[Largeur=12cm,Style=Classique,BarreTitre=false,Cadre=false] + \begin{CodePiton}[Largeur=12cm,Style=Classique,BarreTitre=false,Cadre=false]{} #avec numéros, de largeur 12cm, centré, classique, sans cadre/titre def f(x) : return x**2 @@ -2524,12 +2369,12 @@ def f(x) : \subsection{Introduction} \begin{codeidee} -\cmaj{2.5.0} La \textsf{librairie} \clib{pythontex} permet d'insérer et d'exécuter du code Python. On peut : +\cmaj{2.5.0} La \textsf{librairie} \clib{pythontex} permet d'insérer et d'exécuter du code \textsf{Python}. On peut : \begin{itemize} - \item présenter du code Python ; - \item exécuter du code Python dans un environnement type \og console \fg{} ; - \item charger du code Python, et éventuellement l'utiliser dans la console. + \item \cmaj{2.5.8} présenter du code \textsf{Python} (deux styles disponibles) ; + \item exécuter du code \textsf{Python} dans un environnement type \og console \fg{} ; + \item charger du code \textsf{Python}, et éventuellement l'utiliser dans la console. \end{itemize} \end{codeidee} @@ -2540,7 +2385,7 @@ Voir par exemple \url{http://lesmathsduyeti.fr/fr/informatique/latex/pythontex/} \end{codeattention} \begin{codeinfo} -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 ! +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}, les style sont \og fixés \fg{} tels quels, 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} @@ -2548,21 +2393,27 @@ Cela peut donner -- en tout cas -- des idées de personnalisation en ayant une b \subsection{Présentation de code Python grâce au package pythontex}\label{pythontex} \begin{codeidee} -L'environnement \ctex{CodePythontex} est donc lié à \ctex{pythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code python, dans une \ctex{tcolorbox} avec un style particulier. +L'environnement \ctex{CodePythontex} est donc lié à \ctex{pythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code \textsf{Python}, dans une \ctex{tcolorbox} avec deux styles particuliers (\cmaj{2.5.8}). \end{codeidee} \begin{codetex}[listing only] -\begin{CodePythontex}[options] +\begin{CodePythontex}[options]{} %les {} vides sont nécessaires ... \end{CodePythontex} \end{codetex} +\begin{codetex}[listing only] +\begin{CodePythontexAlt}[options]{} %les {} vides sont nécessaires + ... +\end{CodePythontexAlt} +\end{codetex} + \begin{codecles} Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} modifier le style : \begin{itemize} \item \Cle{Largeur} : largeur de la \textit{tcbox} ;\hfill{}défaut \Cle{\textbackslash linewidth} - \item \Cle{Centre} : booléen pour centrer ou non la \textit{tcbox} ;\hfill{}défaut \Cle{true} + \item \Cle{Centre} : booléen pour centrer ou non la \textit{tcbox} ;\hfill{}défaut \Cle{false} \item \Cle{TaillePolice} : taille des caractères ;\hfill{}défaut \Cle{\textbackslash footnotesize} \item \Cle{EspacementVertical} : option (\textit{stretch}) pour l'espacement entre les lignes ;\hfill{}défaut \Cle{1} \item \Cle{Lignes} : booléen pour afficher ou non les numéros de ligne.\hfill{}défaut \Cle{true} @@ -2570,41 +2421,43 @@ Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} mo \end{codecles} \begin{codetex}[listing only] -\begin{CodePythontex}[Largeur=12cm] - #environnement Python(tex) centré avec numéros de ligne +\begin{CodePythontex}{} %bien mettre les {} !! + #environnement Python(tex) par défaut def f(x) : return x**2 \end{CodePythontex} \end{codetex} \begin{codesortie} -\begin{CodePythontex}[Largeur=12cm] - #environnement Python(tex) centré avec numéros de ligne +\begin{CodePythontex}{} + #environnement Python(tex) par défaut def f(x) : return x**2 \end{CodePythontex} \end{codesortie} \begin{codetex}[listing only] -\begin{CodePythontex}[Largeur=12cm,Lignes=false,Centre=false] - #environnement Python(tex) non centré sans numéro de ligne +\begin{CodePythontexAlt}[Largeur=12cm,Centre,Lignes=false]{} + #environnement Python(tex) classique, centré, sans lignes def f(x) : return x**2 -\end{CodePythontex} +\end{CodePythontexAlt} \end{codetex} \begin{codesortie} -\begin{CodePythontex}[Largeur=12cm,Lignes=false,Centre=false] - #environnement Python(tex) non centré sans numéro de ligne +\begin{CodePythontexAlt}[Largeur=12cm,Centre,Lignes=false]{} + #environnement Python(tex) classique, centré, sans lignes def f(x) : return x**2 -\end{CodePythontex} +\end{CodePythontexAlt} \end{codesortie} \subsection{Présentation de code Python via le package minted}\label{pytminted} \begin{codeinfo} -Pour celles et ceux qui ne sont pas à l'aise avec le {package} \ctex{pythontex} et notamment sa spécificité pour compiler, il existe le {package} \ctex{minted} qui permet de présenter du code, et notamment Python. +Pour celles et ceux qui ne sont pas à l'aise avec le {package} \ctex{pythontex} et notamment sa spécificité pour compiler, il existe le {package} \ctex{minted} qui permet de présenter du code, et notamment \textsf{Python}. + +\cmaj{2.5.8} Deux styles sont désormais disponibles. \cmaj{2.5.0} C'est donc la \textsf{librairie} \clib{minted} qu'il faudra charger. \end{codeinfo} @@ -2614,23 +2467,29 @@ Le package \ctex{minted} nécessite quand même une compilation avec l'option \c \end{codeattention} \begin{codetex}[listing only] -\begin{CodePythonMinted}(*)[largeur][options] +\begin{CodePythonMinted}(*)[largeur]{options} ... \end{CodePythonMinted} \end{codetex} +\begin{codetex}[listing only] +\begin{CodePythonMintedAlt}(*)[largeur]{options} +... +\end{CodePythonMintedAlt} +\end{codetex} + \begin{codecles} -Plusieurs \Cle{arguments} (optionnels) sont disponibles : +Plusieurs \Cle{arguments} sont disponibles : \begin{itemize} \item la version \textit{étoilée} qui permet de ne pas afficher les numéros de lignes ; \item le 1\up{er} argument \textit{optionnel} concerne la \Cle{largeur} de la \ctex{tcbox} ;\hfill{}défaut \Cle{12cm} - \item le 2\up{nd} argument \textit{optionnel} concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcbox}.\hfill{}défaut \Cle{vide} + \item le 2\up{nd} argument \textit{obligatoire} concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcbox}.\hfill{}défaut \Cle{vide} \end{itemize} \end{codecles} \begin{codetex}[listing only] -\begin{CodePythonMinted}[13cm][center] +\begin{CodePythonMinted}[13cm]{center} #environnement Python(minted) centré avec numéros, de largeur 13cm def f(x) : return x**2 @@ -2638,7 +2497,7 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles : \end{codetex} \begin{codesortie} -\begin{CodePythonMinted}[13cm][center] +\begin{CodePythonMinted}[13cm]{center} #environnement Python(minted) centré avec numéros def f(x) : return x**2 @@ -2646,31 +2505,31 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles : \end{codesortie} \begin{codetex}[listing only] -\begin{CodePythonMinted}*[0.8\linewidth][] - #environnement Python(minted) sans numéro, de largeur 0.8\linewidth +\begin{CodePythonMintedAlt}*[0.8\linewidth]{} + #environnement Python(minted), style alt, sans numéro, de largeur 0.8\linewidth def f(x) : return x**2 -\end{CodePythonMinted} +\end{CodePythonMintedAlt} \end{codetex} \begin{codesortie} -\begin{CodePythonMinted}*[0.8\linewidth][] - #environnement Python(minted) sans numéro, de largeur 0.8\linewidth +\begin{CodePythonMintedAlt}*[0.8\linewidth]{} + #environnement Python(minted), style alt, sans numéro, de largeur 0.8\linewidth def f(x) : return x**2 -\end{CodePythonMinted} +\end{CodePythonMintedAlt} \end{codesortie} \subsection{Console d'exécution Python} \begin{codeidee} -\ctex{pythontex} permet également de \textit{simuler} (en exécutant également !) du code python dans une \textit{console}, avec la \textsf{librairie} \clib{pythontex} du coup ! +\ctex{pythontex} permet également de \textit{simuler} (en exécutant également !) du code \textsf{Python} dans une \textit{console}, avec la \textsf{librairie} \clib{pythontex} du coup ! C'est l'environnement \ctex{ConsolePythontex} qui permet de le faire. \end{codeidee} \begin{codetex}[listing only] -\begin{ConsolePythontex}[options] +\begin{ConsolePythontex}[options]{} %les {} vides sont nécessaires ... \end{ConsolePythontex} \end{codetex} @@ -2680,7 +2539,7 @@ Les \Cle{Clés} disponibles sont : \begin{itemize} \item \Cle{Largeur} : largeur de la \textit{console} ;\hfill{}défaut \Cle{\textbackslash linewidth} - \item \Cle{Centre} : booléen pour centrer ou non la \textit{console} ;\hfill{}défaut \Cle{true} + \item \Cle{Centre} : booléen pour centrer ou non la \textit{console} ;\hfill{}défaut \Cle{false} \item \Cle{TaillePolice} : taille des caractères ;\hfill{}défaut \Cle{\textbackslash footnotesize} \item \Cle{EspacementVertical} : option (\textit{stretch}) pour l'espacement entre les lignes ;\hfill{}défaut \Cle{1} \item \Cle{Label} : booléen pour afficher ou non le titre.\hfill{}défaut \Cle{true} @@ -2688,8 +2547,8 @@ Les \Cle{Clés} disponibles sont : \end{codecles} \begin{codetex}[listing only] -\begin{ConsolePythontex}[Largeur=14cm,Centre=false] - #console Python(tex) non centrée avec label +\begin{ConsolePythontex}{} + #console Python(tex) par défaut from math import sqrt 1+1 sqrt(12) @@ -2698,8 +2557,8 @@ Les \Cle{Clés} disponibles sont : \begin{codesortie} \smallskip -\begin{ConsolePythontex}[Largeur=14cm,Centre=false] - #console Python(tex) non centrée avec label +\begin{ConsolePythontex}{} + #console Python(tex) par défaut from math import sqrt 1+1 sqrt(12) @@ -2707,36 +2566,34 @@ Les \Cle{Clés} disponibles sont : \end{codesortie} \begin{codetex}[listing only] -\begin{ConsolePythontex}[Largeur=14cm,Label=false] - #console Python(tex) centrée sans label +\begin{ConsolePythontex}[Largeur=14cm,Label=false,Centre]{} + #console Python(tex) centrée sans label, 14cm table = [[1,2],[3,4]] table[0][0] from random import randint tableau = [[randint(1,20) for j in range(0,6)] for i in range(0,3)] tableau - len(tableau), len(tableau[0]) - tableau[1][4] + len(tableau), len(tableau[0]), tableau[1][4] \end{ConsolePythontex} \end{codetex} \begin{codesortie} \smallskip -\begin{ConsolePythontex}[Largeur=14cm,Label=false] - #console Python(tex) centrée sans label +\begin{ConsolePythontex}[Largeur=14cm,Label=false,Centre]{} + #console Python(tex) centrée sans label, 14cm table = [[1,2],[3,4]] table[0][0] from random import randint tableau = [[randint(1,20) for j in range(0,6)] for i in range(0,3)] tableau - len(tableau), len(tableau[0]) - tableau[1][4] + len(tableau), len(tableau[0]), tableau[1][4] \end{ConsolePythontex} \end{codesortie} \begin{codeinfo} -Le package \ctex{pythontex} peut donc servir à présenter du code Python, comme \ctex{minted} ou \ctex{piton}, sa particularité est toutefois de pouvoir \textit{exécuter} du code Python pour une présentation de type \textit{console}. +Le package \ctex{pythontex} peut donc servir à présenter du code Python, comme \ctex{minted} ou \ctex{piton}, sa particularité est toutefois de pouvoir \textit{exécuter} du code \textsf{Python} pour une présentation de type \textit{console}. \end{codeinfo} \newpage @@ -2746,13 +2603,13 @@ Le package \ctex{pythontex} peut donc servir à présenter du code Python, comme \subsection{Introduction} \begin{codeinfo} -Le {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 +Le {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 \textsf{Python}. Pour le moment la \textit{philosophie} de la commande est un peu différente de celle du code \textsf{Python}, avec son système de \Cle{Clés}. \end{codeinfo} \subsection{Présentation de Pseudo-Code} \begin{codeidee} -L'environnement \ctex{PseudoCode} permet de présenter du (pseudo-code) dans une \ctex{tcolorbox}. +Les environnements \ctex{PseudoCode} ou \ctex{PseudoCodeAlt} permet de présenter du (pseudo-code) dans une \ctex{tcolorbox}, avec deux styles à disposition (\cmaj{2.5.8}). \end{codeidee} \begin{codeattention} @@ -2760,24 +2617,32 @@ De plus, le package \ctex{listings} avec \ctex{tcolorbox} ne permet pas de gére \end{codeattention} \begin{codetex}[listing only] -\begin{PseudoCode}(*)[largeur][options] +\begin{PseudoCode}(*)[largeur]{options tcbox} %attention à l'indentation, gobble ne fonctionne pas... ... \end{PseudoCode} \end{codetex} +\begin{codetex}[listing only] +\begin{PseudoCodeAlt}(*)[largeur]{options tcbox} +%attention à l'indentation, gobble ne fonctionne pas... +... +\end{PseudoCodeAlt} +\end{codetex} + \begin{codecles} Plusieurs \Cle{arguments} (optionnels) sont disponibles : \begin{itemize} \item la version \textit{étoilée} qui permet de ne pas afficher les numéros de lignes ; \item le premier argument optionnel concerne la \Cle{largeur} de la \ctex{tcbox} ;\hfill{}défaut \Cle{12cm} - \item le second argument optionnel concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcolorbox}.\hfill{}défaut \Cle{vide} + \item \cmaj{2.5.8} l'argument obligatoire entre \ctex{\{...\}} concerne les \Cle{options} de la \ctex{tcbox}. \end{itemize} \end{codecles} \begin{codetex}[listing only] -\begin{PseudoCode} %non centré, de largeur par défaut (12cm) avec lignes +%en pas oublier les {}, même vides ! +\begin{PseudoCode}{} %non centré, de largeur par défaut (12cm) avec lignes List = [...] # à déclarer au préalable n = longueur(List) Pour i allant de 0 à n-1 Faire @@ -2787,7 +2652,7 @@ FinPour \end{codetex} \begin{codesortie} -\begin{PseudoCode} +\begin{PseudoCode}{} List = [...] # à déclarer au préalable n = longueur(List) Pour i allant de 0 à n-1 Faire @@ -2797,51 +2662,41 @@ FinPour \end{codesortie} \begin{codetex}[listing only] -\begin{PseudoCode}*[15cm][center] %centré, de largeur 15cm sans ligne +\begin{PseudoCodeAlt}[15cm]{center} %centré, de largeur 15cm List = [...] # à déclarer au préalable n = longueur(List) Pour i allant de 0 à n-1 Faire Afficher(List[i]) FinPour -\end{PseudoCode} +\end{PseudoCodeAlt} \end{codetex} \begin{codesortie} -\begin{PseudoCode}*[15cm][center] +\begin{PseudoCodeAlt}[15cm]{center} List = [...] # à déclarer au préalable n = longueur(List) Pour i allant de 0 à n-1 Faire Afficher(List[i]) FinPour -\end{PseudoCode} +\end{PseudoCodeAlt} \end{codesortie} \subsection{Compléments} -\begin{codeinfo} +\begin{codeattention} À l'instar de 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 basique de pseudo-code. -\end{codeinfo} - -\begin{codeidee} -Évidemment, le code source est récupérable et adaptable à volonté, en utilisant les possibilités du package \ctex{listings}. - -\smallskip - -Celles et ceux qui sont déjà à l'aise avec les 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} +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 basique ! +\end{codeattention} \begin{codeinfo} Le style \ctex{listings} utilisé par la commande a l'option \Cle{mathescape} activée, et accessible grâce aux délimiteurs \Cle{(*...*)}. -Cela permet d'insérer du code \LaTeX{} dans l'environnement \ctex{PseudoCode} (attention au fontes de rendu par contre !). +Cela permet d'insérer du code \LaTeX{} dans l'environnement \ctex{PseudoCode} (attention au fontes par contre !). \end{codeinfo} \begin{codetex}[listing only] -\begin{PseudoCode}[12cm][] +\begin{PseudoCode}*[12cm]{} #Utilisation du mode mathescape Afficher (*\og*) .........(*\fg*) m = (*$\tfrac{\texttt{1}}{\texttt{2}}$*) @@ -2849,7 +2704,7 @@ m = (*$\tfrac{\texttt{1}}{\texttt{2}}$*) \end{codetex} \begin{codesortie} -\begin{PseudoCode}[12cm][] +\begin{PseudoCode}*[12cm]{} #Utilisation du mode mathescape Afficher (*\og*) .........(*\fg*) m = (*$\tfrac{\texttt{1}}{\texttt{2}}$*) @@ -2881,15 +2736,15 @@ Comme pour le pseudo-code, pas d'\textsf{autogobble}, donc commandes à aligner \subsection{Commandes} \begin{codetex}[listing only] -\begin{TerminalWin}[largeur]{titre=...}[options] +\begin{TerminalWin}[largeur]{titre=...}[options tcbox] ... \end{TerminalWin} -\begin{TerminalUnix}[largeur]{titre=...}[options] +\begin{TerminalUnix}[largeur]{titre=...}[options tcbox] ... \end{TerminalUnix} -\begin{TerminalOSX}[largeur]{titre=...}[options] +\begin{TerminalOSX}[largeur]{titre=...}[options tcbox] ... \end{TerminalOSX} \end{codetex} @@ -2930,7 +2785,7 @@ Microsoft Windows [version 10.0.22000.493] (c) Microsoft Corporation. Tous droits réservés. C:\Users\test>ping ctan.org -Envoi d’une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données : +Envoi d'une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données : Réponse de 5.35.249.60 : octets=32 temps=35 ms TTL=51 Réponse de 5.35.249.60 : octets=32 temps=37 ms TTL=51 Réponse de 5.35.249.60 : octets=32 temps=35 ms TTL=51 @@ -2954,7 +2809,7 @@ Microsoft Windows [version 10.0.22000.493] (c) Microsoft Corporation. Tous droits réservés. C:\Users\test>ping ctan.org -Envoi d’une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données : +Envoi d'une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données : Réponse de 5.35.249.60 : octets=32 temps=35 ms TTL=51 Réponse de 5.35.249.60 : octets=32 temps=37 ms TTL=51 Réponse de 5.35.249.60 : octets=32 temps=35 ms TTL=51 @@ -2984,7 +2839,7 @@ PING ctan.org (5.35.249.60) 56(84) bytes of data. \subsection{Introduction} \begin{codeidee} -L'idée est d'obtenir des \textsf{cartouches} tels que \textsf{Capytale} les présente, pour partager un code afin d'accéder à une activité \textsf{python}. +L'idée est d'obtenir des \textsf{cartouches} tels que \textsf{Capytale} les présente, pour partager un code afin d'accéder à une activité \textsf{Python}. \end{codeidee} \subsection{Commandes} @@ -2998,7 +2853,9 @@ Peu d'options pour ces commandes : \begin{itemize} \item la version \textit{étoilée} qui permet de passer de la police \Cle{sffamily} à la police \Cle{ttfamily}, et donc dépendante des fontes du document ; - \item le deuxième, \textit{optionnel}, permet de rajouter des caractères après le code (comme un \textsf{espace}) ;\hfill{}défaut \Cle{vide} + \item le deuxième, \textit{optionnel}, permet de rajouter des caractères après le code (comme un \textsf{espace}) ; + + \hfill{}défaut \Cle{vide} \item le troisième, \textit{obligatoire}, est le \textsf{code capytale} à afficher. \end{itemize} \end{codecles} @@ -3082,7 +2939,7 @@ On peut par exemple utiliser l'option \Cle{listing only} pour ne présenter \tex \xdef\ValAleaA{\fpeval{randint(1,100)}} \xdef\ValAleaB{\fpeval{randint(1,100)}} -Avec $A=\ValAleaA$ et $B=\ValAleaB$, on a $A\times B=\inteval{\ValAleaA * \ValAleaB}$ +Avec $A=\ValAleaA$ et $B=\ValAleaB$, on a $A\times B=\inteval{\ValAleaA * \ValAleaB}$. \end{PresentationCode} \begin{PresentationCode}[DarkBlue]{} @@ -3230,12 +3087,6 @@ Quelques \Cle{clés} sont disponibles pour cette commande : \TetraedreTikz[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} @@ -3272,33 +3123,9 @@ Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les diff \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 -%\newpage -% \section{Cercle trigo}\label{cercletrigo} \subsection{Idée} @@ -3644,10 +3471,10 @@ Les \textsf{macros} qui contiennent les paramètres de la régression sont donc \def\LstY{-35,-37.4,-37.7,-39.9,-39,-39.6} %on lance les calculs et on change le nom des "macros-résultats" \CalculsRegLin[NomCoeffa=TESTa,NomCoeffb=TESTb,NomCoeffr=TESTr,NomCoeffrd=TESTrd,% - NomXmin=TESTmin,NomXmax=TESTmax]{\LstX}{\LstY} + NomXmin=TESTmin,NomXmax=TESTmax]{\LstX}{\LstY} %commandes complémentaires -\DeclareDocumentCommand\arrond{ s O{3} m }{% * pour afficher signe / opt = précision / argument = nb - \IfBooleanTF{#1}{\num[print-implicit-plus]{\fpeval{round(#3,#2)}}}{\num{\fpeval{round(#3,#2)}}} +\DeclareDocumentCommand\arrond{ s O{3} m }{% * signe / précision / nb + \IfBooleanTF{#1}{\num[print-implicit-plus]{\fpeval{round(#3,#2)}}} {\num{\fpeval{round(#3,#2)}}} } %paramètres Les valeurs extr. de X sont \TESTmin{} et \TESTmax. Une éq. est $y=\arrond[3]{\TESTa}x \arrond*[3]{\TESTb}$. @@ -3662,7 +3489,9 @@ Le coeff. de corrélation est $r=\arrond[4]{\TESTr}$, et son carré est $r^2=\ar {\num{\fpeval{round(#3,#2)}}} } -Les valeurs extrêmes de X sont \TESTmin{} et \TESTmax. Une équation de la droite de régression de $y$ en $x$ est $y=\arrond[3]{\TESTa}x \arrond*[3]{\TESTb}$. +Les valeurs extrêmes de $x$ sont \TESTmin{} et \TESTmax. Une équation de la droite de régression de $y$ en $x$ est + +\hfill$y=\arrond[3]{\TESTa}x \arrond*[3]{\TESTb}$.\hfill~ \smallskip @@ -3787,8 +3616,8 @@ Quelques \Cle{Clés} sont disponibles pour cette commande, essentiellement pour \PointsRegLin[Ox=1992,Oy=1640,Couleur=blue,Taille=3pt]{\LLX}{\LLY} \draw[orange,very thick,samples=2,domain=\LXmin:\LXmax] plot ({\x-\Ox},{\COEFFa*(\x)+\COEFFb-\Oy}) ; \matrix [draw,fill=white,below left] at (current bounding box.north east) { - \node {$y = \fpeval{round(\COEFFa,3)}\,x + \fpeval{round(\COEFFb,3)}$} ; \\ - \node {$R^2=\fpeval{round(\COEFFrd,5)}$} ; \\ + \node {$y=\num{\fpeval{round(\COEFFa,3)}}\,x+\num{\fpeval{round(\COEFFb,3)}}$} ; \\ + \node {$R^2=\num{\fpeval{round(\COEFFrd,5)}}$} ; \\ }; \end{tikzpicture} \end{codetex} @@ -3808,8 +3637,8 @@ Quelques \Cle{Clés} sont disponibles pour cette commande, essentiellement pour \PointsRegLin[Ox=1992,Oy=1640,Couleur=blue,Taille=3pt]{\LLX}{\LLY} \draw[orange,very thick,samples=2,domain=\LXmin:\LXmax] plot ({\x-\Ox},{\COEFFa*(\x)+\COEFFb-\Oy}) ; \matrix [draw,fill=white,below left] at (current bounding box.north east) { - \node {$y = \fpeval{round(\COEFFa,3)}\,x + \fpeval{round(\COEFFb,3)}$} ; \\ - \node {$R^2=\fpeval{round(\COEFFrd,5)}$} ; \\ + \node {$y=\num{\fpeval{round(\COEFFa,3)}}\,x + \num{\fpeval{round(\COEFFb,3)}}$} ; \\ + \node {$R^2=\num{\fpeval{round(\COEFFrd,5)}}$} ; \\ }; \end{tikzpicture} \end{codesortie} @@ -3825,7 +3654,7 @@ L'idée est de \textit{prolonger} le paragraphe précédent pour proposer un env \smallskip -Un des soucis pour ces situations est le fait que le repère dans lequel on travaille n'a pas forcément pour origine $(0\,;\,0)$. +Un des soucis pour ces situations est le fait que le repère dans lequel on travaille n'a pas forcément pour origine $(0;0)$. De ce fait -- pour éviter des erreurs de \ctex{dimension too large} liées à \TikZ{} -- il faut \textit{décaler les axes} pour se ramener à une origine en $O$. @@ -4268,20 +4097,25 @@ L'idée principale est de récupérer les variables de la régression linéaire \begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5] \GrilleTikz \AxesTikz[ElargirOx=0,ElargirOy=0] - \AxexTikz[Annee,Police=\small]{1992,1994,...,2010} + \AxexTikz[Annee,Police=\footnotesize]{1992,1994,...,2010} \AxeyTikz{1640,1650,...,1720} \NuagePointsTikz[Couleur=blue/red]{\LLX}{\LLY} \PointMoyenTikz \CourbeTikz[line width=1.25pt,ForestGreen,samples=2]{\COEFFa*\x+\COEFFb}{\xmin:\xmax} \end{tikzpicture} \end{codesortie} +\subsection{Exemple complémentaire, pour illustration} + \begin{codetex}[listing only] \def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010} \def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649} +%la courbe n'a pas de lien avec le nuage +%elle illustre l'interaction des commandes "nuage" avec les autres commandes + \begin{tikzpicture}[...] \NuagePointsTikz[Couleur=blue/red]{\LLX}{\LLY} \FenetreTikz %on fixe la fenêtre - \CourbeTikz[line width=1.25pt,orange,samples=500]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax} + \CourbeTikz[line width=1.25pt,orange,samples=250]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax} \end{tikzpicture} \end{codetex} @@ -4289,12 +4123,12 @@ L'idée principale est de récupérer les variables de la régression linéaire \def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010} \def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649} -\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5] +\begin{tikzpicture}[x=0.7cm,y=0.14cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5] \GrilleTikz \AxesTikz[ElargirOx=0,ElargirOy=0] \AxexTikz[Annee,Police=\small]{1992,1994,...,2010} \AxeyTikz{1640,1650,...,1720} \NuagePointsTikz[Couleur=blue/red]{\LLX}{\LLY} \FenetreTikz - \CourbeTikz[line width=1.25pt,orange,samples=500]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax} + \CourbeTikz[line width=1.25pt,orange,samples=250]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax} \end{tikzpicture} \end{codesortie} @@ -4462,15 +4296,15 @@ De ce fait, les options de \ctex{siunitx} de l'utilisateur affecterons les forma \CalcBinomP{n}{p}{k} %P(X=k) \CalcBinomC{n}{p}{a}{b} %P(a<=X<=b) -%loi de Poisson P (l) +%loi de Poisson P(l) \CalcPoissP{l}{k} %P(X=k) \CalcPoissC{l}{a}{b} %P(a<=X<=b) -%loi géométrique G (p) +%loi géométrique G(p) \CalcGeomP{p}{k} %P(X=k) \CalcGeomC{l}{a}{b} %P(a<=X<=b) -%loi hypergéométrique H (N,n,m) +%loi hypergéométrique H(N,n,m) \CalcHypergeomP{N}{n}{m}{k} %P(X=k) \CalcHypergeomP{N}{n}{m}{a}{b} %P(a<=X<=b) @@ -5048,7 +4882,7 @@ L'idée est de proposer une commande pour calculer un arrangement ou une combina \subsection{Utilisation} \begin{codecles} -Peu de paramétrage pour ces commandes qui permettent de calculer $A_n^p$ et $C_n^p$ : +Peu de paramétrage pour ces commandes qui permettent de calculer $A_n^p$ et $\binom{n}{p}$ : \begin{itemize} \item les versions étoilées ne formatent pas le résultat grâce à \ctex{\textbackslash num} de \ctex{sinuitx} ; @@ -5330,7 +5164,9 @@ Quelques options pour cette commande : \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} - \item le booléen \Cle{CouleurRes} pour afficher ou non la conversion en couleur (identique au rectangle). \hfill{}défaut \Cle{false} + \item le booléen \Cle{CouleurRes} pour afficher ou non la conversion en couleur (identique au rectangle). + + \hfill{}défaut \Cle{false} \end{itemize} \end{codecles} @@ -5443,11 +5279,10 @@ La présentation est dans un environnement \ctex{ensuremath} donc les \ctex{\$.. \PresentationPGCD[CouleurResultat,Couleur=DarkBlue]{13500}{2500}. -\PresentationPGCD[Rectangle=false]{420}{540}. +\PresentationPGCD[Rectangle=false]{420}{540}. \\ -\medskip - -D'après l'algorithme d'Euclide, on a $\left| \PresentationPGCD[Couleur=LightSkyBlue,AfficheConclusion=false,AfficheDelimiteurs=false]{123456789}{9876} \right.$ +D'après l'algorithme d'Euclide, on a $\left| \PresentationPGCD[Couleur=LightSkyBlue,AfficheConclusion=false,AfficheDelimiteurs=false]% + {123456789}{9876} \right.$ \begin{tikzpicture} \draw[overlay,LightSkyBlue,thick,<-] (FFF1.east) to[bend right] ++ (2cm,0.75cm) node[right] {dernier reste non nul} ; \end{tikzpicture} @@ -5611,7 +5446,9 @@ Peu d'options pour ces commandes : \begin{itemize} \item clé \Cle{Sep} qui correspond au délimiteur des éléments de l'ensemble ; \hfill{}défaut \Cle{;} \item clé \Cle{Option} qui est un code (par exemple \textsf{strut}\dots) inséré avant les éléments ;\hfill{}défaut \Cle{vide} - \item un booléen \Cle{Mathpunct} qui permet de préciser si on utilise l'espacement mathématique \textsf{mathpunct};\hfill{}défaut \Cle{true} + \item un booléen \Cle{Mathpunct} qui permet de préciser si on utilise l'espacement mathématique \textsf{mathpunct}. + + \hfill{}défaut \Cle{true} \end{itemize} \item le second, \textit{obligatoire}, est la \textsf{liste} des éléments, séparés par \textsf{/}. \end{itemize} @@ -5722,10 +5559,8 @@ Avec $a$ entre 1 et 10 (forcément positif) puis $b$ entre $-2$ et 2 puis $c$ en \end{codetex} \begin{codetex}[] -\SimplificationRacine{48}\\ -\SimplificationRacine{100/34}\\ -\SimplificationRacine{99999}\\ -\SimplificationRacine{1500*0.31*(1-0.31)}\\ +\SimplificationRacine{48} \\ \SimplificationRacine{100/34}\\ +\SimplificationRacine{99999} \\ \SimplificationRacine{1500*0.31*(1-0.31)}\\ \end{codetex} \begin{codeinfo} @@ -5749,7 +5584,7 @@ $\frac{1}{\sqrt{6}}=\left(\sqrt{\frac{1}{6}}\right)=\SimplificationRacine{1/6}$ $\frac{42}{\sqrt{5}}=\left(\sqrt{\frac{42^2}{5}}\right)=\SimplificationRacine{(42*42)/5}$ %Écart-type d'une loi binomiale -$\sqrt{\num{150}\times\num{0.35}\times(1-\num{0.35})}=\displaystyle\SimplificationRacine{150*0.35*(1-0.35)}$ +$\sqrt{\num{150}\times\num{0.35}\times(1-\num{0.35})} = \displaystyle\SimplificationRacine{150*0.35*(1-0.35)}$ \end{codetex} \newpage @@ -5779,7 +5614,9 @@ Pour cette commande : \begin{itemize} \item le booléen \Cle{d} permet de forcer l'affichage en \ctex{displaystyle} ;\hfill{}défaut \Cle{false} - \item le booléen \Cle{Crochets} permet d'afficher le \textit{modulo} entre crochets plutôt qu'entre parenthèses ;\hfill{}défaut \Cle{false} + \item le booléen \Cle{Crochets} permet d'afficher le \textit{modulo} entre crochets plutôt qu'entre parenthèses ; + + \hfill{}défaut \Cle{false} \item l'argument \textit{obligatoire} est en écriture \textit{en ligne}. \end{itemize} \end{codecles} @@ -6330,6 +6167,10 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 \part{Historique} +{\small \bverb|v 2.5.8|~:~~~~Ajout d'un style \textsf{Alt} pour les codes (pages \pageref{pythonsimple} et \pageref{pytminted}) + +{\small \bverb| |~:~~~~Modification de la syntaxe des commandes avec \textsf{Pythontex} et \textsf{PseudoCode} (pages \pageref{pythontex} et \pageref{pseudocode}) + {\small \bverb|v 2.5.7|~:~~~~Ajout de clés pour les codes \textsf{Piton} + Console via \textsf{Pyluatex} (page \pageref{pythonpiton}) {\small \bverb|v 2.5.6|~:~~~~Ajout d'une clé \Cle{Trigo} pour l'axe $(Ox)$ (page \pageref{reperagetikz}) diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf Binary files differindex 6f6dc42f2ea..757afb51d9a 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex index 4831d61a841..63ea75ebb57 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex @@ -2,7 +2,7 @@ % !TeX TXS-program:compile = txs:///lualatex/[--shell-escape] \documentclass[french,a4paper,10pt]{article} -\def\PLver{2.5.7} +\def\PLver{2.5.8} \usepackage[margin=1.5cm]{geometry} \usepackage{ProfLycee} \useproflyclib{piton} @@ -31,7 +31,7 @@ {\small \begin{codehigh} %Sortie par défaut -\begin{CodePiton} +\begin{CodePiton}{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -42,7 +42,7 @@ def valeur_absolue(x): \end{CodePiton} \end{codehigh}} -\begin{CodePiton} +\begin{CodePiton}{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -54,7 +54,7 @@ def valeur_absolue(x): {\small \begin{codehigh} %Sortie avec Style=Classique, Largeur=10cm -\begin{CodePiton}[Style=Classique,Largeur=10cm] +\begin{CodePiton}[Style=Classique,Largeur=10cm]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -65,7 +65,7 @@ def valeur_absolue(x): \end{CodePiton} \end{codehigh}} -\begin{CodePiton}[Style=Classique,Largeur=10cm] +\begin{CodePiton}[Style=Classique,Largeur=10cm]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -79,7 +79,7 @@ def valeur_absolue(x): {\small \begin{codehigh} %Sortie avec Style=Classique, Sans Titre, Largeur=10cm, centré -\begin{CodePiton}[Style=Classique,Largeur=10cm,BarreTitre=false,Alignement=center] +\begin{CodePiton}[Style=Classique,Largeur=10cm,BarreTitre=false,Alignement=center]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -90,7 +90,7 @@ def valeur_absolue(x): \end{CodePiton} \end{codehigh}} -\begin{CodePiton}[Style=Classique,Largeur=10cm,BarreTitre=false,Alignement=center] +\begin{CodePiton}[Style=Classique,Largeur=10cm,BarreTitre=false,Alignement=center]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -103,7 +103,8 @@ def valeur_absolue(x): {\small \begin{codehigh} %Sortie avec Style=Classique, Largeur=0.5\linewidth, aligné à droite, sans Cadre, avec Filigrane \begin{CodePiton}% - [Style=Classique,Largeur=0.5\linewidth,Cadre=false,Alignement=flush right,Filigrane,Titre={Script}] + [Style=Classique,Largeur=0.5\linewidth,Cadre=false,Alignement=flush right,Filigrane,Titre={Script}]{} +#environnement piton avec numéros de ligne, pleine largeur, style moderne def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -114,7 +115,7 @@ def valeur_absolue(x): \end{CodePiton} \end{codehigh}} -\begin{CodePiton}[Style=Classique,Largeur=0.5\linewidth,Cadre=false,Alignement=flush right,Filigrane,Titre={Script}] +\begin{CodePiton}[Style=Classique,Largeur=0.5\linewidth,Cadre=false,Alignement=flush right,Filigrane,Titre={Script}]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -125,8 +126,8 @@ def valeur_absolue(x): \end{CodePiton} {\small \begin{codehigh} -%Sortie Moderne, Largeur=11cm, avec Filigrane, aligné à gauche -\begin{CodePiton}[Largeur=11cm,Filigrane,Alignement=flush left] +%Sortie Moderne, Largeur=11cm, avec Filigrane, aligné à gauche, sans ligne +\begin{CodePiton}[Largeur=11cm,Filigrane,Alignement=flush left,Lignes=false]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien @@ -137,7 +138,7 @@ def valeur_absolue(x): \end{CodePiton} \end{codehigh}} -\begin{CodePiton}[Largeur=11cm,Filigrane,Alignement=flush left] +\begin{CodePiton}[Largeur=11cm,Filigrane,Alignement=flush left,Lignes=false]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pythontex.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pythontex.pdf Binary files differnew file mode 100644 index 00000000000..b658a1adfd0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pythontex.pdf diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pythontex.tex b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pythontex.tex new file mode 100644 index 00000000000..f25a865eba5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pythontex.tex @@ -0,0 +1,242 @@ +% !TeX TXS-program:compile = txs:///arara +% arara: lualatex: {shell: no, synctex: yes, interaction: batchmode} +% arara: pythontex: {rerun: always} if found('pytxcode', 'PYTHONTEX#py') +% arara: lualatex: {shell: no, synctex: yes, interaction: batchmode} if found('pytxcode', 'PYTHONTEX#py') +% arara: lualatex: {shell: no, synctex: yes, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') + +\documentclass[french,a4paper,10pt]{article} +\def\PLver{2.5.8} +\usepackage[margin=1.5cm]{geometry} +\usepackage{ProfLycee} +\useproflyclib{pythontex} +\usepackage{babel} +\sisetup{locale=FR,output-decimal-marker={,},group-minimum-digits=4} +\usepackage{codehigh} + +\begin{document} + +\part*{ProfLycee (\PLver), Pythontex} + +\section{Code \og Pythontex \fg{}} + +\subsection{Préambule basique} + +{\small \begin{codehigh} +\documentclass[french,a4paper,10pt]{article} +\usepackage{ProfLycee} +\useproflyclib{pythontex} % compilation spécifique +\end{codehigh}} + +\subsection{Exemples} + +{\small \begin{codehigh} +%Sortie par défaut +\begin{CodePythontex}{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x +\end{CodePythontex} +\end{codehigh}} + +\begin{CodePythontex}{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x + +#bla +#bla +#bla +\end{CodePythontex} + +{\small \begin{codehigh} +%Sortie avec Style=Classique, Largeur=10cm, centré +\begin{CodePythontexAlt}[Largeur=10cm,Centre]{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x +\end{CodePythontexAlt} +\end{codehigh}} + +\begin{CodePythontexAlt}[Largeur=10cm,Centre]{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x + +#bla +#bla +#bla +\end{CodePythontexAlt} + +\pagebreak + +{\small \begin{codehigh} +%Sortie avec Style=Classique, Largeur=10cm +\begin{CodePythontexAlt}[Largeur=10cm]{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x +\end{CodePythontexAlt} +\end{codehigh}} + +\begin{CodePythontexAlt}[Largeur=10cm]{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x +\end{CodePythontexAlt} + +{\small \begin{codehigh} +%Sortie avec Style=Classique, Largeur=0.5\linewidth, centré, sans numéro +\begin{CodePythontexAlt}[Largeur=0.5\linewidth,Centre,Lignes=false]{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x +\end{CodePythontexAlt} +\end{codehigh}} + +\begin{CodePythontexAlt}[Largeur=0.5\linewidth,Centre,Lignes=false]{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x +\end{CodePythontexAlt} + +{\small \begin{codehigh} +%Sortie Moderne, Largeur=11cm, sans ligne +\begin{CodePythontex}[Largeur=11cm,Lignes=false]{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x +\end{CodePythontex} +\end{codehigh}} + +\begin{CodePythontex}[Largeur=11cm,Lignes=false]{} +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x +\end{CodePythontex} + +\pagebreak + +\section{Console \og Pythontex \fg{}} + +{\small \begin{codehigh} +%Déclaration d'une fonction python + librairie random pour utilisation ultérieure +\begin{pyconcode} +from random import randint + +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x + +\end{pyconcode} +\end{codehigh}} + +\begin{pyconcode} +from random import randint + +def valeur_absolue(x): + "Renvoie la valeur absolue de x" + #le petit test qui va bien + if x > 0: + return x + else: + return -x + +\end{pyconcode} + +{\small \begin{codehigh} +\begin{ConsolePythontex}{} +1+1 +2**10 +valeur_absolue(-3) +valeur_absolue(0) +valeur_absolue(5) +print(f"La valeur absolue de 5 est {valeur_absolue(5)}") +print(f"La valeur absolue de -4 est {valeur_absolue(-4)}") +\end{ConsolePythontex} +\end{codehigh}} + +\begin{ConsolePythontex}{} +1+1 +2**10 +valeur_absolue(-3) +valeur_absolue(0) +valeur_absolue(5) +print(f"La valeur absolue de 5 est {valeur_absolue(5)}") +print(f"La valeur absolue de -4 est {valeur_absolue(-4)}") +\end{ConsolePythontex} + +\pagebreak + +{\small \begin{codehigh} +\begin{ConsolePythontex}[Largeur=12cm,Centre]{} +1+1 +2**10 +valeur_absolue(-3) +valeur_absolue(0) +valeur_absolue(5) +print(f"La valeur absolue de 5 est {valeur_absolue(5)}") +print(f"La valeur absolue de -4 est {valeur_absolue(-4)}") +liste = [randint(1,20) for i in range(10)] +print(liste) +print(max(liste), min(liste), sum(liste)) +\end{ConsolePythontex} +\end{codehigh}} + +\begin{ConsolePythontex}[Largeur=12cm,Centre]{} +1+1 +2**10 +valeur_absolue(-3) +valeur_absolue(0) +valeur_absolue(5) +print(f"La valeur absolue de 5 est {valeur_absolue(5)}") +print(f"La valeur absolue de -4 est {valeur_absolue(-4)}") +liste = [randint(1,20) for i in range(10)] +print(liste) +print(max(liste), min(liste), sum(liste)) +\end{ConsolePythontex} + +\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 b91ab7816da..f553031e8ce 100644 --- a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty +++ b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty @@ -3,8 +3,10 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2023/04/04 2.5.7 Aide pour l'utilisation de LaTeX en lycee] -% 2.5.7 Ajout d'un style classique pour le code python (Piton + ...) + console piton/pyluatex +\ProvidesPackage{ProfLycee}[2023/04/06 2.5.8 Aide pour l'utilisation de LaTeX en lycee] +% 2.5.8 Ajout du style Classique pour PythonLst (externalisation listings) + Modification marges CodePiton (1.5) +% Refonte des commandes pour les codes pour éviter des soucis avec les étoilées +% 2.5.7 Ajout d'un style classique pour le code python (Piton) + console piton/pyluatex % Refonte des commandes tcbset pour les codes % 2.5.6 Ajout d'une clé [Trigo] pour \AxexTikz (avec graduations libres) % "Suppression" de la fenêtre XCas de la documentation @@ -114,22 +116,8 @@ {}% } -%%------PRESENTATIONDECODES -\NewTCBListing{PresentationCode}{ O{ForestGreen} m }{% - sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,% - colback=#1!5!white,colframe=#1!75!black,colbacklower=White,% - attach boxed title to top right={yshift=-\tcboxedtitleheight},title=Code \LaTeX,% - boxed title style={% - colframe=#1!75!black,colback=#1!15!white,% - ,sharp corners=downhill,arc=12pt,% - },% - fonttitle=\color{#1!90!black}\itshape\ttfamily\footnotesize,% - listing options={% - style=tcblatex,basicstyle=\footnotesize\ttfamily,% - keywordstyle=\bfseries\color{Blue},tabsize=2,% - },% - #2 -} +%%------Codes listings +\input{proflycee-tools-listings.tex} %%------SPLINES %commande utile pour extraire des infos d'une liste @@ -318,10 +306,6 @@ \IfStrEq{\CFposcmd}{right}%si poscmd=right {\draw (C3\CFL) node[left,\CFcoulcmd,font=\CFtaille] {#2} ;} {} - %LA LIGNE DE SÉPARATION - %\ifboolKV[paramfenxcas]{Sep}%si sep=true - % {\draw[\CFcouleur] (A1\CFL) -- (A4\CFL);} - % {} %LE RÉSULTAT \IfStrEq{\CFposres}{centre}%si posrep=center {\draw (R2\CFL) node[\CFcoulres,font=\CFtaille] {#3} ;} @@ -347,186 +331,6 @@ {} } -%%------STYLE ALGO LST -\ifluatex - \tcbuselibrary{listings} - \lstdefinelanguage{langnat}{% - keywords={}, - inputencoding=utf8, - comment=[l]{}} - \lstdefinestyle{PLpython}{% - language = python, - inputencoding = utf8, - basicstyle = \ttfamily\footnotesize, - keywordstyle = \color{ForestGreen}, - keywordstyle = [2]\color{magenta}, - commentstyle = \color{gray}\itshape, - stringstyle = \color{red!75}, - numberstyle = \scriptsize\ttfamily\color{Green}, - aboveskip = 0pt, - belowskip = 0pt, - tabsize = 4, - showstringspaces = false, - columns = fullflexible, - keepspaces = true, - breaklines = true, - breakatwhitespace = true - } -\else - \tcbuselibrary{listingsutf8} - \lstdefinelanguage{langnat}{% - keywords={}, - inputencoding=utf8/latin1, - comment=[l]{}} - \lstdefinestyle{PLpython}{% - language = python, - inputencoding = utf8/latin1, - basicstyle = \ttfamily\footnotesize, - keywordstyle = \color{ForestGreen}, - keywordstyle = [2]\color{magenta}, - commentstyle = \color{gray}\itshape, - stringstyle = \color{red!75}, - numberstyle = \scriptsize\ttfamily\color{Green}, - aboveskip = 0pt, - belowskip = 0pt, - tabsize = 4, - showstringspaces = false, - columns = fullflexible, - keepspaces = true, - breaklines = true, - breakatwhitespace = true - } -\fi - -%%------PYTHONLISTINGS -\tcbset{stylepythonlst/.style={% - enhanced,boxrule=1.25pt,% - leftupper=10pt, - sharp corners=downhill,arc=12pt, - before skip=12pt,after skip=12pt,% - top=10pt,bottom=1mm,rightupper=4pt,%leftupper=25pt, - attach boxed title to top right={yshift=-\tcboxedtitleheight}, - boxed title style={ - size=small,colback=ForestGreen!25,boxrule=1.25pt, - colframe=Green,boxsep=1.25pt, - sharp corners=downhill, - arc=12pt, - top=2pt,bottom=1pt,left=6pt,right=6pt - }, - colframe=Green,colback=ForestGreen!5,% - fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize, - title={\scriptsize\faPython}\:Code Python\vphantom{p}, - watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50, - listing only,listing engine=listings,% - } -} - -\tcbset{stylepythonlstnolineos/.style={% - stylepythonlst, - listing options={style=PLpython,xleftmargin=0pt,numbers=none} - } -} - -\tcbset{stylepythonlstlineos/.style={% - stylepythonlst, - listing options={style=PLpython,xleftmargin=16pt,numbers=left} - } -} - -\NewTCBListing{CodePythonLst}{ s O{\linewidth} m }{% * off pour numéros de lignes + {largeur} + <options tcbox> - \IfBooleanTF{#1}{stylepythonlstnolineos}{stylepythonlstlineos}, - width=#2,#3 -} - -\NewTCBInputListing{\CodePythonLstFichier}{ s O{\linewidth} m m }{ - \IfBooleanTF{#1}{stylepythonlstnolineos}{stylepythonlstlineos}, - width=#2,#3, - listing file={#4} -} - -%%------PSEUDOCODE -%language pseudocode listings -\lstdefinestyle{pseudocodePL}{% - language=langnat, - basicstyle=\footnotesize\ttfamily, - numberstyle=\scriptsize\ttfamily\color{gray}, - keywordstyle=\bfseries, - stringstyle=\color{red!75}, - keepspaces=true, - tabsize=4,numbersep=10pt, - xleftmargin=14pt, - numbers=left, - morestring=[b]", - showstringspaces=false, - %showtabs=false, - escapeinside={(*}{*)} -} - -\lstdefinestyle{pseudocodenoPL}{% - language=langnat, - basicstyle=\footnotesize\ttfamily, - numberstyle=\scriptsize\ttfamily\color{gray}, - keywordstyle=\bfseries, - stringstyle=\color{red!75}, - keepspaces=true, - tabsize=4,numbersep=10pt, - numbers=none, - showstringspaces=false, - morestring=[b]", - %showtabs=true, - escapeinside={(*}{*)} -} - -%style tcbox pseudocode avec bannière hautdroite -\tcbset{stylepseudocodePL/.style={% - %fontupper=\small\sffamily,% - enhanced,boxrule=1.25pt,sharp corners=downhill,arc=12pt, - before skip=12pt,after skip=12pt,leftupper=10pt,top=8pt,bottom=2pt,rightupper=4pt,% - attach boxed title to top right={yshift=-\tcboxedtitleheight}, - boxed title style={ - size=small,colback=gray!25,boxrule=1.25pt, - colframe=darkgray,boxsep=1.25pt, - sharp corners=downhill, - arc=12pt, - top=2pt,bottom=1pt,left=6pt,right=6pt - }, - fonttitle=\color{darkgray}\ttfamily\footnotesize, - title={\scriptsize\faFileCode}\:\textit{Pseudo-Code}\vphantom{p}, - watermark text={\faCode},watermark opacity=0.175,watermark zoom=0.50, - } -} - -\ifluatex - \newcommand\algomathttPL[1]{\symtt{#1}} -\else - \newcommand\algomathttPL[1]{\mathtt{#1}} -\fi - -\DeclareTCBListing{PseudoCode}{ s O{12cm} O{} }{% étoilée sans numéro, <taille> puis option... - width=#2,#3, - stylepseudocodePL, - listing only,listing engine=listings, - listing options={ - style=\IfBooleanTF{#1}{pseudocodenoPL}{pseudocodePL},%version étoilée sans numéro de lignes - aboveskip=2pt,belowskip=2pt, - columns=fullflexible, - literate={é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1% - {ú}{{\'u}}1 {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1% - {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1% - {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1% - {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1% - {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1% - {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1% - {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1% - {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1% - {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1% - {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1% - {€}{{\texteuro}}1 {£}{{\pounds}}1% - {=}{\textleftarrow}1 {==}{=}1% - {*}{$\algomathttPL{\times}$}{1}% - } -} - %%------FakeTerm %couleurs (inspirées par termsim !) \definecolor{PLmpurple}{RGB}{48,10,36} diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-listings.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-listings.tex new file mode 100644 index 00000000000..c6d706417a9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-listings.tex @@ -0,0 +1,333 @@ +% proflycee-tools-piton.tex +% Copyright 2023 Cédric Pierquet +% 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. + +%2.5.8 Styles alternatifs + Modification marges + +\RequirePackage{iftex} + +%%------STYLE PYTHON LST +\ifluatex +\tcbuselibrary{listings} +\lstdefinelanguage{langnat}{% + keywords={}, + inputencoding=utf8, + comment=[l]{}} +\lstdefinestyle{PLpython}{% + language = python, + inputencoding = utf8, + basicstyle = \ttfamily\footnotesize, + keywordstyle = \color{ForestGreen}, + keywordstyle = [2]\color{magenta}, + commentstyle = \color{gray}\itshape, + stringstyle = \color{red!75}, + numberstyle = \scriptsize\ttfamily\color{darkgray}, + aboveskip = 0pt, + belowskip = 0pt, + tabsize = 4, + showstringspaces = false, + columns = fullflexible, + keepspaces = true, + breaklines = true, + breakatwhitespace = true +} +\else +\tcbuselibrary{listingsutf8} +\lstdefinelanguage{langnat}{% + keywords={}, + inputencoding=utf8/latin1, + comment=[l]{}} +\lstdefinestyle{PLpython}{% + language = python, + inputencoding = utf8/latin1, + basicstyle = \ttfamily\footnotesize, + keywordstyle = \color{ForestGreen}, + keywordstyle = [2]\color{magenta}, + commentstyle = \color{gray}\itshape, + stringstyle = \color{red!75}, + numberstyle = \scriptsize\ttfamily\color{darkgray}, + aboveskip = 0pt, + belowskip = 0pt, + tabsize = 4, + showstringspaces = false, + columns = fullflexible, + keepspaces = true, + breaklines = true, + breakatwhitespace = true +} +\fi + +%%------PYTHONLISTINGS +%v1 +\tcbset{stylepythonlst/.style={% + enhanced,boxrule=1.25pt,% + left=0.6em, + sharp corners=downhill,arc=12pt, + before skip=\baselineskip,after skip=\baselineskip,% + top=\baselineskip,bottom=1mm,right=5mm, + attach boxed title to top right={yshift=-\tcboxedtitleheight}, + boxed title style={ + size=small,colback=ForestGreen!25,boxrule=1.25pt, + colframe=Green,boxsep=1.25pt, + sharp corners=downhill, + arc=12pt, + top=2pt,bottom=1pt,left=6pt,right=6pt + }, + colframe=Green,colback=ForestGreen!5,% + fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize, + title={\scriptsize\faPython}\:Code Python\vphantom{p}, + watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50, + listing only,listing engine=listings,% + } +} + +\tcbset{stylepythonlstnolineos/.style={% + stylepythonlst, + listing options={style=PLpython,xleftmargin=0pt,numbers=none} + } +} + +\tcbset{stylepythonlstlineos/.style={% + stylepythonlst, + listing options={style=PLpython,xleftmargin=16pt,numbers=left} + } +} + +\NewTCBListing{CodePythonLst}{ s O{\linewidth} m }{% * off pour numéros de lignes + {largeur} + <options tcbox> + \IfBooleanTF{#1}{stylepythonlstnolineos}{stylepythonlstlineos}, + width=#2,#3 +} + +\NewTCBInputListing{\CodePythonLstFichier}{ s O{\linewidth} m m }{ + \IfBooleanTF{#1}{stylepythonlstnolineos}{stylepythonlstlineos}, + width=#2,#3, + listing file={#4} +} + +%v2 +\tcbset{StylPythonB/.style={% + enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,% + sharp corners,top=0mm,bottom=0mm,left=0.2em,right=5mm,% + before skip=\baselineskip,after skip=\baselineskip,% + colback=white, + fontupper=\footnotesize,fontlower=\footnotesize,% + listing only,listing engine=listings,% + watermark text={\faPython},watermark opacity=0.25,watermark zoom=0.50,% + title={{\scriptsize\faCode} Code Python}, + lefttitle=0.4em, + fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=DarkGray!50!Black + } +} + +\tcbset{StylPythonBno/.style={% + StylPythonB, + listing options={style=PLpython,xleftmargin=0pt,numbers=none} + } +} + +\tcbset{StylPythonByes/.style={% + StylPythonB, + listing options={style=PLpython,xleftmargin=16pt,numbers=left},% + underlay={% + \begin{tcbclipinterior} + \filldraw[lightgray!25] (interior.south west) rectangle ([xshift=1.3em]interior.north west) ; + \end{tcbclipinterior}% + } + } +} + +\NewTCBListing{CodePythonLstAlt}{ s O{\linewidth} m }{% * off pour numéros de lignes + {options keys} + <options tcbox> + \IfBooleanTF{#1}{StylPythonBno}{StylPythonByes},width=#2,#3 +} + +\NewTCBInputListing{\CodePythonLstFichierAlt}{ s O{\linewidth} m m }{ + \IfBooleanTF{#1}{StylPythonBno}{StylPythonByes}, + width=#2,#3, + listing file={#4} +} + +%%------PSEUDOCODE +%language pseudocode listings +\lstdefinestyle{pseudocodePL}{% + language = langnat, + basicstyle = \footnotesize\ttfamily, + numberstyle = \scriptsize\ttfamily\color{gray}, + keywordstyle = \bfseries, + stringstyle = \color{red!75}, + keepspaces = true, + tabsize = 4, + numbersep = 10pt, + xleftmargin = 14pt, + numbers = left, + morestring = [b]", + showstringspaces = false, + escapeinside = {(*}{*)} +} + +\lstdefinestyle{pseudocodenoPL}{% + language = langnat, + basicstyle = \footnotesize\ttfamily, + numberstyle = \scriptsize\ttfamily\color{gray}, + keywordstyle = \bfseries, + stringstyle = \color{red!75}, + keepspaces = true, + tabsize = 4, + numbersep = 10pt, + numbers = none, + showstringspaces = false, + morestring = [b]", + escapeinside = {(*}{*)} +} + +%style tcbox pseudocode avec bannière hautdroite +\tcbset{stylepseudocodePL/.style={% + enhanced,boxrule=1.25pt,sharp corners=downhill,arc=12pt, + before skip=\baselineskip,after skip=\baselineskip,leftupper=10pt,top=\baselineskip,bottom=1mm,rightupper=5mm,% + attach boxed title to top right={yshift=-\tcboxedtitleheight}, + boxed title style={ + size=small,colback=gray!25,boxrule=1.25pt, + colframe=darkgray,boxsep=1.25pt, + sharp corners=downhill, + arc=12pt, + top=2pt,bottom=1pt,left=6pt,right=6pt + }, + fonttitle=\color{darkgray}\ttfamily\footnotesize, + title={\scriptsize\faFileCode}\:\textit{Pseudo-Code}\vphantom{p}, + watermark text={\faCode},watermark opacity=0.175,watermark zoom=0.50, + } +} + +\ifluatex + \newcommand\algomathttPL[1]{\symtt{#1}} +\else + \newcommand\algomathttPL[1]{\mathtt{#1}} +\fi + +\DeclareTCBListing{PseudoCode}{ s O{12cm} m }{% étoilée sans numéro, <taille> puis option... + width=#2,#3, + stylepseudocodePL, + listing only,listing engine=listings, + listing options={ + style=\IfBooleanTF{#1}{pseudocodenoPL}{pseudocodePL},%version étoilée sans numéro de lignes + aboveskip=0pt,belowskip=0pt, + columns=fullflexible, + literate={é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1% + {ú}{{\'u}}1 {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1% + {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1% + {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1% + {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1% + {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1% + {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1% + {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1% + {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1% + {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1% + {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1% + {€}{{\texteuro}}1 {£}{{\pounds}}1% + {=}{\textleftarrow}1 {==}{=}1% + {*}{$\algomathttPL{\times}$}{1}% + } +} + +%style tcbox pseudocode v2 +\lstdefinestyle{pseudocodePLalt}{% + language = langnat, + basicstyle = \footnotesize\ttfamily, + numberstyle = \scriptsize\ttfamily\color{gray}, + keywordstyle = \bfseries, + stringstyle = \color{red!75}, + keepspaces = true, + tabsize = 4, + xleftmargin = 1.5em, + numbers = left, + morestring = [b]", + showstringspaces = false, + escapeinside = {(*}{*)} +} + +\lstdefinestyle{pseudocodenoPLalt}{% + language = langnat, + basicstyle = \footnotesize\ttfamily, + numberstyle = \scriptsize\ttfamily\color{gray}, + keywordstyle = \bfseries, + stringstyle = \color{red!75}, + keepspaces = true, + tabsize = 4, + numbers = none, + showstringspaces = false, + morestring = [b]", + escapeinside = {(*}{*)} +} + +\tcbset{stylepseudocodePLalt/.style={% + enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,% + sharp corners,top=0mm,bottom=0mm,left=0.4em,right=5mm,% + before skip=\baselineskip,after skip=\baselineskip,% + colback=white, + fontupper=\footnotesize,fontlower=\footnotesize,% + listing only,listing engine=listings,% + watermark text={\faCode},watermark opacity=0.25,watermark zoom=0.50,% + title={{\scriptsize\faCode} PseudoCode}, + lefttitle=0.4em, + fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=DarkGray!50!Black + } +} + +\tcbset{stylepseudocodePLaltlines/.style={% + underlay={% + \begin{tcbclipinterior} + \filldraw[lightgray!25] (interior.south west) rectangle ([xshift=1.3em]interior.north west) ; + \end{tcbclipinterior}% + } + } +} + +\DeclareTCBListing{PseudoCodeAlt}{ s O{12cm} m }{% étoilée sans numéro, <taille> puis option... + width=#2,#3, + stylepseudocodePLalt, + listing only,listing engine=listings, + \IfBooleanTF{#1}{}{stylepseudocodePLaltlines}, + listing options={ + style=\IfBooleanTF{#1}{pseudocodenoPLalt}{pseudocodePLalt},%version étoilée sans numéro de lignes + aboveskip=2pt,belowskip=2pt, + columns=fullflexible, + literate={é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1% + {ú}{{\'u}}1 {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1% + {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1% + {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1% + {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1% + {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1% + {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1% + {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1% + {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1% + {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1% + {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1% + {€}{{\texteuro}}1 {£}{{\pounds}}1% + {=}{\textleftarrow}1 {==}{=}1% + {*}{$\algomathttPL{\times}$}{1}% + } +} + +%%------PRESENTATIONDECODES CLASSIQUES +\NewTCBListing{PresentationCode}{ O{ForestGreen} m }{% + sharp corners=downhill,enhanced,arc=12pt,skin=bicolor,% + colback=#1!5!white,colframe=#1!75!black,colbacklower=White,% + attach boxed title to top right={yshift=-\tcboxedtitleheight},title=Code \LaTeX,% + boxed title style={% + colframe=#1!75!black,colback=#1!15!white,% + ,sharp corners=downhill,arc=12pt,% + },% + fonttitle=\color{#1!90!black}\itshape\ttfamily\footnotesize,% + listing options={% + style=tcblatex,basicstyle=\footnotesize\ttfamily,% + keywordstyle=\bfseries\color{Blue},tabsize=2,% + },% + #2 +} + +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex index 1a305445651..da385ed1a1d 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex +++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex @@ -8,7 +8,11 @@ % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. +%2.5.8 Style alternatif + Modification marges + %%------PYTHONMINTED + +%v1 \tcbset{pytmintedno/.style={% listing engine=minted,minted style=colorful, minted language=python,listing only, @@ -23,14 +27,14 @@ } } -\DeclareTCBListing{CodePythonMinted}{ s O{12cm} O{} }{% étoilée sans numéro, taille puis options... +\DeclareTCBListing{CodePythonMinted}{ s O{12cm} m }{% étoilée sans numéro, taille puis options... \IfBooleanTF{#1}{pytmintedno}{pytminted}, enhanced,width=#2,#3, colframe=Green,colback=ForestGreen!5,% boxrule=1.25pt, sharp corners=downhill,arc=12pt, - before skip=12pt,after skip=12pt,% - leftupper=8pt,top=10pt,bottom=4pt,rightupper=4pt,% + before skip=\baselineskip,after skip=\baselineskip,% + left=0.6em,top=\baselineskip,bottom=2mm,right=5mm,% attach boxed title to top right={yshift=-\tcboxedtitleheight}, boxed title style={ size=small,colback=ForestGreen!25,boxrule=1.25pt, @@ -42,7 +46,42 @@ fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize, title={\scriptsize\faPython}\:Code Python\vphantom{y}, watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50, - before upper=\renewcommand{\theFancyVerbLine}{\scriptsize\ttfamily\color{Green}\arabic{FancyVerbLine}} + before upper=\renewcommand{\theFancyVerbLine}{\scriptsize\ttfamily\color{DarkGray}\arabic{FancyVerbLine}} +} + +%v2 +\tcbset{pytmintedaltno/.style={% + listing engine=minted,minted style=colorful, + minted language=python,listing only, + minted options={tabsize=4,fontsize=\footnotesize,autogobble}, + } +} + +\tcbset{pytmintedalt/.style={% + listing engine=minted,minted style=colorful, + minted language=python,listing only, + minted options={tabsize=4,fontsize=\footnotesize,autogobble,xleftmargin=16pt,linenos,numbersep=10pt}, + underlay={% + \begin{tcbclipinterior} + \filldraw[lightgray!25] (interior.south west) rectangle ([xshift=1.3em]interior.north west) ; + \end{tcbclipinterior}% + } + } +} + +\DeclareTCBListing{CodePythonMintedAlt}{ s O{12cm} m }{% étoilée sans numéro, taille puis options... + \IfBooleanTF{#1}{pytmintedaltno}{pytmintedalt}, + width=#2,#3, + enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,% + sharp corners,top=0mm,bottom=0mm,left=0.2em,right=5mm,% + before skip=\baselineskip,after skip=\baselineskip,% + colback=white, + fontupper=\footnotesize,fontlower=\footnotesize,% + watermark text={\faPython},watermark opacity=0.25,watermark zoom=0.50,% + title={{\scriptsize\faCode} Code Python}, + lefttitle=0.4em, + fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=DarkGray!50!Black,% + before upper=\renewcommand{\theFancyVerbLine}{\scriptsize\ttfamily\color{DarkGray}\arabic{FancyVerbLine}} } \endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex index 7503f17894d..f3f00ecd5e4 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex +++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex @@ -8,6 +8,9 @@ % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. +%2.5.8 Modification des marges +%2.5.7 Style alternatif + \RequirePackage{iftex} %%=============PYTHONPITON @@ -55,7 +58,7 @@ %==Style Classique \tcbset{thonnystyle/.style={% - enhanced,boxrule=0.75pt,colframe=DarkGray!25!Black,% + enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,% sharp corners,top=0mm,bottom=0mm,left=0.4em,right=5mm,% before skip=\baselineskip,after skip=\baselineskip,% colback=white @@ -66,7 +69,7 @@ thonnystyle,% underlay={% \begin{tcbclipinterior} - \filldraw[lightgray!15] (interior.south west) rectangle ([xshift=1.3em]interior.north west) ; + \filldraw[lightgray!25] (interior.south west) rectangle ([xshift=1.3em]interior.north west) ; \end{tcbclipinterior}% } } @@ -75,7 +78,7 @@ %==Création de la boîte \ifluatex \RequirePackage{piton} -\NewPitonEnvironment{CodePiton}{ O{} }% +\NewPitonEnvironment{CodePiton}{ O{} m }% {% \tcbset{reset} \useKVdefault[envpiton]% @@ -91,7 +94,7 @@ %------les styles tcbox \IfEq{\CODPITstyle}{Moderne}%style Moderne (défaut) {% - \tcbset{stylepiton,colframe=Green,colback=ForestGreen!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign} + \tcbset{stylepiton,colframe=Green,colback=ForestGreen!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign,leftupper=0.75em} \ifboolKV[envpiton]{Filigrane}%si filigrane {\tcbset{watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50}}% {}% @@ -100,18 +103,18 @@ \IfEq{\CODPITstyle}{Classique}%style Classique {% \ifboolKV[envpiton]{Lignes}%si lignes=true - {\tcbset{thonnystylelineos,leftupper=0.4em}}% + {\tcbset{thonnystylelineos,leftupper=0.75em}}% {\tcbset{thonnystyle,leftupper=0.4em}}% - \tcbset{width=\CODPITlargeur,colframe=darkgray,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign} + \tcbset{width=\CODPITlargeur,colframe=DarkGray!50!Black,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign} \ifboolKV[envpiton]{Filigrane}%si filigrane - {\tcbset{watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50}}% + {\tcbset{watermark text={\faPython},watermark opacity=0.25,watermark zoom=0.50}}% {}% \ifboolKV[envpiton]{BarreTitre}% {% \ifboolKV[envpiton]{Cadre} {} {\tcbset{boxrule=0pt,frame hidden}} - \tcbset{lefttitle=0.4em,title={\CODPITtitre},fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=DarkGray!25!Black} + \tcbset{lefttitle=0.4em,title={\CODPITtitre},fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=DarkGray!50!Black} }% {% \tcbset{notitle} @@ -122,7 +125,7 @@ } {}% %on crée la boîte - \begin{tcolorbox} + \begin{tcolorbox}[#2] }% {% \end{tcolorbox}% @@ -132,9 +135,9 @@ %======CONSOLE PYLUATEX (package à charger manuellement !!) \tcbset{consolepylua/.style={%base de la boîte - enhanced,colback=white,colframe=ForestGreen,sharp corners,boxrule=1pt,% - top=1.5mm,bottom=1.5mm,left=2mm,right=2mm,fontupper=\small,% - before skip=\baselineskip,after skip=\baselineskip,% + enhanced,colback=white,colframe=ForestGreen,sharp corners,boxrule=1pt,% + top=1.5mm,bottom=1.5mm,left=2mm,right=2mm,fontupper=\small,% + before skip=\baselineskip,after skip=\baselineskip,% } } @@ -176,8 +179,8 @@ \PitonOptions{#1} \PyLTVerbatimEnv \ifboolKV[consolepyluatex]{Logo} - {\tcbset{consolepyluatexlogo,width=\ConsPyluaLarg,\ConsPyluaAlign,#3}} - {\tcbset{consolepyluatex,width=\ConsPyluaLarg,\ConsPyluaAlign,#3}} + {\tcbset{consolepyluatexlogo,width=\ConsPyluaLarg,\ConsPyluaAlign,#3}} + {\tcbset{consolepyluatex,width=\ConsPyluaLarg,\ConsPyluaAlign,#3}} \begin{tcolorbox} \begin{pythonrepl} } @@ -188,8 +191,8 @@ tex.print("\\end{Piton}") tex.print("") } - \end{pythonrepl} -\end{tcolorbox} + \end{pythonrepl} + \end{tcolorbox} } \endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex index 1a4b2c0f94d..30690cb49a9 100644 --- a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex +++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex @@ -8,6 +8,8 @@ % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. +%2.5.8 Style alternatif + Modification marges + Modification arguments + %%------CONSOLEPYTHON \defKV[envpythonconsole]{% Largeur=\def\CSPYlargeur{#1},% @@ -20,13 +22,13 @@ \setKVdefault[envpythonconsole]{% Largeur=\linewidth,% - Centre=true,% + Centre=false,% Label=true,% TaillePolice=\footnotesize,% EspacementVertical=1 } -\newenvironment{ConsolePythontex}[1][] +\newenvironment{ConsolePythontex}[2][] {% \useKVdefault[envpythonconsole]% \setKV[envpythonconsole]{#1}% on paramètres les nouvelles clés et on les simplifie @@ -40,7 +42,7 @@ framesep=3mm,frame=single,fontsize=\CSPYfonte,framerule=1pt,rulecolor=\color{ForestGreen},baselinestretch=\CSPYstretch]} }% {% - \end{pyconsole} + \end{pyconsole} \end{minipage} \hookcenterpost } @@ -57,17 +59,19 @@ \setKVdefault[envpythonverb]{% Largeur=\linewidth,% - Centre=true,% + Centre=false,% Lignes=true,% TaillePolice=\footnotesize,% EspacementVertical=1 } +%v1 + \tcbset{stylepythontex/.style={% enhanced,boxrule=1.25pt,% sharp corners=downhill,arc=12pt, - before skip=12pt,after skip=12pt,% - top=10pt,bottom=1mm,rightupper=4pt,%leftupper=25pt, + before skip=\baselineskip,after skip=\baselineskip,% + top=\baselineskip,bottom=1mm,right=5mm,left=0.6em, attach boxed title to top right={yshift=-\tcboxedtitleheight}, boxed title style={ size=small,colback=ForestGreen!25,boxrule=1.25pt, @@ -79,21 +83,18 @@ fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize, title={\scriptsize\faPython}\:Code Python\vphantom{p}, watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50, + colframe=Green,colback=ForestGreen!5,% + before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{darkgray}\arabic{FancyVerbLine}} } } \tcbset{stylepythonnolineos/.style={% - stylepythontex,leftupper=10pt, - colframe=Green,colback=ForestGreen!5,% - before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{Gray}\arabic{FancyVerbLine}} + stylepythontex,leftupper=1em } } \tcbset{stylepythonlineos/.style={% - stylepythontex,leftupper=25pt, - colframe=Green,colback=ForestGreen!5,% - % fontlower=\small,% - before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{Gray}\arabic{FancyVerbLine}} + stylepythontex,leftupper=2em } } @@ -105,7 +106,7 @@ width=#1,stylepythonnolineos } -\newenvironment{CodePythontex}[1][] +\NewDocumentEnvironment{CodePythontex}{ O{} m } {% \useKVdefault[envpythonverb]% \setKV[envpythonverb]{#1}% on paramètres les nouvelles clés et on les simplifie @@ -115,7 +116,7 @@ {\begin{tcpythontexcode}[\CODPYlargeur]} {\begin{tcpythontexcodeno}[\CODPYlargeur]} \ifboolKV[envpythonverb]{Lignes}%si lignes=true - {\begin{pyverbatim}[][fontsize=\CODPYfonte,numbers=left,numbersep=10pt,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]} + {\begin{pyverbatim}[][fontsize=\CODPYfonte,numbers=left,numbersep=0.75em,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]} {\begin{pyverbatim}[][numbers=none,numbersep=0pt,fontsize=\CODPYfonte,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]} }% {% @@ -126,4 +127,62 @@ \verbcenterpost } +%v2 +\tcbset{stylepythontexalt/.style={% + enhanced,boxrule=0.75pt,colframe=DarkGray!50!Black,% + sharp corners,top=0mm,bottom=0mm,left=0.2em,right=5mm,% + before skip=\baselineskip,after skip=\baselineskip,% + colback=white, + fontupper=\footnotesize,fontlower=\footnotesize,% + title={{\scriptsize\faCode} Code Python}, + lefttitle=0.4em, + watermark text={\faPython},watermark opacity=0.25,watermark zoom=0.50, + fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=DarkGray!50!Black, + before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{darkgray}\arabic{FancyVerbLine}} + } +} + +\tcbset{stylepythonnolineosalt/.style={% + stylepythontexalt,leftupper=0.2em, + } +} + +\tcbset{stylepythonlineosalt/.style={% + stylepythontexalt,leftupper=1.35em, + underlay={% + \begin{tcbclipinterior} + \filldraw[lightgray!25] (interior.south west) rectangle ([xshift=1.3em]interior.north west) ; + \end{tcbclipinterior}% + } + } +} + +\newtcolorbox{tcpythontexcodealt}[1][\linewidth]{% + width=#1,stylepythonlineosalt +} + +\newtcolorbox{tcpythontexcodenoalt}[1][\linewidth]{% + width=#1,stylepythonnolineosalt +} +\NewDocumentEnvironment{CodePythontexAlt}{ O{} m } +{% + \useKVdefault[envpythonverb]% + \setKV[envpythonverb]{#1}% on paramètres les nouvelles clés et on les simplifie + \VerbatimEnvironment + \verbcenterpre + \ifboolKV[envpythonverb]{Lignes}%si lignes=true + {\begin{tcpythontexcodealt}[\CODPYlargeur]} + {\begin{tcpythontexcodenoalt}[\CODPYlargeur]} + \ifboolKV[envpythonverb]{Lignes}%si lignes=true + {\begin{pyverbatim}[][fontsize=\CODPYfonte,numbers=left,numbersep=0.75em,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]} + {\begin{pyverbatim}[][numbers=none,numbersep=0pt,fontsize=\CODPYfonte,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]} +}% +{% + \end{pyverbatim} + \ifboolKV[envpythonverb]{Lignes}%si lignes=true + {\end{tcpythontexcodealt}} + {\end{tcpythontexcodenoalt}} + \verbcenterpost +} + \endinput
\ No newline at end of file |