From 0e8fa1494881ebcc2a9b93c2604a19a3a71c1cf4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 19 Sep 2023 20:05:54 +0000 Subject: proflycee (19sep23) git-svn-id: svn://tug.org/texlive/trunk@68323 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/proflycee/ProfLycee-doc.tex | 158 ++++++++++++++------- 1 file changed, 109 insertions(+), 49 deletions(-) (limited to 'Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex') diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex index e81ed1e6765..ac31a71bf06 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex @@ -5,8 +5,8 @@ % arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') \documentclass[a4paper,french,11pt]{article} -\def\PLversion{2.7.4} -\def\PLdate{3 septembre 2023} +\def\PLversion{2.7.5} +\def\PLdate{19 septembre 2023} \usepackage{amsfonts} \usepackage{ProfLycee} \useproflyclib{piton,minted,pythontex,ecritures} @@ -144,12 +144,12 @@ keywordstyle={\color{violet}},% classoffset=2,% alsoletter={-},% - morekeywords={\ResolutionApprochee,\SolutionTVI,\CalculTermeRecurrence,\ToileRecurrence,\SolutionSeuil,\IntegraleApprochee,\GrilleTikz,\AxesTikz,\AxexTikz,\AxeyTikz,\FenetreTikz,\FenetreSimpleTikz,\DeclareFonctionTikz,\CourbeTikz,\OrigineTikz,\SplineTikz,\TangenteTikz,\MiniSchemaSignes,\MiniSchemaSignesTkzTab,\IntegraleApprocheeTikz,\CartoucheCapytale,\PaveTikz,\TetraedreTikz,\CercleTrigo,\AffPoint,\AffVecteur,\TrouveEqCartPlan,\TrouveEqParamDroite,\TrouveEqCartDroite,\TrouveNorme,\TrouveDistancePtPlan,\EquationReduite,\CalculsRegLin,\PointsRegLin,\NuagePointsTikz,\PointMoyenTikz,\BoiteMoustaches,\BoiteMoustachesAxe,\Histogramme,\CalcBinomP,\CalcBinomC,\BinomP,\BinomC,\CalcPoissP,\CalcPoissC,\PoissonP,\PoissonC,\CalcGeomP,\CalcGeomC,\GeomP,\GeomC,\CalcHypergeomP,\CalcHypergeomP,\HypergeomP,\HypergeomC,\CalcNormC,\NormaleC,\CalcExpoC,\ExpoC,\ArbreProbasTikz,\LoiNormaleGraphe,\LoiExpoGraphe,\NbAlea,\VarNbAlea,\TirageAleatoireEntiers,\Arrangement,\Combinaison,\ConversionDecBin,\ConversionBinHex,\ConversionVersDec,\ConversionBaseDix,\ConversionDepuisBaseDix,\PresentationPGCD,\EquationDiophantienne,\ConversionFraction,\SimplificationRacine,\EcritureEnsemble,\EcritureTrinome,\MesurePrincipale,\LigneTrigo,\SudoMaths,\FonctionRepartTikz,\IntervalleFF,\IntervalleFO,\IntervalleOF,\IntervalleOO,\RepereOij,\RepereOuv,\RepereOijk,\ReperePlan,\RepereEspace,\jfalg,\jfexp,\LoiNormale,\LoiBinomiale,\LoiPoisson,\LoiExpo,\LoiUnif,\Courbe,\Suite,\CoordPtPl,\CoordPtEsp,\CoordVecPl,\CoordVecEsp,\MatDeux,\Vecteur,\Esper,\Varianc,\EcType,\dx,\Integrale,\Modulo,\Arrondi + morekeywords={\ResolutionApprochee,\SolutionTVI,\CalculTermeRecurrence,\ToileRecurrence,\SolutionSeuil,\IntegraleApprochee,\GrilleTikz,\AxesTikz,\AxexTikz,\AxeyTikz,\FenetreTikz,\FenetreSimpleTikz,\DeclareFonctionTikz,\CourbeTikz,\OrigineTikz,\SplineTikz,\TangenteTikz,\MiniSchemaSignes,\MiniSchemaSignesTkzTab,\IntegraleApprocheeTikz,\CartoucheCapytale,\PaveTikz,\TetraedreTikz,\CercleTrigo,\AffPoint,\AffVecteur,\TrouveEqCartPlan,\TrouveEqParamDroite,\TrouveEqCartDroite,\TrouveNorme,\TrouveDistancePtPlan,\EquationReduite,\CalculsRegLin,\PointsRegLin,\NuagePointsTikz,\PointMoyenTikz,\BoiteMoustaches,\BoiteMoustachesAxe,\Histogramme,\CalcBinomP,\CalcBinomC,\BinomP,\BinomC,\CalcPoissP,\CalcPoissC,\PoissonP,\PoissonC,\CalcGeomP,\CalcGeomC,\GeomP,\GeomC,\CalcHypergeomP,\CalcHypergeomP,\HypergeomP,\HypergeomC,\CalcNormC,\NormaleC,\CalcExpoC,\ExpoC,\ArbreProbasTikz,\LoiNormaleGraphe,\LoiExpoGraphe,\NbAlea,\VarNbAlea,\TirageAleatoireEntiers,\Arrangement,\Combinaison,\ConversionDecBin,\ConversionBinHex,\ConversionVersDec,\ConversionBaseDix,\ConversionDepuisBaseDix,\PresentationPGCD,\EquationDiophantienne,\ConversionFraction,\SimplificationRacine,\EcritureEnsemble,\EcritureTrinome,\MesurePrincipale,\LigneTrigo,\SudoMaths,\FonctionRepartTikz,\IntervalleFF,\IntervalleFO,\IntervalleOF,\IntervalleOO,\RepereOij,\RepereOuv,\RepereOijk,\ReperePlan,\RepereEspace,\jfalg,\jfexp,\LoiNormale,\LoiBinomiale,\LoiPoisson,\LoiExpo,\LoiUnif,\Courbe,\Suite,\CoordPtPl,\CoordPtEsp,\CoordVecPl,\CoordVecEsp,\MatDeux,\Vecteur,\Esper,\Varianc,\EcType,\dx,\Integrale,\Modulo,\Arrondi,\CodePythonLstFichier,\CodePythonLstFichierAlt,\colorlet },% keywordstyle={\color{CouleurVertForet}},% classoffset=3,% alsoletter={-},% - morekeywords={minimum-decimal-digits,scale,nonamssymb,build,Precision,Intervalle,Variable,NomFct,NomSol,va,vb,Stretch,Balayage,Calculatrice,Majuscule,No,UNo,NomSuite,Simple,Exact,Conclusion,Sens,ResultatBrut,Methode,NbSubDiv,AffFormule,Expr,Signe,Variables,Affp,Affs,Epaisseur,Police,ElargirOx,ElargirOy,Labelx,Labely,AffLabel,PosLabelx,PosLabely,EchelleFleche,TypeFleche,PosGrad,HautGrad,AffGrad,AffOrigine,Annee,Trigo,Dfrac,Style,Coeffs,AffPoints,TaillePoints,xl,xr,Code,Racines,Largeur,Hauteur,Cadre,Fct,Nom,PosLabel,DecalLabel,TailleLabel,AffTermes,RemplirbOpacite,CouleurRemplissage,Lignes,Gobble,Alignement,Filigrane,BarreTitre,CouleurNombres,Centre,EspacementVertical,Label,Titre,Profondeur,Angle,Fuite,Sommets,Math,Aff,Plein,Cube,Alpha,Beta,Rayon,Marge,TailleValeurs,TailleAngles,CouleurFond,Decal,MoinsPi,AffAngles,AffTraits,AffValeurs,Equationcos,Equationsin,sin,cos,AffTraitsEq,CouleurSol,OptionCoeffs,SimplifCoeffs,Facteur,OptionCoeffs,Reel,Oppose,Rgras,SimplifCoeffs,VectDirecteur,NomCoeffa,NomCoeffb,NomCoeffr,NomCoeffrd,NomXmin,NomXmax,Ox,Oy,xg,yg,AffNom,Elevation,Moyenne,AffMoyenne,Pointilles,Valeurs,Elargir,Min,Max,DebutOx,FinOx,ListeCouleurs,ElargirX,ElargirY,LabelX,LabelY,GradX,GradY,AffEffectifs,PosEffectifs,Opacite,AffBornes,GrilleV,PoliceAxes,PoliceEffectifs,EpaisseurTraits,Unite,EspaceNiveau,EspaceFeuille,Type,PoliceProbas,InclineProbas,Fleche,StyleTrait,EpaisseurTrait,CouleurAire,CouleurCourbe,AfficheM,AfficheCadre,ValMin,ValMax,NbVal,Sep,Tri,Repetition,Notation,NotationAncien,Formule,AffBase,Details,BaseDep,Zeros,DecalH,DecalV,Noeud,Rect,CouleurRes,DecalRect,Rectangle,CouleurResultat,AfficheConclusion,AfficheDelimiteurs,Lettre,Inconnues,Entier,Cadres,PresPGCD,Mathpunct,Option,Alea,Anegatif,Crochets,Brut,Etapes,Epaisseurg,CouleurCase,CouleurTexte,NbSubCol,NbLig,NbCol,Legendes,PoliceLeg,ListeLegV,ListeLegH,DecalLegende,Couleur,Uno,Grille,ExtraGrilleY,PosLegende,Pointilles,Extremite,Frac},% + morekeywords={minimum-decimal-digits,scale,nonamssymb,build,Precision,Intervalle,Variable,NomFct,NomSol,va,vb,Stretch,Balayage,Calculatrice,Majuscule,No,UNo,NomSuite,Simple,Exact,Conclusion,Sens,ResultatBrut,Methode,NbSubDiv,AffFormule,Expr,Signe,Variables,Affp,Affs,Epaisseur,Police,ElargirOx,ElargirOy,Labelx,Labely,AffLabel,PosLabelx,PosLabely,EchelleFleche,TypeFleche,PosGrad,HautGrad,AffGrad,AffOrigine,Annee,Trigo,Dfrac,Style,Coeffs,AffPoints,TaillePoints,xl,xr,Code,Racines,Largeur,Hauteur,Cadre,Fct,Nom,PosLabel,DecalLabel,TailleLabel,AffTermes,RemplirbOpacite,CouleurRemplissage,Lignes,Gobble,Alignement,Filigrane,BarreTitre,CouleurNombres,Centre,EspacementVertical,Label,Titre,Profondeur,Angle,Fuite,Sommets,Math,Aff,Plein,Cube,Alpha,Beta,Rayon,Marge,TailleValeurs,TailleAngles,CouleurFond,Decal,MoinsPi,AffAngles,AffTraits,AffValeurs,Equationcos,Equationsin,sin,cos,AffTraitsEq,CouleurSol,OptionCoeffs,SimplifCoeffs,Facteur,OptionCoeffs,Reel,Oppose,Rgras,SimplifCoeffs,VectDirecteur,NomCoeffa,NomCoeffb,NomCoeffr,NomCoeffrd,NomXmin,NomXmax,Ox,Oy,xg,yg,AffNom,Elevation,Moyenne,AffMoyenne,Pointilles,Valeurs,Elargir,Min,Max,DebutOx,FinOx,ListeCouleurs,ElargirX,ElargirY,LabelX,LabelY,GradX,GradY,AffEffectifs,PosEffectifs,Opacite,AffBornes,GrilleV,PoliceAxes,PoliceEffectifs,EpaisseurTraits,Unite,EspaceNiveau,EspaceFeuille,Type,PoliceProbas,InclineProbas,Fleche,StyleTrait,EpaisseurTrait,CouleurAire,CouleurCourbe,AfficheM,AfficheCadre,ValMin,ValMax,NbVal,Sep,Tri,Repetition,Notation,NotationAncien,Formule,AffBase,Details,BaseDep,Zeros,DecalH,DecalV,Noeud,Rect,CouleurRes,DecalRect,Rectangle,CouleurResultat,AfficheConclusion,AfficheDelimiteurs,Lettre,Inconnues,Entier,Cadres,PresPGCD,Mathpunct,Option,Alea,Anegatif,Crochets,Brut,Etapes,Epaisseurg,CouleurCase,CouleurTexte,NbSubCol,NbLig,NbCol,Legendes,PoliceLeg,ListeLegV,ListeLegH,DecalLegende,Couleur,Uno,Grille,ExtraGrilleY,PosLegende,Pointilles,Extremite,Frac,PremLigne},% keywordstyle={\color{orange!75!black}} } } @@ -694,22 +694,22 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent \begin{PresCodeTexPL}{listing only} %présentation de code Python -\begin{CodePythonLst}(*)[largeur]{commandes tcbox}...\end{CodePythonLst} -\begin{CodePythonLstAlt}(*)[largeur]{commandes tcbox}...\end{CodePythonLstAlt} +\begin{CodePythonLst}(*)[clés]{commandes tcbox}...\end{CodePythonLst} +\begin{CodePythonLstAlt}(*)[clés]{commandes tcbox}...\end{CodePythonLstAlt} %:=librairie piton -\begin{CodePiton}[options piton]{commandes tcbox}...\end{CodePiton} -\begin{PitonConsole}{commandes tcbox}...\end{PitonConsole} +\begin{CodePiton}[options piton]{commandes tcbox}<1ère ligne>...\end{CodePiton} +\begin{PitonConsole}{commandes tcbox}...\end{PitonConsole} %:=librairie pythontex -\begin{CodePythontex}[options]{}...\end{CodePythontex} -\begin{CodePythontexAlt}[options]{}...\end{CodePythontexAlt} +\begin{CodePythontex}[clés]{commandes tcbox}...\end{CodePythontex} +\begin{CodePythontexAlt}[clés]{commandes tcbox}...\end{CodePythontexAlt} \begin{ConsolePythontex}[options]{}...\end{ConsolePythontex} %:=librairie minted -\begin{CodePythonMinted}(*)[largeur]{commandes tcbox}...\end{CodePythonMinted} -\begin{CodePythonMintedAlt}(*)[largeur]{commandes tcbox}...\end{CodePythonMintedAlt} +\begin{CodePythonMinted}(*)[clés]{commandes tcbox}...\end{CodePythonMinted} +\begin{CodePythonMintedAlt}(*)[largeur][clés]{commandes tcbox}...\end{CodePythonMintedAlt} %présentation de pseudocode -\begin{PseudoCode}(*)[largeur]{commandes tcbox}...\end{PseudoCode} -\begin{PseudoCodeAlt}(*)[largeur]{commandes tcbox}...\end{PseudoCodeAlt} +\begin{PseudoCode}(*)[clés]{commandes tcbox}...\end{PseudoCode} +\begin{PseudoCodeAlt}(*)[largeur][clés]{commandes tcbox}...\end{PseudoCodeAlt} \end{PresCodeTexPL} \begin{PresCodeTexPL}{listing only} @@ -2791,6 +2791,36 @@ Les commandes graphiques de \ctex{Proflycee} peuvent être utilisées pour confi \part{Présentation de codes} +\section{Précautions}\label{codenumlignes} + +\begin{tipblock} +L'idée est de proposer des environnements pour présenter du code : + +\begin{itemize} + \item \textsf{Python} ; + \item \textsf{PseudoCode}. +\end{itemize} + +Dans la mesure du possible (mis à part pour certains points avec l'utilisation des packages \ctex{piton} et \ctex{pythontex}), les environnements seront composés : + +\begin{itemize} + \item dans une boîte \ctex{tcolorbox} ; + \item de deux styles :\ctex{CodeXXXX} ou \ctex{CodeXXXXAlt} ; + \item de clés pour paramétrer la \Cle{Largeur} et le début de la numérotation \Cle{PremLigne} ; + \item d'une version étoilée pour ne pas numérotée les lignes ; + \item d'options éventuelles à donner en langage \ctex{tcolorbox}. +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{tipblock} + +\begin{warningblock} +Avec la mise à jour \cmaj{2.7.5} et la possibilité de modifier la numérotation des lignes, certains environnements ont vu leur fonctionnement légèrement modifié, donc il est conseillé d'être prudent avec les nouvelles spécificités. + +\smallskip + +Il est prévu, à plus ou moyen terme, d'uniformiser le fonctionnement de tous les environnements, mais cela demande de reprendre une bonne partie du code. +\end{warningblock} + \section{Code Python \og simple \fg{} via le package listings}\label{pythonsimple} \subsection{Introduction} @@ -2820,13 +2850,13 @@ L'environnement \ctex{CodePythonLst} permet de présenter du code \textsf{Python \end{tipblock} \begin{PresCodeTexPL}{listing only} -\begin{CodePythonLst}(*)[largeur]{commandes tcbox} +\begin{CodePythonLst}(*)[clés]{commandes tcbox} ... \end{CodePythonLst} \end{PresCodeTexPL} \begin{PresCodeTexPL}{listing only} -\begin{CodePythonLstAlt}(*)[largeur]{commandes tcbox} +\begin{CodePythonLstAlt}(*)[clés]{commandes tcbox} ... \end{CodePythonLstAlt} \end{PresCodeTexPL} @@ -2836,14 +2866,14 @@ 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 premier argument (\textit{optionnel}), concerne la \Cle{largeur} de la \ctex{tcbox} ;\hfill{}défaut \Cle{\textbackslash linewidth} + \item le premier argument (\textit{optionnel}), comprend la clé \Cle{Largeur} de la \ctex{tcbox} (\Cle{\textbackslash linewidth} par défaut) et la clé \Cle{PremLigne} (\Cle{1} par défaut) ; \item le second argument (\textit{obligatoire}), concerne des \Cle{options} de la \ctex{tcbox} en \textit{langage tcolorbox}, comme l'alignement. \end{itemize} \vspace*{-\baselineskip}\leavevmode \end{cautionblock} \begin{warningblock} -Les environnements \ctex{DeclareTCBListing} créés par \ctex{tcolorbox} et \ctex{listings} ne sont pas compatibles avec les options \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 ! +Les environnements créés par \ctex{tcolorbox} et \ctex{listings} ne sont pas compatibles avec les options \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{warningblock} \subsection{Insertion via un fichier \og externe \fg} @@ -2855,7 +2885,7 @@ Dans ce cas, il n'est pas nécessaire d'aligner le code \og à gauche \fg, en ut \smallskip -Si cette méthode est utilisée, il ne faut oublier de charger le package \ctex{scontents}. +Si cette méthode est utilisée, il ne faut oublier de charger le package \ctex{scontents}, et être attentif à la syntaxe. \end{tipblock} \begin{PresCodeTexPL}{listing only} @@ -2867,7 +2897,7 @@ Si cette méthode est utilisée, il ne faut oublier de charger le package \ctex{ \subsection{Exemples} \begin{PresCodeTexPL}{listing only} -\begin{CodePythonLst}{} %les {}, même vides, sont nécessaires (bug avec # sinon !) +\begin{CodePythonLst}{} %les {}, même vides, peuvent être nécessaires (bug avec # sinon !) #environnement par défaut nb = int(input("Saisir un entier positif")) if (nb %7 == 0) : @@ -2893,8 +2923,26 @@ def f(x) : \end{PresCodeSortiePL} \begin{PresCodeTexPL}{listing only} -\begin{CodePythonLstAlt}*[0.75\linewidth]{flush right} -#largeur de 50%, sans numéro, et aligné à droite +\begin{CodePythonLst}[PremLigne=10]{} +nb = int(input("Saisir un entier positif")) +if (nb %7 == 0) : + print(f"{nb} est bien divisible par 7") +#endif +\end{CodePythonLst} +\end{PresCodeTexPL} + +\begin{PresCodeSortiePL}{text only} +\begin{CodePythonLst}[PremLigne=10]{} +nb = int(input("Saisir un entier positif")) +if (nb %7 == 0) : + print(f"{nb} est bien divisible par 7") +#endif +\end{CodePythonLst} +\end{PresCodeSortiePL} + +\begin{PresCodeTexPL}{listing only} +\begin{CodePythonLstAlt}*[Largeur=0.75\linewidth]{flush right} +#largeur de 75%, sans numéro, et aligné à droite nb = int(input("Saisir un entier Python positif")) if (nb %7 == 0) : print(f"{nb} est bien divisible par 7") @@ -2906,7 +2954,7 @@ def f(x) : \end{PresCodeTexPL} \begin{PresCodeSortiePL}{text only} -\begin{CodePythonLstAlt}*[0.75\linewidth]{flush right} +\begin{CodePythonLstAlt}*[Largeur=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) : @@ -3012,6 +3060,8 @@ Depuis la version \ctex{0.95} de \ctex{piton}, \Cle{left-margin=auto} est dispon Depuis la version \ctex{0.99} de \ctex{piton}, \Cle{break-lines} 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}. + +Depuis la version \ctex{2.2a} de \ctex{piton}, des options pour \Cle{line-numbers} sont disponibles. \end{noteblock} \begin{warningblock} @@ -3029,7 +3079,7 @@ Ce package n'est chargé que si la compilation détectée est en \hologo{LuaLaTe \subsection{Présentation de code Python} \begin{PresCodeTexPL}{listing only} -\begin{CodePiton}[options]{options tcbox} +\begin{CodePiton}[options]{options tcbox}