X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=preamble.tex;h=030148913a43baadcad169c5a90a57821617036f;hb=7af43f4cbbc7792ec22553a84468cde77f429a11;hp=20cef3aac377ef3ea86ca74d5fa9e51b0cdc6864;hpb=915703d7ed46656d04303d248ec0bdbcee87c133;p=phd-thesis.git diff --git a/preamble.tex b/preamble.tex index 20cef3a..0301489 100644 --- a/preamble.tex +++ b/preamble.tex @@ -167,105 +167,18 @@ \usepackage{longtable} % Tables spanning pages \usepackage{threeparttable} % Tables with footnotes -% Code % Pseudocode \usepackage[algochapter,linesnumbered,lined,boxed]{algorithm2e} % Fix the algorithm font \renewcommand\AlCapFnt{\normalfont} -\usepackage{listings} -\newcounter{tmp} -% https://tex.stackexchange.com/questions/149056/how-can-i-define-additional-literate-replacements-without-deleting-existing-ones -\makeatletter -\def\addToLiterate#1{\edef\lst@literate{\unexpanded\expandafter{\lst@literate}\unexpanded{#1}}} -\lst@Key{moreliterate}{}{\addToLiterate{#1}} -\makeatother -% General listings settings -\lstset{% - basewidth=0.5em, - basicstyle=\tt\small, - breakatwhitespace=false, - breaklines=true, - captionpos=b, - columns=[c]fixed, - commentstyle=\sl, - escapeinside={[+}{+]}, % chktex 9 - frame=, - backgroundcolor=\color{lstbg}, - keepspaces=true, - keywordstyle=\bf, - postbreak=\mbox{\textcolor{gray}{$\hookrightarrow$}\space}, - showspaces=false, - showstringspaces=false, - showtabs=false, - stringstyle=\it, - tabsize=4, - upquote=true, - numberstyle=\tiny, -} -\usepackage{lstlangclean} -\usepackage{lstlanghaskell} -\usepackage{lstlangarduino} -\lstloadlanguages{% - {[Arduino]C++},% - {c},% - {Python},% - {Clean},% - {[Regular]Haskell}, - {[Lhs2Tex]Haskell}} -\newcommand{\cinline}[1]{\lstinline[language=c,postbreak=]|#1|} -\newcommand{\arduinoinline}[1]{\lstinline[language={[Arduino]C++},postbreak=]|#1|} -\newcommand{\pythoninline}[1]{\lstinline[language=Python,postbreak=]|#1|} -\newcommand{\cleaninline}[1]{\lstinline[language=Clean,postbreak=]|#1|} -\newcommand{\cleaninputlisting}[2][]{\renewcommand*{\lstlistingname}{Listing (\gls{CLEAN})}\lstinputlisting[escapeinside={/*}{*/},language=Clean,#1]{\subfix{#2}}} -\newcommand{\haskellinline}[1]{\lstinline[language={[Regular]Haskell},postbreak=]|#1|} -\newcommand{\haskellinputlisting}[2][]{\renewcommand*{\lstlistingname}{Listing (\gls{HASKELL})}\lstinputlisting[language={[Regular]Haskell},#1]{\subfix{#2}}} -\newcommand{\haskelllhstexinline}[1]{\lstinline[language={[Lhs2Tex]Haskell},postbreak=]|#1|} -%For storing listings in footnotes -\newsavebox{\LstBox} -% Fix list of listings title -\renewcommand{\lstlistlistingname}{List of Listings} -% Fix list of listings chapter separator -\makeatletter -\let\my@chapter\@chapter% -\renewcommand*{\@chapter}{% - \addtocontents{lol}{\protect\addvspace{10pt}}% - \my@chapter} -\makeatother -\lstnewenvironment{lstPython}[1][] - {% - \lstset{language=Python, #1} - \renewcommand*{\lstlistingname}{Listing (\gls{PYTHON})} - } - {} -\lstnewenvironment{lstClean}[1][] - {% - \lstset{language=Clean, #1} - \renewcommand*{\lstlistingname}{Listing (\gls{CLEAN})} - } - {} -\lstnewenvironment{lstArduino}[1][] - {% - \lstset{language={[Arduino]C++}, #1} - \renewcommand*{\lstlistingname}{Listing (\gls{CPP})} - } - {} -\lstnewenvironment{lstHaskell}[1][] - {% - \lstset{language={[Regular]Haskell},#1}% - \renewcommand*{\lstlistingname}{Listing (\gls{HASKELL})} - } - {} -\lstnewenvironment{lstHaskellLhstex}[1][] - {% - \lstset{language={[Lhs2Tex]Haskell},#1}% - \renewcommand*{\lstlistingname}{Listing (\gls{HASKELL})} - } - {} +% Listings +\input{preamble/listings} % Graphics \usepackage{graphicx} % Images \graphicspath{{img/},{intro/img},{top/img},{tvt/img}} +\usepackage{dpfloat} \usepackage{caption} % subfigures/captionof \usepackage{subcaption} \usepackage{rotating} @@ -361,20 +274,19 @@ \newcommand{\pkoopman}{Koopman, dr.\ P.\ (Radboud University)} \newcommand{\ptrinder}{Trinder, prof.~dr.\ P.\ (University of Glasgow)} \newcommand{\rdmentry}[5]{#1 (#2): #3. #4.\ \doifmt{#5}} -\newcommand{\rewriterate}[2]{\langle{}#1, #2\rangle{}} +\newcommand{\rewriterate}[2]{\langle{}\mathit{#1}, \mathit{#2}\rangle{}} \newcommand{\requiresGHCmod}[2][]{\footnote{Requires \GHCmod{#2} to be enabled. #1}} \newcommand{\rplasmeijer}{Plasmeijer, prof.\ dr.\ ir.\ R.\ (Radboud University)} \newcommand{\erasmusplus}{ERASMUS\raisebox{.25ex}{+}} \newcommand{\imtask}{\gls{ITASK}\slash\gls{MTASK}} -\newcommand{\Imtask}{\Gls{ITASK}\slash\gls{MTASK}} \newcommand{\citask}{\gls{CLEAN}\slash\gls{ITASK}} \newcommand{\Citask}{\Gls{CLEAN}\slash\gls{ITASK}} \newcommand{\cmtask}{\gls{CLEAN}\slash\gls{MTASK}} \newcommand{\Cmtask}{\Gls{CLEAN}\slash\gls{MTASK}} \newcommand{\cimtask}{\gls{CLEAN}\slash\gls{ITASK}\slash\gls{MTASK}} \newcommand{\Cimtask}{\Gls{CLEAN}\slash\gls{ITASK}\slash\gls{MTASK}} -\newcommand{\ccpp}{\gls{C}\slash\gls{CPP}} -\newcommand{\Ccpp}{\Gls{C}\slash\gls{CPP}} +\newcommand{\ccpp}{\texorpdfstring{\gls{C}\slash\gls{CPP}}{C\slash{}C\texttt{++}}} +\newcommand{\Ccpp}{\texorpdfstring{\Gls{C}\slash\gls{CPP}}{C\slash{}C\texttt{++}}} \newcommand{\stacksize}[1]{\parallel#1\parallel} \makeatletter