-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdissertation.cls
executable file
·298 lines (270 loc) · 11.4 KB
/
dissertation.cls
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
% FILE: DissOnlineLatex.cls Version 2.1
% AUTHOR:
% Universität Duisburg-Essen, Standort Duisburg
% AG Prof. Dr. Günter Törner
% Verena Gondek, Andy Braune, Henning Kerstan
% Fachbereich Mathematik
% Lotharstr. 65., 47057 Duisburg
% entstanden im Rahmen des DFG-Projektes DissOnlineTutor
% in Zusammenarbeit mit der
% Humboldt-Universitaet zu Berlin
% AG Elektronisches Publizieren
% Joanna Rycko
% und der
% DNB - Deutsche Nationalbibliothek
%--- Diese Datei darf nicht verändert werden, alle benötigten
% Anpassungen nehmen Sie in einer der anderen mitgelieferten Dateien vor.---------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{DissOnlineLatex}[2011/01/05 v2.1 Vorlage zur Erstellung digitaler Hochschulschriften]
% Einstellungen für kvoptions - DOT = DissOnlineTutor
\SetupKeyvalOptions{
family=DOT,
prefix=DOT@
}
% Parameter können übergeben werden für die Pakete inputenc, fontenc,
% babel, geometry, report, hyperref
\DeclareStringOption{inputenc}
\DeclareStringOption{fontenc}
\DeclareStringOption{babel}
\DeclareStringOption{geometry}
\DeclareStringOption{report}
\DeclareStringOption{hyperref}
% Übergib die Parameter an die Pakete
\ProcessKeyvalOptions*
\PassOptionsToClass{a4paper, 12pt}{report}
\ifx\DOT@report\@empty
\LoadClass{report}
\else
\expandafter\LoadClass\expandafter[\DOT@report]{report}
\fi
\ifx\DOT@inputenc\@empty
\RequirePackage[latin1]{inputenc}
\else
\expandafter\RequirePackage\expandafter[\DOT@inputenc]{inputenc}
\fi
\ifx\DOT@fontenc\@empty
\RequirePackage[T1]{fontenc}
\else
\expandafter\RequirePackage\expandafter[\DOT@fontenc]{fontenc}
\fi
\ifx\DOT@babel\@empty
\RequirePackage[ngerman,english]{babel} % Sprachen: Deutsch, Englisch (Primär)
\else
\expandafter\RequirePackage\expandafter[\DOT@babel]{babel}
\fi
% Seitenränder vorgeben
\PassOptionsToPackage{top=2cm,bottom=2cm,left=2.5cm,right=2cm}{geometry}
\ifx\DOT@geometry\@empty
\RequirePackage{geometry}
\else
\expandafter\RequirePackage\expandafter[\DOT@geometry]{geometry}
\fi
% Erzeuge eine Auflistung aller verwendeten Dateien
\listfiles
%-------Absatzformatierung----------------------------------------------------------
\setlength{\parindent}{1.3em}
\setlength{\parskip}{10pt plus 3pt minus 3pt}
\renewcommand{\baselinestretch}{1.3} % 1.3-facher Zeilenabstand
%-------Neudefinition der Abstract-Umgebung-----------------------------------------
\def\sprachtestE{Abstract}
\if@titlepage
\renewenvironment{abstract}{%
\titlepage
\null\vfil
\@beginparpenalty\@lowpenalty
\begin{flushleft}%
\vspace*{-55\p@}
\LARGE \bfseries \abstractname
\@endparpenalty\@M
\end{flushleft}}%
{\ifx\abstractname\sprachtestE
\par\vfil\@Keywords
\else
\par\vfil\@Schlagwoerter
\fi
\endtitlepage}
\else
\renewenvironment{abstract}{%
\if@twocolumn
\chapter*{\abstractname}%
\else
\small
\begin{flushleft}%
{\LARGE\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
\end{flushleft}%
\quotation
\fi}
{\if@twocolumn\else\endquotation\fi}
\fi
% Makros zum Einlesen der Metadaten (werden in metadata.tex benutzt)
\newcommand*{\Anrede}[1]{\gdef\@Anrede{#1}}
\newcommand*{\Surname}[1]{\gdef\@Surname{#1}}
\newcommand*{\SurnameASCII}[1]{\gdef\@SurnameASCII{#1}}
\newcommand*{\Fname}[1]{\gdef\@Fname{#1}}
\newcommand*{\DOB}[1]{\gdef\@DOB{#1}}
\newcommand*{\Birthplace}[1]{\gdef\@Birthplace{#1}}
\newcommand*{\Type}[1]{\gdef\@Type{#1}}
\newcommand*{\Title}[1]{\gdef\@Title{#1}}
\newcommand*{\TitleASCII}[1]{\gdef\@TitleASCII{#1}}
\newcommand*{\Subtitle}[1]{\gdef\@Subtitle{#1}}
\newcommand*{\Supervisor}[1]{\gdef\@Supervisor{#1}}
\newcommand*{\GutachterA}[1]{\gdef\@GutachterA{#1}}
\newcommand*{\GutachterB}[1]{\gdef\@GutachterB{#1}}
\newcommand*{\Degree}[1]{\gdef\@Degree{#1}}
\newcommand*{\Fach}[1]{\gdef\@Fach{#1}}
\newcommand*{\Faculty}[1]{\gdef\@Faculty{#1}}
\newcommand*{\University}[1]{\gdef\@University{#1}}
\newcommand*{\Dekan}[1]{\gdef\@Dekan{#1}}
\newcommand*{\Rektor}[1]{\gdef\@Rektor{#1}}
\newcommand*{\SubmissionDate}[1]{\gdef\@SubmissionDate{#1}}
\newcommand*{\Pruefungsdatum}[1]{\gdef\@Pruefungsdatum{#1}}
\newcommand*{\Schlagwoerter}[1]{\gdef\@Schlagwoerter{#1}}
\newcommand*{\Keywords}[1]{\gdef\@Keywords{#1}}
% Metadaten einlesen (werden danach benötigt für die Einbindung von hyperref)
\include{metadata}
%--Gewährleistung der Kompatibilität mit hyperref.sty-------------------------------------
\RequirePackage{ifpdf}
\ifpdf
\PassOptionsToPackage{%
pdftitle={\@TitleASCII},
pdfauthor={\@SurnameASCII},
pdfsubject={\@Type},
pdfkeywords={\@Keywords},
pdfpagemode=UseOutlines,
colorlinks=true, % bitte nicht ändern!
linkcolor=black, % bitte nicht ändern!
filecolor=black, % bitte nicht ändern!
urlcolor=black, % bitte nicht ändern!
citecolor=black, % bitte nicht ändern!
pdftex=true, % bitte nicht ändern!
plainpages=false, % bitte nicht ändern!
hypertexnames=false, % bitte nicht ändern!
pdfpagelabels=true, % bitte nicht ändern!
hyperindex=true,
pdfa=true}{hyperref} % bitte nicht ändern! NEU: PDF/A-flag
\ifx\DOT@hyperref\@empty
\RequirePackage{hyperref}
\else
\expandafter\RequirePackage\expandafter[\DOT@hyperref]{hyperref}
\fi
\else
%hier können Sie gegebenenfalls Befehle umdefinieren,
%die nur für pdfLaTeX vorgesehen sind
\newcommand{\texorpdfstring}[2]{#2}
\fi
%---GENERIERUNG VON WARNUNGEN / FEHLERMELDUNGEN-------------------------------------------------------
% Zweispaltiger Satz
\if@twocolumn
\PackageWarning{DissOnlineLatex}{Die Option twocolumn (zweispaltiges Seitenlayout) ist an einigen Hochschulen
nicht zugelassen. Bitte überprüfen Sie, ob Sie diese Option verwenden dürfen.}
\fi
% Veraltete oder verbotene Pakete
\AtBeginDocument{
\@ifpackageloaded{pstricks}
{\ClassWarning{DissOnlineLatex}
{Das Paket pstricks darf nicht verwendet werden. Grafiken dürfen nur als eps- oder pdf-File importiert werden.}}
{}
\@ifpackageloaded{bbm}
{\ClassWarning{DissOnlineLatex}
{Das Paket bbm ist nicht zugelassen. Verwenden Sie stattdessen z.B. amsfonts oder amssymb.}}
{}
\@ifpackageloaded{curves}
{\ClassWarning{DissOnlineLatex}
{Das Paket curves ist nicht zugelassen. Grafiken dürfen nur als eps- oder pdf-File importiert werden.}}
{}
\@ifpackageloaded{epic}
{\ClassWarning{DissOnlineLatex}
{Das Paket epic ist nicht zugelassen. Grafiken dürfen nur als eps- oder pdf-File importiert werden.}}
{}
\@ifpackageloaded{eepic}
{\ClassWarning{DissOnlineLatex}
{Das Paket eepic ist nicht zugelassen. Grafiken dürfen nur als eps- oder pdf-File importiert werden.}}
{}
\@ifpackageloaded{epsf}
{\ClassWarning{DissOnlineLatex}
{Das Paket epsf ist nicht zugelassen. Wenn Sie das Paket graphicx verwenden, werden eps-Grafiken direkt unterstützt.}}
{}
\@ifpackageloaded{epsfig}
{\ClassWarning{DissOnlineLatex}{Das Paket epsfig ist nicht zugelassen. Wenn Sie das Paket graphicx verwenden, werden eps-Grafiken direkt unterstützt.}}
{}
\@ifpackageloaded{epstopdf}
{\ClassWarning{DissOnlineLatex}
{Das Paket epstopdf ist nicht zugelassen. Wenn Sie das Paket graphicx verwenden, werden eps-Grafiken direkt unterstützt.}}
{}
\@ifpackageloaded{xypic}
{\ClassWarning{DissOnlineLatex}
{Das Paket xypic ist nicht zugelassen. Grafiken dürfen nur als eps- oder pdf-File importiert werden.}}
{}
\@ifpackageloaded{a4}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket a4 ist veraltet und die Verwendung kann Fehler verursachen, verwenden Sie stattdessen die report-Option a4paper.}}
{}
\@ifpackageloaded{a4wide}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket a4wide ist veraltet und die Verwendung kann Fehler verursachen, verwenden Sie stattdessen die report-Option a4paper.}}
{}
\@ifpackageloaded{doublespace}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket doublespace ist veraltet und die Verwendung kann Fehler verursachen. Verwenden sie stattdessen das Paket setspace.}}
{}
\@ifpackageloaded{euler}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket euler ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket eulervm.}}
{}
\@ifpackageloaded{fancyheadings}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket fancyheadings ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket fancyhdr.}}
{}
\@ifpackageloaded{isolatin}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket isolatin ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket inputenc, dieses ist bereits als Pflichpaket eingebunden.}}
{}
\@ifpackageloaded{isolatin1}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket isolatin1
ist veraltet und die
Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket inputenc, dieses ist bereits als Pflichpaket eingebunden.}}
{}
\@ifpackageloaded{mathpple}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket mathpple ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket mathpazo.}}
{}
\@ifpackageloaded{mathptm}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket mathptm ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket mathptmx.}}
{}
\@ifpackageloaded{pslatex}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket pslatex ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen eines der Pakete mathptmx, helvet mit Option scaled=.95 oder courier.}}
{}
\@ifpackageloaded{palatino}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket palatino ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen eines der Pakete mathpazo, helvet mit Option scaled=.95 oder courier.}}
{}
\@ifpackageloaded{t1enc}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket t1enc ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket fontenc mit Option T1, dies ist bereits über die Pflichtpakete voreingestellt.}}
{}
\@ifpackageloaded{times}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket times ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen eines der Pakete mathpazo, helvet mit Option scaled=.90 oder courier.}}
{}
\@ifpackageloaded{umlaut}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket umlaut ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket inputenc, dieses ist bereits als Pflichpaket eingebunden.}}
{}
\@ifpackageloaded{umlaute}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket umlaute ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket inputenc, dieses ist bereits als Pflichpaket eingebunden.}}
{}
\@ifpackageloaded{floatflt}
{\ClassError{DissOnlineLatex}
{Das Paket floatflt ist
aufgrund von
Lizenzänderungen verboten.}}
{}
\@ifpackageloaded{here}
{\ClassWarning{DissOnlineLatex}
{Vorsicht, das Paket here ist veraltet und die Verwendung kann Fehler verursachen. Verwenden Sie stattdessen das Paket float.}}
{}
}