george comments
[phd-thesis.git] / preamble.tex
index 34be611..2606a8c 100644 (file)
 }
 \usepackage{pdflscape}
 \usepackage{float}
+\usepackage{newfloat}
+\DeclareFloatingEnvironment[
+       fileext=loq,
+       listname={List of definitions},
+       name=Definition,
+       placement=tbp,
+       within=chapter,
+       chapterlistsgaps=on,
+       ]{equ}
 \usepackage{fancyhdr} % Custom headers and footers
 %\pagestyle{headings}
 \pagestyle{fancy}
 \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{\cleaninputlisting}[2][]{\renewcommand*{\lstlistingname}{Listing (\gls{CLEAN})}\lstinputlisting[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]{#2}}
+\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}
 \urlstyle{same}
 \usepackage{bookmark}
 \usepackage[noabbrev]{cleveref} % Easy references
+\usepackage{crossreftools} % Easy references
+\crefname{equ}{equation}{equations}
 \crefname{part}{episode}{episodes}
 \crefname{lstlisting}{listing}{listings}
+\crefname{equ}{definition}{definition}
 \usepackage{nameref} % to reference names of chapters
-\newcommand{\fullref}[1]{\cref{#1}: \nameref{#1}}
-\newcommand{\Fullref}[1]{\Cref{#1}: \nameref{#1}}
+\newcommand{\fullref}[1]{\crtcref{#1}: \nameref{#1}}
+\newcommand{\Fullref}[1]{\crtCref{#1}: \nameref{#1}}
 \creflabelformat{equation}{#2\textup{#1}#3}
 
 % Glossaries and acronyms
 \usepackage[nolangwarn,abbreviations,nonumberlist,prefix]{glossaries-extra}
-\setabbreviationstyle[acronym]{long-short}
+\setabbreviationstyle{long-short}
+\setabbreviationstyle[noexpand]{short-nolong}
 \Addlcwords{of}
-% Titlecase glossary commands
-\newcommand{\glst}[1]{\titlecap{\glsentrylong{#1}}}
-\newcommand{\Glst}[1]{\glst{#1}}
 \usepackage{glossary-mcols}
 \pdfstringdefDisableCommands{%
        \def\glsxtrlong#1{}%
        \def\Glspl#1{}%
        \def\Glsentrytext#1{}%
        \def\titlecap#1{}%
+       \def\MakeUppercase#1{}%
 }
 
 % Index
 \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{\refreshrate}[2]{\langle{}#1, #2\rangle{}}
+\newcommand{\rewriterate}[2]{\langle{}#1, #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}{+}}