diff options
author | Karl Berry <karl@freefriends.org> | 2020-04-21 21:21:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-04-21 21:21:23 +0000 |
commit | 52b5238ab893a61a4e2c64843d074cd296836359 (patch) | |
tree | 134947d55aee4d68d2f1ef4ac63c59a08eebec82 /Master/texmf-dist/source/latex/koma-script | |
parent | 7c0b908f1a6e1489834fbdb0789766eed8a37b49 (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')
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 Binary files differindex 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 diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf b/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf Binary files differindex 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 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 |