% \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% } % % \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}}} % % \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} % % % \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: