refactor: Move all contents of .cls to submodules

This commit is contained in:
Frederik Beimgraben 2025-10-29 23:45:50 +01:00
parent 37969db7c6
commit d28b0751da
9 changed files with 117 additions and 111 deletions

View File

@ -0,0 +1,36 @@
% !TEX root = ../HSRTReport.cls
% ==============================================================================
% Equations Configuration Module
% ==============================================================================
% Description: Configuration for equation lists and equation formatting
% Author: Frederik Beimgraben
% License: Creative Commons CC BY 4.0
% ==============================================================================
% ==============================================================================
% List of Equations Configuration
% ==============================================================================
% Define custom list for equations
\newcommand{\listequationsname}{List of Equations}
\newlistof{myequations}{equ}{\listequationsname}
% Define equation name for references
\newcommand{\equationname}{Equation}
% ==============================================================================
% Equation List Commands
% ==============================================================================
% Command to add equations to the list
\newcommand{\myequations}[1]{%
\addcontentsline{equ}{myequations}{\protect\equationname~\numberline{\theequation:} #1}\par}
% ==============================================================================
% Equation Counter Configuration
% ==============================================================================
% Remove chapter dependency from equation counter
% (This allows continuous equation numbering throughout the document)
\counterwithout{equation}{chapter}
% ==============================================================================
% End of Equations Configuration Module
% ==============================================================================

View File

@ -1,6 +0,0 @@
% !TEX root = ../../Main.tex
\setlist[itemize]{leftmargin=*, itemsep=0pt, parsep=0pt}
\captionsetup[subfigure]{labelfont=rm,justification=centerlast,font=small,margin=50pt}
\floatsetup[table]{capposition=top}
\floatsetup[image]{capposition=bottom}

View File

@ -1,10 +1,28 @@
%!TEX root = ../../Main.tex % !TEX root = ../HSRTReport.cls
% ==============================================================================
% Glossary Configuration Module
% ==============================================================================
% Description: Glossary and acronym list configuration and styling
% Author: Frederik Beimgraben
% License: Creative Commons CC BY 4.0
% ==============================================================================
% ==============================================================================
% Glossary Initialization
% ==============================================================================
\makeglossaries \makeglossaries
% ==============================================================================
% Column Type Definitions
% ==============================================================================
% Define custom column types for glossary tables
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p{#1}} \newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}p{#1}} \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}p{#1}} \newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
% ==============================================================================
% Custom Glossary Style
% ==============================================================================
\newglossarystyle{manualfixedwidth}{ \newglossarystyle{manualfixedwidth}{
\setglossarystyle{long3colheader} \setglossarystyle{long3colheader}
\renewenvironment{theglossary} \renewenvironment{theglossary}
@ -20,17 +38,35 @@
\renewcommand{\arraystretch}{1.1} \renewcommand{\arraystretch}{1.1}
} }
% Apply the custom glossary style
\setglossarystyle{manualfixedwidth} \setglossarystyle{manualfixedwidth}
% ==============================================================================
% Glossary Labels and Settings
% ==============================================================================
% German labels for glossary columns
\renewcommand*{\entryname}{Wort/Abkürzung} \renewcommand*{\entryname}{Wort/Abkürzung}
\renewcommand*{\descriptionname}{Bedeutung} \renewcommand*{\descriptionname}{Bedeutung}
\renewcommand*{\pagelistname}{Seite(n)} \renewcommand*{\pagelistname}{Seite(n)}
% Enable hyperlinks in glossary
\glsenablehyper \glsenablehyper
% Disable page breaks between glossary groups
\renewcommand*{\glsclearpage}{} \renewcommand*{\glsclearpage}{}
% German name for acronym list
\renewcommand{\acronymname}{Abkürzungsverzeichnis} \renewcommand{\acronymname}{Abkürzungsverzeichnis}
%%% https://golatex.de/viewtopic.php?t=23348 % ==============================================================================
% masculine genitive % Custom Glossary Keys for German Grammar
% ==============================================================================
% Source: https://golatex.de/viewtopic.php?t=23348
% These keys enable proper German declension in glossary entries
% ------------------------------------------------------------------------------
% Genitive Case (Genitiv)
% ------------------------------------------------------------------------------
\glsaddkey \glsaddkey
{genitive}% key {genitive}% key
{}% default value {}% default value
@ -40,7 +76,9 @@
{\Glsgen}% link ucfirst cs {\Glsgen}% link ucfirst cs
{\GLSgen}% link all caps cs {\GLSgen}% link all caps cs
% dative % ------------------------------------------------------------------------------
% Dative Case (Dativ)
% ------------------------------------------------------------------------------
\glsaddkey \glsaddkey
{dative}% key {dative}% key
{}% default value {}% default value

View File

@ -0,0 +1,30 @@
% !TEX root = ../HSRTReport.cls
% ==============================================================================
% Hyperref Configuration Module
% ==============================================================================
% Description: Configure hyperlinks, PDF metadata, and link colors
% Author: Frederik Beimgraben
% License: Creative Commons CC BY 4.0
% ==============================================================================
% ==============================================================================
% PDF and Hyperlink Configuration
% ==============================================================================
% Note: hyperref package is already loaded in Config/Imports/Document.tex
\hypersetup{
pdfpagemode={UseOutlines}, % Show bookmarks on opening
bookmarksopen=true, % Open bookmark tree
bookmarksopenlevel=0, % Level to which bookmarks are open
hypertexnames=false, % Use guessable names for links
colorlinks=true, % Color links instead of boxes
citecolor=[rgb]{0.286, 0.427, 0.537}, % Citation link color (blue-gray)
linkcolor=[rgb]{0.161, 0.31, 0.427}, % Internal link color (dark blue)
urlcolor=[rgb]{0.071, 0.212, 0.322}, % URL link color (dark teal)
pdfstartview={FitV}, % Fit page width in viewer
unicode, % Allow unicode characters
breaklinks=true % Allow links to break across lines
}
% ==============================================================================
% End of Hyperref Configuration Module
% ==============================================================================

View File

@ -17,11 +17,14 @@
\renewcommand{\headrulewidth}{0pt} \renewcommand{\headrulewidth}{0pt}
% ============================================================================== % ==============================================================================
% Header and Footer Setup % Page Number Configuration
% ============================================================================== % ==============================================================================
% Set page number font style % Set page number font style
\setkomafont{pagenumber}{\color{gray}\blenderfont\selectfont} \setkomafont{pagenumber}{\color{gray}\blenderfont\selectfont}
% ==============================================================================
% Header and Footer Setup
% ==============================================================================
% Clear all header and footer fields % Clear all header and footer fields
\fancyhf{} \fancyhf{}

View File

@ -1,4 +1,4 @@
% !TEX root = ../../HSRTReport.cls % !TEX root = ../HSRTReport.cls
% ============================================================================== % ==============================================================================
% Sections Configuration Module % Sections Configuration Module
% ============================================================================== % ==============================================================================

View File

@ -1,4 +1,4 @@
% !TEX root = ../../HSRTReport.cls % !TEX root = ../HSRTReport.cls
% ============================================================================== % ==============================================================================
% Table of Contents Configuration Module % Table of Contents Configuration Module
% ============================================================================== % ==============================================================================

View File

@ -64,104 +64,6 @@
% Graphics and TikZ packages % Graphics and TikZ packages
\input{\classPath/Config/Imports/Graphics} \input{\classPath/Config/Imports/Graphics}
% ==============================================================================
% Hyperref Configuration
% ==============================================================================
% Hyperref already loaded in Imports-Document
\hypersetup{
pdfpagemode={UseOutlines},
bookmarksopen=true,
bookmarksopenlevel=0,
hypertexnames=false,
colorlinks=true,
citecolor=[rgb]{0.286, 0.427, 0.537},
linkcolor=[rgb]{0.161, 0.31, 0.427},
urlcolor=[rgb]{0.071, 0.212, 0.322},
pdfstartview={FitV},
unicode,
breaklinks=true
}
% Font and page setup are loaded from configuration modules
% ==============================================================================
% Title Page Configuration
% ==============================================================================
\setkomafont{pagenumber}{\color{gray}\blenderfont\selectfont}
\fancyhf{}
\fancyhead[L]{\color{gray}\blenderfont \@title}
\fancyhead[R]{\pagemark}
\fancyfoot[C]{}
\fancypagestyle{fancy}{
\fancyhf{}
\fancyhead[L]{\color{gray}\blenderfont \@title}
\fancyhead[R]{\pagemark}
\fancyfoot[C]{}
}
% Set font for all headings
\setkomafont{disposition}{\blenderfont\bfseries}
\setkomafont{chapter}{\Large\blenderfont\bfseries}
\setkomafont{section}{\Large\blenderfont\bfseries}
\setkomafont{subsection}{\large\blenderfont\bfseries}
\setkomafont{subsubsection}{\large\blenderfont\bfseries}
\RedeclareSectionCommand[
beforeskip=1ex,
afterskip=0.5ex,
style=section
]{chapter}
\RedeclareSectionCommands[
beforeskip=0.6ex,
afterskip=0.3ex,
]{section,subsection,subsubsection}
\newcommand{\decoRule}{\rule{.8\textwidth}{.4pt}}
% ==============================================================================
% Table of Contents Configuration
% ==============================================================================
% Page Numbering in the Table of Contents
\renewcommand\cftchappagefont{\blenderfont\color{gray}}
\renewcommand\cftsecpagefont{\blenderfont\color{gray}}
\renewcommand\cftsubsecpagefont{\blenderfont\color{gray}}
\renewcommand\cftsubsubsecpagefont{\blenderfont\color{gray}}
% Chap/Sec/... Title in the Table of Contents
\renewcommand\cftchapfont{\blenderfont\color{gray}}
\renewcommand\cftsecfont{\blenderfont\color{gray}}
\renewcommand\cftsubsecfont{\blenderfont\color{gray}}
\renewcommand\cftsubsubsecfont{\blenderfont\color{gray}}
\RedeclareSectionCommands[
tocentryformat=\blenderfont\normalsize,
tocpagenumberformat=\blenderfont\normalsize
]{section,subsection}
% Figure and Table in the Table of Contents
\renewcommand\cftfigfont{\blenderfont\color{gray}}
\renewcommand\cftfigpagefont{\blenderfont\color{gray}}
\renewcommand\cfttabfont{\blenderfont\color{gray}}
\renewcommand\cfttabpagefont{\blenderfont\color{gray}}
\renewcommand{\cftdotsep}{1.5}
% List of equations
\newcommand{\listequationsname}{List of Equations}
\newlistof{myequations}{equ}{\listequationsname}
\newcommand{\equationname}{Equation}
% Command to add equations to the list
\newcommand{\myequations}[1]{%
\addcontentsline{equ}{myequations}{\protect\equationname~\numberline{\theequation:} #1}\par}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
\counterwithout{equation}{chapter}
% ============================================================================== % ==============================================================================
% Module Includes % Module Includes
% ============================================================================== % ==============================================================================
@ -170,10 +72,13 @@
% ------------------------------------------------------------------------------ % ------------------------------------------------------------------------------
% Configuration Modules % Configuration Modules
% ------------------------------------------------------------------------------ % ------------------------------------------------------------------------------
\input{\classPath/Config/Hyperref}
\input{\classPath/Config/Fonts} \input{\classPath/Config/Fonts}
\input{\classPath/Config/PageSetup} \input{\classPath/Config/PageSetup}
\input{\classPath/Config/Sections}
\input{\classPath/Config/GlossarySettings} \input{\classPath/Config/GlossarySettings}
\input{\classPath/Config/ToC} \input{\classPath/Config/ToC}
\input{\classPath/Config/Equations}
\input{\classPath/Config/Floats} \input{\classPath/Config/Floats}
\input{\classPath/Config/Typography} \input{\classPath/Config/Typography}

BIN
Main.pdf

Binary file not shown.