|
| 1 | +\documentclass{report} |
| 2 | +\usepackage{graphicx} % Used to insert images |
| 3 | +\usepackage{adjustbox} % Used to constrain images to a maximum size |
| 4 | +\usepackage{color} % Allow colors to be defined |
| 5 | +\usepackage{enumerate} % Needed for markdown enumerations to work |
| 6 | +\usepackage{geometry} % Used to adjust the document margins |
| 7 | +\usepackage{amsmath} % Equations |
| 8 | +\usepackage{amssymb} % Equations |
| 9 | +\usepackage[mathletters]{ucs} |
| 10 | +\usepackage[utf8x]{inputenc} |
| 11 | +\usepackage{fancyvrb} |
| 12 | +\usepackage{grffile} |
| 13 | +\usepackage{hyperref} |
| 14 | +\usepackage{longtable} |
| 15 | +\usepackage{booktabs} |
| 16 | +\usepackage{tikz} |
| 17 | +\usepackage{scrextend} |
| 18 | +\usepackage{needspace} |
| 19 | +\usepackage{framed} |
| 20 | + |
| 21 | +\definecolor{orange}{cmyk}{0,0.4,0.8,0.2} |
| 22 | +\definecolor{darkorange}{rgb}{.71,0.21,0.01} |
| 23 | +\definecolor{darkgreen}{rgb}{.12,.54,.11} |
| 24 | +\definecolor{myteal}{rgb}{.26, .44, .56} |
| 25 | +\definecolor{gray}{gray}{0.45} |
| 26 | +\definecolor{lightgray}{gray}{.95} |
| 27 | +\definecolor{mediumgray}{gray}{.8} |
| 28 | +\definecolor{inputbackground}{rgb}{.95, .95, .85} |
| 29 | +\definecolor{outputbackground}{rgb}{.95, .95, .95} |
| 30 | +\definecolor{traceback}{rgb}{1, .95, .95} |
| 31 | +% ansi colors |
| 32 | +\definecolor{red}{rgb}{.6,0,0} |
| 33 | +\definecolor{green}{rgb}{0,.65,0} |
| 34 | +\definecolor{brown}{rgb}{0.6,0.6,0} |
| 35 | +\definecolor{blue}{rgb}{0,.145,.698} |
| 36 | +\definecolor{purple}{rgb}{.698,.145,.698} |
| 37 | +\definecolor{cyan}{rgb}{0,.698,.698} |
| 38 | +\definecolor{lightgray}{gray}{0.5} |
| 39 | + |
| 40 | +% bright ansi colors |
| 41 | +\definecolor{darkgray}{gray}{0.25} |
| 42 | +\definecolor{lightred}{rgb}{1.0,0.39,0.28} |
| 43 | +\definecolor{lightgreen}{rgb}{0.48,0.99,0.0} |
| 44 | +\definecolor{lightblue}{rgb}{0.53,0.81,0.92} |
| 45 | +\definecolor{lightpurple}{rgb}{0.87,0.63,0.87} |
| 46 | +\definecolor{lightcyan}{rgb}{0.5,1.0,0.83} |
| 47 | + |
| 48 | +% commands and environments needed by pandoc snippets |
| 49 | +% extracted from the output of `pandoc -s` |
| 50 | +\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}} |
| 51 | +% Add ',fontsize=\small' for more characters per line |
| 52 | +\newenvironment{Shaded}{}{} |
| 53 | +\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}} |
| 54 | +\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{{#1}}} |
| 55 | +\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}} |
| 56 | +\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}} |
| 57 | +\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}} |
| 58 | +\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}} |
| 59 | +\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}} |
| 60 | +\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{{#1}}}} |
| 61 | +\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{{#1}}} |
| 62 | +\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}} |
| 63 | +\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{{#1}}} |
| 64 | +\newcommand{\RegionMarkerTok}[1]{{#1}} |
| 65 | +\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}} |
| 66 | +\newcommand{\NormalTok}[1]{{#1}} |
| 67 | + |
| 68 | +\def\br{\hspace*{\fill} \\* } |
| 69 | +\def\gt{>} |
| 70 | +\def\lt{<} |
| 71 | +\makeatletter |
| 72 | +\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax% |
| 73 | +\let\PY@ul=\relax \let\PY@tc=\relax% |
| 74 | +\let\PY@bc=\relax \let\PY@ff=\relax} |
| 75 | +\def\PY@tok#1{\csname PY@tok@#1\endcsname} |
| 76 | +\def\PY@toks#1+{\ifx\relax#1\empty\else% |
| 77 | +\PY@tok{#1}\expandafter\PY@toks\fi} |
| 78 | +\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{% |
| 79 | +\PY@it{\PY@bf{\PY@ff{#1}}}}}}} |
| 80 | +\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}} |
| 81 | + |
| 82 | +\expandafter\def\csname PY@tok@bp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 83 | +\expandafter\def\csname PY@tok@nd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}} |
| 84 | +\expandafter\def\csname PY@tok@no\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}} |
| 85 | +\expandafter\def\csname PY@tok@nv\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} |
| 86 | +\expandafter\def\csname PY@tok@err\endcsname{\def\PY@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}} |
| 87 | +\expandafter\def\csname PY@tok@gt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}} |
| 88 | +\expandafter\def\csname PY@tok@kp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 89 | +\expandafter\def\csname PY@tok@s\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} |
| 90 | +\expandafter\def\csname PY@tok@gi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}} |
| 91 | +\expandafter\def\csname PY@tok@si\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}} |
| 92 | +\expandafter\def\csname PY@tok@cs\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}} |
| 93 | +\expandafter\def\csname PY@tok@m\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} |
| 94 | +\expandafter\def\csname PY@tok@vg\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} |
| 95 | +\expandafter\def\csname PY@tok@nn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}} |
| 96 | +\expandafter\def\csname PY@tok@sh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} |
| 97 | +\expandafter\def\csname PY@tok@vi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} |
| 98 | +\expandafter\def\csname PY@tok@ne\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}} |
| 99 | +\expandafter\def\csname PY@tok@gu\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}} |
| 100 | +\expandafter\def\csname PY@tok@nc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}} |
| 101 | +\expandafter\def\csname PY@tok@sb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} |
| 102 | +\expandafter\def\csname PY@tok@k\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 103 | +\expandafter\def\csname PY@tok@na\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}} |
| 104 | +\expandafter\def\csname PY@tok@kc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 105 | +\expandafter\def\csname PY@tok@sx\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 106 | +\expandafter\def\csname PY@tok@se\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}} |
| 107 | +\expandafter\def\csname PY@tok@vc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} |
| 108 | +\expandafter\def\csname PY@tok@s1\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} |
| 109 | +\expandafter\def\csname PY@tok@kd\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 110 | +\expandafter\def\csname PY@tok@go\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}} |
| 111 | +\expandafter\def\csname PY@tok@ow\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}} |
| 112 | +\expandafter\def\csname PY@tok@nf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}} |
| 113 | +\expandafter\def\csname PY@tok@gs\endcsname{\let\PY@bf=\textbf} |
| 114 | +\expandafter\def\csname PY@tok@cm\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}} |
| 115 | +\expandafter\def\csname PY@tok@il\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} |
| 116 | +\expandafter\def\csname PY@tok@kt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}} |
| 117 | +\expandafter\def\csname PY@tok@c1\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}} |
| 118 | +\expandafter\def\csname PY@tok@mi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} |
| 119 | +\expandafter\def\csname PY@tok@ni\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}} |
| 120 | +\expandafter\def\csname PY@tok@gd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}} |
| 121 | +\expandafter\def\csname PY@tok@ge\endcsname{\let\PY@it=\textit} |
| 122 | +\expandafter\def\csname PY@tok@nt\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 123 | +\expandafter\def\csname PY@tok@s2\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} |
| 124 | +\expandafter\def\csname PY@tok@w\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}} |
| 125 | +\expandafter\def\csname PY@tok@cp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}} |
| 126 | +\expandafter\def\csname PY@tok@nl\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}} |
| 127 | +\expandafter\def\csname PY@tok@ss\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} |
| 128 | +\expandafter\def\csname PY@tok@o\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} |
| 129 | +\expandafter\def\csname PY@tok@mf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} |
| 130 | +\expandafter\def\csname PY@tok@gp\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}} |
| 131 | +\expandafter\def\csname PY@tok@kn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 132 | +\expandafter\def\csname PY@tok@sc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} |
| 133 | +\expandafter\def\csname PY@tok@mo\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} |
| 134 | +\expandafter\def\csname PY@tok@sd\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} |
| 135 | +\expandafter\def\csname PY@tok@nb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 136 | +\expandafter\def\csname PY@tok@gr\endcsname{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}} |
| 137 | +\expandafter\def\csname PY@tok@kr\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} |
| 138 | +\expandafter\def\csname PY@tok@gh\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}} |
| 139 | +\expandafter\def\csname PY@tok@c\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}} |
| 140 | +\expandafter\def\csname PY@tok@mh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} |
| 141 | +\expandafter\def\csname PY@tok@sr\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}} |
| 142 | + |
| 143 | +\def\PYZbs{\char`\\} |
| 144 | +\def\PYZus{\char`\_} |
| 145 | +\def\PYZob{\char`\{} |
| 146 | +\def\PYZcb{\char`\}} |
| 147 | +\def\PYZca{\char`\^} |
| 148 | +\def\PYZam{\char`\&} |
| 149 | +\def\PYZlt{\char`\<} |
| 150 | +\def\PYZgt{\char`\>} |
| 151 | +\def\PYZsh{\char`\#} |
| 152 | +\def\PYZpc{\char`\%} |
| 153 | +\def\PYZdl{\char`\$} |
| 154 | +\def\PYZhy{\char`\-} |
| 155 | +\def\PYZsq{\char`\'} |
| 156 | +\def\PYZdq{\char`\"} |
| 157 | +\def\PYZti{\char`\~} |
| 158 | +\def\PYZat{@} |
| 159 | +\def\PYZlb{[} |
| 160 | +\def\PYZrb{]} |
| 161 | +\makeatother |
| 162 | + |
| 163 | + |
| 164 | +% NB prompt colors |
| 165 | +\definecolor{nbframe-border}{rgb}{0.867,0.867,0.867} |
| 166 | +\definecolor{nbframe-bg}{rgb}{0.969,0.969,0.969} |
| 167 | +\definecolor{nbframe-in-prompt}{rgb}{0.0,0.0,0.502} |
| 168 | +\definecolor{nbframe-out-prompt}{rgb}{0.545,0.0,0.0} |
| 169 | + |
| 170 | +% NB prompt lengths |
| 171 | +\newlength{\inputpadding} |
| 172 | +\setlength{\inputpadding}{0.5em} |
| 173 | +\newlength{\cellleftmargin} |
| 174 | +\setlength{\cellleftmargin}{0.15\linewidth} |
| 175 | +\newlength{\borderthickness} |
| 176 | +\setlength{\borderthickness}{0.4pt} |
| 177 | +\newlength{\smallerfontscale} |
| 178 | +\setlength{\smallerfontscale}{9.5pt} |
| 179 | + |
| 180 | +% NB prompt font size |
| 181 | +\def\smaller{\fontsize{\smallerfontscale}{\smallerfontscale}\selectfont} |
| 182 | + |
| 183 | +% Define a background layer, in which the nb prompt shape is drawn |
| 184 | +\pgfdeclarelayer{background} |
| 185 | +\pgfsetlayers{background,main} |
| 186 | +\usetikzlibrary{calc} |
| 187 | + |
| 188 | +% define styles for the normal border and the torn border |
| 189 | +\tikzset{ |
| 190 | + normal border/.style={draw=nbframe-border, fill=nbframe-bg, |
| 191 | + rectangle, rounded corners=2.5pt, line width=\borderthickness}, |
| 192 | + torn border/.style={draw=white, fill=white, line width=\borderthickness}} |
| 193 | + |
| 194 | +% Macro to draw the shape behind the text, when it fits completly in the |
| 195 | +% page |
| 196 | +\def\notebookcellframe#1{% |
| 197 | +\tikz{% |
| 198 | + \node[inner sep=\inputpadding] (A) {#1};% Draw the text of the node |
| 199 | + \begin{pgfonlayer}{background}% Draw the shape behind |
| 200 | + \fill[normal border]% |
| 201 | + (A.south east) -- ($(A.south west)+(\cellleftmargin,0)$) -- |
| 202 | + ($(A.north west)+(\cellleftmargin,0)$) -- (A.north east) -- cycle; |
| 203 | + \end{pgfonlayer}}}% |
| 204 | + |
| 205 | +% Macro to draw the shape, when the text will continue in next page |
| 206 | +\def\notebookcellframetop#1{% |
| 207 | +\tikz{% |
| 208 | + \node[inner sep=\inputpadding] (A) {#1}; % Draw the text of the node |
| 209 | + \begin{pgfonlayer}{background} |
| 210 | + \fill[normal border] % Draw the ``complete shape'' behind |
| 211 | + (A.south east) -- ($(A.south west)+(\cellleftmargin,0)$) -- |
| 212 | + ($(A.north west)+(\cellleftmargin,0)$) -- (A.north east) -- cycle; |
| 213 | + \fill[torn border] % Add the torn lower border |
| 214 | + ($(A.south east)-(0,.1)$) -- ($(A.south west)+(\cellleftmargin,-.1)$) -- |
| 215 | + ($(A.south west)+(\cellleftmargin,.1)$) -- ($(A.south east)+(0,.1)$) -- cycle; |
| 216 | + \end{pgfonlayer}}} |
| 217 | + |
| 218 | +% Macro to draw the shape, when the text continues from previous page |
| 219 | +\def\notebookcellframebottom#1{% |
| 220 | +\tikz{% |
| 221 | + \node[inner sep=\inputpadding] (A) {#1}; % Draw the text of the node |
| 222 | + \begin{pgfonlayer}{background} |
| 223 | + \fill[normal border] % Draw the ``complete shape'' behind |
| 224 | + (A.south east) -- ($(A.south west)+(\cellleftmargin,0)$) -- |
| 225 | + ($(A.north west)+(\cellleftmargin,0)$) -- (A.north east) -- cycle; |
| 226 | + \fill[torn border] % Add the torn upper border |
| 227 | + ($(A.north east)-(0,.1)$) -- ($(A.north west)+(\cellleftmargin,-.1)$) -- |
| 228 | + ($(A.north west)+(\cellleftmargin,.1)$) -- ($(A.north east)+(0,.1)$) -- cycle; |
| 229 | + \end{pgfonlayer}}} |
| 230 | + |
| 231 | +% Macro to draw the shape, when both the text continues from previous page |
| 232 | +% and it will continue in next page |
| 233 | +\def\notebookcellframemiddle#1{% |
| 234 | +\tikz{% |
| 235 | + \node[inner sep=\inputpadding] (A) {#1}; % Draw the text of the node |
| 236 | + \begin{pgfonlayer}{background} |
| 237 | + \fill[normal border] % Draw the ``complete shape'' behind |
| 238 | + (A.south east) -- ($(A.south west)+(\cellleftmargin,0)$) -- |
| 239 | + ($(A.north west)+(\cellleftmargin,0)$) -- (A.north east) -- cycle; |
| 240 | + \fill[torn border] % Add the torn lower border |
| 241 | + ($(A.south east)-(0,.1)$) -- ($(A.south west)+(\cellleftmargin,-.1)$) -- |
| 242 | + ($(A.south west)+(\cellleftmargin,.1)$) -- ($(A.south east)+(0,.1)$) -- cycle; |
| 243 | + \fill[torn border] % Add the torn upper border |
| 244 | + ($(A.north east)-(0,.1)$) -- ($(A.north west)+(\cellleftmargin,-.1)$) -- |
| 245 | + ($(A.north west)+(\cellleftmargin,.1)$) -- ($(A.north east)+(0,.1)$) -- cycle; |
| 246 | + \end{pgfonlayer}}} |
| 247 | + |
| 248 | +% Define the environment which puts the frame |
| 249 | +% In this case, the environment also accepts an argument with an optional |
| 250 | +% title (which defaults to ``Example'', which is typeset in a box overlaid |
| 251 | +% on the top border |
| 252 | +\newenvironment{notebookcell}[1][0]{% |
| 253 | + \def\FrameCommand{\notebookcellframe}% |
| 254 | + \def\FirstFrameCommand{\notebookcellframetop}% |
| 255 | + \def\LastFrameCommand{\notebookcellframebottom}% |
| 256 | + \def\MidFrameCommand{\notebookcellframemiddle}% |
| 257 | + \par\vspace{1\baselineskip}% |
| 258 | + \MakeFramed {\FrameRestore}% |
| 259 | + \noindent\tikz\node[inner sep=0em] at ($(A.north west)-(0,0)$) {% |
| 260 | + \begin{minipage}{\cellleftmargin}% |
| 261 | +\hfill% |
| 262 | +{\smaller% |
| 263 | +\tt% |
| 264 | +\color{nbframe-in-prompt}% |
| 265 | +In[#1]:}% |
| 266 | +\hspace{\inputpadding}% |
| 267 | +\hspace{2pt}% |
| 268 | +\hspace{3pt}% |
| 269 | +\end{minipage}%% |
| 270 | + }; \par}% |
| 271 | +{\endMakeFramed} |
| 272 | +\sloppy |
| 273 | +\hypersetup{ |
| 274 | + breaklinks=true, % so long urls are correctly broken across lines |
| 275 | + colorlinks=true, |
| 276 | + urlcolor=blue, |
| 277 | + linkcolor=darkorange, |
| 278 | + citecolor=darkgreen, |
| 279 | + } |
| 280 | +\geometry{verbose,tmargin=1in,bmargin=1in,lmargin=1in,rmargin=1in} |
| 281 | + |
| 282 | +\title{Introduction to Scientific Computing in Python} |
| 283 | +\author{Robert Johansson} |
| 284 | + |
| 285 | +\begin{document} |
| 286 | +\maketitle |
| 287 | + |
| 288 | +\tableofcontents |
| 289 | + |
| 290 | +\newpage |
| 291 | +\input{Lecture-0-Scientific-Computing-with-Python} |
| 292 | + |
| 293 | +\newpage |
| 294 | +\input{Lecture-1-Introduction-to-Python-Programming} |
| 295 | + |
| 296 | +\newpage |
| 297 | +\input{Lecture-2-Numpy} |
| 298 | + |
| 299 | +\newpage |
| 300 | +\input{Lecture-3-Scipy} |
| 301 | + |
| 302 | +\newpage |
| 303 | +\input{Lecture-4-Matplotlib} |
| 304 | + |
| 305 | +\newpage |
| 306 | +\input{Lecture-5-Sympy} |
| 307 | + |
| 308 | +\newpage |
| 309 | +\input{Lecture-6A-Fortran-and-C} |
| 310 | + |
| 311 | +\newpage |
| 312 | +\input{Lecture-6B-HPC} |
| 313 | + |
| 314 | +\newpage |
| 315 | +\input{Lecture-7-Revision-Control-Software} |
| 316 | + |
| 317 | +\end{document} |
0 commit comments