dms/latex/tex/hma.cls

655 lines
20 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

\ProvidesClass{HMA}[2023/09/07 v 0.3 Thesis Template]
\RequirePackage{etoolbox}
\PassOptionsToPackage{internalonly}{scrbase}
\def\@clearglobaloption#1{%
\def\@tempa{#1}%
\def\@tempb{\@gobble}%
\@for\next:=\@classoptionslist\do
{\ifx\next\@tempa
\message{Cleared option \next\space from global list}%
\else
\edef\@tempb{\@tempb,\next}%
\fi}%
\let\@classoptionslist\@tempb
\expandafter\ifx\@tempb\@gobble
\let\@classoptionslist\@empty
\fi}
\newif\ifpapier
\newif\ifdigital
\newif\ifen
\newif\ifcclicense
\newif\ifhslicense
\newif\ifstudlicense
\newif\ifsperrvermerk
\newif\ifgender
\newif\ifsourcecode
\newif\ifsymbols
\newif\ifglossar
\newif\iftc
%\DeclareOption{papier}{\papiertrue\digitalfalse\@clearglobaloption{papier}}
\DeclareOption{de}{\PassOptionsToPackage{english,main=ngerman}{babel}\enfalse} % Deutsche Sprachunterstützung
\DeclareOption{en}{\PassOptionsToPackage{english}{babel}\entrue} % Englische Sprachunterstützung
\DeclareOption{papier}{\papiertrue\digitalfalse}
\DeclareOption{digital}{\digitaltrue\papierfalse}
%Veröffentlichung und Sperrvermerk
\DeclareOption{opensource}{\cclicensetrue\hslicensetrue\sperrvermerkfalse}
\DeclareOption{hs}{\cclicensefalse\hslicensetrue\sperrvermerkfalse}
\DeclareOption{stud}{\cclicensefalse\hslicensefalse\sperrvermerkfalse}
\DeclareOption{vertraulich}{\cclicensefalse\hslicensefalse\sperrvermerktrue}
%Genderhinweis
\DeclareOption{gender}{\gendertrue}
\DeclareOption{nogender}{\genderfalse}
%Listingsverzeichnis ausgeben
\DeclareOption{sourcecode}{\sourcecodetrue}
\DeclareOption{nosourcecode}{\sourcecodefalse}
%Symbolverzeichnis ausgeben
\DeclareOption{symbole}{\symbolstrue}
\DeclareOption{nosymbole}{\symbolsfalse}
%Glossar ausgeben
\DeclareOption{glossar}{\glossartrue}
\DeclareOption{noglossar}{\glossarfalse}
%Track Changes
\DeclareOption{tc}{\tctrue}
\DeclareOption{notc}{\tcfalse}
%\newtoggle{papier}
\ExecuteOptions{en, papier, digital, publizieren, sperrvermerk, gender}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}}
%% Process given options
\ProcessOptions\relax
\LoadClass[%
open=right, % Kapitel darf nur auf rechten Seite beginnen
a4paper, % DIN-A4-Papier
fontsize=12pt, % Schriftgöße
headings=small, % Kleine Überschriften
headsepline=true, % Trennlinie am Kopf der Seite
footsepline=false, % Keine Trennlinie am Fuß der Seite
bibliography=totoc, % Literaturverzeichnis in das Inhaltsverzeichnis aufnehmen
DIV=7, % Verhältnis der Ränder zum bedruckten Bereich
chapterprefix=true, % Kapitel x vor dem Kapitelnamen
cleardoublepage=plain,
numbers=noenddot, % Keine Endpunkte bei der Überschriftennummerierung
listof=totoc %Einträge ins Inhaltsverzeichnis aufnehmen
]{scrbook}
\RequirePackage{blindtext}
\RequirePackage{xparse}
%% Diese Option MUSS!! vor Geometry stehen, da sonst das Layout der Seitenränder durch KOMAOptions überschrieben wird!
%%Abgabe in Papier oder digital
\ifpapier
\newcommand{\hsmafenster}{4mm}
\KOMAoptions{twoside=true}
\else%
\newcommand{\hsmafenster}{0mm}
\KOMAoptions{twoside=false}
\fi%
\RequirePackage[bottom=40mm,left=30mm,right=30mm,top=30mm]{geometry} % Ränder ändern
\RequirePackage{babel}
\RequirePackage[hang,font={sf,footnotesize},labelfont={footnotesize,bf}]{caption} % Beschriftungen
\RequirePackage{zref-totpages}
% Schriftarten für PDFLaTeX und LuaTex
\RequirePackage{iftex}
\ifpdftex% Unterstützung für PDFTeX
\RequirePackage{tgtermes} % Tex Gyre Termes (qtm (Times) als Font für Fließtext)
\RequirePackage[utf8]{inputenc} % Dateien in UTF-8 benutzen
\RequirePackage[T1]{fontenc} % Zeichenkodierung
\RequirePackage{morewrites} % Verhindert Fehlermeldung: No more writes
\RequirePackage[scaled]{helvet} % Schrift Helvetia laden
\RequirePackage{amssymb} % Mathematische Symbole
%% Graphiken als pdf einfügen
\pdfoptionpdfminorversion=8
\else\ifluatex
%LuaTex erwartet standardmäßig utf8
\RequirePackage{fontspec} %Font Unterstützung für LuaTex, welche das Laden von OpenType fonts erlaubt. Fonts müssen im OS verfügbar sein.
\defaultfontfeatures{Ligatures=TeX}
\RequirePackage{unicode-math}
\setromanfont[
Extension=.otf,
UprightFont={*-Regular},
BoldFont={*-Bold},
ItalicFont={*-Italic},
BoldItalicFont={*-BoldItalic}
]{texgyretermes}
\setsansfont[
Scale=MatchLowercase,% or MatchUppercase
Extension=.otf,
UprightFont=*-regular,
ItalicFont=*-italic,
BoldFont=*-bold,
BoldItalicFont=*-bolditalic,
]{texgyreheros}
\fi\fi
\RequirePackage[headsepline]{scrlayer-scrpage}
% Einstellungen für Schriftarten
\setkomafont{pagehead}{\normalfont\sffamily}
\setkomafont{pagenumber}{\normalfont\sffamily}
\setkomafont{paragraph}{\sffamily\bfseries\small}
\setkomafont{subsubsection}{\sffamily\itshape\bfseries\small}
\addtokomafont{footnote}{\footnotesize}
\setkomafont{chapter}{\sffamily\bfseries\LARGE}
% Wichtige Abstände
\setlength\parindent{0pt}
\clubpenalty = 10000 % Keine "Schusterjungen"
\widowpenalty = 10000 % Keine "Hurenkinder"
\displaywidowpenalty = 10000 % Keine "Hurenkinder"
% Siehe: https://de.wikipedia.org/wiki/Hurenkind_und_Schusterjunge
\RequirePackage{scrhack} % tocbasic Warnung entfernen
%Fortlaufende Nummerierung der Fußzeile d.h. wenn die Fußnoten nicht bei jedem Kapitel wieder bei 1 beginnen sollen.
\counterwithout{footnote}{chapter}
\RequirePackage[useregional=numeric]{datetime2} % Datumsformat einstellen
\RequirePackage{ifthen} % Logische Bedingungen mit ifthenelse
\RequirePackage{calc} % Berechnung von Positionen
\RequirePackage{setspace} % Abstände korrigieren
\RequirePackage{graphicx} % Bilder einbinden
\RequirePackage{rotating} % Seiten drehen
\RequirePackage[inline]{enumitem} % eigene Aufzählungen verwenden
\RequirePackage[dvipsnames,svgnames,hyperref,table]{xcolor} % Unterstützung für Farben
% Farben definieren
\definecolor{HMA-linkblue}{RGB}{0, 0, 100}
\definecolor{HMA-linkblack}{RGB}{0, 0, 0}
\definecolor{HMA-comment}{RGB}{63, 127, 95}
\definecolor{HMA-darkgreen}{RGB}{14, 144, 102}
\definecolor{HMA-darkblue}{RGB}{0,0,168}
\definecolor{HMA-darkred}{RGB}{128,0,0}
\definecolor{HMA-javadoccomment}{RGB}{0,0,240}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\RequirePackage{amsmath} % Mathematische Formeln
\RequirePackage{amsfonts} % Mathematische Zeichensätze
\RequirePackage{siunitx} % Darstellung von Einheiten
\RequirePackage[inline]{enumitem} % Eigene Listen definieren können und diese auch innerhalb des Textes nutzen können
\RequirePackage{tikz}
\usetikzlibrary{intersections,decorations.text}
\RequirePackage{url}
\expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks% save the current one
\do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
\do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
\do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D%
\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N%
\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X%
\do\Y\do\Z\do\/\do-}
\RequirePackage[backend=biber,
sorting = none,
%sortlocale=\hsmasortlocale, % Sortierung der Einträge für Deutsch
autocite=inline, % regelt Aussehen für \autocite
% inline: Zitat in Klammern (\parancite)
% footnote: Zitat in Fußnoten (\footcite)
% plain: Zitat direkt ohne Klammern (\cite)
style=numeric, % Legt den Stil für die Angabe im Literaturverzeichnis fest
% numeric: Quellen mit Zahlen [1]
% ieee: Quellen mit Zahlen [1], nach IEEE-Regeln
% alphabetic: Quellen als Kürzel und Jahr [Ein05]
% authoryear: Quellen Author und Jahr [Einstein (1905)]
citestyle=numeric-comp, % Legt den Stil für die Zitate im Text fest
% numeric: Zitate mit Zahlen [1]
% numeric-comp: Kompakte Variante von numeric. [1, 2, 3] wird zu [1-3]
% ieee: Zitate mit Zahlen [1], nach IEEE-Regeln
% alphabetic: Zitate als Kürzel und Jahr [Ein05]
% authoryear: Zitate Author und Jahr [Einstein (1905)]
hyperref=true, % Hyperlinks für Zitate
maxbibnames=999, % Maximale Anzahl der Autoren-Namen im Literaturverzeichnis
maxcitenames=2, % Maximale Anzahl von Namen in einem Zitat
mincitenames=1 % Minimale Anzahl von Namen in einem Zitat
]{biblatex} % Literaturverwaltung mit BibLaTeX
% Trennung von URLs im Literaturverzeichnis (große Werte [> 10000] verhindern die Trennung)
\defcounter{biburlnumpenalty}{10} % Strafe für Trennung in URL nach Zahl
\defcounter{biburlucpenalty}{500} % Strafe für Trennung in URL nach Großbuchstaben
\defcounter{biburllcpenalty}{500} % Strafe für Trennung in URL nach Kleinbuchstaben
% Index erzeugen
\RequirePackage{imakeidx}%
\makeindex[%
options={-g -s hmaindex.ist},%
intoc=true]%
\RequirePackage{array}
\RequirePackage{tabularx} % Spezielle Tabellen
\RequirePackage{longtable} % Tabellen, die mehr als eine Seite umfassen
\RequirePackage{booktabs} % Korrekter Tabellensatz
% Tabellenzellen mit mehreren Zeilen
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{s}{>{\hsize=.3\hsize}l}
\newcolumntype{F}{>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth\relax}X}
\RequirePackage{harveyballs} % Harveyballs
\RequirePackage[acronym,symbols, toc]{glossaries}
\renewcommand*{\glspostdescription}{}
\renewcommand{\glsnamefont}[1]{\textbf{#1}} % Fette Schrift für Abkürzungen
\setlength\LTleft{0pt} %Linksbündige Formatierung
\setlength\LTright{0pt}
\setlength\glsdescwidth{0.8\hsize}
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolslist} % Erstellen Symbolverzeichnis
\glsaddkey{unit}{\glsentrytext{\glslabel}}{\glsentryunit}{\GLsentryunit}{\glsunit}{\Glsunit}{\GLSunit}
\newglossarystyle{symbunitlong}{%
\setglossarystyle{long3col}% base this style on the list style
\renewenvironment{theglossary}{% Change the table type --> 3 columns
\begin{longtable}{lp{0.6\glsdescwidth}>{\centering\arraybackslash}p{2cm}}}%
{\end{longtable}}%
%
\renewcommand*{\glossaryheader}{% Change the table header
\bfseries \hsmasymbsign & \bfseries \hsmasymbdescription & \bfseries \hsmasymbunit \\
\hline
\endhead}
\renewcommand*{\glossentry}[2]{% Change the displayed items
\glstarget{##1}{\glossentryname{##1}} %
& \glossentrydesc{##1}% Description
& \glsunit{##1} \tabularnewline
}
}
\makeglossaries
\RequirePackage{listings} % Quelltexte
%%% Das Paket listings kann keine Multibyte-codierten Zeichen verarbeiten. -> LuaTex :-)
% Einstellungen für Quelltexte
% Richtige Titel für das Quellcodeverzeichnis
\renewcommand\lstlistingname{\hsmalistingcaption}
\renewcommand\lstlistlistingname{\hsmalistings}
\lstset{
backgroundcolor=\color{backcolour},
xleftmargin=0.4cm,
basicstyle=\footnotesize\ttfamily,
keywordstyle=\color{HMA-darkgreen},
identifierstyle=\color{HMA-darkblue},
commentstyle=\color{HMA-comment},
stringstyle=\color{HMA-darkred},
tabsize=2,
lineskip={2pt},
columns=flexible,
inputencoding=utf8,
captionpos=b,
breakautoindent=true,
breakindent=2em,
breaklines=true,
prebreak=,
postbreak=,
numbers=left,
numberstyle=\tiny,
numbersep=5pt,
showspaces=false, % Keine Leerzeichensymbole
showtabs=false, % Keine Tabsymbole
showstringspaces=false,% Leerzeichen in Strings
morecomment=[s][\color{HMA-javadoccomment}]{/**}{*/},
literate={Ö}{{\"O}}1 {Ä}{{\"A}}1 {Ü}{{\"U}}1 {ß}{{\ss}}2 {ü}{{\"u}}1 {ä}{{\"a}}1 {ö}{{\"o}}1
}
\iftc
\RequirePackage[commandnameprefix=always,todonotes={textsize=tiny}]{changes}
\definechangesauthor[name={Betreuer 1}, color=orange]{B1}
\definechangesauthor[name={Betreuer 2}, color=blue]{B2}
\definechangesauthor[name={Author}, color=green]{A}
\else
\RequirePackage[commandnameprefix=always,todonotes={textsize=tiny}, final]{changes}
\definechangesauthor[name={Betreuer 1}, color=orange]{B1}
\definechangesauthor[name={Betreuer 2}, color=blue]{B2}
\definechangesauthor[name={Author}, color=green]{A}
\fi
\RequirePackage{pdfpages}
% Datum auf Titelblatt
\makeatletter
\newcommand{\hsmajahr}{%
\@dtm@year
}
\DTMsavedate{Abgabe}{\hsmaabgabedatum} %Umwandlung des Datums in DateTimeFormat
\newcommand{\hsmadatum}{\DTMusedate{Abgabe}}
% Abschlüsse
% *******************************************************************
\newcommand{\hsmabsc}{Bachelor of Science (B.Sc.)}
\newcommand{\hsmaba}{Bachelor of Arts (B.A.)}
\newcommand{\hsmamaster}{Master of Science (M.Sc.)}
\newcommand{\hsmamastera}{Master of Arts (M.A.)}
\newcommand{\hsmamasterba}{Master of Business Administration (MBA)}
\newcommand{\hsmakoerperschaften}{University of Applied Sciences Mannheim}
\newcommand{\hsmakoerperschaftde}{Technische Hochschule Mannheim}
\newcommand{\hsmakoerperschaftdegenitiv}{Technischen Hochschule Mannheim}
%%Dokumentinformationen
\newcommand{\hsmaabstracttitlede}{Abstrakt}
\newcommand{\hsmaabstracttitleen}{Abstract}
\newcommand{\hsmaautorbib}{\hsmaautornname, \hsmaautorvname} % Autor Nachname, Vorname
\newcommand{\hsmaautor}{\hsmaautorvname \ \hsmaautornname} % Autor Vorname Nachname
%%Sprachdefinitionen
\ifen
\newcommand{\hsmatyp}{\hsmatypen}%
\newcommand{\hsmathesistype}{for the acquisition of the academic degree \hsmagrad}%
\newcommand{\hsmakoerperschaft}{\hsmakoerperschaften}%
\newcommand{\hsmastudiengangname}{Course of Studies: \hsmastudienganglang}%
\newcommand{\hsmastudienganglang}{\hsmastudienganglangen}%
\newcommand{\hsmatitel}{\hsmatitelen}%
\newcommand{\hsmatutor}{Tutors}
\newcommand{\hsmafakultaetlang}{\hsmafakultaetlangen}%
\newcommand{\hsmalistoftables}{List of Tables}%
\newcommand{\hsmalistoffigures}{List of Figures}%
\newcommand{\hsmalistings}{Listings}%
\newcommand{\hsmalistingcaption}{Source Code}% or Listing?
\newcommand{\hsmaindex}{Index}%
\newcommand{\hsmasymbsign}{Sign}
\newcommand{\hsmasymbdescription}{Description}
\newcommand{\hsmasymbunit}{Unit}
\newcommand{\hsmaabbreviations}{List of Abbreviations}%
\newcommand{\hsmalistofsymbols}{List of Symbols}
\newcommand{\hsmaglossary}{Glossary}
\newcommand{\hsmasnowcardanforderung}{Requirement}%
\newcommand{\hsmasnowcardno}{\#}%
\newcommand{\hsmasnowcardart}{Type}%
\newcommand{\hsmasnowcardprio}{Prio}%
\newcommand{\hsmasnowcardtitel}{Title}%
\newcommand{\hsmasnowcardherkunft}{Origin}%
\newcommand{\hsmasnowcardkonflikt}{Conflicts}%
\newcommand{\hsmasnowcardbeschreibung}{Description}%
\newcommand{\hsmasnowcardfitkriterium}{Fit Criterion}%
\newcommand{\hsmasnowcardmaterial}{Supporting Material}%
\newcommand{\hsmaqasanforderung}{QAS}%
\newcommand{\hsmaqasno}{\#}%
\newcommand{\hsmaqasart}{Type}%
\newcommand{\hsmaqasprio}{Prio}%
\newcommand{\hsmaqastitel}{Title}%
\newcommand{\hsmaqasquelle}{Source}%
\newcommand{\hsmaqasstimulus}{Stimulus}%
\newcommand{\hsmaqasartefakt}{Artifact}%
\newcommand{\hsmaqasumgebung}{Environment}%
\newcommand{\hsmaqasantwort}{Response}%
\newcommand{\hsmaqasmass}{Response Measure}%
\else%
\newcommand{\hsmatyp}{\hsmatypde}%
\newcommand{\hsmathesistype}{zur Erlangung des akademischen Grades \hsmagrad}%
\newcommand{\hsmakoerperschaft}{\hsmakoerperschaftde}%
\newcommand{\hsmastudiengangname}{Studiengang \hsmastudienganglangde}%
\newcommand{\hsmastudienganglang}{\hsmastudienganglangde}%
\newcommand{\hsmatitel}{\hsmatitelde}%
\newcommand{\hsmatutor}{Betreuer}%
\newcommand{\hsmafakultaetlang}{\hsmafakultaetlangde}%
\newcommand{\hsmalistoftables}{Tabellenverzeichnis}%
\newcommand{\hsmalistoffigures}{Abbildungsverzeichnis}%
\newcommand{\hsmalistings}{Quellcodeverzeichnis}%
\newcommand{\hsmalistofsymbols}{Symbolverzeichnis}
\newcommand{\hsmaglossary}{Glossar}
\newcommand{\hsmalistingcaption}{Quellcode}% oder Listing?
\newcommand{\hsmasymbsign}{Symbol}
\newcommand{\hsmasymbdescription}{Beschreibung}
\newcommand{\hsmasymbunit}{Einheit}
\newcommand{\hsmaindex}{Index}%
\newcommand{\hsmaabbreviations}{Abkürzungsverzeichnis}%
\newcommand{\hsmasnowcardanforderung}{Anforderung}%
\newcommand{\hsmasnowcardno}{Nr}%
\newcommand{\hsmasnowcardart}{Art}%
\newcommand{\hsmasnowcardprio}{Prio}%
\newcommand{\hsmasnowcardtitel}{Titel}%
\newcommand{\hsmasnowcardherkunft}{Herkunft}%
\newcommand{\hsmasnowcardkonflikt}{Konflikte}%
\newcommand{\hsmasnowcardbeschreibung}{Beschreibung}%
\newcommand{\hsmasnowcardfitkriterium}{Fit-Kriterium}%
\newcommand{\hsmasnowcardmaterial}{Weiteres Material}%
\newcommand{\hsmaqasanforderung}{QAS}%
\newcommand{\hsmaqasno}{Nr}%
\newcommand{\hsmaqasart}{Art}%
\newcommand{\hsmaqasprio}{Prio}%
\newcommand{\hsmaqastitel}{Titel}%
\newcommand{\hsmaqasquelle}{Quelle}%
\newcommand{\hsmaqasstimulus}{Stimulus}%
\newcommand{\hsmaqasartefakt}{Artefakt}%
\newcommand{\hsmaqasumgebung}{Umgebung}%
\newcommand{\hsmaqasantwort}{Antwort}%
\newcommand{\hsmaqasmass}{Maß für Antwort}%
\fi%
% Makros für typographisch korrekte Abkürzungen
\newcommand{\zb}[0]{z.\,B.}
\newcommand{\dahe}[0]{d.\,h.}
\newcommand{\ua}[0]{u.\,a.}
\ifen
\RequirePackage[autostyle=true,english=american]{csquotes} % Englische Anführungszeichen
\RequirePackage[english,breaklinks=true,pdfproducer={},pdfcreator={},plainpages=false,
pdfpagelabels]{hyperref} % Hyperlinks
\newcommand{\hsmasortlocale}{en_US} % Sortierung der Literatur
\else
\RequirePackage[autostyle=true,german=quotes]{csquotes} % Deutsche Anführungszeichen
\RequirePackage[breaklinks=true,pdfproducer={},pdfcreator={},plainpages=false,
pdfpagelabels]{hyperref} % Hyperlinks
\newcommand{\hsmasortlocale}{de_DE}
\fi%
%Hyperref muss vor DocLicense geladen werden!
\newcommand{\hsmacc}{by-sa}
\RequirePackage[type={CC},modifier={\hsmacc},version={4.0}]{doclicense}
% Einstellungen für das Hyperlink-Paket
\hypersetup{
colorlinks=true, % Farbige links verwenden
% allcolors=linkblue,
linktoc=all, % Links im Inhaltsverzeichnis
%Highlight Links in Dokument
linkcolor=HMA-linkblue, % Querverweise
citecolor=HMA-linkblue, % Literaturangaben
filecolor=HMA-linkblue, % Dateilinks
urlcolor=HMA-linkblue % URLs
}
\RequirePackage[atend]{bookmark}
\ExplSyntaxOn
\NewDocumentCommand{\printfilelist}{}
{
\cleardoublepage
\section*{Used ~ packages}
\setlength{\LTleft}{0pt}
\footnotesize
\begin{longtable}{@{} >{\ttfamily}l l >{\raggedright}p{.6\textwidth} @{}}
\toprule
\multicolumn{1}{@{}l}{\bfseries File~name} &
\multicolumn{1}{c}{\bfseries Date} &
\bfseries File~info
\tabularnewline
\midrule
\endhead
\bottomrule
\endfoot
\nobbz_print_filelist:
\end{longtable}
}
\tl_new:N \l_nobbz_filelist_body_tl
\tl_new:N \l_nobbz_fileinfo_tl
\cs_new_protected:Npn \nobbz_print_filelist:
{
\clist_map_inline:cn { @filelist }
{
\nobbz_print_fileinfo:n { ##1 }
}
\tl_use:N \l_nobbz_filelist_body_tl
}
\cs_new_protected:Npn \nobbz_print_fileinfo:n #1
{
\regex_match:nnT { \.(sty|cls)\Z } { #1 }
{
\nobbz_print_pkginfo:n { #1 }
}
}
\cs_new_protected:Npn \nobbz_print_pkginfo:n #1
{
\tl_set_eq:Nc \l_nobbz_fileinfo_tl { ver@#1 }
\tl_replace_once:Nnn \l_nobbz_fileinfo_tl { ~ } { & }
\tl_put_right:Nx \l_nobbz_filelist_body_tl
{
\exp_not:n { #1 }
&
\exp_not:V \l_nobbz_fileinfo_tl
\exp_not:N \tabularnewline
}
}
\ExplSyntaxOff
%% Beinhaltet den Style der Titelseite und des Vor-Text-Teils
\RequirePackage{titlepage}
\AtBeginDocument{%
\setstretch{1.2}
%Schreibe geladene .cls and .sty files in Dokument für Debugging
\listfiles
% Titelblatt, Vor-Text-Teil erzeugen
\input{studiengaenge}
\frontmatter
\titlepg
\newpage
\bibinfo
\newpage
\signaturepage
\newpage
\abstractpage
\newpage
\tableofcontents
\newpage
% Abkürzungsverzeichnis ausgeben
\printglossary[type=\acronymtype, nonumberlist, title=\hsmaabbreviations,style=long]
\newpage
% Abbildungsverzeichnis erzeugen
\listoffigures
% Tabellenverzeichnis erzeugen
\listoftables
\ifsymbols
% Symbolverzeichnis ausgeben
% Wenn Sie kein Symbolverzeichnis haben, kommentieren Sie die folgende Zeile aus
\printglossary[type=symbolslist,style=symbunitlong,title=\hsmalistofsymbols]
\fi
\ifsourcecode
%Sourcecode
\lstlistoflistings
%\IfFileExists{thesis.lol}{\lstlistoflistings}{}
\fi
\newpage
\newcounter{frontmatterpage}
\setcounter{frontmatterpage}{\value{page}}
\sethyp
}
\AtEndDocument{
% \newwrite\loadedtexfiles
% \immediate\openout\loadedtexfiles=listTexFiles.txt
% \immediate\write\loadedtexfiles{\printfilelist}
% \immediate\closeout\loadedtexfiles
%
% \printfilelist
}
%\newcommand{\foo}{FOO}
%\PackageError{ethel}{%
% Your hovercraft is full of eels,\MessageBreak
% and \protect\foo\space is \foo
%}{%
% Oh dear! Somethings gone wrong.\MessageBreak
% \space \space Try typing \space «return»
% \space to proceed, ignoring \protect\foo.
%}
%\fi%