% -*- root: thesis.tex -*-
% clickable tocs
\usepackage{hyperref}

% use english
\usepackage[english, british]{babel}

% floating figures
\usepackage{float}

\usepackage{tikz}
\usetikzlibrary{matrix, arrows, decorations}
\tikzset{node distance=2.5em, row sep=2.2em, column sep=2.7em, auto}

\usepackage{graphicx}
\graphicspath{ {./images/} }
\usepackage{caption}
\usepackage{subcaption}

% Matrices have a upper bound for its size
\setcounter{MaxMatrixCols}{20}

% Remove trailing `contents` after toc
\renewcommand{\contentsname}{}

% for the fib arrow
\usepackage{amssymb}

% mathbb for lowercase bbs
\usepackage{bbm}

% Some basic objects
\newcommand{\N}{\mathbb{N}}				% natural numbers
\newcommand{\Np}{{\mathbb{N}^{>0}}}		% positive numbers
\newcommand{\Z}{\mathbb{Z}}				% integers
\newcommand{\R}{\mathbb{R}}				% reals
\renewcommand{\k}{\mathbbm{k}}			% default ground ring

% Basic category stuff
\newcommand{\cat}[1]{\mathbf{#1}}		% the category of ...
\newcommand{\Hom}{\mathbf{Hom}}
\newcommand{\id}{\mathbf{id}}

% Categories
\newcommand{\Set}{\cat{Set}}			% sets
\newcommand{\sSet}{\cat{sSet}}			% simplicial sets
\newcommand{\Top}{\cat{Top}}			% topological spaces
\newcommand{\DELTA}{\cat{\Delta}}		% the simplicial cat
\newcommand{\grMod}[1]{\cat{gr\mbox{-}{#1}Mod}}	% graded modules over a ring
\newcommand{\grAlg}[1]{\cat{gr\mbox{-}{#1}Alg}}	% graded algebras over a ring
\newcommand{\DGA}{\cat{DGA}}			% differential graded algebras
\newcommand{\CDGA}{\cat{CDGA}}			% commutative dgas

\newcommand{\cof}{\hookrightarrow}		% cofibration
\newcommand{\fib}{\twoheadrightarrow}	% fibration
\newcommand{\we}{\tot{\simeq}}			% weak equivalence

% Notation and operators
\newcommand{\I}{\,\mid\,}				% seperator in set notation
\newcommand{\del}{\partial}				% boundary
\newcommand{\iso}{\cong}				% isomorphic
\newcommand{\eq}{\sim}					% homotopic
\newcommand{\tot}[1]{\xrightarrow{\,\,{#1}\,\,}}	% arrow with name
\newcommand{\mapstot}[1]{\xmapsto{\,\,{#1}\,\,}}	% mapsto with name
\DeclareMathOperator*{\colim}{colim}
\DeclareMathOperator*{\tensor}{\otimes}
\DeclareMathOperator*{\bigtensor}{\bigotimes}
\renewcommand{\deg}[1]{{|{#1}|}}

% restriction of a function
\newcommand\restr[2]{{% we make the whole thing an ordinary symbol
  \left.\kern-\nulldelimiterspace % automatically resize the bar with \right
  #1 % the function
  \vphantom{\big|} % pretend it's a little taller at normal size
  \right|_{#2} % this is the delimiter
  }}

% todos
\newcommand{\todo}[1]{
	\addcontentsline{tdo}{todo}{\protect{#1}}
	$\ast$ \marginpar{\tiny $\ast$ #1}
}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}

\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{example}[theorem]{Example}

% headings for a table
\newcommand*{\thead}[1]{\multicolumn{1}{c}{\bfseries #1}}
