texlive[62045] Master/texmf-dist: proflycee (16feb22)

commits+karl at tug.org commits+karl at tug.org
Wed Feb 16 22:18:00 CET 2022


Revision: 62045
          http://tug.org/svn/texlive?view=revision&revision=62045
Author:   karl
Date:     2022-02-16 22:18:00 +0100 (Wed, 16 Feb 2022)
Log Message:
-----------
proflycee (16feb22)

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

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	2022-02-16 21:17:47 UTC (rev 62044)
+++ trunk/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex	2022-02-16 21:18:00 UTC (rev 62045)
@@ -1,6 +1,5 @@
-% !TeX TXS-program:compile = txs:///pythonpdfse
-
 \documentclass{article}
+\usepackage[french]{babel}
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage[upright]{fourier}
@@ -8,9 +7,7 @@
 \renewcommand\ttdefault{lmtt}
 \usepackage[scaled=0.875]{cabin}
 \usepackage{ProfLycee}
-\usepackage[most]{tcolorbox}
 \usetikzlibrary{hobby}
-\usepackage[french]{babel}
 \usepackage{siunitx}
 \usepackage{graphics}
 \usepackage{hvlogos}
@@ -21,40 +18,6 @@
 \usepackage{hyperref}
 \hypersetup{pdfborder=0 0 0}
 
-\usepackage{listings}
-
-\lstset{%
-	classoffset = 0,%
-	language     = [LaTeX]TeX,%
-	basicstyle   = \ttfamily,%
-	breaklines = true,%
-	commentstyle =\color{gray},%
-	columns=fullflexible,%
-	keepspaces,
-	frame=tb,%
-	%texcsstyle=*\color{blue},%pour colorer la contre-oblique
-	alsoletter={\\},%
-	keywordstyle=\color{blue},%
-	emph=[1]{tkz,ProfLycee,ProfCollege},%
-	emphstyle=[1]{\color{blue}},%
-	emph=[3]{beamer},%
-	emphstyle=[3]{\color{red}},%
-	classoffset=1,%
-	keywords={Ecran},%
-	keywordstyle=\color{green},%
-	classoffset=0,%
-	literate=*{[}{{\textcolor{orange}{[}}}{1}
-	{]}{{\textcolor{orange}{]}}}{1}
-	{\{}{\textcolor{amber}{\{}}{1}
-	{\}}{\textcolor{amber}{\}}}{1}
-	{\&}{\textcolor{red}{\&}}{1}
-	{\\[}{{\textcolor{purple}{\textbackslash[}}}{2}
-	{\\]}{{\textcolor{purple}{\textbackslash]}}}{2}
-	{$}{{\textcolor{purple}{\$}}}{1}%$
-	{_}{{\textcolor{purple}{\_}}}{1}%
-	{^}{{\textcolor{purple}{\^{}}}}{1}%,
-}
-
 \usepackage{minted}
 \sisetup{locale=FR}
 \usepackage{geometry}
@@ -172,7 +135,7 @@
 		{\ttfamily c pierquet -- at -- outlook . fr}
 	\end{tabular}
 }
-\date{Version 1.0.2 -- 13 Février 2022}
+\date{Version 1.0.5 -- 16 Février 2022}
 
 \newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}}
 
@@ -189,7 +152,7 @@
 \noindent Quelques commandes (dans des environnements \TikZ) pour faciliter l'utilisation
 	de \LaTeX{} pour les enseignants de mathématiques en lycée.\\
 
-\bigskip
+\newpage
 
 \tableofcontents
 
@@ -205,7 +168,20 @@
 
 \medskip
 
-L'idée est donc de conserver l'idée de \Cle{Clés} qui sont :
+Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee\}}.
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\documentclass{article}
+\usepackage[french]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{ProfLycee}
+...
+\end{minted}
+
+\medskip
+
+L'idée est de conserver l'idée de \Cle{Clés} qui sont :
 %
 \begin{itemize}
 	\item modifiables ;
@@ -633,7 +609,7 @@
 	\paramCF[titre=true,couleurcmd=olive,couleurres=orange]
 	\ligneCF{COMMANDE 1}{RÉSULTAT 1}
 	\ligneCF{\texttt{(x+1)\chap2}}{$\mathtt{x^2+2x+1}$}
-	\ligneCF[HC=1,HR=1]{\textsf{Dérivée[(x+5)*exp(-0.1*x)]}}{$\mathsf{\rightarrow (0.5-0.1*x)*exp(-0.1*x)}$}
+	\ligneCF[hc=1,hr=1.25]{\textsf{Dérivée[(x+5)*exp(-0.1*x)]}}{$\mathsf{\rightarrow (0.5-0.1*x)*exp(-0.1*x)}$}
 \end{tikzpicture}
 \end{minted}
 
@@ -705,8 +681,14 @@
 	\item charger du code python, et éventuellement l'utiliser dans la console.
 \end{itemize}
 
-\subsection{Présentation de code Python}
+\medskip
 
+\textbf{Attention : }il faut dans ce cas une compilation en plusieurs parties, comme par exemple \textsf{pdflatex puis pythontex puis pdflatex} !
+
+Voir par exemple \url{http://lesmathsduyeti.fr/fr/informatique/latex/pythontex/} !
+
+\subsection{Présentation de code Python via pythontex}
+
 L'environnement \ctex{\textbackslash envcodepythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code python, dans une \ctex{colorbox} avec un style particulier. 
 
 \begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
@@ -763,6 +745,70 @@
 
 \newpage
 
+\subsection{Présentation de code Python via minted}
+
+Pour celles et ceux qui ne sont pas à l'aise avec le \textsf{package} \ctex{pythontex} et notamment sa spécificité pour compiler, il existe le \textsf{package} \ctex{minted} qui permet de présenter du code, et notamment python (il nécessite quand même une compilation avec l'option \ctex{--shell-escape} ou \ctex{-write18}).
+
+\medskip
+
+L'environnement \ctex{\textbackslash envcodepythonminted} permet de présenter du code python, dans une \ctex{colorbox} avec un style (\textit{minted}) particulier.
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\begin{envcodepythonminted}(*)[largeur][options]
+...
+\end{envcodepythonminted}
+\end{minted}
+
+Plusieurs \Cle{arguments} (optionnels) sont disponibles :
+
+\begin{itemize}
+	\item la version \textit{étoilée} qui permet de 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}
+\end{itemize}
+
+\medskip
+
+Ainsi le code :
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{envcodepythonminted}[12cm][center]
+	#environnement Python(minted) centré avec numéros, de largeur 12cm
+	def f(x) :
+		return x**2
+\end{envcodepythonminted}
+\end{minted}
+
+produira :
+
+\begin{envcodepythonminted}[12cm][center]
+	#environnement Python(minted) centré avec numéros
+	def f(x) :
+		return x**2
+\end{envcodepythonminted}
+
+\medskip
+
+Et le code :
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{envcodepythonminted}*[0.8\linewidth][]
+	#environnement Python(minted) sans numéro, de largeur 0.8\linewidth
+	def f(x) :
+		return x**2
+\end{envcodepythonminted}
+\end{minted}
+
+produira :
+
+\begin{envcodepythonminted}*[0.8\linewidth][]
+	#environnement Python(minted) sans numéro, de largeur 0.8\linewidth
+	def f(x) :
+		return x**2
+\end{envcodepythonminted}
+
+\newpage
+
 \subsection{Console d'exécution Python}
 
 \ctex{pythontex} permet également de \textit{simuler} (en exécutant également !) du code python dans une \textit{console}.
@@ -833,157 +879,183 @@
 
 \newpage
 
+\section{Pseudo-Code}
+
+\subsection{Introduction}
+
+Le \textsf{package} \ctex{listings} permet d'insérer et de présenter du code, et avec \ctex{tclorobx} 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érente\ldots
+
+\subsection{Présentation de Pseudo-Code}
+
+L'environnement \ctex{\textbackslash envpseudocode} (chargé par \ctex{ProfLycee} permet de présenter du (pseudo-code) dans une \ctex{tcolorbox}.
+
+\smallskip
+
+De plus, le package \ctex{listings} avec \ctex{tcolorbox} ne permet pas de gérer le paramètre \textit{autogobble}, donc il faudra être vigilant quant à la position du code (pas de tabulation en fait\ldots)
+
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
+\begin{envpseudocode}(*)[largeur][options]
+%attention à l'indentation, gobble ne fonctionne pas...
+...
+\end{envpseudocode}
+\end{minted}
+
+Plusieurs \Cle{arguments} (optionnels) sont disponibles :
+
+\begin{itemize}
+	\item la version \textit{étoilée} qui permet de 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}
+\end{itemize}
+
+\medskip
+
+Ainsi le code :
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{envpseudocode}
+%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
+	Afficher(List[i])
+FinPour
+\end{envpseudocode}
+\end{minted}
+
+produira :
+
+\begin{envpseudocode}
+List = [...]          # à déclarer au préalable
+n = longueur(List)
+Pour i allant de 0 à n-1 Faire
+	Afficher(List[i])
+FinPour
+\end{envpseudocode}
+
+\medskip
+
+Et le code :
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{envpseudocode}*[15cm][center]
+%centré, de largeur 15cm sans ligne
+List = [...]          # à déclarer au préalable
+n = longueur(List)
+Pour i allant de 0 à n-1 Faire
+	Afficher(List[i])
+FinPour
+\end{envpseudocode}
+\end{minted}
+
+produira :
+
+\begin{envpseudocode}*[15cm][center]
+List = [...]          # à déclarer au préalable
+n = longueur(List)
+Pour i allant de 0 à n-1 Faire
+	Afficher(List[i])
+FinPour
+\end{envpseudocode}
+
+\newpage
+
+\section{Terminal Windows/UNiX/OSX}
+
+\subsection{Introduction}
+
+L'idée des \textsf{commandes} suivantes est de permettre de simuler des fenêtres de \textsf{Terminal}, que ce soit pour Windows, Ubuntu ou OSX.
+
+\smallskip
+
+Le \textsf{contenu} est géré par le package \ctex{listings}, sans langage particulier, et donc sans coloration syntaxique particulière.
+
+\smallskip
+
+Comme pour le pseudo-code, pas d'\textsf{autogobble}, donc commandes à aligner à gauche !
+
+\subsection{Commandes}
+
+Les (trois) environnements disponibles sont :
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{PLtermwin}[largeur]{titre=...}[options]
+...
+
+\begin{PLtermunix}[largeur]{titre=...}[options]
+...
+
+\begin{PLtermosx}[largeur]{titre=...}[options]
+...
+\end{minted}
+
+Peu d'options pour ces commandes :
+
+\begin{itemize}
+	\item le premier, optionnel, est la \Cle{largeur} de la \ctex{tcbox} ;\hfill{}défaut \Cle{\textbackslash linewidth}
+	\item le deuxième, mandataire, permet de spécifier le titre par la clé \Cle{titre}.\hfill{}défaut \Cle{Terminal Windows/UNiX/OSX}
+	\item le troisième, optionnel, concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcolorbox}.\hfill{}défaut \Cle{vide}
+\end{itemize}
+
+\medskip
+
+Ainsi le code :
+
+\begin{minted}[frame=lines,framesep=2mm,bgcolor=lightgray!5,fontsize=\footnotesize,tabsize=4]{tex}
+\begin{PLtermwin}[15cm]{} %largeur 15cm avec titre par défaut
+Microsoft Windows [version 10.0.22000.493]
+(c) Microsoft Corporation. Tous droits réservés.
+
+C:\Users\test>ping -c 2ctan.org
+Envoi d'une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données :
+\end{PLtermwin}
+
+\begin{PLtermunix}[12cm]{titre=Terminal Ubuntu}[center] %12cm, avec titre modifié et centré
+test at DESKTOP:~$ ping -c 2 ctan.org
+PING ctan.org (5.35.249.60) 56(84) bytes of data.
+\end{PLtermunix}
+
+\begin{PLtermosx}[0.5\linewidth]{titre=Terminal MacOSX}[flush right] %1/2-largeur et titre modifié et droite
+[test at server]$ ping -c 2 ctan.org
+PING ctan.org (5.35.249.60) 56(84) bytes of data.
+\end{PLtermosx}
+\end{minted}
+
+produira :
+
+\begin{PLtermwin}[15cm]{}
+Microsoft Windows [version 10.0.22000.493]
+(c) Microsoft Corporation. Tous droits réservés.
+
+C:\Users\test>ping -c 2ctan.org
+Envoi d'une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données :
+\end{PLtermwin}
+
+\begin{PLtermunix}[12cm]{titre=Terminal Ubuntu}[center]
+test at DESKTOP:~$ ping -c 2 ctan.org
+PING ctan.org (5.35.249.60) 56(84) bytes of data.
+\end{PLtermunix}
+
+\begin{PLtermosx}[0.5\linewidth]{titre=Terminal MacOSX}[flush right]
+[test at server]$ ping -c 2 ctan.org
+PING ctan.org (5.35.249.60) 56(84) bytes of data.
+\end{PLtermosx}
+
+\newpage
+
 \section{Historique}
 
-{\small \bverb|v1.0.2| : Ajout des environnements pour Python
+{\small \bverb|v1.0.5|  : Ajout d'un environnement pour Python (minted)
 
-{\small \bverb|v1.0.1| : Modification mineure liée au chargement de \ctex{xcolor}
+{\small \bverb|v1.0.4|  : Ajout des environnements pour Terminal (win, osx, unix)
 
-{\small \bverb|v1.0  | : Version initiale}
+{\small \bverb|v1.0.3|  : Ajout des environnements pour PseudoCode
 
-%\newpage
-%
-%\section{Codes du package splinetikz.sty}
-%
-%\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
-%\NeedsTeXFormat{LaTeX2e}
-%\ProvidesPackage{splinetikz}[2022/02/10 - v1.0 - Splines cubiques, en TikZ]
-%
-%%------Packages utiles
-%\RequirePackage[dvipsnames,table]{xcolor}
-%\RequirePackage{tikz}
-%\RequirePackage{pgf,pgffor,pgfplots}
-%\pgfplotsset{compat=1.18}
-%\RequirePackage{ifthen}
-%\RequirePackage{xkeyval}
-%\RequirePackage{xfp}
-%\RequirePackage{xstring}
-%\RequirePackage{simplekv}
-%\RequirePackage{listofitems}
-%\RequirePackage{xintexpr}
-%\usetikzlibrary{decorations.pathreplacing}
-%\usetikzlibrary{decorations.markings}
-%\usetikzlibrary{arrows.meta}
-%\end{minted}
-%
-%\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
-%%------commande utile pour extraire des infos d'une liste
-%\newcommand\extractcoeff[2]{% #1=liste & #2=numero
-%	\setsepchar{§}%
-%	\readlist\lcoeffs{#1}
-%	\ifnum \lcoeffslen=1
-%		\def\COEFFA{#1}
-%		\def\COEFFB{#1}
-%	\else
-%		\itemtomacro\lcoeffs[#2]\COEFF
-%		\IfSubStr{\COEFF}{/}%
-%			{\StrCut{\COEFF}{/}{\COEFFA}{\COEFFB}}%
-%			{\def\COEFFA{\COEFF}\def\COEFFB{\COEFF}}
-%	\fi
-%}
-%\end{minted}
-%
-%\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex}
-%%------tangente(s) en TikZ, avec point/dérivée ou liste points/dérivées
-%\defKV[tgte]{%
-%	liste=\def\TGTliste{#1},%
-%	width=\def\TGTepaisseur{#1},%
-%	couleur=\def\TGTcouleur{#1},%
-%	xl=\def\TGTXL{#1},%
-%	xr=\def\TGTXR{#1},%
-%	style=\def\TGTstyle{#1},%
-%	point=\def\TGTnumpt{#1}
-%}
-%
-%\setKVdefault[tgte]{
-%	liste=,%
-%	width=1.25pt,%
-%	couleur=red,%
-%	xl=0.5,xr=0.5,%
-%	style=,%
-%	point=1
-%}
-%
-%\newcommand\tangentetikz[1][]{%
-%	\useKVdefault[tgte]%
-%	\setKV[tgte]{#1}% on paramètres les nouvelles clés et on les simplifie
-%	\setsepchar[.]{§./}%
-%	\readlist\TGTlistepoints\TGTliste
-%	\itemtomacro\TGTlistepoints[\TGTnumpt,1]\xa
-%	\itemtomacro\TGTlistepoints[\TGTnumpt,2]\ya
-%	\itemtomacro\TGTlistepoints[\TGTnumpt,3]\fprimea
-%	\def\TGTDEB{\fpeval{\xa-\TGTXL}}\def\TGTFIN{\fpeval{\xa+\TGTXR}}%
-%	\draw[line width=\TGTepaisseur,\TGTcouleur,domain=\TGTDEB:\TGTFIN,\TGTstyle] plot (\x,{\fprimea*(\x-\xa)+\ya}) ;%
-%}
-%\end{minted}
-%
-%\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2,breaklines]{tex}
-%%------splines en tikz avec ..controls
-%\defKV[spline]{%
-%	liste=\def\SPLliste{#1},%
-%	width=\def\SPLepaisseur{#1},%
-%	couleur=\def\SPLcouleur{#1},%
-%	coeffs=\def\SPLcoeffs{#1},%
-%	couleurpoints=\def\SPLcouleurpoints{#1},%
-%	taillepoints=\def\SPLtaillepoints{#1},%
-%	style=\def\SPLstyle{#1}
-%}
-%
-%\setKVdefault[spline]{%
-%	liste=,%
-%	width=1.25pt,%
-%	couleur=red,%
-%	coeffs=3,%
-%	couleurpoints=black,%
-%	taillepoints=2pt,%
-%	affpoints=false,%
-%	style=
-%}
-%
-%\newcommand\splinetikz[1][]{%
-%	\useKVdefault[spline]
-%	\setKV[spline]{#1}% on paramètres les nouvelles clés et on les simplifie
-%	%on lit la liste des points/nbderivés et on stocke dans \listepoints
-%	\setsepchar[.]{§./}
-%	\readlist\SPLlistepoints\SPLliste
-%	\def\SPLnbsplines{\inteval{\SPLlistepointslen-1}}
-%	%si uniquement deux points, pas de boucle...
-%	\ifnum \SPLlistepointslen=2
-%		%extraction des coeffs de compensation
-%		\extractcoeff{\SPLcoeffs}{1}
-%		%extraction des coordonnées
-%		\itemtomacro\SPLlistepoints[1,1]\xa
-%		\itemtomacro\SPLlistepoints[1,2]\ya
-%		\itemtomacro\SPLlistepoints[1,3]\fprimea
-%		\itemtomacro\SPLlistepoints[2,1]\xb
-%		\itemtomacro\SPLlistepoints[2,2]\yb
-%		\itemtomacro\SPLlistepoints[2,3]\fprimeb
-%		\draw[line width=\SPLepaisseur,\SPLcouleur,\SPLstyle] (\xa,\ya) ..controls +({atan \fprimea}:{(\xb-\xa)/\COEFFA}) and +({-180 + atan \fprimeb}:{(\xb-\xa)/\COEFFA}).. (\xb,\yb) ;%
-%	%sinon on construit bout par bout !
-%	\else
-%		\foreach \i in {1,2,...,\SPLnbsplines}{
-%			%extraction des coeffs de compensation
-%			\extractcoeff{\SPLcoeffs}{\i}
-%			\def\j{\inteval{\i+1}}
-%			\itemtomacro\SPLlistepoints[\i,1]\xa
-%			\itemtomacro\SPLlistepoints[\i,2]\ya
-%			\itemtomacro\SPLlistepoints[\i,3]\fprimea
-%			\itemtomacro\SPLlistepoints[\j,1]\xb
-%			\itemtomacro\SPLlistepoints[\j,2]\yb
-%			\itemtomacro\SPLlistepoints[\j,3]\fprimeb
-%			\draw[line width=\SPLepaisseur,\SPLcouleur,\SPLstyle] (\xa,\ya) ..controls +({atan \fprimea}:{(\xb-\xa)/\COEFFA}) and +({-180 + atan \fprimeb}:{(\xb-\xa)/\COEFFB}).. (\xb,\yb) ;%
-%		}
-%	\fi
-%	\ifboolKV[spline]{affpoints}%on affiche les points de contrôle
-%	{%
-%		\foreach \i in {1,2,...,\SPLlistepointslen}{%
-%			\itemtomacro\SPLlistepoints[\i,1]\xa
-%			\itemtomacro\SPLlistepoints[\i,2]\ya
-%			\filldraw[\SPLcouleurpoints] (\xa,\ya) circle[radius=\SPLtaillepoints] ;%
-%		}
-%	}
-%	{}
-%}
-%\end{minted}
+{\small \bverb|v1.0.2|  : Ajout des environnements pour Python (pythontex)
 
+{\small \bverb|v1.0.1|  : Modification mineure liée au chargement de \ctex{xcolor}
+
+{\small \bverb|v1.0  |  : Version initiale}
+
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2022-02-16 21:17:47 UTC (rev 62044)
+++ trunk/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty	2022-02-16 21:18:00 UTC (rev 62045)
@@ -3,7 +3,10 @@
 % or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2022/02/13 - v1.0.2 - Aide pour l'utilisation de LaTeX en lycée]
+\ProvidesPackage{ProfLycee}[2022/02/16 - v1.0.5 - Aide pour l'utilisation de LaTeX en lycée]
+% 1.0.5 Environnement code python avec minted
+% 1.0.4 Environnement pour simuler terminal windows & linux
+% 1.0.3	Environnement pour présenter du pseudocode
 % 1.0.2	Environnement pour présenter du code python (avec pythontex)
 % 1.0.1	Modif mineure du chargement de xcolor (compatibilité avec d'autres packages notamment...)
 % 1.0	Version initiale
@@ -10,9 +13,12 @@
 
 %------Packages utiles
 \RequirePackage[table,svgnames]{xcolor}%Gestion des couleurs
+\RequirePackage{amssymb}
 \RequirePackage{tikz}
 \RequirePackage{pgf,pgffor}
 \RequirePackage{ifthen}
+\RequirePackage{environ}
+\RequirePackage{xparse}
 \RequirePackage{xkeyval}
 \RequirePackage{xfp}
 \RequirePackage{xstring}
@@ -19,6 +25,7 @@
 \RequirePackage{simplekv}
 \RequirePackage{listofitems}
 \RequirePackage{xintexpr}
+\RequirePackage{tabularray}
 \RequirePackage{fontawesome5}
 %librairies tikz
 \usetikzlibrary{calc}
@@ -248,7 +255,6 @@
 		{}
 }
 
-
 %=========CONSOLEPYTHON=========== OK !!
 \defKV[envpythonconsole]{%
 	largeur=\def\CSPYlargeur{#1},%
@@ -309,7 +315,7 @@
 			top=2pt,bottom=1pt,left=6pt,right=6pt
 		},
 		fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
-		title={\scriptsize\faPython}\:Code Python\vphantom{/},
+		title={\scriptsize\faPython}\:Code Python\vphantom{p},
 		watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50,
 	}
 }
@@ -358,4 +364,284 @@
 	\verbcenterpost
 }
 
+%=========PYTHONMINTED========= OK !!
+\tcbuselibrary{minted}
+
+\tcbset{pytmintedno/.style={%
+	listing engine=minted,minted style=colorful,
+	minted language=python,listing only,
+	minted options={tabsize=4,fontsize=\small,autogobble},
+	}
+}
+
+\tcbset{pytminted/.style={%
+	listing engine=minted,minted style=colorful,
+	minted language=python,listing only,
+	minted options={tabsize=4,fontsize=\small,autogobble,xleftmargin=16pt,linenos,numbersep=10pt},
+	}
+}
+
+\DeclareTCBListing{envcodepythonminted}{ s O{12cm} O{} }{% étoilée sans numéro, taille puis option...
+	\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,%
+	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
+	},
+	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}}
+}
+
+%=========PSEUDOCODE=========== OK !!
+\ifluatex
+	\tcbuselibrary{listings}
+	\lstdefinelanguage{langnat}{%
+		keywords={},
+		inputencoding=utf8,
+		comment=[l]{}}
+\else
+	\tcbuselibrary{listingsutf8}
+	\lstdefinelanguage{langnat}{%
+		keywords={},
+		inputencoding=utf8/latin1,
+		comment=[l]{}}
+\fi
+
+%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{envpseudocode}{ 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}
+\definecolor{PLmgray}{RGB}{70,72,67}
+\definecolor{PLogray}{RGB}{148,147,141}
+\definecolor{PLoorange}{RGB}{233,101,56}
+\definecolor{PLterminal}{RGB}{80,78,70}
+\definecolor{PLlinux}{RGB}{0,39,51}
+\definecolor{PLwinblue}{HTML}{1883D7}
+\definecolor{PLosxgray}{HTML}{D8D6D9}
+
+%WINDOWS
+\tcbset{PLfaketermwin/.style={%
+		enhanced,boxrule=1pt,sharp corners,before skip=12pt,after skip=12pt,%
+		colframe=PLwinblue,colback=black,colbacktitle=white,colupper=white,coltitle=black,%
+		titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,%
+		fonttitle=\bfseries\small\sffamily
+	}
+}
+
+\setKVdefault[fakeTERMwin]{titre={Terminal Windows}}
+
+\newcommand\PLcommandeswin{%
+	\begin{tikzpicture}[thick,scale=0.66]
+		\draw (0,0)--(1em,0) ; \draw (2em,0) rectangle (3em,1em) ; \draw (4em,1em)--(5em,0) (4em,0)--(5em,1em) ;
+	\end{tikzpicture}%
+}
+
+\newcommand\termwintitre[1][]{%
+	\restoreKV[fakeTERMwin]
+	\setKV[fakeTERMwin]{#1}
+	\begin{tblr}{colsep=0pt,rowsep=0pt,width=\linewidth,colspec={X[l]r}}
+		{\footnotesize\faTerminal}~~\useKV[fakeTERMwin]{titre} & \PLcommandeswin \\ %
+	\end{tblr}
+}
+
+\DeclareTCBListing{PLtermwin}{ O{\linewidth} m !O{} }{%[taille] puis {titre=...} puis [option]
+	PLfaketermwin,title={\termwintitre[#2]},%
+	listing only,listing engine=listings,%
+	listing options={style=tcblatex,language={},basicstyle=\footnotesize\ttfamily},%
+	width=#1,#3
+}
+
+%LINUX
+\newcommand{\PLUbuntuWhite}{%
+	\begin{tikzpicture}[thick,anchor=base,baseline]
+		\filldraw[PLmgray] (0,0.25em) circle[radius=0.5em] ;
+	\end{tikzpicture}%
+}
+\newcommand{\PLUbuntuMin}{%
+	\begin{tikzpicture}[thick,anchor=base,baseline]
+		\filldraw[color=PLogray!50!white] (0,0.25em) circle[radius=0.5em];
+		\draw[PLterminal](-0.35em,0.25em)--(0.35em,0.25em);
+	\end{tikzpicture}%
+}
+\newcommand{\PLUbuntuClose}{%
+	\begin{tikzpicture}[thick,anchor=base,baseline]
+		\filldraw[color=PLoorange!70!white] (0,0.25em) circle[radius=0.5em];
+		\draw[PLterminal] (-0.32em,-0.07em)--(0.32em,0.57em);
+		\draw[PLterminal] (-0.32em,0.57em)--(0.32em,-0.07em);
+	\end{tikzpicture}%
+}
+\newcommand{\PLUbuntuMax}{%
+	\begin{tikzpicture}[thick,anchor=base,baseline]
+		\filldraw[color=PLogray!50!white] (0,0.25em) circle[radius=0.5em];
+		\draw[PLterminal] (-0.32em,0.5em) rectangle (0.32em,0);
+	\end{tikzpicture}%
+}
+
+\tcbset{PLtermlinux/.style={%
+		enhanced,boxrule=1pt,arc=4pt,before skip=12pt,after skip=12pt,%
+		colframe=PLmgray,colback=PLmpurple,colbacktitle=PLmgray,colupper=white,coltitle=white,%
+		titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,%
+		fonttitle=\bfseries\small\sffamily
+	}
+}
+
+\setKVdefault[fakeTERMnux]{titre={Terminal UNiX}}
+
+\newcommand\termnuxtitre[1][]{%
+	\restoreKV[fakeTERMnux]
+	\setKV[fakeTERMnux]{#1}
+	\begin{tblr}{colsep=0pt,rowsep=0pt,width=\linewidth,colspec={lX[c]r}}
+		\PLUbuntuWhite~~\PLUbuntuWhite~~\PLUbuntuWhite & \vphantom{p}\useKV[fakeTERMnux]{titre} & \PLUbuntuMin~~\PLUbuntuMax~~\PLUbuntuClose \\
+	\end{tblr}
+}
+
+\DeclareTCBListing{PLtermunix}{ O{\linewidth} m !O{} }{%[taille] puis {titre=...} puis [option]
+	PLtermlinux,title={\termnuxtitre[#2]},%
+	listing only,listing engine=listings,%
+	listing options={style=tcblatex,language={},basicstyle=\footnotesize\ttfamily},%
+	width=#1,#3
+}
+
+%OSX
+\tcbset{PLfaketermosx/.style={%
+	enhanced,boxrule=1pt,arc=6pt,before skip=12pt,after skip=12pt,%
+	colframe=PLosxgray,colback=lightgray!15,colbacktitle=PLosxgray,colupper=black,coltitle=black,%
+	titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,%
+	fonttitle=\bfseries\small\sffamily
+	}
+}
+
+\newcommand{\PLOSXRed}{%
+	\begin{tikzpicture}[thick,anchor=base,baseline]
+		\filldraw[red] (0,0.25em) circle[radius=0.45em] ;
+	\end{tikzpicture}%
+}
+
+\newcommand{\PLOSXOrange}{%
+	\begin{tikzpicture}[thick,anchor=base,baseline]
+		\filldraw[orange] (0,0.25em) circle[radius=0.45em] ;
+	\end{tikzpicture}%
+}
+
+\newcommand{\PLOSXGreen}{%
+	\begin{tikzpicture}[thick,anchor=base,baseline]
+		\filldraw[ForestGreen] (0,0.25em) circle[radius=0.45em] ;
+	\end{tikzpicture}%
+}
+
+\newcommand{\PLOSXLG}{%
+	\begin{tikzpicture}[thick,anchor=base,baseline]
+		\filldraw[PLosxgray] (0,0.25em) circle[radius=0.45em] ;
+	\end{tikzpicture}%
+}
+
+\setKVdefault[fakeTERMosx]{titre={Terminal OSX}}
+
+\newcommand\termosxtitre[1][]{%
+	\restoreKV[fakeTERMosx]
+	\setKV[fakeTERMosx]{#1}
+	\begin{tblr}{colsep=0pt,rowsep=0pt,width=\linewidth,colspec={lX[c]r}}
+		\PLOSXRed~\PLOSXOrange~\PLOSXGreen & \vphantom{p}\useKV[fakeTERMosx]{titre} & \PLOSXLG~\PLOSXLG~\PLOSXLG \\
+	\end{tblr}
+}
+
+\DeclareTCBListing{PLtermosx}{ O{\linewidth} m !O{} }{%[taille] puis {titre=...} puis [option]
+	PLfaketermosx,title={\termosxtitre[#2]},%
+	listing only,listing engine=listings,%
+	listing options={style=tcblatex,language={},basicstyle=\footnotesize\ttfamily},%
+	width=#1,#3
+}
+
 \endinput
\ No newline at end of file



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