diff options
author | Norbert Preining <norbert@preining.info> | 2024-02-20 03:01:19 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-02-20 03:01:19 +0000 |
commit | 203d8df9dde93676afcceb5ace315faeda77d016 (patch) | |
tree | 648ea4ae015ff2a7b20bd239d3377cca6dcabfe3 /macros/latex/contrib/pynotebook/tex/pynotebook.sty | |
parent | e11a34ebeb96a1e568cc937df3b614062ddb0adf (diff) |
CTAN sync 202402200301
Diffstat (limited to 'macros/latex/contrib/pynotebook/tex/pynotebook.sty')
-rw-r--r-- | macros/latex/contrib/pynotebook/tex/pynotebook.sty | 57 |
1 files changed, 52 insertions, 5 deletions
diff --git a/macros/latex/contrib/pynotebook/tex/pynotebook.sty b/macros/latex/contrib/pynotebook/tex/pynotebook.sty index 6a84f42a6b..f899c44b15 100644 --- a/macros/latex/contrib/pynotebook/tex/pynotebook.sty +++ b/macros/latex/contrib/pynotebook/tex/pynotebook.sty @@ -1,8 +1,10 @@ % Author : C. Pierquet +% Thanks : F. Pantigny (for helping with piton/pyluatex) % licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{pynotebook}[2024/02/15 0.1.0 Present codes like in jupyter notebook] +\ProvidesPackage{pynotebook}[2024/02/19 0.1.1 Present codes like in jupyter notebook] +%0.1.1 New block In/Out %0.1.0 Initial version %------Usefull packages and libraries @@ -108,6 +110,7 @@ \NewDocumentEnvironment{NotebookIn}{ s O{} m }% {% \SetJupyterLengths% + \addtolength{\LargeurNumbersJupyter}{0.5mm}% \noindent% \IfBooleanTF{#1}% {\tcbset{tcbjpuptitlein/.style={title=\promptjupyter*{\JupyterPromptIn}{red!75!black}{\theJupyterIn}{\hspace*{\OffsetPromptJupyter}}}}}% @@ -132,7 +135,7 @@ \NewDocumentEnvironment{NotebookConsole}{ O{} m }% {% \SetJupyterLengths% - \addtolength{\LargeurNumbersJupyter}{0.5mm} + \addtolength{\LargeurNumbersJupyter}{0.5mm}% \noindent% \tcblisting{% breakable,sharp corners=all,boxrule=0.3pt,enhanced,size=small,width=#2,tcbjpuparskip, @@ -151,7 +154,7 @@ \NewDocumentEnvironment{NotebookOut}{ s O{} m }% {% \SetJupyterLengths% - \addtolength{\LargeurNumbersJupyter}{0.5mm} + \addtolength{\LargeurNumbersJupyter}{0.5mm}% \IfBooleanTF{#1}% {\tcbset{tcbjpuptitleout/.style={title=\promptjupyter*{\JupyterPromptOut}{blue!75!black}{\theJupyterIn}{\hspace*{\OffsetPromptJupyter}}}}}% {\tcbset{tcbjpuptitleout/.style={title=\promptjupyter{\JupyterPromptOut\ifnum\value{JupyterIn}<10~\fi}{blue!75!black}{\theJupyterIn}{\hspace*{\OffsetPromptJupyter}}}}}% @@ -175,7 +178,7 @@ \NewDocumentEnvironment{NotebookRaw}{ O{} m }% {% \SetJupyterLengths% - \addtolength{\LargeurNumbersJupyter}{0.5mm} + \addtolength{\LargeurNumbersJupyter}{0.5mm}% \noindent% \tcblisting{% breakable,sharp corners=all,boxrule=0.5pt,enhanced,size=small,width=#2,tcbjpuparskip, @@ -195,7 +198,7 @@ \NewDocumentEnvironment{NotebookMarkdown}{ O{} m }% {% \SetJupyterLengths% - \addtolength{\LargeurNumbersJupyter}{0.5mm} + \addtolength{\LargeurNumbersJupyter}{0.5mm}% \noindent% \tcolorbox[breakable,sharp corners=all,boxrule=0.3pt,enhanced,size=small,width=#2,tcbjpuparskip,colframe=lightgray!15,colback=white,left skip=\LargeurPromptJupyter+\OffsetPromptJupyter-2mm, attach title to upper,fontupper=\footnotesize,tcbjpuparskip,#1]% @@ -309,6 +312,50 @@ \endtcolorbox% }% +\NewDocumentEnvironment{NotebookPitonInOut}{ s O{} m }% +{% + \PyLTVerbatimEnv% + \begin{pythonq}% +}% +{% + \end{pythonq}% + % + \SetJupiterLengths% + \IfBooleanTF{#1}% + {% + \tcbset{tcbjpuptitlein/.style={title=\promptjupyter*{\JupyterPromptIn}{red!75!black}{\theJupyterIn}{\hspace*{\OffsetPromptJupiter}}}}% + }% + {% + \refstepcounter{JupyterIn}% + \tcbset{tcbjpuptitlein/.style={title=\promptjupyter{\JupyterPromptIn\ifnum\value{JupyterIn}<10~\fi}{red!75!black}{\theJupyterIn}{\hspace*{\OffsetPromptJupiter}}}}% + }% + \noindent% + \tcolorbox[breakable,sharp corners=all,boxrule=0.5pt,enhanced,size=small,width=#3,colframe=gray,colback=lightgray!15,left skip=\LargeurPromptJupiter+\OffsetPromptJupiter-2mm,tcbjpuptitlein,fonttitle=\linespread{1}\footnotesize, + attach title to upper,fontupper=\footnotesize,overlay={\begin{tcbclipinterior}\draw[line width=0.375pt,gray!75] ([xshift={\LargeurNumbersJupiter+2.25mm}]frame.south west)--([xshift={\LargeurNumbersJupiter+2.25mm}]frame.north west) ;\end{tcbclipinterior}},bottom=-0.5mm,tcbjpuparskip,#2]% + \directlua{% + tex.print("\\begin{Piton}[left-margin=\\LargeurNumbersJupiter+1.75mm,all-line-numbers,tabs-auto-gobble,break-lines,indent-broken-lines]") + tex.print(pyluatex.get_last_code()) + tex.print("\\end{Piton}") + }% + \endtcolorbox% + \IfBooleanTF{#1}% + {% + \tcbset{tcbjpuptitleout/.style={title=\promptjupyter*{\JupyterPromptOut}{blue!75!black}{\theJupyterIn}{\hspace*{\OffsetPromptJupiter}}}}% + }% + {% + \tcbset{tcbjpuptitleout/.style={title=\promptjupyter{\JupyterPromptOut\ifnum\value{JupyterIn}<10~\fi}{blue!75!black}{\theJupyterIn}{\hspace*{\OffsetPromptJupiter}}}}% + }% + \tcbset{reset}% + \noindent% + \tcolorbox[breakable,sharp corners = all,boxrule=0.3pt,enhanced,size=small,width=#3,colframe=lightgray!15,colback=white,left skip=\LargeurPromptJupiter+\OffsetPromptJupiter-2mm,tcbjpuptitleout,fonttitle=\linespread{1}\footnotesize,attach title to upper,fontupper=\footnotesize,bottom=-0.5mm,tcbjpuparskip,#2]% + \directlua{% + tex.print("\\begin{Piton}[tabs-auto-gobble,break-lines,indent-broken-lines]") + tex.print(pyluatex.get_last_output()) + tex.print("\\end{Piton}") + }% + \endtcolorbox% +} + \fi \fi |