mirror of
https://github.com/13hannes11/bachelor_thesis.git
synced 2024-09-04 01:11:00 +02:00
renamed folders to allow inserting folders in between
This commit is contained in:
273
20_Proposal/sdqthesis.cls
Normal file
273
20_Proposal/sdqthesis.cls
Normal file
@@ -0,0 +1,273 @@
|
||||
%% LaTeX2e class for student theses
|
||||
%% sdthesis.cls
|
||||
%%
|
||||
%% Karlsruhe Institute of Technology
|
||||
%% Institute for Program Structures and Data Organization
|
||||
%% Chair for Software Design and Quality (SDQ)
|
||||
%%
|
||||
%% Dr.-Ing. Erik Burger
|
||||
%% burger@kit.edu
|
||||
%%
|
||||
%% Version 1.3.3, 2018-04-17
|
||||
%%
|
||||
%% SVN-Informationen:
|
||||
%% ------------------
|
||||
%% $LastChangedBy: burger $
|
||||
%% $LastChangedRevision: 5524 $
|
||||
%% $LastChangedDate: 2018-04-17 16:49:27 +0200 (Di, 17 Apr 2018) $
|
||||
%% $HeadURL: https://svnserver.informatik.kit.edu/i43/svn/lehre/Abschlussarbeiten-Vorlage/sdqthesis.cls $
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{sdqthesis}[2017/08/01 v1.3.2 Student thesis class]
|
||||
% Language options. German is also needed in English thesis for the abstract
|
||||
\DeclareOption{ngerman}{\PassOptionsToPackage{\CurrentOption}{babel}}
|
||||
\DeclareOption{english}{\PassOptionsToPackage{main=\CurrentOption,ngerman}{babel}}
|
||||
% Oneside and twoside layout
|
||||
\DeclareOption{oneside}{\PassOptionsToClass{\CurrentOption,BCOR=10mm}{scrbook}}
|
||||
\DeclareOption{twoside}{\PassOptionsToClass{\CurrentOption,BCOR=20mm}{scrbook}}
|
||||
\ProcessOptions\relax
|
||||
% Used to detect language families
|
||||
\RequirePackage{translations}
|
||||
|
||||
%% ---------------------------------------------------------------
|
||||
%% | Based on KOMAscript by Markus Kohm http://www.komascript.de |
|
||||
%% ---------------------------------------------------------------
|
||||
\LoadClass[12pt,a4paper,titlepage=true,DIV=15,headsepline]{scrbook}
|
||||
|
||||
%% ---------------
|
||||
%% | Page Layout |
|
||||
%% ---------------
|
||||
\RequirePackage[headsepline,draft=false]{scrlayer-scrpage}
|
||||
\pagestyle{scrheadings}
|
||||
|
||||
% For one-sided layout, put the page marks on the right margin
|
||||
\if@twoside%
|
||||
\else%
|
||||
\chead[]{}
|
||||
\ohead{\headmark}
|
||||
\cfoot[]{}
|
||||
\ofoot[\pagemark]{\pagemark}
|
||||
\fi%
|
||||
|
||||
\clubpenalty=10000 %prevent orphans
|
||||
\widowpenalty=10000 %prevent widows
|
||||
|
||||
%% --------------
|
||||
%% | Typography |
|
||||
%% --------------
|
||||
|
||||
% T1 font encoding
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
|
||||
% serif type: Linux Libertine
|
||||
\RequirePackage{libertine}
|
||||
% Linux Libertine in math mode
|
||||
\RequirePackage[libertine]{newtxmath}
|
||||
|
||||
% grotesque type: Adobe Source Sans Pro
|
||||
\RequirePackage[scaled=.92]{sourcesanspro}
|
||||
|
||||
% monospace type: Bera Mono
|
||||
\RequirePackage[scaled=.78]{beramono}
|
||||
|
||||
% semi-bold type (for subsections and paragraphs)
|
||||
\newcommand*{\sbdefault}{sb}
|
||||
\DeclareRobustCommand{\sbseries}{%
|
||||
\not@math@alphabet\sbseries\relax
|
||||
\fontseries\sbdefault\selectfont}
|
||||
|
||||
\DeclareTextFontCommand{\textsb}{\sbseries}
|
||||
|
||||
\addtokomafont{subsection}{\sbseries}
|
||||
\addtokomafont{subsubsection}{\sbseries}
|
||||
\addtokomafont{paragraph}{\sbseries}
|
||||
|
||||
% microtype for nicer typography
|
||||
\RequirePackage[protrusion=true,expansion=true]{microtype}
|
||||
|
||||
% commands for code and model keywords in text
|
||||
\newcommand{\code}[1]{\texttt{\hyphenchar\font45\relax #1}}
|
||||
\newcommand{\model}[1]{\textsf{#1}}
|
||||
|
||||
% nicer spacing for enumerations
|
||||
\RequirePackage{enumitem}
|
||||
|
||||
%% --------------
|
||||
%% | Title page |
|
||||
%% --------------
|
||||
|
||||
% Logos
|
||||
\makeatletter
|
||||
|
||||
\newcommand{\theexternallogo}{sdqlogo}
|
||||
\newcommand{\externallogo}[1]{\renewcommand{\theexternallogo}{#1}}
|
||||
\newcommand{\printexternallogo}{\includegraphics[height=1.8cm]{logos/\theexternallogo}}
|
||||
\newcommand{\noexternallogo}{\renewcommand{\printexternallogo}{}}
|
||||
|
||||
\newcommand{\thecompanylogo}{sdqlogo}
|
||||
\newcommand{\companylogo}[1]{\renewcommand{\thecompanylogo}{#1}}
|
||||
\newcommand{\printcompanylogo}{\includegraphics[height=1.8cm]{logos/\thecompanylogo}}
|
||||
\newcommand{\nocompanylogo}{\renewcommand{\printcompanylogo}{}}
|
||||
|
||||
\newcommand{\thesecondgrouplogo}{sdqlogo}
|
||||
\newcommand{\secondgrouplogo}[1]{\renewcommand{\thesecondgrouplogo}{#1}}
|
||||
\newcommand{\printsecondgrouplogo}{\includegraphics[height=1.8cm]{logos/\thesecondgrouplogo}}
|
||||
\newcommand{\nosecondgrouplogo}{\renewcommand{\printsecondgrouplogo}{}}
|
||||
|
||||
\newcommand{\thegrouplogo}{sdqlogo}
|
||||
\newcommand{\grouplogo}[1]{\renewcommand{\thegrouplogo}{#1}}
|
||||
\newcommand{\printgrouplogo}{\includegraphics[height=1.8cm]{logos/\thegrouplogo}}
|
||||
\newcommand{\nogrouplogo}{\renewcommand{\printgrouplogo}{}}
|
||||
|
||||
\titlehead{%
|
||||
% KIT logo german/english
|
||||
\ifcurrentbaselanguage{English}
|
||||
{\includegraphics[height=1.8cm]{logos/kitlogo_en_cmyk}}
|
||||
{\includegraphics[height=1.8cm]{logos/kitlogo_de_cmyk}}
|
||||
\hfill
|
||||
% SDQ logo
|
||||
\printexternallogo
|
||||
\hspace{5mm}
|
||||
\printcompanylogo
|
||||
\hspace{5mm}
|
||||
\printsecondgrouplogo
|
||||
\hspace{5mm}
|
||||
\printgrouplogo
|
||||
\hspace{5mm}
|
||||
\ThisCenterWallPaper{1}{title-background.pdf}
|
||||
}
|
||||
|
||||
%
|
||||
\setkomafont{title}{\huge\sffamily\bfseries}
|
||||
\setkomafont{subtitle}{\normalfont\large}
|
||||
|
||||
\uppertitleback{Karlsruher Institut für Technologie\\ Fakultät für Informatik\\ Postfach 6980\\ 76128 Karlsruhe}
|
||||
|
||||
%% variables for title page
|
||||
\newcommand{\theinstitute}{\ifcurrentbaselanguage{English}
|
||||
{Institute for Program Structures and Data Organization (IPD)}
|
||||
{Institut für Programmstrukturen und Datenorganisation (IPD)}}
|
||||
\newcommand{\thethesistype}{}
|
||||
\newcommand{\thereviewerone}{}
|
||||
\newcommand{\thereviewertwo}{}
|
||||
\newcommand{\theadvisorone}{}
|
||||
\newcommand{\theadvisortwo}{}
|
||||
\newcommand{\theeditstart}{}
|
||||
\newcommand{\theeditend}{}
|
||||
|
||||
%% formatting commands for titlepage
|
||||
\newcommand{\thesistype}[1]{\subtitle{\vskip2em #1 \ifcurrentbaselanguage{English}{of}{von}}%
|
||||
\renewcommand{\thethesistype}{#1}}
|
||||
\newcommand{\myinstitute}[1]{\renewcommand{\theinstitute}{#1}}
|
||||
\newcommand{\reviewerone}[1]{\renewcommand{\thereviewerone}{#1}}
|
||||
\newcommand{\reviewertwo}[1]{\renewcommand{\thereviewertwo}{#1}}
|
||||
\newcommand{\advisorone}[1]{\renewcommand{\theadvisorone}{#1}}
|
||||
\newcommand{\advisortwo}[1]{\renewcommand{\theadvisortwo}{#1}}
|
||||
|
||||
\newcommand{\editingtime}[2]{%
|
||||
\renewcommand{\theeditstart}{#1}%
|
||||
\renewcommand{\theeditend}{#2}%
|
||||
%% do not show the date
|
||||
\date{}
|
||||
}
|
||||
|
||||
\newcommand{\settitle}{%
|
||||
\publishers{%
|
||||
\large
|
||||
\ifcurrentbaselanguage{English}{at the Department of Informatics}%
|
||||
{an der Fakultät für Informatik}\\
|
||||
\theinstitute\\[2em]
|
||||
\begin{tabular}{l l}
|
||||
\ifcurrentbaselanguage{English}{Reviewer}{Erstgutachter}: & \thereviewerone\\
|
||||
\ifcurrentbaselanguage{English}{Second reviewer}{Zweitgutachter}: & \thereviewertwo\\
|
||||
\ifcurrentbaselanguage{English}{Advisor}{Betreuender Mitarbeiter}: & \theadvisorone\\
|
||||
% if there is no second advisor, do not output this line
|
||||
\ifthenelse{\equal{\theadvisortwo}{}}{}{%
|
||||
\ifcurrentbaselanguage{English}{Second advisor}{Zweiter betreuender Mitarbeiter}: & \theadvisortwo\\
|
||||
}
|
||||
\end{tabular}
|
||||
\vskip2em
|
||||
\theeditstart{} -- \theeditend
|
||||
}
|
||||
}
|
||||
|
||||
%% -----------------------------
|
||||
%% | Abstract/Acknowledgements |
|
||||
%% -----------------------------
|
||||
|
||||
\newcommand{\abstract}[1][\abstractname]{\chapter*{#1}}
|
||||
\newcommand{\Abstract}[1][\abstractname]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}}
|
||||
|
||||
\def\ackname{Acknowledgments}
|
||||
\def\abstractname{Abstract}
|
||||
\def\switcht@deutsch{\svlanginfo
|
||||
\def\ackname{Danksagung}
|
||||
\def\abstractname{Kurzfassung}
|
||||
}
|
||||
\def\switcht@english{\svlanginfo
|
||||
\def\ackname{Acknowledgements}
|
||||
\def\abstractname{Abstract}
|
||||
}
|
||||
|
||||
%% In English theses, an additional German Abstract is needed.
|
||||
\newcommand{\includeabstract}{
|
||||
\ifcurrentbaselanguage{English}{
|
||||
% include English and German abstracts
|
||||
\input{sections/abstract_en.tex}
|
||||
\begin{otherlanguage}{ngerman}
|
||||
\input{sections/abstract_de.tex}
|
||||
\end{otherlanguage}
|
||||
}{
|
||||
% include only German abstract
|
||||
\include{sections/abstract_de}
|
||||
}
|
||||
}
|
||||
|
||||
%% ------------
|
||||
%% | Packages |
|
||||
%% ------------
|
||||
|
||||
% draft mode
|
||||
\RequirePackage{ifdraft}
|
||||
\RequirePackage{ifthen}
|
||||
|
||||
% enumerate subsubsections
|
||||
\setcounter{secnumdepth}{3}
|
||||
|
||||
% wallpaper for title page (KIT-Frame)
|
||||
\RequirePackage{wallpaper}
|
||||
|
||||
% subimport of files
|
||||
\RequirePackage{import}
|
||||
|
||||
% languages
|
||||
\RequirePackage{babel}
|
||||
|
||||
% hyphenation for compound words
|
||||
\RequirePackage[shortcuts]{extdash}
|
||||
|
||||
% nice tables
|
||||
\RequirePackage{booktabs}
|
||||
\RequirePackage{longtable}
|
||||
\RequirePackage{array}
|
||||
|
||||
% show graphics in draft mode
|
||||
\RequirePackage{graphicx}
|
||||
\setkeys{Gin}{draft=false}
|
||||
|
||||
% appendix
|
||||
\RequirePackage[toc,title,header]{appendix}
|
||||
\noappendicestocpagenum
|
||||
|
||||
% PDF specific packages
|
||||
\RequirePackage[hyphens]{url}
|
||||
\RequirePackage[breaklinks,colorlinks=false]{hyperref}
|
||||
\newcommand\setpdf{\hypersetup{%
|
||||
pdftitle={\thethesistype},%
|
||||
pdfsubject={\@title},%
|
||||
pdfauthor={\@author},%
|
||||
pdfborder={0 0 0},%
|
||||
}%
|
||||
\let\theauthor\@author
|
||||
}
|
||||
Reference in New Issue
Block a user