\documentclass[12pt]{article}

% =====================================================================
% latex packages to use
\usepackage{graphicx}               % Required for inserting images
\usepackage{longtable}              % Tables that can overflow pages
\usepackage{setspace}               % for more spacing control
\usepackage{geometry}               % for margin control
\usepackage{tabularx}               % extension of tabular environment that allows dynamic widths
\usepackage{hyperref}               % for referecing stuff
\usepackage{fancyhdr}               % fancy headers
\usepackage{import}                 % advanced document import
\usepackage{pdfpages}               % include multipage pdf documents
\usepackage{tikz}                   % graphics, diagrams, logic
\usepackage{imakeidx}               % inhaltsverzeichnis
\usepackage{nomencl}                % nomenclature
\usepackage{acro}                   % acronyms
\usepackage[ngerman]{babel}         % german language support
\usepackage[labelfont=bf]{caption}  % make caption title fat
\usepackage{wrapfig}                % for figures wrapping text wraps around
\usepackage[cache=false]{minted}    % highlighted code blocks
\usepackage[toc,style=altlist]{glossaries}
\usepackage{tocloft}                % control over the typography of the Table of Contents, etc.
\usepackage{listings}               % code listings
\usepackage{color}                  % more colors
\usepackage{tikz-imagelabels}       % overlay labels for images
\usepackage{cite}                   % citation for bibliography
\usepackage{amssymb}                % provides enhancements for mathematical formulas
% \usepackage[utf8]{inputenc}         % load files via \input as UTF-8, enabled by default since 2018
\usepackage{pgfplots}               % visualization tool ideal for creating scientific/technical graphics
\usepackage{float}                  % extra option to place tables, figures etc.
\usepackage{amsmath}                % better layout strategies for compliacted/larger equations
\usepackage{multicol}               % multi column page layouts

\makeindex
\makenomenclature
\makeglossaries
\makenomenclature

% include acronym definitions
\input{acros}
\input{glossary}
\input{nomencl.tex}
\input{config/bibtex}
% include file with fixes and workaround
% as well as special settings
\input{extra/fixes}
% article page geometry configuration
\input{config/geomerty}

\begin{document}

    % =====================================================================
    % include configuration files
    \input{config/author}  % meta information about author 
    \input{config/pages}   % set page configuration
    \input{config/minted}  % set minted configuration
    
    \input{extra/utils}  % some utility stuff
    
    % =====================================================================
    % meta pages will have roman line numbering
    \pagenumbering{Roman}
    
    % include documents in the directory pages/
    \input{pages/page-01-title}
    \input{pages/page-02-indipendence-declaration}
    \input{pages/page-03-lock-notice}
    \input{pages/page-04-geschlechter-hinweis.tex}
    \input{pages/page-05-abstract.tex}
    \input{pages/page-06-summary.tex}
    \input{pages/page-07-preface.tex}
    \input{pages/page-08-indices.tex}

    % =====================================================================
    % chapter
    \pagenumbering{arabic}

    % add section title to header
    \pagestyle{fancy}
    \fancyhead[L]{\nouppercase{\leftmark}}  
    % include all used chapters
    \input{config/chapter.tex}

    \begin{minted}{python3}
        if __name__ != "main":
            exit(1)
    \end{minted}

    % source references follow content of article
    \input{pages/page-09-bibliography}

\end{document}
