152 lines
4.4 KiB
TeX
152 lines
4.4 KiB
TeX
% !TEX root = ../Main.tex
|
|
% ==============================================================================
|
|
% Table of Contents and Lists
|
|
% ==============================================================================
|
|
% Description: This file generates the table of contents and all document lists
|
|
% including figures, tables, equations, listings, and glossaries.
|
|
% The formatting uses the blenderfont style for consistency.
|
|
% Author: [Your Name]
|
|
% Date: [Date]
|
|
% ==============================================================================
|
|
|
|
% ------------------------------------------------------------------------------
|
|
% Table of Contents
|
|
% ------------------------------------------------------------------------------
|
|
% Generate the main table of contents with custom formatting
|
|
% The blenderfont provides a consistent typographic style
|
|
% ------------------------------------------------------------------------------
|
|
|
|
\newcommand{\offsetA}{\vspace{-5.5em}}
|
|
\newcommand{\offsetB}{\vspace{-1em}}
|
|
|
|
\newpage
|
|
\pagestyle{fancy}
|
|
{
|
|
% Remove title
|
|
\let\oldcontentsname\contentsname
|
|
\renewcommand{\contentsname}{}
|
|
|
|
% Formatting
|
|
\blenderfont
|
|
\chapter*{\oldcontentsname}
|
|
% Configure TOC page breaking to keep chapters with their sections
|
|
% Set penalties to keep related entries together
|
|
\begingroup
|
|
\interlinepenalty=500 % Discourage breaks within entries
|
|
\widowpenalty=10000 % Prevent orphaned lines
|
|
\clubpenalty=10000 % Prevent widowed lines
|
|
\brokenpenalty=10000 % Penalty for hyphenated breaks
|
|
|
|
\makeatletter
|
|
% Add hook to keep short chapters together on same page
|
|
\pretocmd{\l@chapter}{%
|
|
\needspace{10\baselineskip} % Ensure space for chapter + sections
|
|
\nopagebreak[4]% % Strongly discourage break after chapter
|
|
}{}{}
|
|
|
|
% Add vertical spacing before chapters in TOC
|
|
%\pretocmd{\l@chapter}{%
|
|
% \vspace{1.5em plus 0.5em minus 0.2em}% Add space before chapters
|
|
%}{}{}
|
|
|
|
% Keep sections with their chapter
|
|
\pretocmd{\l@section}{%
|
|
\nopagebreak[3]% % Discourage break before first sections
|
|
}{}{}
|
|
\makeatother
|
|
|
|
\offsetA\offsetB
|
|
\tableofcontents
|
|
\endgroup
|
|
}
|
|
|
|
% Add vertical fill to push subsequent content down
|
|
\vspace{\fill}
|
|
|
|
% ------------------------------------------------------------------------------
|
|
% Lists of Figures, Tables, Listings, and Equations
|
|
% ------------------------------------------------------------------------------
|
|
% Generate all lists on a single page with compact spacing
|
|
% The lists will only show entries if they exist
|
|
% ------------------------------------------------------------------------------
|
|
\newpage
|
|
\pagestyle{fancy}
|
|
{
|
|
% Remove titles
|
|
\let\oldlistfigurename\listfigurename
|
|
\let\oldlisttablename\listtablename
|
|
\let\oldlstlistlistingname\lstlistlistingname
|
|
\let\oldlistequationsname\listequationsname
|
|
\renewcommand{\listfigurename}{}
|
|
\renewcommand{\listtablename}{}
|
|
\renewcommand{\lstlistlistingname}{}
|
|
\renewcommand{\listequationsname}{}
|
|
|
|
% Formatting
|
|
\noindent
|
|
\blenderfont
|
|
|
|
% List of Figures
|
|
\chapter*{\oldlistfigurename}
|
|
\offsetA\offsetB
|
|
\listoffigures
|
|
|
|
% List of Tables
|
|
\vspace{1em}
|
|
\chapter*{\oldlisttablename}
|
|
\offsetA\offsetB
|
|
\listoftables
|
|
|
|
% List of Listings
|
|
\vspace{1em}
|
|
\chapter*{\oldlstlistlistingname}
|
|
\offsetB
|
|
\lstlistoflistings
|
|
|
|
% List of Equations
|
|
\vspace{1em}
|
|
\chapter*{\oldlistequationsname}
|
|
\offsetA\offsetB
|
|
\listofmyequations
|
|
}
|
|
|
|
% ------------------------------------------------------------------------------
|
|
% Glossary Section
|
|
% ------------------------------------------------------------------------------
|
|
% Generate glossary and list of acronyms
|
|
% Two separate glossaries are printed:
|
|
% 1. Main glossary with technical terms
|
|
% 2. Acronym list with abbreviations
|
|
% ------------------------------------------------------------------------------
|
|
{
|
|
\noindent
|
|
\blenderfont
|
|
|
|
% --- Main Glossary ---
|
|
% Print main glossary with German header "Wort"
|
|
{
|
|
\renewcommand*{\entryname}{Wort}
|
|
\newpage
|
|
\pagestyle{fancy}
|
|
\vspace*{-2.25em}
|
|
\printglossary
|
|
}
|
|
|
|
% --- Acronym List ---
|
|
% Print acronym glossary with German header "Abkürzung"
|
|
{
|
|
\renewcommand*{\entryname}{Abkürzung}
|
|
\newpage
|
|
\pagestyle{fancy}
|
|
\vspace*{-2.25em}
|
|
\printglossary[type=\acronymtype]
|
|
}
|
|
}
|
|
|
|
% Break pages for following chapters
|
|
\AddToHook{cmd/chapter/before}{\clearpage}
|
|
|
|
% ==============================================================================
|
|
% End of Table of Contents and Lists
|
|
% ==============================================================================
|