%% 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{ucs} \usepackage[utf8x]{inputenc} % 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} % 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