168 lines
6.2 KiB
TeX
168 lines
6.2 KiB
TeX
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
|
|
\ProvidesClass{abschlussarbeit}[2024/05/17 abschlussarbeit]
|
|
%% Author: Erich Schubert
|
|
%% Version 0.1, 2024/05/17
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\RequirePackage{ifthen}
|
|
\RequirePackage{iftex}
|
|
\newif\ifTUDO@english\TUDO@englishtrue % Default to English
|
|
\newif\ifTUDO@fira\TUDO@firafalse % Default to Linux Libertine
|
|
\newif\ifTUDO@onehalfspacing\TUDO@onehalfspacingfalse % No extra spacing
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% OPTIONEN (zzgl. KOMA-Script-Optionen, https://komascript.de/~mkohm/scrguide.pdf):
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\RequirePackage{xkeyval}
|
|
% "german" to write in German
|
|
\DeclareOptionX{german}{\TUDO@englishfalse}
|
|
% "deutsch" to write in German
|
|
\DeclareOptionX{deutsch}{\TUDO@englishfalse}
|
|
% "english" to write in English
|
|
\DeclareOptionX{english}{\TUDO@englishtrue}
|
|
% "libertine" for Linux Libertine font (default)
|
|
\DeclareOptionX{libertine}{\TUDO@firafalse}
|
|
% "fira" for Fira fonts
|
|
\DeclareOptionX{fira}{\TUDO@firatrue}
|
|
% "onehalfspacing" to use one-half spacing
|
|
\DeclareOptionX{onehalfspacing}{\TUDO@onehalfspacingtrue}
|
|
% pass other options to Koma script
|
|
\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{scrbook}}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\ProcessOptionsX\relax
|
|
% Load Koma script book class, with some default values
|
|
\LoadClass[a4paper,12pt,parskip=half-,DIV=13,BCOR=10mm,bibliography=totoc,listof=totoc,headings=small]{scrbook}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\usepackage[utf8]{inputenc} % default by now anyway, but csquotes complains otherwise
|
|
\usepackage[T1]{fontenc}
|
|
%%% Babel und csquotes laden
|
|
\ifTUDO@english
|
|
\usepackage[german,english]{babel}
|
|
\usepackage[autostyle=true]{csquotes}
|
|
\else
|
|
\usepackage[english,ngerman]{babel}
|
|
\usepackage[autostyle=true,german=quotes]{csquotes}
|
|
\fi
|
|
|
|
%%% Zeilenabstand
|
|
\ifTUDO@onehalfspacing
|
|
\usepackage[onehalfspacing]{setspace} % Nur wenn der Gutachter darauf besteht.
|
|
\fi
|
|
|
|
%%% Schrift: Linux Libertine + Inconsolata, alternativ alles Fira
|
|
\ifTUDO@fira
|
|
% Alternative Schrift: alles in Fira
|
|
\usepackage[sfdefault,medium,lining,scaled=.9]{FiraSans}
|
|
\usepackage[medium,lining,scaled=.9]{FiraMono}
|
|
\usepackage[italic,basic,noparenthesis]{mathastext}
|
|
\ifpdftex
|
|
\usepackage{newtxsf} % pdflatex version
|
|
\else % LuaLaTeX / XeLaTeX
|
|
\usepackage[math-style=TeX,warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
|
|
\setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase]
|
|
\setmathfont{Fira Sans}[range={up/{num,latin,Latin,greek,Greek},%
|
|
\mathexclam,\mathplus,\pm,\div,\minus,\mathpercent,\mathampersand,%
|
|
\mathquestion,\mathatsign,\increment,\less,\equal,\greater,\ne,\leq,%
|
|
\geq,\matheth,\ell,\partial},%
|
|
Script=Latin,script-features={}, sscript-features={}]
|
|
\setmathfont{Fira Sans Italic}[range={it/{latin,Latin,greek,Greek}}, Script=Latin, script-features={}, sscript-features={}]
|
|
\fi
|
|
\else % Default: Fira nur für Titelseite, sonst Linux Libertine + Inconsolata
|
|
\usepackage[medium,lining,scaled=.9]{FiraSans} % Für Titelseite
|
|
\usepackage{libertine}
|
|
\usepackage[libertine]{newtxmath}
|
|
\ifpdftex
|
|
\usepackage[narrow]{inconsolata}
|
|
\else % LuaLaTeX / XeLaTeX version
|
|
\usepackage{fontspec}\setmonofont{inconsolata}[FakeStretch=0.9]
|
|
\fi
|
|
\fi
|
|
|
|
\usepackage{graphicx}
|
|
\usepackage[svgnames]{xcolor}
|
|
\usepackage{url}
|
|
\definecolor{LinkColor}{RGB}{92,128,17} % Abgedunkelte TU-Farbe
|
|
\usepackage[colorlinks=true,linkcolor=LinkColor,urlcolor=LinkColor,citecolor=LinkColor,anchorcolor=LinkColor,pdfborder={0 0 0}]{hyperref} % ohne Rand
|
|
\usepackage{booktabs}
|
|
\usepackage{enumitem}\setlist{nosep}
|
|
\usepackage{amsmath,mathtools}
|
|
|
|
%%%% Mehr line breaks in URLs erlauben
|
|
\AtBeginDocument{
|
|
\mathchardef\UrlBigBreakPenalty=100\relax\def\UrlBigBreaks{\do\:\do@url@hyp\do\-\do\/}
|
|
\ifcsname biburlsetup\endcsname % falls kein biblatex
|
|
\let\@oldbiburlsetup\biburlsetup\renewcommand*{\biburlsetup}{\@oldbiburlsetup\mathchardef\UrlBigBreakPenalty=100\relax\def\UrlBigBreaks{\do\:\do@url@hyp\do\-\do\/}}%
|
|
\fi
|
|
}
|
|
|
|
\clubpenalty=3000 \widowpenalty=3000 \displaywidowpenalty=3000 % Optional: Witwenzeilen und Waisenzeilen vermeiden. Sie können diese Zeile auskommentieren, wenn das Layout dann schöner ist!
|
|
\raggedbottom % keine großen Abstände um seiten vertikal voll zu machen, macht freien Platz sichtbarer
|
|
|
|
%%%% Table of contents: keine farbigen links, kein one-half spacing
|
|
\addtocontents{toc}{\protect\hypersetup{linkcolor=black}}
|
|
|
|
\ifcsname setstretch\endcsname
|
|
\RequirePackage{xpatch}
|
|
%\xapptocmd{\frontmatter}{\setstretch{1}\KOMAoptions{DIV=current}}{}{} % Vorwort might be fine in 1.5
|
|
\xapptocmd{\mainmatter}{\setstretch{1.5}\KOMAoptions{DIV=current}}{}{}
|
|
\xapptocmd{\nackmatter}{\setstretch{1}\KOMAoptions{DIV=current}}{}{}
|
|
\fi
|
|
|
|
%%%% Titelseite
|
|
\RequirePackage[absolute]{textpos}
|
|
\DeclareRobustCommand{\maketitle}{%
|
|
\ifcsname erstgutachterIn\endcsname\else\errmessage{\\erstgutachterIn nicht gesetzt}\fi
|
|
\ifcsname zweitgutachterIn\endcsname\else\errmessage{\\zweitgutachterIn nicht gesetzt}\fi
|
|
\ifcsname arbeitsgruppe\endcsname\else\errmessage{\\arbeitsgruppe nicht gesetzt}\fi
|
|
\bgroup
|
|
\pagenumbering{alph}
|
|
\begin{titlepage}\firalight
|
|
\ifcsname hypersetup\endcsname\hypersetup{linkcolor=black}\fi% Links nicht hervorheben
|
|
\ifcsname setstretch\endcsname\setstretch{1}\fi% Kein one-half-spacing
|
|
\KOMAoptions{DIV=current}%
|
|
\begin{textblock*}{57.6mm}(23.7mm,11.6mm)%
|
|
\includegraphics[width=57.6mm]{bilder/tu-dortmund-logo.pdf}%
|
|
\end{textblock*}
|
|
%\tikz[remember picture,overlay]{\node[anchor=north west,xshift=23.7mm,yshift=-11.6mm,inner sep=0pt] at (current page.north west){\includegraphics[width=57.6mm]{bilder/tu-dortmund-logo.pdf}}}%
|
|
|
|
\vspace*{4cm}
|
|
\bgroup
|
|
\centering
|
|
\makeatletter
|
|
{\Large \@subject} \\
|
|
\vspace*{1cm}
|
|
{\bfseries\Large \@title} \\
|
|
\vspace*{1cm}
|
|
\@author\\
|
|
%\matrikelnummer{}\\
|
|
\vspace*{5mm}
|
|
\@date
|
|
\par
|
|
\makeatother
|
|
\egroup
|
|
|
|
\vfill
|
|
\bgroup
|
|
\raggedright
|
|
Betreuung: \\
|
|
\erstgutachterIn{} \\
|
|
\zweitgutachterIn{}
|
|
\egroup
|
|
|
|
\vspace*{2.5cm}
|
|
\begin{minipage}[b]{.5\linewidth}\raggedright
|
|
\arbeitsgruppe{}
|
|
\end{minipage}
|
|
\hfill
|
|
% OPTIONAL bei Kooperation mit anderen Lehrstuehlen, falls definiert
|
|
\ifcsname kooperation\endcsname
|
|
\begin{minipage}[b]{.49\linewidth}\raggedleft
|
|
\kooperation{}
|
|
\end{minipage}
|
|
\fi
|
|
\end{titlepage}
|
|
\egroup
|
|
\KOMAoptions{DIV=current} % recompute with previous font
|
|
}
|
|
|
|
\endinput
|