X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=preamble.tex;h=2518545f4bd8ab8549ee986c63fe295454ac22ba;hb=c45698c752780ef2bf45ae9f8085585e9eee1d18;hp=b285f894053c97c0c7c0902e688f08225a5b085c;hpb=3fe94feeee0efd1922263aca9d578031e2283f61;p=phd-thesis.git diff --git a/preamble.tex b/preamble.tex index b285f89..2518545 100644 --- a/preamble.tex +++ b/preamble.tex @@ -11,12 +11,12 @@ \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 \DeclareSIUnit\noop{\relax} \DeclareSIUnit\celcius{{}^{\circ}\kern-\scriptspace\mathsf{C}} -%\usepackage{atveryend} % \smaller command \everymath{\it\/} \DeclareMathSymbol{\shortminus}{\mathbin}{AMSa}{"39} %chktex 18 \newcommand{\dcolon}[0]{\mathbin{::}} @@ -46,7 +46,7 @@ \fancyhead{} \fancyfoot{} \setlength{\unitlength}{18mm} -\newcommand{\blob}{\rule[-.2\unitlength]{2\unitlength}{.5\unitlength}} +\newcommand{\blob}{{\color{gray}\rule[-.2\unitlength]{2\unitlength}{.5\unitlength}}} \fancyhead[RE]{\rightmark} \fancyhead[LO]{\leftmark} \newcommand{\frontmatterfancy}[0]{ @@ -90,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} @@ -107,7 +107,7 @@ \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} @@ -120,14 +120,28 @@ \usepackage{appendix} % subappendices, appendices per chapter % Bibliography -\usepackage{bibentry} % Cite bib entry completely -\nobibliography* \usepackage{natbib} % Cite bib entry completely \setlength{\bibsep}{0.0pt} \def\bibfont{\small} %\bibliographystyle{alpha} \bibliographystyle{abbrvnat} \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 @@ -143,6 +157,7 @@ \usepackage{multirow} % Multirow cells \usepackage{tabularx} % Automatically wrapping tables \usepackage{longtable} % Tables spanning pages +\usepackage{threeparttable} % Tables with footnotes % Code % Pseudocode @@ -187,12 +202,14 @@ {Clean},% {[Regular]Haskell}, {[Lhs2Tex]Haskell}} -\newcommand{\cinline}[1]{\lstinline[language=c,basicstyle=\tt,postbreak=]|#1|} -\newcommand{\arduinoinline}[1]{\lstinline[language={[Arduino]C++},basicstyle=\tt,postbreak=]|#1|} -\newcommand{\pythoninline}[1]{\lstinline[language=Python,basicstyle=\tt,postbreak=]|#1|} -\newcommand{\cleaninline}[1]{\lstinline[language=Clean,basicstyle=\tt,postbreak=]|#1|} -\newcommand{\haskellinline}[1]{\lstinline[language={[Regular]Haskell},basicstyle=\tt,postbreak=]|#1|} -\newcommand{\haskelllhstexinline}[1]{\lstinline[language={[Lhs2Tex]Haskell},basicstyle=\tt,postbreak=]|#1|} +\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[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} % Fix list of listings title @@ -237,7 +254,8 @@ {} % Hyperlinks and metadata -\usepackage[pagebackref]{hyperref} % hyperlinks +\usepackage[pdflang={en-GB},pagebackref]{hyperref} % hyperlinks +\usepackage{xr} % hyperlinks \renewcommand*{\backref}[1]{} \renewcommand*{\backrefalt}[4]{[{% \ifcase #1 not cited.\or p.~#2.\else pp. #2.\fi%chktex 1 @@ -252,29 +270,31 @@ \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{}% @@ -285,7 +305,6 @@ \def\Glsentrytext#1{}% \def\titlecap#1{}% } -\usepackage{glossary-mcols} % Index %\usepackage{makeidx} @@ -309,12 +328,16 @@ % Custom commands \newcommand{\GHCmod}[1]{\texttt{#1}} -\newcommand{\requiresGHCmod}[2][]{\footnote{Requires \GHCmod{#1} to be enabled.#2}} -\newcommand{\etc}{{\fontfamily{cmr}\selectfont{\itshape\/\&c}}} -\newcommand{\rdmentry}[6]{#1: #2 (#3): #4. #5.\ \href{https://doi.org/#6}{#6}} +\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}[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}%