texlive[66759] Master/texmf-dist: proflycee (4apr23)
commits+karl at tug.org
commits+karl at tug.org
Tue Apr 4 22:11:49 CEST 2023
Revision: 66759
http://tug.org/svn/texlive?view=revision&revision=66759
Author: karl
Date: 2023-04-04 22:11:49 +0200 (Tue, 04 Apr 2023)
Log Message:
-----------
proflycee (4apr23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex
trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf
trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex
Modified: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex 2023-04-04 20:11:32 UTC (rev 66758)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex 2023-04-04 20:11:49 UTC (rev 66759)
@@ -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.6}
-\def\PLdate{31 Mars 2023}
+\def\PLversion{2.5.7}
+\def\PLdate{4 Avril 2023}
\usepackage{ProfLycee}
\useproflyclib{piton,minted,pythontex}
%\usepackage{lualatex-math}
@@ -568,6 +568,7 @@
\begin{CodePythonLst}(*)[largeur]{commandes tcbox}...\end{CodePythonLst}
%:=librairie piton
\begin{CodePiton}[options]...\end{CodePiton}
+\begin{PitonConsole}[options Piton]<Clés>{paramètres tcbox}...\end{PitonConsole}
%:=librairie pythontex
\begin{CodePythontex}[options]...\end{CodePythontex}
\begin{ConsolePythontex}[options]...\end{ConsolePythontex}
@@ -2327,14 +2328,17 @@
\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 !
\end{codeinfo}
\begin{codetex}[listing only]
+\usepackage[executable=...]{pyluatex} %si utilisation de la console REPL
\useproflyclib{piton}
\end{codetex}
\begin{codeinfo}
-\cmaj{2.0.0} 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 Python avec une coloration syntaxique en utilisant la bibliothèque \textsf{Lua LPEG}.
\smallskip
@@ -2342,17 +2346,23 @@
\smallskip
-\cmaj{2.0.2} Depuis la version \ctex{0.95} de \ctex{piton}, \Cle{left-margin=auto} est disponible et activée dans \ctex{ProfLycee}.
+Depuis la version \ctex{0.95} de \ctex{piton}, \Cle{left-margin=auto} est disponible et activée dans \ctex{ProfLycee}.
-\cmaj{2.1.2} Depuis la version \ctex{0.99} de \ctex{piton}, \Cle{break-lines} est disponible et activée dans \ctex{ProfLycee}.
+Depuis la version \ctex{0.99} de \ctex{piton}, \Cle{break-lines} est disponible et activée dans \ctex{ProfLycee}.
-\cmaj{2.1.3} Depuis la version \ctex{1.0} de \ctex{piton}, \Cle{tabs-auto-gobble} est disponible et activée dans \ctex{ProfLycee}.
+Depuis la version \ctex{1.0} de \ctex{piton}, \Cle{tabs-auto-gobble} est disponible et activée dans \ctex{ProfLycee}.
\end{codeinfo}
\begin{codeattention}
Le package \ctex{piton} nécessite donc obligatoirement l’emploi de \hologo{LuaLaTeX} !
-\cmaj{2.0.1} Ce package n'est chargé que si la compilation détectée est en \hologo{LuaLaTeX} !
+Ce package n'est chargé que si la compilation détectée est en \hologo{LuaLaTeX} !
+
+\smallskip
+
+\cmaj{2.5.7} L'utilisation de la console \textbf{REPL} nécessite une compilation en \ctex{--shell-escape} ou \ctex{-write18} !
+
+\cmaj{2.5.7} Les packages \ctex{pyluatex} et \ctex{pythontex} utilisent des commandes de même nom, donc la présente documentation n'utilisera pas le package \ctex{pyluatex}. Une documentation annexe spécifique est disponible.
\end{codeattention}
\subsection{Présentation de code Python}
@@ -2363,25 +2373,29 @@
\end{CodePiton}
\end{codetex}
-%\begin{codeattention}
-%Les environnements créés par \ctex{piton} et \ctex{tcolorbox} ne sont -- a priori -- pas compatibles avec les options de type \Cle{gobble} (pour supprimer les tabulations d'environnement), donc il faut bien penser à \og aligner \fg{} le code à gauche, pour éviter des tabulations non esthétiques !
-%\end{codeattention}
-
\begin{codecles}
Plusieurs \Cle{clés} sont disponibles :
\begin{itemize}
\item la clé booléenne \Cle{Lignes} pour afficher ou non les numéros de lignes ; \hfill{}défaut \Cle{true}
- \item \cmaj{2.1.3} la clé booléenne \Cle{Gobble} pour activer les options liées au \textsf{gobble} ; \hfill{}défaut \Cle{true}
+ \item la clé booléenne \Cle{Gobble} pour activer les options liées au \textsf{gobble} ; \hfill{}défaut \Cle{true}
\item la clé \Cle{Largeur} qui correspond à la largeur de la \ctex{tcbox} ; \hfill{}défaut \Cle{\textbackslash linewidth}
\item la clé \Cle{TaillePolice} pour la taille des caractères ; \hfill{}défaut \Cle{\textbackslash footnotesize}
- \item la clé \Cle{Alignement} qui paramètre l'alignement de la \ctex{tcbox}. \hfill{}défaut \Cle{center}
+ \item la clé \Cle{Alignement} qui paramètre l'alignement de la \ctex{tcbox} ; \hfill{}défaut \Cle{center}
+ \item \cmaj{2.5.7} la clé \Cle{Style} (parmi \Cle{Moderne / Classique}) pour changer le style ; \hfill{}défaut \Cle{Moderne}
+ \item \cmaj{2.5.7} le boolén \Cle{Filigrane} pour afficher, le logo {\small \faPython} en filigrane ; \hfill{}défaut \Cle{false}
+ \item \cmaj{2.5.7} le boolén \Cle{BarreTitre} (si \Cle{Style=Moderne}) pour afficher le titre ; \hfill{}défaut \Cle{true}
+ \item \cmaj{2.5.7} le boolén \Cle{Cadre} (si \Cle{Style=Moderne}) pour afficher le cadre. \hfill{}défaut \Cle{true}
\end{itemize}
\end{codecles}
+\begin{codeinfo}
+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{codetex}[listing only]
\begin{CodePiton}
-#environnement piton avec numéros de ligne, pleine largeur
+#environnement piton avec numéros de ligne, pleine largeur, style moderne
def arctan(x,n=10):
if x < 0:
return -arctan(-x) #> (appel récursif)
@@ -2392,9 +2406,8 @@
\end{CodePiton}
\end{codetex}
-\begin{codesortie}
\begin{CodePiton}
-#environnement piton avec numéros de ligne, pleine largeur
+#environnement piton avec numéros de ligne, pleine largeur, style moderne
def arctan(x,n=10):
if x < 0:
return -arctan(-x) #> (appel récursif)
@@ -2403,9 +2416,32 @@
else:
return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
\end{CodePiton}
-\end{codesortie}
\begin{codetex}[listing only]
+\begin{CodePiton}[Style=Classique]
+#environnement piton avec numéros de ligne, pleine largeur, style classique
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x) #> (appel récursif)
+ elif x > 1:
+ return pi/2 - arctan(1/x) #> (autre appel récursif)
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{CodePiton}
+\end{codetex}
+
+\begin{CodePiton}[Style=Classique]
+#environnement piton avec numéros de ligne, pleine largeur, style classique
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x) #> (appel récursif)
+ elif x > 1:
+ return pi/2 - arctan(1/x) #> (autre appel récursif)
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{CodePiton}
+
+\begin{codetex}[listing only]
\begin{CodePiton}[Alignement=flush right,Largeur=13cm]
def f(x) :
return x**2
@@ -2418,15 +2454,21 @@
\begin{itemize} %Avec des indentations d'environnement :
\item On essaye avec un \texttt{itemize} :
-
- \begin{CodePiton}[Largeur=9cm]
+ %
+ \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]
+ #avec numéros, de largeur 12cm, centré, classique, sans cadre/titre
+ def f(x) :
+ return x**2
+ \end{CodePiton}
\end{itemize}
\end{codetex}
-\begin{codesortie}
\begin{CodePiton}[Alignement=flush right,Largeur=13cm]
#avec numéros, de largeur 13cm, aligné à droite
def f(x) :
@@ -2441,15 +2483,27 @@
\begin{itemize}
\item On essaye avec un \texttt{itemize} :
-
- \begin{CodePiton}[Largeur=9cm]
- #avec numéros, de largeur 9cm, centré
+ %
+ \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]
+ #avec numéros, de largeur 12cm, centré, classique, sans cadre/titre
+ def f(x) :
+ return x**2
+ \end{CodePiton}
\end{itemize}
-\end{codesortie}
+\subsection{Console en partenariat avec Pyluatex}
+
+\begin{codeinfo}
+\cmaj{2.5.7} Une console d'exécution (type REPL) est disponible, et la documentation associée est en marge de la présente documentation.
+\end{codeinfo}
+
\pagebreak
\section{Code \& Console Python, via les packages Pythontex ou Minted}
@@ -6276,6 +6330,8 @@
\part{Historique}
+{\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})
{\small \bverb|v 2.5.5|~:~~~~Externalisation de la fenêtre XCas (dans la package \textsf{FentreCas})
Added: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf 2023-04-04 20:11:32 UTC (rev 66758)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf 2023-04-04 20:11:49 UTC (rev 66759)
Property changes on: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex 2023-04-04 20:11:49 UTC (rev 66759)
@@ -0,0 +1,263 @@
+% !TeX document-id = {fc3853a9-0c9c-4d02-b763-6dc6c85d34db}
+% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape]
+
+\documentclass[french,a4paper,10pt]{article}
+\def\PLver{2.5.7}
+\usepackage[margin=1.5cm]{geometry}
+\usepackage{ProfLycee}
+\useproflyclib{piton}
+\usepackage[executable=python.exe]{pyluatex}
+\usepackage{babel}
+\sisetup{locale=FR,output-decimal-marker={,},group-minimum-digits=4}
+\usepackage{codehigh}
+%\usepackage[most]{tcolorbox}
+%\newtcblisting{ShowCodeTeX}[1][]{colback=white,colframe=red!75!black,listing options={style=tcblatex},#1}
+
+\begin{document}
+
+\part*{ProfLycee (\PLver), Piton et Pyluatex}
+
+\section{Code \og Piton \fg{}, indépendant de Pyluatex}
+
+\subsection{Préambule basique}
+
+{\small \begin{codehigh}
+\documentclass[french,a4paper,10pt]{article}
+\usepackage{ProfLycee}
+\useproflyclib{piton} % lua
+\end{codehigh}}
+
+\subsection{Exemples}
+
+{\small \begin{codehigh}
+%Sortie par défaut
+\begin{CodePiton}
+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{CodePiton}
+\end{codehigh}}
+
+\begin{CodePiton}
+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{CodePiton}
+
+{\small \begin{codehigh}
+%Sortie avec 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
+ if x > 0:
+ return x
+ else:
+ return -x
+\end{CodePiton}
+\end{codehigh}}
+
+\begin{CodePiton}[Style=Classique,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{CodePiton}
+
+\pagebreak
+
+{\small \begin{codehigh}
+%Sortie avec Style=Classique, Sans Titre, Largeur=10cm, centré
+\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
+ if x > 0:
+ return x
+ else:
+ return -x
+\end{CodePiton}
+\end{codehigh}}
+
+\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
+ if x > 0:
+ return x
+ else:
+ return -x
+\end{CodePiton}
+
+{\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}]
+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{CodePiton}
+\end{codehigh}}
+
+\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
+ if x > 0:
+ return x
+ else:
+ return -x
+\end{CodePiton}
+
+{\small \begin{codehigh}
+%Sortie Moderne, Largeur=11cm, avec Filigrane, aligné à gauche
+\begin{CodePiton}[Largeur=11cm,Filigrane,Alignement=flush left]
+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{CodePiton}
+\end{codehigh}}
+
+\begin{CodePiton}[Largeur=11cm,Filigrane,Alignement=flush left]
+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{CodePiton}
+
+\pagebreak
+
+\section{Console \og Piton \fg{}, dépendant de Pyluatex}
+
+\subsection{Préambule, avec le package pyluatex}
+
+{\small \begin{codehigh}
+\documentclass[french,a4paper,10pt]{article}
+\usepackage{ProfLycee}
+\useproflyclib{piton}
+\usepackage[executable=python.exe]{pyluatex} % lua + shell-escape
+\end{codehigh}}
+
+\subsection{Commande}
+
+{\small \begin{codehigh}
+\begin{ConsolePiton}[Options piton]<Clés>{Options tcbox}
+...
+...
+\end{ConsolePiton}
+\end{codehigh}}
+
+\medskip
+
+Les clés, à placer entre \texttt{<...>}, sont :
+
+\begin{itemize}
+ \item \textbf{\textsf{$\langle$Logo$\rangle$}} pour afficher un petit logo dans les \textit{titres} de la console REPL ; \hfill{}défaut : \textbf{\textsf{$\langle$true$\rangle$}}
+ \item \textbf{\textsf{$\langle$Largeur$\rangle$}} pour spécifier la largeur de la console REPL ; \hfill{}défaut : \textbf{\textsf{$\langle$\textbackslash{}linewidth$\rangle$}}
+ \item \textbf{\textsf{$\langle$Alignement$\rangle$}} pour spécifier l'alignement de la console REPL.\hfill{}défaut : \textbf{\textsf{$\langle$flush left$\rangle$}}
+\end{itemize}
+
+\subsection{Exemples}
+
+{\small \begin{codehigh}
+%Déclaration d'une fonction python + librairie random pour utilisation ultérieure
+\begin{python}
+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{python}
+\end{codehigh}}
+
+\begin{python}
+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{python}
+
+{\small \begin{codehigh}
+\begin{ConsolePiton}{}
+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{ConsolePiton}
+\end{codehigh}}
+
+\begin{ConsolePiton}{}
+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{ConsolePiton}
+
+\pagebreak
+
+{\small \begin{codehigh}
+\begin{ConsolePiton}<Largeur=11cm,Alignement=center,Logo=false>{}
+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{ConsolePiton}
+\end{codehigh}}
+
+\begin{ConsolePiton}<Largeur=11cm,Alignement=center,Logo=false>{}
+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{ConsolePiton}
+
+\end{document}
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty 2023-04-04 20:11:32 UTC (rev 66758)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty 2023-04-04 20:11:49 UTC (rev 66759)
@@ -3,7 +3,9 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/03/31 2.5.6 Aide pour l'utilisation de LaTeX en lycee]
+\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
+% 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
% 2.5.5 Correction d'un bug avec la fenetre XCas
@@ -398,24 +400,24 @@
%%------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
+ 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,%
+ 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,%
}
}
Modified: trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex 2023-04-04 20:11:32 UTC (rev 66758)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-minted.tex 2023-04-04 20:11:49 UTC (rev 66759)
@@ -10,16 +10,16 @@
%%------PYTHONMINTED
\tcbset{pytmintedno/.style={%
- listing engine=minted,minted style=colorful,
- minted language=python,listing only,
- minted options={tabsize=4,fontsize=\footnotesize,autogobble},
+ listing engine=minted,minted style=colorful,
+ minted language=python,listing only,
+ minted options={tabsize=4,fontsize=\footnotesize,autogobble},
}
}
\tcbset{pytminted/.style={%
- listing engine=minted,minted style=colorful,
- minted language=python,listing only,
- minted options={tabsize=4,fontsize=\footnotesize,autogobble,xleftmargin=16pt,linenos,numbersep=10pt},
+ listing engine=minted,minted style=colorful,
+ minted language=python,listing only,
+ minted options={tabsize=4,fontsize=\footnotesize,autogobble,xleftmargin=16pt,linenos,numbersep=10pt},
}
}
Modified: trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex 2023-04-04 20:11:32 UTC (rev 66758)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-piton.tex 2023-04-04 20:11:49 UTC (rev 66759)
@@ -10,11 +10,15 @@
\RequirePackage{iftex}
-%%------PYTHONPITON
+%%=============PYTHONPITON
+
+%==Clés globales
\defKV[envpiton]{%
Largeur=\def\CODPITlargeur{#1},%
Alignement=\def\CODPITalign{#1},%
- TaillePolice=\def\CODPITfonte{#1}
+ TaillePolice=\def\CODPITfonte{#1},%
+ Style=\def\CODPITstyle{#1},%
+ Titre=\def\CODPITtitre{#1}
}
\setKVdefault[envpiton]{%
@@ -22,14 +26,20 @@
Alignement=center,%
Lignes=true,%
Gobble=true,%
- TaillePolice=\footnotesize
+ TaillePolice=\footnotesize,%
+ Filigrane=false,%
+ Style=Moderne,%
+ Cadre=true,%
+ BarreTitre=true,%
+ Titre={{\scriptsize\faCode} Code Python}
}
+%==Style Moderne
\tcbset{stylepiton/.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=0mm,left=0.6em,right=5mm,%
attach boxed title to top right={yshift=-\tcboxedtitleheight},
boxed title style={
size=small,colback=ForestGreen!25,boxrule=1.25pt,
@@ -37,27 +47,82 @@
sharp corners=downhill,
arc=12pt,
top=2pt,bottom=1pt,left=6pt,right=6pt
- },
+ },
fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
- title={\scriptsize\faPython}\:Code Python\vphantom{p},
- watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50
+ title={{\scriptsize\faPython}\:Code Python}
}
}
+%==Style Classique
+\tcbset{thonnystyle/.style={%
+ enhanced,boxrule=0.75pt,colframe=DarkGray!25!Black,%
+ sharp corners,top=0mm,bottom=0mm,left=0.4em,right=5mm,%
+ before skip=\baselineskip,after skip=\baselineskip,%
+ colback=white
+ }
+}
+
+\tcbset{thonnystylelineos/.style={%
+ thonnystyle,%
+ underlay={%
+ \begin{tcbclipinterior}
+ \filldraw[lightgray!15] (interior.south west) rectangle ([xshift=1.3em]interior.north west) ;
+ \end{tcbclipinterior}%
+ }
+ }
+}
+
+%==Création de la boîte
\ifluatex
\RequirePackage{piton}
\NewPitonEnvironment{CodePiton}{ O{} }%
{%
+ \tcbset{reset}
\useKVdefault[envpiton]%
\setKV[envpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %------les styles piton
\ifboolKV[envpiton]{Lignes}%si lignes=true
- {\PitonOptions{left-margin=auto,all-line-numbers}}%
+ {\PitonOptions{left-margin=0.75em,all-line-numbers}}%left-margin=auto,
{}%
\ifboolKV[envpiton]{Gobble}%si gobble=true
{\PitonOptions{tabs-auto-gobble}}%
{}%
- \PitonOptions{break-lines,indent-broken-lines}%
- \begin{tcolorbox}[stylepiton,leftupper=8pt,colframe=Green,colback=ForestGreen!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign]
+ \PitonOptions{break-lines,indent-broken-lines}%,numbers-sep=0.65em}
+ %------les styles tcbox
+ \IfEq{\CODPITstyle}{Moderne}%style Moderne (défaut)
+ {%
+ \tcbset{stylepiton,colframe=Green,colback=ForestGreen!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign}
+ \ifboolKV[envpiton]{Filigrane}%si filigrane
+ {\tcbset{watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50}}%
+ {}%
+ }
+ {}%
+ \IfEq{\CODPITstyle}{Classique}%style Classique
+ {%
+ \ifboolKV[envpiton]{Lignes}%si lignes=true
+ {\tcbset{thonnystylelineos,leftupper=0.4em}}%
+ {\tcbset{thonnystyle,leftupper=0.4em}}%
+ \tcbset{width=\CODPITlargeur,colframe=darkgray,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign}
+ \ifboolKV[envpiton]{Filigrane}%si filigrane
+ {\tcbset{watermark text={\faPython},watermark opacity=0.175,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{notitle}
+ \ifboolKV[envpiton]{Cadre}
+ {}
+ {\tcbset{boxrule=0pt,frame hidden}}
+ }
+ }
+ {}%
+ %on crée la boîte
+ \begin{tcolorbox}
}%
{%
\end{tcolorbox}%
@@ -64,4 +129,67 @@
}
\fi
+
+%======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,%
+ }
+}
+
+\tcbset{consolepyluatexlogo/.style={%avec logo python
+ consolepylua,%
+ overlay={%
+ \draw ([yshift=0.5pt]frame.south) node[ForestGreen!50!black,fill=white,font=\scriptsize\ttfamily] {\scalebox{0.8}[0.8]{\faPython} Fin de la Console Python \scalebox{0.8}[0.8]{\faPython}} ;
+ \draw ([yshift=-0.5pt]frame.north) node[ForestGreen!50!black,fill=white,font=\scriptsize\ttfamily] {\scalebox{0.8}[0.8]{\faPython} Début de la Console Python \scalebox{0.8}[0.8]{\faPython}} ;
+ }
+ }
+}
+
+\tcbset{consolepyluatex/.style={%sans logo python
+ consolepylua,%
+ overlay={%
+ \draw ([yshift=0.5pt]frame.south) node[ForestGreen!50!black,fill=white,font=\scriptsize\ttfamily] {Fin de la Console Python} ;
+ \draw ([yshift=-0.5pt]frame.north) node[ForestGreen!50!black,fill=white,font=\scriptsize\ttfamily] {Début de la Console Python} ;
+ }
+ }
+}
+
+\defKV[consolepyluatex]{%
+ Largeur=\def\ConsPyluaLarg{#1},%
+ Alignement=\def\ConsPyluaAlign{#1}
+}
+\setKVdefault[consolepyluatex]{%
+ Logo=true,%
+ Largeur=\linewidth,%
+ Alignement=flush left
+}
+
+\NewDocumentEnvironment{ConsolePiton}{ O{} D<>{} m }%
+%1=options piton
+%2=clés
+%3=options tcbox
+{
+ \restoreKV[consolepyluatex]% revenir au valeurs par défaut
+ \setKV[consolepyluatex]{#2}% lit les arguments optionnels
+ \PitonOptions{#1}
+ \PyLTVerbatimEnv
+ \ifboolKV[consolepyluatex]{Logo}
+ {\tcbset{consolepyluatexlogo,width=\ConsPyluaLarg,\ConsPyluaAlign,#3}}
+ {\tcbset{consolepyluatex,width=\ConsPyluaLarg,\ConsPyluaAlign,#3}}
+ \begin{tcolorbox}
+ \begin{pythonrepl}
+}
+{
+ \directlua{
+ tex.print("\\begin{Piton}")
+ tex.print(pyluatex.get_last_output())
+ tex.print("\\end{Piton}")
+ tex.print("")
+}
+ \end{pythonrepl}
+\end{tcolorbox}
+}
+
\endinput
\ No newline at end of file
More information about the tex-live-commits
mailing list.