diff options
author | Karl Berry <karl@freefriends.org> | 2007-03-07 18:05:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-03-07 18:05:27 +0000 |
commit | 1c15eb0bc227a081215bf372a3756aadc4d19d09 (patch) | |
tree | 512213f86181e4a6b05eab611fd4a84f334fc27a /Master/texmf-dist/source/latex/koma-script/scrksect.dtx | |
parent | f20e65ef1cfe5fc288f66e7af8abc8477511b36a (diff) |
koma-script update (5mar07)
git-svn-id: svn://tug.org/texlive/trunk@4009 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrksect.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrksect.dtx | 400 |
1 files changed, 311 insertions, 89 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrksect.dtx b/Master/texmf-dist/source/latex/koma-script/scrksect.dtx index 752ca68b130..8682751b8a2 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrksect.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrksect.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1465} +% \CheckSum{1642} % \iffalse meta-comment % ====================================================================== % scrksect.dtx -% Copyright (c) Markus Kohm, 2002-2006 +% Copyright (c) Markus Kohm, 2002-2007 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrksect.dtx -% Copyright (c) Markus Kohm, 2002-2006 +% Copyright (c) Markus Kohm, 2002-2007 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3b, verteilt und/oder veraendert werden. @@ -58,7 +58,7 @@ %%% From File: scrksect.dtx %<*driver> % \fi -\ProvidesFile{scrksect.dtx}[2006/07/30 v2.95b KOMA-Script (disposition)] +\ProvidesFile{scrksect.dtx}[2007/01/24 v2.97 KOMA-Script (disposition)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} @@ -122,6 +122,8 @@ % Der Zustand wird dann in einem Schalter gespeichert. % \begin{macrocode} \newif\if@openright +%<report>\@openrightfalse +%<book>\@openrighttrue % \end{macrocode} % \end{macro} % \end{macro} @@ -345,6 +347,7 @@ If you'll continue, option `smallheadings' will be used% }% } +\@bigheadings % \end{macrocode} % \end{macro} % \end{option} @@ -356,8 +359,10 @@ % % \begin{option}{chapterprefix} % \changes{v2.8}{2001/06/15}{neue Option} +% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option} % \begin{option}{nochapterprefix} % \changes{v2.8}{2001/06/15}{neue Option} +% \changes{v2.95c}{2006/08/21}{obsolete Option} % \iffalse %<*book|report> % \fi @@ -375,9 +380,9 @@ % \texttt{appendixprefix} und \texttt{noappendixprefix} erfolgt die % Umschaltung durch einen Schalter. % \begin{macrocode} -\newif\if@chapterprefix -\DeclareOption{chapterprefix}{\@chapterprefixtrue} -\DeclareOption{nochapterprefix}{\@chapterprefixfalse} +\newif\if@chapterprefix\@chapterprefixfalse +\KOMA@ifkey{chapterprefix}{@chapterprefix} +\KOMA@DeclareObsoleteOption{nochapterprefix}{chapterprefix=false} % \end{macrocode} % \end{macro} % \end{macro} @@ -391,24 +396,29 @@ % % \begin{option}{appendixprefix} % \changes{v2.8}{2001/06/15}{neue Option} +% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option} % \begin{option}{noappendixprefix} % \changes{v2.8}{2001/06/15}{neue Option} +% \changes{v2.95c}{2006/08/21}{obsolete Option} % \iffalse %<*book|report> % \fi -% Will man abweichend von den Optionen \texttt{chapterprefix} und -% \texttt{nochapterprefix} die großen Überschriften für den Anhang -% aktivieren oder deaktivieren, so kann man das mit dieser Option -% erreichen. Allerdings setzt diese keinen Schalter, sondern ein -% Zusatzmakro, das auch für andere Zwecke genutzt werden -% kann. Übrigens ist keine der beiden Optionen die Voreinstellung! -% \begin{macrocode} -\DeclareOption{appendixprefix}{% - \def\appendixmore{\@chapterprefixtrue}% -} -\DeclareOption{noappendixprefix}{% - \def\appendixmore{\@chapterprefixfalse}% +% Will man abweichend von der Option \texttt{chapterprefix} die großen +% Überschriften für den Anhang aktivieren oder deaktivieren, so kann man das +% mit dieser Option erreichen. Allerdings setzt diese keinen Schalter, sondern +% ein Zusatzmakro, das auch für andere Zwecke genutzt werden kann. Übrigens +% ist keine der beiden Einstellungen die Voreinstellung! +% \begin{macrocode} +\KOMA@key{appendixprefix}[true]{% + \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% + \if@tempswa + \def\appendixmore{\@chapterprefixtrue}% + \else + \def\appendixmore{\@chapterprefixfalse}% + \fi } +\KOMA@DeclareObsoleteOption[\ClassInfo]{noappendixprefix}{% + appendixprefix=false} % \end{macrocode} % \iffalse %</book|report> @@ -617,12 +627,13 @@ % Dabei soll die Umstellung beim zweiten TeX-Lauf bereits am Anfang % aktiv sein. Deshalb wird die Information am Ende in die aux-Datei % geschrieben. -% \changes{v2.9k}{2003/01/12}{es wird direkt in \cs{@mainaux} geschrieben} -% \changes{v2.95}{2004/01/15}{es wird erst unmittelbar vor dem Schließen der -% Haupt-aux-Datei in diese geschrieben} +% \changes{v2.9k}{2003/01/12}{es wird direkt in \cs{@mainaux} geschrieben} +% \changes{v2.95}{2004/01/15}{es wird erst unmittelbar vor dem Schließen +% der Haupt-aux-Datei in diese geschrieben} +% \changes{v2.96a}{2006/12/07}{es wird \cs{immediate} geschrieben} % \begin{macrocode} \BeforeClosingMainAux{% - \if@autodot\if@filesw\write\@mainaux{% + \if@autodot\if@filesw\immediate\write\@mainaux{% \string\global\string\@altsecnumformattrue}% \fi\fi} % \end{macrocode} @@ -664,6 +675,8 @@ % \changes{v2.8}{2001/06/15}{\cs{chapappifprefix} eingefügt} % \changes{v2.8o}{2001/09/19}{\cs{chapappifchapterprefix} statt % \cs{chapappifprefix}} +% \changes{v2.96a}{2006/12/02}{\cs{mbox} eingefügt, um \cs{caps} zu +% ermöglichen} % \begin{macro}{\chaptermarkformat} % \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer % erhöht} @@ -703,7 +716,7 @@ \newcounter{chapter} \renewcommand*{\thechapter}{\@arabic\c@chapter} \newcommand*{\chapterformat}{% - \chapappifchapterprefix{\ }\thechapter\autodot\enskip + \mbox{\chapappifchapterprefix{~}\thechapter\autodot\enskip}% } \newcommand*\chaptermarkformat{\chapappifchapterprefix{\ }% \thechapter\autodot\enskip} @@ -734,20 +747,37 @@ % \end{macrocode} % \begin{macro}{\@seccntformat} % \changes{v2.3c}{1995/08/06}{CJK erweitert} -% \changes{v2.9p}{2004/01/07}{\cs{protect} eingef"ugt} +% \changes{v2.9p}{2004/01/07}{\cs{protect} eingefügt} +% \changes{v2.97}{2007/01/24}{Workaround für das blöde \cs{protect}} % \begin{macro}{\othersectionlevelsformat} % \changes{v2.7}{2000/01/03}{neu} % \changes{v2.7}{2000/01/03}{\cs{quad} durch \cs{enskip} ersetzt} % \changes{v2.7i}{2001/05/17}{\cs{let} durch \cs{def} ersetzt} +% \changes{v2.97}{2007/01/24}{statt einem Argument jetzt drei} % Bei den Ebenen ab \cs{section} erfolgt die Formatierung der % Gliederungnummer in der Überschrift mit einer gemeinsamen % Anweisung. Die interne Anweisung \cs{@seccntformat} wird dabei von % \LaTeX-Kern verwendet und muss umdefiniert werden, um eine % entsprechende Anweisung auf Anwenderebene verfügbar zu haben. -% \begin{macrocode} -\newcommand*{\othersectionlevelsformat}[1]{% - \csname the#1\endcsname\autodot\enskip} -\renewcommand*{\@seccntformat}{\protect\othersectionlevelsformat} +% Ab Version 2.9p wurde in \cs{@seccntformat} ein \cs{protect} vor +% \cs{othersectionlevelsformat} eingefügt. Damit wurde es für den Benutzer +% deutlich einfacher, die Anweisung \cs{othersectionlevelsformat} +% umzudefinieren. Dafür war dadurch aber \cs{the\dots} nicht mehr +% expandiert. Das wiederum gab Probleme, wenn \cs{\@seccntformat} für den +% \cs{mark}-Mechanismus genutzt wurde. Deshalb hat +% \cs{othersectionlevelsformat} ab Version 2.97 drei Argumente statt nur +% eines. Das zweite Argument sollte vom Anwender ignoriert werden, es +% existiert nur, um die Kompatibitlität Umdefinitionen zu erhalten, bei denen +% \cs{othersectionlevelsformat} nur ein Argument besitzt. Das dritte Argument +% ist die \cs{the\dots}-Anweisung. Das zweite Argument funktioniert so, das es +% das dritte Argument frisst, falls \cs{othersectionlevelsformat} nur ein +% Argument liest. +% \begin{macrocode} +\newcommand*{\othersectionlevelsformat}[3]{#3\autodot\enskip} +\renewcommand*{\@seccntformat}[1]{% + \protect\othersectionlevelsformat{#1}{% + \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}% +} % \end{macrocode} % \end{macro} % \end{macro} @@ -981,10 +1011,10 @@ \normalfont\sectfont\nobreak %<article> \ifnum \c@secnumdepth >\m@ne %<book|report> \ifnum \c@secnumdepth >-2\relax - \size@partnumber\partformat + \size@partnumber{\partformat}% \partheadmidvskip \fi - \size@part #2\strut% + \size@part{#2}\strut% \partmark{#1}\par \endgroup %<*article> @@ -1000,7 +1030,7 @@ \raggedpart \interlinepenalty \@M \normalfont - \sectfont\nobreak\size@part #1\strut\@mkboth{}{}\par + \sectfont\nobreak\size@part{#1}\strut\@mkboth{}{}\par \endgroup %<*article> \nobreak @@ -1207,28 +1237,61 @@ \refstepcounter{chapter}% \@maybeautodot\thechapter \typeout{\@chapapp\space\thechapter.}% - \addcontentsline{toc}{chapter}% - {\protect\numberline{\thechapter}#1}% -%<book> \else -%<book> \addcontentsline{toc}{chapter}{#1}% -%<book> \fi + \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}% + \if@chaptertolists + \addcontentsline{lof}{chapteratlist}{% + \protect\numberline{\thechapter}#1}% + \addcontentsline{lot}{chapteratlist}{% + \protect\numberline{\thechapter}#1}% + \@ifundefined{float@addtolists}{}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{% + \protect\numberline{\thechapter}#1}{\thepage}% + }% + }% + \fi +%<*book> \else \addcontentsline{toc}{chapter}{#1}% + \if@chaptertolists + \addcontentsline{lof}{chapteratlist}{#1}% + \addcontentsline{lot}{chapteratlist}{#1}% + \@ifundefined{float@addtolists}{}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}% + }% + }% + \fi + \fi +%</book> + \else + \addcontentsline{toc}{chapter}{#1}% + \if@chaptertolists + \addcontentsline{lof}{chapteratlist}{#1}% + \addcontentsline{lot}{chapteratlist}{#1}% + \@ifundefined{float@addtolists}{}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}% + }% + }% \fi - \chaptermark{#1}% - \addtocontents{lof}{\protect\addvspace{10\p@}}% - \addtocontents{lot}{\protect\addvspace{10\p@}}% + \fi + \chaptermark{#1}% + \ifdim \@chapterlistsgap>\z@ + \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% + \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% \@ifundefined{float@addtolists}{}{% - \float@addtolists{\protect\addvspace{10\p@}}% + \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% }% - \if@twocolumn - \if@at@twocolumn - \@makechapterhead{#2}% - \else - \@topnewpage[\@makechapterhead{#2}]% - \fi - \else + \fi + \if@twocolumn + \if@at@twocolumn \@makechapterhead{#2}% + \else + \@topnewpage[\@makechapterhead{#2}]% + \fi + \else + \@makechapterhead{#2}% \@afterheading \fi } @@ -1237,22 +1300,34 @@ \@@makechapterhead{#1}% \use@preamble{chapter@u}\nobreak } +% \end{macrocode} +% \changes{v2.96a}{2006/12/02}{Abstand nach der Präfixzeile nur, wenn eines +% Präfixzeile ausgegeben wurde} +% \begin{macrocode} \newcommand*{\@@makechapterhead}[1]{\chapterheadstartvskip - {\normalfont\sectfont\size@chapter + {% \setlength{\parindent}{\z@}\setlength{\parfillskip}{\fill}% + \normalfont\sectfont\size@chapter{}% \if@chapterprefix \let\@tempa\raggedsection \else \let\@tempa\@hangfrom \fi \@tempa{\ifnum \c@secnumdepth >\m@ne% -%<book> \if@mainmatter - \chapterformat +%<book> \if@mainmatter + \if@chapterprefix + \expandafter\size@chapterprefix + \else + \expandafter\size@chapter + \fi + {\chapterformat}% + \if@chapterprefix + \size@chapterprefix{}\endgraph\nobreak\vskip.5\baselineskip + \fi %<book> \fi \fi }% - \if@chapterprefix\par\nobreak\vskip.5\baselineskip\fi - {\raggedsection \interlinepenalty \@M #1\par}}% + {\raggedsection \interlinepenalty \@M \size@chapter{#1}\par}}% \nobreak\chapterheadendvskip } % \end{macrocode} @@ -1285,9 +1360,9 @@ } \newcommand*{\@@makeschapterhead}[1]{% \chapterheadstartvskip% - {\normalfont\sectfont\size@chapter + {\normalfont\sectfont\size@chapter{}% \setlength{\parindent}{\z@}\setlength{\parfillskip}{\fill}% - \raggedsection \interlinepenalty \@M #1\par}% + \raggedsection \interlinepenalty \@M \size@chapter{#1}\par}% \nobreak\chapterheadendvskip% } \newcommand*{\@makeschapterhead}[1]{% @@ -1372,6 +1447,24 @@ \newcommand*{\@addchap}{} \def\@addchap[#1]#2{\@schapter{#2}% \addcontentsline{toc}{chapter}{#1}% + \if@chaptertolists + \addcontentsline{lof}{chapteratlist}{#1}% + \addcontentsline{lot}{chapteratlist}{#1}% + \@ifundefined{float@addtolists}{}{% + \float@addtolists{% + \protect\contentsline{chapteratlist}{#1}{\thepage}% + }% + }% + \fi + \ifnum \@nameuse{scr@v@2.96}<\scr@compatibility + \ifdim \@chapterlistsgap>\z@ + \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% + \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% + \@ifundefined{float@addtolists}{}{% + \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% + }% + \fi + \fi \if@twoside\@mkboth{#1}{}\else\@mkboth{}{#1}\fi } \newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}} @@ -1451,11 +1544,17 @@ % \cs{size@section} aufgerufen} % \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} % behebt einen Bug im color Paket} +% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig +% von Option \texttt{version})} +% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt} % \begin{macro}{\subsection} % \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor % \cs{size@subsection} aufgerufen} % \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} % behebt einen Bug im color Paket} +% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig +% von Option \texttt{version})} +% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt} % \begin{macro}{\subsubsection} % \changes{v2.3d}{1995/08/19}{wird bei \texttt{scrartcl} nun % ebenfalls numeriert und ins Inhaltsverzeichnis geschrieben} @@ -1463,16 +1562,21 @@ % \cs{size@subsubsection} aufgerufen} % \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} % behebt einen Bug im color Paket} +% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig +% von Option \texttt{version})} +% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt} % \begin{macro}{\paragraph} % \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor % \cs{size@paragraph} aufgerufen} % \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} % behebt einen Bug im color Paket} +% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt} % \begin{macro}{\subparagraph} % \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor % \cs{size@subparagraph} aufgerufen} % \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} % behebt einen Bug im color Paket} +% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt} % Die Standardgliederungsbefehle \cs{section} bis \cs{subparagraph} % sind mit der im Kernel dafür vorgesehenen Schnittstelle % definiert. Im Unterschied zu den Standardklassen erfolgt die @@ -1484,32 +1588,35 @@ \newcommand\section{\@startsection{section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% - {\raggedsection\normalfont\sectfont\nobreak\size@section\nobreak}% + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ + plus 1fil}\fi + \raggedsection\normalfont\sectfont\size@section}% } \newcommand\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% - {\raggedsection\normalfont\sectfont\nobreak\size@subsection\nobreak + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ + plus 1fil}\fi + \raggedsection\normalfont\sectfont\size@subsection }% } \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% - {\raggedsection\normalfont\sectfont\nobreak\size@subsubsection - \nobreak + {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@ + plus 1fil}\fi + \raggedsection\normalfont\sectfont\size@subsubsection }% } \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% - {\raggedsection\normalfont\sectfont\nobreak\size@paragraph\nobreak}% + {\raggedsection\normalfont\sectfont\size@paragraph}% } \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% - {\raggedsection\normalfont\sectfont\nobreak\size@subparagraph - \nobreak - }% + {\raggedsection\normalfont\sectfont\size@subparagraph}% } % \end{macrocode} % \end{macro} @@ -1517,26 +1624,37 @@ % \end{macro} % \end{macro} % \end{macro} -% \begin{macro}{minisec} +% \begin{macro}{\minisec} % \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} % behebt einen Bug im color Paket} % \changes{v2.9o}{2003/01/31}{\cs{nobreak} nach dem Gruppenende % behebt einen Bug im color Paket} +% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig +% von Option \texttt{version})} +% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt} +% \begin{KOMAfont}{minisec} +% \changes{v2.96a}{2006/12/03}{\texttt{minisec} ist ein eigenes +% Fontelement} % In \KOMAScript{} gibt es diese zusätzliche Gliederungsebene, die -% immer ohne Nummer und ihne Eintrag ins Inhaltsverzeichnis erfolgt. +% immer ohne Nummer und ohne Eintrag ins Inhaltsverzeichnis erfolgt. % \begin{macrocode} +\newkomafont{minisec}{} \newcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex {\parindent \z@ - \raggedsection\normalfont\sectfont\nobreak#1\par\nobreak}\nobreak% + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax + \setlength{\parfillskip}{\z@ plus 1fil}\fi + \raggedsection\normalfont\sectfont + \usekomafont{minisec}#1\par\nobreak}\nobreak% \@afterheading } % \end{macrocode} +% \end{KOMAfont} % \end{macro} % % % \subsection{Schrift und Formatierung} % -% \begin{macro}{\sectionragged} +% \begin{macro}{\raggedsection} % \changes{v2.3h}{1996/01/20}{Überschriften werden % \cs{raggedsection} gesetzt} % \changes{v2.3h}{1996/01/20}{\cs{raggedsection} ist als @@ -1573,10 +1691,18 @@ % % \begin{macro}{\size@part} % \changes{v2.8o}{2001/09/14}{neu (intern)} +% \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten, +% wenn es keine Auswirkung auf den Zeilen abstand hat} % \begin{macro}{\size@partnumber} % \changes{v2.8o}{2001/09/14}{neu (intern)} +% \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten, +% wenn es keine Auswirkung auf den Zeilen abstand hat} % \begin{macro}{\size@chapter} % \changes{v2.8o}{2001/09/14}{neu (intern)} +% \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten, +% wenn es keine Auswirkung auf den Zeilen abstand hat} +% \begin{macro}{\size@chapterprefix} +% \changes{v2.96a}{2006/12/02}{neu (intern)} % \begin{macro}{\size@section} % \changes{v2.8o}{2001/09/14}{neu (intern)} % \begin{macro}{\size@subsection} @@ -1592,6 +1718,7 @@ \newcommand*{\size@part}{} \newcommand*{\size@partnumber}{} %<book|report>\newcommand*{\size@chapter}{} +%<book|report>\newcommand*{\size@chapterprefix}{\size@chapter} \newcommand*{\size@section}{} \newcommand*{\size@subsection}{} \newcommand*{\size@subsubsection}{} @@ -1606,6 +1733,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \begin{macro}{\scr@fnt@disposition} % \changes{v2.95b}{2006/07/30}{neues Element \texttt{disposition}} @@ -1619,6 +1747,8 @@ % \changes{v2.8p}{2001/09/23}{neues Element \texttt{partnumber}} % \begin{macro}{\scr@fnt@chapter} % \changes{v2.8o}{2001/09/14}{neues Element \texttt{chapter}} +% \begin{macro}{\scr@fnt@chapterprefix} +% \changes{v2.96a}{2006/12/02}{neues Element \texttt{chapterprefix}} % \begin{macro}{\scr@fnt@section} % \changes{v2.8o}{2001/09/14}{neues Element \texttt{section}} % \begin{macro}{\scr@fnt@subsection} @@ -1632,6 +1762,8 @@ % \begin{KOMAfont}{minisec} % \changes{v2.8o}{2001/09/14}{neuer Ersatz für das Element % \texttt{minisec}} +% \changes{v2.96a}{2007/01/08}{Alias für das Element \texttt{minisec} +% entfernt, da es nun ein eigenes Element ist} % Definition der Elemente der Gliederung, deren Schrift geändert % werden kann: % \begin{macrocode} @@ -1639,12 +1771,12 @@ \newcommand*{\scr@fnt@part}{\size@part} \newcommand*{\scr@fnt@partnumber}{\size@partnumber} %<book|report>\newcommand*{\scr@fnt@chapter}{\size@chapter} +%<book|report>\newcommand*{\scr@fnt@chapterprefix}{\size@chapterprefix} \newcommand*{\scr@fnt@section}{\size@section} \newcommand*{\scr@fnt@subsection}{\size@subsection} \newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} \newcommand*{\scr@fnt@paragraph}{\size@paragraph} \newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} -\aliaskomafont{minisec}{disposition} \aliaskomafont{sectioning}{disposition} % \end{macrocode} % \end{KOMAfont} @@ -1658,6 +1790,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % % \subsection{Definitionen für Präambeln} @@ -1949,24 +2082,41 @@ \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par +% \end{macrocode} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{part}-Eintrag im +% Inhaltsverzeichnis und untergeordneten Einträgen verhindern} +% Aus unerfindlichen Gründen war es bis Version~2.96 erlaubt, dass zwischen +% der \cs{part}-Überschrift und der nachfolgenden Überschrift ein Umbruch +% stattfinden kann. Ab Version~2.96a gilt das nur noch, wenn die nachfolgende +% Überschrift wiederum eine \cs{part}-Überschrift ist. +% \begin{macrocode} + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \endgroup + \penalty20010 + \else %<*article> - \if@compatibility - \global\@nobreaktrue + \if@compatibility + \global\@nobreaktrue % \end{macrocode} % \changes{v2.3g}{1996/01/14}{fehlendes Kommentarzeichen ergänzt} % \begin{macrocode} - \everypar{\global\@nobreakfalse\everypar{}}% - \else + \everypar{\global\@nobreakfalse\everypar{}}% + \else %</article> - \penalty\@highpenalty -%<article> \fi - \endgroup + \penalty\@highpenalty +%<article> \fi + \endgroup + \fi \fi } % \end{macrocode} % \end{macro} % \begin{macro}{\l@chapter} % \changes{v2.9k}{2003/01/02}{Anpassung an Option \texttt{tocleft}} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{chapter}-Eintrag im +% Inhaltsverzeichnis und übergeordneten Einträgen verhindern} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{chapter}-Eintrag im +% Inhaltsverzeichnis und untergeordneten Einträgen verhindern} % \iffalse %<*report|book> % \fi @@ -1974,7 +2124,9 @@ % \begin{macrocode} \newcommand*\l@chapter[2]{% \ifnum \c@tocdepth >\m@ne - \addpenalty{-\@highpenalty}% + \ifnum \lastpenalty<20010 + \addpenalty{-\@highpenalty}% + \fi \vskip 1.0em \@plus\p@ \setlength\@tempdima{1.5em}% \if@tocleft @@ -1989,17 +2141,37 @@ \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par - \penalty\@highpenalty - \endgroup + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \endgroup + \penalty20009 + \else + \penalty\@highpenalty + \endgroup + \fi \fi } % \end{macrocode} +% +% \begin{macro}{\l@chapteratlist} +% \changes{v2.96a}{2006/12/03}{neues Macro} +% Dieses Makro wird ggf. für die Kapiteleinträge in den Listen der +% Gleitumgebungen verwendet. Zunächst einmal wird hier dasselbe verwendet, wie +% für die Kapiteleinträge ins Inhaltsverzeichnis. +% \begin{macrocode} +\newcommand*{\l@chapteratlist}{\l@chapter} +% \end{macrocode} +% +% \end{macro} % \iffalse %</report|book> % \fi % \end{macro} % \begin{macro}{\l@section} % \changes{v2.9k}{2003/01/02}{Anpassung an Option \texttt{tocleft}} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{section}-Eintrag im +% Inhaltsverzeichnis und übergeordneten Einträgen verhindern} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{section}-Eintrag im +% Inhaltsverzeichnis und untergeordneten Einträgen verhindern} % Bei der Artikel-Klasse folgt die Formatierung für % \cs{section}-Einträge, an Stelle der Einträge für \cs{chapter} % der Buch- oder der Bericht-Klasse. Bei diesen handelt es sich hier @@ -2008,7 +2180,9 @@ %<*article> \newcommand*\l@section[2]{% \ifnum \c@tocdepth >\z@ - \addpenalty{\@secpenalty}% + \ifnum \lastpenalty<20009 + \addpenalty{\@secpenalty}% + \fi \addvspace{1.0em \@plus\p@}% \setlength\@tempdima{1.5em}% \if@tocleft @@ -2022,33 +2196,52 @@ \leavevmode \sectfont \advance\leftskip\@tempdima \hskip -\leftskip - #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par\nobreak \endgroup + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \penalty20008 + \fi \fi } %</article> %<*report|book> -\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand*\l@section{\bprot@dottedtocline{1}{1.5em}{2.3em}} %</report|book> % \end{macrocode} % \end{macro} % \begin{macro}{\l@subsection} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{subsection}-Eintrag im +% Inhaltsverzeichnis und übergeordneten Einträgen verhindern} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{subsection}-Eintrag im +% Inhaltsverzeichnis und untergeordneten Einträgen verhindern} % \begin{macro}{\l@subsubsection} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{subsubsection}-Eintrag +% im Inhaltsverzeichnis und übergeordneten Einträgen verhindern} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{subsubsection}-Eintrag +% im Inhaltsverzeichnis und untergeordneten Einträgen verhindern} % \begin{macro}{\l@paragraph} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{paragraph}-Eintrag im +% Inhaltsverzeichnis und übergeordneten Einträgen verhindern} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{paragraph}-Eintrag im +% Inhaltsverzeichnis und untergeordneten Einträgen verhindern} % \begin{macro}{\l@subparagraph} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{subparagraph}-Eintrag +% im Inhaltsverzeichnis und übergeordneten Einträgen verhindern} +% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{subparagraph}-Eintrag +% im Inhaltsverzeichnis und untergeordneten Einträgen verhindern} % Die übrigen Ebenen werden normal behandelt. % \begin{macrocode} %<*article> -\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} -\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} -\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} -\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}} +\newcommand*\l@subsection{\bprot@dottedtocline{2}{1.5em}{2.3em}} +\newcommand*\l@subsubsection{\bprot@dottedtocline{3}{3.8em}{3.2em}} +\newcommand*\l@paragraph{\bprot@dottedtocline{4}{7.0em}{4.1em}} +\newcommand*\l@subparagraph{\bprot@dottedtocline{5}{10em}{5em}} %</article> %<*report|book> -\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} -\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} -\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}} -\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}} +\newcommand*\l@subsection{\bprot@dottedtocline{2}{3.8em}{3.2em}} +\newcommand*\l@subsubsection{\bprot@dottedtocline{3}{7.0em}{4.1em}} +\newcommand*\l@paragraph{\bprot@dottedtocline{4}{10em}{5em}} +\newcommand*\l@subparagraph{\bprot@dottedtocline{5}{12em}{6em}} %</report|book> % \end{macrocode} % \end{macro} @@ -2057,6 +2250,35 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\bprot@dottedtocline} +% \changes{v2.96a}{2006/11/30}{neu (intern)} +% Dieses Makro wird benötigt, um die Ebenen unterhalb von \cs{chapter} +% bzw. \cs{section} im Inhaltsverzeichnis ebenfalls vor unerwünschten +% Umbrüchen zwischen Eintrag und Unterebene zu schützen. +% \begin{macrocode} +\newcommand*{\bprot@dottedtocline}[5]{% + \ifnum \scr@compatibility>\@nameuse{scr@v@2.96} + \ifnum #1>\c@tocdepth \else + \begingroup + \@tempcnta 20010 + \advance \@tempcnta by -#1 + \ifnum \@tempcnta>\lastpenalty + \endgroup + \addpenalty{\@lowpenalty}% + \else + \endgroup + \fi + \@dottedtocline{#1}{#2}{#3}{#4}{#5}% + \@tempcnta 20009 + \advance \@tempcnta by -#1 + \penalty\@tempcnta + \fi + \else + \@dottedtocline{#1}{#2}{#3}{#4}{#5}% + \fi +} +% \end{macrocode} +% \end{macro} % % \iffalse %</body> |