%% Packages required
\usepackage[export]{adjustbox} % For valign in subfigs
\usepackage[caption=false]{subfig} % Good looking subfigs


%% Abbreviations
\newcommand{\etal}{\textit{et al.}}

\newcommand{\eg}{\textit{e.g.},\ }
\newcommand{\ie}{\textit{i.e.},\ }

\newcommand{\ns}{\textit{n.s.}}

\newcommand{\x}{\texttimes\ }

\newcommand{\vs}{\textit{vs.}\ }


%% Citations
\newcommand{\citeauthorcite}[1]{\citeauthor*{#1}~\cite{#1}}


%% Figures
% example: \fig[1]{universe}{The Universe}[Short title for list of figures]
% reference later with: \figref{universe}
\NewDocumentCommand{\fig}{O{0.8} O{htbp} m m O{#4}}{%
    \begin{figure}[#2]
        \centering%
        \includegraphics[width=#1\linewidth]{#3}%
        \caption[#5]{#4}%
        \label{fig:#3}%
    \end{figure}%
}

\NewDocumentCommand{\figwide}{O{1} O{htbp} m m O{#4}}{%
    \begin{figure*}[#2]
        \centering%
        \includegraphics[width=#1\linewidth]{#3}%
        \caption[#5]{#4}%
        \label{fig:#3}%
    \end{figure*}%
}

\newcommand{\figref}[1]{Fig.~\ref{fig:#1}}


%% Sub-figures
% example:
% \begin{subfigs}{label}{Title}[Short title for list of figures]
%   \subfig[1]{hands-none}[None]%
%   \subfig[1]{hands-occlusion}[Occlusion]%
% \end{subfigs}
% reference later with: \figref{label}
\NewDocumentEnvironment{subfigs}{O{htbp} m m O{#3}}{%
    \begin{figure}[#1]%
        \centering%
        }{%
        \caption[#4]{#3}%
        \label{fig:#2}%
    \end{figure}%
}

\NewDocumentEnvironment{subfigswide}{O{htbp} m m O{#3}}{%
    \begin{figure*}[#1]%
        \centering%
        }{%
        \caption[#4]{#3}%
        \label{fig:#2}%
    \end{figure*}%
}

\NewDocumentCommand{\subfig}{O{0.2} o O{b} m}{%
    \IfValueTF{#2}{%
        \subfloat[#2\label{fig:#4}]{\includegraphics[width=#1\linewidth,valign=#3]{#4}}%
    }{%
        \subfloat{\includegraphics[width=#1\linewidth,valign=#3]{#4}}%
    }%
    \hfill%
}

\newcommand{\topleftsubcaption}{%
    \captionsetup[subfigure]{
        position=top,
        justification=raggedright,
        singlelinecheck=off, % do not center single line captions
        labelfont={scriptsize,sf,md,up}, % smallest size, sans-serif, bold, upright
        %labelformat=simple, % do not add parentheses
        farskip=0pt, % no space between caption and figure
        captionskip=0pt, % no space between caption and subfigure
        margin=3pt % align caption with subfigure
    }%
}

\newcommand{\hidesubcaption}{%
    \captionsetup[subfigure]{
        position=top,
        justification=raggedright,
        labelfont={scriptsize}, % smallest size
        farskip=0pt, % no space between caption and figure
        captionskip=-10pt, % no space between caption and subfigure
        margin=4pt % align caption with subfigure
    }%
}


%% Footnotes
\newcommand{\footnoteurl}[1]{\footnote{\ \url{#1}}}


%% Lists
\renewcommand{\descriptionlabel}[1]{\hspace{\labelsep}\textit{#1}} % Use italics instead of bold for descriptions


%% Maths
\newcommand{\eqref}[1]{Eq.~\ref{eq:#1}}

\newcommand{\measure}[3]{$\mathrm{#1} = \qty{#2}{#3}$}

\newcommand{\chisqr}[3]{$\chi^2(#1, N=#2) = #3$}

\newcommand{\anova}[3]{$\mathrm{F(#1, #2)} = #3$}

\newcommand{\ci}[2]{$\mathrm{CI} = [#1, #2]$}

\newcommand{\friedman}[1]{$\chi^2 = #1$}

\newcommand{\geomean}[2]{\measure{GM}{#1}{#2}}

\newcommand{\iqr}[2]{\measure{IQR}{#1}{#2}}

\newcommand{\kendall}[1]{\measure{\tau}{#1}{}}

\newcommand{\kruskal}[1]{\measure{H}{#1}{}}

\newcommand{\mean}[2]{\measure{M}{#1}{#2}}

\newcommand{\median}[2]{\measure{Mdn}{#1}{#2}}

\newcommand{\p}[2][=]{$\mathrm{p} #1 #2$}
\newcommand{\pinf}[1]{\p[<]{#1}}

\newcommand{\percent}[1]{\qty{#1}{\%}}

\newcommand{\pearson}[1]{\measure{r}{#1}{}}

\newcommand{\sd}[1]{\measure{SD}{#1}{}}

\newcommand{\spearman}[1]{\measure{r_s}{#1}{}}

\newcommand{\tabCI}[2]{{[}#1{,}\,#2{]}}

\newcommand{\ttest}[2]{$\mathrm{t}(#1) = #2$}

\newcommand{\wilcoxon}[1]{\measure{W}{#1}{}}

% From https://tex.stackexchange.com/a/95842
\newenvironment{conditions}{%
\par% maybe you want the list to start with a new line
\vspace{\abovedisplayskip}% some space before
\noindent% don't indent
\tabularx{\linewidth}{>{$}l<{$} @{${}={}$} X@{}}% three columns left-aligned; first one is math-mode, the middle is an equals sign, and the last one is normal
}{%
\endtabularx%
\par% maybe you want the list to end with a new line
\vspace{\belowdisplayskip}% some space after
}


%% References
\newcommand{\secref}[1]{Sec.~\ref{sec:#1}}


%% Structure
\newcommand{\chapterstartoc}[1]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}}
\newcommand{\sectionstartoc}[1]{\section*{#1}\addcontentsline{toc}{section}{#1}}
\newcommand{\subsectionstartoc}[1]{\subsection*{#1}\addcontentsline{toc}{subsection}{#1}}
\newcommand{\subsubsubsection}[1]{\paragraph*{\textit{#1}}}


%% Tables
% example:
% \begin{tab}{label}{Title}
%   \begin{tabular}{cc}
%     \hline
%     \textbf{1} & \textbf{2} \\ \hline
%       3 & 4 \\ \hline
%   \end{tabular}
% \end{tab}
% reference later with: \tabref{label}
\NewDocumentEnvironment{tab}{m m}{%
    \begin{table}%
        \begin{center}
            \caption{#2}%
            \label{tab:#1}%
            }{%
        \end{center}%
    \end{table}%
}

\NewDocumentEnvironment{tabwide}{m m}{%
    \begin{table*}%
        \begin{center}
            \caption{#2}%
            \label{tab:#1}%
            }{%
        \end{center}%
    \end{table*}%
}

\newcommand{\tabrow}[1]{#1 \\ \hline}

\newcommand{\tabref}[1]{Table~\ref{tab:#1}}
