diff options
Diffstat (limited to 'macros/latex/contrib/pynotebook/doc/pynotebook-examples-pitonpyluatex.tex')
-rw-r--r-- | macros/latex/contrib/pynotebook/doc/pynotebook-examples-pitonpyluatex.tex | 374 |
1 files changed, 374 insertions, 0 deletions
diff --git a/macros/latex/contrib/pynotebook/doc/pynotebook-examples-pitonpyluatex.tex b/macros/latex/contrib/pynotebook/doc/pynotebook-examples-pitonpyluatex.tex new file mode 100644 index 0000000000..6dfdc9bd53 --- /dev/null +++ b/macros/latex/contrib/pynotebook/doc/pynotebook-examples-pitonpyluatex.tex @@ -0,0 +1,374 @@ +% !TeX TXS-program:compile = txs:///arara +% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} +% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') + +\documentclass[a4paper,11pt]{article} +\def\PLver{0.1.1} +\usepackage[margin=1.5cm]{geometry} +\usepackage{pynotebook} +\usepackage[executable=python]{pyluatex} +\usepackage{codehigh} + +\begin{document} + +\part*{pynotebook (\PLver), with piton and pyluatex} + +\section{Preamble} + +\begin{codehigh} +\documentclass{article} +\usepackage{pynotebook} +\usepackage[executable=python]{pyluatex} % with a specific compilation !! +\end{codehigh} + +\section{Examples of text blocks} + +\begin{codehigh} +\begin{NotebookPitonMarkdown}{\linewidth} +{\Large\bfseries This is a test for a \textsf{Markdown} block.} + +It's possible to use \LaTeX{} formulas, like % +\[ + \left\lbrace\begin{array}{l} + F_0 = 0\\ + F_1 = 1 \\ + F_{n+2} = F_{n+1} + F_n + \end{array}\right. +\] +\end{NotebookPitonMarkdown} + +\begin{NotebookPitonRaw}{\linewidth} +This is a sample block, with RAW output. + +Just to use all capacities of Jupyter notebook ;-) +\end{NotebookPitonRaw} +\end{codehigh} + +\begin{NotebookPitonMarkdown}{\linewidth} +{\Large\bfseries This is a test for a \textsf{Markdown} block.} + +It's possible to use \LaTeX{} formulas, like % +\[ +\left\lbrace\begin{array}{l} +F_0 = 0\\ +F_1 = 1 \\ +F_{n+2} = F_{n+1} + F_n +\end{array}\right. +\] +\end{NotebookPitonMarkdown} + +\begin{NotebookPitonRaw}{\linewidth} +This is a sample block, with RAW output. + +Just to use all capacities of Jupyter notebook ;-) +\end{NotebookPitonRaw} + +\section{Examples of code blocks (with execution of code !)} + +\subsection{With block In then block Out} + +\begin{codehigh} +\begin{NotebookPitonIn}{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +[fibonacci_of(n) for n in range(10)] +\end{NotebookPitonIn} +\end{codehigh} + +\begin{NotebookPitonIn}{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +[fibonacci_of(n) for n in range(10)] +\end{NotebookPitonIn} + +\begin{codehigh} +\begin{NotebookPitonOut}{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonOut} +\end{codehigh} + +\begin{NotebookPitonOut}{\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonOut} + +\pagebreak + +\begin{codehigh} +\SetJupyterLng{fr} +\SetJupyterParSkip{\baselineskip} +\setcounter{JupyterIn}{11} +\end{codehigh} + +\SetJupyterLng{fr} +\SetJupyterParSkip{\baselineskip} +\setcounter{JupyterIn}{11} + +\begin{codehigh} +\begin{NotebookPitonIn}[center]{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonIn} +\end{codehigh} + +\begin{NotebookPitonIn}[center]{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonIn} + +\begin{codehigh} +\begin{NotebookPitonOut}[center]{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonOut} +\end{codehigh} + +\begin{NotebookPitonOut}[center]{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonOut} + +\begin{codehigh} +\begin{NotebookPitonConsole}[center]{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonConsole} +\end{codehigh} + +\begin{NotebookPitonConsole}[center]{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonConsole} + +\pagebreak + +\subsection{With block In/Out} + +\SetJupyterLng{en} +\SetJupyterParSkip{0.33\baselineskip} +\setcounter{JupyterIn}{0} + +\begin{codehigh} +\begin{NotebookPitonInOut}{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonInOut} +\end{codehigh} + +\begin{NotebookPitonInOut}{0.75\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonInOut} + +\pagebreak + +\section{Global example} + +\SetJupyterParSkip{default} +\setcounter{JupyterIn}{0} + +\begin{NotebookPitonMarkdown}{\linewidth} +{\Large\bfseries This is a test for a \textsf{Markdown} block.} + +It's possible to use \LaTeX{} formulas, like % +\[ +\left\lbrace\begin{array}{l} +F_0 = 0 \: ; \: F_1 = 1 \\ +F_{n+2} = F_{n+1} + F_n +\end{array}\right. +\] +\end{NotebookPitonMarkdown} + +\begin{NotebookPitonRaw}{\linewidth} +This is a sample block, with RAW output. +Just to use all capacities of Jupyter notebook ;-) +\end{NotebookPitonRaw} + +\begin{NotebookPitonInOut}{\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10)]) +\end{NotebookPitonInOut} + +\begin{NotebookPitonRaw}{\linewidth} +Let’s compute Fibonacci terms from 10th to 20th :-) +\end{NotebookPitonRaw} + +\begin{NotebookPitonIn}{\linewidth} +[fibonacci_of(n) for n in range(10,21)] +\end{NotebookPitonIn} + +\begin{NotebookPitonConsole}{\linewidth} +def fibonacci_aux(n,a,b): + if n == 0 : + return a + elif n == 1 : + return b + else: + return fibonacci_aux(n-1,b,a+b) + +def fibonacci_of(n): + return fibonacci_aux(n,0,1) + +print([fibonacci_of(n) for n in range(10,21)]) +\end{NotebookPitonConsole} + +\begin{NotebookPitonRaw}{\linewidth} +Let’s work with an other function. +This time in french :-) +\end{NotebookPitonRaw} + +\begin{NotebookPitonInOut}{\linewidth} +def calculPerimetre(cote1, cote2, cote3) : + perimetre = cote1 + cote2 + cote3 + return perimetre + +perimetre1 = calculPerimetre(6, 4, 3) +perimetre2 = calculPerimetre(10, 3, 11) +print(f"Le périmètre de mon 1er triangle est {perimetre1}, et celle de mon 2d est {perimetre2}.") +\end{NotebookPitonInOut} + +\begin{NotebookPitonInOut}{\linewidth} +A = 15 +B = 10 +C = 11 +print(f"Le périmètre de mon triangle est {calculPerimetre(A, B, C)}.") +\end{NotebookPitonInOut} + +\begin{NotebookPitonIn}{\linewidth} +calculPerimetre(4, 4, 4) +\end{NotebookPitonIn} + +\begin{NotebookPitonConsole}{\linewidth} +print(calculPerimetre(4, 4, 4)) +\end{NotebookPitonConsole} + +\end{document}
\ No newline at end of file |