summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/proflycee
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-07 03:01:13 +0000
committerNorbert Preining <norbert@preining.info>2023-04-07 03:01:13 +0000
commitbd96eb3748479a2feb0e8a0ef06203de92766953 (patch)
tree9da29a4dd0bba6403d150b684f2cc30c6dfc3551 /macros/latex/contrib/proflycee
parentecbacf9e5b13d0940f27ca7c07d3f728256dc5dc (diff)
CTAN sync 202304070301
Diffstat (limited to 'macros/latex/contrib/proflycee')
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin812698 -> 815001 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex563
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdfbin60443 -> 60451 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex25
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdfbin0 -> 44183 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.tex242
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty208
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex333
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex47
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex35
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex89
11 files changed, 932 insertions, 610 deletions
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index f44e4ef13a..67586db55b 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
index 51bd79b3e7..1aa8261b74 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+++ b/macros/latex/contrib/proflycee/doc/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/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
index 6f6dc42f2e..757afb51d9 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex
index 4831d61a84..63ea75ebb5 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex
+++ b/macros/latex/contrib/proflycee/doc/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/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdf
new file mode 100644
index 0000000000..b658a1adfd
--- /dev/null
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.tex
new file mode 100644
index 0000000000..f25a865eba
--- /dev/null
+++ b/macros/latex/contrib/proflycee/doc/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/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index b91ab7816d..f553031e8c 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/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/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
new file mode 100644
index 0000000000..c6d706417a
--- /dev/null
+++ b/macros/latex/contrib/proflycee/tex/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/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
index 1a30544565..da385ed1a1 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
+++ b/macros/latex/contrib/proflycee/tex/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/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
index 7503f17894..f3f00ecd5e 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
+++ b/macros/latex/contrib/proflycee/tex/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/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
index 1a4b2c0f94..30690cb49a 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
+++ b/macros/latex/contrib/proflycee/tex/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