summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-12-30 22:45:40 +0000
committerKarl Berry <karl@freefriends.org>2017-12-30 22:45:40 +0000
commit11bdb0dfe33ef90660946ca81611e48bab41cc05 (patch)
treef9f0d743129d3ca2a7a9f766db931ceecca1ed95
parent46235c05d2dfa8c8a0f8903a890622250aaff40f (diff)
scientific-thesis-cover (30dec17)
git-svn-id: svn://tug.org/texlive/trunk@46172 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/scientific-thesis-cover/README.TEXLIVE7
-rw-r--r--Master/texmf-dist/doc/latex/scientific-thesis-cover/README.md160
-rw-r--r--Master/texmf-dist/tex/latex/scientific-thesis-cover/scientific-thesis-cover.sty391
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check3
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/collection-publishers.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/scientific-thesis-cover.tlpsrc0
7 files changed, 562 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/scientific-thesis-cover/README.TEXLIVE b/Master/texmf-dist/doc/latex/scientific-thesis-cover/README.TEXLIVE
new file mode 100644
index 00000000000..c62a9590c17
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/scientific-thesis-cover/README.TEXLIVE
@@ -0,0 +1,7 @@
+The following files have been removed in the TeX Live installation of
+the current package, typically due to duplication, lack of space, or
+missing source code. You can find these files on CTAN at
+ http://mirror.ctan.org/macros/latex/contrib/scientific-thesis-cover
+If questions or concerns, email tex-live@tug.org.
+
+ demo.pdf
diff --git a/Master/texmf-dist/doc/latex/scientific-thesis-cover/README.md b/Master/texmf-dist/doc/latex/scientific-thesis-cover/README.md
new file mode 100644
index 00000000000..16081260ac4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/scientific-thesis-cover/README.md
@@ -0,0 +1,160 @@
+# 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/)
+
+
+Institutions require a cover page and an affirmation at the end of the thesis.
+This work 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://github.com/latextemplates/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
+
+- Download `scientific-thesis-cover.sty`
+
+## Usage Example
+
+An example can be found in [tests/TEST_english_oneside.tex](tests/TEST_english_oneside.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. 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
+ - Windows: Patch `C:\MiKTeX\scripts\ctanify\ctanify`: Remove `-y` from `zip` command line arguments `zip -q -r -9 -y -m`.
+ - Run `pdflatex demo`
+ - Run `perl "C:\MiKTeX\scripts\ctanify\ctanify" README.md scientific-thesis-cover.sty demo.pdf`
+ - Go to <https://www.ctan.org/upload> and use `scientific-thesis-cover.tar.gz` as archive.
+
+## 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/Master/texmf-dist/tex/latex/scientific-thesis-cover/scientific-thesis-cover.sty b/Master/texmf-dist/tex/latex/scientific-thesis-cover/scientific-thesis-cover.sty
new file mode 100644
index 00000000000..7222605214d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/scientific-thesis-cover/scientific-thesis-cover.sty
@@ -0,0 +1,391 @@
+\NeedsTeXFormat{LaTeX2e}
+\newcommand{\USCCover@Pgkname}{scientific-thesis-cover}
+\ProvidesPackage{\USCCover@Pgkname}[2017/12/30 Cover and affirmation for scientific works.]
+\typeout{Package: `\USCCover@Pgkname' v4.0.0}
+% ------------------------------
+% 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[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}
+ % dont 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}
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 062186e9603..1ad2368104b 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -549,7 +549,8 @@ my @TLP_working = qw(
sauter sauterfonts savefnmark savesym savetrees
scale scalebar scalerel scanpages
schemabloc schemata sclang-prettifier schule schulschriften schwalbe-chess
- sciposter scratch scratchx screenplay screenplay-pkg
+ sciposter scientific-thesis-cover
+ scratch scratchx screenplay screenplay-pkg
scrjrnl scrlttr2copy scsnowman
sdrt sduthesis
secdot section sectionbox sectsty seealso
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index fea5ff113a6..95253981e8a 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -3050,6 +3050,7 @@ $standardclean = '\.head|\.tmp|\.dvi|\.log|\.out|\.aux|\.toc|\.lof|\.lot'
'ptptex' => '(overcite|cite|wrapfig).sty', # duplicated
'rutitlepage' => 'logo.*', # nonfree
'sapthesis' => '.*-ML.*\.pdf', # univ logos
+ 'scientific-thesis-cover' => 'demo.pdf', # no source
'sectionbox' => 'example/lenna.*.jpg', # nonfree
'startex' => 'epsf.tex', # stale copy
'stubs' => 'stubs.pdf', # no source
diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
index 0bc0ff3e233..52b30d7bc21 100644
--- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
@@ -134,6 +134,7 @@ depend sageep
depend sapthesis
depend scrjrnl
depend schule
+depend scientific-thesis-cover
depend sduthesis
depend seuthesis
depend seuthesix
diff --git a/Master/tlpkg/tlpsrc/scientific-thesis-cover.tlpsrc b/Master/tlpkg/tlpsrc/scientific-thesis-cover.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/scientific-thesis-cover.tlpsrc