% \iffalse meta-comment
% ======================================================================
% scrkernel-pagestyles.dtx
% Copyright (c) Markus Kohm, 2002-2023
%
% 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.md.
% ======================================================================
%%% From File: $Id: scrkernel-pagestyles.dtx 4058 2023-06-16 08:32:27Z kohm $
%
% \end{macrocode}
% \end{option}^^A footnosepline
% \end{macro}^^A \if@fsl
% \end{option}^^A footsepline
%
% \begin{option}{mpinclude}
% \changes{v2.95}{2002/07/08}{moved to \pkg*{typearea}}
% \end{option}{mpinclude}
%
%
% \subsection{Definition of the standard page styles}
%
%
% \begin{pgstyle}{plain,myheadings,headings}
% \changes{v2.0e}{1994/08/10}{\cls*{scrbook} does not provide single-side page
% styles}
% \changes{v2.0e}{1994/08/17}{in single-side mode \cs{markboth} replaced by
% \cs{markright}}
% \changes{v2.1b}{1994/12/31}{in single-side mode \cs{markboth} replaced by
% \cs{markright}}
% \changes{v2.2a}{1995/02/07}{dot after section number in \cls*{scrbook} and
% \cls*{scrreprt} removed}
% \changes{v2.2a}{1995/02/07}{using \cs{subsectionmark} in single-side mode
% with \cls*{scrartcl}}
% \changes{v2.2a}{1995/02/07}{using \cs{sectionmark} in single-side mode with
% \cls*{scrreprt}}
% \changes{v2.2c}{1995/05/25}{dot after chapter number removed}
% \changes{v2.2c}{1995/05/25}{numbers in running heads support CJK format
% extension}
% \changes{v2.3a}{1995/07/08}{because \cls{book} from version 1.2v provides
% option \opt{oneside} single-side page styles added to \cls*{scrbook}}
% \changes{v2.4f}{1996/10/08}{\cs{strut} added to page head}
% \changes{v2.97c}{2007/07/18}{distinguish \opt{twoside} as late as possible}
% \changes{v3.08}{2010/10/28}{\cs{noindent} added before usage of variable
% \var{nexthead} or \var{nextfoot}}
% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}}
% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} renamed to \cs{Ifnumbered}}
% In difference to the standard classes, the \KOMAScript{} classes use
% pagination in the page footer for all page styles. Also an optional
% separation line below the page head and above the page footer is
% supported. The ugly usage of pool man's upper case for the running head of
% the standard classes is also not used, but optional.
% \begin{macro}{\set@tempdima@hw}
% \changes{v2.8q}{2002/03/28}{added}
% Because with \pkg*{typearea} option \opt{mpinclude} the head should be
% extended to the margin note column, \cs{set@tempdima@hw} sets
% \len{@tempdima} to the corresponding head width.
% \begin{description}
% \item[Note:] Package \pkg*{scrlayer} does not use this code, but allows
% to configure the width of head and foot independent, which is much
% better.
% \end{description}
% \begin{macrocode}
%<*body>
\newcommand*{\set@tempdima@hw}{%
\setlength{\@tempdima}{\textwidth}%
\if@mincl
\addtolength{\@tempdima}{\marginparsep}%
\addtolength{\@tempdima}{\marginparwidth}%
\fi
}
% \end{macrocode}
% \end{macro}^^A \set@tempdima@hw
% \begin{fontelement}{pagenumber}
% \changes{v2.8o}{2001/09/14}{added}
% \begin{fontelement}{pagination}
% \changes{v2.8o}{2001/09/14}{alias added}
% \begin{fontelement}{pageheadfoot}
% \changes{v2.98c}{2008/02/14}{added}
% \begin{fontelement}{pagehead}
% \changes{v2.8o}{2001/09/14}{added with warning added}
% \changes{v2.98c}{2008/02/14}{changed to alias}
% \changes{v2.97c}{2007/09/25}{warning changed}
% \changes{v2.98c}{2008/02/14}{warning changed}
% \begin{fontelement}{pagefoot}
% \changes{v2.8o}{2001/09/14}{alias with warning added}
% \changes{v2.98c}{2008/02/14}{changed to element}
% \changes{v3.13}{2014/01/13}{warning changed}
% \begin{macro}{\pnumfont,\headfont}
% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} added}
% \begin{macro}{\footfont}
% \changes{v2.98c}{2008/02/14}{added}
% All these font settings are deprecated as user commands, but still valid as
% internal macros, used to define font elements. Because of using the old
% macros, we have to define elements manually instead of using \cs{newkomafont}.
% \begin{macrocode}
\newcommand*{\pnumfont}{\normalfont\normalcolor}
\newcommand*{\headfont}{\normalfont\normalcolor\slshape}
\newcommand*{\footfont}{}
% \end{macrocode}
% \begin{macrocode}
\newcommand*{\scr@fnt@pagenumber}{\pnumfont}
\aliaskomafont{pagination}{pagenumber}
\newcommand*{\scr@fnt@pageheadfoot}{\headfont}
\aliaskomafont{pagehead}{pageheadfoot}
%<*letter>
\newcommand*{\scr@fnt@wrn@pagehead}[1]{%
`pagehead' is only an alias of `pageheadfoot'.\MessageBreak
Font of page foot will also be changed%
}
\newcommand*{\scr@fnt@pagefoot}{\footfont}
%
%<*!letter>
\newcommand*{\scr@fnt@pagefoot}{\footfont}
\newcommand*{\scr@fnt@wrn@pagefoot}[1]{%
This class does not use font element `pagefoot'!\MessageBreak
Maybe you should load package `scrlayer-scrpage',\MessageBreak
before using this element%
}
%!letter>
% \end{macrocode}
% \end{macro}^^A \footfont
% \end{macro}^^A \pnumfont,\headfont
% \end{fontelement}^^A pagefoot
% \end{fontelement}^^A pagehead
% \end{fontelement}^^A pageheadfoot
% \end{fontelement}^^A pagination
% \end{fontelement}^^A pagenumber
%
% \begin{command}{\pagemark}
% \changes{v2.95}{2006/03/15}{available for all classes}
% \changes{v3.05}{2010/02/05}{group added}
% \begin{command}{\letterpagemark}
% \changes{v3.17}{2015/03/20}{added for \pkg*{scrletter}}
% The pagination used by all classes. Originally this has been defined to
% simplify usage of \pkg{fancyhdr} (instead of
% \pkg[https://www.ctan.org/pkg/koma-script-obsolete]{scrpage2}), because in
% this case you just have to use \cs{pagemark} instead of \cs{thepage} in the
% definitions of the fancy page style to support \KOMAScript. But neither the
% author nor the users of \pkg{fancyhdr} have used it. However, now it is
% useful for \pkg{scrlayer-scrpage} too. And because we use another pagination
% for letters, we define a second command for \pkg*{scrletter}.
% \begin{macrocode}
%
%
%<*(class|letter)&body>
\newcommand*{%
% \pagemark
% \letterpagemark
}{%
{\usekomafont{pagenumber}{%
% \pagename\nobreakspace
\thepage}}}
%(class|letter)&body>
% \end{macrocode}
% \end{command}^^A \letterpagemark
% \end{command}^^A \pagemark
% First of all we have to define the page styles of all classes but the letter
% class.
% \begin{macrocode}
%<*class&!letter&body>
\renewcommand*{\ps@plain}{%
\renewcommand*{\@oddhead}{}%
\let\@evenhead\@oddhead
\renewcommand*{\@evenfoot}{%
\set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
\if@fsl \hrule \vskip 3\p@ \fi
\hb@xt@ \@tempdima{{\pagemark\hfil}}}}}%
\renewcommand*{\@oddfoot}{%
\set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
\if@fsl \hrule \vskip 3\p@ \fi
\hb@xt@ \@tempdima{{\hfil\pagemark
\if@twoside\else\hfil\fi}}}}\hss}%
}%
\newcommand*{\ps@headings}{\let\@mkboth\markboth
\renewcommand*{\@evenhead}{%
\set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
\hb@xt@ \@tempdima{{\headfont\strut\leftmark\hfil}}%
\if@hsl \vskip 1.5\p@ \hrule \fi}}}%
\renewcommand*{\@oddhead}{%
\set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
\hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark
\if@twoside\else\hfil\fi}}%
\if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}%
\renewcommand*{\@evenfoot}{%
\set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
\if@fsl \hrule \vskip 3\p@ \fi
\hb@xt@ \@tempdima{{\pagemark\hfil}}}}}%
\renewcommand*{\@oddfoot}{%
\set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
\if@fsl \hrule \vskip 3\p@ \fi
\hb@xt@ \@tempdima{{\hfil\pagemark
\if@twoside\else\hfil\fi}}}}\hss}%
%<*article>
% \end{macrocode}
% \changes{v3.41}{2023/06/16}{split usage of \cs{MakeMarkcase}}
% From version 3.41 usage of \cs{MakeMarkcase} is split for number and text,
% to also support \cs{MakeTitlecase}.
% \begin{macrocode}
\renewcommand*{\sectionmark}[1]{%
\if@twoside\expandafter\markboth\else\expandafter\markright\fi
{%
\Ifnumbered{section}{\MakeMarkcase{\sectionmarkformat}}{}%
\MakeMarkcase{##1}%
}{}%
}%
\renewcommand*{\subsectionmark}[1]{%
\if@twoside
\markright{%
\Ifnumbered{subsection}{\MakeMarkcase{\subsectionmarkformat}}{}%
\MakeMarkcase{##1}%
}%
\fi
}%
%
%<*report|book>
\renewcommand*{\chaptermark}[1]{%
\if@twoside\expandafter\markboth\else\expandafter\markright\fi
{%
\Ifnumbered{chapter}{%
% \if@mainmatter
\MakeMarkcase{\chaptermarkformat}%
% \fi
}{}\MakeMarkcase{##1}%
}{}%
}%
\renewcommand*{\sectionmark}[1]{%
\if@twoside
\markright{%
\Ifnumbered{section}{\MakeMarkcase{\sectionmarkformat}}{}%
\MakeMarkcase{##1}%
}%
\fi
}%
%
}%
\newcommand*{\ps@myheadings}{\let\@mkboth\@gobbletwo
\renewcommand*{\@evenhead}{%
\set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
\hb@xt@ \@tempdima{{\headfont\strut\leftmark\hfil}}%
\if@hsl \vskip 1.5\p@ \hrule \fi}}}%
\renewcommand*{\@oddhead}{%
\set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
\hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark
\if@twoside\else\hfil\fi}}%
\if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}%
\renewcommand*{\@evenfoot}{%
\set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
\if@fsl \hrule \vskip 3\p@ \fi
\hb@xt@ \@tempdima{{\pagemark\hfil}}}}}%
\renewcommand*{\@oddfoot}{%
\set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
\if@fsl \hrule \vskip 3\p@ \fi
\hb@xt@ \@tempdima{{\hfil\pagemark
\if@twoside\else\hfil\fi}}}}\hss}%
% \renewcommand*{\chaptermark}[1]{}%
% \renewcommand*{\subsectionmark}[1]{}%
\renewcommand*{\sectionmark}[1]{}%
}
%
% \end{macrocode}
% And now the page styles of the letter class.
% \begin{macrocode}
%<*class&letter&body>
\renewcommand*{\ps@plain}{%
\renewcommand*{\@oddhead}{%
\vbox{\vbox{\hsize=\textwidth\hbox to\textwidth{%
\parbox[b]{\textwidth}{\strut
\ifnum\@pageat>-1
\ifnum\@pageat<3
\ifcase\@pageat\raggedright\or\centering\or\raggedleft\fi
\pagemark
\else
\hfill
\fi
\else
\hfill
\fi
}%
}%
\if@hsl\kern1pt\rule{\textwidth}{.4pt}\fi
}%
}%
}%
\let\@evenhead\@oddhead%
\renewcommand*{\@oddfoot}{%
\parbox[t]{\textwidth}{%
\if@fsl
{%
\raggedright%
\vskip-\baselineskip\vskip.4pt
\hrulefill\\
}%
\fi
\ifnum\@pageat>2
\ifcase\@pageat\or\or\or\raggedright\or\centering\or\raggedleft\fi
\strut\pagemark
\else
\hfill
\fi
}%
}%
\let\@evenfoot\@oddfoot
}
\newcommand*{\ps@headings}{\let\@mkboth\markboth
\renewcommand*{\@oddhead}{%
\vbox{%
\vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\noindent
\usekomavar{nexthead}}}%
\if@hsl\kern1pt\rule{\textwidth}{.4pt}\fi%
}%
}%
\let\@evenhead\@oddhead
\renewcommand*{\@oddfoot}{%
\parbox[t]{\textwidth}{%
\if@fsl
{%
\raggedright%
\vskip-\baselineskip\vskip.4pt
\hrulefill\\
}%
\fi
\vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\footfont\noindent
\usekomavar{nextfoot}}}%
}%
}%
\let\@evenfoot\@oddfoot
}
\newcommand*{\ps@myheadings}{%
\ps@headings
\let\@mkboth\@gobbletwo
}
%
% \end{macrocode}
% The letter package already uses \pkg*{scrlayer-scrpage}:
% \begin{macrocode}
%<*package&letter&body>
\RequirePackage{scrlayer-scrpage}
\newpairofpagestyles{letter}{%
\clearpairofpagestyles
\lehead[\ifnum\@pageat=\z@\pagemark\fi]%
{\usekomavar{nexthead}}%
\lohead[\ifnum\@pageat=\z@\pagemark\fi]%
{\usekomavar{nexthead}}%
\chead[\ifnum\@pageat=\@ne\pagemark\fi]%
{}%
\rehead[\ifnum\@pageat=\tw@\pagemark\fi]%
{}%
\rohead[\ifnum\@pageat=\tw@\pagemark\fi]%
{}%
\lefoot[\ifnum\@pageat=\thr@@\pagemark\fi]%
{\usekomavar{nextfoot}}%
\lofoot[\ifnum\@pageat=\thr@@\pagemark\fi]%
{\usekomavar{nextfoot}}%
\cfoot[\ifnum\@pageat=4 \pagemark\fi]%
{}%
\refoot[\ifnum\@pageat=5 \pagemark\fi]%
{}%
\rofoot[\ifnum\@pageat=5 \pagemark\fi]%
{}%
}
%
% \end{macrocode}
% \end{pgstyle}^^A plain,myheadings,headings
%
% \begin{pgstyle}{notepaper}
% \changes{v3.27}{2019/03/22}{plan added}
% There are plans for \pkg*{scrletter} package to use a new layer
% \texttt{notepaper} to define the notepaper. With this layer it is possible
% to add several separated information blocks everywhere on the first
% page. A \texttt{picture} mode layer is used, because this makes the
% placement easier. It's a background layer, so the page contents are printed
% above. We could also use an odd-side layer, but who knows \dots
% \begin{macrocode}
%<*package&letter&body&willbe>
\DeclareNewLayer[%
background,
mode=picture,
page,
align=b,
contents=\scr@notepaper@printallelements
]{notepaper}
% \end{macrocode}
% For \cs{scr@notepaper@elements} see \file{scrkernel-notepaper.dtx}.
%
% A second layer is used for the foldmarks. Again it is a picture layer. But
% this time it is an odd-sides-only layer.
% \begin{macrocode}
\DeclareNewLayer[%
background,
mode=picture,
page,
align=b,
contents=\scr@foldmarks@printallelements
]{foldmarks}
% \end{macrocode}
% For \cs{@hfoldmark} and \cs{@vfoldmark} see \file{scrkernel-notepaper.dtx}.
%
% Last but not least the page style. The foldmarks are below the notepaper.
% \begin{macrocode}
\DeclareNewPageStyleByLayers{notepaper}{foldmarks,notepaper}
%
% \end{macrocode}
% \end{pgstyle}^^A notepaper
%
%
% \subsection{Selection of page styles for special pages}
%
%
% \begin{command}{\titlepagestyle,\indexpagestyle}
% \changes{v2.8d}{2001/07/05}{added}
% For pages with the in-page title and for the first page of the index,
% \KOMAScript{} provides configurable page styles. These are initially
% \pstyle{plain}.
% \begin{macrocode}
%<*class&!letter&body>
\newcommand*{\titlepagestyle}{plain}
\newcommand*{\indexpagestyle}{plain}
%
% \end{macrocode}
% \end{command}
% \begin{command}{\partpagestyle}
% \changes{v2.8d}{2001/07/05}{added}
% \changes{v3.00}{2008/08/05}{not with \cls*{scrartcl}}
% \changes{v3.18}{2015/06/10}{indirect by \cs{DeclareSectionCommand}}
% \end{command}
% \begin{command}{\chapterpagestyle}
% \changes{v2.8d}{2001/07/05}{added}
% \changes{v3.18}{2015/05/20}{indirect by \cs{DeclareSectionCommand}}
% \end{command}
%
%
% \subsection{Selection of initial page style}
%
% The initial page style depends on the class:
% \begin{macrocode}
%<*class&body>
%\pagestyle{plain}
%\pagestyle{headings}
% \end{macrocode}
% But the pagination is always done using Arabic numbers.
% \begin{macrocode}
\pagenumbering{arabic}
%
% \end{macrocode}
%
% \section{Implementation of Interleaf Pages}
%
% \begin{description}
% \item[ToDo:] Move this code to a new file \file{scrkernel-interleaf.dtx}.
% \end{description}
%
% \begin{option}{cleardoublepage}
% \changes{v2.95}{2004/08/24}{added}
% \changes{v2.96a}{2007/01/03}{value \opt{\quotechar=current} fixed}
% \changes{v2.98c}{2008/03/06}{\cs{def} replaced by \cs{let}, because of
% option \opt{open}}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/10}{using value storage}
% \changes{v3.37}{2022/05/10}{guard for \pkg*{scrextend} fixed}
% \changes{v3.39}{2022/10/25}{using \cs{scr@v@is@gt}}
% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
% option storage commands}
% \begin{command}{\cleardoublestandardpage}
% \changes{v2.8a}{2001/06/18}{added}
% \changes{v2.96a}{2007/01/02}{default value added}
% \begin{command}{\cleardoubleusingstyle}
% \changes{v2.95}{2004/08/24}{added}
% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} replaced by
% \cs{pagestyle}}
% \begin{command}{\cleardoubleemptypage,\cleardoubleplainpage}
% \changes{v2.8a}{2001/06/18}{added}
% \begin{command}{\cleardoubleoddpage,\cleardoubleoddstandardpage}
% \changes{v2.98c}{2008/03/06}{added}
% \begin{command}{\cleardoubleoddusingstyle}
% \changes{v2.98c}{2008/03/06}{added}
% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} replaced by
% \cs{pagestyle}}
% \begin{command}{\cleardoubleoddemptypage,\cleardoubleoddplainpage}
% \changes{v2.98c}{2001/06/18}{added}
% \begin{command}{\cleardoubleevenpage,\cleardoubleevenstandardpage}
% \changes{v2.98c}{2008/03/06}{added}
% \begin{command}{\cleardoubleevenusingstyle}
% \changes{v2.98c}{2008/03/06}{added}
% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} replaced by
% \cs{pagestyle}}
% \begin{command}{\cleardoubleevenemptypage,\cleardoubleevenplainpage}
% \changes{v2.98c}{2001/06/18}{added}
% \begin{command}{\cleardoublepage}
% \changes{v2.98c}{2001/06/18}{always redefining it}
% \changes{v2.98c}{2008/04/11}{new default from version 2.98c}
% \changes{v3.13}{2014/03/01}{allow page style \pstyle{headings} as value for
% class option}
% \changes{v3.28}{2019/11/18}{\cs{ifnotundefined} replaced by
% \cs{Ifnotundefined}}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} replaced by \cs{Ifstr}}
% With options \opt{twoside} and \opt{openright}, which are both default with
% \cls*{scrbook} and available with \cls*{scrreprt}, \cs{chapter} imply
% \cs{cleardoublepage}. Usually this results in a new odd page and can insert
% an interleaf page. With the standard classes this interleaf page has the
% current active page style and therefore can have a running head and
% pagination. Mainstream typography uses empty pages without running head or
% pagination for interleaf pages. Some users also want a pagination but no
% running head. Option \opt{cleardoublepage} can be used to select all the
% often wishes and also every other page style. The corresponding commands are
% also defined and the option re-defines \cs{cleardoublepage} to use one of
% these additional commands. Similar is for \cs{cleardoubleoddpage} and
% \cs{cleardoubleevenpage}.
% \begin{macrocode}
%<*(class|extend)&option>
\KOMA@key{cleardoublepage}{%
\begingroup
\def\@tempc{%
\endgroup
\KOMA@unknown@keyval{cleardoublepage}{#1}{%
'current' or any defined pagestyle e.g. 'empty','plain', 'headings'}%
}%
\Ifstr{#1}{current}{%
\def\@tempc{\endgroup
\def\cleardoublepage{\cleardoublestandardpage}%
\def\cleardoubleoddpage{\cleardoubleoddstandardpage}%
\def\cleardoubleevenpage{\cleardoubleevenstandardpage}%
\FamilyKeyStateProcessed
\KOMA@kav@replacevalue{%
% scrextend.\scr@pkgextension
% \KOMAClassFileName
}{cleardoublepage}{current}%
}%
}{%
\Ifnotundefined{ps@#1}{%
\def\@tempc{\endgroup
\def\cleardoublepage{\cleardoublepageusingstyle{#1}}%
\def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}%
\def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}%
\FamilyKeyStateProcessed
\KOMA@kav@xreplacevalue{%
% scrextend.\scr@pkgextension
% \KOMAClassFileName
}{cleardoublepage}{#1}%
}%
}{%
% \end{macrocode}
% At class loading time page style \pstyle{headings} is still undefined, but
% should be allowed as value for option \opt{cleardoublepage}.
% \begin{description}
% \item[Note:] Page style \pstyle{plain} is already defined in the \LaTeX{}
% kernel and therefore does not need special treatment.
% \end{description}
% \begin{macrocode}
%<*class>
\ifx\@currname\KOMAClassName
\ifx\@currext\@clsextension
\Ifstr{#1}{headings}{%
\def\@tempc{\endgroup
\def\cleardoublepage{\cleardoublepageusingstyle{#1}}%
\def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}%
\def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}%
\FamilyKeyStateProcessed
\KOMA@kav@xreplacevalue{\KOMAClassFileName}%
{cleardoublepage}{#1}%
}%
}{}%
\fi
\fi
%
}%
}%
\@tempc
}
\newcommand*{\cleardoubleoddstandardpage}{}
\let\cleardoubleoddstandardpage=\cleardoublepage
\newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage
{\pagestyle{#1}\cleardoubleoddstandardpage}}
\newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}}
\newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}}
\newcommand*{\cleardoubleevenstandardpage}{%
\clearpage
\if@twoside\ifodd\c@page
\hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi
\fi\fi
}
\newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage
{\pagestyle{#1}\cleardoubleevenstandardpage}}
\newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}}
\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}}
\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}
\renewcommand*{\cleardoublepage}{%
% \expandafter\ifnum \scr@v@is@gt{2.98c}%
\cleardoubleemptypage
% \else
% \cleardoublestandardpage
% \fi
}
\KOMA@kav@add{%
% scrextend.\scr@pkgextension
% \KOMAClassFileName
}{cleardoublepage}{%
% \expandafter\ifnum \scr@v@is@gt{2.98c}
empty%
% \else current\fi
}
% \end{macrocode}
% We expand the value at the end of the class or package.
% \begin{macrocode}
%\AtEndOfPackage{%
%\AtEndOfClass{%
\KOMAoptionOf[\expandafter\edef\expandafter\@tempa\@firstofone]%
{%
% scrextend.\scr@pkgextension
% \KOMAClassFileName
}{cleardoublepage}%
\KOMA@kav@removekey{%
% scrextend.\scr@pkgextension
% \KOMAClassFileName
}{cleardoublepage}%
\KOMA@kav@xadd{%
% scrextend.\scr@pkgextension
% \KOMAClassFileName
}{cleardoublepage}{\@tempa}%
}
\newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage}
\newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage}
\newcommand*{\cleardoublepageusingstyle}[1]{\clearpage
{\pagestyle{#1}\cleardoublestandardpage}}
\newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}}
\newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}}
% \end{macrocode}
% \end{command}^^A \cleardoublepage
% \end{command}^^A \cleardoubleevenplainpage,\cleardoubleevenemptypage
% \end{command}^^A \cleardoubleevenusingstyle
% \end{command}^^A \cleardoubleevenpage,\cleardoubleevenstandardpage
% \end{command}^^A \cleardoubleoddemptypage,\cleardoubleoddplainpage
% \end{command}^^A \cleardoubleoddusingstyle
% \end{command}^^A \cleardoubleoddpage,\cleardoubleoddstandardpage
% \end{command}^^A \cleardoubleemptypage,\cleardoubleplainpage
% \end{command}^^A \cleardoubleusingstyle
% \end{command}^^A \cleardoublestandardpage
% \begin{option}{cleardoubleempty,cleardoubleplain,cleardoublestandard}
% \changes{v2.8a}{2001/06/18}{added}
% \changes{v2.8q}{2001/11/06}{\cs{cleardoublestandardpage} replaced by
% \cs{cleardoublestandard}}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by
% \cs{PackageInfoNoLine}}
% \changes{v3.01a}{2008/11/20}{deprecated}
% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
%<*class&!v4>
\KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty}
\KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain}
\KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current}
%
%(class|extend)&option>
% \end{macrocode}
% \end{option}^^A cleardoublestandard,cleardoubleplain,cleardoubleempty
% \end{option}^^A cleardoublepage
%
%
% \Finale
% \PrintChanges
%
\endinput
% Local Variables:
% mode: doctex
% ispell-local-dictionary: "en_US"
% eval: (flyspell-mode 1)
% TeX-master: t
% TeX-engine: luatex-dev
% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
% End: