summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/scientific-thesis-cover
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/scientific-thesis-cover
Initial commit
Diffstat (limited to 'macros/latex/contrib/scientific-thesis-cover')
-rw-r--r--macros/latex/contrib/scientific-thesis-cover/CHANGELOG.md64
-rw-r--r--macros/latex/contrib/scientific-thesis-cover/README.md165
-rw-r--r--macros/latex/contrib/scientific-thesis-cover/demo.pdfbin0 -> 66355 bytes
-rw-r--r--macros/latex/contrib/scientific-thesis-cover/demo.tex19
-rwxr-xr-xmacros/latex/contrib/scientific-thesis-cover/release.bat11
-rw-r--r--macros/latex/contrib/scientific-thesis-cover/scientific-thesis-cover.pdfbin0 -> 139935 bytes
-rw-r--r--macros/latex/contrib/scientific-thesis-cover/scientific-thesis-cover.sty393
7 files changed, 652 insertions, 0 deletions
diff --git a/macros/latex/contrib/scientific-thesis-cover/CHANGELOG.md b/macros/latex/contrib/scientific-thesis-cover/CHANGELOG.md
new file mode 100644
index 0000000000..b1cb41f460
--- /dev/null
+++ b/macros/latex/contrib/scientific-thesis-cover/CHANGELOG.md
@@ -0,0 +1,64 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](http://keepachangelog.com/).
+Since version 4.0.0, this project adheres to [Semantic Versioning](http://semver.org/).
+
+## [4.0.2] - 2018-06-03
+
+## Fixed
+- Also include `demo.tex` and `CHANGELOG.md` in CTAN upload.
+
+## [4.0.1] - 2018-06-03
+
+### Fixed
+- Fix `\USCCover@setLanguage` to have correct `{}` in the implementation.
+
+### Changed
+- CTAN distributions contains `scientific-thesis-cover.pdf` instead of `README.md` to be consistent with other packages.
+
+## [4.0.0] - 2016-12-30
+
+### Added
+
+- Added shorthand for sec institute.
+- Added `demo.tex` which produces `demo.pdf` providing a short illustration.
+
+### Changed
+
+- Renamed repository from uni-stuttgart-cs-cover to scientific-thesis-cover to stress that the cover also can be used at other institutions.
+- Numbers are now optional.
+- Cover is sans serif again.
+
+### Removed
+
+- Removed `thesis.tex` as we recommend <https://github.com/latextemplates/scientific-thesis-template>.
+- Removed "CR classification" as the [ACM Computing Classification System](https://en.wikipedia.org/wiki/ACM_Computing_Classification_System) from [1998](https://www.acm.org/about-acm/class/how-to-use) is superseeded by a very different system from [2012](https://www.acm.org/publications/class-2012). However, the 2012 classification is not required by the University of Stuttgart anymore.
+
+## [3.1] - 2016-05-29
+
+### Added
+
+- Added README.md
+- Added example thesis
+- Added more types and courses
+- Added support for two-column documents
+
+### Fixed
+
+- Fix typo at German "signature"
+
+### Changed
+
+- Versioning on GitHub
+- Cover is typeset with serif font
+
+## 3.0 - 2012-11-20
+
+Versioned outside of GitHub.
+
+[unreleased]: https://github.com/latextemplates/scientific-thesis-cover/compare/4.0.2...HEAD
+[4.0.2]: https://github.com/latextemplates/scientific-thesis-cover/compare/4.0.1...4.0.2
+[4.0.1]: https://github.com/latextemplates/scientific-thesis-cover/compare/4.0.0...4.0.1
+[4.0.0]: https://github.com/latextemplates/scientific-thesis-cover/compare/3.1...4.0.0
+[3.1]: https://github.com/latextemplates/scientific-thesis-cover/compare/3.0...3.1
diff --git a/macros/latex/contrib/scientific-thesis-cover/README.md b/macros/latex/contrib/scientific-thesis-cover/README.md
new file mode 100644
index 0000000000..e97074c4aa
--- /dev/null
+++ b/macros/latex/contrib/scientific-thesis-cover/README.md
@@ -0,0 +1,165 @@
+# Cover page for scientific works [![Build Status](https://circleci.com/gh/latextemplates/scientific-thesis-cover/tree/master.svg?style=shield)](https://circleci.com/gh/latextemplates/scientific-thesis-cover/) [![CTAN](https://img.shields.io/badge/CTAN-scientific--thesis--cover-blue.svg?style=flat-square)](https://ctan.org/pkg/scientific-thesis-cover)
+
+Institutions require a cover page and an affirmation at the end of the thesis.
+This package provides both.
+It stems from the [computer science institutes of the University of Stuttgart], but is open to any university.
+
+In case you are looking for a **full thesis template** including a cover page and affirmation, please go to <https://latextemplates.github.io/scientific-thesis-template/>.
+Please report issues concerning this package at the GitHub repository at <https://github.com/latextemplates/scientific-thesis-cover>.
+
+## Features
+
+- utf8
+- options for all required text on the coverpage
+
+## Installation
+
+Usually, one does not need a seperate installation step, because both MiKTeX and texlive come with a recent version of this template.
+Do not forget to [keep your tex distribution updated](https://tex.stackexchange.com/q/55437/9075).
+
+Alternatively, you can download `scientific-thesis-cover.sty` and put it in the folder where you are going to use it.
+
+## Usage Example
+
+An example can be found in [demo.tex](demo.tex).
+
+## Usage
+
+Just include the package with all options specified:
+
+ \usepackage[
+ title={Super relevant evaluation of new blackhole-generation method},
+ author={Max Musterjunge},
+ type=bachelor,
+ institute=iaas,
+ course=cs,
+ examiner={Prof.\ Dr.\ Hans Mustermann},
+ supervisor={Otto Normalverbraucher, M.Sc.},
+ startdate={2012-06-01},
+ enddate={2012-12-01},
+ language=english
+ ]{scientific-thesis-cover}
+
+Afterwards you can create the cover using `\Coverpage` and get the affirmation text by using `\Affirmation`
+
+## Supported Options
+
+This package supports the following options:
+
+- language: Language used for all labels and text.
+ - `language=german` will use german (default)
+ - `language=english` will use english
+
+- title: Title of work. Should be placed in curly braces:
+
+ - `title={My thesis title}`
+ - `title={My very long thesis title}`
+
+- author: Author of work. Should be placed in curly braces. May contain more than one author seperated by commas:
+ - `author={Peter Lustig}`
+ - `author={Peter Lustig, Franz Josef, Vladimir Sixth}`
+
+- type: Type of work. May be set to one of the following values or arbitrary text in curly braces:
+ - `type=bachelor` will label your work as Bachelor's Thesis.
+ Currently, the term regulations of the University of Stuttgart are in place.
+ It is assumed that you study a German Bachelor program.
+ Thus, even if you write in English, the type of your thesis is a "Bachelorarbeit".
+ In case you study in a different program (such as [INFOTECH]), please fill in the appropriate type of your thesis in curly brackets.
+ See below.
+ - `type=master` will label your work as Masters's Thesis
+ - `type=diplom` will label your work as Diploma Thesis
+ - `type=study` will label your work as Student Research Project
+ - `type=projectinf` will label your work as Projekt-INF
+ - Arbitrary strings are also possible: `type={research project}` will label your work as "research project"
+
+- institute: States for which institute you are doing this work. May be set to one of the following values or arbitrary text in curly braces:
+ - `institute=iaas` will state Institute of Architecture of Application Systems
+ - `institute=ipvs` will state Institute of Parallel and Distributed Systems
+ - `institute=fmi` will state Institute of Formal Methods in Computer Science
+ - `institute=iste` will state Institute of Software Technology
+ - `institute=iti` will state Institute of Computer Architecture and Computer Engineering
+ - `institute=iris` will state Institute of Computer-aided Product Development Systems
+ - `institute=vis` will state Institute of Visualization and Interactive Systems
+ - `institute=visus` will state Visualisation Research Center Stuttgart
+ - `institute=sec` will state Institute of Information Security
+ - `institute=fac` will state Faculty of Computer Science
+ - Arbitrary strings are possible: `institute={Custom fictional institute}` will state Custom fictional institute
+
+- course: Type of study. May be set to one of the following values or arbitrary text in curly braces:
+ - `course=cs` will state that your course of study is Computer Science
+ - `course=se` will state that your course of study is Software Engineering
+ - `course=mcl` will state that your course of study is Master Computational Linguistics
+ - `course=msv` will state that your course of study is Maschinelle Sprachverarbeitung
+ - `course=bis` will state that your course of study is Business Information Systems
+ - `course=simtech` will state that your course of study is Simulation Technology
+ - Arbitrary strings are possible: `course={New Study course}` will state that your course of study is New Study course
+
+- examiner: Your examiner.
+ - `examiner={Prof.\ Dr.\ Hans Mustermann}`
+
+- supervisor: Your supervisor.
+ - `supervisor={Otto Normalverbraucher, M.Sc.}`
+
+- startdate: Startdate of your work.
+ Preferably ISO-8601. See <https://xkcd.com/1179/> and <https://www.explainxkcd.com/wiki/index.php/1179:_ISO_8601>.
+ - `startdate={2012-06-01}`
+
+- enddate: Enddate of your work.
+ - `enddate={2012-12-01}`
+
+- crk: CR-Classification codes of your work. May be separated by commas:
+ - `crk={A.1, A.2}`
+
+## Additional Optional Options
+
+- number: Running number of work. May contain arbitrary text. Should contain the number you got for your work.
+ - `number=1234` will label your work to have number 1234
+- `setPageNumberToOne=true` will set the page after the cover to `1` (default false)
+- `setCoverPageNumberToMinusOne=true` will set `-1` as the page number for the cover page (default false)
+
+## Known Problems
+
+Multiline/Commands in option values are currently only supported if you load `kvoptions-patch` **before** the documentclass definition like this:
+
+ \RequirePackage{kvoptions-patch}
+ \documentclass[twoside]{article}
+
+## How to release
+
+1. Check if indent is correct: `latexindent -y="indentPreamble:1,defaultIndent:' '" -m -w scientific-thesis-cover.sty`
+1. Adapt `CHANGELOG.md`
+2. Adapt version and date in `scientific-thesis-cover.sty`
+3. Tag the release commit using `git tag`
+4. Push to GitHub
+5. Add CHANGELOG part to GitHub release manually, because [github-release-from-changelog](https://github.com/MoOx/github-release-from-changelog) currently works with `package.json` only.
+6. Publish to CTAN
+ - Pre-conditions:
+ - Windows: Patch `C:\MiKTeX\scripts\ctanify\ctanify`: Remove `-y` from `zip` command line arguments `zip -q -r -9 -y -m`.
+ - Windows: Environment variable `TMP` must not contain backslashes. E.g., `C:/TEMP/WIN` is good, `C:\Users\user\AppData\Local\Temp` is bad.
+ - Have `pandoc` and `sed` in the path.
+ - Run `release.bat`.
+ - Go to <https://ctan.org/pkg/scientific-thesis-cover>, choose "Upload"
+ - Use `scientific-thesis-cover.tar.gz` as archive.
+7. Adapt `CHANGELOG.md` to contain `## [unreleased]` again.
+
+## License
+
+This work may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, version 1.3c of the license.
+The latest version of this license is in <http://www.latex-project.org/lppl.txt>
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer and author of this work is Oliver Kopp.
+
+This work consists of the files `scientific-thesis-cover.sty`, `demo.tex`, and `README.md`.
+In case files are not listed here, but available at <https://github.com/latextemplates/scientific-thesis-cover>, these additional files also form part of this work.
+
+### Contributors (incomplete list)
+
+Bernd Raichle, Timo Heiber, Steffen Keul, Oliver Kopp, Kai Mindermann, Matthias Papesch, Nils Radtke, Niklas Schnelle
+
+ [computer science institutes of the University of Stuttgart]: http://www.informatik.uni-stuttgart.de/index.en.html
+ [INFOTECH]: https://www.uni-stuttgart.de/infotech/
diff --git a/macros/latex/contrib/scientific-thesis-cover/demo.pdf b/macros/latex/contrib/scientific-thesis-cover/demo.pdf
new file mode 100644
index 0000000000..63b173c689
--- /dev/null
+++ b/macros/latex/contrib/scientific-thesis-cover/demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/scientific-thesis-cover/demo.tex b/macros/latex/contrib/scientific-thesis-cover/demo.tex
new file mode 100644
index 0000000000..12eefa007e
--- /dev/null
+++ b/macros/latex/contrib/scientific-thesis-cover/demo.tex
@@ -0,0 +1,19 @@
+\documentclass[oneside]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[
+ title={Super relevant evaluation of new blackhole-generation method},
+ author={Max Musterjunge},
+ type=bachelor,
+ institute=iaas,
+ number=12345,
+ course=se,
+ examiner={Prof.\ Dr.\ Hans Mustermann},
+ supervisor={Otto Normalverbraucher\ M.Sc.},
+ startdate={2012-06-01},
+ enddate={2012-12-01},
+ language=english
+ ]{scientific-thesis-cover}
+\begin{document}
+\Coverpage
+\Affirmation
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/scientific-thesis-cover/release.bat b/macros/latex/contrib/scientific-thesis-cover/release.bat
new file mode 100755
index 0000000000..34d8423140
--- /dev/null
+++ b/macros/latex/contrib/scientific-thesis-cover/release.bat
@@ -0,0 +1,11 @@
+@echo off
+
+rem Generate deml.pdf
+pdflatex demo
+
+rem Generate scientific-thesis-cover.pdf out of README.md
+copy README.md scientific-thesis-cover.md
+sed -i "s/.*svg.*//" scientific-thesis-cover.md
+pandoc -f markdown_github-hard_line_breaks -t latex scientific-thesis-cover.md -o scientific-thesis-cover.pdf
+
+ctanify --noauto --notds README.md CHANGELOG.md scientific-thesis-cover.sty scientific-thesis-cover.pdf demo.tex demo.pdf release.bat
diff --git a/macros/latex/contrib/scientific-thesis-cover/scientific-thesis-cover.pdf b/macros/latex/contrib/scientific-thesis-cover/scientific-thesis-cover.pdf
new file mode 100644
index 0000000000..0e32b8f094
--- /dev/null
+++ b/macros/latex/contrib/scientific-thesis-cover/scientific-thesis-cover.pdf
Binary files differ
diff --git a/macros/latex/contrib/scientific-thesis-cover/scientific-thesis-cover.sty b/macros/latex/contrib/scientific-thesis-cover/scientific-thesis-cover.sty
new file mode 100644
index 0000000000..073701a521
--- /dev/null
+++ b/macros/latex/contrib/scientific-thesis-cover/scientific-thesis-cover.sty
@@ -0,0 +1,393 @@
+\NeedsTeXFormat{LaTeX2e}
+\newcommand{\USCCover@Pgkname}{scientific-thesis-cover}
+\ProvidesPackage{\USCCover@Pgkname}[2018/06/03 Cover and affirmation for scientific works.]
+\typeout{Package: `\USCCover@Pgkname' v4.0.2}
+% ------------------------------
+% required packages
+% ------------------------------
+% kvoptions for key value options support
+\RequirePackage{kvoptions}
+\RequirePackage{ifthen}
+%\RequirePackage{ifluatex}
+
+% this package requires utf8 inputenc
+\def\USCCover@utf8warning{\PackageWarningNoLine{\USCCover@Pgkname}
+ {This package requires UTF-8 support.\MessageBreak
+ If at pdflatex, load `inputenc' or `inputenx' with the `utf8' option}%
+}
+
+\newif\ifinputencloaded
+
+\@ifpackageloaded{inputenx}
+{\def\USCCover@tempa{inputenx}\inputencloadedtrue}
+{\@ifpackageloaded{inputenc}{\def\USCCover@tempa{inputenc}\inputencloadedtrue}{\inputencloadedfalse}}
+\ifinputencloaded
+ \@ifpackagewith{\USCCover@tempa}{utf8}{}{\USCCover@utf8warning}
+ %We also drop utf8x, as we believe that this is obsolete - see http://tex.stackexchange.com/questions/13067/utf8x-vs-utf8-inputenc
+ \@ifpackagewith{\USCCover@tempa}{utf8x}{\USCCover@utf8warning}{}
+\else
+ \ifluatex
+ %no warning required
+ \else
+ \USCCover@utf8warning
+ \fi
+\fi
+
+% ------------------------------
+% options
+% ------------------------------
+\SetupKeyvalOptions{
+ family=MCS,
+ prefix=MCS@
+}
+
+% for possible option values see README.md
+\DeclareStringOption[title not set]{title} % Title of the work
+\DeclareStringOption[author not set]{author}
+\DeclareStringOption[bachelor]{type}
+\DeclareStringOption[fac]{institute}
+\DeclareStringOption[]{number} % running number
+\DeclareStringOption[cs]{course}
+\DeclareStringOption[examiner not set]{examiner}
+\DeclareStringOption[supervisor not set]{supervisor}
+\DeclareStringOption[startdate not set]{startdate}
+\DeclareStringOption[enddate not set]{enddate}
+\DeclareStringOption[standard]{covertype} % type of the coverpage: standard, ustuttdiss
+
+\DeclareStringOption[german]{language}
+\DeclareBoolOption[false]{setPageNumberToOne}
+\DeclareBoolOption[false]{setCoverPageNumberToMinusOne}
+
+% ------------------------------
+% process options
+% ------------------------------
+\ProcessKeyvalOptions*
+
+% ------------------------------
+% define language specific labels:
+% ------------------------------
+% - labels are defined separate for each language
+% - if language is not set, German is used
+% ------------------------------
+\def\labelsenglish{
+ \gdef\@labelExaminer{Examiner}%
+ %\gdef\@labelprueferin{Examiner}%
+ \gdef\@labelSupvervisor{Supervisor}%
+ %\gdef\@labelbetreuerin{Supervisor}%
+ \gdef\@labelCourse{Course of Study}%
+ \gdef\@labelStartdate{Commenced}%
+ \gdef\@labelEnddate{Completed}%
+ \gdef\@labelUniversity{~\newline University of Stuttgart}%
+ \gdef\@labelDept{Faculty of Computer Science}%
+
+ %the labels are written in German, because these are the official terms given by the regulations ("Prüfungsordnung")
+ %For a detailed discussion see https://github.com/latextemplates/uni-stuttgart-computer-science-cover/pull/10
+ \gdef\@labelTypeStudy{Studienarbeit}%
+ \gdef\@labelTypeDiplom{Diplomarbeit}%
+ \gdef\@labelTypeBachelor{Bachelorarbeit}%
+ \gdef\@labelTypeMaster{Masterarbeit}%
+ \gdef\@labelTypeProjectINF{Projekt-INF}%
+ \gdef\@labelTypeFachstudie{Fachstudie}%
+ \gdef\@labelTypeProzessanalyse{Prozessanalyse}%
+
+ \gdef\@labelCourseCS{Informatik}%
+ \gdef\@labelCourseSE{Softwaretechnik}%
+ \gdef\@labelCourseMCL{Computerlinguistik}%
+ \gdef\@labelCourseTK{Technische Kybernetik}%
+ \gdef\@labelCourseMSV{Maschinelle Sprachverarbeitung}%
+ \gdef\@labelCourseBIS{Wirtschaftsinformatik}%
+ \gdef\@labelCourseSimTech{Simulation Technology}%
+ \gdef\@labelCourseMedInf{Medieninformatik}%
+
+ % institute names
+ \gdef\@labeliaas{Institute of Architecture of Application Systems}%
+ \gdef\@labelipvs{Institute of Parallel and Distributed Systems}%
+ \gdef\@labelfmi{Institute of Formal Methods in Computer Science}%
+ \gdef\@labeliste{Institute of Software Technology}%
+ \gdef\@labeliti{Institute of Computer Architecture and Computer Engineering}%
+ \gdef\@labeliris{Institute of Computer-aided Product Development Systems}%
+ \gdef\@labelvis{Institute for Visualization and Interactive Systems}%
+ \gdef\@labelsec{Institute of Information Security}%
+
+ \gdef\@labelAffirmation{Declaration}%
+ \gdef\@AffirmationText{I hereby declare that the work presented in this thesis is entirely my own and that
+ I did not use any other sources and references than the listed ones.
+ I have marked all direct or indirect statements from other sources contained therein as quotations.
+ Neither this work nor significant parts of it were part of another examination procedure.
+ I have not published this work in whole or in part before.
+ The electronic copy is consistent with all submitted copies.
+ }
+ \gdef\@labelSignature{\ place, date, signature}
+}
+
+\def\labelsgerman{
+ \gdef\@labelExaminer{Prüfer/in}%
+ \gdef\@labelSupvervisor{Betreuer/in}%
+ \gdef\@labelCourse{Studiengang}%
+ \gdef\@labelStartdate{Beginn am}%
+ \gdef\@labelEnddate{Beendet am}%
+ \gdef\@labelUniversity{~\newline Universität Stuttgart}%
+ \gdef\@labelDept{Fakultät Informatik, Elektrotechnik und Informationstechnik}%
+
+ \gdef\@labelTypeStudy{Studienarbeit}%
+ \gdef\@labelTypeDiplom{Diplomarbeit}%
+ \gdef\@labelTypeBachelor{Bachelorarbeit}%
+ \gdef\@labelTypeMaster{Masterarbeit}%
+ \gdef\@labelTypeProjectINF{Projekt-INF}%
+ \gdef\@labelTypeFachstudie{Fachstudie}%
+ \gdef\@labelTypeProzessanalyse{Prozessanalyse}%
+
+ \gdef\@labelCourseCS{Informatik}%
+ \gdef\@labelCourseSE{Softwaretechnik}%
+ \gdef\@labelCourseMCL{Computerlinguistik}%
+ \gdef\@labelCourseTK{Technische Kybernetik}%
+ \gdef\@labelCourseMSV{Maschinelle Sprachverarbeitung}%
+ \gdef\@labelCourseBIS{Wirtschaftsinformatik}%
+ \gdef\@labelCourseSimTech{Simulation Technology}%
+ \gdef\@labelCourseMedInf{Medieninformatik}%
+
+ % institute names
+ \gdef\@labeliaas{Institut für Architektur von Anwendungssystemen}%
+ \gdef\@labelipvs{Institut für Parallele und Verteilte Systeme}%
+ \gdef\@labelfmi{Institut für Formale Methoden der Informatik}%
+ \gdef\@labeliste{Institut für Softwaretechnologie}%
+ \gdef\@labeliti{Institut für Technische Informatik}%
+ \gdef\@labeliris{Institut für Rechnergestützte Ingenieursysteme}%
+ \gdef\@labelvis{Institut für Visualisierung und Interaktive Systeme}%
+ \gdef\@labelsec{Institut für Informationssicherheit}%
+
+ \gdef\@labelAffirmation{Erklärung}%
+ \gdef\@AffirmationText{%
+ Ich versichere, diese Arbeit selbstständig verfasst zu haben.
+ Ich habe keine anderen als die angegebenen Quellen benutzt und alle wörtlich oder sinngemäß aus anderen Werken übernommene Aussagen als solche gekennzeichnet.
+ Weder diese Arbeit noch wesentliche Teile daraus waren bisher Gegenstand eines anderen Prüfungsverfahrens.
+ Ich habe diese Arbeit bisher weder teilweise noch vollständig veröffentlicht.
+ Das elektronische Exemplar stimmt mit allen eingereichten Exemplaren überein.
+ }
+ \gdef\@labelSignature{\ Ort, Datum, Unterschrift}
+}
+
+% set those labels according to the set language
+\newcommand{\USCCover@setLanguage}{
+ \def\0{english}
+ \ifx\MCS@language\0
+ \labelsenglish
+ \else
+ \labelsgerman
+ \fi
+}
+
+% set \@labelType if matched
+\newcommand{\USCCover@setType}{
+ \gdef\@labelType{\MCS@type}
+ \def\1{\MCS@type}
+ % dont remove last two braces / empty else clause
+ \def\0{diplom}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelType{\@labelTypeDiplom}}{}
+ \def\0{study}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelType{\@labelTypeStudy}}{}
+ \def\0{bachelor}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelType{\@labelTypeBachelor}}{}
+ \def\0{master}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelType{\@labelTypeMaster}}{}
+ \def\0{fachstudie}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelType{\@labelTypeFachstudie}}{}
+ \def\0{projectinf}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelType{\@labelTypeProjectINF}}{}
+}
+
+% ------------------------------
+% Institute addresses
+% ------------------------------
+
+% general university address
+\gdef\@labelAddress{\@labelUniversity\\Universitätsstraße 38\\D--70569 Stuttgart}
+
+\newcommand{\USCCover@setInstitute}{
+ % use specified text if institute does not match
+ \gdef\@labelInstitute{\MCS@institute}
+
+ \def\1{\MCS@institute}
+ % do not remove last two braces / empty else clause
+ \def\0{ipvs}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labelipvs\\\@labelAddress}}{}
+ \def\0{iaas}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labeliaas\\\@labelAddress}}{}
+ \def\0{fmi}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labelfmi\\\@labelAddress}}{}
+ \def\0{iste}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labeliste\\\@labelAddress}}{}
+ \def\0{iti}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labeliti\\\@labelUniversity\\Pfaffenwaldring 47\\D--70569 Stuttgart}}{}
+ \def\0{iris}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labeliris\\\@labelAddress}}{}
+ \def\0{vis}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labelvis\\\@labelAddress}}{}
+ \def\0{sec}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labelsec\\\@labelAddress}}{}
+ \def\0{fac}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelInstitute{\@labelDept\\\@labelAddress}}{}
+}
+
+% ------------------------------
+% Evaluate course option and set course
+% ------------------------------
+\newcommand{\USCCover@setCourse}{
+ % use specified text if course does not match
+ \gdef\@labelCourseValue{\MCS@course}
+
+ \def\1{\MCS@course}
+ % dont remove last two braces / empty else clause
+ \def\0{cs}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelCourseValue{\@labelCourseCS}}{}
+ \def\0{se}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelCourseValue{\@labelCourseSE}}{}
+ \def\0{mcl}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelCourseValue{\@labelCourseMCL}}{}
+ \def\0{msv}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelCourseValue{\@labelCourseMSV}}{}
+ \def\0{bis}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelCourseValue{\@labelCourseBIS}}{}
+ \def\0{simtech}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelCourseValue{\@labelCourseSimTech}}{}
+ \def\0{medinf}\ifthenelse{\equal{\0}{\1}}{\gdef\@labelCourseValue{\@labelCourseMedInf}}{}
+
+}
+
+% ------------------------------
+% evaluate options by calling those functions that set text accordingly
+% ------------------------------
+\USCCover@setLanguage
+\USCCover@setType
+\USCCover@setInstitute
+\USCCover@setCourse
+
+% ------------------------------
+% helping commands
+% ------------------------------
+% - \USCCover@umrandet
+% - \USCCover@TBlabel
+% - \USCCover@TBlist
+% ------------------------------
+\def\USCCover@umrandet{\global\let\@USCCover@umrandet=\fbox}
+\let\@USCCover@umrandet\relax
+
+\newcommand{\USCCover@TBlabel}[1]{\textbf{#1}\hfil}
+
+\newenvironment{USCCover@TBlist}{%
+ \list{}{\labelwidth 45mm \leftmargin 70mm % alt: 35/60 mm
+ \rightmargin 20mm \let\makelabel\USCCover@TBlabel}%
+}{\endlist}
+
+% ------------------------------
+% usable commands
+% ------------------------------
+% - \Titelblatt
+% - \Versicherung
+% (contain code from old diplomtitel.sty)
+% ------------------------------
+\newcommand{\Titelblatt}{%
+ \cleardoublepage
+ \ifthenelse{\boolean{MCS@setCoverPageNumberToMinusOne}}{\setcounter{page}{-1}}{}
+ \begingroup
+ \newcommand{\USCCover@isTwoColumn}{false}
+ \if@twocolumn \renewcommand{\USCCover@isTwoColumn}{true} \onecolumn \fi
+ \sffamily
+ \pagestyle{empty}%
+ \thispagestyle{empty}%
+ %\fontfamily{ppl}\selectfont
+ %
+ \@normalsize \@setsize\normalsize{13.6pt}\xipt\@xipt
+ %
+ \frenchspacing % besser, da viele Abk. (<- da ist schon eine)
+ \parskip=0pt\parindent=0pt\null
+ %
+ % Damit alles richtig funktioniert, mu"s der Ursprung auf die
+ % tats"achliche linke obere Ecke des Blattes gelegt werden (ohne den
+ % bekannten 1in Offset also).
+ % Ausserdem werden die beiden Seitenr"ander auf 28mm + 4.5mm Falz
+ % gesetzt, die Seitenh"ohe auf DIN A4-H"ohe.
+ %
+ \hsize=154mm %% DIN A4: 210mm - 2*28mm
+ \columnwidth=\hsize \linewidth=\hsize
+ %
+ \dimen0=0pt
+ \advance\dimen0-\oddsidemargin
+ \advance\dimen0 2.6mm %%
+ \advance\dimen0 4.5mm %%
+ \hbox to 0pt{\kern\dimen0\vbox to\topskip{%
+ \dimen0=-1in
+ \advance\dimen0-\topmargin
+ \advance\dimen0-\headheight
+ \advance\dimen0-\headsep
+ \vskip\dimen0\relax
+ %
+
+ \vskip 20mm\relax %%%
+
+ \vbox to 70mm{
+ \begin{center}%
+ \@labelInstitute
+ \end{center}
+ \vfill}%
+
+ \vskip -4mm\relax
+ %%%%% ==> 155mm (Titel: 165mm/Autor: 195mm) von oben
+ %%% Die Box kann max. 100mm breit und 60mmm hoch sein,
+ %%% au"serdem wird noch ein Rand von mind. 2.5mm gelassen
+ %%% Even if \centering is not recommended (see l2tabu or nag package), just replacing it with {\centering{...}} doesn't work as \centering doesn't center on the complete page
+ \centerline{\fboxsep=0pt
+ \@USCCover@umrandet{\hbox to 100mm{\hfil
+ \vbox to 60mm{\hsize=95mm\parindent=0pt
+ \vskip 10mm plus 30mm minus 7.5mm
+ \begin{center}\@setsize\large{14pt}\xiipt\@xiipt %%\large
+ \ifx\MCS@number\empty
+ \@labelType
+ \else
+ \@labelType\ Nr.\,\MCS@number
+ \fi
+ \end{center}%
+ \vskip 12.5mm plus 12.5mm minus 10mm
+ \begin{center}\@setsize\LARGE{22pt}\xviipt\@xviipt %%\LARGE
+ \textbf{ \MCS@title}
+ \end{center}%
+ \vskip 10mm plus 10mm minus 7.5mm
+ \begin{center}\@setsize\large{14pt}\xiipt\@xiipt %%\large
+ \MCS@author
+ \end{center}%
+ \vskip 17.5mm plus 35mm minus 12.5mm}\hfil}}}%
+ \vskip 20mm %%%%%
+
+ \vbox to 15mm{%
+ \begin{USCCover@TBlist}%
+ \item[\@labelCourse: ]\@labelCourseValue
+ \end{USCCover@TBlist}%
+ \vfill}%
+ \vbox to 45mm{%
+ \begin{USCCover@TBlist}%
+ \item[\@labelExaminer:]\MCS@examiner
+ \item[\@labelSupvervisor:]\MCS@supervisor
+ \end{USCCover@TBlist}%
+ \vfill}%
+ \vbox to 70mm{%%%%% ==> 85 mm von oben
+ \begin{USCCover@TBlist}%
+ \item[\@labelStartdate:]\MCS@startdate
+ \item[\@labelEnddate:]\MCS@enddate
+ \end{USCCover@TBlist}%
+ \vfill}%
+
+ \vss}\hss}%
+ %
+ \thispagestyle{empty}%
+ \cleardoublepage % if twoside add a blank page after cover
+ % set counter to start at 1 after the clear(double)page
+ \ifthenelse{\boolean{MCS@setPageNumberToOne}}{\setcounter{page}{1}}{}
+ \newcommand{\USCCover@true}{true}
+ \ifthenelse{\equal{\USCCover@isTwoColumn}{\USCCover@true}}{\twocolumn}{}
+ \endgroup
+}
+\newcommand{\Coverpage}{\Titelblatt}
+
+\newcommand{\Versicherung}{
+ \cleardoublepage
+ \newcommand{\USCCover@isTwoColumn}{false}
+ \if@twocolumn \renewcommand{\USCCover@isTwoColumn}{true} \onecolumn \fi
+ \null
+ \vskip 5cm\relax
+ \begin{center}
+ \begin{minipage}[t]{10cm}
+ \hbox{\textbf{\@labelAffirmation}}%
+ \vskip 1cm\relax
+ %\begin{flushleft}%
+ \@AffirmationText
+ %\end{flushleft}%
+ \vskip 4cm\relax
+ \hrulefill
+ \vskip .4\baselineskip
+ \hbox{\@labelSignature}
+ \end{minipage}
+ \end{center}
+ \clearpage
+ \newcommand{\USCCover@true}{true}
+ \ifthenelse{\equal{\USCCover@isTwoColumn}{\USCCover@true}}{\twocolumn}{}
+}
+\newcommand{\Affirmation}{\Versicherung}