Advertisement
cpierquet

tcboxpython

Jul 11th, 2021 (edited)
905
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 3.99 KB | None | 0 0
  1. \documentclass[12pt,a4paper]{article}
  2. \usepackage[french]{babel}
  3. \usepackage[utf8]{inputenc}
  4. \usepackage[T1]{fontenc}
  5. \usepackage[upright]{fourier}
  6. \usepackage{amsmath,amssymb,amstext}
  7. \usepackage[scaled=0.875]{helvet}
  8. \renewcommand\ttdefault{lmtt}
  9. \usepackage{fontawesome5}
  10. \usepackage[table,dvipsnames]{xcolor}
  11. \usepackage{tcolorbox}
  12. \tcbuselibrary{skins}
  13. \tcbuselibrary{xparse}
  14. \tcbuselibrary{raster}
  15. \tcbuselibrary{minted}
  16.  
  17. \usepackage{pythontex}
  18. \setpythontexlistingenv{pythont}
  19. \newenvironment{consolepython}[1][\linewidth]{%
  20.     \begin{center}
  21.         \begin{minipage}{#1}
  22.         }
  23.         {
  24.         \end{minipage}
  25.     \end{center}
  26. }
  27.  
  28. \newenvironment{envconsolepython}[1][\linewidth]{%
  29.     \VerbatimEnvironment
  30.     \begin{center}
  31.         \begin{minipage}{#1}
  32.             \begin{pyconsole}[][framesep=3mm,frame=single,label={[\scriptsize Début de la console python]\scriptsize Fin de la console python},fontsize=\footnotesize,framerule=1pt,rulecolor=\color{ForestGreen}]
  33.             }
  34.             {
  35.             \end{pyconsole}
  36.         \end{minipage}
  37.     \end{center}
  38. }
  39.  
  40. %style tcbox pythoncode avec bannière hautdroite
  41. \tcbset{stylepythoncode/.style={%
  42.     enhanced,center,boxrule=1.25pt,%
  43.     %sharp corners=all,rounded corners=southeast,%
  44.     sharp corners=downhill,arc=12pt,
  45.     before skip=12pt,after skip=12pt,%
  46.     leftupper=25pt,top=10pt,bottom=1mm,rightupper=4pt,%
  47.     attach boxed title to top right={yshift=-\tcboxedtitleheight},
  48.     boxed title style={
  49.         size=small,colback=ForestGreen!25,boxrule=1.25pt,
  50.         colframe=Green,boxsep=1.25pt,
  51.         sharp corners=downhill,
  52.         arc=12pt,
  53.         top=2pt,bottom=1pt,left=6pt,right=6pt
  54.     },
  55.     fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
  56.     title={\scriptsize\faPython}\:Code Python\vphantom{y},
  57.     watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50
  58.     }
  59. }
  60.  
  61. %boîte tcbox + pythoncode
  62. \newtcolorbox{tcpythoncode}[1][\linewidth]{%
  63.     width=#1,stylepythoncode,colframe=Green,colback=ForestGreen!5,%
  64.     fontlower=\small,%
  65.     before upper = \renewcommand{\theFancyVerbLine}{\scriptsize\ttfamily\color{Green}\arabic{FancyVerbLine}}}
  66.  
  67. \newtcblisting{pythonminted}[2][\linewidth]{%
  68.     listing engine=minted,minted style=colorful,
  69.     minted language=python,listing only,
  70.     minted options={tabsize=4,fontsize=\small,#2},
  71.     width=#1,colframe=Green,colback=ForestGreen!5,%
  72.     enhanced,center,boxrule=1.25pt,
  73.     sharp corners=downhill,arc=12pt,
  74.     before skip=12pt,after skip=12pt,%
  75.     leftupper=8pt,top=10pt,bottom=4pt,rightupper=4pt,%
  76.     attach boxed title to top right={yshift=-\tcboxedtitleheight},
  77.     boxed title style={
  78.         size=small,colback=ForestGreen!25,boxrule=1.25pt,
  79.         colframe=Green,boxsep=1.25pt,
  80.         sharp corners=downhill,
  81.         arc=12pt,
  82.         top=2pt,bottom=1pt,left=6pt,right=6pt
  83.     },
  84.     fonttitle=\color{ForestGreen}\itshape\ttfamily\footnotesize,
  85.     title={\scriptsize\faPython}\:Code Python\vphantom{y},
  86.     watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50
  87. }
  88.  
  89. \usepackage{fvextra}
  90.  
  91. \newenvironment{envpython}[1][15cm]{%
  92.     \VerbatimEnvironment
  93.     \begin{tcpythoncode}[#1]
  94.         \begin{pyverbatim}[][fontsize=\footnotesize,numbers=left,numbersep=10pt,commandchars=\\\{\},mathescape]
  95.         }
  96.         {
  97.         \end{pyverbatim}%
  98.     \end{tcpythoncode}%
  99. }
  100.  
  101. \begin{document}
  102.  
  103. {\Huge PYTHONTEX + TCBOX}
  104.  
  105. \bigskip
  106.  
  107. \begin{tcpythoncode}[15cm]
  108. \begin{pyverbatim}[][fontsize=\footnotesize,numbers=left,numbersep=10pt]
  109. # Calcul de alpha et de beta
  110. from math import *
  111. def formecanonique(a,b,c):
  112.     alpha = -b/(2*a)
  113.     beta = a*alpha**2 + b*alpha + c
  114.     return alpha, beta
  115. \end{pyverbatim}
  116. \end{tcpythoncode}
  117.  
  118. \begin{pyconcode}
  119. # Calcul de alpha et de beta
  120. from math import *
  121. def formecanonique(a,b,c):
  122.     alpha = -b/(2*a)
  123.     beta = a*alpha**2 + b*alpha + c
  124.     return alpha, beta
  125.  
  126.  
  127. \end{pyconcode}
  128.  
  129. \begin{envconsolepython}[15cm]
  130. formecanonique(-3,-5,2)
  131. \end{envconsolepython}
  132.  
  133. \bigskip
  134.  
  135. {\Huge MINTED + TCBOX}
  136.  
  137. \begin{pythonminted}[10cm]{autogobble}
  138. # Calcul de alpha et de beta
  139. from math import *
  140. def formecanonique(a,b,c):
  141.     alpha = -b/(2*a)
  142.     beta = a*alpha**2 + b*alpha + c
  143.     return alpha, beta
  144. \end{pythonminted}
  145.  
  146. \end{document}
  147.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement