\hfuzz=1.5pt
\usepackage{fvextra}
\usepackage{csquotes}
\usepackage[australian]{babel}
\usepackage{hyperref}
\hypersetup{bookmarksnumbered}
\usepackage{xspace}

% Fonts
\usepackage{fontspec}
%% Main font
\setmainfont{ArchivoNarrow}[
Path=assets/fonts/ArchivoNarrow/,
Extension=.ttf,
UprightFont=*-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic,
]
%% Title font
\newfontfamily{\norwester}{Norwester}[
Path=assets/fonts/Norwester/,
Extension=.otf,
]
\newfontfamily{\kollektif}{Kollektif}[
Path=assets/fonts/Kollektif/,
Extension=.ttf,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic,
]
%% Monospace font
\setmonofont{VictorMono}[
Path=assets/fonts/VictorMono/,
Extension=.otf,
UprightFont=*-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic,
]
%% Mathmatical font
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{unicode-math}
\setmathfont{GFSNeohellenicMath.otf}

% References
\usepackage[
style=apa,
]{biblatex}
\usepackage{cleveref}

% Glossary / Acronyms
\usepackage[acronym,toc]{glossaries}
\usepackage{titlecaps}
\glsdisablehyper{}
\defglsentryfmt[main]{\ifglsused{\glslabel}{\glsgenentryfmt}{\textit{\glsgenentryfmt}}}
\makeglossaries{}

% Graphics
\usepackage{graphicx}
\usepackage{subcaption}

% Example environment
\newcounter{example}[chapter]
\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip \noindent
  \textbf{Example~\theexample. #1} \rmfamily}{\hfill \ensuremath{\square}}

% Code formatting
\usepackage[
cachedir=listings,
outputdir=build,
]{minted}
\usemintedstyle{borland}

\newenvironment{mzn}{\VerbatimEnvironment\begin{minted}[autogobble=true,breaklines,breakindent=4em,numbers=none,escapeinside=@@,fontsize=\scriptsize]{minizinc}}{\end{minted}}
\newcommand{\mznfile}[1]{\inputminted[autogobble=true,breaklines,breakindent=4em,numbers=left,escapeinside=@@,fontsize=\scriptsize]{minizinc}{#1}}
\newcommand{\mzninline}[1]{\mintinline[fontsize=\small,escapeinside=@@]{minizinc}{#1}}

\newcommand{\pyfile}[1]{\inputminted[autogobble=true,breaklines,breakindent=4em,numbers=left,escapeinside=@@,fontsize=\scriptsize]{python}{#1}}

\newcommand{\ptinline}[1]{{\texttt{\small {#1}}}}

% % TODO: What am I doing with this?
\newcommand*\justify{%
  \fontdimen2\font=0.4em% interword space
  \fontdimen3\font=0.2em% interword stretch
  \fontdimen4\font=0.1em% interword shrink
  \fontdimen7\font=0.1em% extra space
  \hyphenchar\font=`\-% allowing hyphenation
}

\newcommand{\Vlabel}[1]{\label[line]{#1}\hypertarget{#1}{}}
\newcommand{\lref}[1]{\hyperlink{#1}{\FancyVerbLineautorefname~\ref*{#1}}}
\newcommand{\lrefrange}[2]{\FancyVerbLineautorefname{}s~\hyperlink{#1}{\ref*{#1}}--\hyperlink{#2}{\ref*{#2}}}
\newcommand{\Lrefrange}[2]{Lines~\hyperlink{#1}{\ref*{#1}}--\hyperlink{#2}{\ref*{#2}}}

% Proof Tree
\usepackage[nounderscore]{syntax}
\usepackage{bussproofs}

% Half Reif packages (maybe we should get rid of these)
\usepackage[all]{xy}
% Comments
\newcommand{\pjs}[1]{\textcolor{blue}{\Big[\textbf{Peter}: #1\Big]}}
\newcommand{\jip}[1]{\textcolor{red}{\Big[\textbf{Jip}: #1\Big]}}
