114 lines
4.4 KiB
TeX
114 lines
4.4 KiB
TeX
% !TEX root = ../HSRTReport.cls
|
|
% ==============================================================================
|
|
% Table of Contents Configuration Module
|
|
% ==============================================================================
|
|
% Description: Formatting for table of contents, list of figures, and list of tables
|
|
% Author: Frederik Beimgraben
|
|
% License: Creative Commons CC BY 4.0
|
|
% ==============================================================================
|
|
|
|
% ==============================================================================
|
|
% Chapter Grouping and Page Break Control in TOC
|
|
% ==============================================================================
|
|
% Keep chapters with their sections together on the same page if they fit
|
|
% This prevents orphaned chapter titles at the bottom of pages
|
|
|
|
% Add penalties to keep chapter entries with their sections
|
|
\pretocmd{\addchaptertocentry}{%
|
|
\needspace{8\baselineskip}% Ensure space for chapter + at least 2 sections
|
|
}{}{}
|
|
|
|
% Add penalty after chapter to keep first sections together
|
|
\apptocmd{\addchaptertocentry}{%
|
|
\nopagebreak[4]%
|
|
}{}{}
|
|
|
|
% Hook into TOC generation to add spacing and break control
|
|
\AtBeginEnvironment{toc}{%
|
|
% Set penalties for better page breaking
|
|
\clubpenalty=10000
|
|
\widowpenalty=10000
|
|
\interlinepenalty=500
|
|
}
|
|
|
|
% Add vertical space before chapters in TOC for better visual separation
|
|
\RedeclareSectionCommand[
|
|
tocbeforeskip=1.5em plus 0.5em,% Space before chapter entries in TOC
|
|
]{chapter}
|
|
|
|
% ==============================================================================
|
|
% Page Number Formatting in TOC
|
|
% ==============================================================================
|
|
% Configure page number font for different section levels
|
|
\renewcommand\cftchappagefont{\blenderfont\color{gray}}
|
|
\renewcommand\cftsecpagefont{\blenderfont\color{gray}}
|
|
\renewcommand\cftsubsecpagefont{\blenderfont\color{gray}}
|
|
\renewcommand\cftsubsubsecpagefont{\blenderfont\color{gray}}
|
|
|
|
% ==============================================================================
|
|
% Entry Title Formatting in TOC
|
|
% ==============================================================================
|
|
% Configure entry title font for different section levels
|
|
\renewcommand\cftchapfont{\blenderfont\color{gray}}
|
|
\renewcommand\cftsecfont{\blenderfont\color{gray}}
|
|
\renewcommand\cftsubsecfont{\blenderfont\color{gray}}
|
|
\renewcommand\cftsubsubsecfont{\blenderfont\color{gray}}
|
|
|
|
% ==============================================================================
|
|
% Section Command TOC Formatting
|
|
% ==============================================================================
|
|
% Configure TOC entry and page number format for sections and subsections
|
|
\RedeclareSectionCommands[
|
|
tocentryformat=\blenderfont\normalsize,
|
|
tocpagenumberformat=\blenderfont\normalsize,
|
|
tocindent=1.5em,% Indent for sections
|
|
tocnumwidth=2.5em% Width for section numbers
|
|
]{section,subsection}
|
|
|
|
% Add spacing before sections in TOC
|
|
\RedeclareSectionCommand[
|
|
tocbeforeskip=0.5em,% Small space before section entries
|
|
]{section}
|
|
|
|
% Keep sections with their subsections
|
|
\pretocmd{\addsectiontocentry}{%
|
|
\penalty-500% Allow break before sections but discourage it
|
|
}{}{}
|
|
|
|
% Keep subsections together
|
|
\pretocmd{\addsubsectiontocentry}{%
|
|
\nopagebreak[3]%
|
|
}{}{}
|
|
|
|
% ==============================================================================
|
|
% Figure and Table TOC Formatting
|
|
% ==============================================================================
|
|
% Configure font for figure entries in list of figures
|
|
\renewcommand\cftfigfont{\blenderfont}
|
|
\renewcommand\cftfigpagefont{\blenderfont}
|
|
|
|
% Configure font for table entries in list of tables
|
|
\renewcommand\cfttabfont{\blenderfont}
|
|
\renewcommand\cfttabpagefont{\blenderfont}
|
|
|
|
% Configure font for equation entries in list of equations
|
|
% Define robust font commands
|
|
|
|
|
|
% Configure font for listing entries in lstlistings list
|
|
\renewcommand*{\l@lstlisting}[2]{
|
|
\@dottedtocline{1}{1em}{2.3em}
|
|
{\blenderfont#1}
|
|
{\blenderfont#2}
|
|
}
|
|
|
|
% ==============================================================================
|
|
% Dot Separation Configuration
|
|
% ==============================================================================
|
|
% Set spacing between dots in TOC
|
|
% \renewcommand{\cftdotsep}{1.5}
|
|
|
|
% ==============================================================================
|
|
% End of Table of Contents Configuration Module
|
|
% ==============================================================================
|