((*- extends 'display_priority.tplx' -*))


\nonstopmode

((* block in_prompt *))
((* endblock in_prompt *))

((* block output_prompt *))
((* endblock output_prompt *))

((* block codecell *))
\begin{codecell}
((( super() )))
\end{codecell}
((* endblock *))

((* block input *))
\begin{codeinput}
\begin{lstlisting}
((( cell.input )))
\end{lstlisting}
\end{codeinput}
((* endblock input *))

((= Those Two are for error displaying
even if the first one seem to do nothing, 
it introduces a new line
=))

((* block pyerr *))
\begin{traceback}
\begin{verbatim}
((( super() )))
\end{verbatim}
\end{traceback}
((* endblock pyerr *))

((* block traceback_line *))
((( line | indent | strip_ansi )))
((* endblock traceback_line *))
((= .... =))

((*- block output_group -*))
\begin{codeoutput}
((( super() )))
\end{codeoutput}
((* endblock *))

((*- block data_png -*))
\begin{center}
\includegraphics[max size={0.7\textwidth}{0.9\textheight}]{((( output.png_filename | posix_path )))}
\par
\end{center}
((*- endblock -*))

((*- block data_jpg -*))
\begin{center}
\includegraphics[max size={0.7\textwidth}{0.9\textheight}]{((( output.jpeg_filename | posix_path )))}
\par
\end{center}
((*- endblock -*))

((*- block data_svg -*))
\begin{center}
\includegraphics[width=0.7\textwidth]{((( output.svg_filename | posix_path )))}
\par
\end{center}
((*- endblock -*))

((*- block data_pdf -*))
\begin{center}
\includegraphics[width=0.7\textwidth]{((( output.pdf_filename | posix_path )))}
\par
\end{center}
((*- endblock -*))

((* block pyout *))
((* block data_priority scoped *))
((( super() )))
((* endblock *))
((* endblock pyout *))

((* block data_text *))
\begin{verbatim}
((( output.text )))
\end{verbatim}
((* endblock *))

((* block data_latex -*))
((*- if output.latex.startswith('$'): -*)) \begin{equation*}
    ((( output.latex | strip_dollars )))
    \end{equation*}
((*- else -*))
    ((( output.latex )))
((*- endif *))
((* endblock *))

((* block stream *))
\begin{Verbatim}[commandchars=\\\{\}]
((( output.text | ansi2latex )))
\end{Verbatim}
((* endblock stream *))

((* block markdowncell scoped *))
((( cell.source | markdown2latex )))
((* endblock markdowncell *))

((* block headingcell scoped -*))
((( ('#' * cell.level + cell.source) | replace('\n', ' ') | markdown2latex )))
((* endblock headingcell *))

((* block rawcell scoped *))
((( cell.source | comment_lines )))
((* endblock rawcell *))

((* block unknowncell scoped *))
unknown type  ((( cell.type )))
((* endblock unknowncell *))

((* block body *))

((* block bodyBegin *))
\begin{document}
((* endblock bodyBegin *))

((( super() )))

((* block bodyEnd *))
\end{document}
((* endblock bodyEnd *))
((* endblock body *))

((* block header *))
%% This file was auto-generated by IPython.
%% Conversion from the original notebook file:
%%
\documentclass[11pt,english]{article}

%% This is the automatic preamble used by IPython.  Note that it does *not*
%% include a documentclass declaration, that is added at runtime to the overall
%% document.

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}

% Scale down larger images
\usepackage[export]{adjustbox}

%fancy verbatim
\usepackage{fancyvrb}
% needed for markdown enumerations to work
\usepackage{enumerate}

% Slightly bigger margins than the latex defaults
\usepackage{geometry}
\geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=2.5cm,rmargin=2.5cm}

% Define a few colors for use in code, links and cell shading
\usepackage{color}
\definecolor{orange}{cmyk}{0,0.4,0.8,0.2}
\definecolor{darkorange}{rgb}{.71,0.21,0.01}
\definecolor{darkgreen}{rgb}{.12,.54,.11}
\definecolor{myteal}{rgb}{.26, .44, .56}
\definecolor{gray}{gray}{0.45}
\definecolor{lightgray}{gray}{.95}
\definecolor{mediumgray}{gray}{.8}
\definecolor{inputbackground}{rgb}{.95, .95, .85}
\definecolor{outputbackground}{rgb}{.95, .95, .95}
\definecolor{traceback}{rgb}{1, .95, .95}

% new ansi colors
\definecolor{brown}{rgb}{0.54,0.27,0.07}
\definecolor{purple}{rgb}{0.5,0.0,0.5}
\definecolor{darkgray}{gray}{0.25}
\definecolor{lightred}{rgb}{1.0,0.39,0.28}
\definecolor{lightgreen}{rgb}{0.48,0.99,0.0}
\definecolor{lightblue}{rgb}{0.53,0.81,0.92}
\definecolor{lightpurple}{rgb}{0.87,0.63,0.87}
\definecolor{lightcyan}{rgb}{0.5,1.0,0.83}

% Framed environments for code cells (inputs, outputs, errors, ...).  The
% various uses of \unskip (or not) at the end were fine-tuned by hand, so don't
% randomly change them unless you're sure of the effect it will have.
\usepackage{framed}

% remove extraneous vertical space in boxes
\setlength\fboxsep{0pt}

% codecell is the whole input+output set of blocks that a Code cell can
% generate.

% TODO: unfortunately, it seems that using a framed codecell environment breaks
% the ability of the frames inside of it to be broken across pages.  This
% causes at least the problem of having lots of empty space at the bottom of
% pages as new frames are moved to the next page, and if a single frame is too
% long to fit on a page, will completely stop latex from compiling the
% document.  So unless we figure out a solution to this, we'll have to instead
% leave the codecell env. as empty.  I'm keeping the original codecell
% definition here (a thin vertical bar) for reference, in case we find a
% solution to the page break issue.

%% \newenvironment{codecell}{%
%%     \def\FrameCommand{\color{mediumgray} \vrule width 1pt \hspace{5pt}}%
%%    \MakeFramed{\vspace{-0.5em}}}
%%  {\unskip\endMakeFramed}

% For now, make this a no-op...
\newenvironment{codecell}{}

 \newenvironment{codeinput}{%
   \def\FrameCommand{\colorbox{inputbackground}}%
   \MakeFramed{\advance\hsize-\width \FrameRestore}}
 {\unskip\endMakeFramed}

\newenvironment{codeoutput}{%
   \def\FrameCommand{\colorbox{outputbackground}}%
   \vspace{-1.4em}
   \MakeFramed{\advance\hsize-\width \FrameRestore}}
 {\unskip\medskip\endMakeFramed}

\newenvironment{traceback}{%
   \def\FrameCommand{\colorbox{traceback}}%
   \MakeFramed{\advance\hsize-\width \FrameRestore}}
 {\endMakeFramed}

% Use and configure listings package for nicely formatted code
\usepackage{listingsutf8}
\lstset{
  language=python,
  inputencoding=utf8x,
  extendedchars=\true,
  aboveskip=\smallskipamount,
  belowskip=\smallskipamount,
  xleftmargin=2mm,
  breaklines=true,
  basicstyle=\small \ttfamily,
  showstringspaces=false,
  keywordstyle=\color{blue}\bfseries,
  commentstyle=\color{myteal},
  stringstyle=\color{darkgreen},
  identifierstyle=\color{darkorange},
  columns=fullflexible,  % tighter character kerning, like verb
}

% The hyperref package gives us a pdf with properly built
% internal navigation ('pdf bookmarks' for the table of contents,
% internal cross-reference links, web links for URLs, etc.)
\usepackage{hyperref}
\hypersetup{
  breaklinks=true,  % so long urls are correctly broken across lines
  colorlinks=true,
  urlcolor=blue,
  linkcolor=darkorange,
  citecolor=darkgreen,
  }

% hardcode size of all verbatim environments to be a bit smaller
\makeatletter 
\g@addto@macro\@verbatim\small\topsep=0.5em\partopsep=0pt
\makeatother 

% Prevent overflowing lines due to urls and other hard-to-break entities.
\sloppy

((* endblock *))
