\newcommand{\importchapter}[2]{% Load a chapter (#2) in a path (#1) \cleardoublepage% after a clear double page \graphicspath{{#1/figures/}}% with figures \glsresetall% reset the acronyms \includefrom{#1}{#2}% and relative paths \input in the chapter } \usepackage{titletoc} % Local table of contents \titlecontents{section} [0pt] % left margin {\bfseries} % formatting {\thecontentslabel\quad} % label format {} % before code {\titlerule*[.8pc]{.}\hspace{0.2em}\contentspage} % dots and page \titlecontents{subsection} [2.4em] % left margin {} % formatting {\thecontentslabel\quad} % label format {} % before code {\titlerule*[.8pc]{.}\hspace{0.2em}\contentspage} % dots and page \newcommand{\chaptertoc}{% Print the table of contents for the chapter \hypersetup{linkcolor=black}% \vspace{-1em}% \horizontalrule% \vspace{-1.5em}% \section*{Contents}% Add a section title \vspace{-0.5em}% \startcontents% Start referencing the contents \printcontents{}{1}{}% Print the contents \horizontalrule% \vspace{2em}% } % Add chapter label as prefix to all other sub-labels \NewCommandCopy{\oldlabel}{\label} \newcommand{\labelprefix}{main} \newcommand{\mainlabel}[1]{% \renewcommand{\labelprefix}{#1}% \oldlabel{\labelprefix}% } \renewcommand{\label}[1]{\oldlabel{\labelprefix:#1}} % References \newcommand{\chapref}[1]{Chapter~\ref{#1}} \renewcommand{\eqref}[2][\labelprefix]{Equation~\ref{#1:eq:#2}} \renewcommand{\figref}[2][\labelprefix]{Figure~\ref{#1:fig:#2}} \newcommand{\partref}[1]{Part~\ref{#1}} \renewcommand{\secref}[2][\labelprefix]{Section~\ref{#1:#2}} \renewcommand{\tabref}[2][\labelprefix]{Table~\ref{#1:tab:#2}} \NewEnvironmentCopy{oldequation}{equation} \RenewDocumentEnvironment{equation}{m}{% \begin{oldequation}% \label{\labelprefix:eq:#1}% }{% \end{oldequation}% } % Images % example: \fig[1]{universe}{The Universe}[Additional caption text, not shown in the list of figures] % reference later with: \figref{universe} % 1 = \linewidth = 150 mm \RenewDocumentCommand{\fig}{O{1} O{htbp} m m O{}}{% #1 = width, #2 = position, #3 = filename, #4 = caption, #5 = additional caption \begin{figure}[#2]% \centering% \includegraphics[width=#1\linewidth]{#3}% \caption[#4]{#4#5} \label{fig:#3}% \end{figure}% } \RenewDocumentCommand{\figwide}{O{1} O{htbp} m m O{}}{% #1 = width, #2 = position, #3 = filename, #4 = caption, #5 = additional caption \begin{sidewaysfigure}[#2] \centering% \includegraphics[width=#1\linewidth]{#3}% \caption[#5]{#4#5}% \label{fig:#3}% \end{sidewaysfigure}% } % example: % \begin{subfigs}{label}{Fig title}[Subfig titles] % \subfig{subfig1}% % \subfig[1][htbp]{subfig2}[caption]% % \end{subfigs} % reference later with: \figref{label} \RenewDocumentEnvironment{subfigs}{O{htbp} m m o}{% #1 = position, #2 = label, #3 = filename, #4 = subfig titles \begin{figure}[#1]% \centering% }{% \caption[#3]{% #3% \IfValueTF{#4}{% \begin{enumerate*}[label=\textbf{(\alph*)}]% #4% \end{enumerate*}% }% }% \label{fig:#2}% \end{figure}% } \NewDocumentCommand{\subfigsheight}{m}{% Set the height of the subfigures \setkeys{Gin}{height=#1}% } \RenewDocumentCommand{\subfig}{o O{b} m}{% #1 = width, #2 = valign, #3 = filename \hfill% \subfloat[\label{fig:#3}]{% \IfValueTF{#1}{% \includegraphics[width=#1\linewidth, valign=#2, keepaspectratio]{#3}% }{% \includegraphics[valign=#2, keepaspectratio]{#3}% }% }% \hfill% } \captionsetup{% labelfont={sf,bf,up}, % sans-serif, bold, upright } % Tables \RenewDocumentEnvironment{tab}{O{htbp} m m O{}}{% #1 = position, #2 = label, #3 = title, #4 = additional caption \begin{table}[#1]% \centering% \caption[#3]{#3#4}% \label{tab:#2}% }{% \end{table}% } \RenewDocumentEnvironment{tabwide}{O{htbp} m m O{}}{% #1 = position, #2 = label, #3 = title, #4 = additional caption \begin{sidewaystable}[#1]% \centering% \caption{#3#4}% \label{tab:#2}% }{% \end{sidewaystable}% }