((= Notebook input/output style =)) ((* extends 'latex_base.tplx' *)) % Custom packages ((* block packages *)) ((( super() ))) % Needed to box output/input \usepackage{tikz} \usetikzlibrary{calc,arrows,shadows} \usepackage[framemethod=tikz]{((( resources.latex.mdframed_path | posix_path )))/mdframed} \usepackage{scrextend} % Used to indent output \usepackage{needspace} % Make prompts follow contents ((* endblock packages *)) % Custom definitions ((* block definitions *)) ((( super() ))) \listfiles % Pygments definitions ((( resources.latex.pygment_definitions ))) \def\smaller{\fontsize{9.5pt}{9.5pt}\selectfont} \definecolor{nbframe-border}{rgb}{0.867,0.867,0.867} \definecolor{nbframe-bg}{rgb}{0.969,0.969,0.969} \definecolor{nbframe-in-prompt}{rgb}{0.0,0.0,0.502} \definecolor{nbframe-out-prompt}{rgb}{0.545,0.0,0.0} \newenvironment{ColorVerbatim} {\vspace{-2\baselineskip} \leavevmode\begin{mdframed}[% roundcorner=1.0pt, % backgroundcolor=nbframe-bg, % leftmargin=0.1\linewidth, % innerleftmargin=0pt, % innerrightmargin=0pt, % linecolor=nbframe-border, % linewidth=1pt, % usetwoside=false, % everyline=false, % innerlinewidth=3pt, % innerlinecolor=nbframe-bg, % middlelinewidth=1pt, % middlelinecolor=nbframe-bg, % outerlinewidth=0.5pt, % outerlinecolor=nbframe-border, % needspace=3em, % nobreak=false ]} {\end{mdframed}\vspace{-1\baselineskip}} ((* endblock definitions *)) %=============================================================================== % Input %=============================================================================== ((* block in_prompt scoped *)) \br ((( draw_prompt("In", cell.prompt_number, "nbframe-in-prompt") ))) ((* endblock in_prompt *)) ((* block input scoped *)) % Add contents below. \smaller% ((( cell.input | highlight2latex )))% ((* endblock input *)) ((* block input_group scoped *)) ((( super() ))) ((* endblock input_group *)) %=============================================================================== % Output %=============================================================================== ((* block output_group *)) {\br}((( super() ))) ((* endblock output_group *)) ((* block output *)) % Only render the prompt if the cell is pyout. Note, the outputs prompt % block isn't used since we need to check each indiviual output and only % add prompts to the pyout ones. ((* if output.output_type in ['pyout'] *)) ((( draw_prompt("Out", cell.prompt_number, "nbframe-out-prompt") ))) ((* endif *)) \begin{addmargin}[0.1\linewidth]{0em} % left, right \smaller{((( super() )))} \end{addmargin} ((* endblock output *)) %============================================================================== % Support Macros %============================================================================== % Name: draw_prompt % Purpose: Renders an output/input prompt for notebook style pdfs. Prompt is % rendered at the current location, the cursor position is left % unmodified. ((* macro draw_prompt(prompt, number, color) *)) { \smaller \tt \color{((( color )))} \noindent\relax ((( prompt ))) {[}((( number ))){]}: \vspace{-1\baselineskip} } ((* endmacro *))