more upydates
[phd-thesis.git] / preamble.tex
index 392fc22..ea67fd6 100644 (file)
@@ -11,6 +11,7 @@
 \usepackage{titlecaps}      % titlecase commands
 \usepackage{amsmath}        % extra math
 \usepackage{amssymb}        % extra math symbols
+\usepackage{wasysym}        % circle symbols
 \usepackage{relsize}        % \smaller command
 \usepackage{siunitx}        % typeset units
 \usepackage{xcolor}         % colors
@@ -89,8 +90,8 @@
 % Have better page numbering in chapters
 \patchcmd{\chapter}{plain}{headings}{}{}
 \usepackage{epigraph} % Epigraph
-\renewcommand\partname{Movement}                   % Rename parts to movements (rhapsody uhu)
-\addto\captionsbritish{\renewcommand{\partname}{Movement}}
+\renewcommand\partname{Episode}                   % Rename parts to episodes (rhapsody uhu)
+\addto\captionsbritish{\renewcommand{\partname}{Episode}}
 \usepackage{titlesec}
 \titleformat{\part}[block]
        {\Huge}
 \def\part@nostar@nopt#1{\NR@gettitle{#1}\titlesec@part{#1}}
 \def\part@nostar@opt[#1]#2{\NR@gettitle{#1}\titlesec@part[#1]{#2}}
 \makeatother
-\newenvironment{chapterabstract}{\begin{quotation}}{\end{quotation}}
+\newenvironment{chapterabstract}{\begin{quotation}\em\noindent}{\end{quotation}} %chktex 6
 
 % Increase the depth for the table of contents
 \setcounter{secnumdepth}{3}
 \apptocmd{\thebibliography}{\raggedright}{}{}
 \usepackage{bibentry} % Cite bib entry completely
 \nobibliography*
+\newcommand{\citeentry}[1]{\begin{NoHyper}\bibentry{#1}\end{NoHyper}. \citep{#1}}
+
+\makeatletter
+\newcommand{\citepage}[1]{p.~#1}
+\newcommand{\citepages}[1]{pp.~#1}
+\newcommand{\citechapter}[1]{\cref@chapter@name~#1}
+\newcommand{\citechapters}[1]{\cref@chapter@name@plural~#1}
+\newcommand{\citesection}[1]{\cref@section@name~#1}
+\newcommand{\citesections}[1]{\cref@section@name@plural~#1}
+%\newcommand{\citesection}[1]{\S.~#1}
+%\newcommand{\citesections}[1]{\S\S.~#1}
+\newcommand{\citeparagraph}[1]{\P.~#1}
+\newcommand{\citeparagraphs}[1]{\P\P.~#1}
+\makeatother
 
 % Graphics
 \usepackage{graphicx} % Images
        tabsize=4,
        upquote=true,
        numberstyle=\tiny,
+       texcl=true;
 }
 \usepackage{lstlangclean}
 \usepackage{lstlanghaskell}
 \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[language=Clean,#1]{#2}}
 \newcommand{\haskellinline}[1]{\lstinline[language={[Regular]Haskell},postbreak=]|#1|}
+\newcommand{\haskellinputlisting}[2][]{\renewcommand*{\lstlistingname}{Listing (\gls{HASKELL})}\lstinputlisting[language={[Regular]Haskell},#1]{#2}}
 \newcommand{\haskelllhstexinline}[1]{\lstinline[language={[Lhs2Tex]Haskell},postbreak=]|#1|}
 %For storing listings in footnotes
 \newsavebox{\LstBox}
 \urlstyle{same}
 \usepackage{bookmark}
 \usepackage[noabbrev]{cleveref} % Easy references
-\crefname{part}{movement}{movements}
+\crefname{part}{episode}{episodes}
 \crefname{lstlisting}{listing}{listings}
 \usepackage{nameref} % to reference names of chapters
-\newcommand{\fullref}[1]{\Cref{#1}: \nameref{#1}}
+\newcommand{\fullref}[1]{\cref{#1}: \nameref{#1}}
+\newcommand{\Fullref}[1]{\Cref{#1}: \nameref{#1}}
 
 % Glossaries and acronyms
-\usepackage[nolangwarn,acronym,nonumberlist]{glossaries}
+\usepackage[nolangwarn,abbreviations,nonumberlist,prefix]{glossaries-extra}
+\setabbreviationstyle[acronym]{long-short}
 \Addlcwords{of}
 % Titlecase glossary commands
 \newcommand{\glst}[1]{\titlecap{\glsentrylong{#1}}}
 \newcommand{\Glst}[1]{\glst{#1}}
-% Fix gls in hyperlink errors
+\usepackage{glossary-mcols}
 \pdfstringdefDisableCommands{%
-       \def\acrlong#1{}%
-       \def\acrlongpl#1{}%
-       \def\acrshort#1{}%
-       \def\acrshortpl#1{}%
+       \def\glsxtrlong#1{}%
+       \def\glsxtrlongpl#1{}%
+       \def\glsxtrshort#1{}%
+       \def\glsxtrshortpl#1{}%
        \def\acrfull#1{}%
        \def\acrfullpl#1{}%
-       \def\Acrlong#1{}%
-       \def\Acrlongpl#1{}%
-       \def\Acrshort#1{}%
-       \def\Acrshortpl#1{}%
+       \def\Glsxtrlong#1{}%
+       \def\Glsxtrlongpl#1{}%
+       \def\Glsxtrshort#1{}%
+       \def\Glsxtrshortpl#1{}%
        \def\Acrfull#1{}%
        \def\Acrfullpl#1{}%
        \def\gls#1{}%
        \def\Glsentrytext#1{}%
        \def\titlecap#1{}%
 }
-\usepackage{glossary-mcols}
 
 % Index
 %\usepackage{makeidx}
 \newcommand{\requiresGHCmod}[2][]{\footnote{Requires \GHCmod{#2} to be enabled. #1}}
 %\newcommand{\etc}{{\fontfamily{cmr}\selectfont{\itshape\/\&c}}}
 \newcommand{\etc}{{\fontfamily{cmr}\selectfont{\itshape\/\&\kern-0.2em c}}}
-\newcommand{\rdmentry}[6]{#1: #2 (#3): #4. #5.\ \href{https://doi.org/#6}{#6}}
+\newcommand{\rdmentry}[5]{#1 (#2): #3. #4.\ \href{https://doi.org/#5}{#5}}
 \newcommand{\mlubbers}{Lubbers, M.\ (Radboud University)}
 \newcommand{\pkoopman}{Koopman, dr.\ P.\ (Radboud University)}
 \newcommand{\rplasmeijer}{Plasmeijer, prof.\ dr.\ ir.\ R.\ (Radboud University)}
+\newcommand{\aramsingh}{Ramsingh, A.\ (University of Glasgow)}
+\newcommand{\jsinger}{Singer, dr.\ J.\ (University of Glasgow)}
+\newcommand{\ptrinder}{Trinder, prof.~dr.\ P.\ (University of Glasgow)}
 
 \newcommand{\mypart}[3]{
        \part[#2: #3]{#2\\[2ex]\smaller{}#3}%