summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-21 21:21:23 +0000
committerKarl Berry <karl@freefriends.org>2020-04-21 21:21:23 +0000
commit52b5238ab893a61a4e2c64843d074cd296836359 (patch)
tree134947d55aee4d68d2f1ef4ac63c59a08eebec82 /Master/texmf-dist/source/latex/koma-script
parent7c0b908f1a6e1489834fbdb0789766eed8a37b49 (diff)
koma-script (21apr20)
git-svn-id: svn://tug.org/texlive/trunk@54825 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/Makefile10
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/Makefile20
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/english/common-parmarkup.tex66
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-parmarkup.tex10
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls34
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdfbin3260708 -> 3258033 bytes
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdfbin3175474 -> 3172298 bytes
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/scrpage2.tex2963
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrextend.dtx16
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrhack.dtx28
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx93
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx10
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx66
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx16
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx24
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx14
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx31
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx91
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx135
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx4
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrmain.ins11
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrpage.dtx2261
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrwfile.dtx9
-rw-r--r--Master/texmf-dist/source/latex/koma-script/tocbasic.dtx11
24 files changed, 465 insertions, 5458 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/Makefile b/Master/texmf-dist/source/latex/koma-script/Makefile
index 5c5ae90b84c..f0273531c9c 100644
--- a/Master/texmf-dist/source/latex/koma-script/Makefile
+++ b/Master/texmf-dist/source/latex/koma-script/Makefile
@@ -1,6 +1,6 @@
# ======================================================================
# Makefile
-# Copyright (c) Markus Kohm, 2002-2019
+# Copyright (c) Markus Kohm, 2002-2020
#
# This file is part of the LaTeX2e KOMA-Script bundle.
#
@@ -18,7 +18,7 @@
# This work consists of all files listed in manifest.txt.
# ----------------------------------------------------------------------
# Makefile
-# Copyright (c) Markus Kohm, 2002-2019
+# Copyright (c) Markus Kohm, 2002-2020
#
# Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
# Version 1.3c, verteilt und/oder veraendert werden.
@@ -101,7 +101,6 @@ CLS_MAIN = scrbook.cls \
scrbase.sty \
scrkbase.sty \
scraddr.sty \
- scrpage2.sty \
scrtime.sty \
scrdate.sty \
scrjura.sty \
@@ -139,7 +138,6 @@ CLS_MAIN = scrbook.cls \
scrlayer-scrpage.sty \
scrlayer-notecolumn.sty \
scrlayer-fancyhdr.sty
-# komamarks.sty
CLS_MAIN_DTX = scrkernel-basics.dtx \
scrkernel-bibliography.dtx \
@@ -168,7 +166,6 @@ CLS_MAIN_DTX = scrkernel-basics.dtx \
scrlfile.dtx \
scrwfile.dtx \
scraddr.dtx \
- scrpage.dtx \
scrtime.dtx \
scrlogo.dtx \
scrextend.dtx \
@@ -180,7 +177,6 @@ CLS_MAIN_DTX = scrkernel-basics.dtx \
scrlayer-scrpage.dtx \
scrlayer-notecolumn.dtx \
scrlayer-fancyhdr.dtx
-# komamarks.dtx
STATIC_DOC = README \
INSTALL.txt \
@@ -197,10 +193,8 @@ CLS_MAIN_INS = scrmain.ins
CLS_MAIN_SUBINS = scrstrip.inc scrstrop.inc scrdocstrip.tex
ALPHA_INS = tocstyle.dtx scrlayer-fancyhdr.dtx
-# komamarks.dtx
ALPHA_DOC = tocstyle.pdf scrlayer-fancyhdr.pdf
-# komamarks.pdf
ALPHA_DTX = $(subst .pdf,.dtx,$(ALPHA_DOC))
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/Makefile b/Master/texmf-dist/source/latex/koma-script/doc/Makefile
index 3695d148e8c..16d4526d573 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/Makefile
+++ b/Master/texmf-dist/source/latex/koma-script/doc/Makefile
@@ -1,6 +1,6 @@
# ======================================================================
# Makefile
-# Copyright (c) Markus Kohm, 2002-2014
+# Copyright (c) Markus Kohm, 2002-2020
#
# This file is part of the LaTeX2e KOMA-Script bundle.
#
@@ -18,7 +18,7 @@
# This work consists of all files listed in manifest.txt.
# ----------------------------------------------------------------------
# Makefile
-# Copyright (c) Markus Kohm, 2002-2014
+# Copyright (c) Markus Kohm, 2002-2020
#
# Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
# Version 1.3c, verteilt und/oder veraendert werden.
@@ -108,10 +108,9 @@ STATIC_DOC_LINKS= komascript.html komascr.html \
DOC_SRC = scrguide.cls scrguide.ist scrguide.gst \
guide.tex guide.bib plength.dtx \
- linkalias.tex \
- scrpage2.tex
+ linkalias.tex
-DOC_FILES = scrpage2.pdf
+DOC_FILES =
DOC_DIR = doc
@@ -136,11 +135,6 @@ prepare_local: $(STATIC_DOC_LINKS)
default_local: $(STATIC_DOC) $(DOC_FILES)
$(make_recursive)
-scrpage2.pdf: $(DOC_SRC)
- $(LATEX) $(NONSTOPMODE) $(PDFOUTPUT) scrpage2.tex
- $(LATEX) $(NONSTOPMODE) $(PDFOUTPUT) scrpage2.tex
- $(LATEX) $(NONSTOPMODE) $(PDFOUTPUT) scrpage2.tex
-
$(STATIC_DOC_LINKS): $(STATIC_DOC_SRC)
$(SYMLINK) $< $@
@@ -203,7 +197,7 @@ dist_local: $(DIST_FILES)
$(MKDIR) $(DISTDIR)/$(BIN_DIR)
$(CP) $(DIST_FILES) $(DISTDIR)
$(CP) $(BIN_FILES) $(DISTDIR)/$(BIN_DIR)
- $(CP) $(DOC_FILES) $(DISTDIR)/$(DOC_DIR)
+# $(CP) $(DOC_FILES) $(DISTDIR)/$(DOC_DIR)
$(make_recursive)
maintain_local:
@@ -215,12 +209,10 @@ maintain_local:
$(make_recursive)
distclean_local:
- $(SRM) scrpage2-ngerman.tex scrpage2-english.tex
$(make_recursive)
maintainclean_local:
- $(SRM) ChangeLog.svn ChangeLog.bak $(STATIC_DOC_LINKS) $(DOC_FILES) \
- scrpage2-ngerman.tex scrpage2-english.tex
+ $(SRM) ChangeLog.svn ChangeLog.bak $(STATIC_DOC_LINKS) $(DOC_FILES)
$(make_recursive)
edit:
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-parmarkup.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-parmarkup.tex
index c3c39e84463..5ca141c094c 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-parmarkup.tex
+++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-parmarkup.tex
@@ -1,6 +1,6 @@
% ======================================================================
% common-parmarkup.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% common-parmarkup.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -46,12 +46,12 @@
% ======================================================================
\KOMAProvidesFile{common-parmarkup.tex}
- [$Date: 2019-11-11 08:22:00 +0100 (Mon, 11 Nov 2019) $
+ [$Date: 2020-03-12 08:27:32 +0100 (Thu, 12 Mar 2020) $
KOMA-Script guide (common paragraph: Paragraph Markup)]
\translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and
Karl Hagen}
-% Date of the translated German file: 2019-11-11
+% Date of the translated German file: 2020-03-12
\section{Marking Paragraphs}
\seclabel{parmarkup}%
@@ -187,41 +187,45 @@ shown in \autoref{tab:\ThisCommonFirstLabelBase.parskip}%
% \begin{desctabular}
\entry{\PValue{false}, \PValue{off}, \PValue{no}%
\IndexOption{parskip~=\textKValue{false}}}{%
- paragraph indentation instead of vertical space; the last line of a
- paragraph can be arbitrarily filled}%
+ Paragraphs are identified by indentation of the first line by 1em.
+ There is no spacing requirement at the end of the last line
+ of a paragraph.}%
\entry{\PValue{full}, \PValue{true}, \PValue{on}, \PValue{yes}%
\IndexOption{parskip~=\textKValue{full}}%
}{%
- one line vertical space between paragraphs; there must be at least
- 1\Unit{em} free space in the last line of a paragraph}%
+ Paragraphs are identified by a vertical space of one line between
+ paragraphs. There must be at least 1\Unit{em} of free space at the
+ end of the last line of the paragraph.}%
\pventry{full-}{%
- one line vertical space between paragraphs; the last line of a paragraph
- can be arbitrarily filled\IndexOption{parskip~=\textKValue{full-}}}%
+ Paragraphs are identified by a vertical space of one line between
+ paragraphs. There is no spacing requirement at the end of the last line
+ of a paragraph.\IndexOption{parskip~=\textKValue{full-}}}%
\pventry{full+}{%
- one line vertical space between paragraphs; there must be at least a third
- of a line of free space at the end of a
- paragraph\IndexOption{parskip~=\textKValue{full+}}}%
+ Paragraphs are identified by a vertical space of one line between
+ paragraphs. There must be at least a third of a line of free space at the
+ end of a paragraph.\IndexOption{parskip~=\textKValue{full+}}}%
\pventry{full*}{%
- one line vertical space between paragraphs; there must be at least a
- quarter of a line of free space at the end of a
- paragraph\IndexOption{parskip~=\textKValue{full*}}}%
+ Paragraphs are identified by a vertical space of one line between
+ paragraphs. There must be at least a quarter of a line of free space at
+ the end of a paragraph.\IndexOption{parskip~=\textKValue{full*}}}%
\pventry{half}{%
- half a line vertical space between paragraphs; there must be at least
- 1\Unit{em} free space in the last line of a
- paragraph\IndexOption{parskip~=\textKValue{half}}}%
+ Paragraphs are identified by a vertical space of half a line between
+ paragraphs. There must be at least 1\Unit{em} free space at the end of the
+ last line of a paragraph.\IndexOption{parskip~=\textKValue{half}}}%
\pventry{half-}{%
- one line vertical space between
- paragraphs\IndexOption{parskip~=\textKValue{half-}}}%
+ Paragraphs are identified by a vertical space of half a line between
+ paragraphs. There is no spacing requirement at the end of the last line
+ of a paragraph.\IndexOption{parskip~=\textKValue{half-}}}%
\pventry{half+}{%
- half a line vertical space between paragraphs; there must be at least a
- third of a line of free space at the end of a
- paragraph\IndexOption{parskip~=\textKValue{half+}}}%
+ Paragraphs are identified by a vertical space of half a line between
+ paragraphs. There must be at least a third of a line of free space at the
+ end of a paragraph.\IndexOption{parskip~=\textKValue{half+}}}%
\pventry{half*}{%
- half a line vertical space between paragraphs; there must be at least a
- quarter of a line of free space at the end of a
- paragraph\IndexOption{parskip~=\textKValue{half*}}}%
+ Paragraphs are identified by a vertical space of half a line between
+ paragraphs. There must be at least a quarter of a line of free space at
+ the end of a paragraph.\IndexOption{parskip~=\textKValue{half*}}}%
\pventry{never}{%
- there%
+ No%
\IfThisCommonLabelBase{maincls}{%
\ChangedAt{v3.08}{\Class{scrbook}\and \Class{scrreprt}\and
\Class{scrartcl}}%
@@ -230,9 +234,9 @@ shown in \autoref{tab:\ThisCommonFirstLabelBase.parskip}%
\ChangedAt{v3.08}{\Class{scrlttr2}}%
}{}%
} %
- will be no inter-paragraph spacing even if additional vertical spacing is
- needed for the vertical adjustment with
- \Macro{flushbottom}\IndexCmd{flushbottom}%
+ inter-paragraph spacing will be inserted even if additional vertical
+ spacing is needed for vertical adjustment with
+ \Macro{flushbottom}.\IndexCmd{flushbottom}%
\IndexOption{parskip~=\textKValue{never}}}%
% \end{desctabular}
% \end{table}%
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-parmarkup.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-parmarkup.tex
index 6b89f097366..c9d02206d07 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-parmarkup.tex
+++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-parmarkup.tex
@@ -1,6 +1,6 @@
% ======================================================================
% common-parmarkup.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% common-parmarkup.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -46,7 +46,7 @@
% ======================================================================
\KOMAProvidesFile{common-parmarkup.tex}
- [$Date: 2019-11-11 08:22:00 +0100 (Mon, 11 Nov 2019) $
+ [$Date: 2020-03-12 08:27:32 +0100 (Thu, 12 Mar 2020) $
KOMA-Script guide (common paragraphs)]
\section{Absatzauszeichnung}
@@ -190,8 +190,8 @@ letzte Zeile eines Absatzes auch bis zum rechten Rand reichen. Einen Überblick
\entry{\PValue{false}, \PValue{off}, \PValue{no}%
\IndexOption{parskip~=\textKValue{false}}}{%
Absätze werden durch einen Einzug der ersten Zeilen von einem Geviert
- (1\Unit{em}) gekennzeichnet. Der erste Absatz eines Abschnitts wird nicht
- eingezogen.}%
+ (1\Unit{em}) gekennzeichnet. Absatzenden werden nicht
+ gekennzeichnet.}%
\entry{\PValue{full}, \PValue{true}, \PValue{on}, \PValue{yes}%
\IndexOption{parskip~=\textKValue{full}}%
}{%
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls
index ca8fca3640b..9eb3bf23d8a 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls
+++ b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls
@@ -1,6 +1,6 @@
% ======================================================================
% scrguide.cls
-% Copyright (c) Markus Kohm, 2005-2019
+% Copyright (c) Markus Kohm, 2005-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrguide.cls
-% Copyright (c) Markus Kohm, 2005-2019
+% Copyright (c) Markus Kohm, 2005-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -38,7 +38,7 @@
% \section{Identification}
%
% \begin{macrocode}
-\ProvidesClass{scrguide}[2019/12/06 v1.22d internal KOMA-Script guide class]
+\ProvidesClass{scrguide}[2020/03/17 v1.23 internal KOMA-Script guide class]
% \end{macrocode}
%
%
@@ -163,7 +163,6 @@
\newif\ifshortversion\shortversionfalse
\InputIfFileExists{scrnonfree.tex}{}{%
\RequirePackage[svgnames]{xcolor}%
- \RequirePackage{tocstyle}% hyperref needs xcolor with tocstyle
\RequirePackage{tikz}%
\usetikzlibrary{calc}%
\RequirePackage[\uselanguage]{hyperref}%
@@ -2230,19 +2229,24 @@ KOMAScript \endcsname
% We have large page numbers, so better setup the needed width. And we like
% other dot seperation.
% \begin{macrocode}
-\usetocstyle{classic}
+\RedeclareSectionCommand[%
+ tocdynnumwidth,%
+ tocbreakafternumber=true,%
+ tocentrynumberformat=\partnumberwithprefix,%
+ tocpagenumberformat=\@firstofone
+]{part}%
+\newcommand*{\partnumberwithprefix}[1]{\let\autodot:\partname~#1}%
+\RedeclareSectionCommand[%
+ tocnumwidth=21pt,%
+ tocpagenumberformat=\@firstofone,%
+ tocraggedentrytext=true%
+]{chapter}%
+\RedeclareSectionCommand[tocindent=21pt,tocnumwidth=34pt]{section}%
+\RedeclareSectionCommand[tocindent=55pt,tocnumwidth=36pt]{subsection}%
+\DeclareTOCStyleEntries[dynnumwidth]{default}{figure,table}%
\renewcommand*{\@pnumwidth}{1.8em}% 1.67
\renewcommand*\@tocrmarg {2.70em}% 2.55em
-\renewcommand*\@dotsep{2.5}
-\settocfeature[toc][-1]{entryhook}{%
- \let\sg@numberline\numberline
- \renewcommand*{\numberline}[1]{%
- \sg@numberline{\partname~##1}%
- ~\linebreak\nopagebreak\hspace*{-\@tempdima}%
- }%
- \def\autodot{: }%
- \sectfont
-}
+\renewcommand*\@dotsep{2.5}%
% \end{macrocode}
%
% \section{Part}
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf
index e2b0bd297b8..4a29f90884e 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf
+++ b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf b/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf
index a955cd736d2..5eba3f8ee1d 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf
+++ b/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrpage2.tex b/Master/texmf-dist/source/latex/koma-script/doc/scrpage2.tex
deleted file mode 100644
index fe7c62a5047..00000000000
--- a/Master/texmf-dist/source/latex/koma-script/doc/scrpage2.tex
+++ /dev/null
@@ -1,2963 +0,0 @@
-% ======================================================================
-% scrpage2.tex
-% Copyright (c) Markus Kohm, 2001-2018
-%
-% This file is part of the LaTeX2e KOMA-Script bundle.
-%
-% 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 Markus Kohm.
-%
-% This work consists of all files listed in manifest.txt.
-% ----------------------------------------------------------------------
-% scrpage2.tex
-% Copyright (c) Markus Kohm, 2001-2018
-%
-% 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 Markus Kohm.
-%
-% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
-% ======================================================================
-%
-% Chapter about scrpage2
-% Maintained by Markus Kohm
-%
-% ----------------------------------------------------------------------
-%
-% Kapitel über scrpage2
-% Verwaltet von Markus Kohm
-%
-% ============================================================================
-
-\begin{filecontents*}{\jobname-ngerman.tex}
-\input{ngerman/guide-ngerman.tex}
-% \section{Jens-Uwe's Example Text}
-%
-% TODO: These should be merged with other example text.
-% \begin{macro}{\XmpText}
-% Example text command; the default definition (50) returns the whole text.
-% \begin{macrocode}
-\newcommand*{\XmpText}[1][50]{%
- \ifnum #1<51
- Dieser Blindtext wird gerade von 130 Millionen Rezeptoren
- Ihrer Netzhaut erfasst.
- \ifnum #1>1
- Die Zellen werden dadurch in einen Erregungs\char\defaulthyphenchar
- \kern-1pt\linebreak
- \ifnum #1>2
- zustand versetzt, der sich vom Sehnerv in den
- \ifnum #1>3
- hinteren Teil Ihres Gehirns ausbreitet.
- Von dort aus \"ubertr\"agt sich die Erregung in
- Sekundenbruchteilen auch in andere Bereiche Ihres
- Gro\ss hirns.
- Ihr Stirnlappen wird stimuliert.
- Von dort aus gehen jetzt Willens\char\defaulthyphenchar
- \kern-1pt\linebreak
- \fi\fi\fi
- \fi
- \ifnum #1>49
- impulse aus, die Ihr zentrales Nervensystem in konkrete Handlungen
- umsetzt. Kopf und Augen reagieren bereits.
- Sie folgen dem Text, nehmen die darin enthaltenen Informationen
- auf und leiten diese \"uber den Sehnerv weiter.
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\XmpTopText}
-% \begin{macro}{\XmpBotText}
-% These two commands are language-dependent, since in some languages
-% additional commands may required.
-% \begin{macrocode}
-\newcommand*{\XmpTopText}{\XmpText[3]}
-\newcommand*{\XmpBotText}{\XmpText[2]}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\XmpMarginTextA}
-% \begin{macro}{\XmpMarginTextB}
-% Margin notes.
-% \begin{macrocode}
-\newcommand*{\XmpMarginTextA}{Netzhaut}
-\newcommand*{\XmpMarginTextB}{(\textit{Retina})}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-\end{filecontents*}
-
-\begin{filecontents*}{\jobname-english.tex}
-\input{english/guide-english.tex}
-% \begin{macro}{\XmpText}
-% Example text command; the default definition (50) returns the whole text.
-% \begin{macrocode}
-\newcommand*{\XmpText}[1][50]{%
- \ifnum #1<51
- This f\/ill text is currently seized by 130 million receptors
- in your retina.
- \ifnum #1>1
- Thereby the nerve cells are put in a state of stimulation,
- which spreads
- \ifnum #1>2
- into the rear part of your brain originating from
- \ifnum #1>3
- the optic nerve.
- From there the stimulation is transmitted in a split second
- also in other parts of your cerebrum.
- Your frontal lobe becomes stimulated.
- Intention-impulses spread from there, which your
- central nervous\setlength{\parfillskip}{0pt}%
- \fi\fi\fi
- \fi
- \ifnum #1>49
- system transforms in actual deeds.
- Head and eyes already react.
- They follow the text, taking the information present there
- and transmit them via the optic nerve.
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\XmpTopText}
-% \begin{macro}{\XmpBotText}
-% These two commands are language-dependent, since in some languages
-% additional commands may required.
-% \begin{macrocode}
-\newcommand*{\XmpTopText}{\XmpText[3]}
-\newcommand*{\XmpBotText}{\XmpText[2]}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\XmpMarginTextA}
-% \begin{macro}{\XmpMarginTextB}
-% Margin notes.
-% \begin{macrocode}
-\newcommand*{\XmpMarginTextA}{Retina}
-\newcommand*{\XmpMarginTextB}{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-\end{filecontents*}
-
-\documentclass[ngerman,english]{scrguide}
-
-\makeatletter
-\renewcommand*{\@pnumwidth}{2em}
-\makeatother
-
-\KOMAProvidesFile{scrpage2.tex}%
- [$Date: 2013-07-22 $
- a user guide to obsolete package scrpage2]
-
-\begin{document}
-
-\addparttocentry{}{English}
-\def\theHchapter{E.\thechapter}
-\setcounter{chapter}{0}
-\renewcommand*{\thepage}{E.\arabic{page}}
-\title{The Obsolete Package \Package{scrpage2}}
-\subtitle{Extract from former versions of the \KOMAScript{} Manual}
-\author{Markus Kohm\and Jens-Uwe-Morakswi}
-\date{2018-02-07}
-\maketitle
-
-\tableofcontents
-
-\translator{Jens-Uwe Morawski\and Karl-Heinz Zimmer\and Christoph Bier\and
- Gernot Hassenpflug\and Markus Kohm}
-
-\chapter{Adapting Page Headers and Footers with \Package{scrpage2}}
-\labelbase{scrpage-en}
-
-%
-\BeginIndexGroup
-\BeginIndex{Package}{scrpage2}%
-\BeginIndex{}{page>style}
-From \KOMAScript{} 3.12 the completely newly implemented package
-\Package{scrlayer-scrpage} replaces the old \Package{scrpage2}. The new
-package is a consequently developed extension of the design of
-\Package{scrpage2}. In difference to \Package{scrpage2} it provides the
-extended option interface of the \KOMAScript{} classes. Because
-\Package{scrlayer-scrpage} predominates \Package{scrpage2} it is recommended
-to not longer use \Package{scrpage2} but \Package{scrlayer-scrpage}. Because
-of this the current version of \Package{scrpage2} is the final one. All
-development resources will go into \Package{scrlayer-scrpage}. For more
-information about \Package{scrlayer-scrpage} see the \KOMAScript{} manual.
-
-\begin{Explain}
- In place of \Package{scrpage2} or \Package{scrlayer-scrpage} you can of
- course make use of \Package{fancyhdr}. However, \Package{scrpage2} and
- especially \Package{scrlayer-scrpage} integrated markedly better with the
- {\KOMAScript} bundle. For this reason, and because at the time the
- forerunner to \Package{fancyhdr} was missing many features,
- \Package{scrpage2} was developed. Naturally, \Package{scrpage2} and
- \Package{scrlayer-scrpage} are not limited to use only with the
- {\KOMAScript} classes, but can just as easily be used with other document
- classes.
-\end{Explain}
-
-
-\section{Basic Functionality}\label{sec:scrpage-en.basics}
-
-\begin{Explain}% Introduction to headings
- To understand the following description, an overview of {\LaTeX}'s fairly
- involved header and footer mechanism is needed. The {\LaTeX} kernel defines
- the page styles \PageStyle{empty}, which produces a completely empty header
- and footer, and \PageStyle{plain}, which produces usually only a page number
- in the footer and an empty header. Apart from these, many document classes
- provide the style \PageStyle{headings}, which allows more complex style
- settings and running
- headings\Index{headings>running}\Index{headings>automatic}. The
- \PageStyle{headings} style often has a related variant,
- \PageStyle{myheadings}, which is similar except for switching off the
- running headings\Index{headings>manual} and reverting them to manual control
- by the user. A more detailed description is given in the page style section
- of the \KOMAScript{} manual where it is also noted that some {\LaTeX}
- commands automatically switch to another page style\,---\,usually page style
- \PageStyle{plain}\,---\,for the current page.
-\end{Explain}
-
-
-Package \Package{scrpage2} does not distinguish between page styles with
-automatic, running headings and page styles with manual headings. The way to
-deal with automatic and manual headings is independent from the page style and
-so the page style is independent from the choice of automatic or manual
-headings. More information about this in \autoref{sec:scrpage-en.basics.mark}.
-
-
-\subsection{Predefined Page Styles}\label{sec:scrpage-en.basics.buildIn}
-
-One of the basic features of \Package{scrpage2} is a set of predefined,
-configurable page styles.
-
-% \lehead ...
-% scrheadings
-% \headmark \pagemark
-
-\begin{Declaration}
- \PageStyle{scrheadings}%
- \PageStyle{scrplain}
-\end{Declaration}%
-Package \Package{scrpage2} delivers its own page style, named
-\PageStyle{scrheadings}, which can be activated with the
-\Macro{pagestyle}\PParameter{scrheadings}. When this page style is in use, an
-appropriate \PageStyle{scrplain} page style is used for the plain page style.
-In this case \emph{appropriate} means that this new plain page style is also
-configureable by the commands introduced in
-\autoref{sec:scrpage-en.basics.format}, which, for example, configure the header
-and footer width and complies within the basic layout. Neither the activation
-of \PageStyle{scrheadings} nor the attendant change to the appropriate plain
-page style, \PageStyle{scrplain}, influences the mode of manual or automatic
-headings\Index{headings>automatic}\Index{headings>manual} (see
-\autoref{sec:scrpage-en.basics.mark}). The \PageStyle{scrplain} page style can
-also be activated directly with \Macro{pagestyle}.
-
-
-\begin{Declaration}
- \Macro{lehead}%
- \OParameter{scrplain-left-even}\Parameter{scrheadings-left-even}%
- \Macro{cehead}%
- \OParameter{scrplain-center-even}\Parameter{scrheadings-center-even}%
- \Macro{rehead}%
- \OParameter{scrplain-right-even}\Parameter{scrheadings-right-even}%
- \Macro{lefoot}%
- \OParameter{scrplain-left-even}\Parameter{scrheadings-left-even}%
- \Macro{cefoot}%
- \OParameter{scrplain-center-even}\Parameter{scrheadings-center-even}%
- \Macro{refoot}%
- \OParameter{scrplain-right-even}\Parameter{scrheadings-right-even}%
- \Macro{lohead}%
- \OParameter{scrplain-left-odd}\Parameter{scrheadings-left-odd}%
- \Macro{cohead}%
- \OParameter{scrplain-center-odd}\Parameter{scrheadings-center-odd}%
- \Macro{rohead}%
- \OParameter{scrplain-right-odd}\Parameter{scrheadings-right-odd}%
- \Macro{lofoot}%
- \OParameter{scrplain-left-odd}\Parameter{scrheadings-left-odd}%
- \Macro{cofoot}%
- \OParameter{scrplain-center-odd}\Parameter{scrheadings-center-odd}%
- \Macro{rofoot}%
- \OParameter{scrplain-right-odd}\Parameter{scrheadings-right-odd}%
- \Macro{ihead}%
- \OParameter{scrplain-inside}\Parameter{scrheadings-inside}%
- \Macro{chead}%
- \OParameter{scrplain-centered}\Parameter{scrheadings-centered}%
- \Macro{ohead}%
- \OParameter{scrplain-outside}\Parameter{scrheadings-outside}%
- \Macro{ifoot}%
- \OParameter{scrplain-inside}\Parameter{scrheadings-inside}%
- \Macro{cfoot}%
- \OParameter{scrplain-centered}\Parameter{scrheadings-centered}%
- \Macro{ofoot}%
- \OParameter{scrplain-outside}\Parameter{scrheadings-outside}
-\end{Declaration}%
-The page style of \Package{scrpage2} are defined to have flexible configurable
-header and footer. To achieve this, the page styles include three boxes in
-both the header and the footer. The contents of these boxes may be modified
-easily. The commands modifying the content of these boxes can be seen in
-\autoref{fig:scrpage-en.leheadetall}. Commands in the middle column modify the
-box contents on both odd and even pages. All of the commands have an optional
-and a mandatory argument. The option Argument influences the content of
-corresponding box of the plain page style, \PageStyle{scrplain}. The mandatory
-argument influences the content of the corresponding box of the page style
-\PageStyle{scrheadings}.
-
-\begin{figure}
-% \centering
- \setcapindent{0pt}%
- \begin{captionbeside}
- [Commands for modification of \Package{scrpage2} page styles elements]%
- {Commands for modification of page styles \PageStyle{scrheadings} and
- \PageStyle{scrplain} and their relationship to header and footer
- elements}
- [l]
- \setlength{\unitlength}{.95mm}\begin{picture}(100,65)(0,8)\small
- \put(0,12){\dashbox{2}(40,56){even page}}
- \put(60,12){\dashbox{2}(40,56){odd page}}
- % items top left
- \put(1,63){\framebox(8,4){~}}
- \put(16,63){\framebox(8,4){~}}
- \put(31,63){\framebox(8,4){~}}
- % items top right
- \put(61,63){\framebox(8,4){~}}
- \put(76,63){\framebox(8,4){~}}
- \put(91,63){\framebox(8,4){~}}
- % items bottom left
- \put(1,13){\framebox(8,4){~}}
- \put(16,13){\framebox(8,4){~}}
- \put(31,13){\framebox(8,4){~}}
- % items bottom right
- \put(61,13){\framebox(8,4){~}}
- \put(76,13){\framebox(8,4){~}}
- \put(91,13){\framebox(8,4){~}}
- % commands and arrow
- % for twoside
- %
- \put(50,65){\makebox(0,0){\DescRef{scrpage-en.cmd.ihead}}}
- \put(44,65){\vector(-1,0){4}}\put(56,65){\vector(1,0){4}}
- \put(50,58){\makebox(0,0){\DescRef{scrpage-en.cmd.chead}}}
- \put(44,58){\line(-1,0){24}}\put(56,58){\line(1,0){24}}
- \put(20,58){\vector(0,1){4}}\put(80,58){\vector(0,1){4}}
- \put(50,51){\makebox(0,0){\DescRef{scrpage-en.cmd.ohead}}}
- \put(44,51){\line(-1,0){40}}\put(56,51){\line(1,0){40}}
- \put(4,51){\vector(0,1){11}}\put(96,51){\vector(0,1){11}}
- %
- \put(50,15){\makebox(0,0){\DescRef{scrpage-en.cmd.ifoot}}}
- \put(56,15){\vector(1,0){4}}\put(44,15){\vector(-1,0){4}}
- \put(50,22){\makebox(0,0){\DescRef{scrpage-en.cmd.cfoot}}}
- \put(44,22){\line(-1,0){24}}\put(56,22){\line(1,0){24}}
- \put(20,22){\vector(0,-1){4}}\put(80,22){\vector(0,-1){4}}
- \put(50,29){\makebox(0,0){\DescRef{scrpage-en.cmd.ofoot}}}
- \put(44,29){\line(-1,0){40}}\put(56,29){\line(1,0){40}}
- \put(4,29){\vector(0,-1){11}}\put(96,29){\vector(0,-1){11}}
- % commands for oneside
- \put(5,69){\makebox(0,0)[b]{\DescRef{scrpage-en.cmd.lehead}}}
- \put(20,69){\makebox(0,0)[b]{\DescRef{scrpage-en.cmd.cehead}}}
- \put(35,69){\makebox(0,0)[b]{\DescRef{scrpage-en.cmd.rehead}}}
- %
- \put(65,69){\makebox(0,0)[b]{\DescRef{scrpage-en.cmd.lohead}}}
- \put(80,69){\makebox(0,0)[b]{\DescRef{scrpage-en.cmd.cohead}}}
- \put(95,69){\makebox(0,0)[b]{\DescRef{scrpage-en.cmd.rohead}}}
- %
- \put(5,11){\makebox(0,0)[t]{\DescRef{scrpage-en.cmd.lefoot}}}
- \put(20,11){\makebox(0,0)[t]{\DescRef{scrpage-en.cmd.cefoot}}}
- \put(35,11){\makebox(0,0)[t]{\DescRef{scrpage-en.cmd.refoot}}}
- %
- \put(65,11){\makebox(0,0)[t]{\DescRef{scrpage-en.cmd.lofoot}}}
- \put(80,11){\makebox(0,0)[t]{\DescRef{scrpage-en.cmd.cofoot}}}
- \put(95,11){\makebox(0,0)[t]{\DescRef{scrpage-en.cmd.rofoot}}}
- \end{picture}
- \end{captionbeside}
-% \caption[Commands for modification of \Package{scrpage2} page styles
-% elements]%
-% {Commands for modification of page styles \PageStyle{scrheadings} and
-% \PageStyle{scrplain} and their relationship to header and footer
-% elements}
- \label{fig:scrpage-en.leheadetall}
-\end{figure}
-
-\begin{Example}
- If one wants the page number within \PageStyle{scrheadings} be placed in the
- middle of the footer, then following can be used:
-\begin{lstcode}
- \cfoot{\pagemark}
-\end{lstcode}
- The next example shows how to place both running heading and page
- number\Index{page>number}\Index{pagination} in the header; the running
- heading\Index{headings} inside and the page number outside:
-\begin{lstcode}
- \ohead{\pagemark}
- \ihead{\headmark}
- \cfoot{}
-\end{lstcode}
- The command \Macro{cfoot}\PParameter{} is only required in order to
- empty the item in the middle of the footer, which normally contains
- the page number.
-\end{Example}
-
-The commands which are associated with only one item can be used for
-more advanced settings.
-
-\begin{Example}
- Assuming one has the order to write an annual report of a company, one could
- use commands like this:
-\begin{lstcode}
- \ohead{\pagemark}
- \rehead{Annual Report 2001}
- \lohead{\headmark}
- \cefoot{TheCompanyName Inc.}
- \cofoot{Department: Development}
-\end{lstcode}
- In order to keep the data in the footer synchronized with the content
- of the document, the footer has to be updated using \Macro{cofoot}
- when a new department is discussed in the report.
-\end{Example}
-
-As mentioned above, there is a new plain page style which corresponds to
-\PageStyle{scrheadings}. Since it should also be possible to customize this
-style, the commands support an optional argument with which the contents of
-the appropriate fields of this plain page style can be modified.
-
-\begin{Example}
- The position of the page number for the page style \PageStyle{scrheadings}
- can be declared as follows:
-\begin{lstcode}
- \cfoot[\pagemark]{}
- \ohead[]{\pagemark}
-\end{lstcode}
- When the command \Macro{chapter}, after it has started a new page, now
- switches to the page style \PageStyle{plain}, then the page number is
- centered in the footer.
-\end{Example}
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Macro{clearscrheadings}%
- \Macro{clearscrplain}%
- \Macro{clearscrheadfoot}
-\end{Declaration}%
-If one wants to redefine both the page style \PageStyle{scrheadings} and
-the corresponding plain page style, frequently one must empty
-some already occupied page elements. Since one rarely fills all items
-with new content, in most cases several instructions with empty
-parameters are necessary. With the help of these three instructions
-the quick and thorough deletion is possible. While
-\Macro{clearscrheadings} only deletes all fields of the page style
-\PageStyle{scrheadings}, and \Macro{clearscrplain} deletes all fields of
-the corresponding plain page style, \Macro{clearscrheadfoot}
-sets all fields of both page styles to empty.
-\begin{Example}
- If one wants to reset the page style to the default {\KOMAScript}
- settings, independent of the actual configuration, only these three
- commands are sufficient:
-\begin{lstcode}
- \clearscrheadfoot
- \ohead{\headmark}
- \ofoot[\pagemark]{\pagemark}
-\end{lstcode}
- Without the commands \Macro{clearscrheadfoot},
- \Macro{clearscrheadings} and \Macro{clearscrplain}, six commands with
- additional nine empty arguments would be required:
-\begin{lstcode}
- \ihead[]{}
- \chead[]{}
- \ohead[]{\headmark}
- \ifoot[]{}
- \cfoot[]{}
- \ofoot[\pagemark]{\pagemark}
-\end{lstcode}
- Of course, for a specific configuration, some of them could be
- dropped.%
-\end{Example}%
-%
-\EndIndexGroup
-%
-\EndIndexGroup
-
-
-In the previous examples two commands were used which have not been
-introduced yet. The description of these commands follows.
-
-\begin{Declaration}
- \Macro{leftmark}%
- \Macro{rightmark}
-\end{Declaration}%
-These two instructions make it possible to access the running headings, which
-are normally meant for the left or for the right page. These two instruction
-are not made available by \Package{scrpage2}, but directly by the {\LaTeX}
-kernel. When in this section running headings of the left page or the right
-page are mentioned, this refers to the contents of \Macro{leftmark} or
-\Macro{rightmark}, respectively.
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Macro{headmark}
-\end{Declaration}%
-This command gives access to the content of running headings. In
-contrast to \Macro{leftmark} and \Macro{rightmark}, one need not
-regard the proper assignment to left or right page.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Macro{pagemark}
-\end{Declaration}%
-This command returns the formatted page number. The formatting can be
-controlled by \DescRef{scrpage-en.cmd.pnumfont}, introduced in
-\autoref{sec:scrpage-en.basics.format}, \DescPageRef{scrpage-en.cmd.pnumfont},
-which \Macro{pagemark} heeds automatically.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \PageStyle{useheadings}
-\end{Declaration}%
-The package \Package{scrpage2} is meant primarily for use of the supplied
-styles or for defining one's own styles. However, it may be necessary to shift
-back also to a style provided by the document class. It might appear that
-this should be done with
-\Macro{pagestyle}\PParameter{headings}\IndexCmd{pagestyle}, but this has the
-disadvantage that commands \DescRef{scrpage-en.cmd.automark} and \DescRef{scrpage-en.cmd.manualmark}, to be
-discussed shortly, do not function as expected. For this reason one should
-shift back to the original styles using
-\Macro{pagestyle}\PParameter{useheadings}\IndexCmd{pagestyle}, which chooses
-the correct page styles automatically for both manual and automatic running
-headings.%
-%
-\EndIndexGroup
-
-
-\subsection{Manual and Running Headings}
-\label{sec:scrpage-en.basics.mark}
-% \automark \manualmark
-\BeginIndexGroup
-\BeginIndex{}{headings>running}%
-\BeginIndex{}{headings>automatic}%
-\BeginIndex{}{headings>manual}%
-Usually there is a \emph{my}-version of the \PageStyle{headings}
-page style. If such a page style is active, then the running headings
-are no longer updated no longer automatically and become manual
-headings. With \Package{scrpage2} a different path is taken. Whether
-the headings are running or manual is determined by the instructions
-\DescRef{scrpage-en.cmd.automark} and \DescRef{scrpage-en.cmd.manualmark}, respectively. The default
-can be set already while loading of the package, with the options
-\DescRef{scrpage-en.option.automark} and \DescRef{scrpage-en.option.manualmark} (see
-\autoref{sec:scrpage-en.basics.options},
-\DescPageRef{scrpage-en.option.automark}).
-
-
-\begin{Declaration}
- \Macro{manualmark}
-\end{Declaration}%
-As the name suggests, \Macro{manualmark} switches off the updating of
-the running headings and makes them manual. It is left to the user to
-update and provide contents for the headings. For that purpose the
-instructions \Macro{markboth}\IndexCmd{markboth} and
-\Macro{markright}\IndexCmd{markright} are available.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Macro{automark}\OParameter{right page}\Parameter{left page}
-\end{Declaration}%
-The macro \Macro{automark} activates the automatic updating, that is, running
-headings. For the two parameters the designations of the document sectioning
-level whose title is to appear in appropriate place are to be used. Valid
-values for the parameters are:
-\PValue{part}\ChangedAt{v2.2}{\Package{scrpage2}}, \PValue{chapter},
-\PValue{section}, \PValue{subsection}, \PValue{subsubsection},
-\PValue{paragraph}, and \PValue{subparagraph}. For most of the classes use of
-\PValue{part} will not produce the expected result. So far only {\KOMAScript}
-classes from version~2.9s up are known to support this value. The optional
-argument \PName{right page} is understandably meant only for double-sided
-documents. In the single-sided case one should normally not use it. With the
-help of the option
-\DescRef{scrpage-en.option.autooneside}\IndexOption{autooneside}\important{\DescRef{scrpage-en.option.autooneside}}
-one can also set that the optional argument in single-sided mode is ignored
-automatically (see \autoref{sec:scrpage-en.basics.options},
-\DescPageRef{scrpage-en.option.autooneside}).
-%
-\begin{Example}
- Assuming that the document uses a \emph{book} class, whose topmost
- section level is \emph{chapter}, then after a preceding
- \DescRef{scrpage-en.cmd.manualmark}
-\begin{lstcode}
- \automark[section]{chapter}
-\end{lstcode}
- restores the original behaviour. If one prefers lower section levels
- in running headings, the following can be used:
-\begin{lstcode}
- \automark[subsection]{section}
-\end{lstcode}
-% How useful the last declaration is, everybody has to decide
-% for themselves.
-\end{Example}
-
-\begin{Explain}
- For the upper section level, the data of the headings is set by the command
- \Macro{markboth}\IndexCmd{markboth}, while that for the lower section level
- by \Macro{markright}\IndexCmd{markright} or
- \Macro{markleft}\IndexCmd[indexmain]{markleft}. These commands are called
- indirectly by the sectioning commands. The macro \Macro{markleft} is
- provided by the package \Package{scrpage2} and is defined similarly to
- \Macro{markright} in the {\LaTeX} kernel. Although \Macro{markleft} is not
- defined as an internal command, the direct use is not recommended.
-\end{Explain}
-\EndIndexGroup
-%
-\EndIndexGroup
-
-
-\subsection{Formatting of Header and Footer}
-\label{sec:scrpage-en.basics.format}
-% \headfont \pnumfont
-% \setheadwidth \setfootwidth
-% \set(head|foot)(top|sep|bot)line
-The previous section concerned itself mainly with the contents of the
-header and footer. This is of course not sufficient to satisfy
-formative ambitions. Therefore we devote this section exclusively to
-this topic.
-
-\begin{Declaration}
- \Macro{headfont}%
- \Macro{footfont}%
- \Macro{pnumfont}
-\end{Declaration}%
-The command \Macro{headfont} contains the commands which determine the font of
-header and footer lines. Command \Macro{footfont} contains the difference of
-the footer to that. The difference for the style of the page number is defined
-by the command \Macro{pnumfont}.
-\begin{Example}
- If, for example, one wants the header to be typeset in bold sans serif, the
- footer in non-bold sans serif, and the page number in a slanted serif style,
- then one can use the following definitions:
-\begin{lstcode}
- \renewcommand{\headfont}{\normalfont\sffamily\bfseries}
- \renewcommand*{\footfont}{\normalfont\sffamily}
- \renewcommand{\pnumfont}{\normalfont\rmfamily\slshape}
-\end{lstcode}
-\end{Example}
-
-\BeginIndex{FontElement}{pagehead}%
-\BeginIndex{FontElement}{pagefoot}%
-\BeginIndex{FontElement}{pagenumber}%
-From version 2.8p of the {\KOMAScript} classes a new unified user interface
-scheme is implemented for font attributes. If \Package{scrpage2} is used
-together with one of these classes, then it is recommended to set up font
-attributes in the manner described in the \KOMAScript{} manual.
-\begin{Example}
- Instead of \Macro{renewcommand} the command \Macro{setkomafont}
- should be used to configure the font attributes. The previous
- definitions can then be written as:
-\begin{lstcode}
- \setkomafont{pagehead}\normalfont\sffamily\bfseries}
- \setkomafont{pagefoot}{\normalfont\sffamily}
- \setkomafont{pagenumber}{\normalfont\rmfamily\slshape}
-\end{lstcode}
-\end{Example}
-\EndIndexGroup
-
-
-\begin{Declaration}
-\Macro{setheadwidth}\OParameter{shift}\Parameter{width}%
-\Macro{setfootwidth}\OParameter{shift}\Parameter{width}
-\end{Declaration}%
-Normally the widths of header and footer lines correspond to the width of the
-text body. The commands
-\Macro{setheadwidth}\Index{header>width}\Index{head>width} and
-\Macro{setfootwidth}\Index{footer>width}\Index{foot>width} enable the user to
-adapt in a simple manner the widths to his needs. The mandatory argument
-\PName{width} takes the value of the desired width of the page header or
-footer, while \PName{shift} is a length parameter by which amount the
-appropriate item is shifted toward the outside page edge.
-
-For the most common situations the mandatory argument \PName{width}
-accepts the following symbolic values:
-\begin{labeling}[\,--]{\PValue{textwithmarginpar}}
-\item[\PValue{paper}] the width of the paper
-\item[\PValue{page}] the width of the page
-\item[\PValue{text}] the width of the text body
-\item[\PValue{textwithmarginpar}] the width of the text body including margin
-\item[\PValue{head}] the current header width
-\item[\PValue{foot}] the current footer width
-\end{labeling}
-The difference between \PValue{paper} and \PValue{page} is that \PValue{page}
-means the width of the paper less the binding correction if the package
-\Package{typearea}\IndexPackage{typearea} is used (see the chapter about
-\Package{typearea} in the \KOMAScript{} manual). Without \Package{typearea}
-both values are identical.
-
-\begin{Example}
- Assume that one wants a layout like that of \emph{The
- {\LaTeX}\,Companion}, where the header projects into the
- margin. This can be obtained with:
-\begin{lstcode}
- \setheadwidth[0pt]{textwithmarginpar}
-\end{lstcode}
-%
- which appears like this on an odd page:
-%
- \begin{XmpTopPage}
- \XmpHeading{10,25}{85}
- \thinlines\XmpRule{10,23}{85}
- \XmpSetText[\XmpTopText]{10,21}
- \XmpMarginNote{83,11.8}
- \end{XmpTopPage}
-%
- If the footer line should have the same width and alignment, then two
- ways to set this up are possible. The first way simply repeats the
- settings for the case of the footer line:
-\begin{lstcode}
- \setfootwidth[0pt]{textwithmarginpar}
-\end{lstcode}
-%
- In the second way the symbolic value \PValue{head} is used, since the
- header already has the desired settings.
-\begin{lstcode}
- \setfootwidth[0pt]{head}
-\end{lstcode}
-\end{Example}
-
-If no \PName{shift} is indicated, i.\,e., without the optional argument,
-then the header or footer appears arranged symmetrically on the page.
-In other words, a value for the \PName{shift} is determined
-automatically to correspond to the current page shape.
-%
-\begin{Example}
- Continuing with the previous example, we remove the optional
- argument:
-\begin{lstcode}
- \setheadwidth{textwithmarginpar}
-\end{lstcode}
-%
- which appears like this on an odd page:
-%
- \begin{XmpTopPage}
- \XmpHeading{5,25}{85}
- \thinlines\XmpRule{5,23}{85}
- \XmpSetText[\XmpTopText]{10,21}
- \XmpMarginNote{83,11.8}
- \end{XmpTopPage}
-\end{Example}
-
-As can be seen, the header is now shifted inward, while the header
-width has not changed. The shift is calculated in a way that the
-configuration of the typearea become visible also here.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Macro{setheadtopline}\OParameter{length}\Parameter{thickness}%
- \OParameter{commands}%
- \Macro{setheadsepline}\OParameter{length}\Parameter{thickness}%
- \OParameter{commands}%
- \Macro{setfootsepline}\OParameter{length}\Parameter{thickness}%
- \OParameter{commands}%
- \Macro{setfootbotline}\OParameter{length}\Parameter{thickness}%
- \OParameter{commands}
-\end{Declaration}%
-Corresponding to the size configuration parameters of header and
-footer there are commands to modify the rules above and below the
-header and footer. But first of all the rules should be activated. See options
-\DescRef{scrpage-en.option.headtopline}, \DescRef{scrpage-en.option.headsepline},
-\DescRef{scrpage-en.option.footsepline}, and \DescRef{scrpage-en.option.footbotline} in
-\autoref{sec:scrpage-en.basics.options},
-\DescPageRef{scrpage-en.option.headsepline} for this.
-
-\begin{labeling}[\,--]{\Macro{setfootsepline}}
-\item[\Macro{setheadtopline}] configures the line above the header
-\item[\Macro{setheadsepline}] configures the line below the header
-\item[\Macro{setfootsepline}] configures the line above the footer
-\item[\Macro{setfootbotline}] configures the line below the footer
-\end{labeling}
-
-The mandatory argument \PName{thickness} determines how strongly the
-line is drawn. The optional argument \PName{length} accepts the same
-symbolic values as \PName{width} for \DescRef{scrpage-en.cmd.setheadwidth}, as well as
-also a normal length expression. As long as the optional argument
-\PName{length} is not assigned a value, the appropriate line length
-adapts automatically the width of the header or the footer.
-
-Use \PValue{auto} in the length argument to restore this automation
-for the length of a line.
-
-\BeginIndexGroup
-\BeginIndex{FontElement}{headtopline}%
-\BeginIndex{FontElement}{headsepline}%
-\BeginIndex{FontElement}{footsepline}%
-\BeginIndex{FontElement}{footbotline}%
-\BeginIndex{FontElement}{footbottomline}%
-The\ChangedAt{v2.2}{\Package{scrpage2}} optional argument \PName{commands} may
-be used to specify additional commands to be executed before the respective
-line is drawn. For example, such commands could be used for changing the
-color\Index{header>color}\Index{footer>color}%
-\Index{head>color}\Index{foot>color}%
-\Index{color>in header}\Index{color>in footer} of the line. When using a
-{\KOMAScript} class you could also use
-\Macro{setkomafont}\IndexCmd{setkomafont} to specify commands for one of the
-elements \FontElement{headtopline}\important[i]{\FontElement{headtopline}\\
- \FontElement{headsepline}\\
- \FontElement{footsepline}\\
- \FontElement{footbottomline}}, \FontElement{headsepline},
-\FontElement{footsepline}, \FontElement{footbottomline}, or
-\FontElement{footbotline}. These can then be extended via
-\Macro{addtokomafont}\IndexCmd{addtokomafont}. See the \KOMAScript{} manual
-for details on the \Macro{setkomafont} and \Macro{addtokomafont} commands.
-\EndIndexGroup
-
-
-\begin{Declaration}
- \labelsuffix[auto+current]
- \Macro{setheadtopline}\POParameter{auto}%
- \PParameter{current}%
- \labelsuffix[auto]
- \Macro{setheadtopline}\POParameter{auto}%
- \Parameter{}%
- \labelsuffix[auto+]
- \Macro{setheadtopline}\POParameter{auto}%
- \Parameter{}\OParameter{}
-\end{Declaration}%
-The arguments shown here for the command \DescRef{scrpage-en.cmd.setheadtopline} are of
-course valid for the other three configuration commands too.
-
-If the mandatory parameter has the value \PValue{current} or has been
-left empty, then the line thickness is not changed. This may be used
-to modify the length of the line without changing its thickness.
-
-If the optional argument \PName{commands} is omitted, then all command
-settings that might have been specified before will remain active,
-while an empty \PName{commands} argument will revoke any previously
-valid commands.
-
-\begin{Example}
- If the header, for example, is to be contrasted by a strong line of
- 2\,pt above and a normal line of 0.4\,pt between header and body,
- one can achieve this with:
-\begin{lstcode}
- \setheadtopline{2pt}
- \setheadsepline{.4pt}
-\end{lstcode}
- Additionally\textnote{Attention!} the options \DescRef{scrpage-en.option.headtopline} and
- \DescRef{scrpage-en.option.headsepline} have to be used preferably globally in the optional
- argument of \Macro{documentclass}. In this case the result may be the
- following.
-%
-\begin{XmpTopPage}
- \XmpHeading{10,25}{70}
- \thinlines\XmpRule{10,23}{70}
- \thicklines\XmpRule{10,28}{70}
- \XmpSetText[\XmpTopText]{10,21}
- \XmpMarginNote{83,11.8}
-\end{XmpTopPage}
-
- To specify that this line is to be drawn also, e.\,g., in red color, you
- would change the commands like this:
-\begin{lstcode}
- \setheadtopline{2pt}[\color{red}]
- \setheadsepline{.4pt}[\color{red}]
-\end{lstcode}
- In this example, as well as in the following one, line color is
- activated by applying the syntax of the
- \Package{color}\IndexPackage{color} package, so this package must of
- course be loaded. Since \Package{scrpage2} comes without built-in
- color handling, any package providing color support may be used.
-
- {\KOMAScript} classes also support the following way of color specification:
-\begin{lstcode}
- \setheadtopline{2pt}
- \setheadsepline{.4pt}
- \setkomafont{headtopline}[\color{red}]
- \setkomafont{headsepline}[\color{red}]
-\end{lstcode}
-
- The automatic adjustment to the header and footer width is illustrated
- in the following example:
-\begin{lstcode}
- \setfootbotline{2pt}
- \setfootsepline[text]{.4pt}
- \setfootwidth[0pt]{textwithmarginpar}
-\end{lstcode}
-
-% \phantomsection for hyperref-\pageref-links jum-2001/11/24
- \phantomsection\label{page:scrpage-en.autoLineLength}
- \begin{XmpBotPage}
- \XmpHeading{10,18}{85}
- \thinlines\XmpRule{17,21}{70}
- \thicklines\XmpRule{10,16}{85}
- \XmpSetText[\XmpBotText]{10,33}
- \XmpMarginNote{83,24}
- \end{XmpBotPage}
-\end{Example}
-%
-Now not everyone will like the alignment of the line above the footer;
-instead, one would expect the line to be left-aligned. This can only
-be achieved with a global package option, which will be described
-together with other package options in the next
-\autoref{sec:scrpage-en.basics.options}.%
-%
-\EndIndexGroup
-\EndIndexGroup
-
-
-\subsection{Package Options}
-\label{sec:scrpage-en.basics.options}
-% head(in|ex)clude foot(in|ex)clude --> typearea
-% headtopline headsepline footbotline footsepline (plain...)
-% komastyle standardstyle
-% markuppercase markusecase
-% automark manualmark
-
-In opposite to the \KOMAScript{} classes, where the most options may be
-changed using \Macro{KOMAoptions} or \Macro{KOMAoption} also after loading the
-class, package \Package{scrpage2} does not provide this feature\iffree{
- currently}{}. All options to \Package{scrpage2} have to be global options,
-i.\,e. be part of the optional argument of \Macro{documentclass}, or
-package option, i.\,e. be part of the optional argument of \Macro{usepackage}.
-
-\begin{Declaration}
- \Option{headinclude}%
- \Option{headexclude}%
- \Option{footinclude}%
- \Option{footexclude}
-\end{Declaration}%
-Since\textnote{Attention!} \KOMAScript~3\ChangedAt{v2.3}{\Package{scrpage2}}
-this options should not be passed to \Package{scrpage2} any longer using
-\Macro{PassOptionsToPackage} or the optional argument of
-\Macro{usepackage}. Only for compatibility reason \Package{scrpage2} still
-declares them and pass them as \Option{headinclude},
-\OptionValue{headinclude}{false}, \Option{footinclude}, and
-\OptionValue{footinclude}{false} to package \Package{typearea}.
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{headtopline}%
- \Option{plainheadtopline}%
- \Option{headsepline}%
- \Option{plainheadsepline}%
- \Option{footsepline}%
- \Option{plainfootsepline}%
- \Option{footbotline}%
- \Option{plainfootbotline}
-\end{Declaration}%
-Basic adjustment of the lines under and over header and footer can be
-made with these options. These adjustments are then considered the
-default for all page styles defined with \Package{scrpage2}. If one
-of these options is used, then a line thickness 0.4\,pt is set.
-Since there is a corresponding plain page style to the
-page style \PageStyle{scrheadings}, the corresponding line in the plain
-style can also be configured with the \Option{plain\dots} options.
-These \Option{plain} options do however work only if the corresponding
-options without \Option{plain} are activated. Thus,
-\Option{plainheadtopline} shows no effect without the
-\Option{headtopline} option set.
-
-With these options, it is to be noted that the appropriate page part,
-header or footer, is considered as a part of the text area for the
-calculation of the type area in case a line has been activated. This
-means that, if the separation line between header and text is
-activated with \Option{headsepline}, then the package
-\Package{typearea} calculates the type area in such a way that the
-page header is part of the text block automatically.
-
-The\textnote{Attention!} conditions for the options of the preceding paragraph
-apply also to this automation. That means that the package \Package{typearea}
-must be loaded after \Package{scrpage2}, or that on use of a {\KOMAScript}
-class, the options \DescRef{scrpage-en.option.headinclude} and \DescRef{scrpage-en.option.footinclude} must be set
-explicitly with \Macro{documentclass} in order to transfer header or footer
-line in the text area.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
-\Option{ilines}%
-\Option{clines}%
-\Option{olines}
-\end{Declaration}%
-\Index{rule>alignment}\Index{line>alignment}%
-With the definition of the line lengths the case can arise where the
-lengths are set correctly, but the justification is not as desired
-because the line will be centered in the header or footer area. With
-the package options presented here, this specification can be modified
-for all page styles defined with \Package{scrpage2}. The option
-\Option{ilines} sets the justification in such a way that the lines
-align to the inside edge. The option \Option{clines} behaves like the
-default justification, and \Option{olines} aligns at the outside edge.
-
-\begin{Example}
- The next example illustrates the influence of the
- option \Option{ilines}. Please compare to the example for
- \DescRef{scrpage-en.cmd.setfootsepline} on \autopageref{page:scrpage-en.autoLineLength}.
-\begin{lstcode}
- \usepackage[ilines]{scrpage2}
- \setfootbotline{2pt}
- \setfootsepline[text]{.4pt}
- \setfootwidth[0pt]{textwithmarginpar}
-\end{lstcode}
- The mere use of the option \Option{ilines} leads to the different
- result shown below:
-\begin{XmpBotPage}
- \XmpHeading{10,18}{85}
- \thinlines\XmpRule{10,21}{70}
- \thicklines\XmpRule{10,16}{85}
- \XmpSetText[\XmpBotText]{10,33}
- \XmpMarginNote{83,24}
-\end{XmpBotPage}
- In contrast to the default configuration, the separation line between
- text and footer is now left-aligned, not centered.%
-\end{Example}%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{automark}%
- \Option{manualmark}
-\end{Declaration}%
-\BeginIndex{}{headings>automatic}%
-\BeginIndex{}{headings>manual}%
-These options set at the beginning of the document whether to use running
-headings or manual ones. The option \Option{automark} switches the automatic
-updating on, \Option{manualmark} deactivates it. Without the use of one of
-the two options, the setting which was valid when the package was loaded is
-preserved.
-%
-\begin{Example}
- You load the package \Package{scrpage2} directly after the document class
- \Class{scrreprt} without any package options:
-\begin{lstcode}
- \documentclass{scrreprt}
- \usepackage{scrpage2}
-\end{lstcode}
- Since the default page style of \Class{scrreprt} is \PageStyle{plain},
- this page style is also now still active. Futhermore, \PageStyle{plain}
- means manual headings. If one now activates the page style
- \PageStyle{scrheadings} with
-\begin{lstcode}
- \pagestyle{scrheadings}
-\end{lstcode}
- then the manual headings are nevertheless still active.
-
- If you instead use the document class \Class{scrbook}, then after
-\begin{lstcode}
- \documentclass{scrbook}
- \usepackage{scrpage2}
-\end{lstcode}
- the page style \PageStyle{headings} is active and the running headings are
- updated automatically. Switching to the page style
- \PageStyle{scrheadings} keeps this setting active. The marking commands
- of \Class{scrbook} continue to be used.
-
- However, the use of
-\begin{lstcode}
- \usepackage[automark]{scrpage2}
-\end{lstcode}
- activates running headings independently of the used document class.
- The option does not of course affect the used page style \PageStyle{plain}
- of the class \Class{scrreprt}. The headings are not visible until the
- page style is changed to
- \PageStyle{scrheadings}\IndexPagestyle{scrheadings}, \PageStyle{useheadings}
- or another user-defined page style with headings.%
-\end{Example}%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{autooneside}
-\end{Declaration}%
-\BeginIndex{}{headings>manual}%
-\BeginIndex{}{headings>automatic}%
-This option ensures that the optional parameter of
-\DescRef{scrpage-en.cmd.automark}\IndexCmd{automark} will be ignored automatically in
-one-sided mode. See also the explanation of the command
-\DescRef{scrpage-en.cmd.automark} in \autoref{sec:scrpage-en.basics.mark},
-\DescPageRef{scrpage-en.cmd.automark}.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{komastyle}%
- \Option{standardstyle}
-\end{Declaration}%
-These options determine the look of the predefined page styles
-\PageStyle{scrheadings} and \PageStyle{scrplain}. The option
-\Option{komastyle} configures a look like that of the {\KOMAScript} classes.
-This is the default for {\KOMAScript} classes and can in this way also be set
-for other classes.
-
-The option \Option{standardstyle} configures a page style as it is
-expected by the standard classes. Furthermore, the option
-\DescRef{scrpage-en.option.markuppercase} will be activated automatically, but only if
-option \DescRef{scrpage-en.option.markusedcase} is not given.%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{markuppercase}%
- \Option{markusedcase}
-\end{Declaration}%
-In order to achieve the functionality of \DescRef{scrpage-en.cmd.automark}, the package
-\Package{scrpage2} modifies internal commands which are used by the
-document structuring commands to set the running headings. Since some
-classes, in contrast to the {\KOMAScript} classes, write the headings
-in uppercase letters, \Package{scrpage2} has to know how the used
-document class sets the headings.
-
-Option \Option{markuppercase} shows \Package{scrpage2} that the document class
-uses uppercase letters. If the document class does not set the headings in
-uppercase letters, then the option \Option{markusedcase} should be given.
-These\textnote{Attention!} options are not suitable to force a representation;
-thus, unexpected effects may occur if the given option does not match the
-actual behaviour of the document class.%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{nouppercase}
-\end{Declaration}%
-In the previous paragraph dealing with \DescRef{scrpage-en.option.markuppercase} and
-\DescRef{scrpage-en.option.markusedcase}, it has been already stated that some document classes
-set the running headings\Index{heading} in uppercase letters using the
-commands
-\Macro{MakeUppercase}\IndexCmd{MakeUppercase}\important{\Macro{MakeUppercase}}
-or \Macro{uppercase}\IndexCmd{uppercase}\important{\Macro{uppercase}}.
-Setting the option \Option{nouppercase} allows disabling both these commands
-in the headers and footers. However, this is valid only for page styles
-defined by \Package{scrpage2}, including \PageStyle{scrheadings} and its
-corresponding plain page style.
-
-The applied method is very brutal and can cause that desired changes
-of normal letters to uppercase letters \Index{uppercase letters} do
-not occur. Since these cases do not occur frequently, the option
-\Option{nouppercase} usually affords a useful solution.
-\begin{Example}
- Your document uses the standard class \Class{book}\IndexClass{book},
- but you do not want the uppercase headings but mixed case
- headings. Then the preamble of your document could start with:
-\begin{lstcode}
- \documentclass{book}
- \usepackage[nouppercase]{scrpage2}
- \pagestyle{scrheadings}
-\end{lstcode}
- The selection of the page style \PageStyle{scrheadings} is necessary,
- since otherwise the page style \PageStyle{headings} is active, which
- does not respect the settings made by option \Option{nouppercase}.
-\end{Example}
-
-In some cases not only classes but also packages set the running
-headings in uppercase letters.
-Also in these cases the option \Option{nouppercase} should be able
-to switch back to the normal mixed case headings.%
-%
-\EndIndexGroup
-
-
-\section{Defining Own Page Styles}\label{sec:scrpage-en.UI}
-
-\subsection{The Interface for Beginners}\label{sec:scrpage-en.UI.user}
-% \deftripstyle
-
-Now one would not like to remain bound to only the provided page
-styles, but may wish to define one's own page styles. Sometimes there
-will be a special need, since a specific \emph{Corporate Identity} may
-require the declaration of its own page styles. The easiest way to
-deal with this is:
-\begin{Declaration}
- \Macro{deftripstyle}\Parameter{name}%
- \OParameter{LO}\OParameter{LI}%
- \Parameter{HI}\Parameter{HC}\Parameter{HO}%
- \Parameter{FI}\Parameter{FC}\Parameter{FO}
-\end{Declaration}%
-The individual parameters have the following meanings:
-\begin{labeling}[\,--]{\PName{Name}}
-\item[\PName{name}] the name of the page style, in order to activate it
- using the command \Macro{pagestyle}\Parameter{name}
-\item[\PName{LO}] the thickness of the outside lines,
- i.\,e., the line above the header
- and the line below the footer (optional)
-\item[\PName{LI}] the thickness of the separation lines,
- i.\,e., the line below the header
- and the line above the foot (optional)
-\item[\PName{HI}] contents of the inside box in the page header for two-sided
- layout or left for one-sided layout
-\item[\PName{HC}] contents of the centered box in the page header
-\item[\PName{HO}] contents of the outside box in the page header for two-sided
- layout or right for one-sided layout
-\item[\PName{FI}] contents of the inside box in the page footer for two-sided
- layout or left for one-sided layout
-\item[\PName{FC}] contents of the centered box in the page footer
-\item[\PName{FO}] contents of the outside box in the page footer for two-sided
- layout or right for one-sided layout
-\end{labeling}
-
-The command \Macro{deftripstyle} definitely represents the simplest
-possibility of defining page styles. Unfortunately, there are also
-restrictions connected with this, since in a page range using a page
-style defined via deftripstyle, no modification of the lines above and
-below header and footer can take place.
-
-\begin{Example}
- Assume a two-sided layout, where the running headings are placed on
- the inside. Furthermore, the document title, here ``Report'', shall
- be placed outside in the header, the page number shall be centered
- in the footer.
-\begin{lstcode}
- \deftripstyle{TheReport}%
- {\headmark}{}{Report}%
- {}{\pagemark}{}
-\end{lstcode}
-
- If moreover the lines above the header and below the footer shall be
- drawn with a thickness of 2\,pt, and the text body be separated from
- header and footer with 0.4\,pt lines, then the definition has to be
- extended:
-\begin{lstcode}
- \deftripstyle{TheReport}[2pt][.4pt]%
- {\headmark}{}{Report}%
- {}{\pagemark}{}
-\end{lstcode}
- See \autoref{fig:scrpage2.tomuchlines} for the result.
-%
-\begin{figure}
- \typeout{^^J--- Ignore underfull and overfull \string\hbox:}
- \setcapindent{0pt}%
-% \begin{center}
- \begin{captionbeside}
- [{%
- Example of a user defined, line dominated page style%
- }]{%
- example of a user defined, line dominated page style
- with a static and a running heading at the page header and a page number
- centered at the page footer%
- \label{fig:scrpage2.tomuchlines}%
- }
- [l]
- \iffree{\setlength{\unitlength}{1.15mm}}{\setlength{\unitlength}{1mm}}%
- \begin{picture}(85,51)\scriptsize
- \thinlines
- \put(0,0){\line(0,1){51}}
- \put(45,0){\line(0,1){51}}
- \put(0,51){\line(1,0){40}}
- \put(45,51){\line(1,0){40}}
- %
- \thicklines
- \put(40,0){\line(0,1){51}}
- \put(85,0){\line(0,1){51}}
- \put(0,0,){\line(1,0){40}}
- \put(45,0){\line(1,0){40}}
- %
- \XmpHeading[Report\hfill 2. The Eye]{6,47}{30}
- \XmpHeading[2.1 Retina\hfill Report]{49,47}{30}
- \XmpHeading[\hfill 14\hfill]{6,6.5}{30}
- \XmpHeading[\hfill 15\hfill]{49,6.5}{30}
- \put(6,44){\makebox(0,0)[tl]{\parbox{30\unitlength}{\tiny%
- \textbf{2.1 Retina}\\
- \XmpText[49]}}}
- \put(49,44){\makebox(0,0)[tl]{\parbox{30\unitlength}{\tiny%
- \XmpText[51]}}}
- %
- \thinlines
- \XmpRule{6,45.5}{30}\XmpRule{49,45.5}{30}
- \XmpRule{6,8}{30}\XmpRule{49,8}{30}
- \linethickness{1pt}
- \XmpRule{6,49}{30}\XmpRule{49,49}{30}
- \XmpRule{6,5}{30}\XmpRule{49,5}{30}
- \end{picture}
-% \end{center}
- \end{captionbeside}
- \typeout{^^J--- Don't ignore underfull and overfull \string\hbox:^^J}
-\end{figure}
-\end{Example}
-\EndIndexGroup
-
-
-\subsection{The Interface for Experts}\label{sec:scrpage-en.UI.expert}
-% \defpagestyle \newpagestyle \providepagestyle \renewpagestyle
-Simple page styles, as they can be defined with \DescRef{scrpage-en.cmd.deftripstyle},
-are fairly rare according to experience. Either a professor requires
-that the thesis looks like his or her own\,---\,and who seriously wants
-to argue against such a wish?\,---\,or a company would like that half the
-financial accounting emerges in the page footer. No problem, the
-solution is:
-%
-\begin{Declaration}
- \Macro{defpagestyle}\Parameter{name}\Parameter{header definition}\Parameter{footer definition}%
- \Macro{newpagestyle}\Parameter{name}\Parameter{header definition}\Parameter{footer definition}%
- \Macro{renewpagestyle}\Parameter{name}\Parameter{header definition}\Parameter{footer definition}%
- \Macro{providepagestyle}\Parameter{name}\Parameter{header definition}\Parameter{footer definition}
-\end{Declaration}%
-These four commands give full access to the capabilities of
-\Package{scrpage2} to define page styles. Their structure is
-indentical, they differ only in the manner of working.
-\begin{labeling}[\ --]{\Macro{providepagestyle}}
-\item[\Macro{defpagestyle}] defines a new page style.
-If a page style with this name already exists it will be overwritten.
-\item[\Macro{newpagestyle}] defines a new page style.
-If a page style with this name already exists a error message will be given.
-\item[\Macro{renewpagestyle}] redefines a page style.
-If a page style with this name does not exist a error message will be given.
-\item[\Macro{providepagestyle}] defines a new page style only if there is no page style with that name already present.
-\end{labeling}
-
-Using \Macro{defpagestyle} as an example, the syntax of the four
-commands is explained below.
-\begin{labeling}[~--]{\PName{head definition}}
-\item[\PName{name}] the name of the page style for
- \Macro{pagestyle}\Parameter{name}
-\item[\PName{header definition}] the declaration of the header, consisting
- of five element; elements in round parenthesis are optional:\hfill\\
- \hspace*{1em}\AParameter{ALL,ALT}%
- \Parameter{EP}\Parameter{OP}\Parameter{OS}\AParameter{BLL,BLT}
-\item[\PName{footer definition}] the declaration of the footer, consisting
- of five element; elements in round parenthesis are optional:\hfill\\
- \hspace*{1em}\AParameter{ALL,ALT}%
- \Parameter{EP}\Parameter{OP}\Parameter{OS}\AParameter{BLL,BLT}
-\end{labeling}
-
-As can be seen, header and footer declaration have identical
-structure. The individual parameters have the following meanings:
-\begin{labeling}[\ --]{\PName{OLD}}
-\item[\PName{ALL}] above line length: (header = outside, footer = separation
- line)
-\item[\PName{ALT}] above line thickness
-\item[\PName{EP}] definition for \emph{even} pages
-\item[\PName{OP}] definition for \emph{odd} pages
-\item[\PName{OS}] definition for \emph{one-sided} layout
-\item[\PName{BLL}] below line length: (header = separation line, footer =
- outside)
-\item[\PName{BLT}] below line thickness
-\end{labeling}
-
-If the optional line-parameters are omitted, then the line behaviour remains
-configurable by the commands introduced in
-\autoref{sec:scrpage-en.basics.format},
-\DescPageRef{scrpage-en.cmd.setheadtopline}.
-
-The three elements \PName{EP}, \PName{OP} and \PName{OS} are boxes with the
-width of page header or footer, as appropriate. The corresponding definitions
-are set left-justified in the boxes. To set something left- \emph{and}
-right-justified into the boxes, the space between two text elements can be
-stretched using \Macro{hfill}:
-%
-\begin{lstcode}[belowskip=\dp\strutbox]
- {\headmark\hfill\pagemark}
-\end{lstcode}
-
-If one would like a third text-element centered in the box, then an
-extended definition must be used. The commands \Macro{rlap} and
-\Macro{llap} simply write the given arguments, but for {\LaTeX} they
-take up no horizontal space. Only in this way is the middle text
-really centered.
-%
-\begin{lstcode}
- {\rlap{\headmark}\hfill centered text\hfill\llap{\pagemark}}
-\end{lstcode}
-
-\iffalse% Umbruchkorrekturtext
-This and the use of the expert interface in connection with other
-commands provided by \Package{scpage2} follows now in the final
-example.
-\fi
-
-\begin{Example}
- This examples uses the document class \Class{scrbook}, which means
- that the default page layout is two-sided. The package
- \Package{scrpage2} is loaded with options \DescRef{scrpage-en.option.automark} and
- \DescRef{scrpage-en.option.headsepline}. The first switches on the automatic update of
- running headings, the second determines that a separation line
- between header and text body is drawn in the \PageStyle{scrheadings}
- page style.
-
-\begin{lstcode}
- \documentclass{scrbook}
- \usepackage[automark,headsepline]{scrpage2}
-\end{lstcode}
-
- The expert interface is used to define two page styles. The page
- style \PValue{withoutLines} does not define any line parameters. The
- second page style \PValue{withLines} defines a line thicknes of 1\,pt
- for the line above the header and 0\,pt for the separation line
- between header and text.
-
-\begin{lstcode}
- \defpagestyle{withoutLines}{%
- {Example\hfill\headmark}{\headmark\hfill without lines}
- {\rlap{Example}\hfill\headmark\hfill%
- \llap{without lines}}
- }{%
- {\pagemark\hfill}
- {\hfill\pagemark}
- {\hfill\pagemark\hfill}
- }
-\end{lstcode}
-
-\begin{lstcode}
- \defpagestyle{withLines}{%
- (\textwidth,1pt)
- {with lines\hfill\headmark}{\headmark\hfill with lines}
- {\rlap{\KOMAScript}\hfill \headmark\hfill%
- \llap{with lines}}
- (0pt,0pt)
- }{%
- (\textwidth,.4pt)
- {\pagemark\hfill}
- {\hfill\pagemark}
- {\hfill\pagemark\hfill}
- (\textwidth,1pt)
- }
-\end{lstcode}
-
- Right at the beginning of the document the page style
- \PageStyle{scrheadings} is activated. The command \Macro{chapter} starts
- a new chapter and automatically sets the page rstyle for this page to
- \PageStyle{plain}. Even though not a prime example, the command
- \DescRef{scrpage-en.cmd.chead} shows how running headings can be created even on a
- plain page. However, in principle running headings on
- chapter start-pages are to be avoided, since otherwise the special
- character of the \PageStyle{plain} page style is lost. It is more
- important to indicate that a new chapter starts here than that a
- section of this page has a special title.
-
-\begin{lstcode}
- \begin{document}
- \pagestyle{scrheadings}
- \chapter{Thermodynamics}
- \chead[\leftmark]{}
- \section{Main Laws}
- Every system has an extensive state quantity called
- Energy. In a closed system the energy is constant.
-\end{lstcode}
-
- \begin{XmpTopPage}
- \XmpHeading[\hfill\textsl{1. Thermodynamics}\hfill]{10,27}{70}
- \put(10,17){\normalsize\textbf{\sffamily 1.Thermodynamics}}
- \put(10,12){\textbf{\sffamily 1.1 Main Laws}}
- \XmpSetText[%
- Every System has an extensive state quantity]{10,9}
- \end{XmpTopPage}
-
- After starting a new page the page style \PageStyle{scrheadings} is
- active and thus the separation line below the header is visible.
-\begin{lstcode}
- There is a state quatity of a system, called entropy, whose temporal
- change consists of entropy flow and entropy generation.
-\end{lstcode}
- \begin{XmpTopPage}
- \XmpHeading[\textsl{1. Thermodynamics}\hfill]{20,27}{70}
- \thinlines\XmpRule{20,25}{70}
- \XmpSetText[%
- There is a condition unit of a system, called entropy,
- whose temporal change consists of entropy flow
- and entropy generation.]{20,20}
- \end{XmpTopPage}
-
- After switching to the next page, the automatic update of the running
- headings is disabled using \DescRef{scrpage-en.cmd.manualmark}, and the page style
- \PValue{withoutLines} becomes active. Since no line parameters are
- given in the definition of this page style, the default configuration
- is used, which draws a separation line between header and text body
- because \Package{scrpage2} was called with \DescRef{scrpage-en.option.headsepline}.
-\begin{lstcode}
- \manualmark
- \pagestyle{withoutLines}
- \section{Exergy and Anergy}\markright{Energy Conversion}
- During the transition of a system to an equilibrium state
- with its environment, the maximum work gainable is called
- exergy.
-\end{lstcode}
- \begin{XmpTopPage}
- \XmpHeading[\slshape Energy Conversion\hfill without lines]{10,27}{70}
- \thinlines\XmpRule{10,25}{70}
- \XmpSetText[\setlength{\parfillskip}{0pt plus 1fil}%
- \textbf{\sffamily 1.2 Exergy and Anergy}\\
- During the transition of a system to an equilibrium state
- with its environment, the maximum work gainable is called
- exergy.]{10,21}
- \end{XmpTopPage}
-
- At the next page of the document, the page style \PValue{withLines} is
- activated. The line settings of its definition are taken in account
- and the lines are drawn accordingly.
-\begin{lstcode}
- \pagestyle{mitLinien}
- \renewcommand{\headfont}{\itshape\bfseries}
- The portion of an energy not convertible in exergy
- is named anergy \Var{B}.
- \[ B = U + T (S_1 - S_u) - p (V_1 - V_u)\]
- \end{document}
-\end{lstcode}
- \begin{XmpTopPage}
- \XmpHeading[\itshape\bfseries with lines\hfill 1. Thermodynamics]{20,27}{70}
- \thicklines\XmpRule{20,29}{70}
- \XmpSetText[\setlength{\parfillskip}{0pt plus 1fil}%
- The portion of an energy not convertible in exergy
- is named anergy $B$.
- \[ B = U + T (S_1 - S_u) - p (V_1 - V_u)\] ]{20,20}
- \end{XmpTopPage}
-\end{Example}
-\EndIndexGroup
-
-
-\subsection{Managing Page Styles}\label{sec:scrpage-en.UI.cfgFile}
-% scrpage.cfg
-\BeginIndex{File}{scrpage.cfg}
-Before long the work with different page styles will establish a
-common set of employed page styles, depending on taste and tasks. In
-order to make the management of page styles easier and avoid
-time-consuming copy operations each time a new project is started,
-\Package{scrpage2} reads the file \File{scrpage.cfg} after
-initialisation. This file can contain a set of user-defined page
-styles which many projects can share.
-\EndIndex{File}{scrpage.cfg}
-\EndIndexGroup
-
-
-% ============================================================================
-
-\cleardoubleoddpage
-
-\selectlanguage{ngerman}
-\let\savednewcommand\newcommand
-\let\newcommand\renewcommand
-\input{\jobname-ngerman.tex}
-\let\newcommand\savednewcommand
-\def\theHchapter{D.\thechapter}
-\setcounter{chapter}{0}
-\renewcommand*{\thepage}{D.\arabic{page}}
-
-\phantomsection
-\addparttocentry{}{Deutsch}
-
-\title{Das obsolete Paket \Package{scrpage2}}
-\subtitle{Auszug aus früheren Versionen der \KOMAScript-Anleitung}
-\author{Markus Kohm\and Jens-Uwe-Morawski}
-\date{2014-06-25}
-\maketitle
-
-
-\chapter{Kopf- und Fußzeilen mit \Package{scrpage2}}
-\labelbase{scrpage-de}
-%
-\BeginIndexGroup
-\BeginIndex{Package}{scrpage2}%
-\BeginIndex{}{Seitenstil}
-Mit \KOMAScript~3.12 wurde das komplett neu implementierte Paket
-\Package{scrlayer-scrpage} vorgestellt, das eine konsequente Weiterführung des
-Designs von \Package{scrpage2} mit anderen Mitteln darstellt. Siehe dazu das
-entsprechende Kapitel der \KOMAScript-Anleitung. Während
-\Package{scrpage2} die erweiterte Optionen-Schnittstelle der
-\KOMAScript-Klassen nicht unterstützt, kommt diese in
-\Package{scrlayer-scrpage} selbstverständlich zum Einsatz. Da der Ansatz von
-\Package{scrlayer-scrpage} gegenüber \Package{scrpage2} als überlegen
-betrachtet wird, wird somit empfohlen, \Package{scrlayer-scrpage} an Stelle
-von \Package{scrpage2} zu verwenden. Die aktuelle Version von
-\Package{scrpage2} ist daher auch als final zu betrachten. Sämtliche
-Entwicklungsresourcen im Bereich Kopf- und Fußzeilen werden zukünftig in
-\Package{scrlayer-scrpage} einfließen.
-
-\begin{Explain}
- An Stelle von \Package{scrpage2} oder \Package{scrlayer-scrpage} kann
- natürlich auch \Package{fancyhdr} verwendet
- werden. \Package{scrpage2} und insbesondere \Package{scrlayer-scrpage}
- harmonieren jedoch mit den \KOMAScript-Klassen deutlich besser. Genau
- deshalb und weil der Vorläufer von \Package{fancyhdr} damals viele
- Möglichkeiten vermissen lies, ist \Package{scrpage2} entstanden. Natürlich
- ist das Paket \Package{scrpage2} ebenso wie das Paket
- \Package{scrlayer-scrpage} nicht an eine \KOMAScript-Klasse gebunden,
- sondern kann auch sehr gut mit anderen Klassen verwendet werden.
-\end{Explain}
-
-\section{Grundlegende Funktionen}\label{sec:scrpage-de.basics}
-
-\begin{Explain}
- Um die nachfolgende Beschreibung zu verstehen, muss noch einiges zu \LaTeX{}
- gesagt werden. Im \LaTeX-Kern sind die Standardseitenstile
- \PageStyle{empty}, welcher eine völlig undekorierte Seite erzeugt, und
- \PageStyle{plain}, welcher meist nur die Seitenzahl enthält, definiert. In
- vielen Klassen ist der Stil \PageStyle{headings} zu finden, welcher eine
- komplexe Seitendekoration mit automatischen
- Kolumnentitel\Index{Kolumnentitel>automatisch} erzeugt. Die Variante
- \PageStyle{myheadings} gleicht \PageStyle{headings}. Die Kolumnentitel
- müssen dabei aber manuell\Index{Kolumnentitel>manuell} gesetzt werden.
- Ausführlicher wird das im Abschnitt über Seitenstile der
- \KOMAScript-Anleitung beschrieben. Dort wird auch erläutert, dass auf
- einigen Seiten der Seitenstil automatisch -- in der Regel zu
- \PageStyle{plain} -- wechselt.
-\end{Explain}
-
-Das Paket \Package{scrpage2} unterscheidet nicht mehr zwischen Seitenstilen
-mit automatischem und mit manuellem Kolumnentitel. Die Wahl des Seitenstils
-erfolgt unabhängig davon, ob mit automatischem oder manuellem Kolumnentitel
-gearbeitet wird. Näheres dazu finden Sie in \autoref{sec:scrpage-de.basics.mark}.
-
-
-\subsection{Vordefinierte Seitenstile}\label{sec:scrpage-de.basics.buildIn}
-
-Zu den grundlegenden Funktionen von \Package{scrpage2} gehören unter anderem
-vordefinierte, konfigurierbare Seitenstile.
-
-% \lehead ...
-% scrheadings
-% \headmark \pagemark
-
-\begin{Declaration}
- \PageStyle{scrheadings}%
- \PageStyle{scrplain}
-\end{Declaration}%
-Das Paket \Package{scrpage2} liefert für Seiten mit Kolumnentitel einen
-eigenen Seitenstil namens \PageStyle{scrheadings}. Dieser Seitenstil kann
-mittels \Macro{pagestyle}\PParameter{scrheadings} aktiviert werden. Wird
-dieser Seitenstil benutzt, dann wird gleichzeitig der plain-Stil durch den
-dazu passenden Stil \PageStyle{scrplain} ersetzt. Passend bedeutet, dass auch
-der plain-Stil auf in \autoref{sec:scrpage-de.basics.format} vorgestellte
-Befehle, die beispielsweise die Kopfbreite ändern, reagiert und im Grundlayout
-übereinstimmt. Die Aktivierung des Seitenstils \PageStyle{scrheadings} oder
-des zugehörigen plain-Stils, \PageStyle{scrplain}, hat keine Auswirkung
-darauf, ob mit manuellen oder automatischen
-Kolumnentiteln\Index{Kolumnentitel>automatisch}\Index{Kolumnentitel>manuell}
-gearbeitet wird (siehe \autoref{sec:scrpage-de.basics.mark}). Der Seitenstil
-\PageStyle{scrplain} kann auch direkt per \Macro{pagestyle} aktiviert werden.
-
-
-\begin{Declaration}
- \Macro{lehead}%
- \OParameter{scrplain-links-gerade}\Parameter{scrheadings-links-gerade}%
- \Macro{cehead}%
- \OParameter{scrplain-mittig-gerade}\Parameter{scrheadings-mittig-gerade}%
- \Macro{rehead}%
- \OParameter{scrplain-rechts-gerade}\Parameter{scrheadings-rechts-gerade}%
- \Macro{lefoot}%
- \OParameter{scrplain-links-gerade}\Parameter{scrheadings-links-gerade}%
- \Macro{cefoot}%
- \OParameter{scrplain-mittig-gerade}\Parameter{scrheadings-mittig-gerade}%
- \Macro{refoot}%
- \OParameter{scrplain-rechts-gerade}\Parameter{scrheadings-rechts-gerade}%
- \Macro{lohead}%
- \OParameter{scrplain-links-ungerade}\Parameter{scrheadings-links-ungerade}%
- \Macro{cohead}%
- \OParameter{scrplain-mittig-ungerade}\Parameter{scrheadings-mittig-ungerade}%
- \Macro{rohead}%
- \OParameter{scrplain-rechts-ungerade}\Parameter{scrheadings-rechts-ungerade}%
- \Macro{lofoot}%
- \OParameter{scrplain-links-ungerade}\Parameter{scrheadings-links-ungerade}%
- \Macro{cofoot}%
- \OParameter{scrplain-mittig-ungerade}\Parameter{scrheadings-mittig-ungerade}%
- \Macro{rofoot}%
- \OParameter{scrplain-rechts-ungerade}\Parameter{scrheadings-rechts-ungerade}%
- \Macro{ihead}%
- \OParameter{scrplain-innen}\Parameter{scrheadings-innen}%
- \Macro{chead}%
- \OParameter{scrplain-zentriert}\Parameter{scrheadings-zentriert}%
- \Macro{ohead}%
- \OParameter{scrplain-außen}\Parameter{scrheadings-außen}%
- \Macro{ifoot}%
- \OParameter{scrplain-innen}\Parameter{scrheadings-innen}%
- \Macro{cfoot}%
- \OParameter{scrplain-zentriert}\Parameter{scrheadings-zentriert}%
- \Macro{ofoot}%
- \OParameter{scrplain-außen}\Parameter{scrheadings-außen}
-\end{Declaration}%
-Die Seitenstile von \Package{scrpage2} sind so definiert, dass ihr Kopf und
-Fuß flexibel angepasst werden kann. Hierzu sind sowohl im Kopf als auch im Fuß
-drei Felder vorhanden, deren Inhalt modifiziert werden kann. Die Befehle
-zur Modifikation sind in \autoref{fig:scrpage-de.leheadetall} verdeutlicht. Die
-in der Mitte dargestellten Befehle modifizieren sowohl die Felder der linken
-als auch der rechten Seite. Alle Befehle haben sowohl ein optionales als auch
-ein obligatorisches Argument. Das optionale Argument bestimmt jeweils das
-durch den Befehl festgelegte Feld im plain-Seitenstil,
-\PageStyle{scrplain}. Das obligatorische Argument definiert das entsprechende
-Feld im Seitenstil \PageStyle{scrheadings}.
-
-\begin{figure}
-% \centering
- \setcapindent{0pt}%
- \begin{captionbeside}
- [Befehle zur Manipulation der \Package{scrpage2}-Seitenstile]%
- {\hspace{0pt plus 1ex}%
- Zuord\-nung der Befehle zur Manipulation der beiden Seiten\-stile
- \PageStyle{scrheadings} und \PageStyle{scrplain} zu den Feldern im
- Kopf und Fuß der Seiten}
- [l]
- \setlength{\unitlength}{.95mm}\begin{picture}(100,65)(0,8)\small
- \put(0,12){\dashbox{2}(40,56){linke Seite}}
- \put(60,12){\dashbox{2}(40,56){rechte Seite}}
- % Felder: oben links
- \put(1,63){\framebox(8,4){~}}
- \put(16,63){\framebox(8,4){~}}
- \put(31,63){\framebox(8,4){~}}
- % Felder: oben rechts
- \put(61,63){\framebox(8,4){~}}
- \put(76,63){\framebox(8,4){~}}
- \put(91,63){\framebox(8,4){~}}
- % Felder: unten links
- \put(1,13){\framebox(8,4){~}}
- \put(16,13){\framebox(8,4){~}}
- \put(31,13){\framebox(8,4){~}}
- % Felder: unten rechts
- \put(61,13){\framebox(8,4){~}}
- \put(76,13){\framebox(8,4){~}}
- \put(91,13){\framebox(8,4){~}}
- % die Befehle und Pfeile
- % für beidseitig
- %
- \put(50,65){\makebox(0,0){\DescRef{scrpage-de.cmd.ihead}}}
- \put(44,65){\vector(-1,0){4}}\put(56,65){\vector(1,0){4}}
- \put(50,58){\makebox(0,0){\DescRef{scrpage-de.cmd.chead}}}
- \put(44,58){\line(-1,0){24}}\put(56,58){\line(1,0){24}}
- \put(20,58){\vector(0,1){4}}\put(80,58){\vector(0,1){4}}
- \put(50,51){\makebox(0,0){\DescRef{scrpage-de.cmd.ohead}}}
- \put(44,51){\line(-1,0){40}}\put(56,51){\line(1,0){40}}
- \put(4,51){\vector(0,1){11}}\put(96,51){\vector(0,1){11}}
- %
- \put(50,15){\makebox(0,0){\DescRef{scrpage-de.cmd.ifoot}}}
- \put(56,15){\vector(1,0){4}}\put(44,15){\vector(-1,0){4}}
- \put(50,22){\makebox(0,0){\DescRef{scrpage-de.cmd.cfoot}}}
- \put(44,22){\line(-1,0){24}}\put(56,22){\line(1,0){24}}
- \put(20,22){\vector(0,-1){4}}\put(80,22){\vector(0,-1){4}}
- \put(50,29){\makebox(0,0){\DescRef{scrpage-de.cmd.ofoot}}}
- \put(44,29){\line(-1,0){40}}\put(56,29){\line(1,0){40}}
- \put(4,29){\vector(0,-1){11}}\put(96,29){\vector(0,-1){11}}
- % Befehle für einseitig
- \put(5,69){\makebox(0,0)[b]{\DescRef{scrpage-de.cmd.lehead}}}
- \put(20,69){\makebox(0,0)[b]{\DescRef{scrpage-de.cmd.cehead}}}
- \put(35,69){\makebox(0,0)[b]{\DescRef{scrpage-de.cmd.rehead}}}
- %
- \put(65,69){\makebox(0,0)[b]{\DescRef{scrpage-de.cmd.lohead}}}
- \put(80,69){\makebox(0,0)[b]{\DescRef{scrpage-de.cmd.cohead}}}
- \put(95,69){\makebox(0,0)[b]{\DescRef{scrpage-de.cmd.rohead}}}
- %
- \put(5,11){\makebox(0,0)[t]{\DescRef{scrpage-de.cmd.lefoot}}}
- \put(20,11){\makebox(0,0)[t]{\DescRef{scrpage-de.cmd.cefoot}}}
- \put(35,11){\makebox(0,0)[t]{\DescRef{scrpage-de.cmd.refoot}}}
- %
- \put(65,11){\makebox(0,0)[t]{\DescRef{scrpage-de.cmd.lofoot}}}
- \put(80,11){\makebox(0,0)[t]{\DescRef{scrpage-de.cmd.cofoot}}}
- \put(95,11){\makebox(0,0)[t]{\DescRef{scrpage-de.cmd.rofoot}}}
- \end{picture}
- \end{captionbeside}
-% \caption[Befehle zur Manipulation der \Package{scrpage2}-Seitenstile]%
-% {Zuordnung der Befehle zur Manipulation der Seitenstile
-% \PageStyle{scrheadings} und \PageStyle{scrplain} zu den manipulierten
-% Seitenelementen}
- \label{fig:scrpage-de.leheadetall}
-\end{figure}
-
-\begin{Example}
- Angenommen, man möchte bei \PageStyle{scrheadings} zentriert im Seitenfuß
- die Seitenzahl dargestellt haben, dann benutzt man einfach:
-\begin{lstcode}
- \cfoot{\pagemark}
-\end{lstcode}
- Sollen die Seitenzahlen\Index{Paginierung} im Kopf außen und die
- Kolumnentitel\Index{Kolumnentitel} innen stehen, dann erfolgt dies mit:
-\begin{lstcode}
- \ohead{\pagemark}
- \ihead{\headmark}
- \cfoot{}
-\end{lstcode}
- Das \Macro{cfoot}\PParameter{} ist nur notwendig, um eine möglicherweise in
- der Mitte des Fußes vorhandene Seitenzahl zu entfernen.
-\end{Example}
-
-Die Befehle, die direkt nur einem Feld zugeordnet sind, können für
-anspruchsvollere Vorhaben genutzt werden.
-
-\begin{Example}
- Angenommen, man hat den Auf"|trag, einen Jahresbericht einer Firma zu
- erstellen, dann könnte das so angegangen werden:
-\begin{lstcode}
- \ohead{\pagemark}
- \rehead{Jahresbericht 2001}
- \lohead{\headmark}
- \cefoot{Firma WasWeißIch}
- \cofoot{Abteilung Entwicklung}
-\end{lstcode}
- Natürlich muss man hier dafür sorgen, dass mittels \Macro{cofoot} der Fuß
- der rechten Seite aktualisiert wird, wenn eine neue Abteilung im Bericht
- besprochen wird.
-\end{Example}
-
-Wie oben dargestellt, gibt es einen zu \PageStyle{scrheadings}
-korrespondierenden plain-Seitenstil. Da es auch möglich sein soll, diesen
-Stil anzupassen, unterstüt"-zen die Befehle ein optionales Argument. Damit
-kann der Inhalt des entsprechenden Feldes im plain-Seitenstil modifiziert
-werden.
-
-\begin{Example}
- Um für die Nutzung von \PageStyle{scrheadings} die Position der Seitenzahlen
- festzulegen, kann man folgendes benutzen:
-\begin{lstcode}
- \cfoot[\pagemark]{}
- \ohead[]{\pagemark}
-\end{lstcode}
- Wird anschließend der Stil \PageStyle{plain} genutzt, beispielsweise weil
- \Macro{chapter} eine neue Seite beginnt und darauf umschaltet, dann steht
- die Seitenzahl zentriert im Seitenfuß.
-\end{Example}
-%
-\EndIndexGroup
-
-
-% Die folgende Deklaration und Erklaerung wurde eingefuegt von
-% mjk 2001-08-18
-\begin{Declaration}
- \Macro{clearscrheadings}%
- \Macro{clearscrplain}%
- \Macro{clearscrheadfoot}
-\end{Declaration}%
-Will man sowohl den Seitenstil \PageStyle{scrheadings} als auch den dazu
-gehörenden plain-Seitenstil von Grund auf neu definieren,
-muss man häufig zusätzlich einige der bereits belegten Seitenelemente
-löschen. Da man selten alle Elemente mit neuem Inhalt füllt, sind
-dazu in den meisten Fällen mehrere Befehle mit leeren Parametern
-notwendig.
-Mit Hilfe dieser drei Befehle ist das Löschen schnell und
-gründlich möglich. Während \Macro{clearscrheadings} lediglich alle
-Felder des Seitenstils \PageStyle{scrheadings} und \Macro{clearscrplain}
-alle Felder des zugehörigen plain-Seitenstils löscht, werden
-von \Macro{clearscrheadfoot} alle Felder beider Seitenstile auf leere
-Inhalte gesetzt.
-\begin{Example}
- Sie wollen unabhängig davon, wie die Seitenstile derzeit aussehen,
- die Standardform der \KOMAScript-Klassen bei zweiseitigem Satz
- erreichen. Dies ist mit nur drei Befehlen möglich:
-\begin{lstcode}
- \clearscrheadfoot
- \ohead{\headmark}
- \ofoot[\pagemark]{\pagemark}
-\end{lstcode}
- Ohne die Befehle \Macro{clearscrheadings}, \Macro{clearscrplain} und
- \Macro{clearscrheadfoot} wären doppelt so viele Anweisungen und neun weitere
- leere Argumente notwendig:
-\begin{lstcode}
- \ihead[]{}
- \chead[]{}
- \ohead[]{\headmark}
- \ifoot[]{}
- \cfoot[]{}
- \ofoot[\pagemark]{\pagemark}
-\end{lstcode}
- Einige davon könnten natürlich entfallen, wenn man von einer
- konkreten Vorbelegung ausginge.
-\end{Example}
-%
-\EndIndexGroup
-%
-\EndIndexGroup
-
-
-% Satz leicht geaendert: mjk 2001-08-18
-In den vorausgehenden Beispielen wurden schon zwei Befehle benutzt, die noch
-gar nicht besprochen wurden. Das soll jetzt nachgeholt werden.
-
-% Die folgende Deklaration und Erklaerung wurde eingefuegt von
-% mjk 2001-08-17
-\begin{Declaration}
- \Macro{leftmark}%
- \Macro{rightmark}
-\end{Declaration}%
-Diese beiden Befehle erlauben es, auf die Kolumnentitel zuzugreifen, die
-normalerweise für die linke bzw. die rechte Seite gedacht sind. Diese beiden
-Befehle werden nicht von \Package{scrpage2}, sondern direkt vom \LaTeX-Kern
-zur Verfügung gestellt. Wenn in diesem Kapitel vom Kolumnentitel der linken
-Seite oder vom Kolumnentitel der rechten Seite die Rede ist, dann ist damit
-eigentlich der Inhalt von \Macro{leftmark} und \Macro{rightmark} gemeint.
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
-\Macro{headmark}
-\end{Declaration}%
-Dieser Befehl ermöglicht es, auf die Inhalte der Kolumnentitel zuzugreifen.
-Im Gegensatz zu den originalen \LaTeX{}-Befehlen \Macro{leftmark} und
-\Macro{rightmark} braucht man nicht auf die richtige Zuordnung zur linken oder
-rechten Seite zu achten.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Macro{pagemark}
-\end{Declaration}%
-Dieser Befehl ermöglicht den Zugriff auf die Seitenzahl. Im
-\autoref{sec:scrpage-de.basics.format}, \DescPageRef{scrpage-de.cmd.pnumfont}
-wird der Befehl \DescRef{scrpage-de.cmd.pnumfont} zur Formatierung der Seitenzahl vorgestellt,
-den \Macro{pagemark} automatisch berücksichtigt.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \PageStyle{useheadings}
-\end{Declaration}%
-Das Paket \Package{scrpage2} ist in erster Linie dafür gedacht, dass die
-bereitgestellten Stile benutzt oder eigene Stile definiert werden. Jedoch
-kann es notwendig sein, auch auf einen von der Dokumentklasse zur Verfügung
-gestellten Stil zurückzuschalten. Es wäre nahe liegend, dieses mit
-\Macro{pagestyle}\PParameter{headings} vorzunehmen. Das hätte aber den
-Nachteil, dass die nachfolgend besprochenen Befehle \DescRef{scrpage-de.cmd.automark} und
-\DescRef{scrpage-de.cmd.manualmark} nicht wie erwartet funktionierten. Daher sollte mit
-\Macro{pagestyle}\PParameter{useheadings}\IndexCmd{pagestyle} auf die
-originalen Stile umgeschaltet werden. Eine solche Umschaltung hat dann keine
-Auswirkung darauf, ob mit manuellen oder automatischen Kolumnentiteln
-gearbeitet wird.%
-%
-\EndIndexGroup
-
-
-\subsection{Manuelle und automatische Kolumnentitel}
-\label{sec:scrpage-de.basics.mark}
-% \automark \manualmark
-%
-\BeginIndexGroup
-\BeginIndex{}{Kolumnentitel>automatisch}%
-\BeginIndex{}{Kolumnentitel>manuell}%
-Gewöhnlich\textnote{Achtung!} gibt es zu einem \PageStyle{headings}-Stil eine
-\emph{my}-Variante. Ist ein solcher Stil aktiv, dann werden die Kolumnentitel
-nicht mehr automatisch aktualisiert. Bei \Package{scrpage2} wird ein anderer
-Weg beschritten. Ob die Kolumnentitel lebend sind oder nicht, bestimmen die
-Befehle \DescRef{scrpage-de.cmd.automark} und \DescRef{scrpage-de.cmd.manualmark}. Die Voreinstellung kann auch
-bereits beim Laden des Paketes über die Optionen \DescRef{scrpage-de.option.automark} und
-\DescRef{scrpage-de.option.manualmark} beeinflusst werden (siehe
-\autoref{sec:scrpage-de.basics.options},
-\DescPageRef{scrpage-de.option.automark}).
-
-
-\begin{Declaration}
-\Macro{manualmark}
-\end{Declaration}%
-Wie der Name bereits verdeutlicht, schaltet \Macro{manualmark} die
-Aktualisierung der Kolumnentitel aus. Es bleibt somit dem Nutzer überlassen,
-für eine Aktualisierung bzw. für den Inhalt der Kolumnentitel zu sorgen. Dazu
-stehen die Befehle \Macro{markboth}\IndexCmd{markboth} und
-\Macro{markright}\IndexCmd{markright} aus dem \LaTeX-Kern bereit. Diese
-Anweisungen sind im Abschnitt über Seitenstile in der \KOMAScript-Anleitung
-erklärt.%
-%
-\EndIndexGroup
-
-
-% Ergaenzt mjk 2001-07-17
-\begin{Declaration}
- \Macro{automark}\OParameter{rechte Seite}\Parameter{linke Seite}
-\end{Declaration}%
-Die Anweisung \Macro{automark} aktiviert die automatische Aktualisierung des
-Kolumnentitels. Für die beiden Parameter sind die Bezeichnungen der
-Gliederungsebenen\Index{Gliederungsebenen} einzusetzen, deren Titel an
-entsprechender Stelle erscheinen soll. Gültige Werte für die Parameter sind:
-\PValue{part}\ChangedAt{v2.2}{\Package{scrpage2}}, \PValue{chapter},
-\PValue{section}, \PValue{subsection}, \PValue{subsubsection},
-\PValue{paragraph} und \PValue{subparagraph}. Der Wert \PValue{part} führt bei
-Verwendung der meisten Klassen nicht zu dem gewünschten Ergebnis. Bisher ist
-nur von den \KOMAScript-Klassen ab Version~2.9s bekannt, dass dieser Wert
-unterstützt wird. Das optionale Argument \PName{rechte Seite} ist
-ver\-ständlicherweise nur für zweiseitigen Satz gedacht. Im einseitigen Satz
-sollten Sie normalerweise darauf verzichten. Mit Hilfe der Option
-\DescRef{scrpage-de.option.autooneside}\IndexOption{autooneside}\important{\DescRef{scrpage-de.option.autooneside}}
-können Sie auch einstellen, dass das optionale Argument im
-einseitigen\Index{einseitig} Satz automatisch ignoriert wird (siehe
-\autoref{sec:scrpage-de.basics.options},
-\DescPageRef{scrpage-de.option.autooneside}).
-\begin{Example}
- Wird beispielsweise mit einer \emph{book}-Klasse gearbeitet, deren höch\-ste
- Gliederungsebene \emph{chapter} ist, dann stellt nach einem vorhergehenden
- \DescRef{scrpage-de.cmd.manualmark} der Befehl
-\begin{lstcode}
- \automark[section]{chapter}
-\end{lstcode}
- den Originalzustand wieder her. Bevorzugt man stattdessen, die tieferen
- Gliederungsebenen angezeigt zu bekommen, dann erfolgt dies mit:
-\begin{lstcode}
- \automark[subsection]{section}
-\end{lstcode}
-\end{Example}
-
-\begin{Explain}
- Die Markierung der jeweils höheren Gliederungsebene wird mit Hilfe von
- \Macro{markboth}\IndexCmd{markboth} gesetzt. Die Markierung der
- tieferen Gliederungsebene wird mit \Macro{markright}\IndexCmd{markright}
- bzw. \Macro{markleft}\IndexCmd{markleft} gesetzt. Der entsprechende Aufruf
- erfolgt indirekt über die Gliederungsbefehle. Die Anweisung \Macro{markleft}
- wird von \Package{scrpage2} bereitgestellt und ist vergleichbar zu
- \Macro{markright} aus dem \LaTeX-Kern
- definiert. Obwohl sie nicht als internes Makro definiert ist, wird von einem
- direkten Gebrauch abgeraten.
-\end{Explain}
-\EndIndexGroup
-\EndIndexGroup
-
-
-\subsection{Formatierung der Kopf- und Fußzeilen}
-\label{sec:scrpage-de.basics.format}
-% \headfont \pnumfont
-% \setheadwidth \setfootwidth
-% \set(head|foot)(top|sep|bot)line
-Im vorherigen Abschnitt ging es hauptsächlich um inhaltliche Dinge. Das
-genügt natürlich nicht, um die gestalterischen Ambitionen zu
-befriedigen. Deshalb soll es sich in diesem Abschnitt ausschließlich darum
-drehen.
-
-\begin{Declaration}
- \Macro{headfont}%
- \Macro{footfont}%
- \Macro{pnumfont}
-\end{Declaration}%
-Die Schriftformatierung für den Seitenkopf und -fuß übernimmt der Befehl
-\Macro{headfont}, \Macro{footfont} die Abweichung davon für den Fuß und
-\Macro{pnumfont} wiederum die Abweichung davon für die Seitenzahl.
-\begin{Example}
- Um beispielsweise den Kopf in fetter, serifenloser Schrift und den Fuß in
- nicht fetter, serifenloser Schrift zu setzen und die Seitenzahl geneigt
- mit Serifen erscheinen zu lassen, nutzt man folgende Definitionen:
-\begin{lstcode}
- \renewcommand*{\headfont}{%
- \normalfont\sffamily\bfseries}
- \renewcommand*{\footfont}{%
- \normalfont\sffamily}
- \renewcommand*{\pnumfont}{%
- \normalfont\rmfamily\slshape}
-\end{lstcode}
-\end{Example}
-
-\BeginIndexGroup
-\BeginIndex{FontElement}{pagehead}%
-\BeginIndex{FontElement}{pagefoot}%
-\BeginIndex{FontElement}{pagenumber}%
-Ab Version 2.8p der \KOMAScript{}-Klassen wurde die Schnittstelle für
-Schriftattribute vereinheitlicht. Wird \Package{scrpage2} in Verbindung mit
-einer dieser Klassen verwendet, dann sollte die Zuweisung in der Art erfolgen,
-wie sie in der \KOMAScript-Anleitung beschrieben wird.
-\begin{Example}
- Statt \Macro{renewcommand} wird bei Verwendung einer \KOMAScript-Klasse
- vorzugsweise der Befehl \Macro{setkomafont} verwendet. Die vorhergehenden
- Definitionen lauten damit:
-\begin{lstcode}
- \setkomafont{pagehead}{%
- \normalfont\sffamily\bfseries}
- \setkomafont{pagefoot}{%
- \normalfont\sffamily}
- \setkomafont{pagenumber}{%
- \normalfont\rmfamily\slshape}
-\end{lstcode}
-\end{Example}
-\EndIndexGroup
-\EndIndexGroup
-
-
-\begin{Declaration}
-\Macro{setheadwidth}\OParameter{Verschiebung}\Parameter{Breite}%
-\Macro{setfootwidth}\OParameter{Verschiebung}\Parameter{Breite}
-\end{Declaration}%
-Normalerweise entsprechen die Breiten von Kopf- und Fußzeile der Breite des
-Textbereichs.\Index{Kopf>Breite}\Index{Fuss=Fuß>Breite} Die beiden Befehle
-\Macro{setheadwidth} und \Macro{setfootwidth} ermöglichen dem Anwender, auf
-einfache Weise die Breiten seinen Bedürfnissen anzupassen. Das obligatorische
-Argument \PName{Breite} nimmt den Wert der Breite des Kopfes bzw. des Fußes
-auf, \PName{Verschiebung} ist ein Längenmaß für die Verschiebung des
-entsprechenden Elements in Richtung des äußeren Seitenrandes.
-
-Für die möglichen Standardfälle akzeptiert das obligatorische Argument
-\PName{Breite} auch folgende symbolische Werte:
-\begin{labeling}[\ --]{\PValue{textwithmarginpar}}
-\item[\PValue{paper}] die Breite des Papiers
-\item[\PValue{page}] die Breite der Seite
-\item[\PValue{text}] die Breite des Textbereichs
-\item[\PValue{textwithmarginpar}] die Breite des Textbereichs inklusive
-Seitenrand
-\item[\PValue{head}] die aktuelle Breite des Seitenkopfes
-\item[\PValue{foot}] die aktuelle Breite des Seitenfußes
-\end{labeling}
-Der Unterschied zwischen \PValue{paper} und \PValue{page} besteht darin, dass
-\PValue{page} die Breite des Papiers abzüglich der Bindekorrektur ist, falls
-das \Package{typearea}-Paket\IndexPackage{typearea} verwendet wird (siehe das
-Kapitel über \Package{typearea} in der \KOMAScript-Anleitung). Ohne Verwendung
-von \Package{typearea} sind \PValue{paper} und \PValue{page}
-identisch.%mjk-2001-08-17
-
-\begin{Example}
- Angenommen, man möchte ein Seitenlayout wie im
- \emph{\LaTeX-Begleiter}, bei dem die Kopfzeile in den Rand ragt,
- dann geschieht das ganz einfach mit:
-\begin{lstcode}
- \setheadwidth[0pt]{textwithmarginpar}
-\end{lstcode}
-%
- und sieht dann auf einer rechten Seite folgendermaßen aus:
-%
- \begin{XmpTopPage}
- \XmpHeading{10,29}{85}
- \thinlines\XmpRule{10,27}{85}
- \XmpSetText[\XmpTopText]{10,24}
- \XmpMarginNote{83,14}
- \end{XmpTopPage}
-%
- Soll der Seitenfuß die gleiche Breite und Ausrichtung haben, dann hat man
- jetzt zwei Wege. Der erste ist, man wiederholt das Gleiche für den
- Seitenfuß mit:
-\begin{lstcode}
- \setfootwidth[0pt]{textwithmarginpar}
-\end{lstcode}
-%
- oder man greift auf den anderen symbolischen Wert \PValue{head} zurück, da
- der Kopf bereits die gewünschte Breite hat.
-\begin{lstcode}
- \setfootwidth[0pt]{head}
-\end{lstcode}
-\end{Example}
-
-Wird keine Verschiebung angegeben, das heißt auf das optionale Argument
-verzichtet, dann erscheint der Kopf bzw. der Fuß symmetrisch auf der Seite
-angeordnet. Es wird somit ein Wert für die Verschiebung automatisch ermittelt,
-der der aktuellen Seitengestalt entspricht.
-
-\begin{Example}
- Entsprechend dem vorherigen Beispiel wird hier auf das optionale Argument
- verzichtet:
-\begin{lstcode}
- \setheadwidth{textwithmarginpar}
-\end{lstcode}
-%
- und sieht dann auf einer rechten Seite folgendermaßen aus:
-%
- \begin{XmpTopPage}
- \XmpHeading{5,29}{85}
- \thinlines\XmpRule{5,27}{85}
- \XmpSetText[\XmpTopText]{10,24}
- \XmpMarginNote{83,14}
- \end{XmpTopPage}
-\end{Example}
-
-Wie zu sehen, ist der Kopf jetzt nach innen verschoben, wobei die Kopfbreite
-sich nicht geändert hat. Die Verschiebung ist so berechnet, dass die
-Seitenproportionen auch hier sichtbar werden.
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Macro{setheadtopline}\OParameter{Länge}\Parameter{Dicke}%
- \OParameter{Anweisungen}%
- \Macro{setheadsepline}\OParameter{Länge}\Parameter{Dicke}%
- \OParameter{Anweisungen}%
- \Macro{setfootsepline}\OParameter{Länge}\Parameter{Dicke}%
- \OParameter{Anweisungen}%
- \Macro{setfootbotline}\OParameter{Länge}\Parameter{Dicke}%
- \OParameter{Anweisungen}
-\end{Declaration}%
-Entsprechend den Größenparametern für die Kopf- und Fußzeile gibt es auch
-Befehle, die die Dimensionen der Linien im Kopf und Fuß modifizieren
-können. Dazu sollten diese Linien aber zunächst erst einmal eingeschaltet
-werden. Siehe hierzu die Optionen \DescRef{scrpage-de.option.headtopline}, \DescRef{scrpage-de.option.headsepline},
-\DescRef{scrpage-de.option.footsepline}, \DescRef{scrpage-de.option.footbotline} in
-\autoref{sec:scrpage-de.basics.options},
-\DescPageRef{scrpage-de.option.headsepline}.
-
-\begin{labeling}[\ --]{\Macro{setfootsepline}}
-\item[\Macro{setheadtopline}] modifiziert die Parameter für die Linie
-über dem Seitenkopf
-\item[\Macro{setheadsepline}] modifiziert die Parameter für die Linie
-zwischen Kopf und Textkörper
-\item[\Macro{setfootsepline}] modifiziert die Parameter für die Linie
-zwischen Text und Fuß
-\item[\Macro{setfootbotline}] modifiziert die Parameter für die Linie
-unter dem Seitenfuß
-\end{labeling}
-
-Das obligatorische Argument \PName{Dicke} bestimmt, wie stark die Linie
-gezeichnet wird. Das optionale Argument \PName{Länge} akzeptiert die gleichen
-symbolischen Werte wie \PName{Breite} bei \DescRef{scrpage-de.cmd.setheadwidth}, also auch einen
-normalen Längenausdruck. Solange im Dokument dem optionalen Argument
-\PName{Länge} kein Wert zugewiesen wurde, passt sich die entsprechende
-Linienlänge automatisch der Breite des Kopfes bzw. des Fußes an.
-
-Möchte man diesen Automatismus für die Länge einer Linie wieder restaurieren,
-dann nutzt man im Längenargument den Wert \PValue{auto}.
-
-Mit\ChangedAt{v2.2}{\Package{scrpage2}} dem optionalen Argument
-\PName{Anweisungen} können zusätzliche Anweisungen definiert werden, die vor
-dem Zeichnen der jeweiligen Linie auszuführen sind. Das können beispielsweise
-Anweisungen sein, um die
-Farbe\Index{Kopf>Farbe}\Index{Fuss=Fuß>Farbe}\Index{Farbe>im
- Kopf}\Index{Farbe>im Fuss=im Fuß} der Linie zu ändern. Bei Verwendung einer
-\KOMAScript-Klasse können diese Anweisungen auch über
-\Macro{setkomafont}\IndexCmd{setkomafont} für eines der Elemente
-\FontElement{headtopline}\IndexFontElement[indexmain]{headtopline}%
-\important[i]{\FontElement{headtopline}\\
- \FontElement{headsepline}\\
- \FontElement{footsepline}\\
- \FontElement{footbottomline}},
-\FontElement{headsepline}\IndexFontElement[indexmain]{headsepline},
-\FontElement{footsepline}\IndexFontElement[indexmain]{footsepline},
-\FontElement{footbottomline}\IndexFontElement[indexmain]{footbottomline} oder
-auch \FontElement{footbotline}\IndexFontElement[indexmain]{footbotline}
-gesetzt und mit \Macro{addtokomafont}\IndexCmd{addtokomafont} erweitert
-werden. Die beiden Anweisungen \Macro{setkomafont} und \Macro{addtokomafont}
-sind in der \KOMAScript-Anleitung näher beschrieben.
-
-
-\begin{Declaration}
- \labelsuffix[auto+current]%
- \Macro{setheadtopline}\POParameter{auto}
- \PParameter{current}%
- \labelsuffix[auto]
- \Macro{setheadtopline}\POParameter{auto}\Parameter{}%
- \labelsuffix[auto+]
- \Macro{setheadtopline}\POParameter{auto}\Parameter{}\OParameter{}
-\end{Declaration}%
-Die hier am Befehl \DescRef{scrpage-de.cmd.setheadtopline} illustrierten Argumente
-sind natürlich auch für die anderen drei Längenbefehle gültig.
-
-Enthält das obligatorische Argument den Wert \PValue{current} oder wird
-leer gelassen, dann wird die Dicke der Linie nicht verändert. Das kann
-genutzt werden, wenn die Länge der Linie, aber nicht die Dicke modifiziert
-werden soll.
-
-Wird das optionale Argument \PName{Anweisungen} weggelassen, so bleiben
-eventuell zuvor gesetzte Anweisungen erhalten. Wird hingegen ein leeres
-Argument \PName{Anweisungen} gesetzt, so werden eventuell zuvor gesetzte
-Anweisungen wieder gelöscht.
-
-\begin{Example}
- Soll beispielsweise der Kopf mit einer kräftigen Linie von 2\,pt darüber und
- einer normalen von 0,4\,pt zwischen Kopf und Text abgesetzt werden, dann
- erfolgt das mit:
-\begin{lstcode}
- \setheadtopline{2pt}
- \setheadsepline{.4pt}
-\end{lstcode}
-Zusätzlich\textnote{Achtung!} sind unbedingt die Optionen
-\DescRef{scrpage-de.option.headtopline} und \DescRef{scrpage-de.option.headsepline} vorzugsweise global im
-optionalen Argument von \Macro{documentclass} zu setzen. Das Ergebnis könnte
-dann wie folgt aussehen.
-%
- \begin{XmpTopPage}
- \XmpHeading{10,29}{70}
- \thinlines\XmpRule{10,27}{70}
- \thicklines\XmpRule{10,32}{70}
- \XmpSetText[\XmpTopText]{10,24}
- \XmpMarginNote{83,14}
- \end{XmpTopPage}
-
- Sollen diese Linien zusätzlich in roter Farbe gesetzt werden, dann sind die
- Anweisungen beispielsweise wie folgt zu ändern:
-\begin{lstcode}
- \setheadtopline{2pt}[\color{red}]
- \setheadsepline{.4pt}[\color{red}]
-\end{lstcode}
- In diesem und auch dem folgenden Beispiel wurde für die Aktivierung der
- Farbe die Syntax des \Package{color}\IndexPackage{color}-Pakets verwendet,
- das dann natürlich auch geladen werden muss. \Package{scrpage2} selbst
- bietet keine direkte Farbunterstützung. Damit ist jedes beliebige
- Farbunterstützungspaket verwendbar.
-
- Mit einer \KOMAScript-Klasse kann alternativ
-\begin{lstcode}
- \setheadtopline{2pt}
- \setheadsepline{.4pt}
- \setkomafont{headtopline}{\color{red}}
- \setkomafont{headsepline}{\color{red}}
-\end{lstcode}
- verwendet werden.
-
- Die automatische Anpassung an die Kopf- und Fußbreiten illustriert folgendes
- Beispiel, für das die Optionen \DescRef{scrpage-de.option.footbotline} und \DescRef{scrpage-de.option.footsepline}
- gesetzt sein sollten:
-\begin{lstcode}
- \setfootbotline{2pt}
- \setfootsepline[text]{.4pt}
- \setfootwidth[0pt]{textwithmarginpar}
-\end{lstcode}
-
-%\phantomsection für hyperref-\pageref-Link jum-2001/11/24
- \phantomsection\label{page:scrpage-de.autoLineLength}%
- \begin{XmpBotPage}
- \XmpHeading{10,18}{85}
- \thinlines\XmpRule{17,21}{70}
- \thicklines\XmpRule{10,16}{85}
- \XmpSetText[\XmpBotText]{10,36}
- \XmpMarginNote{83,26}
- \end{XmpBotPage}
-\end{Example}
-%
-Nun mag nicht jedem die Ausrichtung der Linie über der Fußzeile gefallen,
-sondern es wird in einem solchen Fall erwartet, dass sie wie der Kolumnentitel
-linksbündig zum Text ist. Diese Einstellung kann nur global in Form einer
-Paketoption erfolgen und wird im folgenden
-\autoref{sec:scrpage-de.basics.options} mit anderen Optionen beschrieben.%
-%
-\EndIndexGroup
-\EndIndexGroup
-
-
-\subsection{Optionen beim Laden des Paketes}
-\label{sec:scrpage-de.basics.options}
-
-Während bei den \KOMAScript-Klassen die Mehrzahl der Optionen auch noch nach
-dem Laden der Klasse mit \Macro{KOMAoptions} und \Macro{KOMAoption} geändert
-werden kann, trifft dies für das Paket \Package{scrpage2} \iffree{derzeit noch
-}{}nicht zu. Alle Optionen für dieses Paket müssen als globale Optionen, also
-im optionalen Argument von \Macro{documentclass}, oder als Paketoptionen, also
-im optionalen Argument von \Macro{usepackage}, angegeben werden.
-
-% head(in|ex)clude foot(in|ex)clude --> typearea
-% headtopline headsepline footbotline footsepline (plain...)
-% komastyle standardstyle
-% markuppercase markusecase
-% automark manualmark
-\begin{Declaration}
- \Option{headinclude}%
- \Option{headexclude}%
- \Option{footinclude}%
- \Option{footexclude}
-\end{Declaration}%
-Diese\textnote{Achtung!} Optionen sollten bei Verwendung von
-\KOMAScript~3\ChangedAt{v2.3}{\Package{scrpage2}} nicht mehr beispielsweise
-per optionalem Argument von \Macro{usepackage} oder per
-\Macro{PassOptionsToPackage} direkt an \Package{scrpage2} übergeben
-werden. Lediglich aus Gründen der Kompatibilität sind sie noch in
-\Package{scrpage2} deklariert und werden von diesem als \Option{headinclude},
-\OptionValue{headinclude}{false}, \Option{footinclude} und
-\OptionValue{footinclude}{false} an das Paket \Package{typearea}
-weitergereicht.
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{headtopline}%
- \Option{plainheadtopline}%
- \Option{headsepline}%
- \Option{plainheadsepline}%
- \Option{footsepline}%
- \Option{plainfootsepline}%
- \Option{footbotline}%
- \Option{plainfootbotline}
-\end{Declaration}%
-Eine Grundeinstellung für die Linien unter und über den Kopf- und Fußzeilen
-kann mit diesen Optionen vorgenommen werden. Diese Einstellungen gelten dann
-als Standard für alle mit \Package{scrpage2} definierten Seitenstile. Wird
-eine von diesen Optionen verwendet, dann wird eine Linienstärke von 0,4\,pt
-eingesetzt. Da es zum Seitenstil \PageStyle{scrheadings} einen entsprechenden
-plain-Stil gibt, kann mit den \Option{plain\dots}-Optionen auch die
-entsprechende Linie des plain-Stils konfiguriert werden. Diese
-\Option{plain}-Optionen wirken aber nur, wenn auch die korrespondierende
-Option ohne \Option{plain} aktiviert wurde. Somit zeigt die Option
-\Option{plainheadtopline} ohne \Option{headtopline} keine Wirkung.
-
-Bei diesen Optionen ist zu beachten, dass der entsprechende Seitenteil in den
-Textbereich des Satzspiegels mit übernommen wird, wenn eine Linie aktiviert
-wurde. Wird also mittels \Option{headsepline} die Trennlinie zwischen Kopf
-und Text aktiviert, dann wird automatisch mittels \Package{typearea} der
-Satzspiegel so berechnet, dass der Seitenkopf Teil des Textblocks ist.
-
-Die\textnote{Achtung!} Bedingungen für die Optionen des vorhergehenden
-Abschnitts gelten auch für diesen Automatismus. Das bedeutet, dass das Paket
-\Package{typearea} nach \Package{scrpage2} geladen werden muss,
-beziehungsweise, dass bei Verwendung einer \KOMAScript{}-Klasse die Optionen
-\DescRef{scrpage-de.option.headinclude} und \DescRef{scrpage-de.option.footinclude} explizit bei
-\Macro{documentclass} gesetzt werden müssen, um Kopf- bzw. Fußzeile in den
-Textblock zu übernehmen.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{ilines}%
- \Option{clines}%
- \Option{olines}
-\end{Declaration}%
-\Index{Linienausrichtung}%
-Bei der Festlegung der Linienlängen kann es vorkommen, dass die Linie zwar die
-gewünschte Länge, aber nicht die erwünschte Ausrichtung hat, da sie im Kopf-
-bzw. Fußbereich zentriert wird. Mit den hier vorgestellten Paketoptionen kann
-global für alle mit \Package{scrpage2} definierten Seitenstile diese Vorgabe
-modifiziert werden. Dabei setzt \Option{ilines} die Ausrichtung so, dass die
-Linien an den inneren Rand verschoben werden. Die Option \Option{clines}
-verhält sich wie die Standardeinstellung und \Option{olines} richtet am
-äußeren Rand aus.
-
-\begin{Example}
- Hier gilt es, das Beispiel zu \DescRef{scrpage-de.cmd.setfootsepline} auf
- \autopageref{page:scrpage-de.autoLineLength} mit dem folgenden zu
- vergleichen, um die Wirkung der Option \Option{ilines} zu sehen.
-\begin{lstcode}
- \usepackage[ilines,footsepline,footbotline]
- {scrpage2}
- \setfootbotline{2pt}
- \setfootsepline[text]{.4pt}
- \setfootwidth[0pt]{textwithmarginpar}
-\end{lstcode}
-% Der folgende Text wurde erg"anzt um den Seitenumbruch zu verbessern,
-% mjk-2001-10-05:
-% \enlargethispage*{2\baselineskip}
- Allein die Verwendung der Option \Option{ilines} führt dabei zu der
- geänderten Ausgabe, die nachfolgend veranschaulicht wird:
-%
-\begin{XmpBotPage}
- \XmpHeading{10,18}{85}
- \thinlines\XmpRule{10,21}{70}
- \thicklines\XmpRule{10,16}{85}
- \XmpSetText[\XmpBotText]{10,36}
- \XmpMarginNote{83,26}
-\end{XmpBotPage}
- Die Trennlinie zwischen Text und Fuß wird bündig innen im Fußteil
- gesetzt und nicht wie bei der Standardeinstellung zentriert.
-\end{Example}
-\EndIndexGroup
-
-
-% \phantomsection für hyperref-\pageref-Link jum-2001/11/24
-\begin{Declaration}
- \Option{automark}%
- \Option{manualmark}
-\end{Declaration}%
-\BeginIndex{}{Kolumnentitel>automatisch}%
-\BeginIndex{}{Kolumnentitel>manuell}%
-Diese Optionen bestimmen gleich zu Beginn des Dokuments, ob eine automatische
-Aktualisierung der Kolumnentitel erfolgt. Die Option \Option{automark}
-schaltet die automatische Aktualisierung ein, \Option{manualmark} deaktiviert
-sie.
-% Das Folgende wurde ergaenzt, weil dazu die haeufigsten Fragen
-% bzw. falschen Bug-Reports im Support kamen.
-% mjk-2001-09-21:
-Ohne Verwendung einer der beiden Optionen bleibt die Einstellung
-erhalten, die beim Laden des Paketes gültig war.
-\begin{Example}
- Sie laden das Paket \Package{scrpage2} unmittelbar nach der Klasse
- \Class{scrreprt} und ohne weitere Optionen. Dazu schreiben Sie:
-\begin{lstcode}
- \documentclass{scrreprt}
- \usepackage{scrpage2}
-\end{lstcode}
- Da bei \Class{scrreprt} der Seitenstil \PageStyle{plain} voreingestellt
- ist, ist dies auch jetzt noch der Fall. Außerdem entspricht die
- Voreinstellung \PageStyle{plain} manuellen Kolumnentiteln. Wenn Sie
- also anschließend mit
-\begin{lstcode}
- \pagestyle{scrheadings}
-\end{lstcode}
- auf den Seitenstil \PageStyle{scrheadings} umschalten, sind noch immer
- manuelle Kolumnentitel eingestellt.
-
- Verwenden Sie stattdessen die Dokumentklasse \Class{scrbook}, so
- ist nach
-\begin{lstcode}
- \documentclass{scrbook}
- \usepackage{scrpage2}
-\end{lstcode}
- der Seitenstil \PageStyle{headings} mit automatischen Kolumnentiteln
- aktiviert. Bei anschließender Umschaltung auf den Seitenstil
- \PageStyle{scrheadings} bleiben automatische Kolumnentitel
- eingeschaltet. Dabei werden dann weiterhin die Markierungsmakros von
- \Class{scrbook} verwendet.
-
- Verwenden Sie hingegen
-\begin{lstcode}
- \usepackage[automark]{scrpage2}
-\end{lstcode}
- so wird unabhängig von der verwendeten Klasse auf automatische
- Kolumnentitel umgeschaltet, wobei die Markierungsmakros von
- \Package{scrpage2} genutzt werden.
- Natürlich wirkt sich dies auf den Seitenstil
- \PageStyle{plain} von \Class{scrreprt} nicht aus. Die Kolumnentitel
- werden erst sichtbar, wenn auf den Seitenstil
- \PageStyle{scrheadings}\IndexPagestyle{scrheadings} oder
- \PageStyle{useheadings} oder einen selbst definierten Seitenstil mit
- Kolumnentiteln umgeschaltet wird.
-\end{Example}
-\EndIndexGroup
-
-
-% Folgende Deklaration und Erklaerung wurde eingefügt von
-% mjk 2001-08-17:
-\begin{Declaration}
- \Option{autooneside}
-\end{Declaration}%
-\BeginIndex{}{Kolumnentitel>automatisch}%
-\BeginIndex{}{Kolumnentitel>manuell}%
-Mit dieser Option wird das optionale Argument von
-\DescRef{scrpage-de.cmd.automark}\IndexCmd{automark}\Index{Kolumnentitel>automatisch} im
-einseitigen Satz automatisch ignoriert. Siehe hierzu auch die Erläuterung
-zum Befehl \DescRef{scrpage-de.cmd.automark} in \autoref{sec:scrpage-de.basics.mark},
-\DescPageRef{scrpage-de.cmd.automark}.%
-%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{komastyle}%
- \Option{standardstyle}
-\end{Declaration}%
-Diese Optionen bestimmen, wie die beiden vordefinierten Seitenstile
-\PageStyle{scrheadings} und \PageStyle{scrplain} gestaltet sind.
-Bei \Option{komastyle} wird eine Definition vorgenommen, wie
-sie den \KOMAScript{}-Klassen entspricht.
-Bei den \KOMAScript{}-Klassen ist dies die Voreinstellung und
-kann somit auch für andere Klassen gesetzt werden.
-
-Die Option \Option{standardstyle} definiert die beiden Seitenstile
-wie es von den Standardklassen erwartet wird.
-Außerdem wird hier automatisch \DescRef{scrpage-de.option.markuppercase} aktiviert,
-es sei denn, \DescRef{scrpage-de.option.markusedcase} wird ebenfalls als Option übergeben.%
-\EndIndexGroup
-
-
-\begin{Declaration}
- \Option{markuppercase}%
- \Option{markusedcase}
-\end{Declaration}%
-Für die Funktionalität von \DescRef{scrpage-de.cmd.automark} modifiziert
-\Package{scrpage2} interne Befehle, die die Gliederungsbefehle
-benutzen, um die lebenden Kolumnentitel zu setzen.
-Da einige Klassen, im Gegensatz
-zu den \KOMAScript{}-Klassen, die Kolumnentitel in Großbuchstaben
-schreiben, muss \Package{scrpage2} wissen, wie die genutzte
-Dokumentklasse die lebenden Kolumnentitel darstellt.
-
-Die Option \Option{markuppercase} zeigt \Package{scrpage2}, dass die benutzte
-Klasse die Großschreibweise benutzt. Die Option \Option{markusedcase} sollte
-angegeben werden, wenn die benutzte Dokumentklasse keine Großschreibweise
-verwendet. Die\textnote{Achtung!} Optionen sind nicht geeignet, eine
-entsprechende Darstellung zu erzwingen. Es kann somit zu unerwünschten
-Effekten kommen, wenn die Angabe nicht dem Verhalten der Dokumentklasse
-entspricht.%
-\EndIndexGroup
-
-
-% Die folgende Deklaration und Erklaerung wurde eingefuegt von
-% mjk 2001-08-18
-\begin{Declaration}
- \Option{nouppercase}
-\end{Declaration}%
-Wie in obiger Erklärung zu \DescRef{scrpage-de.option.markuppercase} und \DescRef{scrpage-de.option.markusedcase}
-bereits ausgeführt wurde, gibt es Klassen und auch Pakete, die beim Setzen der
-lebenden Kolumnentitel\Index{Kolumnentitel>automatisch} mit Hilfe einer der
-Anweisungen \Macro{uppercase}\IndexCmd{uppercase}\important{\Macro{uppercase}}
-oder
-\Macro{MakeUppercase}\IndexCmd{MakeUppercase}\important{\Macro{MakeUppercase}}
-den gesamten Eintrag in Großbuchstaben wandeln. Mit der Option
-\Option{nouppercase} können diese beiden Anweisungen im Kopf und im Fuß außer
-Kraft gesetzt werden. Das gilt aber nur für Seitenstile, die mit Hilfe von
-\Package{scrpage2} definiert werden. Dazu zählen auch \PageStyle{scrheadings}
-und der zugehörige plain-Seitenstil.
-
-Die verwendete Methode ist äußerst brutal und kann dazu führen, dass
-auch erwünschte Änderungen von Klein- in
-Großbuchstaben\Index{Grossbuchstaben=Großbuchstaben} unterbleiben. Da
-diese Fälle nicht sehr häufig sind, stellt \Option{nouppercase} aber
-meist eine brauchbare Lösung dar.
-\begin{Example}
- Sie verwenden die Standardklasse \Class{book}\IndexClass{book},
- wollen aber, dass die lebenden Kolumnentitel nicht in
- Großbuchstaben, sondern in normaler gemischter Schreibweise gesetzt
- werden. Die Präambel Ihres Dokuments könnte dann wie folgt beginnen:
-\begin{lstcode}
- \documentclass{book}
- \usepackage[nouppercase]{scrpage2}
- \pagestyle{scrheadings}
-\end{lstcode}
- Die Umschaltung auf den Seitenstil \PageStyle{scrheadings} ist
- notwendig, weil sonst der Seitenstil \PageStyle{headings} verwendet
- wird, der von der Option \Option{nouppercase} nicht behandelt wird.
-\end{Example}
-
-In einigen Fällen setzen nicht nur Klassen, sondern auch Pakete
-lebende Kolumnentitel in Großbuchstaben. Auch in diesen Fällen hilft
-\Option{nouppercase} meist, um zu gemischter Schreibweise
-zurückzuschalten.%
-%
-\EndIndexGroup
-
-
-\section{Seitenstile selbst gestalten}\label{sec:scrpage-de.UI}
-%
-%
-\subsection{Die Anwenderschnittstelle}\label{sec:scrpage-de.UI.user}
-% \deftripstyle
-
-Nun möchte man ja nicht immer an die vorgegebenen Seitenstile gebunden sein,
-sondern auch seiner Kreativität freien Lauf lassen.
-Manchmal ist man auch dazu gezwungen, weil eine bestimmte
-\emph{Corporate Identity} einer Firma es verlangt.
-Der einfachste Weg damit umzugehen ist
-\begin{Declaration}
- \Macro{deftripstyle}\Parameter{Name}%
- \OParameter{LA}\OParameter{LI}%
- \Parameter{KI}\Parameter{KM}\Parameter{KA}%
- \Parameter{FI}\Parameter{FM}\Parameter{FA}
-\end{Declaration}%
-Die einzelnen Felder haben folgende Bedeutung:
-\begin{labeling}[~--]{\PName{Name}}
-\item[\PName{Name}] die Bezeichnung des Seitenstils, die dann bei der
- Aktivierung mit \Macro{pagestyle}\Parameter{Name} oder
- \Macro{thispagestyle}\Parameter{Name} verwendet wird
-\item[\PName{LA}] die Dicke der äußeren Linien, d.\,h. der Linien über der
- Kopfzeile und unter der Fußzeile (optional)
-\item[\PName{LI}] die Dicke der inneren Linie, d.\,h. der Linien die Kopf und
- Fuß vom Textkörper trennen (optional)
-\item[\PName{KI}] Inhalt des Feldes im Kopf innenseitig oder bei einseitigem
- Layout links
-\item[\PName{KM}] Inhalt des Feldes im Kopf zentriert
-\item[\PName{KA}] Inhalt des Feldes im Kopf außenseitig oder bei einseitigem
- Layout rechts
-\item[\PName{FI}] Inhalt des Feldes im Fuß innenseitig oder bei einseitigem
- Layout links
-\item[\PName{FM}] Inhalt des Feldes im Fuß zentriert
-\item[\PName{FA}] Inhalt des Feldes im Fuß außenseitig oder bei einseitigem
- Layout rechts
-\end{labeling}
-
-Der Befehl \Macro{deftripstyle} stellt sicherlich die einfachste
-Möglichkeit dar, Seitenstile zu definieren.
-Leider sind damit auch Einschränkungen verbunden,
-da in einem Seitenbereich mit einem durch \Macro{deftripstyle} deklarierten
-Seitenstil keine Änderung der Kopf- und Fußlinien erfolgen kann.
-
-\begin{Example}
- Vorgegeben sei ein doppelseitiges Layout, bei dem die Kolumnentitel innen
- erscheinen sollen. Weiterhin soll der Dokumenttitel, in diesem Fall kurz
- \glqq Bericht\grqq, an den Außenrand in den Kopf, die Seitenzahl soll
- zentriert in den Fuß.
-\begin{lstcode}
- \deftripstyle{DerBericht}%
- {\headmark}{}{Bericht}%
- {}{\pagemark}{}
-\end{lstcode}
-
- Sollen weiterhin die Linien über dem Kopf und unter dem Fuß
- mit 2\,pt erscheinen und der ganze Textkörper mit dünnen Linien
- von 0,4\,pt von Kopf und Fuß abgesetzt werden, dann erweitert
- man vorherige Definition.
-\begin{lstcode}
- \deftripstyle{DerBericht}[2pt][.4pt]%
- {\headmark}{}{Bericht}%
- {}{\pagemark}{}
-\end{lstcode}
- Das Ergebnis ist in \autoref{fig:scrpage-de2.tomuchlines} zu sehen.
-%
-\begin{figure}
- \typeout{^^J--- Ignore underfull and overfull \string\hbox:}%
- \setcapindent{0pt}%
- \begin{captionbeside}
- [{%
- Beispiel eines selbst definierten, von Linien dominierten Seitenstils%
- }]{%
- Beispiel für einen selbst definierten, von Linien dominierten Seitenstil
- mit einem statischen und einem lebenden Kolumnentitel im Kopf und der
- Seitenzahl in der Mitte des Fußes.%
- \label{fig:scrpage-de2.tomuchlines}%
- }
- [l]
- \iffree{\setlength{\unitlength}{1.15mm}}{\setlength{\unitlength}{1mm}}%
- \begin{picture}(85,51)\scriptsize
- \thinlines
- \put(0,0){\line(0,1){51}}
- \put(45,0){\line(0,1){51}}
- \put(0,51){\line(1,0){40}}
- \put(45,51){\line(1,0){40}}
- %
- \thicklines
- \put(40,0){\line(0,1){51}}
- \put(85,0){\line(0,1){51}}
- \put(0,0){\line(1,0){40}}
- \put(45,0){\line(1,0){40}}
- %
- \XmpHeading[Bericht\hfill 2 Das Auge]{6,47}{30}
- \XmpHeading[2.1 Netzhaut\hfill Bericht]{49,47}{30}
- \XmpHeading[\hfill 14\hfill]{6,6.5}{30}
- \XmpHeading[\hfill 15\hfill]{49,6.5}{30}
- \put(6,44){\makebox(0,0)[tl]{\parbox{30\unitlength}{\tiny%
- \textbf{2.1 Netzhaut}\\
- \XmpText[49]}}}
- \put(49,44){\makebox(0,0)[tl]{\parbox{30\unitlength}{\tiny%
- \XmpText[51]}}}
- %
- \thinlines
- \XmpRule{6,45.5}{30}\XmpRule{49,45.5}{30}
- \XmpRule{6,8}{30}\XmpRule{49,8}{30}
- \linethickness{1pt}
- \XmpRule{6,49}{30}\XmpRule{49,49}{30}
- \XmpRule{6,5}{30}\XmpRule{49,5}{30}
- \end{picture}
- \end{captionbeside}
- \typeout{^^J--- Don't ignore underfull and overfull \string\hbox:^^J}%
-\end{figure}
-\end{Example}
-\EndIndexGroup
-
-
-\subsection{Die Expertenschnittstelle}\label{sec:scrpage-de.UI.expert}
-% \defpagestyle \newpagestyle \providepagestyle \renewpagestyle
-Einfache Seitenstile, wie sie mit \DescRef{scrpage-de.cmd.deftripstyle} deklariert
-werden können, sind erfahrungsgemäß selten.
-Entweder verlangt ein Professor, dass die Diplomarbeit so aussieht
-wie seine eigene -- und wer will ihm da \emph{ernsthaft} widersprechen --
-oder eine Firma möchte, dass die halbe Finanzbuchhaltung im
-Seitenfuß auf"|taucht. Alles kein Problem, denn es gibt noch:
-\begin{Declaration}
- \Macro{defpagestyle}\Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}%
- \Macro{newpagestyle}\Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}%
- \Macro{renewpagestyle}\Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}%
- \Macro{providepagestyle}\Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}
-\end{Declaration}%
-Dies sind die Befehle, die die volle Kontrolle über die Gestaltung
-eines Seitenstils ermöglichen. Der Aufbau ist bei allen vier
-Definitionen gleich, sie unterscheiden sich nur hinsichtlich
-der Wirkungsweise.
-\begin{labeling}[\ --]{\Macro{providepagestyle}}
-\item[\Macro{defpagestyle}] definiert einen neuen Seitenstil. Existiert
- bereits einer mit diesem Namen, wird dieser überschrieben.
-\item[\Macro{newpagestyle}] definiert einen neuen Seitenstil. Wenn schon einer
- mit diesem Namen existiert, wird ein Fehler ausgegeben.
-\item[\Macro{renewpagestyle}] definiert einen bestehenden Seitenstil um. Wenn
- noch keiner mit diesem Namen existiert, wird ein Fehler ausgegeben.
-\item[\Macro{providepagestyle}] definiert einen neuen Seitenstil nur dann,
- wenn dieser vorher noch nicht existiert.
-\end{labeling}
-
-Am Beispiel von \Macro{defpagestyle} soll die Syntax der Definitionen
-im Folgenden erläutert werden.
-\begin{labeling}[~--]{\PName{Kopfdefinition}\,}
-\item[\PName{Name}] die Bezeichnung des Seitenstils
-\item[\PName{Kopfdefinition}] die Deklaration des Seitenkopfes bestehend aus
- fünf Teilen, wobei die in runden Klammern stehenden Angaben optional
- sind:\hfill\\
- \hspace*{1em}\AParameter{OLL,OLD}%
- \Parameter{GS}\Parameter{US}\Parameter{ES}\AParameter{ULL,ULD}
-\item[\PName{Fußdefinition}] die Deklaration des Seitenfußes bestehend aus
- fünf Teilen, wobei die in runden Klammern stehenden Angaben optional
- sind:\hfill\\
- \hspace*{1em}\AParameter{OLL,OLD}%
- \Parameter{GS}\Parameter{US}\Parameter{ES}\AParameter{ULL,ULD}
-\end{labeling}
-
-Wie zu sehen ist, haben Kopf- und Fußdefinition identischen Aufbau. Die
-einzelnen Parameter haben folgende Bedeutung:
-\begin{labeling}[\ --]{\PName{OLD}}
-\item[\PName{OLL}] obere Linienlänge: Kopf = außen, Fuß = Trennlinie
-\item[\PName{OLD}] obere Liniendicke
-\item[\PName{GS}] Definition für die \emph{gerade} Seite
-\item[\PName{US}] Definition für die \emph{ungerade} Seite
-\item[\PName{ES}] Definition für \emph{einseitiges} Layout
-\item[\PName{ULL}] untere Linienlänge Kopf = Trennlinie, Fuß = außen
-\item[\PName{ULD}] untere Liniendicke
-\end{labeling}
-
-Werden die optionalen Linienargumente nicht gesetzt, dann bleibt das Verhalten
-weiterhin durch die in \autoref{sec:scrpage-de.basics.format},
-\DescPageRef{scrpage-de.cmd.setheadtopline} vorgestellten Linienbefehle
-konfigurierbar.
-
-Die drei Felder \PName{GS}, \PName{US} und \PName{ES} entsprechen Boxen, die
-die Breite des Kopf- bzw. Fußteils haben.
-Die entsprechenden Definitionen erscheinen in diesen Boxen linksbündig.
-Um somit etwas links- \emph{und} rechtsseitig in den Boxen zu platzieren,
-kann der Zwischenraum mit \Macro{hfill} gestreckt werden:
-%
-\begin{lstcode}[belowskip=\dp\strutbox]
- {\headmark\hfill\pagemark}
-\end{lstcode}
-
-Um zusätzlich etwas zentriert erscheinen zu lassen, ist eine erweiterte
-Definition notwendig.
-Die Befehle \Macro{rlap} und \Macro{llap} setzen die übergebenen Argumente.
-Für \LaTeX{} erscheint es aber so, dass diese Texte eine Breite von Null
-haben. Nur so erscheint der mittlere Text auch wirklich zentriert.
-%
-\begin{lstcode}
- {\rlap{\headmark}\hfill zentriert\hfill\llap{\pagemark}}
-\end{lstcode}
-
-\iffalse% Umbruchkorrekturtext
-Dies und die Verwendung der Expertenschnittstelle in Zusammenhang mit
-anderen Befehlen von \Package{scrpage2} nun als abschließendes Beispiel.
-\fi
-
-\begin{Example}
- Angenommen es wird die Dokumentklasse \Class{scrbook} genutzt. Damit
- liegt ein zweiseitiges Layout vor. Für das Paket \Package{scrpage2} wird
- festgelegt, dass mit automatisch aktualisierten Kolumnentiteln gearbeitet
- wird und dass im Seitenstil \PageStyle{scrheadings} eine Trennlinie zwischen
- Kopf und Text gezogen wird.
-
-\begin{lstcode}
- \documentclass{scrbook}
- \usepackage[automark,headsepline]{scrpage2}
-\end{lstcode}
-
- Mit Hilfe der Expertenschnittstelle werden zwei Seitenstile definiert. Der
- erste legt keine Linienargumente fest, im zweiten wird die Linie über dem
- Kopf mit einer Dicke von 1\,pt und die Linie unter dem Kopf mit 0\,pt
- festgelegt.
-
-\begin{lstcode}
- \defpagestyle{ohneLinien}{%
- {Beispiel\hfill\headmark}
- {\headmark\hfill ohne Linien}
- {\rlap{Beispiel}\hfill\headmark\hfill%
- \llap{ohne Linien}}
- }{%
- {\pagemark\hfill}
- {\hfill\pagemark}
- {\hfill\pagemark\hfill}
- }
- \defpagestyle{mitLinien}{%
- (\textwidth,1pt)
- {mit Linien\hfill\headmark}
- {\headmark\hfill mit Linien}
- {\rlap{\KOMAScript}\hfill \headmark\hfill%
- \llap{mit Linien}}
- (0pt,0pt)
- }{%
- (\textwidth,.4pt)
- {\pagemark\hfill}
- {\hfill\pagemark}
- {\hfill\pagemark\hfill}
- (\textwidth,1pt)
- }
-\end{lstcode}
-
- Gleich zu Beginn wird der Seitenstil \PageStyle{scrheadings} aktiviert. Mit
- \Macro{chapter} wird ein neues Kapitel begonnen. Weiterhin wird automatisch
- durch \Macro{chapter} der Seitenstil für diese Seite auf \PageStyle{plain}
- gesetzt. Das folgende \DescRef{scrpage-de.cmd.chead} zeigt, wie durch Modifikation des
- plain-Stils ein Kolumnentitel erzeugt werden kann. Grundsätzlich sollte
- jedoch davon Abstand genommen werden, da sonst der Markierungscharakter der
- plain-Seite verloren geht. Es ist wichtiger anzuzeigen, dass hier ein neues
- Kapitel beginnt, als dass ein Abschnitt dieser Seite einen bestimmten Titel
- trägt.
-
-\begin{lstcode}
- \begin{document}
- \pagestyle{scrheadings}
- \chapter{Thermodynamik}
- \chead[\leftmark]{}
- \section{Hauptsätze}
- Jedes System besitzt eine extensive Zustandsgröße
- Energie. Sie ist in einem abgeschlossenen System
- konstant.
-\end{lstcode}%
- \begin{XmpTopPage}
- \XmpHeading[\hfill\textsl{1 Thermodynamik}\hfill]{10,27}{70}
- \put(10,17){\normalsize\textbf{\sffamily 1 Thermodynamik}}
- \put(10,12){\textbf{\sffamily 1.1 Hauptsätze}}
- \XmpSetText[%
- Jedes System besitzt eine extensive Zustands\char\defaulthyphenchar
- \linebreak]{10,9}
- \end{XmpTopPage}
-
- Nach dem Seitenwechsel ist der Seitenstil \PageStyle{scrheadings}
- aktiv, und somit auch die Trennlinie aus den Paketoptionen sichtbar.
-\begin{lstcode}
- Es existiert eine Zustandsgröße, genannt die
- Entropie eines Systems, deren zeitliche Änderung
- sich aus Entropieströmung und Entropieerzeugung
- zusammensetzt.
-\end{lstcode}
- \begin{XmpTopPage}
- \XmpHeading[\textsl{1 Thermodynamik}\hfill]{20,27}{70}
- \thinlines\XmpRule{20,25}{70}
- \XmpSetText[%
- Es existiert eine Zustandsgröße, genannt die En"-tropie
- eines Systems, deren zeitliche Änderung sich aus
- Entropieströmung und Entropie\char\defaulthyphenchar\kern-1pt
- \linebreak]{20,21}
- \end{XmpTopPage}
-
- Wiederum nach einem Seitenwechsel wird auf manuelle Kolumnentitel gewechselt
- und der Seitenstil \PValue{ohneLinien} aktiviert. Da keine Linienargumente
- bei der Definition dieses Stils genutzt wurden, wird die
- Standard-Linien\-konfiguration verwendet. Diese zeichnet hier eine Linie
- zwischen Kopf und Text, da \DescRef{scrpage-de.option.headsepline} als Argument für
- \Package{scrpage2} angegeben wurde.%
-\begin{lstcode}
- \manualmark
- \pagestyle{ohneLinien}
- \section{Exergie und Anergie}
- \markright{Energieumwandlung}
- Man bezeichnet die bei der Einstellung des
- Gleichgewichts mit der Umgebung maximal gewinnbare
- Arbeit als Exergie.
-\end{lstcode}%
- \begin{XmpTopPage}
- \XmpHeading[\slshape Energieumwandlung\hfill ohne Linien]{10,27}{70}
- \thinlines\XmpRule{10,25}{70}
- \XmpSetText[{%
- \textbf{\sffamily 1.2 Exergie und Anergie}\\[2pt]
- Man bezeichnet die bei der Einstellung des
- Gleichgewichts mit der Umgebung maximal\linebreak}]{10,21}
- \end{XmpTopPage}
-
- Nach dem Wechsel auf die folgende linke Seite wird der Seitenstil
- \PValue{mitLinien} aktiviert. Die Linieneinstellungen werden hier nun
- angewendet und entsprechend der Definition dargestellt.
-\begin{lstcode}
- \pagestyle{mitLinien}
- \renewcommand{\headfont}{\itshape\bfseries}
- Den nicht in Exergie umwandelbaren Anteil einer
- Energie nennt man Anergie \Var{B}.
- \[ B = U + T (S_1 - S_u) - p (V_1 - V_u)\]
- \end{document}
-\end{lstcode}
- \begin{XmpTopPage}
- \XmpHeading[\itshape\bfseries mit Linien\hfill 1 Thermodynamik]{20,27}{70}
- \thicklines\XmpRule{20,29}{70}
- \XmpSetText[%
- Den nicht in Exergie umwandelbaren Anteil einer
- Energie nennt man Anergie $B$.
- \vspace{-.5ex}\[ B = U + T (S_1 - S_u) - p (V_1 - V_u)\] ]{20,21}
- \end{XmpTopPage}
-\end{Example}
-\EndIndexGroup
-
-
-\subsection{Seitenstile verwalten}\label{sec:scrpage-de.UI.cfgFile}
-% scrpage.cfg
-\BeginIndex{File}{scrpage.cfg}
-Bei längerer Arbeit mit verschiedenen Seitenstilen wird sich, je nach
-Geschmack und Aufgabenstellung, ein fester Satz an benutzten Stilen
-etablieren.
-Um nicht bei jedem neuen Projekt eine große Kopieraktion von den Daten
-eines Projekts zum neuen Projekt starten zu müssen, liest \Package{scrpage2}
-am Ende seiner Initialisierungsphase die Datei \File{scrpage.cfg} ein.
-In dieser Datei können dann Seitenstile definiert sein, die viele
-Projekte gemeinsam nutzen können.
-\EndIndex{File}{scrpage.cfg}
-%
-\EndIndexGroup
-
-\end{document}
-
-%%% Local Variables:
-%%% mode: latex
-%%% coding: utf-8
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/source/latex/koma-script/scrextend.dtx b/Master/texmf-dist/source/latex/koma-script/scrextend.dtx
index 009e922244a..63718bf10e1 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrextend.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrextend.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{75}
+% \CheckSum{74}
% \iffalse meta-comment
% ======================================================================
% scrextend.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrextend.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrextend.dtx 3262 2019-10-10 08:25:29Z kohm $
+%%% From File: $Id: scrextend.dtx 3453 2020-02-25 07:33:30Z kohm $
%<preidentify>%%% (run: preidentify)
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
@@ -63,7 +63,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $
+ \filedate$Date: 2020-02-25 08:33:30 +0100 (Tue, 25 Feb 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1962 $
\endgroup
@@ -111,15 +111,17 @@
%<*preidentify>
% \fi
%
+% \changes{v3.30}{2020/02/25}{\cs{PackageWarningNoLine} statt
+% \cs{PackageWarning} mit angehängtem \cs{@gobble}}%^^A
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname KOMAClassName\endcsname\relax\else
- \PackageWarning{scrextend}{%
+ \PackageWarningNoLine{scrextend}{%
This package was made to extend other classes but\MessageBreak
KOMA-Script classes by some features of the\MessageBreak
KOMA-Script classes.\MessageBreak
It should never be used with a KOMA-Script class.\MessageBreak
- Loading of the package will be aborted\@gobble%
+ Loading of the package will be aborted%
}%
\expandafter\endinput
\fi
diff --git a/Master/texmf-dist/source/latex/koma-script/scrhack.dtx b/Master/texmf-dist/source/latex/koma-script/scrhack.dtx
index 4a8aedcecf3..5644d18a7ec 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrhack.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrhack.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{1855}
+% \CheckSum{1877}
% \iffalse meta-comment
% ======================================================================
% scrhack.dtx
-% Copyright (c) Markus Kohm, 2008-2019
+% Copyright (c) Markus Kohm, 2008-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -23,7 +23,7 @@
% of TeX would generate the implementation documentation.
% ----------------------------------------------------------------------
% scrhack.dtx
-% Copyright (c) Markus Kohm, 2008-2019
+% Copyright (c) Markus Kohm, 2008-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -62,7 +62,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrhack.dtx 3392 2019-11-19 09:37:46Z kohm $
+%%% From File: $Id: scrhack.dtx 3474 2020-04-08 09:34:56Z kohm $
%<package&identify>%%% using: package,identify
%<package&option>%%% using: package,option
%<package&body>%%% using: package,body
@@ -71,7 +71,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-19 10:37:46 +0100 (Tue, 19 Nov 2019) $
+ \filedate$Date: 2020-04-08 11:34:56 +0200 (Wed, 08 Apr 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1962 $
\endgroup
@@ -861,6 +861,21 @@
}%
}%
}%
+% \end{macrocode}
+% \changes{v3.30}{2020/04/01}{setzen von \cs{@captype} ergänzt}%^^A
+% Ab Version~3.30 wird zusätzlich \cs{lst@makecaption} um das Setzen von
+% \cs{@captype} auf \texttt{lstlisting} ergänzt. Dadurch wird auch die
+% Verwendung von \cs{raggedlstlistingcaption} ermöglicht, falls dieses
+% definiert wird. Die Umdefinierung erfolgt in Form einer Erweiterung der
+% Definition aus \textsf{listings}. Das sollte so lange funktionieren, solange
+% die Anweisung in \textsf{listings} keine Argumente hat.
+% \begin{macrocode}
+ \expandafter\def\expandafter\lst@makecaption\expandafter{%
+ \expandafter\def\expandafter\@captype\expandafter{%
+ \expandafter l\expandafter s\expandafter t\expandafter l%
+ \expandafter i\expandafter s\expandafter t\expandafter i%
+ \expandafter n\expandafter g\expandafter}\lst@makecaption
+ }%
\let\scr@do@hack@listings\relax
}
\scr@ifexpected{\lstlistoflistings}{%
@@ -1016,6 +1031,7 @@
}{%
% \end{macrocode}
% \changes{v3.25}{2019/01/23}{emergency patch added}%^^A
+% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A
% If this also does not work, we try an emergency patch, that could break
% things.
% \begin{macrocode}
@@ -1031,7 +1047,7 @@
release of package `nomencl'.\MessageBreak
Mostly this patch does work too, but it also could\MessageBreak
break `nomencl`. If this happens, please deactivate\MessageBreak
- the `nomencl` hack of `scrhack`
+ the `nomencl` hack of `scrhack`%
}%
}{%
\PackageWarning{scrhack}{%
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx
index f9c193af4f4..e46fa559502 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{4335}
+% \CheckSum{4366}
% \iffalse meta-comment
% ======================================================================
% scrkernel-basics.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-basics.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-basics.dtx 3448 2020-01-17 14:56:41Z kohm $
+%%% From File: $Id: scrkernel-basics.dtx 3465 2020-03-07 10:23:56Z kohm $
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -65,7 +65,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2020-01-17 15:56:41 +0100 (Fri, 17 Jan 2020) $
+ \filedate$Date: 2020-03-07 11:23:56 +0100 (Sat, 07 Mar 2020) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
\filerevision$Revision: 1638 $
\xdef\fileinfo{\filedate\space\filerevision\space}
@@ -244,6 +244,38 @@
% \end{macrocode}
% \end{macro}%^^A \kernel@ifstar
%
+% \selectlanguage{english}
+%
+% \subsection{Improved \LaTeX{} kernel commands}
+% The \LaTeX{} kernel already provides some useful commands, but some can be
+% improved.
+%
+% \begin{macro}{\rloop}
+% \changes{v3.30}{2020/03/07}{new}
+% The \cs{loop} \dots \cs{repeat} of the \LaTeX{} kernel cannot be used inside
+% a \cs{loop} \dots \cs{repeat} without extra code for preserving
+% \cs{iterate}. So here is a re-entrant version that is also long. This
+% version can be used even inside a \cs{loop} \dots \cs{repeat}. However you
+% should not use \cs{loop} \dots \cs{repeat} inside \cs{rloop} \dots
+% \cs{repeat}.
+% \begin{macrocode}
+%<*base>
+\newcommand{\rloop}[1]{}
+\long\def\rloop#1\repeat{%
+ \ifdefined\iterate
+ \edef\iterate{\unexpanded{#1\relax\expandafter\iterate\fi\def\iterate}%
+ {\unexpanded\expandafter{\iterate}}}%
+ \else
+ \def\iterate{#1\relax\expandafter\iterate\fi\let\iterate\relax}%
+ \fi
+ \iterate
+}
+%</base>
+% \end{macrocode}
+% \end{macro}
+% \selectlanguage{ngerman}
+%
+%
% \subsection{Test von Anweisungen}
%
% \begin{macro}{\scr@ifundefinedorrelax}
@@ -2761,10 +2793,12 @@
% \changes{v3.28}{2019/11/18}{entfernt}%^^A
% \begin{macro}{\scr@ifpdftex}
% \changes{v2.95}{2002/08/19}{neu (intern)}%^^A
+% \changes{v3.30}{2020/03/06}{veralteten Befehl \cs{ifnotundefined} durch
+% \cs{Ifnotundefined} ersetzt}%^^A
% If-then-else-Konstrukt, um zu testen, ob pdf\TeX{} verwendet wird.
% \begin{macrocode}
%<*base>
-\newcommand{\scr@ifpdftex}{\ifnotundefined{pdftexversion}}
+\newcommand{\scr@ifpdftex}{\Ifnotundefined{pdftexversion}}
%</base>
% \end{macrocode}
% \end{macro}
@@ -2772,10 +2806,12 @@
%
% \begin{macro}{\scr@ifluatex}
% \changes{v3.21}{2016/05/27}{neu (intern)}%^^A
+% \changes{v3.30}{2020/03/06}{veralteten Befehl \cs{ifnotundefined} durch
+% \cs{Ifnotundefined} ersetzt}%^^A
% If-the-else-Konstrukt, um zu testen, ob lua\TeX{} verwendet wird.
% \begin{macrocode}
%<*base>
-\newcommand{\scr@ifluatex}{\ifnotundefined{luatexversion}}
+\newcommand{\scr@ifluatex}{\Ifnotundefined{luatexversion}}
%</base>
% \end{macrocode}
% \end{macro}
@@ -2800,10 +2836,12 @@
% \begin{macro}{\scr@ifVTeX}
% \changes{v2.95}{2002/08/19}{neu}%^^A
% \changes{v2.97c}{2007/06/20}{umdefiniert von \cs{scr@ifvtex}}
+% \changes{v3.30}{2020/03/06}{veralteten Befehl \cs{ifnotundefined} durch
+% \cs{Ifnotundefined} ersetzt}%^^A
% If-then-else-Konstrukt, um zu testen, ob V\TeX{} verwendet wird.
% \begin{macrocode}
%<*base>
-\newcommand{\scr@ifVTeX}{\ifnotundefined{VTeXversion}}
+\newcommand{\scr@ifVTeX}{\Ifnotundefined{VTeXversion}}
%</base>
% \end{macrocode}
% \end{macro}
@@ -2880,19 +2918,21 @@
% \begin{macro}{\scr@ifpsoutput}
% \changes{v2.95}{2002/08/21}{neu (intern)}%^^A
% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert}%^^A
+% \changes{v3.30}{2020/03/06}{veralteten Befehl \cs{ifnotundefined} durch
+% \cs{Ifnotundefined} ersetzt}%^^A
% If-then-else-Konstrukt, um abhängig davon, ob früher oder später
% \texttt{ps} ausgegeben wird oder nicht, Befehle auszuführen.
% \begin{macrocode}
%<*base>
\newcommand*{\scr@ifpsoutput}{%
- \ifnotundefined{if@dvips}{%
+ \Ifnotundefined{if@dvips}{%
\if@dvips
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
}{%
- \ifnotundefined{OpMode}{%
+ \Ifnotundefined{OpMode}{%
\ifnum\OpMode=2
\expandafter\@firstoftwo
\else
@@ -4105,8 +4145,9 @@
% \begin{macro}{\FamilyUnknownKeyValue}
% \changes{v3.10}{2011/09/12}{no error while processing global options}%^^A
% \changes{v3.11a}{2012/05/28}{prevent remove from list of unused global
-% options globally}%^^A
+% options globally}%^^A
% \changes{v3.14}{2014/10/17}{\cs{long}}%^^A
+% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A
% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an einen
% Schlüssel. Das erste Argument ist die Familie, das zweite der Schlüssel,
% das dritte der Wert und das vierte die Liste der möglichen Werte.
@@ -4120,7 +4161,7 @@
Setting this command to a non empty\MessageBreak
value for option `#2' of\MessageBreak
family `#1' is deprecated,\MessageBreak
- but has been found
+ but has been found%
}%
\fi
}
@@ -5108,6 +5149,8 @@
% \begin{macro}{\ForDoHook}
% \changes{v3.27}{2019/02/05}{New}%^^A
% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
+% \changes{v3.30}{2020/03/07}{\cs{loop}\dots\cs{repeat} inside group}%^^A
+% \changes{v3.30}{2020/03/07}{using \cs{rloop} instead of \cs{loop}}%^^A
% Arguments:
% \begin{description}
% \item[\meta{specificator}:]
@@ -5129,18 +5172,20 @@
but do-hook specificators must not be empty.%
}%
}{%
- \let\scr@hookname\relax
- \edef\scr@hookargument{#1}%
- \loop
- \scr@hooksplit@specificator\scr@hookname\scr@hookargument
- \scr@hookargument
- \begingroup\edef\reserved@a{%
- \unexpanded{\endgroup #2}{\scr@hookname}{\scr@hookargument}%
- }\reserved@a
- \ifx\scr@hookargument\@empty\else
- \repeat
- \let\scr@hookname\relax
- \let\scr@hookargument\relax
+ \begingroup
+ \def\scr@hookrun{\endgroup}%
+ \let\scr@hookname\relax
+ \edef\scr@hookargument{#1}%
+ \rloop
+ \scr@hooksplit@specificator\scr@hookname\scr@hookargument
+ \scr@hookargument
+ \edef\scr@hookrun{%
+ \unexpanded\expandafter{\scr@hookrun}%
+ \unexpanded{#2}{\scr@hookname}{\scr@hookargument}%
+ }%
+ \ifx\scr@hookargument\@empty\else
+ \repeat
+ \scr@hookrun
}%
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx
index 3037d123abe..d85f22aca9c 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{222}
+% \CheckSum{223}
% \iffalse meta-comment
% ======================================================================
% scrkernel-compatibility.dtx
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-compatibility.dtx 3446 2020-01-06 16:31:11Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 3451 2020-02-24 16:22:41Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<option>%%% (run: option)
@@ -65,7 +65,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2020-01-06 17:31:11 +0100 (Mon, 06 Jan 2020) $
+ \filedate$Date: 2020-02-24 17:22:41 +0100 (Mon, 24 Feb 2020) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
\filerevision$Revision: 1638 $
\edef\reserved@a{%
@@ -428,6 +428,8 @@
% \changes{v3.28}{2019/11/20}{Neues Macro}
% \begin{macro}{\scr@v@3.29}
% \changes{v3.29}{2020/01/06}{Neues Macro}
+% \begin{macro}{\scr@v@3.30}
+% \changes{v3.30}{2020/02/24}{Neues Macro}
% \begin{macro}{\scr@v@last}
% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A
% Nun die unterschiedlichen möglichen Werte (|\scr@v@last| ist jeweils die
@@ -506,6 +508,7 @@
\@namedef{scr@v@3.27a}{17}
\@namedef{scr@v@3.28}{17}
\@namedef{scr@v@3.29}{17}
+\@namedef{scr@v@3.30}{17}
\@namedef{scr@v@last}{17}
% \end{macrocode}
% \end{macro}
@@ -568,6 +571,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx
index 2a02e45de08..3738ca9b50c 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{2229}
+% \CheckSum{2247}
% \iffalse meta-comment
% ======================================================================
% scrkernel-language.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-language.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-language.dtx 3265 2019-10-13 17:58:25Z kohm $
+%%% From File: $Id: scrkernel-language.dtx 3480 2020-04-13 09:39:03Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -63,9 +63,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-10-13 19:58:25 +0200 (Sun, 13 Oct 2019) $
+ \filedate$Date: 2020-04-13 11:39:03 +0200 (Mon, 13 Apr 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3265 $
+ \filerevision$Revision: 3480 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-language.dtx}
@@ -563,6 +563,15 @@
% \begin{macrocode}
\expandafter\providecommand\expandafter*%
\csname abx@extras@\scr@reserved@a\endcsname{}%
+% \end{macrocode}
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% Unfortunately some users use \cs{renewcommand} to change a name even if the
+% language has not been loaded and the command has not been defined. This
+% would result in an error message. So a this point we let \cs{renewcommand}
+% be \cs{providecommand}, because we know that currently the command is
+% \cs{relax}.
+% \begin{macrocode}
+ \let\renewcommand\providecommand
\csname extras\scr@reserved@a\endcsname
\csname captions\scr@reserved@a\endcsname
\ifx #2\relax \aftergroup\@firstofone
@@ -642,8 +651,14 @@
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \selectlanguage{ngerman}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% Unfortunately some users use \cs{renewcommand} to change a name even if the
+% language has not been loaded and the command has not been defined. This
+% would result in an error message. So a this point we let \cs{renewcommand}
+% be \cs{providecommand}, because we know that currently the command is
+% \cs{relax}.
% \begin{macrocode}
+ \let\renewcommand\providecommand
\expandafter\providecommand\expandafter*%
\csname abx@extras@\scr@reserved@a\endcsname{}%
\csname captions\scr@reserved@a\endcsname
@@ -682,6 +697,7 @@
% \end{macrocode}
% \end{macro}%^^A \scr@provide@captionname
% \end{macro}%^^A \providecaptionname
+% \selectlanguage{ngerman}
%
% \begin{macro}{\newcaptionname}
% \changes{v2.8q}{2001/11/08}{neu}%^^A
@@ -748,8 +764,14 @@
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \selectlanguage{ngerman}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% Unfortunately some users use \cs{renewcommand} to change a name even if the
+% language has not been loaded and the command has not been defined. This
+% would result in an error message. So a this point we let \cs{renewcommand}
+% be \cs{providecommand}, because we know that currently the command is
+% \cs{relax}.
% \begin{macrocode}
+ \let\renewcommand\providecommand
\expandafter\providecommand\expandafter*%
\csname abx@extras@\scr@reserved@a\endcsname{}%
\csname captions\scr@reserved@a\endcsname
@@ -783,6 +805,7 @@
}
% \end{macrocode}
% \end{macro}%^^A \scr@new@scaptionname
+% \selectlanguage{ngerman}%^^A
% \begin{macro}{\scr@new@captionname}
% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
@@ -824,8 +847,14 @@
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \selectlanguage{ngerman}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% Unfortunately some users use \cs{renewcommand} to change a name even if the
+% language has not been loaded and the command has not been defined. This
+% would result in an error message. So a this point we let \cs{renewcommand}
+% be \cs{providecommand}, because we know that currently the command is
+% \cs{relax}.
% \begin{macrocode}
+ \let\renewcommand\providecommand
\expandafter\providecommand\expandafter*%
\csname abx@extras@\scr@reserved@a\endcsname{}%
\csname captions\scr@reserved@a\endcsname
@@ -860,6 +889,7 @@
% \end{macrocode}
% \end{macro}%^^A \scr@new@captionname
% \end{macro}%^^A \newcaptionname
+% \selectlanguage{ngerman}%^^A
%
% \begin{macro}{\renewcaptionname}
% \changes{v2.8q}{2001/11/08}{neu}%^^A
@@ -929,8 +959,14 @@
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \selectlanguage{ngerman}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% Unfortunately some users use \cs{renewcommand} to change a name even if the
+% language has not been loaded and the command has not been defined. This
+% would result in an error message. So a this point we let \cs{renewcommand}
+% be \cs{providecommand}, because we know that currently the command is
+% \cs{relax}.
% \begin{macrocode}
+ \let\renewcommand\providecommand
\expandafter\providecommand\expandafter*%
\csname abx@extras@\scr@reserved@a\endcsname{}%
\csname captions\scr@reserved@a\endcsname
@@ -963,6 +999,7 @@
}
% \end{macrocode}
% \end{macro}%^^A \scr@renew@scaptionname
+% \selectlanguage{ngerman}%^^A
% \begin{macro}{\scr@renew@captionname}
% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
@@ -1006,8 +1043,14 @@
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \selectlanguage{ngerman}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% Unfortunately some users use \cs{renewcommand} to change a name even if the
+% language has not been loaded and the command has not been defined. This
+% would result in an error message. So a this point we let \cs{renewcommand}
+% be \cs{providecommand}, because we know that currently the command is
+% \cs{relax}.
% \begin{macrocode}
+ \let\renewcommand\providecommand
\expandafter\providecommand\expandafter*%
\csname abx@extras@\scr@reserved@a\endcsname{}%
\csname extras\scr@reserved@a\endcsname
@@ -1049,6 +1092,7 @@
% \end{macrocode}
% \end{macro}%^^A \scr@renew@captionname
% \end{macro}%^^A \renewcaptionname
+% \selectlanguage{ngerman}%^^A
%
% \iffalse
%</package&base>
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx
index 82608724172..1759c2990d6 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-letterclassoptions.dtx
-% Copyright (c) Markus Kohm, 2006-2019
+% Copyright (c) Markus Kohm, 2006-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-letterclassoptions.dtx
-% Copyright (c) Markus Kohm, 2006-2019
+% Copyright (c) Markus Kohm, 2006-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-letterclassoptions.dtx 3404 2019-11-24 21:50:05Z kohm $
+%%% From File: $Id: scrkernel-letterclassoptions.dtx 3453 2020-02-25 07:33:30Z kohm $
%<option>%%% (run: option)
%<head>%%% (run: head)
%<body>%%% (run: body)
@@ -64,9 +64,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-24 22:50:05 +0100 (Sun, 24 Nov 2019) $
+ \filedate$Date: 2020-02-25 08:33:30 +0100 (Tue, 25 Feb 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3404 $
+ \filerevision$Revision: 3453 $
\endgroup
\ProvidesFile{scrkernel-letterclassoptions.dtx}
[\filedate\space \filerevision\space
@@ -895,6 +895,8 @@
%
% Und für \texttt{DIN5008} braucht es dann noch einige zusätzliche
% Einstellungen:
+% \changes{v3.30}{2020/02/25}{unerwünschtes Leerzeichen am Ende der Warnungen
+% beseitigt}%^^A
% \begin{macrocode}
%</!5008>
%<*5008>
@@ -926,7 +928,7 @@
\space\string\areaset[5mm]{%
\the\dimexpr \paperwidth-45mm\relax}{%
\the\dimexpr 1.414\dimexpr \paperwidth-45mm\relax\relax}\MessageBreak
- to follow the norm
+ to follow the norm%
}%
\fi
\ifdim \dimexpr\parskip\relax=\dimexpr\baselineskip\relax\else
@@ -939,7 +941,7 @@
document does not conform DIN5008.\MessageBreak
You shoud use, e.g.,\MessageBreak
\space\string\KOMAoption{parskip}{full}\MessageBreak
- to follow the norm
+ to follow the norm%
}%
\fi
\endgroup
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx
index 4c2b069b2de..b7ff8d719ee 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-listsof.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-listsof.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-listsof.dtx 3390 2019-11-18 17:09:35Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 3477 2020-04-11 07:26:26Z kohm $
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -64,9 +64,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $
+ \filedate$Date: 2020-04-11 09:26:26 +0200 (Sat, 11 Apr 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3390 $
+ \filerevision$Revision: 3477 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-listsof.dtx}%
@@ -299,7 +299,7 @@
%
% \selectlanguage{english}%^^A
% \changes{v3.27}{2019/05/11}{init code moved from \texttt{tocbasic.dtx}}%^^A
-% \changes{v1.00}{auto-activation of feature \texttt{onecolumn}}
+% \changes{v1.0a}{2008/11/13}{auto-activation of feature \texttt{onecolumn}}
% Set feature \texttt{onecolumn} for every ToC file.
% \begin{macrocode}
%<*prepare&(book|report)>
@@ -508,7 +508,8 @@
% \textsf{scrbook}}%^^A
% \changes{v3.00}{2008/07/04}{Verwendung von \cs{toc@heading} ist nicht
% länger empfohlen}%^^A
-% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%
+% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A
+% \changes{v3.30}{2020/02/24}{Leerzeichen am Ende der Warnung entfernt}%^^A
% Befehl, zum Setzen der Überschrift des Inhaltsverzeichnisses. Eigentlich
% ist das überflüssig, weil es nur einmal verwendet wird. Aus Gründen der
% Konsistenz mit den anderen Verzeichnissen machen wir das hier aber
@@ -521,7 +522,7 @@
You should use the features of package `tocbasic'\MessageBreak
instead of \string\toc@heading.\MessageBreak
Definition of \string\toc@heading\space may be removed from\MessageBreak
- KOMA-Script soon, so it should not be used
+ KOMA-Script soon, so it should not be used%
}%
%<article> \section*{\contentsname}%
%<book|report> \chapter*{\contentsname}%
@@ -1016,6 +1017,8 @@
% \changes{v3.01}{2008/11/13}{Neu (intern)}%^^A
% \changes{v3.12}{2013/09/25}{Text geändert}%^^A
% \changes{v3.12a}{2014/03/05}{Text korrigiert}%^^A
+% \changes{v3.30}{2020/02/25}{spurious space at end of warning message
+% removed}%^^A
% Die Warnung für die Verwendung von \cs{float@listhead}, dessen Definition
% irgendwann aus den Klassen verschwinden wird.
% \begin{macrocode}
@@ -1031,7 +1034,7 @@
Loading of package `scrhack' may help to\MessageBreak
avoid this warning, if you are using a\MessageBreak
a package that still implements the\MessageBreak
- deprecated \string\float@listhead\space interface
+ deprecated \string\float@listhead\space interface%
}%
}
% \end{macrocode}
@@ -1040,6 +1043,7 @@
% \changes{v3.01}{2008/11/13}{Neu (intern)}%^^A
% \changes{v3.12}{2013/09/25}{Text geändert}%^^A
% \changes{v3.12a}{2014/03/05}{Text korrigiert}%^^A
+% \changes{v3.30}{2020/02/24}{Leerzeichen am Ende der Warnung entfernt}%^^A
% Die Warnung für die Verwendung von \cs{float@addtolists}, dessen
% Unterstützung irgendwann aus den Klassen verschwinden wird.
% \begin{macrocode}
@@ -1057,7 +1061,7 @@
Loading of package `scrhack' may help to\MessageBreak
avoid this warning, if you are using a\MessageBreak
a package that still implements the\MessageBreak
- deprecated \string\float@addtolist\space interface
+ deprecated \string\float@addtolist\space interface%
}%
\global\let\scr@float@addtolists@warning\relax
}
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
index 8c5a97f27a2..28d651f63d7 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-miscellaneous.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-miscellaneous.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-miscellaneous.dtx 3400 2019-11-21 10:36:26Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 3453 2020-02-25 07:33:30Z kohm $
%<init>%%% (run: init)
%<option>%%% (run: option)
%<execoption>%%% (run: execoption)
@@ -65,9 +65,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-21 11:36:26 +0100 (Thu, 21 Nov 2019) $
+ \filedate$Date: 2020-02-25 08:33:30 +0100 (Tue, 25 Feb 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3400 $
+ \filerevision$Revision: 3453 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-miscellaneous.dtx}%
@@ -1080,8 +1080,8 @@
\ifx\@sect\@tempa
% \end{macrocode}
% Note: There are several bugs in this definition (e.g. missing
-% \cs{expandafter} and orphan spaced). Nevertheless its the original one from
-% \textsf{minitoc} 61 and so I have to use it.
+% \cs{expandafter} and spurious spaced). Nevertheless its the original one
+% from \textsf{minitoc} 61 and so I have to use it.
% \begin{macrocode}
\def\@tempa#1#2#3#4#5#6[#7]#8{
\expandafter
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx
index 3fed0574dfc..651bc7d50b1 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2019
+% Copyright (c) Markus Kohm, 2006-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -19,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2019
+% Copyright (c) Markus Kohm, 2006-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -54,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-notepaper.dtx 3390 2019-11-18 17:09:35Z kohm $
+%%% From File: $Id: scrkernel-notepaper.dtx 3472 2020-03-27 11:01:45Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -62,7 +62,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $
+ \filedate$Date: 2020-03-27 12:01:45 +0100 (Fri, 27 Mar 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1767 $
\edef\reserved@a{%
@@ -2206,6 +2206,8 @@
% \changes{v3.27}{2019/03/22}{new (internal)}%^^A
% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
% ersetzt}%^^A
+% \changes{v3.30}{2020/03/27}{Umdefinierung des Zeilenumbruchs
+% verschoben}%^^A
% The field with the recipience address. This should be used only on the first
% page of a letter.
% \begin{macrocode}
@@ -2215,9 +2217,13 @@
\color@begingroup
\if@baddr
\Ifkomavarempty{backaddress}{}{%
- \def\\{\usekomavar{backaddressseparator}\@ogobble}%
- \backaddr@format{\scriptsize\usekomafont{backaddress}%
- \usekomavar{backaddress}}%
+ \backaddr@format{\scriptsize
+ {%
+ \def\\{\usekomavar{backaddressseparator}\@ogobble}%
+ \usekomafont{backaddress}%
+ {\usekomavar{backaddress}}%
+ }%
+ }%
}%
\fi
\color@endgroup
@@ -3346,6 +3352,8 @@
% \changes{v3.27}{2019/03/27}{only at \textsf{scrlttr2}}%^^A
% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
% ersetzt}%^^A
+% \changes{v3.30}{2020/03/27}{Umdefinierung des Zeilenumbruchs
+% verschoben}%^^A
% Dasselbe gilt auch für das Adressfeld für Fensterumschläge. Die
% Rücksendeadresse und die Briefart werden dabei mit eigenen
% Formatieranweisungen gesetzt.
@@ -3391,9 +3399,12 @@
\if@baddr
\Ifkomavarempty{backaddress}{}{{%
\noindent%
- \def\\{\usekomavar{backaddressseparator}\@ogobble}%
- \backaddr@format{\scriptsize\usekomafont{backaddress}%
- \usekomavar{backaddress}}}}%
+ \backaddr@format{\scriptsize
+ {%
+ \def\\{\usekomavar{backaddressseparator}\@ogobble}%
+ \usekomafont{backaddress}%
+ {\usekomavar{backaddress}}%
+ }}}}%
\fi
}{backaddress}{backaddrheight}{\setkomavar}%
\ifcase \ltr@priority
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx
index 154a4539272..3fdf99854c0 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{4850}
+% \CheckSum{4900}
% \iffalse meta-comment
% ======================================================================
% scrkernel-sections.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-sections.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-sections.dtx 3400 2019-11-21 10:36:26Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 3476 2020-04-08 14:42:59Z kohm $
% The runs of run-time file generation:
%<preidentify>%%% (run: preidentify)
% - everything that is needed before selfidentification of resulting files
@@ -78,9 +78,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-21 11:36:26 +0100 (Thu, 21 Nov 2019) $
+ \filedate$Date: 2020-04-08 16:42:59 +0200 (Wed, 08 Apr 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3400 $
+ \filerevision$Revision: 3476 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-sections.dtx}%
@@ -981,6 +981,8 @@
% \changes{v3.19}{2015/07/17}{Verwendung von \cs{sectionlinesformat} und
% \cs{sectioncatchphraseformat}}%^^A
% \changes{v3.27}{2019/07/08}{neue Option \texttt{nonumber}}%^^A
+% \changes{v3.30}{2020/02/25}{unerwünschtes Leerzeichen am Ende der Warnung
+% entfernt}%^^A
% \begin{macro}{\scr@latex@sect}
% \changes{v3.27}{2019/07/24}{Neu (intern für \textsf{scrhack})}%^^A
% Damit auch alle mit \cs{@startsection} definierten Gliederungsebenen
@@ -1029,7 +1031,7 @@
Please send information about this to\MessageBreak
the KOMA-Script maintainer!\MessageBreak
Maybe LaTeX will be broken by the redefinition\MessageBreak
- of \string\@sect\space}%
+ of \string\@sect}%
\fi
% \end{macrocode}
% \end{macro}%^^A \scr@latex@sect
@@ -1307,6 +1309,8 @@
% der Erweiterung für die Formatieurng der Überschrift}%^^A
% \begin{macro}{\scr@latex@ssect}
% \changes{v3.27}{2019/07/24}{Neu (intern für \textsf{scrhack})}%^^A
+% \changes{v3.30}{2020/02/25}{unerwünschtes Leerzeichen am Ende der Warnung
+% entfernt}%^^A
% Das wird für Überschriften ohne Nummer verwendet. Im Prinzip machen wir hier
% dasselbe wie zuvor.
% \begin{macrocode}
@@ -1330,7 +1334,7 @@
Please send information about this to\MessageBreak
the KOMA-Script maintainer!\MessageBreak
Maybe LaTeX will be broken by the redefinition\MessageBreak
- of \string\@ssect\space}%
+ of \string\@ssect}%
\fi
% \end{macrocode}
% \end{macro}%^^A \scr@latex@ssect
@@ -1402,6 +1406,8 @@
% \end{macro}%^^A \@ssect
% \begin{macro}{\@xsect}
% \changes{v3.26}{2018/09/18}{wird umdefiniert}%^^A
+% \changes{v3.30}{2020/02/25}{unerwünschtes Leerzeichen am Ende der Warnung
+% entfernt}%^^A
% \begin{macro}{\scr@latex@xsect}
% \changes{v3.27}{2019/07/24}{Neu (intern für \textsf{scrhack})}%^^A
% Wir brauchen zum Einen in \cs{@xsect} einen Fallunterscheidung nach
@@ -1441,7 +1447,7 @@
Please send information about this to\MessageBreak
the KOMA-Script maintainer!\MessageBreak
Maybe LaTeX will be broken by the redefinition\MessageBreak
- of \string\@xsect\space}%
+ of \string\@xsect}%
\fi
% \end{macrocode}
% \end{macro}%^^A \scr@latex@xsect
@@ -1899,6 +1905,17 @@
}
%</book|report>
% \end{macrocode}
+% \begin{macro}{\scr@dsc@style@chapter@subcommands}
+% \selectlanguage{english}%^^A
+% \changes{v3.30}{2020/04/08}{new (internal)}
+% Internal name list of additional commands to be defined for style
+% \texttt{part} commands.
+% \begin{macrocode}
+\newcommand*{\scr@dsc@style@chapter@subcommands}[1]{%
+ @#1,@s#1,@make#1head,@makes#1head,@@make#1head,@@makes#1head,set#1preamble%
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@dsc@style@chapter@subcommands
% \end{macro}%^^A \scr@dsc@def@style@chapter@command
%
% \begin{macro}{\scr@dsc@style@part@options}
@@ -1972,7 +1989,7 @@
\DeclareSectionCommandStyleFontOption{part}{prefixfont}{}{prefix}
% \end{macrocode}
% \end{macro}%^^A \scr@dsc@style@part@options
-% \begin{macro}{\scr@dsc@def@style@part@command}
+% \begin{macro}{\scr@dsc@def@style@part@ommand}
% \changes{v3.18}{2015/05/23}{neue Anweisung (intern)}
% Diese Anweisung legt fest, wie ein Gliederungsbefehl für den Stil
% \texttt{part} zu definieren ist. Das einzige Argument ist dabei der
@@ -1987,6 +2004,17 @@
%<book|report> \@namedef{set#1preamble}{\set@preamble{#1}}%
}
% \end{macrocode}
+% \begin{macro}{\scr@dsc@style@part@subcommands}
+% \selectlanguage{english}%^^A
+% \changes{v3.30}{2020/04/08}{new (internal)}
+% Internal name list of additional commands to be defined for style
+% \texttt{part} commands.
+% \begin{macrocode}
+\newcommand*{\scr@dsc@style@part@subcommands}[1]{%
+ @#1,@s#1,@end#1,set#1preamble%
+}
+% \end{macrocode}
+% \end{macro}%^^A \scr@dsc@style@part@subcommands
% \end{macro}%^^A \scr@dsc@def@style@part@command
%
% \begin{macro}{\scr@dsc@style@section@neededoptionstest}
@@ -2783,6 +2811,7 @@
% \changes{v3.25}{2018/03/10}{zusätzliche Tests und Fehlermeldungen bei
% \cs{the\dots}, \cs{\dots mark}, \cs{\dots format},
% \cs{\dots markformat}}%^^A
+% \changes{v3.30}{2020/04/08}{unerwünschte Leerzeichen eliminiert}%^^A
% Basierend auf |\DeclareSectionCommand| wird eine Gliederungsanweisung
% definiert, die zuvor noch nicht existierte. Wichtig zu bemerken ist, dass
% die ganzen Hilfsanweisungen bereits existieren dürfen.
@@ -2795,8 +2824,46 @@
\expandafter\scr@ifundefinedorrelax\expandafter{\reserved@a}{}{%
\@tempswafalse
\edef\reserved@b{\expandafter\string\csname \reserved@a\endcsname}%
- }
- }
+ }%
+ }%
+ \if@tempswa
+% \end{macrocode}
+% \changes{v3.30}{2020/04/08}{erweiterte Neuheitsprüfung}%^^A
+% Es wird der Stil benötigt, um zu ermitteln, ob die Unterbefehle für diesen
+% Stil möglicherweise bereits definiert sind.
+% \begin{macrocode}
+ \expandafter\let\expandafter\scr@dsc@current
+ \csname scr@tso@##2@style\endcsname
+ \DefineFamilyKey[.dsc]{KOMAarg}{style}{%
+ \edef\scr@dsc@current{##1}%
+ \FamilyKeyStateProcessed
+ }%
+ \DefineFamilyKey[.dsc]{KOMAarg}{@else@}{\FamilyKeyStateProcessed}%
+ \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}%
+ \RelaxFamilyKey[.dsc]{KOMAarg}{@else@}%
+ \RelaxFamilyKey[.dsc]{KOMAarg}{style}%
+ \@tempswatrue
+% \end{macrocode}
+% Wenn der Stil definiert ist und Unterbefehle kennt, diese ebenfalls testen.
+% \begin{macrocode}
+ \@ifundefined{scr@dsc@current}{}{%
+ \scr@ifundefinedorrelax{scr@dsc@style@\scr@dsc@current @subcommands}{%
+ }{%
+ \edef\reserved@b{%
+ \csname scr@dsc@style@\scr@dsc@current @subcommands\endcsname{#2}%
+ }%
+ \expandafter\@for\expandafter\reserved@a\expandafter:\expandafter=%
+ \reserved@b\do{%
+ \expandafter\scr@ifundefinedorrelax\expandafter{\reserved@a}{}{%
+ \@tempswafalse
+ \edef\reserved@b{%
+ \expandafter\string\csname \reserved@a\endcsname}%
+ }%
+ }%
+ }
+ }%
+ \let\scr@dsc@current\relax
+ \fi
\if@tempswa
\DeclareSectionCommand[{#1}]{#2}%
\else
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx
index d49b9ba6406..3c6f846094f 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx
@@ -1,8 +1,8 @@
-%\CheckSum{2882}
+% \CheckSum{2945}
% \iffalse meta-comment
% ======================================================================
% scrkernel-typearea.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-typearea.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse meta-comment
-%%% From File: $Id: scrkernel-typearea.dtx 3390 2019-11-18 17:09:35Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 3470 2020-03-24 12:12:02Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -66,9 +66,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $
+ \filedate$Date: 2020-03-24 13:12:02 +0100 (Tue, 24 Mar 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3390 $
+ \filerevision$Revision: 3470 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-typearea.dtx}[%
@@ -1413,37 +1413,39 @@
% \begin{macrocode}
%<*class&body&!letter>
\if@scr@emulatestandardclasses
- \ifnum\@lastdiv=\z@
- \setlength{\textwidth}{\dimexpr \paperwidth-2in\relax}
- \ifdim \f@size\p@<10.5\p@
- \setlength{\@tempdimb}{345\p@}
- \else\ifdim \f@size\p@<11.5\p@
- \setlength{\@tempdimb}{360\p@}
- \else
- \setlength{\@tempdimb}{390\p@}
- \fi
- \fi
- \if@twocolumn
- \ifdim\@textwidth>2\@tempdimb\relax
- \setlength{\textwidth}{2\@tempdimb}
+ \Ifstr{\@lastdiv}{areaset}{}{%
+ \ifnum\@lastdiv=\z@
+ \setlength{\textwidth}{\dimexpr \paperwidth-2in\relax}
+ \ifdim \f@size\p@<10.5\p@
+ \setlength{\@tempdimb}{345\p@}
+ \else\ifdim \f@size\p@<11.5\p@
+ \setlength{\@tempdimb}{360\p@}
+ \else
+ \setlength{\@tempdimb}{390\p@}
+ \fi
\fi
- \else
- \ifdim\textwidth>\@tempdimb
- \setlength{\textwidth}{\@tempdimb}
+ \if@twocolumn
+ \ifdim\@textwidth>2\@tempdimb\relax
+ \setlength{\textwidth}{2\@tempdimb}
+ \fi
+ \else
+ \ifdim\textwidth>\@tempdimb
+ \setlength{\textwidth}{\@tempdimb}
+ \fi
\fi
+ \@settopoint\textwidth
+ \setlength{\@tempdima}{\dimexpr \paperheight-3.5in\relax}
+ \divide\@tempdima\baselineskip
+ \@tempcnta=\@tempdima
+ \setlength{\textheight}{\@tempcnta\baselineskip}
+ \addtolength{\textheight}{\topskip}
+ \edef\reserved@a{%
+ \noexpand\@areasetadvancedtrue
+ \noexpand\areaset[current]{\noexpand\textwidth}{\noexpand\textheight}%
+ \if@areasetadvanced\else\noexpand\@areasetadvancedfalse\fi
+ }\reserved@a
\fi
- \@settopoint\textwidth
- \setlength{\@tempdima}{\dimexpr \paperheight-3.5in\relax}
- \divide\@tempdima\baselineskip
- \@tempcnta=\@tempdima
- \setlength{\textheight}{\@tempcnta\baselineskip}
- \addtolength{\textheight}{\topskip}
- \edef\reserved@a{%
- \noexpand\@areasetadvancedtrue
- \noexpand\areaset[current]{\noexpand\textwidth}{\noexpand\textheight}%
- \if@areasetadvanced\else\noexpand\@areasetadvancedfalse\fi
- }\reserved@a
- \fi
+ }%
\fi
%</class&body&!letter>
% \end{macrocode}
@@ -1701,28 +1703,51 @@
% \end{option}
%
% \begin{option}{DIV}
-% \changes{v2.2a}{1995/01/25}{neue Option}%^^A
+% \changes{v2.2a}{1995/01/25}{new option}%^^A
% \changes{v2.95}{2002/12/04}{new implementation using \textsf{keyval}}%^^A
% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A
% The value is written into the counter \cs{ta@div}. Several symbolic values
% are supported and have to be converted into a counter. Note, while loading
% the package symbolic values are nonsense.
+% \begin{macro}{\@lastdiv}
+% \changes{v3.30}{2020/03/24}{init the internal macro}%^^A
+% This internal macro stores the last value to option \texttt{DIV}. It is
+% initialized with \cs{relax}.
+% \begin{macrocode}
+%<package&typearea&init>\newcommand*{\@lastdiv}{\z@}\let\@lastdiv\relax
+% \end{macrocode}
+% \end{macro}%^^A \@lastdiv
% \begin{macrocode}
%<*package&typearea&options>
+\def\movet@reserved@a@to@nnil#1\@nnil{\def\reserved@a{#1}}%
\KOMA@key{DIV}[calc]{%
\edef\@tempa{#1}%
- \def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv\fi
+ \def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv
+ \ifx\@tempa\relax\def\@tempa{current}\fi
+ \fi
\def\@tempb{current}\ifx\@tempa\@tempb\else
\def\@tempb{default}\ifx\@tempa\@tempb\ta@div=\z@ \else
\def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=\tw@ \else
\def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=\thr@@ \else
- \ta@div=\@tempa
+ \expandafter\def\expandafter\@tempa\expandafter{\expandafter0\@tempa}%
+ \afterassignment\movet@reserved@a@to@nnil
+ \@tempcnta=\@tempa\relax\@nnil
+ \def\@tempb{\relax}\ifx\reserved@a\@tempb
+ \ta@div=\@tempcnta
+ \edef\@tempa{\the\ta@div}%
+ \else
+ \let\@tempa\relax
+ \fi
\fi
\fi
\fi
\fi
- \FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{DIV}{#1}%
+ \ifx\@tempa\relax
+ \FamilyKeyStateUnknownValue
+ \else
+ \FamilyKeyStateProcessed
+ \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{DIV}{\@tempa}%
+ \fi
}
% \end{macrocode}
% After loading the package we have to do a little bit more, because we need
@@ -1836,6 +1861,8 @@
% the margin notes at the outer margin. But if the typing area is to narrow
% for the margin note column, the width of margin note column will be
% reduced. This can be done easily be swapping the two lengths.
+% \changes{v3.30}{2020/02/25}{orphan line break at end of warning message
+% removed}%^^A
% \begin{macrocode}
\if@mincl
\advance\textwidth by-\marginparwidth
@@ -1846,7 +1873,7 @@
marginpar (\the\marginparwidth) while using option\MessageBreak
`mpinclude'.\MessageBreak
Because of this, I'm exchanging the values.\MessageBreak
- You should increase DIV to avoid such problems.\MessageBreak
+ You should increase DIV to avoid such problems%
}%
\@tempskipa=\marginparwidth
\marginparwidth=\textwidth
@@ -2120,8 +2147,10 @@
% \changes{v2.8q}{2001/11/06}{new symbolic value \texttt{last}}%^^A
% \changes{v2.96}{2006/08/21}{warn if \cs{typearea} is used inside a
% group}%^^A
-% \changes{v3.10}{2011/09/13}{using \cs{scr@grouplevel@test}}
+% \changes{v3.10}{2011/09/13}{using \cs{scr@grouplevel@test}}%^^A
% \changes{v3.12}{2013/03/26}{page footer height configurable}%^^A
+% \changes{v3.30}{2020/03/24}{\texttt{current} after \cs{areaset} is
+% \texttt{areaset}}%^^A
%
% The symbolic values of the obligatory argument of \cs{typearea}:
% \begin{center}\begin{tabular}{lll}
@@ -2145,14 +2174,16 @@
\fi
\edef\@tempa{#2}%
\def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv
- \ifx\csname @tempa\endcsname\relax
- \def\@tempa{current}%
- \fi
+ \ifx\@tempa\relax \def\@tempa{current}\fi
\fi
+ \Ifstr{\@tempa}{current}{%
+ \Ifstr{\@lastdiv}{areaset}{\let\@tempa\@lastdiv}{}%
+ }{}%
\def\@tempb{areaset}\ifx\@tempa\@tempb
\areaset[current]{\textwidth}{\textheight}%
\else
- \def\@tempb{current}\ifx\@tempa\@tempb\else
+ \def\@tempb{current}\ifx\@tempa\@tempb
+ \else
\def\@tempb{default}\ifx\@tempa\@tempb\ta@div=\z@ \else
\def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=\tw@ \else
\def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=\thr@@ \else
@@ -3096,6 +3127,8 @@
% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch
% Mustererkennung ersetzt}%^^A
% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
+% \changes{v3.30}{2020/03/24}{avoid error message for unknown \texttt{BCOR}
+% value to \cs{documentclass}}%^^A
% Das Makro \cs{@BCOR} wird später benötigt, um die Option
% \texttt{BCOR\emph{BCOR}} zu erkennen. Die Option wird über ihr
% Muster erkannt.
@@ -3120,7 +3153,10 @@
% \changes{v3.22}{2016/07/29}{missing deprecated option warning added}%^^A
% \changes{v3.28}{2019/11/18}{\cs{ifdimen} renamed to \cs{Ifdimen}}%^^A
% \begin{macrocode}
-%<class> \PassOptionsToPackage{BCOR#2}{typearea}%
+%<*class>
+ \Ifstrstart{#2}{=}{\OptionNotUsed}{%
+ \PassOptionsToPackage{BCOR#2}{typearea}}%
+%</class>
%<*package>
\Ifdimen{#2}{%
\KOMA@UseDeprecatedOption{%
@@ -3145,6 +3181,8 @@
% Mustererkennung ersetzt}%^^A
% \changes{v3.22}{2016/07/29}{missing deprecated option warning added}%^^A
% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}}%^^A
+% \changes{v3.30}{2020/03/24}{avoid error message for unknown \texttt{DIV}
+% value to \cs{documentclass}}%^^A
% Die grundsätzliche Funktion ist die gleiche wie bei \cs{@BCOR},
% \cs{@@BCOR}.
% \begin{macrocode}
@@ -3153,7 +3191,10 @@
\def\@@DIV #1DIV#2DIV#3\@@DIV{%
\edef\@tempa{#1}\ifx\@tempa\@empty
\edef\@tempa{#3}\def\@tempb{DIV}\ifx\@tempa\@tempb
-%<class> \PassOptionsToPackage{DIV#2}{typearea}%
+%<*class>
+ \Ifstrstart{#2}{=}{\OptionNotUsed}{%
+ \PassOptionsToPackage{DIV#2}{typearea}}%
+%</class>
%<*package>
\Ifnumber{#2}{%
\KOMA@UseDeprecatedOption{%
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx
index f7ba6495275..b3aa943e37c 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-version.dtx 3449 2020-01-24 07:28:10Z kohm $
+%%% From File: $Id: scrkernel-version.dtx 3481 2020-04-19 09:52:23Z kohm $
% \fi
%
% \iffalse
@@ -123,7 +123,7 @@
\fi
%</ignorethis>
\fi
- \@CheckKOMAScriptVersion{2020/01/24 v3.29 KOMA-Script}%
+ \@CheckKOMAScriptVersion{2020/04/19 v3.30 KOMA-Script}%
\endgroup
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/koma-script/scrmain.ins b/Master/texmf-dist/source/latex/koma-script/scrmain.ins
index dbd131361e7..e215e83afd4 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrmain.ins
+++ b/Master/texmf-dist/source/latex/koma-script/scrmain.ins
@@ -1,6 +1,6 @@
% ======================================================================
% scrmain.ins
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrmain.ins
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -35,7 +35,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
-% $Id: scrmain.ins 3353 2019-11-04 17:35:20Z kohm $
+% $Id: scrmain.ins 3478 2020-04-11 07:27:27Z kohm $
% ---------- KOMA-Script default docstrip declarations -----------------
@@ -157,7 +157,7 @@
\file{scrreprt.cls}{%
\from{scrkernel-version.dtx}{class,report}%
\from{scrkernel-basics.dtx}{class,load}%
- \from{scrkernel-listsof.dtx}{class,book,prepare}%
+ \from{scrkernel-listsof.dtx}{class,report,prepare}%
\from{scrkernel-tocstyle.dtx}{class,report,prepare}%
\from{scrkernel-sections.dtx}{class,report,prepare}%
\from{scrkernel-compatibility.dtx}{class,report,init}%
@@ -206,7 +206,7 @@
\file{scrartcl.cls}{%
\from{scrkernel-version.dtx}{class,article}%
\from{scrkernel-basics.dtx}{class,load}%
- \from{scrkernel-listsof.dtx}{class,book,prepare}%
+ \from{scrkernel-listsof.dtx}{class,article,prepare}%
\from{scrkernel-tocstyle.dtx}{class,article,prepare}%
\from{scrkernel-sections.dtx}{class,article,prepare}%
\from{scrkernel-compatibility.dtx}{class,article,init}%
@@ -493,7 +493,6 @@
\batchinput{scrtime.dtx}% scrtime.sty, scrdate.sty
\batchinput{scrlfile.dtx}% scrlfile.sty
\batchinput{scraddr.dtx}% scraddr.sty
-\batchinput{scrpage.dtx}% scrpage2.sty
\batchinput{tocbasic.dtx}% tocbasic.sty
\batchinput{scrlayer.dtx}% scrlayer.sty, scrlayer-scrpage.sty ...
\batchinput{scrwfile.dtx}% scrwfile.sty
diff --git a/Master/texmf-dist/source/latex/koma-script/scrpage.dtx b/Master/texmf-dist/source/latex/koma-script/scrpage.dtx
deleted file mode 100644
index 36951ba3901..00000000000
--- a/Master/texmf-dist/source/latex/koma-script/scrpage.dtx
+++ /dev/null
@@ -1,2261 +0,0 @@
-% \CheckSum{2389}
-% \iffalse
-% ======================================================================
-% scrpage.dtx
-% Copyright (c) Markus Kohm, 1995-2019
-%
-% This file is part of the LaTeX2e KOMA-Script bundle.
-%
-% 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 Markus Kohm.
-%
-% This work consists of all files listed in manifest.txt.
-% ----------------------------------------------------------------------
-% scrpage.dtx
-% Copyright (c) Markus Kohm, 1995-2019
-%
-% 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 Markus Kohm.
-%
-% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
-% ======================================================================
-% \fi
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \iffalse
-%%% From File: $Id: scrpage.dtx 3403 2019-11-23 15:38:36Z kohm $
-%<scrpage>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-%<*dtx>
-\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
-\begingroup
- \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-23 16:38:36 +0100 (Sat, 23 Nov 2019) $
- \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 2631 $
- \edef\reserved@a{%
- \noexpand\endgroup
- \noexpand\ProvidesFile{scrpage.dtx}%
- [\filedate\space\filerevision\space
- KOMA-Script package source
- }%
-\reserved@a
-%</dtx>
-%<*dtx|scrpage>
-%<scrpage>\ProvidesPackage{scrpage2}[%
-%!KOMAScriptVersion
-%<scrpage> package
- (page head and foot)]
-%</dtx|scrpage>
-%<*dtx>
-\ifx\documentclass\undefined
- \input scrdocstrip.tex
- \@@input scrkernel-version.dtx
- \@@input scrstrip.inc
- \KOMAdefVariable{COPYRIGHFROM}{1995}
- \generate{\usepreamble\defaultpreamble
- \file{scrpage2.sty}{%
- \from{scrpage.dtx}{scrpage}%
- \from{scrlogo.dtx}{logo}%
- }%
- }
- \@@input scrstrop.inc
-\else
- \let\endbatchfile\relax
-\fi
-\endbatchfile
-\documentclass{scrdoc}
-\usepackage[ngerman,english]{babel}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrpage.dtx}
-\title{\KOMAScript{} \partname\ \texttt{\filename}\thanks{This file has
- revision number \fileversion, last revised \filedate.}}
-\date{\filedate}
-\author{Markus Kohm}
-\begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
-\end{document}
-%</dtx>
-% \fi
-%
-% \section{Page Layout Package}
-%
-% This is the \KOMAScript{} package \textsf{scrpage2}. You may find the user
-% documentation of this package in the English \KOMAScript{} guide,
-% \texttt{scrguien.pdf}, and in the German \KOMAScript{} guide,
-% \texttt{scrguide.pdf}.
-%
-% \StopEventually{\PrintIndex\PrintChanges}
-%
-% \section{Implementation}
-%
-% Currently this package doesn't share any code but the \KOMAScript{} logo
-% with other packages. So all the code of this package but the implementation
-% of the \KOMAScript{} logo is at this file and their is nor more code at this
-% file.
-%
-% \changes{v3.24}{2017/05/08}{warning about obsolete package added}
-% \begin{macrocode}
-%<*scrpage>
-\PackageWarning{scrpage2}{usage of obsolete package!\MessageBreak
- Package `scrpage2' is obsolete.\MessageBreak
- You should not longer use package `scrpage2'.\MessageBreak
- You should replace usage of package `scrpage2'\MessageBreak
- by `scrlayer-scrpage'}
-% \end{macrocode}
-% \changes{v1.1}{1995/06/27}{\cs{hbox to} changed into \cs{hb@xt@}.}
-% \changes{v2.2c}{2007/07/23}{a lot of \% added and removed}
-%
-% \subsection{Options}
-% \begin{option}{headinclude}
-% \changes{v2.3}{2008/12/08}{obsolete}%
-% \begin{option}{headexclude}
-% \changes{v2.3}{2008/12/08}{obsolete}%
-% \begin{option}{footinclude}
-% \changes{v2.3}{2008/12/08}{obsolete}%
-% \begin{option}{footexclude}
-% \changes{v2.3}{2008/12/08}{obsolete}%
-% \texttt{scrpage} has known some options. They are similar to the
-% old \KOMAScript{} classes. To work with and without the \KOMAScript{}
-% classes their definitions are not quite simple.
-% \begin{macrocode}
-\newcommand*{\@Pass@Obsolete@Option@To@Typearea}[1]{%
- \@expandtwoargs\in@{,\CurrentOption,}{,\@curroptions,}%
- \ifin@
- \PackageWarningNoLine{scrpage2}{%
- deprecated passing option `\CurrentOption' to scrpage2.\MessageBreak
- If you are using package typearea or\MessageBreak
- a KOMA-Script class since version 3.00\MessageBreak
- you may use `\string\KOMAoptions{#1}' and\MessageBreak
- remove passing `\CurrentOption' to scrpage2%
- }%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname KOMAoptions\endcsname\relax
- \PassOptionsToPackage{#1}{typearea}%
- \else
- \KOMAoptions{#1}\csname relcalctypearea\endcsname
- \fi
- \fi
-}
-\DeclareOption{headinclude}{%
- \@Pass@Obsolete@Option@To@Typearea{headinclude}%
-}
-\DeclareOption{headexclude}{%
- \@Pass@Obsolete@Option@To@Typearea{headinclude=false}%
-}
-\DeclareOption{footinclude}{%
- \@Pass@Obsolete@Option@To@Typearea{footinclude}%
-}
-\DeclareOption{footexclude}{%
- \@Pass@Obsolete@Option@To@Typearea{footinclude=false}%
-}
-% \end{macrocode}
-% We do so, because we want so set |headinclude|, |footinclude| by
-% default at old version (see below)!
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-% We have additional options designed for the additional interface.
-% \begin{option}{mpinclude}
-% \changes{v2.8q}{2002/03/28}{New option}
-% \begin{option}{mpexclude}
-% \changes{v2.8q}{2002/03/28}{New option}
-% There are documents where the head and foot should span not only the
-% text but also the marginpar. We have an option to do this at
-% initialization. This option corresponds with the option of package
-% \texttt{typearea} and the classes.
-% \begin{macro}{\if@mincl}
-% \begin{macro}{\@mincltrue}
-% \begin{macro}{\@minclfalse}
-% \changes{v2.2g}{2008/11/19}{Test fixed}
-% \begin{macrocode}
-\@ifundefined{@mincltrue}{\newif\if@mincl}{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\DeclareOption{mpinclude}{\@mincltrue}
-\DeclareOption{mpexclude}{\@minclfalse}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-% Other new options redefine macros, so we have to define them first.
-% \begin{macro}{\scr@headabove@linethickness}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scr@headbelow@linethickness}
-% \changes{v2.0}{2001/03/30}{New}
-% \begin{macro}{\scr@footabove@linethickness}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scr@footbelow@linethickness}
-% \changes{v2.0}{2001/04/20}{New}
-% These macros define the thickness of the line above and below the head
-% and the foot.
-% \begin{macrocode}
-\newcommand*{\scr@headabove@linethickness}{0pt}
-\newcommand*{\scr@headbelow@linethickness}{0pt}
-\newcommand*{\scr@footabove@linethickness}{0pt}
-\newcommand*{\scr@footbelow@linethickness}{0pt}
-% \end{macrocode}
-% \begin{macro}{\scr@headabove@linelength}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scr@headbelow@linelength}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scr@footabove@linelength}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scr@footbelow@linelength}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@headabove@linelength}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@headbelow@linelength}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@footabove@linelength}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@footbelow@linelength}
-% \changes{v2.0}{2001/04/20}{New}
-% Because we want to have the ``line definitions'' at one place, we
-% also define the length of the lines here. We have own length at to
-% be used at pagestyle \texttt{scrplain}.
-% \begin{macrocode}
-\newcommand*{\scr@headabove@linelength}{\@headwidth}
-\newcommand*{\scr@headbelow@linelength}{\@headwidth}
-\newcommand*{\scr@footabove@linelength}{\@footwidth}
-\newcommand*{\scr@footbelow@linelength}{\@footwidth}
-\newcommand*{\scrplain@headabove@linelength}{0pt}
-\newcommand*{\scrplain@headbelow@linelength}{0pt}
-\newcommand*{\scrplain@footabove@linelength}{0pt}
-\newcommand*{\scrplain@footbelow@linelength}{0pt}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{option}{headtopline}
-% \changes{v2.0}{2001/04/20}{New option}
-% \begin{option}{headsepline}
-% \changes{v2.0}{2001/04/20}{New option}
-% \begin{option}{footsepline}
-% \changes{v2.0}{2001/04/20}{New option}
-% \begin{option}{footbotline}
-% \changes{v2.0}{2001/04/20}{New option}
-% \begin{option}{plainheadtopline}
-% \changes{v2.0}{2001/04/20}{New option}
-% \begin{option}{plainheadsepline}
-% \changes{v2.0}{2001/04/20}{New option}
-% \begin{option}{plainfootsepline}
-% \changes{v2.0}{2001/04/20}{New option}
-% \begin{option}{plainfootbotline}
-% \changes{v2.0}{2001/04/20}{New option}
-% The thickness can be set by four simple options:
-% \begin{macrocode}
-\DeclareOption{headtopline}{%
- \renewcommand*{\scr@headabove@linethickness}{.4pt}
- \PassOptionsToPackage{headinclude}{typearea}}
-\DeclareOption{headsepline}{%
- \renewcommand*{\scr@headbelow@linethickness}{.4pt}
- \PassOptionsToPackage{headinclude}{typearea}}
-\DeclareOption{footsepline}{%
- \renewcommand*{\scr@footabove@linethickness}{.4pt}
- \PassOptionsToPackage{footinclude}{typearea}}
-\DeclareOption{footbotline}{
- \renewcommand*{\scr@footbelow@linethickness}{.4pt}
- \PassOptionsToPackage{footinclude}{typearea}}
-\DeclareOption{plainheadtopline}{%
- \renewcommand*{\scrplain@headabove@linelength}{\scr@headabove@linelength}
- \PassOptionsToPackage{headinclude}{typearea}}
-\DeclareOption{plainheadsepline}{%
- \renewcommand*{\scrplain@headbelow@linelength}{\scr@headbelow@linelength}
- \PassOptionsToPackage{headinclude}{typearea}}
-\DeclareOption{plainfootsepline}{%
- \renewcommand*{\scrplain@footabove@linelength}{\scr@footabove@linelength}
- \PassOptionsToPackage{footinclude}{typearea}}
-\DeclareOption{plainfootbotline}{
- \renewcommand*{\scrplain@footbelow@linelength}{\scr@footbelow@linelength}
- \PassOptionsToPackage{footinclude}{typearea}}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\hfline@adjust}
-% \changes{v2.0f}{2001/06/23}{New}
-% \begin{option}{ilines}
-% \changes{v2.0f}{2001/06/23}{New}
-% \begin{option}{clines}
-% \changes{v2.0f}{2001/06/23}{New}
-% \begin{option}{olines}
-% \changes{v2.0f}{2001/06/23}{New}
-% At Version 2 lines may be inner adjusted (0), centered (1) or outer
-% adjusted (2):
-% \begin{macrocode}
-\newcommand*{\hfline@adjust}{1}
-\DeclareOption{ilines}{\renewcommand*{\hfline@adjust}{0}}
-\DeclareOption{clines}{\renewcommand*{\hfline@adjust}{1}}
-\DeclareOption{olines}{\renewcommand*{\hfline@adjust}{2}}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-% \end{macro}
-%
-% \begin{option}{automark}
-% \changes{v2.0b}{2001/05/31}{use \cs{AtEndOfPackage} to run not yet
-% defined macro}
-% \begin{option}{manualmark}
-% \changes{v2.0b}{2001/05/31}{use \cs{AtEndOfPackage} to run not yet
-% defined macro}
-% \changes{v2.0i}{2001/08/17}{don't ignore oneside any longer}
-% At version 2 we want to distinguish between running headline and
-% static headline not only using different pagestyles. We do this with
-% options and commands. But here only the options are defined.
-% \begin{macrocode}
-\DeclareOption{automark}{%
- \AtEndOfPackage{\if@twoside%
- \if@chapter\automark[section]{chapter}%
- \else\automark[subsection]{section}\fi%
- \else%
- \if@chapter\automark{chapter}\else\automark{section}\fi%
- \fi}}
-\DeclareOption{manualmark}{\AtEndOfPackage{\manualmark}}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-% \begin{option}{autoonesize}
-% \changes{v2.0i}{2001/08/17}{New}
-% \begin{macro}{\if@autooneside}
-% \changes{v2.0i}{2001/08/17}{New}
-% If the optional argument of \cs{automark} should be irgnored at
-% onside mode, use this option:
-% \begin{macrocode}
-\newif\if@autooneside\@autoonesidefalse
-\DeclareOption{autooneside}{\@autoonesidetrue}
-% \end{macrocode}
-% \end{macro}
-% \end{option}
-%
-% \begin{option}{markuppercase}
-% \changes{v2.0c}{2001/06/07}{New}
-% \begin{option}{markusedcase}
-% \changes{v2.0c}{2001/06/07}{New}
-% For use of running headlines there are also options to say ``class
-% uses upper case at the automatic marks'' or ``class use same case at
-% the automatic marks like used writing the heading''.
-% \begin{macrocode}
-\DeclareOption{markuppercase}{\let\MakeMarkcase\MakeUppercase}
-\DeclareOption{markusedcase}{\let\MakeMarkcase\@empty}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-% \begin{macro}{\scr@nouppercase}
-% \changes{v2.0j}{2001/08/18}{New}
-% \begin{option}{nouppercase}
-% \changes{v2.0j}{2001/08/18}{New}
-% Sometimes scrpage may be used with a class, which uses
-% \cs{uppercase} or \cs{MakeUppercase} at \cs{markboth} or
-% \cs{markright}. But the author does not want upper case at the
-% headlines. So we define an option, that simply deaktivates
-% \cs{uppercase} and \cs{MakeUppercase} at all heads and foots,
-% defined by scrpage2.
-% \begin{macrocode}
-\newcommand*{\scr@nouppercase}{}
-\DeclareOption{nouppercase}{\renewcommand*{\scr@nouppercase}{%
- \let\uppercase\relax\let\MakeUppercase\relax
- \expandafter\let\csname MakeUppercase \endcsname\relax}
- \ifx\MakeMarkcase\MakeUppercase
- \PackageWarning{scrpage2}{%
- Option 'markuppercase' will be ignored.\MessageBreak%
- You shouldn't use option 'markuppercase' together\MessageBreak%
- with option 'nouppercase'}
- \let\MakeMarkcase\@empty
- \fi}
-% \end{macrocode}
-% \end{option}
-% \end{macro}
-%
-% \begin{option}{komastyle}
-% \begin{option}{standardstyle}
-% At version 2 there is an predefined pagestyle ``scrheadings''. With
-% the two options you may decide, wether it has to behave like
-% ``headings'' at the standard classes or the KOMA-Script classes.
-% The macro saves the name of the style.
-% \begin{macrocode}
-\DeclareOption{komastyle}{\def\scrheadings@style{koma}
- \@ifundefined{MakeMarkcase}{\let\MakeMarkcase\relax}{}}
-\DeclareOption{standardstyle}{\def\scrheadings@style{standard}
- \@ifundefined{MakeMarkcase}{\let\MakeMarkcase\MakeUppercase}{}}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-%
-% We don't need default options.
-% \begin{macrocode}
-\ExecuteOptions{}
-% \end{macrocode}
-% But you may set other Options:
-% \begin{macrocode}
-\ProcessOptions\relax
-% \end{macrocode}
-%
-%
-% \subsection{Some Initialisation}
-%
-% For easier handling of the differences between article-, report- and
-% book-classes we define some more switches.
-%
-% \begin{macro}{\if@chapter}
-% \changes{v2.1b}{2003/05/31}{more save test}
-% First distinguish between article and others.
-% \begin{macrocode}
-\newif\if@chapter
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname chapter\endcsname\relax
- \@chapterfalse
-\else
- \@chaptertrue
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\if@mainmatter}
-% \changes{v1.2}{1995/07/08}{Definition changed}
-% \changes{v2.1b}{2003/05/31}{more save test}
-% \changes{v2.2d}{2007/03/13}{additional \cs{if@mainmatter} test}
-% \changes{v2.2g}{2008/11/19}{usage of \cs{if@mainmatter} at message
-% removed}
-% Next distinguish between matter- and nomatter-classes.
-% \begin{macrocode}
-\def\@tempa{\newif\if@mainmatter\@mainmattertrue}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname mainmatter\endcsname\relax
-\else
- \@ifundefined{@mainmattertrue}{%
- \PackageWarningNoLine{scrpage2}{%
- \string\mainmatter\space defined without
- \expandafter\string\csname if@mainmatter\endcsname!\MessageBreak
- This switch is obligatory for scrpage2 to omit\MessageBreak
- running head chapter numbers in front and\MessageBreak
- back matter and will be defined now%
- }%
- }{%
- \let\@tempa\relax
- }%
-\fi
-\@tempa
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Predefinitions}
-% There are some commands, you can use at pagestyle-definition.
-%
-% \begin{macro}{\headmark}
-% This macro is |\rightmark| or |\leftmark|. But outside
-% pagestyle-definition it's nothing.
-% \begin{macrocode}
-\let\headmark\relax
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pagemark}
-% This macro is the number of the page at the pagenumberfont:
-% \begin{macrocode}
-\DeclareRobustCommand\pagemark{{\pnumfont\thepage}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Expert-Pagestyle-Definition-Interface}
-% The pagestyle-definition-interface for experts is not as easy as the
-% simple interface we'll define later. But it's more flexible. We'll
-% later use it to define the pagestyle-definition-interface for users.
-%
-% \begin{macro}{\if@automark}
-% \changes{v2.1}{2002/10/30}{New switch}
-% \begin{macro}{\@automarktrue}
-% \begin{macro}{\@automarkfalse}
-% We need this switch to decide to switch on or off \cs{@mkboth} at the
-% pagestyles.
-% \begin{macrocode}
-\newif\if@automark\@automarkfalse
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\defpagestyle}
-% First we define the simple definition-interface. There's no test, if
-% the pagestyle's defined twice.
-%
-% First there has to be the definition of head and foot.
-% \begin{macrocode}
-\def\defpagestyle{%
-% \end{macrocode}
-% We have to decide, whether it is a my-version or not:
-% \begin{macrocode}
- \@ifstar
- {\@defpagestyle[-]}%
- {\@defpagestyle[+]}}
-% \end{macrocode}
-% \begin{macro}{\@defpagestyle}
-% Now the we can define the head and the foot.
-% \changes{v1.0b}{1995/05/25}{Dot deleted after number at
-% chapter- and sectionmark}
-% \changes{v1.0b}{1995/05/25}{Use CJK at \cs{chaptermark},
-% \cs{sectionmark} and \cs{subsectionmark}}
-% \changes{v1.3e}{2008/02/29}{usage of \cs{if@mainmatter} fixed}
-% \changes{v2.0}{2001/04/20}{Version 2 uses \cs{automark} and
-% \cs{manualmark}, so star and non-star version are same}
-% \changes{v2.1a}{2002/10/30}{Use \cs{if@automark}}
-% \changes{v2.2d}{2007/06/14}{Support of article-classes with
-% \cs{if@mainmatter}}
-% \changes{v2.5}{2010/04/22}{moved \cs{if@twoside} inside of definition}
-% Before version 2.5 we have distinguished one- and two-side definitions while
-% loading the package and have had all the definitions of \cs{@mkboth},
-% \cs{chaptermark}, \cs{sectionmark}, and \cs{subsectionmark} at the
-% definition of the page style.
-% Since version~2.5 the difference of one- and two-side is made at the
-% definition of the heads and foots themself and \cs{chaptermark},
-% \cs{sectionmark}, and \cs{subsectionmark} are defined by \cs{automark} and
-% \cs{manualmark}. So the code is much easier.
-% \begin{macrocode}
-\def\@defpagestyle[#1]#2#3#4{%
- \expandafter\def\csname ps@#2\endcsname{%
- \if@automark\let\@mkboth\markboth\else\let\@mkboth\@gobbletwo\fi
- \def@head#3
- \def@foot#4
- }%
-}
-% \end{macrocode}
-%
-% \begin{macro}{\def@head}
-% \changes{v2.5}{2010/04/22}{new (internal)}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\def@@head}
-% \changes{v2.0}{2001/04/20}{Thickness and length of the lines are
-% optional}
-% \changes{v2.0j}{2001/08/18}{Use of \cs{scr@nouppercase}}
-% \changes{v2.5}{2010/04/22}{new (internal)}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% This was real simple, but we already have to do the real definition
-% of the heads and foots. First the head:
-% \begin{macrocode}
-\def\def@head{%
- \kernel@ifnextchar(%)
- {\def@@head}%
- {\def@@head(\scr@headabove@linelength,%
- \scr@headabove@linethickness)}}
-\def\def@@head(#1,#2)#3#4#5{%
- \kernel@ifnextchar(%)
- {\def@@@head({#1},{#2}){#3}{#4}{#5}}%
- {\def@@@head({#1},{#2}){#3}{#4}{#5}%
- (\scr@headbelow@linelength,%
- \scr@headbelow@linethickness)}}
-\def\def@@@head(#1,#2)#3#4#5(#6,#7){%
- \def\@evenhead{%
- \if@twoside
- \let\headmark\leftmark%
- \hss\hskip\@evenheadshift\vbox{\hsize=\@headwidth\relax%
- \hf@rule{#1}{#2}{\@headwidth}{headabove}%
- \vskip#2
- \vskip\baselineskip
- \hb@xt@\@headwidth{{%
- \scr@nouppercase
- \headfont\strut #3}}%
- \hf@rule{#6}{#7}{\@headwidth}{headbelow}%
- }\hskip\@oddheadshift\hss
- \fi
- }%
- \def\@oddhead{\let\headmark\rightmark
- \hss\hskip\@oddheadshift\vbox{\hsize=\@headwidth\relax
- \hf@rule{#1}{#2}{\@headwidth}{headabove}%
- \vskip#2%
- \vskip\baselineskip
- \hb@xt@\@headwidth{{%
- \scr@nouppercase
- \headfont\strut \if@twoside #4\else #5\fi}}%
- \hf@rule{#6}{#7}{\@headwidth}{headbelow}%
- }\hskip\@evenheadshift\hss}%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\def@foot}
-% \changes{v2.0}{2001/04/20}{Thickness and length of the lines are
-% optional}
-% \changes{v1.3}{2001/03/30}{Use of \cmd\@footwidth instead of
-% \cs{textwidth}}
-% \changes{v2.5}{2010/04/22}{new (internal)}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\def@@foot}
-% \changes{v2.5}{2010/04/22}{new (internal)}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\def@@@foot}
-% \changes{v2.0j}{2001/08/18}{Use of \cs{scr@nouppercase}}
-% \changes{v2.2f}{2008/02/14}{Use of \cs{footfont}}
-% \changes{v2.5}{2010/04/22}{new (internal)}
-% And last twosided and onesided foot:
-% \begin{macrocode}
-\def\def@foot{%
- \kernel@ifnextchar(%)
- {\def@@foot}
- {\def@@foot(\scr@footabove@linelength,%
- \scr@footabove@linethickness)}}
-\def\def@@foot(#1,#2)#3#4#5{%
- \kernel@ifnextchar(%)
- {\def@@@foot({#1},{#2}){#3}{#4}{#5}}%
- {\def@@@foot({#1},{#2}){#3}{#4}{#5}%
- (\scr@footbelow@linelength,%
- \scr@footbelow@linethickness)}}
-\def\def@@@foot(#1,#2)#3#4#5(#6,#7){%
- \def\@evenfoot{%
- \if@twoside
- \let\headmark\leftmark
- \hss\hskip\@evenfootshift\vbox{\hsize=\@footwidth\relax
- \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{%
- \scr@nouppercase
- \headfont\footfont\strut #3}}%
- \botfoot@rule{#6}{#7}}\hskip\@oddfootshift\hss
- \fi
- }%
- \def\@oddfoot{\let\headmark\rightmark
- \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax
- \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{%
- \scr@nouppercase
- \headfont\footfont\strut \if@twoside #4\else #5\fi}}%
- \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% We now define the rules used at head and foot.
-% \begin{macro}{\topfoot@rule}
-% \begin{macrocode}
-\newcommand\topfoot@rule[2]{%
- \@tempdima\baselineskip\advance\@tempdima by-.7\normalbaselineskip
- \advance\@tempdima by -#2
- \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}{footabove}%
- \vskip-\@tempdima}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\botfoot@rule}
-% \begin{macrocode}
-\newcommand\botfoot@rule[2]{%
- \@tempdima-\baselineskip\advance\@tempdima by .3\normalbaselineskip
- \advance\@tempdima by #2
- \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}{footbelow}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\hf@rule}
-% \changes{v1.3}{2001/03/30}{New, third parameter ``boxwidth''}
-% \changes{v2.0f}{2001/06/23}{Rule can be adjusted at inner margine,
-% centered or adjusted at outer margine}
-% \changes{v2.2}{2004/07/05}{Last parameter of the rule tells, if it is a
-% headabove, headbelow, footabove or footbelow rule}
-% \changes{v2.2}{2005/07/05}{Precommands before the rules are allowed}
-% \changes{v2.2}{2005/07/05}{Macro is not longer long}
-% \changes{v2.2b}{2005/08/31}{No even alignment at oneside}
-% \begin{macrocode}
-\newcommand*{\hf@rule}[4]{%
- \setlength{\@tempdimb}{#1}
- \begingroup
- \csname scr@pre@#4@line\endcsname
- \if@twoside
- \ifodd\c@page
- \edef\@tempa{\hfline@adjust}%
- \else
- \@tempcnta=2\advance\@tempcnta -\hfline@adjust
- \edef\@tempa{\the\@tempcnta}%
- \fi
- \else
- \edef\@tempa{\hfline@adjust}%
- \fi
- \ifnum\@tempa=1
- \setlength{\@tempdimb}{.5\@tempdimb}%
- \fi
- \hb@xt@#3{%
- \ifnum\@tempa>0
- \hfill%
- \llap{\vrule\@depth#2\@height\z@\@width\@tempdimb}%
- \fi
- \ifnum\@tempa<2
- \rlap{\vrule\@depth#2\@height\z@\@width\@tempdimb}%
- \hfill%
- \fi
- }%
- \endgroup
-}
-% \end{macrocode}
-% \begin{macro}{\scr@pre@headabove@line}
-% \changes{v2.2}{2004/07/05}{New internal}
-% \begin{macro}{\scr@fnt@headtopline}
-% \changes{v2.2}{2004/07/05}{New KOMA-Script font command}
-% \begin{macro}{\scr@pre@headbelow@line}
-% \changes{v2.2}{2004/07/05}{New internal}
-% \begin{macro}{\scr@fnt@headsepline}
-% \changes{v2.2}{2004/07/05}{New KOMA-Script font command}
-% \begin{macro}{\scr@pre@footabove@line}
-% \changes{v2.2}{2004/07/05}{New internal}
-% \begin{macro}{\scr@fnt@footsepline}
-% \changes{v2.2}{2004/07/05}{New KOMA-Script font command}
-% \begin{macro}{\scr@pre@footbelow@line}
-% \changes{v2.2}{2004/07/05}{New internal}
-% \begin{macro}{\scr@fnt@footbottomrule}
-% \changes{v2.2}{2004/07/05}{New KOMA-Script font command}
-% \begin{macro}{\scr@fnt@instead@footbotline}
-% \changes{v2.2}{2004/07/05}{New KOMA-Script font command}
-% \begin{macrocode}
-\newcommand*{\scr@pre@headabove@line}{}
-\newcommand*{\scr@fnt@headtopline}{\scr@pre@headabove@line}
-\newcommand*{\scr@pre@headbelow@line}{}
-\newcommand*{\scr@fnt@headsepline}{\scr@pre@headbelow@line}
-\newcommand*{\scr@pre@footabove@line}{}
-\newcommand*{\scr@fnt@footsepline}{\scr@pre@footabove@line}
-\newcommand*{\scr@pre@footbelow@line}{}
-\newcommand*{\scr@fnt@footbottomline}{\scr@pre@footbelow@line}
-\newcommand*{\scr@fnt@instead@footbotline}{footbottomline}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% Using these definitions, we can define the testing macros.
-%
-% \begin{macro}{\newpagestyle}
-% First the simple star/starless-selection:
-% \begin{macrocode}
-\def\newpagestyle{%
-% \end{macrocode}
-% We have to decide, whether it is a my-version or not:
-% \begin{macrocode}
- \@ifstar
- {\@newpagestyle[-]}%
- {\@newpagestyle[+]}}
-% \end{macrocode}
-% \begin{macro}{\@newpagestyle}
-% There we have to distinguish, whether the pagestyle is already
-% defined or not.
-% \begin{macrocode}
-\def\@newpagestyle[#1]#2#3#4{%
- \expandafter\ifx\csname ps@#2\endcsname\relax
-% \end{macrocode}
-% Then we can use the already defined |\@defpagestyle|.
-% \begin{macrocode}
- \@defpagestyle[#1]{#2}{#3}{#4}%
- \else
- \PackageError
- {scrpage2}%
- {Your command was ignored}%
- {There is already a pagestyle named ``#1''.\MessageBreak%
- Use \protect\defpagestyle\space, \protect\renewpagestyle or
- \protect\providepagestyle.}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\renewpagestyle}
-% First the simple star/starless-selection:
-% \begin{macrocode}
-\def\renewpagestyle{%
-% \end{macrocode}
-% We have to decide, whether it is a my-version or not:
-% \begin{macrocode}
- \@ifstar
- {\@renewpagestyle[-]}%
- {\@renewpagestyle[+]}}
-% \end{macrocode}
-% \begin{macro}{\@renewpagestyle}
-% \changes{v1.2a}{1996/12/07}{Avoid to define pagestyle as \cs{relax}
-% if it wasn't defined (Thanks to Bernd).}
-% There we have to distinguish, whether the pagestyle is already
-% defined or not.
-% \begin{macrocode}
-\def\@renewpagestyle[#1]#2#3#4{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname ps@#2\endcsname\relax
- \PackageError
- {scrpage2}%
- {Your command was ignored}%
- {There is no pagestyle named ``#1''.\MessageBreak%
- Use \protect\defpagestyle, \protect\newpagestyle or
- \protect\providepagestyle.}%
- \else
-% \end{macrocode}
-% Then we can use the already defined |\@defpagestyle|.
-% \begin{macrocode}
- \@defpagestyle[#1]{#2}{#3}{#4}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\providepagestyle}
-% First the simple star/starless-selection:
-% \begin{macrocode}
-\def\providepagestyle{%
-% \end{macrocode}
-% We have to decide, whether it is a my-version or not:
-% \begin{macrocode}
- \@ifstar
- {\@providepagestyle[-]}%
- {\@providepagestyle[+]}}
-% \end{macrocode}
-% \begin{macro}{\@providepagestyle}
-% There we have to distinguish, whether the pagestyle is already
-% defined or not.
-% \begin{macrocode}
-\def\@providepagestyle[#1]#2#3#4{%
- \expandafter\ifx\csname ps@#2\endcsname\relax
-% \end{macrocode}
-% Then we can use the already defined |\@defpagestyle|.
-% \begin{macrocode}
- \@defpagestyle[#1]{#2}{#3}{#4}%
- \else
- \PackageInfo
- {scrpage2}%
- {\protect\providepagestyle\protect{#1\protect} ignored.}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{User-Pagestyle-Definition-Interface}
-% The pagestyle-definition-interface for users is much easier than the
-% expert-version. Using the expert-macros, the definition is easy, too.
-%
-% \begin{macro}{\deftripstyle}
-% \begin{macrocode}
-% \end{macrocode}
-% At version 1 we define the selection of star- or starless-version first:
-% \begin{macrocode}
-\def\deftripstyle{%
- \@ifstar
- {\@deftripstyle[-]}%
- {\@deftripstyle[+]}}
-% \end{macrocode}
-% \end{macro}
-% Next we check, if there is an optional argument:
-% \begin{macro}{\@deftripstyle}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macrocode}
-\def\@deftripstyle[#1]#2{%
- \kernel@ifnextchar[%]
- {\@@deftripstyle[#1]{#2}}%
- {\@@deftripstyle[#1]{#2}[\z@]}}
-% \end{macrocode}
-% \end{macro}
-% or perhaps two optional arguments:
-% \begin{macro}{\@@deftripstyle}
-% \begin{macrocode}
-\def\@@deftripstyle[#1]#2[#3]{%
-% \end{macrocode}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% Ok, now we have the problem, that there can be only 9 arguments. So we
-% have to distinguish the star-versions by a macro:
-% \begin{macrocode}
- \def\@tempa{#1}%
- \kernel@ifnextchar[%]
- {\@@@deftripstyle#2[#3]}%
- {\@@@deftripstyle#2[\z@][#3]}}
-% \end{macrocode}
-% \end{macro}
-% Now the main-definition:
-% \begin{macro}{\@@@deftripstyle}
-% \begin{macrocode}
-\def\@@@deftripstyle#1[#2][#3]#4#5#6#7#8#9{%
- \def\@tempb{+}%
- \ifx\@tempa\@tempb
- \defpagestyle{#1}%
- {(\@headwidth,#2)%
- {\rlap{#6}\hfill{#5}\hfill\llap{#4}}%
- {\rlap{#4}\hfill{#5}\hfill\llap{#6}}%
- {\rlap{#4}\hfill{#5}\hfill\llap{#6}}%
- (\@headwidth,#3)}%
- {(\@footwidth,#3)%
- {\rlap{#9}\hfill{#8}\hfill\llap{#7}}%
- {\rlap{#7}\hfill{#8}\hfill\llap{#9}}%
- {\rlap{#7}\hfill{#8}\hfill\llap{#9}}%
- (\@footwidth,#2)}%
- \else
- \defpagestyle*{#1}%
- {(\@headwidth,#2)%
- {\rlap{#6}\hfill{#5}\hfill\llap{#4}}%
- {\rlap{#4}\hfill{#5}\hfill\llap{#6}}%
- {\rlap{#4}\hfill{#5}\hfill\llap{#6}}%
- (\@headwidth,#3)}%
- {(\@footwidth,#3)%
- {\rlap{#9}\hfill{#8}\hfill\llap{#7}}%
- {\rlap{#7}\hfill{#8}\hfill\llap{#9}}%
- {\rlap{#7}\hfill{#8}\hfill\llap{#9}}%
- (\@footwidth,#2)}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Automark or not}
-% This is new since version 2.
-% \begin{macro}{\automark}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0c}{2001/06/07}{Use of \cs{MakeMarkcase}}
-% \changes{v2.0g}{2001/06/25}{Use of \cs{manualmark}}
-% \changes{v2.0i}{2001/08/17}{Warning, if arguments are mixed up}
-% \changes{v2.0i}{2001/08/17}{\cs{markboth} behavior fixed}
-% \changes{v2.0i}{2001/08/17}{Use of \cs{if@autooneside}}
-% \changes{v2.1a}{2002/10/30}{Switch on \cs{if@automark}}
-% This macro activates automatic mark. Is has two arguments. The
-% first, optional argument is the sectioning level name of the mark at
-% left pages, the second, not optional argument is the same at right
-% pages. At oneside mode all pages are right.
-% \begin{macro}{\@iflevelok}
-% \changes{v2.0i}{2001/08/17}{New}
-% \begin{macro}{\markleft}
-% \changes{v2.0i}{2001/08/17}{New}
-% \begin{macro}{\@markleft}
-% \changes{v2.0i}{2001/08/17}{New}
-% To define \cs{automark} we also need these three makros. The first
-% one decides, if level of second parameter is less than level of
-% first parameter and does then third or fourth parameter.
-% \cs{markleft} and \cs{@markleft} are similar to \cs{markright} and
-% \cs{@markright} at \LaTeX{} kernel.
-% \begin{macrocode}
-\newcommand*{\@iflevelok}[4]{%
- \begingroup
- \edef\@tempa{#1}\ifx\@tempa\@empty\def\@tempa{\endgroup #3}\else
- \def\@tempa{\csname #1level\endcsname}%
- \def\@tempb{\csname #2level\endcsname}%
- \ifnum \@tempa>\@tempb
- \def\@tempa{\endgroup#3}%
- \else
- \def\@tempa{\endgroup#4}%
- \fi\fi\@tempa}
-\providecommand{\markleft}[1]{%
- \begingroup
- \let\label\relax \let\index\relax \let\glossary\relax
- \expandafter\@markleft\@themark {#1}%
- \@temptokena \expandafter{\@themark}%
- \mark{\the\@temptokena}%
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi}
-\providecommand{\@markleft}[3]{\@temptokena {#2}%
- \unrestored@protected@xdef\@themark{{#3}{\the\@temptokena}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \changes{v2.2a}{2004/09/05}{all changes of helper macros and switches are
-% local to fix e.g.\ twocolumn problem with \cs{part}}
-% \begin{macrocode}
-\newcommand*{\automark}[2][\@empty]{%
- \manualmark
- \@automarktrue
- \begingroup
- \edef\@tempa{#2}\ifx\@tempa\@empty
- \endgroup
- \PackageWarning{scrpage2}%
- {\string\automark\space with empty obligatory argument}%
- \else
- \endgroup
- \expandafter\def\csname #2mark\endcsname##1{%
- \begingroup
- \def\@tempa{\csname #2level\endcsname}%
- \@tempswafalse
- \ifnum \c@secnumdepth <\@tempa\else\if@mainmatter
- \@tempswatrue
- \fi\fi
- \edef\@tempa{#1}%
- \if@twoside\edef\@tempb{#2}\else\let\@tempb\@tempa\fi
- \ifx\@tempa\@tempb
- \if@tempswa
- \@mkboth{\MakeMarkcase{\csname #2markformat\endcsname ##1}}%
- {\MakeMarkcase{\csname #2markformat\endcsname ##1}}%
- \else%
- \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}%
- \fi
- \else
- \if@tempswa
- \@iflevelok{#1}{#2}{%
- \@mkboth{\MakeMarkcase{\csname #2markformat\endcsname
- ##1}}{}}{%
- \ifx\@mkboth\markboth\markleft{\MakeMarkcase{\csname
- #2markformat\endcsname ##1}}%
- \fi}
- \else
- \@iflevelok{#1}{#2}{%
- \@mkboth{\MakeMarkcase{##1}}{}}{%
- \ifx\@mkboth\markboth\markleft{\MakeMarkcase{##1}}\fi}%
- \fi
- \fi
- \endgroup
- }
- \fi
- \begingroup
- \edef\@tempa{#1}\edef\@tempb{#2}%
- \if@autooneside\if@twoside\else\let\@tempa\@empty\fi\fi
- \ifx\@tempa\@empty
- \endgroup
- \else
- \ifx\@tempa\@tempb
- \endgroup
- \else
- \endgroup
- \expandafter\def\csname #1mark\endcsname##1{%
- \begingroup
- \def\@tempa{\csname #1level\endcsname}%
- \@tempswafalse
- \ifnum \c@secnumdepth <\@tempa\else\if@mainmatter
- \@tempswatrue
- \fi\fi
- \if@tempswa
- \@iflevelok{#1}{#2}{%
- \ifx\@mkboth\markboth
- \markright{\MakeMarkcase{\csname #1markformat\endcsname
- ##1}}%
- \fi}{%
- \@mkboth{}{\MakeMarkcase{\csname #1markformat\endcsname
- ##1}}}%
- \else
- \@iflevelok{#1}{#2}{%
- \ifx\@mkboth\markboth
- \markright{\MakeMarkcase{##1}}%
- \fi}{%
- \@mkboth{}{\MakeMarkcase{##1}}}%
- \fi
- \endgroup
- }
- \fi\fi%
- \let\@mkboth\markboth
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\manualmark}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0g}{2001/06/25}{also deactivating \cs{...mark}}
-% \changes{v2.1a}{2002/10/30}{Switch off \cs{if@automark}}
-% This macro switchs to the manual set of marks (using \cs{markboth}
-% and \cs{markright}. This is very simple, we only have to deaktivate
-% the mark macros.
-% \begin{macrocode}
-\newcommand*{\manualmark}{%
- \if@chapter\let\chaptermark\@gobble\fi
- \let\sectionmark\@gobble
- \let\subsectionmark\@gobble
- \let\subsubsectionmark\@gobble
- \let\paragraphmark\@gobble
- \let\subparagraphmark\@gobble
- \let\@mkboth\@gobbletwo
- \@automarkfalse
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\partlevel}
-% \changes{v2.2}{2004/07/05}{New}
-% \changes{v2.4}{2009/11/11}{part level is always -1}
-% \begin{macro}{\chapterlevel}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\sectionlevel}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\subsectionlevel}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\subsubsectionlevel}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\paragraphlevel}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\subparagraphlevel}
-% \changes{v2.0}{2001/04/20}{New}
-% At \cs{automark} we use some macros to get the numeric level of a
-% sectioning name. We simply define these:
-% \begin{macrocode}
-\newcommand*{\partlevel}{-1}
-\newcommand*{\chapterlevel}{0}
-\newcommand*{\sectionlevel}{1}
-\newcommand*{\subsectionlevel}{2}
-\newcommand*{\subsubsectionlevel}{3}
-\newcommand*{\paragraphlevel}{4}
-\newcommand*{\subparagraphlevel}{5}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\MakeMarkcase}
-% \changes{v2.0m}{2002/02/05}{\texttt{scrlttr2} is a known class}
-% At \cs{automark} we use a new macro to enable usability of
-% \cs{MakeUppercase} at the head-marks. We set this macro to
-% \cs{MakeUppercase} if one of the standard-classes was loaded:
-% \begin{macrocode}
-\@ifundefined{MakeMarkcase}{%
- \@ifclassloaded{scrbook}{\let\MakeMarkcase\relax}{%
- \@ifclassloaded{scrreprt}{\let\MakeMarkcase\relax}{%
- \@ifclassloaded{scrartcl}{\let\MakeMarkcase\relax}{%
- \@ifclassloaded{scrlttr2}{\let\MakeMarkcase\relax}{%
- \@ifclassloaded{book}{}{%
- \@ifclassloaded{report}{}{%
- \@ifclassloaded{article}{}{%
- \PackageWarningNoLine{scrpage2}{%
- use of scrpage2 with unknown class.\MessageBreak
- Please mail to markus.kohm@gmx.de, if
- headmarks\MessageBreak
- are lower case without use of scrpage2}}}}%
- \let\MakeMarkcase\MakeUppercase}}}}}{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scrheadings@style}
-% \changes{v2.0g}{2001/06/25}{New}
-% \changes{v2.0m}{2002/02/05}{Take care of class \texttt{scrlttr2}}
-% This macro defines, which style for scrheadings should be used. If
-% it is not defined, we have to define it in a propper way.
-% \begin{macrocode}
-\@ifundefined{scrheadings@style}{%
- \@ifclassloaded{scrbook}{\def\scrheadings@style{koma}}{%
- \@ifclassloaded{scrreprt}{\def\scrheadings@style{koma}}{%
- \@ifclassloaded{scrartcl}{\def\scrheadings@style{koma}}{%
- \@ifclassloaded{scrlttr2}{\def\scrheadings@style{koma}}{%
- \def\scrheadings@style{standard}}}}}}{}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Width of head and foot}
-% \begin{macro}{\setheadwidth}
-% \changes{v1.3}{2001/03/30}{New}
-% \begin{macro}{\setfootwidth}
-% \changes{v1.3}{2001/03/30}{New}
-% \begin{macro}{\set@hf@width}
-% \changes{v1.3}{2001/03/30}{New}
-% \changes{v1.3a}{2001/05/31}{symbolic values ``paper'', ``text'',
-% ``textwidthmarginpar''}
-% \changes{v2.0b}{2001/05/31}{symbolic values ``paper'', ``text'',
-% ``textwidthmarginpar''}
-% \changes{v2.0c}{2001/06/07}{error fix at warning}
-% \begin{macro}{\settowidthof}
-% \changes{v2.0e}{2001/06/22}{New}
-% \begin{macro}{\deftowidthof}
-% \changes{v2.0e}{2001/06/22}{New}
-% \changes{v2.0f}{2001/06/23}{new symbolic values ``autohead'' and
-% ``autofoot''}
-% \changes{v2.0i}{2001/08/17}{new symbolic value ``page''}
-% \changes{v2.0k}{2001/09/28}{\cs{pagewidth} korrigiert}
-% \changes{v2.1b}{2003/05/31}{more save existance test}
-% \changes{v2.2}{2004/07/05}{value ``foot'' fixed}
-% Until version 1.3, head and foot of a page had same width like the
-% text block. Since version 1.3 this was changed. Now the head and
-% foot have their own width and an optional shift relative to the text
-% part of the page. This shift can be positive or negative. We set
-% the width and shift with one macro and save them at macros. The set
-% macros have an optional argument: the shift.
-%
-% For definition of symbolic length values there is the macro
-% \cs{settowidthof}. And to define a macro with this value, there
-% is \cs{deftowidthof}.
-% \begin{macrocode}
-\newcommand*{\settowidthof}[2]{%
- \edef\@tempa{#2}%
- \edef\@tempb{paper}\ifx\@tempa\@tempb
- \setlength{#1}{\paperwidth}%
- \else\edef\@tempb{text}\ifx\@tempa\@tempb
- \setlength{#1}{\textwidth}%
- \else\edef\@tempb{textwithmarginpar}\ifx\@tempa\@tempb
- \setlength{#1}{\textwidth}%
- \addtolength{#1}{\marginparwidth}%
- \addtolength{#1}{\marginparsep}%
- \else\edef\@tempb{head}\ifx\@tempa\@tempb
- \setlength{#1}{\@headwidth}%
- \else\edef\@tempb{foot}\ifx\@tempa\@tempb
- \setlength{#1}{\@footwidth}%
- \else\edef\@tempb{headtopline}\ifx\@tempa\@tempb
- \setlength{#1}{\scr@headabove@linelength}%
- \else\edef\@tempb{headsepline}\ifx\@tempa\@tempb
- \setlength{#1}{\scr@headbelow@linelength}%
- \else\edef\@tempb{footsepline}\ifx\@tempa\@tempb
- \setlength{#1}{\scr@footabove@linelength}%
- \else\edef\@tempb{footbotline}\ifx\@tempa\@tempb
- \setlength{#1}{\scr@footbelow@linelength}%
- \else\edef\@tempb{page}\ifx\@tempa\@tempb
- \setlength{#1}{\paperwidth}%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname ta@bcor\endcsname\relax\else
- \addtolength{#1}{-\ta@bcor}%
- \fi
- \else
- \setlength{#1}{#2}%
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
- \fi
-}
-\newcommand*{\deftowidthof}[2]{%
- \edef\@tempa{#2}\edef\@tempb{autohead}\ifx\@tempa\@tempb
- \expandafter\def\csname #1\endcsname{\@headwidth}%
- \else\edef\@tempb{autofoot}\ifx\@tempa\@tempb
- \expandafter\def\csname #1\endcsname{\@footwidth}%
- \else
- \settowidthof{\@tempdima}{#2}%
- \expandafter\edef\csname #1\endcsname{\the\@tempdima}%
- \fi
- \fi
-}
-\newcommand*{\setheadwidth}[2][\@empty]{%
- \set@hf@width{head}{#1}{#2} %
-}
-\newcommand*{\setfootwidth}[2][\@empty]{%
- \set@hf@width{foot}{#1}{#2}%
-}
-\newcommand*{\set@hf@width}[3]{%
- \settowidthof{\@tempdima}{#3}%
- \ifdim\@tempdima>\paperwidth
- \PackageWarning
- {scrpage2}%
- {You've set width of #1 to a value\MessageBreak
- greater than width of page!\MessageBreak%
- I`ll reduce width of #1 to width of page}%
- \setlength{\@tempdima}{\paperwidth}%
- \else
- \ifdim\@tempdima<\z@
- \PackageWarning
- {scrpage2}%
- {You've set width of #1 to negative value!\MessageBreak%
- I'll set it to 0pt}%
- \setlength{\@tempdima}{\z@}%
- \fi
- \fi
- \expandafter\edef\csname @#1width\endcsname{\the\@tempdima}%
- \edef\@tempa{#2}%
- \setlength{\@tempdima}{\textwidth}%
- \addtolength{\@tempdima}{-\csname @#1width\endcsname}%
- \ifx\@tempa\@empty
- \if@twoside
- \setlength{\@tempdimb}{.3333333333\@tempdima}%
- \else
- \setlength{\@tempdimb}{.5\@tempdima}%
- \fi
- \else
- \setlength{\@tempdimb}{#2}%
- \fi
- \addtolength{\@tempdima}{-\@tempdimb}%
- \ifdim\@tempdimb<\z@
- \setlength{\@tempdimb}{-\@tempdimb}%
- \expandafter\edef\csname @odd#1shift\endcsname{-\the\@tempdimb}%
- \else
- \expandafter\edef\csname @odd#1shift\endcsname{\the\@tempdimb}%
- \fi
- \ifdim\@tempdima<\z@
- \setlength{\@tempdima}{-\@tempdima}%
- \expandafter\edef\csname @even#1shift\endcsname{-\the\@tempdima}%
- \else
- \expandafter\edef\csname @even#1shift\endcsname{\the\@tempdima}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@headwidth}
-% \changes{v1.3}{2001/03/30}{New}
-% \changes{v2.1}{2002/03/28}{use of option \texttt{mpinclude}}
-% \begin{macro}{\@footwidth}
-% \changes{v1.3}{2001/03/30}{New}
-% \changes{v2.1}{2002/03/28}{use of option \texttt{mpinclude}}
-% \begin{macro}{\@oddheadshift}
-% \changes{v1.3}{2001/03/30}{New}
-% \begin{macro}{\@evenheadshift}
-% \changes{v1.3}{2001/03/30}{New}
-% \begin{macro}{\@oddfootshift}
-% \changes{v1.3}{2001/03/30}{New}
-% \begin{macro}{\@evenfootshift}
-% \changes{v1.3}{2001/03/30}{New}
-% The values of width and shift of head and foot are saved at internal
-% macros.
-% \begin{macrocode}
-\newcommand*{\@headwidth}{\textwidth}%
-\newcommand*{\@oddheadshift}{\z@}%
-\newcommand*{\@evenheadshift}{\z@}%
-\newcommand*{\@footwidth}{\textwidth}%
-\newcommand*{\@oddfootshift}{\z@}%
-\newcommand*{\@evenfootshift}{\z@}%
-% \end{macrocode}
-% If option \texttt{mpinclude} was used, we use a special trick to set
-% width of head and foot but only if the user doesn't:
-% \begin{macrocode}
-\if@mincl
- \renewcommand*{\@headwidth}{}%
- \renewcommand*{\@footwidth}{}%
- \AtBeginDocument{%
- \ifx\@headwidth\@empty
- \setheadwidth[0pt]{textwithmarginpar}%
- \fi
- \ifx\@footwidth\@empty
- \setfootwidth[0pt]{textwithmarginpar}%
- \fi
- }
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Fonts}
-% \begin{macro}{\pnumfont}
-% We have to define a macro defining the font, used by |\pagemark|. Because
-% of this macro may already be defined by a \textsf{KOMA}-script-class, we
-% have to do this, using |\providecommand|
-% \begin{macrocode}
-\providecommand*{\pnumfont}{\normalfont}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\headfont}
-% There is also a macro used by |\@evenhead|, |\@oddhead| and |\@evenfoot|,
-% |\@oddfoot|:
-% \begin{macrocode}
-\providecommand*{\headfont}{\normalfont\slshape}
-\def\scr@fnt@wrn@pagehead#1{%
- `pagehead' is only an alias of `pageheadfoot'.\MessageBreak
- Font of page foot may also be changed%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\footfont}
-% \changes{v2.2f}{2008/02/14}{New}
-% \begin{macro}{\scr@fnt@pagefoot}
-% \changes{v2.2f}{2008/02/14}{New (internal)}
-% \begin{macro}{\scr@fnt@wrn@pagefoot}
-% \changes{v2.2f}{2008/02/14}{deactivated}
-% There is also a macro used by |\@evenfoot|, |\@oddfoot| after |\headfont|:
-% \begin{macrocode}
-\providecommand*{\footfont}{\normalfont}
-\providecommand*{\scr@fnt@pagefoot}{\footfont}
-\let\scr@fnt@wrn@pagefoot\relax
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Length and thickness of lines at head and foot}
-% \begin{macro}{\setheadtopline}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0d}{2001/06/19}{\texttt{headtop} changed into
-% \texttt{headabove}}
-% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''}
-% \begin{macro}{\setheadsepline}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0d}{2001/06/19}{\texttt{headbot} changed into
-% \texttt{headbelow}}
-% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''}
-% \begin{macro}{\setfootsepline}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0d}{2001/06/19}{\texttt{foottop} changed into
-% \texttt{footabove}}
-% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''}
-% \begin{macro}{\setfootbotline}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0d}{2001/06/19}{\texttt{footbot} changed into
-% \texttt{footbelow}}
-% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''}
-% Since version 2 there are new macros to set the length and
-% thickness of the lines at head and foot. Wie use macros not
-% dimensions, because the amount of dimensions is very small at \TeX.
-% \begin{macrocode}
-\newcommand*{\setheadtopline}{\scr@setline{head}{above}}
-\newcommand*{\setheadsepline}{\scr@setline{head}{below}}
-\newcommand*{\setfootsepline}{\scr@setline{foot}{above}}
-\newcommand*{\setfootbotline}{\scr@setline{foot}{below}}
-% \end{macrocode}
-% \begin{macro}{\scr@setline}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\@scr@setline}
-% \changes{v2.0d}{2001/06/19}{symbolic values implemented}
-% \begin{macro}{\@@scr@setline}
-% \changes{v2.0d}{2001/06/18}{macro name fixed}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\@scr@set@pre@line}
-% \changes{v2.2}{2004/07/05}{New internal}
-% The real change of the lines is done with the macros
-% \cs{scr@setline}, \cs{@scr@setline} and \cs{@@scr@setline}:
-% \begin{macrocode}
-\def\scr@setline#1#2{%
- \kernel@ifnextchar[%]
- {\@scr@setline{#1}{#2}}{\@@scr@setline{#1#2}}%
-}
-\def\@scr@setline#1#2[#3]{%
- \edef\@tempa{#3}\edef\@tempa{auto}\ifx\@tempa\@tempb
- \deftowidthof{scr@#1#2@linelength}{#3#1}%
- \else
- \deftowidthof{scr@#1#2@linelength}{#3}%
- \fi
- \@@scr@setline{#1#2}%
-}
-\def\@@scr@setline#1#2{%
- \edef\@tempa{#2}\edef\@tempb{current}\ifx\@tempa\@empty\else
- \ifx\@tempa\@tempb\else
- \setlength{\@tempdima}{#2}%
- \expandafter\edef\csname scr@#1@linethickness\endcsname%
- {\the\@tempdima}%
- \fi\fi
- \kernel@ifnextchar[%]
- {\@src@set@pre@line{#1}}{}%
-}
-\def\@src@set@pre@line#1[#2]{%
- \expandafter\def\csname scr@pre@#1@line\endcsname{#2}%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Extended multilanguage formats}
-% \begin{macro}{\partmarkformat}
-% \changes{v2.2}{2004/07/05}{New}
-% \begin{macro}{\chaptermarkformat}
-% \changes{v1.1}{1995/06/27}{Space after chapternumber increased.}
-% \begin{macro}{\sectionmarkformat}
-% \changes{v1.1}{1995/06/27}{Space after sectionnumber increased.}
-% \begin{macro}{\subsectionmarkformat}
-% \changes{v1.1}{1995/06/27}{Space after subsectionnumber increased.}
-% \begin{macro}{\subsubsectionmarkformat}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\paragraphmarkformat}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\subparagraphmarkformat}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\@seccntmarkformat}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\@seccntformat}
-% \changes{v2.0}{2001/04/20}{New}
-% There are some macros to handle languages like Chinese, Japanese or Korean.
-% These macros were defined first by Werner Lemberg at his CJK-bundle. See
-% |scrclass.dtx| for further information.
-% \begin{macrocode}
-\providecommand{\partmarkformat} {\partname\ \thepart. \ }
-\if@chapter
- \providecommand{\chaptermarkformat} {\@chapapp\ \thechapter. \ }
- \providecommand{\sectionmarkformat} {\thesection. \ }
- \providecommand{\subsectionmarkformat} {\@seccntmarkformat{subsection}}
-\else
- \providecommand{\sectionmarkformat} {\thesection\quad}
- \providecommand{\subsectionmarkformat} {\thesubsection\quad}
-\fi
-\providecommand{\subsubsectionmarkformat}{\@seccntmarkformat{subsubsection}}
-\providecommand{\paragraphmarkformat} {\@seccntmarkformat{paragraph}}
-\providecommand{\subparagraphmarkformat} {\@seccntmarkformat{subparagraph}}
-\providecommand{\@seccntmarkformat}[1] {\@seccntformat{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Definition of default pagestyles}
-%
-% \begin{macro}{\ps@save@plain}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0b}{2001/05/31}{use this instead of
-% \cs{ps@standardplain}}
-% We define two default pagestyles, which can be used instead of the
-% standard pagestyles. The two pagestyles are something like a
-% family. A pagestyle for \emph{normal} pages with head and foot and a
-% pagestyle for \emph{plain} pages with not so much head and foot. So
-% we have to redefine the standard pagestyle \texttt{plain}. But maybe
-% someone want to use the old standard pagestyle. So we first define
-% new names for old pagestyles.
-% \begin{macrocode}
-\newcommand*{\ps@save@plain}{}
-\let\ps@save@plain\ps@plain
-\newcommand*{\ps@use@plain}{\let\save@@mkboth\@mkboth
- \ps@save@plain
- \let\@mkboth\save@@mkboth}
-\let\ps@plain\ps@use@plain
-% \end{macrocode}
-% \begin{macro}{\ps@save@headings}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0b}{2001/05/31}{use this instead of
-% \cs{ps@standardheadings}}
-% \begin{macro}{\ps@save@myheadings}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0b}{2001/05/31}{use this instead of
-% \cs{ps@standardmyheadings}}
-% \begin{macro}{\ps@headings}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\ps@myheadings}
-% \changes{v2.0}{2001/04/20}{New}
-% If standard pagestyle \texttt{headings} or \texttt{myheadings} is
-% used, also standard pagestyle \texttt{use@plain} should be
-% used. So we also define new names for the other old pagestyles and
-% new pagestyles with the old names, doing the switch back for the
-% plain pagestyle. These are defined even if the pagestyles are
-% unknown.
-% \begin{macrocode}
-\newcommand*{\ps@save@headings}{}
-\let\ps@save@headings\ps@headings
-\newcommand*{\ps@save@myheadings}{}
-\let\ps@save@myheadings\ps@myheadings
-\def\ps@headings{%
- \PackageWarning{scrpage2}%
- {you've used pagestyle ``headings''.\MessageBreak
- You should not use this pagestyle with a\MessageBreak
- scrpage2-pagestyle!\MessageBreak
- You should use pagestyle ``useheadings'' instead\MessageBreak}%
- \let\ps@plain\ps@save@plain%
- \ps@save@headings\@automarktrue}
-\def\ps@myheadings{%
- \PackageWarning{scrpage2}%
- {you've used pagestyle ``myheadings''.\MessageBreak
- You should not use this pagestyle with a\MessageBreak
- scrpage2-pagestyle!\MessageBreak
- You should use pagestyle ``useheadings'' instead\MessageBreak}%
- \let\ps@plain\ps@save@plain%
- \ps@save@myheadings\@automarkfalse}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\ps@useheadings}
-% \changes{v2.0b}{2001/05/31}{New}
-% \changes{v2.0m}{2002/02/05}{Fatal bug (\cs{mkboth} instead of
-% \cs{@mkboth}) fixed}
-% \changes{v2.1a}{2002/10/30}{Use of switch \cs{if@automark}}
-% This is the pagestyle, you should use instead of \texttt{headings}
-% or \texttt{myheadings}. If you are using manual marks, this behaves
-% like pagestyle \texttt{myheadings}. If you are using automatic
-% marks, this behaves like headings, but without changing
-% \cs{chaptermark}, \cs{sectionmark} or \cs{subsectionmark}.
-% \begin{macrocode}
-\newcommand*{\ps@useheadings}{%
- \if@automark\let\@mkboth\markboth\else\let\@mkboth\@gobbletwo\fi
- \let\ps@plain\ps@use@plain
- \let\save@@mkboth\@mkboth
- \let\save@chaptermark\chaptermark
- \let\save@sectionmark\sectionmark
- \let\save@subsectionmark\subsectionmark
- \ifx\@mkboth\markboth\ps@save@headings\else\ps@save@myheadings\fi
- \let\@mkboth\save@@mkboth
- \let\chaptermark\save@chaptermark
- \let\sectionmark\save@sectionmark
- \let\subsectionmark\save@subsectionmark
-}
-% \end{macrocode}
-% Note: Because of saving \cs{@mkboth}, \cs{chaptermark},
-% \cs{sectionmark} and \cs{subsection} before changing the pagestyle
-% and restore them after changing the pagestyle it does not matter, if
-% we set pagestyle \texttt{headings} or \texttt{myheadings}. So it
-% would be possible to remove the \cs{ifx}\dots\cs{fi}-line above and
-% simply use \cs{ps@save@headings} or \cs{ps@save@myheadings} instead
-% of.
-% \end{macro}
-%
-%
-% \begin{macro}{\ps@scrplain}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0a}{2001/04/24}{\cs{strut} inserted}
-% \changes{v2.0f}{2001/06/23}{\cs{strut} inserted}
-% \changes{v2.1c}{2004/02/07}{thickness of footbelow line fixed}
-% \begin{macro}{\scrplain@even@left@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@even@middle@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@even@right@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@odd@left@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@odd@middle@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@odd@right@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@even@left@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@even@middle@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@even@right@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@odd@left@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@odd@middle@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrplain@odd@right@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% After this, we can define the new pagestyles, first a new plain
-% one. It sould be variable and so we use macros to define the parts.
-% \begin{macrocode}
-\newcommand*{\ps@scrplain}{\let\ps@plain\ps@@scrplain\ps@plain}
-\newpagestyle{@scrplain}
-{%
- (\scrplain@headabove@linelength,\scr@headabove@linethickness)%
- {%
- \rlap{\parbox{\@headwidth}{\raggedright
- \strut\scrplain@even@left@head\strut}}%
- \hfill
- \parbox{\@headwidth}{\centering\strut
- \scrplain@even@middle@head\strut}%
- \hfill
- \llap{\parbox{\@headwidth}{\raggedleft
- \strut\scrplain@even@right@head\strut}}}%
- {%
- \rlap{\parbox{\@headwidth}{\raggedright
- \strut\scrplain@odd@left@head\strut}}%
- \hfill
- \parbox{\@headwidth}{\centering
- \strut\scrplain@odd@middle@head\strut}%
- \hfill
- \llap{\parbox{\@headwidth}{\raggedleft
- \strut\scrplain@odd@right@head\strut}}}%
- {%
- \rlap{\parbox{\@headwidth}{\raggedright
- \strut\scrplain@odd@left@head\strut}}%
- \hfill
- \parbox{\@headwidth}{\centering
- \strut\scrplain@odd@middle@head\strut}%
- \hfill
- \llap{\parbox{\@headwidth}{\raggedleft
- \strut\scrplain@odd@right@head\strut}}}%
- (\scrplain@headbelow@linelength,\scr@headbelow@linethickness)
-}{%
- (\scrplain@footabove@linelength,\scr@footabove@linethickness)
- {%
- \rlap{\parbox{\@footwidth}{\raggedright
- \strut\scrplain@even@left@foot\strut}}%
- \hfill
- \parbox{\@footwidth}{\centering
- \strut\scrplain@even@middle@foot\strut}%
- \hfill
- \llap{\parbox{\@footwidth}{\raggedleft
- \strut\scrplain@even@right@foot\strut}}}%
- {%
- \rlap{\parbox{\@footwidth}{\raggedright
- \strut\scrplain@odd@left@foot\strut}}%
- \hfill
- \parbox{\@footwidth}{\centering
- \strut\scrplain@odd@middle@foot\strut}%
- \hfill
- \llap{\parbox{\@footwidth}{\raggedleft
- \strut\scrplain@odd@right@foot\strut}}}%
- {%
- \rlap{\parbox{\@footwidth}{\raggedright
- \strut\scrplain@odd@left@foot\strut}}%
- \hfill
- \parbox{\@footwidth}{\centering
- \strut\scrplain@odd@middle@foot\strut}%
- \hfill
- \llap{\parbox{\@footwidth}{\raggedleft
- \strut\scrplain@odd@right@foot\strut}}}%
- (\scrplain@footbelow@linelength,\scr@footbelow@linethickness)
-}
-\newcommand*{\scrplain@even@left@head}{}
-\newcommand*{\scrplain@even@middle@head}{}
-\newcommand*{\scrplain@even@right@head}{}
-\newcommand*{\scrplain@odd@left@head}{}
-\newcommand*{\scrplain@odd@middle@head}{}
-\newcommand*{\scrplain@odd@right@head}{}
-\newcommand*{\scrplain@even@left@foot}{}
-\newcommand*{\scrplain@even@middle@foot}{}
-\newcommand*{\scrplain@even@right@foot}{}
-\newcommand*{\scrplain@odd@left@foot}{}
-\newcommand*{\scrplain@odd@middle@foot}{}
-\newcommand*{\scrplain@odd@right@foot}{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\ps@scrheadings}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v2.0a}{2001/04/24}{\cs{strut} inserted}
-% \changes{v2.0f}{2001/06/23}{\cs{strut} inserted}
-% \begin{macro}{\scrheadings@even@left@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@even@middle@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@even@right@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@odd@left@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@odd@middle@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@odd@right@head}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@even@left@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@even@middle@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@even@right@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@odd@left@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@odd@middle@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% \begin{macro}{\scrheadings@odd@right@foot}
-% \changes{v2.0}{2001/04/20}{New}
-% We also define define a new headings one. It sould be variable and
-% so we use macros to define the parts. But we need an \emph{also
-% action}, so we first define a inner pagestyle and then use this at a
-% outer one (definition is done in reverse order):
-% \begin{macrocode}
-\newcommand*{\ps@scrheadings}{\let\ps@plain\ps@scrplain\ps@@scrheadings}
-\newpagestyle{@scrheadings}
-{%
- {%
- \rlap{\parbox{\@headwidth}{\raggedright
- \strut\scrheadings@even@left@head\strut}}%
- \hfill
- \parbox{\@headwidth}{\centering
- \strut\scrheadings@even@middle@head\strut}%
- \hfill
- \llap{\parbox{\@headwidth}{\raggedleft%
- \strut\scrheadings@even@right@head\strut}}}%
- {%
- \rlap{\parbox{\@headwidth}{\raggedright
- \strut\scrheadings@odd@left@head\strut}}%
- \hfill
- \parbox{\@headwidth}{\centering
- \strut\scrheadings@odd@middle@head\strut}%
- \hfill
- \llap{\parbox{\@headwidth}{\raggedleft%
- \strut\scrheadings@odd@right@head\strut}}}%
- {%
- \rlap{\parbox{\@headwidth}{\raggedright
- \strut\scrheadings@odd@left@head\strut}}%
- \hfill
- \parbox{\@headwidth}{\centering
- \strut\scrheadings@odd@middle@head\strut}%
- \hfill
- \llap{\parbox{\@headwidth}{\raggedleft
- \strut\scrheadings@odd@right@head\strut}}}}%
-{%
- {%
- \rlap{\parbox{\@footwidth}{\raggedright
- \strut\scrheadings@even@left@foot\strut}}%
- \hfill
- \parbox{\@footwidth}{\centering
- \strut\scrheadings@even@middle@foot\strut}%
- \hfill
- \llap{\parbox{\@footwidth}{\raggedleft
- \strut\scrheadings@even@right@foot\strut}}}%
- {%
- \rlap{\parbox{\@footwidth}{\raggedright
- \strut\scrheadings@odd@left@foot\strut}}%
- \hfill
- \parbox{\@footwidth}{\centering
- \strut\scrheadings@odd@middle@foot\strut}%
- \hfill
- \llap{\parbox{\@footwidth}{\raggedleft
- \strut\scrheadings@odd@right@foot\strut}}}%
- {%
- \rlap{\parbox{\@footwidth}{\raggedright
- \strut\scrheadings@odd@left@foot\strut}}%
- \hfill
- \parbox{\@footwidth}{\centering
- \strut\scrheadings@odd@middle@foot\strut}%
- \hfill
- \llap{\parbox{\@footwidth}{\raggedleft
- \strut\scrheadings@odd@right@foot\strut}}%
- }%
-}
-\newcommand*{\scrheadings@even@left@head}{}
-\newcommand*{\scrheadings@even@middle@head}{}
-\newcommand*{\scrheadings@even@right@head}{}
-\newcommand*{\scrheadings@odd@left@head}{}
-\newcommand*{\scrheadings@odd@middle@head}{}
-\newcommand*{\scrheadings@odd@right@head}{}
-\newcommand*{\scrheadings@even@left@foot}{}
-\newcommand*{\scrheadings@even@middle@foot}{}
-\newcommand*{\scrheadings@even@right@foot}{}
-\newcommand*{\scrheadings@odd@left@foot}{}
-\newcommand*{\scrheadings@odd@middle@foot}{}
-\newcommand*{\scrheadings@odd@right@foot}{}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\ihead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\ohead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\chead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\lehead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\lohead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\rehead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\rohead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\cehead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\cohead}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\ifoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\ofoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\cfoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\lefoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\lofoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\refoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\rofoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\cefoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\cofoot}
-% \changes{v2.0}{2001/04/20}{New}
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% We also need macros to define the contents of the three part head
-% and foot. Each macro defines one of the part of head or foot of the
-% scrheadings pagestyle and optional of the scrplain pagestyle.
-% \begin{macrocode}
-\newcommand{\ihead}{\kernel@ifnextchar[{\@@lhead}{\@lhead}}
-\newcommand{\@lhead}[1]{\@rehead{#1}\@lohead{#1}}
-\newcommand{\@@lhead}[2][]{\@@rehead[{#1}]{#2}\@@lohead[{#1}]{#2}}
-\newcommand{\ohead}{\kernel@ifnextchar[{\@@rhead}{\@rhead}}
-\newcommand{\@rhead}[1]{\@lehead{#1}\@rohead{#1}}
-\newcommand{\@@rhead}[2][]{\@@lehead[{#1}]{#2}\@@rohead[{#1}]{#2}}
-\newcommand{\chead}{\kernel@ifnextchar[{\@@chead}{\@chead}}
-\newcommand{\@chead}[1]{\@cehead{#1}\@cohead{#1}}
-\newcommand{\@@chead}[2][]{\@@cehead[{#1}]{#2}\@@cohead[{#1}]{#2}}
-\newcommand{\lehead}{\kernel@ifnextchar[{\@@lehead}{\@lehead}}
-\newcommand{\@lehead}[1]{\renewcommand*{\scrheadings@even@left@head}{#1}}
-\newcommand{\@@lehead}[2][]{%
- \renewcommand*{\scrplain@even@left@head}{#1}%
- \renewcommand*{\scrheadings@even@left@head}{#2}}
-\newcommand{\lohead}{\kernel@ifnextchar[{\@@lohead}{\@lohead}}
-\newcommand{\@lohead}[1]{\renewcommand*{\scrheadings@odd@left@head}{#1}}
-\newcommand{\@@lohead}[2][]{%
- \renewcommand*{\scrplain@odd@left@head}{#1}%
- \renewcommand*{\scrheadings@odd@left@head}{#2}}
-\newcommand{\rehead}{\kernel@ifnextchar[{\@@rehead}{\@rehead}}
-\newcommand{\@rehead}[1]{\renewcommand*{\scrheadings@even@right@head}{#1}}
-\newcommand{\@@rehead}[2][]{%
- \renewcommand*{\scrplain@even@right@head}{#1}%
- \renewcommand*{\scrheadings@even@right@head}{#2}}
-\newcommand{\rohead}{\kernel@ifnextchar[{\@@rohead}{\@rohead}}
-\newcommand{\@rohead}[1]{\renewcommand*{\scrheadings@odd@right@head}{#1}}
-\newcommand{\@@rohead}[2][]{%
- \renewcommand*{\scrplain@odd@right@head}{#1}%
- \renewcommand*{\scrheadings@odd@right@head}{#2}}
-\newcommand{\cehead}{\kernel@ifnextchar[{\@@cehead}{\@cehead}}
-\newcommand{\@cehead}[1]{\renewcommand*{\scrheadings@even@middle@head}{#1}}
-\newcommand{\@@cehead}[2][]{%
- \renewcommand*{\scrplain@even@middle@head}{#1}%
- \renewcommand*{\scrheadings@even@middle@head}{#2}}
-\newcommand{\cohead}{\kernel@ifnextchar[{\@@cohead}{\@cohead}}
-\newcommand{\@cohead}[1]{\renewcommand*{\scrheadings@odd@middle@head}{#1}}
-\newcommand{\@@cohead}[2][]{%
- \renewcommand*{\scrplain@odd@middle@head}{#1}%
- \renewcommand*{\scrheadings@odd@middle@head}{#2}}
-\newcommand{\ifoot}{\kernel@ifnextchar[{\@@lfoot}{\@lfoot}}
-\newcommand{\@lfoot}[1]{\@refoot{#1}\@lofoot{#1}}
-\newcommand{\@@lfoot}[2][]{\@@refoot[{#1}]{#2}\@@lofoot[{#1}]{#2}}
-\newcommand{\ofoot}{\kernel@ifnextchar[{\@@rfoot}{\@rfoot}}
-\newcommand{\@rfoot}[1]{\@lefoot{#1}\@rofoot{#1}}
-\newcommand{\@@rfoot}[2][]{\@@lefoot[{#1}]{#2}\@@rofoot[{#1}]{#2}}
-\newcommand{\cfoot}{\kernel@ifnextchar[{\@@cfoot}{\@cfoot}}
-\newcommand{\@cfoot}[1]{\@cefoot{#1}\@cofoot{#1}}
-\newcommand{\@@cfoot}[2][]{\@@cefoot[{#1}]{#2}\@@cofoot[{#1}]{#2}}
-\newcommand{\lefoot}{\kernel@ifnextchar[{\@@lefoot}{\@lefoot}}
-\newcommand{\@lefoot}[1]{\renewcommand*{\scrheadings@even@left@foot}{#1}}
-\newcommand{\@@lefoot}[2][]{%
- \renewcommand*{\scrplain@even@left@foot}{#1}%
- \renewcommand*{\scrheadings@even@left@foot}{#2}}
-\newcommand{\lofoot}{\kernel@ifnextchar[{\@@lofoot}{\@lofoot}}
-\newcommand{\@lofoot}[1]{\renewcommand*{\scrheadings@odd@left@foot}{#1}}
-\newcommand{\@@lofoot}[2][]{%
- \renewcommand*{\scrplain@odd@left@foot}{#1}%
- \renewcommand*{\scrheadings@odd@left@foot}{#2}}
-\newcommand{\refoot}{\kernel@ifnextchar[{\@@refoot}{\@refoot}}
-\newcommand{\@refoot}[1]{\renewcommand*{\scrheadings@even@right@foot}{#1}}
-\newcommand{\@@refoot}[2][]{%
- \renewcommand*{\scrplain@even@right@foot}{#1}%
- \renewcommand*{\scrheadings@even@right@foot}{#2}}
-\newcommand{\rofoot}{\kernel@ifnextchar[{\@@rofoot}{\@rofoot}}
-\newcommand{\@rofoot}[1]{\renewcommand*{\scrheadings@odd@right@foot}{#1}}
-\newcommand{\@@rofoot}[2][]{%
- \renewcommand*{\scrplain@odd@right@foot}{#1}%
- \renewcommand*{\scrheadings@odd@right@foot}{#2}}
-\newcommand{\cefoot}{\kernel@ifnextchar[{\@@cefoot}{\@cefoot}}
-\newcommand{\@cefoot}[1]{\renewcommand*{\scrheadings@even@middle@foot}{#1}}
-\newcommand{\@@cefoot}[2][]{%
- \renewcommand*{\scrplain@even@middle@foot}{#1}%
- \renewcommand*{\scrheadings@even@middle@foot}{#2}}
-\newcommand{\cofoot}{\kernel@ifnextchar[{\@@cofoot}{\@cofoot}}
-\newcommand{\@cofoot}[1]{\renewcommand*{\scrheadings@odd@middle@foot}{#1}}
-\newcommand{\@@cofoot}[2][]{%
- \renewcommand*{\scrplain@odd@middle@foot}{#1}%
- \renewcommand*{\scrheadings@odd@middle@foot}{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\clearscrheadings}
-% \changes{v2.0j}{2001/08/18}{New}
-% \begin{macro}{\clearscrheadfoot}
-% \changes{v2.0j}{2001/08/18}{New}
-% \begin{macro}{\clearscrpain}
-% \changes{v2.0j}{2001/08/18}{New}
-% Maybe you want to clear the currently defined head and foot. First
-% let's clear only scrheadings pagestyle but not scrplain pagestyle.
-% We do this simply using the already known command:
-% \begin{macrocode}
-\newcommand*{\clearscrheadings}{%
- \ihead{}\chead{}\ohead{}\ifoot{}\cfoot{}\ofoot{}}
-% \end{macrocode}
-% We can do almost the same to clear scrheadings pagestyle and
-% scrplain pagestyle together:
-% \begin{macrocode}
-\newcommand*{\clearscrheadfoot}{%
- \ihead[]{}\chead[]{}\ohead[]{}\ifoot[]{}\cfoot[]{}\ofoot[]{}}
-% \end{macrocode}
-% But, for only clearing the scrplain pagestyle, we have to do the
-% redefinition directly:
-% \begin{macrocode}
-\newcommand*{\clearscrplain}{%
- \renewcommand*{\scrplain@even@left@head}{}%
- \renewcommand*{\scrplain@even@middle@head}{}%
- \renewcommand*{\scrplain@even@right@head}{}%
- \renewcommand*{\scrplain@odd@left@head}{}%
- \renewcommand*{\scrplain@odd@middle@head}{}%
- \renewcommand*{\scrplain@odd@right@head}{}%
- \renewcommand*{\scrplain@even@left@foot}{}%
- \renewcommand*{\scrplain@even@middle@foot}{}%
- \renewcommand*{\scrplain@even@right@foot}{}%
- \renewcommand*{\scrplain@odd@left@foot}{}%
- \renewcommand*{\scrplain@odd@middle@foot}{}%
- \renewcommand*{\scrplain@odd@right@foot}{}%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% Let's do the default setting:
-% \changes{v2.0m}{2002/02/05}{Active support for new letter class
-% \texttt{scrlttr2}}%^^A
-% \changes{v3.12}{2013/12/14}{fix \cs{rohead} if page number left at head}%^^A
-% \changes{v3.28}{2019/11/23}{\cs{PackageErrorNoLine} durch \cs{PackageError}
-% ersetzt}%^^A
-% \begin{macrocode}
-\def\@tempa{koma}\ifx\scrheadings@style\@tempa
- \@ifclassloaded{scrlttr2}{%
- \ifcase\@pageat
- \lehead[\pagemark]{\pagemark}\lohead[\pagemark]{\pagemark}%
- \chead{\rightmark}%
- \rehead{\leftmark}\rohead{\leftmark}%
- \or
- \lehead{\leftmark}\lohead{\leftmark}%
- \chead[\pagemark]{\pagemark}%
- \rehead{\rightmark}\rohead{\rightmark}%
- \or
- \lehead{\leftmark}\lohead{\leftmark}%
- \chead{\rightmark}%
- \rehead[\pagemark]{\pagemark}\rohead[\pagemark]{\pagemark}%
- \or
- \lehead{\leftmark}\lohead{\leftmark}%
- \rehead{\rightmark}\rohead{\rightmark}%
- \lefoot[\pagemark]{\pagemark}\lofoot[\pagemark]{\pagemark}%
- \or
- \lehead{\leftmark}\lohead{\leftmark}%
- \rehead{\rightmark}\rohead{\rightmark}%
- \cfoot[\pagemark]{\pagemark}%
- \or
- \lehead{\leftmark}\lohead{\leftmark}%
- \rehead{\rightmark}\rohead{\rightmark}%
- \refoot[\pagemark]{\pagemark}\rofoot[\pagemark]{\pagemark}%
- \fi
- \let\ps@save@myheadings=\ps@save@headings
- }{%
- \ohead{\if@twoside\headmark\fi}%
- \chead{\if@twoside\else\headmark\fi}%
- \cfoot[\if@twoside\else\pagemark\fi]{\if@twoside\else\pagemark\fi}%
- \ofoot[\if@twoside\pagemark\fi]{\if@twoside\pagemark\fi}%
- }%
-\else\def\@tempa{standard}\ifx\scrheadings@style\@tempa
- \ihead{\headmark}
- \ohead{\pagemark}
- \cfoot[\pagemark]{}
- \else\PackageError{scrpage2}{unknown scrheadings style}%
- {Somehow \string\scrheadings@style was
- defined\MessageBreak
- as ``\scrheadings@style''.\MessageBreak
- scrpage2 doesn't know what to do.
- If you'll continue, pagestyle
- ``scrheadings''\MessageBreak
- will be predefined empty.}
-\fi\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup\expandafter
-\ifx\csname chaptermark\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup\expandafter
- \ifx\csname sectionmark\endcsname\relax
- \ifx\@mkboth\markboth\@automarktrue\fi
- \else
-% \end{macrocode}
-% \changes{v2.5a}{2012/11/02}{\cs{@gobble} is long, but \cs{sectionmark} and
-% \cs{chaptermark} may be short}
-% \begin{macrocode}
- \ifx\sectionmark\@gobble\else
- \begingroup
- \def\@gobble#1{}\ifx\sectionmark\@gobble\else
- \aftergroup\@automarktrue
- \fi
- \endgroup
- \fi
- \fi
-\else
- \ifx\chaptermark\@gobble\else
- \begingroup
- \def\@gobble#1{}\ifx\chaptermark\@gobble\else
- \aftergroup\@automarktrue
- \fi
- \endgroup
- \fi
-\fi
-% \end{macrocode}
-%
-%
-% \subsection{Configurationfile}
-% Not last and not least we include the local configuration-file
-% \texttt{scrpage.cfg}, if it exists.
-% \begin{macrocode}
-\InputIfFileExists{scrpage.cfg}
- {\typeout{*************************************^^J%
- * Local config file scrpage.cfg used^^J%
- *************************************}}
- {}
-% \end{macrocode}
-%
-%
-% \subsection{Some checks}
-% \changes{v2.0}{2001/04/20}{\cs{headheight}-check}
-% Last but not least we do some checks at version 2. Some means one at
-% the moment. And the one is a check, if the \cs{headheight} should be
-% increased.
-% \begin{macrocode}
-\AtBeginDocument{%
- \ifdim\headheight=12pt
- \PackageWarningNoLine{scrpage2}%
- {seems you are using a constant headheight.\MessageBreak
- If you get overfull \string\vbox\space warnings at almost every%
- \MessageBreak
- page, you should increase headheight e.g. writing\MessageBreak
- \space\string\setlength{\string\headheight}{%
- 1.1\string\baselineskip}\MessageBreak
- into the preamble of your document.\MessageBreak
- A better solution would be to use typearea package}%
- \else\ifdim\headheight<1.07\baselineskip
- \PackageWarningNoLine{scrpage2}%
- {seems you are using a very small headheight.\MessageBreak
- If you get overfull \string\vbox\space warnings at almost every%
- \MessageBreak
- page, you should increase headheight e.g. writing\MessageBreak
- \space\string\setlength{\string\headheight}{%
- 1.1\string\baselineskip}\MessageBreak
- into the preamble of your document.\MessageBreak
- A better solution would be to use typearea package}%
- \fi\fi}
-% \end{macrocode}
-%
-% \subsection{End}
-% \begin{macrocode}
-%</scrpage>
-% \end{macrocode}
-%
-% \Finale
-%
-\endinput
-%
-% end of file `scrpage.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx b/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx
index 25fa71ad3fb..26e3b0af9e4 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
% ======================================================================
% scrwfile.dtx
-% Copyright (c) Markus Kohm, 2010-2019
+% Copyright (c) Markus Kohm, 2010-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -29,7 +29,7 @@
% at least three times.
% ----------------------------------------------------------------------
% scrwfile.dtx
-% Copyright (c) Markus Kohm, 2010-2019
+% Copyright (c) Markus Kohm, 2010-2020
%
% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets.
%
@@ -75,7 +75,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrwfile.dtx 3392 2019-11-19 09:37:46Z kohm $
+%%% From File: $Id: scrwfile.dtx 3453 2020-02-25 07:33:30Z kohm $
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{scrwfile.dtx}
@@ -454,6 +454,7 @@
% \cs{Ifattoclist}}%^^A
% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
% \cs{Iftocfeature}}%^^A
+% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A
% Clone the entries from the second (first mandatory) argument TOC to the
% third (second mandatory) argument TOC. If the first (optional) argument was
% given, define |\listof#3name| to this and also define |\listof#3| and clone
@@ -482,7 +483,7 @@
\Ifattoclist{#3}{%
\PackageWarning{scrwfile}{`#3' already under control of
tocbasic.\MessageBreak
- Nevertheless features will be set
+ Nevertheless features will be set%
}%
}{%
\addtotoclist[TOCclone]{#3}%
diff --git a/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx b/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx
index 4f42a82726f..8f25f2cd759 100644
--- a/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
% ======================================================================
% tocbasic.dtx
-% Copyright (c) Markus Kohm, 2008-2019
+% Copyright (c) Markus Kohm, 2008-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% tocbasic.dtx
-% Copyright (c) Markus Kohm, 2008-2019
+% Copyright (c) Markus Kohm, 2008-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: tocbasic.dtx 3401 2019-11-22 07:30:48Z kohm $
+%%% From File: $Id: tocbasic.dtx 3453 2020-02-25 07:33:30Z kohm $
%<identify>%%% (run: identify)
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
@@ -66,7 +66,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-22 08:30:48 +0100 (Fri, 22 Nov 2019) $
+ \filedate$Date: 2020-02-25 08:33:30 +0100 (Tue, 25 Feb 2020) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1962 $
\endgroup
@@ -1649,6 +1649,7 @@
% \begin{macro}{\tb@nt@level}
% \changes{v3.20}{2015/12/16}{undefined}%^^A
% \changes{v3.20}{2015/12/16}{local valid only}%^^A
+% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A
% Each entry to a TOC/list of has a numeric level. You may set up your own
% level.
% \begin{macrocode}
@@ -1656,7 +1657,7 @@
\PackageWarning{tocbasic}{%
deprecated option `level'.\MessageBreak
You should replace option `level' by option\MessageBreak
- `tocentrylevel'
+ `tocentrylevel'%
}%
\l@addto@macro\tb@nt@tocstyle@options{,level={##1}}%
\FamilyKeyStateProcessed