summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx546
1 files changed, 327 insertions, 219 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
index f2461fd028a..89e36d4610b 100644
--- a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
@@ -1,29 +1,33 @@
-% \CheckSum{1375}
+% \CheckSum{1400}
% \iffalse meta-comment
-% ======================================================================
+%
+% ============================================================================
+%
+% TUD-KOMA-Script
+% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015
+%
+% ============================================================================
+%
+% 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 2005/12/01
+% or later and of this work. This work has the LPPL maintenance status
+% "author-maintained". The current maintainer and author of this work
+% is Falk Hanisch.
+%
+% ----------------------------------------------------------------------------
+%
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%
+% ============================================================================
%
-% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
-%
-% ======================================================================
-% 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 and of this work.
-% This work has the LPPL maintenance status "author-maintained".
-% The current maintainer and author of this work is Falk Hanisch.
-% ----------------------------------------------------------------------
-% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
-% Version 1.3c, verteilt und/oder veraendert werden.
-% Die neuste Version dieser Lizenz ist
-% http://www.latex-project.org/lppl.txt
-% und Version 1.3c ist Teil aller Verteilungen von LaTeX
-% Version 2005/12/01 oder spaeter und dieses Werks.
-% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
-% (allein durch den Autor verwaltet).
-% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
-% ======================================================================
% \fi
%
% \CharacterTable
@@ -47,7 +51,7 @@
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-title.dtx}[%
- 2014/11/13 v2.02 TUD-KOMA-Script (title)%
+ 2015/02/15 v2.03 TUD-KOMA-Script (title)%
]
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[english,ngerman]{tudscrdoc}
@@ -135,19 +139,12 @@
% \end{macrocode}
% \end{KOMAfont}^^A titlepage
% \end{KOMAfont}^^A thesis
-% \begin{macro}{\tud@color@titlefont}
-% \begin{macro}{\tud@color@titlepage}
-% \begin{macro}{\tud@color@titlehead}
-% Die Makros werden für die Hintergrundfarbe der Titelseite sowie die Farbe der
-% Schriften verwendet.
-% \begin{macrocode}
-\newcommand*\tud@color@titlefont{black}
-\newcommand*\tud@color@titlepage{white}
-\newcommand*\tud@color@titlehead{black}
-% \end{macrocode}
-% \end{macro}^^A \tud@color@titlehead
-% \end{macro}^^A \tud@color@titlepage
-% \end{macro}^^A \tud@color@titlefont
+% \begin{macro}{\tud@title@fontcolor}
+% Das Makro wird für die Hintergrundfarbe der Titelseite verwendet.
+% \begin{macrocode}
+\newcommand*\tud@title@fontcolor{black}
+% \end{macrocode}
+% \end{macro}^^A \tud@title@fontcolor
% \begin{macro}{\tud@maketitle}
% \changes{v2.01a}{2014/06/03}{Fehler bei Nutzung von \cs{subtitle} behoben}%^^A
% \changes{v2.02}{2014/06/23}{\val{firstiscover} wird als Wert für die Option
@@ -174,8 +171,8 @@
% \end{macrocode}
% Das optionale Argument wird für das Setzen der Parameter verwendet.
% \begin{macrocode}
- \TUD@parameter@set[title]{#1}%
- \ifcase \tud@layout@title
+ \TUD@parameter@set{title}{#1}%
+ \ifcase\tud@layout@title\relax%
\ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
\tud@cmd@use{maketitle}[\tud@titlepagenumber]%
\else%
@@ -186,9 +183,9 @@
% hierfür wird die Ausprägung festgelegt.
% \begin{macrocode}
\else%
- \ifcase \tud@layout@title\relax\or\else%
- \def\tud@color@titlefont{HKS41}%
- \def\tud@color@titlehead{HKS41}%
+ \def\tud@title@fontcolor{black}%
+ \ifcase\tud@layout@title\relax\or\else%
+ \def\tud@title@fontcolor{HKS41}%
\fi%
% \end{macrocode}
% Um einen Titelkopf zu setzen, wird einfach der Originalbefehl verwendet und
@@ -203,7 +200,7 @@
% gesetzt und direkt danach der zweispaltige Satz begonnen.
% \begin{macrocode}
\if@twocolumn%
- \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]%
+ \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}%
\else%
\tud@cmd@use{maketitle}[\tud@titlepagenumber]%
\fi%
@@ -214,21 +211,51 @@
% \end{macrocode}
% \end{macro}^^A \tud@titlepagenumber
% \end{macro}^^A \tud@maketitle
+% \begin{parameter}{cdtitle}
+% \changes{v2.03}{2015/01/12}{neu}^^A
+% \begin{parameter}{cd}
+% \changes{v2.03}{2015/01/12}{neu}^^A
% \begin{parameter}{pagenumber}
% \changes{v2.02}{2014/09/05}{neu}^^A
% \begin{parameter}{cdfont}
% \changes{v2.02}{2014/09/05}{neu}^^A
+% \begin{parameter}{cdhead}
+% \begin{parameter}{cdfoot}
+% \begin{parameter}{headlogo}
+% \begin{parameter}{footlogo}
+% \begin{parameter}{ddc}
+% \begin{parameter}{ddchead}
+% \begin{parameter}{ddcfoot}
% Die einzelnen Parameter dienen zur Einstellung der Titelseite und entsprechen
% in ihrem Verhalten den gleichnamigen Klassenoptionen.
% \begin{macrocode}
\TUD@parameter{title}{%
+ \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
+ \TUD@parameter@let{cd}{cdtitle}%
\TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
- \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
- \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}%
+% \end{macrocode}
+% Mit \cs{TUD@parameter@define@ps} werden alle verfügbaren Parameter für die
+% Kopf- und Fußzeilen definiert.
+% \begin{macrocode}
+ \TUD@parameter@define@ps{#1}%
+% \end{macrocode}
+% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation angegeben
+% wurde, wird versucht, das gegebene Argument als Seitenzahl zu verwenden.
+% \begin{macrocode}
+ \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}%
}%
% \end{macrocode}
+% \end{parameter}^^A ddcfoot
+% \end{parameter}^^A ddchead
+% \end{parameter}^^A ddc
+% \end{parameter}^^A footlogo
+% \end{parameter}^^A headlogo
+% \end{parameter}^^A cdfoot
+% \end{parameter}^^A cdhead
% \end{parameter}^^A cdfont
% \end{parameter}^^A pagenumber
+% \end{parameter}^^A cd
+% \end{parameter}^^A cdtitle
% Die Befehle \cs{thanks} und \cs{footnotemark} werden mit \cs{robustify}
% behandelt, um die Makros vor dem Expandieren zu schützen. Dies ist z.\,B. für
% \cs{tud@multiple@split} aber auch für weitere Felder auf dem Titel nötig.
@@ -258,13 +285,15 @@
% wird die entsprechende Layoutoption ausgewertet und entsprechend dieser die
% Werte belegt.
% \begin{macrocode}
- \ifcase \tud@layout@title\relax\or\or%
- \def\tud@color@titlefont{HKS41}%
- \def\tud@color@titlehead{HKS41}%
+ \def\tud@title@fontcolor{black}%
+ \ifcase\tud@layout@title\relax\or\or%
+ \def\tud@title@fontcolor{HKS41}%
+ \or%
+ \def\tud@title@fontcolor{HKS41}%
+ \or%
+ \def\tud@title@fontcolor{HKS41!30}%
\or%
- \def\tud@color@titlepage{HKS41}%
- \def\tud@color@titlefont{HKS41!30}%
- \def\tud@color@titlehead{white}%
+ \def\tud@title@fontcolor{HKS41!30}%
\fi%
% \end{macrocode}
% Die Titelseite. Es existieren die Optionen \opt{full} für eine vollständig
@@ -328,13 +357,13 @@
\noexpand\let\noexpand\titlepage@restore\noexpand\relax%
}%
\begingroup%
- \topmargin=\dimexpr \coverpagetopmargin-1in\relax%
- \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax%
- \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr%
- \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax%
- \textheight=\dimexpr%
- \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax%
+ \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
+ \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ -\coverpagerightmargin\relax%
+ \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ -\coverpagebottommargin\relax%
\headheight=0pt%
\headsep=0pt%
\footskip=\baselineskip%
@@ -377,8 +406,9 @@
% Das ganze Layout wird vertikal so verschoben, dass der Titel auf der gleichen
% Höhe steht wie die Überschriften auf Teil- und Kapitelseiten.
% \begin{macrocode}
- \vspace*{\dimexpr%
- \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax%
+ \vspace*{%
+ \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
+ +\parskip\relax%
}%
\vspace*{\pageheadingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
@@ -400,14 +430,14 @@
% werden. Anschließend werden die beiden Boxen ausgegeben und der Aufbau der
% Titelseite kann beginnen.
% \begin{macrocode}
- \setlength{\@tempdima}{\z@}%
+ \setlength\@tempdima{\z@}%
\ifx\@titlehead\@empty\else%
\setbox0\vbox{%
\begin{minipage}[t]{\textwidth}%
{\usekomafont{titlehead}{\@titlehead\par\null}}%
\end{minipage}\newline\null%
}%
- \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}%
+ \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}%
\fi%
% \end{macrocode}
% Erkennen, ob in der Betreffzeile eine Abschlussarbeit ausgegeben werden soll
@@ -416,7 +446,7 @@
\tud@letsubjectthesis%
\ifx\@subject\@empty\else%
\setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}%
- \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}%
+ \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}%
\fi%
\vspace*{-\@tempdima}%
\ifx\@titlehead\@empty\else\usebox0\par\fi%
@@ -517,16 +547,15 @@
% \begin{macrocode}
\ifdefvoid{\@duedate}{%
\ClassWarning{\tudcls@name}{%
- `\string\submissiondate' or `\string\date' was not given.%
- \MessageBreak%
+ `\string\date' was not given.\MessageBreak%
Since a thesis is a self-contained work, an end\MessageBreak%
date should be specified by the author.\MessageBreak%
Nevertheless, today's date is used%
}%
}{%
\ClassWarning{\tudcls@name}{%
- `\string\submissiondate' or `\string\date' was not given.%
- \MessageBreak It's substituted by the given due date%
+ `\string\date' was not given.\MessageBreak%
+ It's substituted by the given due date%
}%
\let\@date\@duedate%
}%
@@ -580,18 +609,37 @@
\fi%
\fi%
% \end{macrocode}
-% Es werden Schriftart, abhängig \opt{heavyfont} die Schriftstärke, sowie die
-% Farbe der Seite und des Kopfes und die Linienstärke des Querbalkens und die
-% \DDC-Logos aus den Einstellungen übernommen.
+% Es werden Schriftart, die Schriftstärke, sowie die Farbe der Seite und des
+% Kopfes und die Linienstärke des Querbalkens und die \DDC-Logos aus den
+% Einstellungen übernommen.
% \begin{macrocode}
\def\@tempa{%
- \tud@pagecolor{\tud@color@titlepage}%
- \def\tud@head@color{\tud@color@titlehead}%
- \color{\tud@color@titlefont}%
- \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}%
- \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}%
+ \def\tud@pagecolor{}%
+ \ifcase\tud@layout@title\relax\or%
+ \def\tud@head@bar{0}%
+ \or%
+ \def\tud@head@bar{1}%
+ \or%
+ \def\tud@head@bar{2}%
+ \or%
+ \def\tud@pagecolor{HKS41}%
+ \def\tud@head@bar{-1}%
+ \def\tud@head@logocolor{white}%
+ \def\tud@foot@logocolor{white}%
+ \bool@std@lock{@tud@head@widebar}{true}%
+ \or%
+ \def\tud@pagecolor{HKS41}%
+ \def\tud@head@bar{2}%
+ \fi%
+ \color{\tud@title@fontcolor}%
+ \addtokomafont{pagenumber}{\sffamily\color{\tud@title@fontcolor}}%
+ \addtokomafont{footnote}{\sffamily\color{\tud@title@fontcolor}}%
\thispagestyle{empty.tudheadings}%
- \tud@ddc@enlargepage%
+% \end{macrocode}
+% Im Kompatibilitätsmodus für die Version~v2.02 wird im Zweifelsfall die Seite
+% für den Fuß mit \DDC-Logo vergrößert.
+% \begin{macrocode}
+ \iftudscrverlower{2.03}{\tud@ddc@enlargepage}{}%
}%
% \end{macrocode}
% Bei der Ausgabe des Covers werden lediglich die Farb- und Schriftdefinitionen
@@ -601,7 +649,6 @@
\begingroup%
\@tempa%
\cleardoubleemptypage%
- \tud@restorepagecolor%
\endgroup%
\else%
% \end{macrocode}
@@ -720,8 +767,9 @@
% gesetzt werden.
% \begin{macrocode}
\global\@topnum=\z@%
- \vspace*{\dimexpr%
- \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax%
+ \vspace*{%
+ \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
+ +\parskip\relax%
}%
\vspace*{\headingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
@@ -738,14 +786,14 @@
% \cs{@titlehead} und \cs{@subject} so nach oben verschoben, dass der Titel
% selbst auf der gewünschten Höhe landet.
% \begin{macrocode}
- \setlength{\@tempdima}{\z@}%
+ \setlength\@tempdima{\z@}%
\ifx\@titlehead\@empty\else%
\setbox0\vbox{%
\begin{minipage}[t]{\textwidth}%
{\usekomafont{titlehead}{\@titlehead\par\null}}%
\end{minipage}\newline\null%
}%
- \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}%
+ \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}%
\fi%
% \end{macrocode}
% Erkennen, ob in der Betreffzeile eine Abschlussarbeit ausgegeben werden soll
@@ -755,7 +803,7 @@
\tud@letsubjectthesis%
\ifx\@subject\@empty\else%
\setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}%
- \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}%
+ \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}%
\fi%
\vspace*{-\@tempdima}%
\ifx\@titlehead\@empty\else\usebox0\par\fi%
@@ -798,10 +846,10 @@
% \begin{macrocode}
\vskip 2\bigskipamount%
% \end{macrocode}
-% Wird das \DDC-Logo gesetzt, muss dafür am unteren Rand entsprechend Platz
-% gelassen werden.
+% Wird das \DDC-Logo im Kompatibilitätsmodus für die Version~v2.02 gesetzt,
+% muss dafür am unteren Rand entsprechend Platz gelassen werden.
% \begin{macrocode}
- \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}%
+ \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
\endgroup%
}
% \end{macrocode}
@@ -914,6 +962,7 @@
\ifpatchable{\@author}{\@latex@warning@no@line}{\@author\gdef\@author{}}{}%
}
\newcommand*\tud@split@author[2]{%
+% \end{macrocode}
% Zu Beginn werden alle Felder, welche innerhalb des \meta{Feld}-Argumentes
% angegeben sind, initial gelöscht (erstes Argument \cs{tud@multiple@setfields})
% Anschließend werden die Felder des aktuellen Teils gefüllt (zweites Argument
@@ -1002,6 +1051,7 @@
% \begin{macro}{\@maketitleonecolumn}
% \changes{v2.02}{2014/08/12}{entfernt}%^^A
% \begin{macro}{\tud@title@twocolumn}
+% \changes{v2.03}{2015/01/13}{Bugfix für falsche Position des Titels}%^^A
% \begin{macro}{\tud@title@twocolumn@box}
% Zum Setzen eines einspaltigen Titels mit einspaltiger Zusammenfassung bei
% einem Titelkopf~-- dank der Hilfe von Markus Kohm.%
@@ -1013,7 +1063,6 @@
% anschließend ggf. \meta{Inhalt} einspaltig ausgegeben. Beim Satz eines
% Titelkopfes wird der Befehl \cs{tud@title@twocolumn} zur Ausgabe genutzt.
% \begin{macrocode}
-\RequirePackage{afterpage}[1995/10/27]
\newcommand\maketitleonecolumn[2][]{%
% \end{macrocode}
% Hier erfolgt die Unterscheidung der Ausgabe, abhängig von der Option
@@ -1024,7 +1073,7 @@
\maketitle[#1]%
\onecolumn{#2}\twocolumn%
\else%
- \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]%
+ \tud@title@twocolumn{\maketitle[#1]{#2}}%
\fi%
\else%
\ClassError{\tudcls@name}{%
@@ -1038,7 +1087,7 @@
% kann, wird mit einer Box gearbeitet.
% \begin{macrocode}
\newsavebox\tud@title@twocolumn@box
-\newcommand\tud@title@twocolumn[1][]{%
+\newcommand\tud@title@twocolumn[1]{%
% \end{macrocode}
% Zunächst wird auf einseitigen Satz umgeschaltet. Der zu schreibende Inhalt
% wird in einer Box gespeichert. Während des Zusammenbaus der Box sind keine
@@ -1048,54 +1097,71 @@
\begingroup%
\let\clearpage\relax%
\let\newpage\relax%
- \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}%
+% \end{macrocode}
+% Sollte der Inhalt der Box größer als die verfügbare Texthöhe des Satzspiegels
+% sein, muss aufgrund der verwendeten Box ein zusätzlicher vertikaler Abstand
+% von \val{.9}\cs{baselineskip} zur korrekten Postionierung der Überschrift
+% eingefügt werden.
+% \begin{macrocode}
+ \global\setbox\tud@title@twocolumn@box\vbox{%
+ \vspace*{.9\baselineskip}#1\bigskip%
+ }%
\endgroup%
% \end{macrocode}
-% Für den speziellen Satzspiegel mit dem \DDC-Logo im Fuß ist im Zweifelsfall
-% etwas Anpassungarbeit von Nöten. Sollte dieser für die Titelseite benötigt
-% werden, der entsprechende Seitenstil ist aber nicht geladen, so wird für die
-% folgende Ausgaberoutine im ersten Durchlauf der Platz auf der Titelseite
-% reduziert.
-% \begin{macrocode}
- \setlength{\@tempdimc}{\textheight}%
- \tud@ifinpslist{\titlepagestyle}{%
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@ddc@check%
- \ifcase \@tempb\relax\else%
- \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}%
- \fi%
- }{}%
+% Als erstes muss geprüft werden, ob der Inhalt größer als der Textbereich ist.
+% Vor der Version~v2.03 gab es für das \DDC-Logo einen abweichenden Satzspiegel
+% der ggf. beachtet werden muss.
+% \begin{macrocode}
+ \setlength\@tempdima{\textheight}%
+ \iftudscrverlower{2.03}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else%
+ \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}%
+ \@tempswatrue%
+ \fi%
}{}%
% \end{macrocode}
% Jetzt werden der Inhalt stückweise so lange auf einzelnen Seiten ausgeben,
-% bis der immer kleiner werdende Rest in der Box auf eine Seite passt. Dabei
-% sollen für das seitenweise Zerteilen des Inhaltes innerhalb der Box dieselben
-% Rahmenbedingungen für den Seitenaufbau gelten, wie auch im normalen Dokument.
-% Nach der Ausgabe der ersten vollständigen Seite wird der verfügbare Platz auf
-% das normale Maß zurückgesetzt.
-% \begin{macrocode}
- \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{%
- \splittopskip\topskip%
- \splitmaxdepth\maxdepth%
- \vsplit\tud@title@twocolumn@box to \@tempdimc%
- \clearpage%
- \setlength{\@tempdimc}{\textheight}%
- }%
+% bis der immer kleiner werdende Rest in der Box auf eine Seite passt.
+% \begin{macrocode}
+ \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax%
+ \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{%
+ \splittopskip\topskip%
+ \splitmaxdepth\maxdepth%
+ \vsplit\tud@title@twocolumn@box to \@tempdima%
+ \clearpage%
+ \setlength\@tempdima{\textheight}%
+ \iftudscrverlower{2.03}{\@tempswafalse}{}%
+ }%
+% \end{macrocode}
+% Passt der auszugebende einspaltige Teil auf eine Seite, ist eine vertikale
+% Korrektur von \val{.9}\cs{baselineskip} nicht notwendig. In diesem Fall wird
+% die Box vor der Ausgabe einfach neu und ohne diese Länge gesetzt.
+% \begin{macrocode}
+ \else%
+ \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}%
+ \fi%
% \end{macrocode}
% Der Rest wir einfach als optionales Argument von \cs{twocolumn} ausgegeben.
% \begin{macrocode}
\twocolumn[\unvbox\tud@title@twocolumn@box]%
% \end{macrocode}
-% Sollte der einspaltige Teil bereits auf der Titelseite selbst beendet worden
-% sein, so muss im zweispaltigen Satz für beide Spalten der Platz eingeschränkt
-% werden. Leider ist das Vergrößern zweier Spalten in \LaTeXe nicht trivial
-% möglich, weshalb hierfür wird das Paket \pkg{afterpage} benötigt wird. Es
-% wird die aktuelle und mit \cs{afterpage} die nächstfolgende Spalte verkürzt.
+% In der Version~v2.02 wird eine Warnung ausgegeben, damit der Anwender den
+% Satzspiegel manuell anpassen kann. Die Verwendung von \pkg{afterpage} liefert
+% leider nicht in allen Fällen das gewollte Ergebnis, weshalb darauf verzichtet
+% wird.
% \begin{macrocode}
- \ifdim\@tempdimc<\textheight\relax%
- \enlargethispage{-\tud@dim@ddcdiff}%
- \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}%
- \fi%
+ \iftudscrverlower{2.03}{%
+ \if@tempswa%
+ \ClassWarning{\tudcls@name}{%
+ You are using a two-column title along with\MessageBreak%
+ the DDC-logo. Unfortunately in this case, the\MessageBreak%
+ type area hast to be adjusted manually. Please\MessageBreak%
+ use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak%
+ in both columns after the title%
+ }%
+ \fi%
+ }{}%
}
% \end{macrocode}
% \end{macro}^^A \tud@title@twocolumn@box
@@ -1148,21 +1214,20 @@
% separate Umschlagseite erzeugt werden. Um die Gestaltung dieser anzupassen,
% wurden Einstellungsmöglichkeiten vorgesehen, die insbesondere den verwendeten
% Satzspiegel betreffen.
+%
% \begin{macro}{\makecover}
% \changes{v2.02}{2014/06/23}{Warnung für die Option \opt{titlepage} mit dem
% Wert \val{firstiscover}}%^^A
% \changes{v2.02}{2014/08/08}{\cs{makecover} jetzt auch ohne \CD verwendbar}^^A
+% \changes{v2.02}{2014/08/12}{Satzspiegel mit \cs{coverpage\dots{}margin}
+% änderbar, falls CD-Layout deaktiviert}^^A
+% \changes{v2.03}{2015/01/09}{Anpassungen für neue Satzspiegelerzeugung}%^^A
% \begin{macro}{\if@tud@cover}
-% \begin{macro}{\tud@coverpagetopmargin}
-% \changes{v2.02}{2014/08/12}{neu}^^A
-% Der Befehl ist für ein Cover bei einem gebundenen Werk zu verwenden.
+% Der Befehl \cs{makecover} ist für eine Umschlagseite bei einem gebundenen
+% Werk zu verwenden.
% \begin{macrocode}
\newif\if@tud@cover
-\newcommand*\tud@coverpagetopmargin{}
-\let\tud@coverpagetopmargin\coverpagetopmargin
\newcommand*\makecover[1][]{%
-% \changes{v2.02}{2014/08/12}{Satzspiegel bei \opt{cdlayout=false}
-% anpassbar}%^^A
% \end{macrocode}
% Ist die Option \opt{titlepage=firstiscover} aktiv, wird eine Warnung erzeugt.
% \begin{macrocode}
@@ -1170,7 +1235,7 @@
\ClassWarning{\tudcls@name}{%
Using both option `titlepage=firstiscover' and\MessageBreak%
`\string\makecover' together isn't supported. The\MessageBreak%
- option `titlepage=firstiscover' will be ignorded. If you\MessageBreak%
+ option `titlepage=firstiscover' will be ignored. If you\MessageBreak%
want to create an individual cover, you have to use\MessageBreak%
`\string\extratitle' instead of `\string\makecover'.\MessageBreak%
See also the documentation of KOMA-Script%
@@ -1190,37 +1255,24 @@
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
- \TUD@parameter@set[cover]{#1}%
+ \TUD@parameter@set{cover}{#1}%
\let\tud@layout@title\tud@layout@cover%
\tud@layout@process%
% \end{macrocode}
-% Wird der Parameter \opt{cdlayout} aktiviert, werden die Seitenränder wie
+% Wird der Parameter \opt{cdgeometry} aktiviert, werden die Seitenränder wie
% durch das \CD vorgegeben eingestellt. Andernfalls entsprechen diese den
% Einstellungen des Satzspiegels und können mit \cs{coverpage\dots margin}
-% durch den Anwender angepasst werden. Der mit \cs{coverpagetopmargin}
-% zusätzlich eingefügte, obere Seitenrand wird bei aktiviertem Parameter
-% \opt{cdlayout} im Normalfall~-- sprich ohne eine Änderung des Befehls
-% \cs{coverpagetopmargin}~-- durch \cs{tud@coverpagetopmargin} ausgeglichen, um
-% den Titel auf der Umschlagseite in der richtigen vertikalen Position
-% erscheinen zu lassen.
-% \begin{macrocode}
- \if@tud@cover@cdlayout%
- \ifcase \tud@layout@cover\relax%
- \let\coverpagetopmargin\tud@dim@top%
- \else%
- \def\coverpagetopmargin{%
- \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax%
- }%
- \fi%
- \let\coverpagebottommargin\tud@dim@bottom%
- \let\coverpageleftmargin\tud@dim@left%
- \let\coverpagerightmargin\tud@dim@right%
- \else%
- \ifcase \tud@layout@cover\relax\else%
- \expandafter\def\expandafter\coverpagetopmargin\expandafter{%
- \coverpagetopmargin-\tud@coverpagetopmargin%
- }%
- \fi%
+% durch den Anwender angepasst werden.
+% \begin{macrocode}
+ \if@tud@cover@cdgeometry%
+ \let\coverpagetopmargin\tud@dim@slimmargin%
+ \let\coverpagebottommargin\tud@dim@widemargin%
+ \let\coverpageleftmargin\tud@dim@widemargin%
+ \let\coverpagerightmargin\tud@dim@slimmargin%
+ \iftudscrverlower{2.03}{%
+ \def\coverpagetopmargin{.5\tud@dim@both}%
+ \def\coverpagebottommargin{.5\tud@dim@both}%
+ }{}%
\fi%
% \end{macrocode}
% Für den Fall, dass eine Umschlagseite gesetzt werden soll, die nicht im \CD
@@ -1229,7 +1281,7 @@
% anpassen zu können. Außerdem werden ein mit \cs{extatitle} gegebener
% Schmutztitel ebenso ignoriert, wie Danksagung oder Einträge für die Rückseite.
% \begin{macrocode}
- \ifcase \tud@layout@cover\relax%
+ \ifcase\tud@layout@cover\relax%
\KOMAoptions{titlepage=firstiscover}%
\let\@extratitle\@empty%
\let\@uppertitleback\@empty%
@@ -1258,98 +1310,154 @@
\noexpand\global\vsize\the\vsize%
\noexpand\let\noexpand\titlepage@restore\noexpand\relax%
}%
+% \end{macrocode}
+% Linker und rechter Rand sowie die Textbreite werden identisch erzeugt. Für
+% das Layout im \CD wurden die Seitenränder (\cs{coverpage\dots margin}) zuvor
+% angepasst. Die Höhe der Kopfzeile wird auf \val{0pt} gesetzt, die Fußzeile
+% entspricht dem normalen Satzspiegel im \CD.
+% \begin{macrocode}
\begingroup%
- \topmargin=\dimexpr \coverpagetopmargin-1in\relax%
- \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax%
- \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr%
- \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax%
-% \end{macrocode}
-% Bei der Höhe des Textbereiches und der Kopfzeile muss unterschieden werden,
-% ob der Satzspiegel im \CD oder aber im Buchblock erfolgen soll.
-% \begin{macrocode}
- \if@tud@cover@cdlayout%
- \textheight=\dimexpr%
- \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax%
+ \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ -\coverpagerightmargin\relax%
\headheight=0pt%
\headsep=0pt%
- \else%
- \textheight=\dimexpr\paperheight-\coverpagebottommargin%
- -\tud@dim@headheight-\tud@dim@barheight%
- -\tud@dim@headsep-\tud@dim@bottom\relax%
- \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax%
- \headsep=\tud@dim@headsep%
- \fi%
- \footskip=\tud@dim@footskip%
- \@colht=\textheight%
- \@colroom=\textheight%
- \vsize=\textheight%
- \columnwidth=\textwidth%
- \hsize=\columnwidth%
- \linewidth=\hsize%
- \tud@dim@headdiff=\z@%
+ \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax%
+ \iftudscrverlower{2.03}{%
+ \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight%
+ -1.25\baselineskip\relax%
+ }{}%
+% \end{macrocode}
+% Bei der Höhe des oberen Seitenrandes muss unterschieden werden, ob der
+% Satzspiegel im \CD oder aber im Buchblock erscheinen soll.
+% \begin{macrocode}
+ \if@tud@cover@cdgeometry%
+ \def\coverpagetopmargin{%
+ \dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ +\tud@dim@headsep\relax%
+ }%
+ \else%
+% \end{macrocode}
+% Bei der Verwendung eines eigenen Satzspiegels kann der obere Seitenrand über
+% das Makro \cs{coverpagetopmargin} geändert werden. Das Vermeiden einer
+% unerwünschten Überdeckung des Kopfes oder ein zu kleiner Fußbereich muss
+% durch den Anwender korrigiert werden. Standardmäßig wird die Höhe jedoch für
+% das \CD angepasst. Auch die Fußhöhe wird im Zweifelsfall gesetzt.
+% \begin{macrocode}
+ \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ +\tud@dim@headsep-1in\relax%
+ \def\@tempa{2\dimexpr\coverpagetopmargin\relax}%
+ \ifx\@tempa\coverpagebottommargin\relax%
+ \let\coverpagebottommargin\tud@dim@widemargin%
+ \iftudscrverlower{2.03}{%
+ \def\coverpagebottommargin{.5\tud@dim@both}%
+ }{}%
+ \fi%
+ \fi%
+% \end{macrocode}
+% Damit alle Einstellungen korrekt und wie gewünscht übernommen werden, muss
+% die Höhe des Textbereiches \cs{textheight} \emph{vor} der Größe des oberen
+% Seitenrande gesetzt werden. Dies hat mit der originären Definition von
+% \cs{coverpagetopmargin} zu tun.
+% \begin{macrocode}
+ \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ -\coverpagebottommargin-\tud@dim@extrabottommargin\relax%
+ \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
+ \@colht=\textheight%
+ \@colroom=\textheight%
+ \vsize=\textheight%
+ \columnwidth=\textwidth%
+ \hsize=\columnwidth%
+ \linewidth=\hsize%
+ \tud@dim@headdiff=\z@%
% \end{macrocode}
% Weil bereits die Titelseite normalerweise die Seitenzahl eins bekommt, kann es
% bei der Verwendung des Paketes \pkg{hyperref} zu einer Warnung aufgrund der
% doppelt verwendeten Seitenzahl kommen. Um dies zu verhindern, werden die
% Seitenanker für das Cover deaktiviert.
% \begin{macrocode}
- \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}%
+ \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}%
% \end{macrocode}
% Die Ausgabe des Covers und ggf. das Wiederherstellen des Satzspiegels.
% \begin{macrocode}
- \tud@maketitle%
- \clearpage%
+ \tud@maketitle%
+ \clearpage%
\csname titlepage@restore\endcsname%
\fi%
\endgroup%
}
% \end{macrocode}
-% \end{macro}^^A \tud@coverpagetopmargin
% \end{macro}^^A \if@tud@cover
% \end{macro}^^A \makecover
+% \begin{parameter}{cdcover}
+% \changes{v2.03}{2015/01/12}{neu}^^A
+% \begin{parameter}{cd}
+% \changes{v2.03}{2015/01/12}{neu}^^A
+% \begin{parameter}{cdgeometry}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \begin{macro}{\if@tud@cover@cdgeometry}
+% \begin{macro}{\if@tud@cover@cdgeometry@locked}
% \begin{parameter}{pagenumber}
% \begin{parameter}{cdfont}
-% \begin{parameter}{cdfonts}
-% \changes{v2.02}{2014/08/08}{entfernt}^^A
-% \begin{parameter}{tudfonts}
-% \changes{v2.02}{2014/08/08}{entfernt}^^A
-% \begin{parameter}{cdlayout}
-% \changes{v2.02}{2014/06/23}{neu}%^^A
-% \begin{macro}{\if@tud@cover@cdlayout}
+% \begin{parameter}{cdhead}
+% \begin{parameter}{cdfoot}
+% \begin{parameter}{headlogo}
+% \begin{parameter}{footlogo}
+% \begin{parameter}{ddc}
+% \begin{parameter}{ddchead}
+% \begin{parameter}{ddcfoot}
% Die einzelnen Parameter dienen zur Einstellung der Umschlagseite und
% entsprechen in ihrem Verhalten den gleichnamigen Klassenoptionen~--
-% \opt{cdlayout} ausgenommen.
+% \opt{cdgeometry} ausgenommen.
% \begin{macrocode}
-\newbool@lock{@tud@cover@cdlayout}
+\bool@lock{@tud@cover@cdgeometry}
\TUD@parameter{cover}{%
- \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
- \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
- \TUD@parameter@define{cdlayout}[true]{%
- \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{%
- \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{%
- \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{%
- \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{%
- \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{%
- \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{%
- \TUD@parameter@wrn{cdlayout}{true,false}%
- }}}}}}%
+ \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}%
+ \TUD@parameter@let{cd}{cdcover}%
+ \TUD@parameter@define{cdgeometry}[true]{%
+ \ifstrbool{#1}{%
+ \bool@set@lock{@tud@cover@cdgeometry}{true}%
+ }{%
+ \bool@set@lock{@tud@cover@cdgeometry}{false}%
+ }{%
+ \TUD@parameter@error{cdgeometry}{true,false}%
+ }%
}%
+ \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
+% \end{macrocode}
+% Mit \cs{TUD@parameter@define@ps} werden alle verfügbaren Parameter für die
+% Kopf- und Fußzeilen definiert.
+% \begin{macrocode}
+ \TUD@parameter@define@ps{#1}%
+% \end{macrocode}
+% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation angegeben
+% wurde, wird versucht, das gegebene Argument entweder als booleschen Ausdruck
+% für das Seitenlayout oder als Seitenzahl zu interpretieren.
+% \begin{macrocode}
\TUD@parameter@sethandler{%
\ifxnumber{#1}{%
- \TUD@parameter@set[cover]{pagenumber=#1}%
+ \TUD@parameter@set{cover}{pagenumber=#1}%
}{%
- \TUD@parameter@set[cover]{cdlayout=#1}%
+ \TUD@parameter@set{cover}{cdgeometry=#1}%
}%
}%
-}%
+}
% \end{macrocode}
-% \end{macro}^^A \if@tud@cover@cdlayout
-% \end{parameter}^^A cdlayout
-% \end{parameter}^^A tudfonts
-% \end{parameter}^^A cdfonts
+% \end{parameter}^^A ddcfoot
+% \end{parameter}^^A ddchead
+% \end{parameter}^^A ddc
+% \end{parameter}^^A footlogo
+% \end{parameter}^^A headlogo
+% \end{parameter}^^A cdfoot
+% \end{parameter}^^A cdhead
% \end{parameter}^^A cdfont
% \end{parameter}^^A pagenumber
+% \end{macro}^^A \if@tud@cover@cdgeometry@locked
+% \end{macro}^^A \if@tud@cover@cdgeometry
+% \end{parameter}^^A cdgeometry
+% \end{parameter}^^A cd
+% \end{parameter}^^A cdcover
%
% \iffalse
%</class&body>