diff options
author | Karl Berry <karl@freefriends.org> | 2015-02-16 21:40:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-02-16 21:40:28 +0000 |
commit | 68695b0b7015bb233b4f5697ebdb9def46b9cb4a (patch) | |
tree | 94745a5ea3bedbf6b6904bf5cbb949151e8f41fd /Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx | |
parent | e016928e2bd0e7163bde478d7ab2419f49468c3c (diff) |
tudscr (16feb15)
git-svn-id: svn://tug.org/texlive/trunk@36296 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx | 546 |
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> |