summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-02-08 21:00:49 +0000
committerKarl Berry <karl@freefriends.org>2023-02-08 21:00:49 +0000
commit35670eff73db8009e4de2e843b88932510f90879 (patch)
tree49ec13b5a64b7e85b44fdd5ac1942b6593db2e56 /Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex
parentca1d8bda0868015697b3b464a86275bd18d84ce3 (diff)
proflycee (8feb23)
git-svn-id: svn://tug.org/texlive/trunk@65759 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex')
-rw-r--r--Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex129
1 files changed, 129 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex
new file mode 100644
index 00000000000..a27acf32489
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/proflycee/proflycee-tools-pythontex.tex
@@ -0,0 +1,129 @@
+% proflycee-tools-pythontex.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.
+
+%%------CONSOLEPYTHON
+\defKV[envpythonconsole]{%
+ Largeur=\def\CSPYlargeur{#1},%
+ Centre=\testboolKV{#1}
+ {\def\hookcenterpre{\begin{center}}\def\hookcenterpost{\end{center}}}
+ {\def\hookcenterpre{\begin{flushleft}}\def\hookcenterpost{\end{flushleft}}},%
+ TaillePolice=\def\CSPYfonte{#1},%
+ EspacementVertical=\def\CSPYstretch{#1}
+}
+
+\setKVdefault[envpythonconsole]{%
+ Largeur=\linewidth,%
+ Centre=true,%
+ Label=true,%
+ TaillePolice=\footnotesize,%
+ EspacementVertical=1
+}
+
+\newenvironment{ConsolePythontex}[1][]
+{%
+ \useKVdefault[envpythonconsole]%
+ \setKV[envpythonconsole]{#1}% on paramètres les nouvelles clés et on les simplifie
+ \VerbatimEnvironment
+ \hookcenterpre
+ \begin{minipage}{\CSPYlargeur}
+ \ifboolKV[envpythonconsole]{Label}%si label
+ {\begin{pyconsole}[][%
+ framesep=3mm,frame=single,fontsize=\CSPYfonte,framerule=1pt,rulecolor=\color{ForestGreen},label={[\scriptsize Début de la console python]\scriptsize Fin de la console python},baselinestretch=\CSPYstretch]}%
+ {\begin{pyconsole}[][%
+ framesep=3mm,frame=single,fontsize=\CSPYfonte,framerule=1pt,rulecolor=\color{ForestGreen},baselinestretch=\CSPYstretch]}
+}%
+{%
+ \end{pyconsole}
+ \end{minipage}
+ \hookcenterpost
+}
+
+%=========CODEPYTHONTEX=========== OK!!
+\defKV[envpythonverb]{%
+ Largeur=\def\CODPYlargeur{#1},%
+ TaillePolice=\def\CODPYfonte{#1},%
+ EspacementVertical=\def\CODPYstretch{#1},%
+ Centre=\testboolKV{#1}
+ {\def\verbcenterpre{\begin{center}}\def\verbcenterpost{\end{center}}}
+ {\def\verbcenterpre{}\def\verbcenterpost{}}
+}
+
+\setKVdefault[envpythonverb]{%
+ Largeur=\linewidth,%
+ Centre=true,%
+ Lignes=true,%
+ TaillePolice=\footnotesize,%
+ EspacementVertical=1
+}
+
+\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,
+ 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{p},
+ watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50,
+ }
+}
+
+\tcbset{stylepythonnolineos/.style={%
+ stylepythontex,leftupper=10pt,
+ colframe=Green,colback=ForestGreen!5,%
+ before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{Gray}\arabic{FancyVerbLine}}
+ }
+}
+
+\tcbset{stylepythonlineos/.style={%
+ stylepythontex,leftupper=25pt,
+ colframe=Green,colback=ForestGreen!5,%
+ % fontlower=\small,%
+ before upper=\renewcommand\theFancyVerbLine{\scriptsize\ttfamily\color{Gray}\arabic{FancyVerbLine}}
+ }
+}
+
+\newtcolorbox{tcpythontexcode}[1][\linewidth]{%
+ width=#1,stylepythonlineos
+}
+
+\newtcolorbox{tcpythontexcodeno}[1][\linewidth]{%
+ width=#1,stylepythonnolineos
+}
+
+\newenvironment{CodePythontex}[1][]
+{%
+ \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{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}[][numbers=none,numbersep=0pt,fontsize=\CODPYfonte,commandchars=\\\{\},mathescape,baselinestretch=\CODPYstretch]}
+}%
+{%
+ \end{pyverbatim}
+ \ifboolKV[envpythonverb]{Lignes}%si lignes=true
+ {\end{tcpythontexcode}}
+ {\end{tcpythontexcodeno}}
+ \verbcenterpost
+}
+
+\endinput