diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/typearea.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/koma-script/typearea.sty | 1234 |
1 files changed, 636 insertions, 598 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/typearea.sty b/Master/texmf-dist/tex/latex/koma-script/typearea.sty index 05e7d17c530..f4640a772bf 100644 --- a/Master/texmf-dist/tex/latex/koma-script/typearea.sty +++ b/Master/texmf-dist/tex/latex/koma-script/typearea.sty @@ -9,13 +9,14 @@ %% scrkernel-basics.dtx (with options: `load') %% scrkernel-compatibility.dtx (with options: `package,typearea,init') %% scrkernel-typearea.dtx (with options: `package,typearea,init') -%% scrkernel-typearea.dtx (with options: `package,typearea,option') %% scrkernel-compatibility.dtx (with options: `package,typearea,option') -%% scrkernel-typearea.dtx (with options: `package,typearea,body') +%% scrkernel-typearea.dtx (with options: `package,typearea,options') %% scrkernel-compatibility.dtx (with options: `package,typearea,body') +%% scrkernel-typearea.dtx (with options: `package,typearea,body') +%% scrkernel-typearea.dtx (with options: `package,typearea,final') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2016 Markus Kohm [komascript at gmx info] +%% Copyright (c) 1994-2017 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -45,9 +46,9 @@ %% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e %% standard classes created by The LaTeX3 Project 1994-1996. You may %% find a complete unmodified copy of LaTeX2e at -%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. +%% <http://mirror.ctan.org/tex-archive/macros/latex/base/>. %% -%%% From File: $Id: scrkernel-version.dtx 2592 2017-02-16 16:56:10Z kohm $ +%%% From File: $Id: scrkernel-version.dtx 2640 2017-05-08 09:36:55Z kohm $ \begingroup \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined @@ -69,19 +70,24 @@ \fi } \fi - \@CheckKOMAScriptVersion{2017/04/13 v3.23 KOMA-Script}% + \@CheckKOMAScriptVersion{2017/09/07 v3.24 KOMA-Script}% \endgroup \providecommand*{\scr@pkgextension}{\@pkgextension} \AtBeginDocument{% \let\scr@pkgextension\@pkgextension } -%%% From File: $Id: scrkernel-typearea.dtx 2617 2017-04-03 13:56:55Z kohm $ (identify) +%%% From File: $Id: scrkernel-typearea.dtx 2661 2017-07-24 19:45:16Z kohm $ +%%% (run: identify) \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{typearea}[% - 2017/04/13 v3.23 KOMA-Script - package (type area)] + 2017/09/07 v3.24 KOMA-Script + package + (type area)] +%%% From File: $Id: scrkernel-basics.dtx 2640 2017-05-08 09:36:55Z kohm $ +%%% (run: load) \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: $Id: scrkernel-compatibility.dtx 2596 2017-02-22 07:45:45Z kohm $ (init) +%%% From File: $Id: scrkernel-compatibility.dtx 2640 2017-05-08 09:36:55Z kohm $ +%%% (run: init) \providecommand* {\scr@compatibility}{\scr@v@last} \newcommand*{\scr@ta@compatibility}{\scr@compatibility} @@ -149,8 +155,69 @@ \@namedef{scr@v@3.21}{15} \@namedef{scr@v@3.22}{16} \@namedef{scr@v@3.23}{16} +\@namedef{scr@v@3.24}{16} \@namedef{scr@v@last}{16} -%%% From File: $Id: scrkernel-typearea.dtx 2617 2017-04-03 13:56:55Z kohm $ (init) +%%% From File: $Id: scrkernel-typearea.dtx 2661 2017-07-24 19:45:16Z kohm $ +%%% (run: init) +\providecommand\ta@divlist{{}{}{}{}{}{}{}{}{}{8}{10}{12}} +\providecommand\ta@divlistelse{1} +%%% From File: $Id: scrkernel-compatibility.dtx 2640 2017-05-08 09:36:55Z kohm $ +%%% (run: option) +\KOMA@key{version}[last]{% + \scr@ifundefinedorrelax{scr@v@#1}{% + \def\scr@compatibility{0}% + \PackageWarningNoLine{% + typearea% + }{% + You have set option `version' to value `#1', but\MessageBreak + this value of version is not supported.\MessageBreak + Because of this, version was set to `first'% + }% + \FamilyKeyStateProcessed + \KOMA@kav@replacevalue{.% + typearea.\scr@pkgextension + }{version}{first}% + }{% + \PackageInfoNoLine{% + typearea% + }{% + Switching compatibility level to `#1'% + }% + \edef\scr@ta@compatibility{\@nameuse{scr@v@#1}}% + \FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.% + typearea.\scr@pkgextension + }{version}{#1}% + }% +} +\AtEndOfPackage{% + \KOMA@key{version}[]{% + \PackageError{% + typearea% + }{% + Option `version' too late% + }{% + Option `version' may be set only while loading the + package.\MessageBreak + But you've tried to set it up later.% + }% + \FamilyKeyStateProcessed + }% +} +\newcommand*{\scr@ta@v@is@lt}[1]{% + \scr@ta@compatibility<\@nameuse{scr@v@#1} +} +\newcommand*{\scr@ta@v@is@gt}[1]{% + \scr@ta@compatibility>\@nameuse{scr@v@#1} +} +\newcommand*{\scr@ta@v@is@le}[1]{% + \numexpr\scr@ta@compatibility-\@ne <\@nameuse{scr@v@#1} +} +\newcommand*{\scr@ta@v@is@ge}[1]{% + \numexpr\scr@ta@compatibility+\@ne >\@nameuse{scr@v@#1} +} +%%% From File: $Id: scrkernel-typearea.dtx 2661 2017-07-24 19:45:16Z kohm $ +%%% (run: options) \providecommand*{\PaperNameToSize}[2][warning]{% \ifstr{#2}{letter}{% \setlength\paperheight{11in}% @@ -259,268 +326,172 @@ }% } \ProvideUnknownPaperSizeError{ignore}{} -%%% From File: $Id: scrkernel-typearea.dtx 2617 2017-04-03 13:56:55Z kohm $ (option) -\newcommand*\SetDIVList[1]{\def\ta@divlist{{}{}{}{}{}{}{}{}{}#1}} -\newcommand*\SetXDIVList[1]{\def\ta@divlist{#1}} -\newlength{\ta@bcor} -\newcount\ta@div -\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} -\newcommand*{\@@BCOR}{} -\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% - \ifstr{#1}{}{% - \ifstr{#3}{BCOR}{% - \ifdimen{#2}{% - \KOMA@UseDeprecatedOption{% - \PackageWarningNoLine{typearea}}{BCOR#2}{BCOR=#2}% - }{\scr@pti@nerr@r}% - }{\scr@pti@nerr@r}% - }{\scr@pti@nerr@r}% -} -\newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV} -\newcommand*{\@@DIV}{} -\def\@@DIV #1DIV#2DIV#3\@@DIV{% - \edef\@tempa{#1}\ifx\@tempa\@empty - \edef\@tempa{#3}\def\@tempb{DIV}\ifx\@tempa\@tempb - \ifnumber{#2}{% - \KOMA@UseDeprecatedOption{% - \PackageWarningNoLine{typearea}}{DIV#2}{DIV=#2}% - }{\scr@pti@nerr@r}% - \else\scr@pti@nerr@r\fi - \else\@BCOR\fi -} -\newcommand{\@headlines}{% - \expandafter\@@headlines\CurrentOption headlines\@@headlines% -} -\newcommand*{\@@headlines}{} -\def\@@headlines #1headlines#2\@@headlines{ - \edef\@tempa{#2}\edef\@tempb{headlines}\ifx\@tempa\@tempb - \setlength{\@tempdima}{#1\baselineskip}% - \def\ta@hh{#1\baselineskip}% - \else\@DIV\fi -} -\newcommand\isopaper[2][a]{% - \ISO@PaperNameToSize[typearea]#1#2\@nil - \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax - \scr@setpaperorientation - \else - \if@landscape\scr@switchpapersizes\fi - \fi -} -\ProvideUnknownPaperSizeError{typearea}{% - \PackageError{typearea}{% - Unknown ISO/DIN-papersize-letter #1% +\KOMA@DeclareStandardOption[typearea]{a4paper}{paper=a4} +\KOMA@DeclareStandardOption[typearea]{a5paper}{paper=a5} +\KOMA@DeclareStandardOption[typearea]{b5paper}{paper=b5} +\KOMA@DeclareStandardOption[typearea]{letterpaper}{paper=letter} +\KOMA@DeclareStandardOption[typearea]{legalpaper}{paper=legal} +\KOMA@DeclareStandardOption[typearea]{executivepaper}{paper=executive} +\KOMA@DeclareStandardOption[typearea]{landscape}{paper=landscape} +\KOMA@DeclareStandardOption[typearea]{portrait}{paper=portrait} +\KOMA@key{paper}{% + \ifstr{#1}{seascape}{% + \@seascapetrue + \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax + \@landscapetrue + \scr@setpaperorientation + \else + \if@landscape\else\scr@switchpapersizes\@landscapetrue\fi + \fi + \FamilyKeyStateProcessed + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}% + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}% + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}% + \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{seascape}% }{% - There are only four defined paper scalings:\MessageBreak - a = ISO/DIN-A, b = ISO/DIN-B, c = ISO/DIN-C, - d = ISO/DIN-D\MessageBreak - Read KOMA-Script-documentation for further information.% - }% - \setlength{\paperwidth}{841sp}% - \setlength{\paperheight}{1189sp}% -} -\newcommand*\scr@setpaperorientation{% - \ifdim\paperheight>\paperwidth - \if@landscape\scr@switchpapersizes\fi - \else - \if@landscape\else\scr@switchpapersizes\fi - \fi -} -\newcommand*\scr@switchpapersizes{% - \@tempdima\paperwidth\paperwidth\paperheight\paperheight\@tempdima -} -\newcommand*{\iso@paper}[1]{\expandafter\iso@@paper#1\@nil} -\newcommand*{\iso@@paper}{} -\def\iso@@paper#1#2\@nil{% - \@tempswafalse - \if #1a\@tempswatrue - \else\if #1A\@tempswatrue - \else\if #1b\@tempswatrue - \else\if #1B\@tempswatrue - \else\if #1c\@tempswatrue - \else\if #1C\@tempswatrue - \else\if #1d\@tempswatrue - \else\if #1D\@tempswatrue - \fi\fi\fi\fi\fi\fi\fi\fi - \if@tempswa - \ifnumber{#2}{\isopaper[#1]{#2}}{\@tempswafalse}% - \fi -} -\newcommand*{\x@paper}{% - \expandafter\x@@paper\CurrentOption paper\x@@paper% -} -\newcommand*{\x@@paper}{} -\def\x@@paper #1#2paper#3\x@@paper{% - \ifstr{#3}{paper}{% - \ifnumber{#2}{% - \ifstr{#1}{a}{% - \isopaper[a]{#2}% + \ifstr{#1}{landscape}{% + \@seascapefalse + \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax + \@landscapetrue + \scr@setpaperorientation + \else + \if@landscape\else\scr@switchpapersizes\@landscapetrue\fi + \fi + \FamilyKeyStateProcessed + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}% + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}% + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}% + \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{landscape}% + }{% + \ifstr{#1}{portrait}{% + \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax + \@landscapefalse + \scr@setpaperorientation + \else + \if@landscape\scr@switchpapersizes\@landscapefalse\fi + \fi + \FamilyKeyStateProcessed + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}% + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}% + \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}% + \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{portrait}% }{% - \ifstr{#1}{b}{% - \isopaper[b]{#2}% + \ifstr{#1}{letter}{% + \if@landscape + \setlength\paperheight{8.5in}% + \setlength\paperwidth {11in}% + \else + \setlength\paperheight{11in}% + \setlength\paperwidth {8.5in}% + \fi + \FamilyKeyStateProcessed + \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% + \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{letter}% + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% + \if@seascape seascape\else + \if@landscape landscape\else portrait\fi\fi + }% }{% - \ifstr{#1}{c}{% - \isopaper[c]{#2}% + \ifstr{#1}{legal}{% + \if@landscape + \setlength\paperheight{8.5in}% + \setlength\paperwidth {14in}% + \else + \setlength\paperheight{14in}% + \setlength\paperwidth {8.5in}% + \fi + \FamilyKeyStateProcessed + \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% + \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{legal}% + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% + \if@seascape seascape\else + \if@landscape landscape\else portrait\fi\fi + }% }{% - \ifstr{#1}{d}{% - \isopaper[d]{#2}% - }{\scr@pti@nerr@r}% + \ifstr{#1}{executive}{% + \if@landscape + \setlength\paperheight{7.25in}% + \setlength\paperwidth {10.5in}% + \else + \setlength\paperheight{10.5in}% + \setlength\paperwidth {7.25in}% + \fi + \FamilyKeyStateProcessed + \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% + \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{executive}% + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% + \if@seascape seascape\else + \if@landscape landscape\else portrait\fi\fi + }% + }{% + \iso@paper{#1}% + \if@tempswa + \FamilyKeyStateProcessed + \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{#1}% + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% + \if@seascape seascape\else + \if@landscape landscape\else portrait\fi\fi + }% + \else + \expandafter\maybe@pair#1::\@nil + \if@tempswa + \FamilyKeyStateProcessed + \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% + \expandafter\ifnum \scr@ta@v@is@lt{3.01b}\relax + \PackageWarningNoLine{typearea}{% + You may have to exchange height and width!\MessageBreak + Until KOMA-Script version 3.01b the semantic\MessageBreak + of option `paper' was `paper=height:width'\MessageBreak + instead of `paper=width:height'.\MessageBreak + I've switched back to that old interpretation\MessageBreak + because of the given compatiblity settings}% + \setlength\paperwidth{\@tempb}% + \setlength\paperheight{\@tempa}% + \else + \setlength\paperwidth{\@tempa}% + \setlength\paperheight{\@tempb}% + \fi + \expandafter\ifnum \scr@ta@v@is@lt{3.22}\relax + \if@landscape + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{\@tempa:\@tempb}% + \else + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{\@tempb:\@tempa}% + \fi + \else + \scr@setpaperorientation + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% + \the\paperwidth:\the\paperheight}% + \fi + \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% + \if@seascape seascape\else + \if@landscape landscape\else portrait\fi\fi + }% + \else + \KOMA@unknown@keyval{paper}{#1}{% + `letter', `legal', `executive', `a'<nr>, `b'<nr>, + `c'<nr>, `d'<nr>,\MessageBreak + <width>`:'<height>, `landscape' and `portrait'% + }% + \fi + \fi + }% }% }% }% - }{\scr@pti@nerr@r}% - }{% - \@headlines - }% -} -\newcommand*{\scr@pti@nerr@r}{ - \@unknownoptionerror -} -\KOMA@key{headlines}{% - \begingroup - \setlength{\@tempdima}{#1\baselineskip}% - \endgroup - \def\ta@hh{#1\baselineskip}% - \FamilyKeyStateProcessed - \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headlines}{#1}% - \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headheight}{#1\baselineskip}% -} -\KOMA@key{footlines}{% - \begingroup - \setlength{\@tempdima}{#1\baselineskip}% - \endgroup - \def\ta@fh{#1\baselineskip}% - \FamilyKeyStateProcessed - \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footlines}{#1}% - \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footheight}{#1\baselineskip}% -} -\KOMA@key{headheight}{% - \begingroup - \setlength{\@tempdima}{#1}% - \endgroup - \def\ta@hh{#1}% - \FamilyKeyStateProcessed - \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headheight}{#1}% - \KOMA@kav@removekey{.typearea.\scr@pkgextension}{headlines}% -} -\KOMA@key{footheight}{% - \begingroup - \setlength{\@tempdima}{#1}% - \endgroup - \def\ta@fh{#1}% - \FamilyKeyStateProcessed - \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footheight}{#1}% - \KOMA@kav@removekey{.typearea.\scr@pkgextension}{footlines}% -} -\newif\if@hincl\@ifundefined{if@hsl}{}{\let\if@hincl\if@hsl} -\KOMA@ifkey{headinclude}{@hincl} -\KOMA@DeclareDeprecatedOption[typearea]{headexclude}{headinclude=false} -\KOMA@key{headsepline}[true]{% - \KOMA@set@ifkey{headinclude}{@hincl}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \KOMA@kav@replacebool{.typearea.\scr@pkgextension}{headinclude}{@hincl}% - \fi -} -\newif\if@fincl\@ifundefined{if@fsl}{}{\let\if@fincl\if@fsl} -\KOMA@ifkey{footinclude}{@fincl} -\KOMA@DeclareDeprecatedOption[typearea]{footexclude}{footinclude=false} -\KOMA@key{footsepline}[true]{% - \KOMA@set@ifkey{footinclude}{@fincl}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \KOMA@kav@replacebool{.typearea.\scr@pkgextension}{footinclude}{@fincl}% - \fi -} -\KOMA@ifkey{mpinclude}{@mincl} -\KOMA@DeclareDeprecatedOption[typearea]{mpexclude}{mpinclude=false} -\KOMA@key{BCOR}{% - \ifstr{#1}{current}{}{% - \setlength{\ta@bcor}{#1}% - }% - \FamilyKeyStateProcessed - \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{BCOR}{#1}% -} -\AtEndOfPackage{% - \KOMA@key{BCOR}{\typearea[{#1}]{last}\FamilyKeyStateProcessed}% -} -\KOMA@key{DIV}[calc]{% - \edef\@tempa{#1}% - \def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv\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 - \fi - \fi - \fi - \fi - \FamilyKeyStateProcessed - \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{DIV}{#1}% -} -\AtEndOfPackage{% - \KOMA@key{DIV}{\typearea[current]{#1}\FamilyKeyStateProcessed}% -} -\KOMA@DeclareDeprecatedOption[typearea]{DIVcalc}{DIV=calc} -\KOMA@DeclareDeprecatedOption[typearea]{DIVclassic}{DIV=classic} -\KOMA@ifkey{areasetadvanced}{@areasetadvanced} -\newif\if@semitwoside -\g@addto@macro\@twosidetrue\@semitwosidefalse -\g@addto@macro\@twosidefalse\@semitwosidefalse -\KOMA@key{twoside}[true]{% - \if@atdocument\if@twoside - \scr@ifundefinedorrelax{cleardoubleoddpage}{% - \cleardoublepage - }{% - \cleardoubleoddpage - }% - \else\clearpage\fi\fi - \ifstr{#1}{semi}{% - \@twosidetrue - \@semitwosidetrue - \FamilyKeyStateProcessed - }{% - \def\FamilyElseValue{, `semi'}% - \KOMA@set@ifkey{twoside}{% - @twoside% - }{#1}% + }% }% - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \KOMA@kav@xreplacevalue{.% - typearea.\scr@pkgextension - }{twoside}{#1}% - \if@twoside - \if@semitwoside - \@mparswitchfalse - \else - \@mparswitchtrue - \fi - \else - \@mparswitchfalse - \fi% - \csname recalctypearea\endcsname - \fi -} -\KOMA@kav@xadd{.typearea.\scr@pkgextension}{twoside}{% - \if@twoside true\else false\fi } -\KOMA@DeclareStandardOption% - [typearea]% - {oneside}{twoside=false} -\KOMA@key{twocolumn}[true]{% - \if@atdocument\clearpage\fi - \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \KOMA@kav@replacebool{.% - typearea.\scr@pkgextension - }{twocolumn}{@twocolumn}% - \csname recalctypearea\endcsname +\newif\if@seascape +\newif\if@landscape +\newcommand*{\maybe@pair}{} +\def\maybe@pair#1:#2:#3\@nil{% + \edef\@tempa{#1}\edef\@tempb{#2}% + \ifx\@tempa\@empty\@tempswafalse\else + \ifx\@tempb\@empty\@tempswafalse\else\@tempswatrue\fi \fi } -\KOMA@kav@xadd{.typearea.\scr@pkgextension}{twocolumn}{% - \if@twocolumn true\else false\fi -} -\KOMA@DeclareStandardOption% - [typearea]% - {onecolumn}{twocolumn=false} +\KOMA@ifkey{usegeometry}{@ta@usegeometry} \KOMA@key{pagesize}[auto]{% \KOMA@set@ncmdkey{pagesize}{@pagesizelast}{% {off}{-1},{no}{-1},{false}{-1},% @@ -623,7 +594,7 @@ }{}% }% } -\newcommand{\set@pdftexpagesize}{% +\newcommand*{\set@pdftexpagesize}{% \scr@ifundefinedorrelax{pdfpagewidth}{% \scr@ifundefinedorrelax{pagewidth}{}{\pagewidth=\paperwidth}% }{\pdfpagewidth=\paperwidth}% @@ -631,7 +602,7 @@ \scr@ifundefinedorrelax{pageheight}{}{\pageheight=\paperheight}% }{\pdfpageheight=\paperheight}% } -\newcommand{\set@dvipspagesize}{% +\newcommand*{\set@dvipspagesize}{% \begingroup \@tempswafalse \scr@ifdvioutput{\@tempswatrue}{% @@ -665,7 +636,7 @@ \endgroup \fi } -\newcommand{\setnot@dvipspagesize}{% +\newcommand*{\setnot@dvipspagesize}{% \scr@ifdvioutput{% \PackageWarning{% typearea% @@ -684,7 +655,7 @@ }% }{}% } -\newcommand{\set@vtexpagesize}{% +\newcommand*{\set@vtexpagesize}{% \ifnotundefined{mediawith}{\mediawidth=\paperwidth}{}% \ifnotundefined{mediaheight}{\mediaheight=\paperheight}{}% } @@ -707,229 +678,275 @@ \KOMA@DeclareStandardOption[typearea]{pdftex}{% pagesize=pdftex% } -\KOMA@DeclareStandardOption[typearea]{a4paper}{paper=a4} -\KOMA@DeclareStandardOption[typearea]{a5paper}{paper=a5} -\KOMA@DeclareStandardOption[typearea]{b5paper}{paper=b5} -\KOMA@DeclareStandardOption[typearea]{letterpaper}{paper=letter} -\KOMA@DeclareStandardOption[typearea]{legalpaper}{paper=legal} -\KOMA@DeclareStandardOption[typearea]{executivepaper}{paper=executive} -\KOMA@DeclareStandardOption[typearea]{landscape}{paper=landscape} -\KOMA@DeclareStandardOption[typearea]{portrait}{paper=portrait} -\KOMA@key{paper}{% - \ifstr{#1}{seascape}{% - \@seascapetrue - \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax - \@landscapetrue - \scr@setpaperorientation - \else - \if@landscape\else\scr@switchpapersizes\@landscapetrue\fi - \fi +\newif\if@semitwoside +\g@addto@macro\@twosidetrue\@semitwosidefalse +\g@addto@macro\@twosidefalse\@semitwosidefalse +\KOMA@key{twoside}[true]{% + \if@atdocument\if@twoside + \scr@ifundefinedorrelax{cleardoubleoddpage}{% + \cleardoublepage + }{% + \cleardoubleoddpage + }% + \else\clearpage\fi\fi + \ifstr{#1}{semi}{% + \@twosidetrue + \@semitwosidetrue \FamilyKeyStateProcessed - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}% - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}% - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}% - \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{seascape}% }{% - \ifstr{#1}{landscape}{% - \@seascapefalse - \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax - \@landscapetrue - \scr@setpaperorientation + \def\FamilyElseValue{, `semi'}% + \KOMA@set@ifkey{twoside}{% + @twoside% + }{#1}% + }% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.% + typearea.\scr@pkgextension + }{twoside}{#1}% + \if@twoside + \if@semitwoside + \@mparswitchfalse \else - \if@landscape\else\scr@switchpapersizes\@landscapetrue\fi + \@mparswitchtrue \fi - \FamilyKeyStateProcessed - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}% - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}% - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}% - \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{landscape}% - }{% - \ifstr{#1}{portrait}{% - \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax - \@landscapefalse - \scr@setpaperorientation - \else - \if@landscape\scr@switchpapersizes\@landscapefalse\fi - \fi - \FamilyKeyStateProcessed - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}% - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}% - \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}% - \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{portrait}% - }{% - \ifstr{#1}{letter}{% - \if@landscape - \setlength\paperheight{8.5in}% - \setlength\paperwidth {11in}% - \else - \setlength\paperheight{11in}% - \setlength\paperwidth {8.5in}% - \fi - \FamilyKeyStateProcessed - \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% - \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{letter}% - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% - \if@seascape seascape\else - \if@landscape landscape\else portrait\fi\fi - }% - }{% - \ifstr{#1}{legal}{% - \if@landscape - \setlength\paperheight{8.5in}% - \setlength\paperwidth {14in}% - \else - \setlength\paperheight{14in}% - \setlength\paperwidth {8.5in}% - \fi - \FamilyKeyStateProcessed - \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% - \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{legal}% - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% - \if@seascape seascape\else - \if@landscape landscape\else portrait\fi\fi - }% - }{% - \ifstr{#1}{executive}{% - \if@landscape - \setlength\paperheight{7.25in}% - \setlength\paperwidth {10.5in}% - \else - \setlength\paperheight{10.5in}% - \setlength\paperwidth {7.25in}% - \fi - \FamilyKeyStateProcessed - \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% - \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{executive}% - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% - \if@seascape seascape\else - \if@landscape landscape\else portrait\fi\fi - }% - }{% - \iso@paper{#1}% - \if@tempswa - \FamilyKeyStateProcessed - \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{#1}% - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% - \if@seascape seascape\else - \if@landscape landscape\else portrait\fi\fi - }% - \else - \expandafter\maybe@pair#1::\@nil - \if@tempswa - \FamilyKeyStateProcessed - \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}% - \expandafter\ifnum \scr@ta@v@is@lt{3.01b}\relax - \PackageWarningNoLine{typearea}{% - You may have to exchange height and width!\MessageBreak - Until KOMA-Script version 3.01b the semantic\MessageBreak - of option `paper' was `paper=height:width'\MessageBreak - instead of `paper=width:height'.\MessageBreak - I've switched back to that old interpretation\MessageBreak - because of the given compatiblity settings}% - \setlength\paperwidth{\@tempb}% - \setlength\paperheight{\@tempa}% - \else - \setlength\paperwidth{\@tempa}% - \setlength\paperheight{\@tempb}% - \fi - \expandafter\ifnum \scr@ta@v@is@lt{3.22}\relax - \if@landscape - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{\@tempa:\@tempb}% - \else - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{\@tempb:\@tempa}% - \fi - \else - \scr@setpaperorientation - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% - \the\paperwidth:\the\paperheight}% - \fi - \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{% - \if@seascape seascape\else - \if@landscape landscape\else portrait\fi\fi - }% - \else - \KOMA@unknown@keyval{paper}{#1}{% - `letter', `legal', `executive', `a'<nr>, `b'<nr>, - `c'<nr>, `d'<nr>,\MessageBreak - <width>`:'<height>, `landscape' and `portrait'% - }% - \fi - \fi - }% - }% - }% - }% - }% - }% -} -\newif\if@seascape -\newif\if@landscape -\newcommand*{\maybe@pair}{} -\def\maybe@pair#1:#2:#3\@nil{% - \edef\@tempa{#1}\edef\@tempb{#2}% - \ifx\@tempa\@empty\@tempswafalse\else - \ifx\@tempb\@empty\@tempswafalse\else\@tempswatrue\fi + \else + \@mparswitchfalse + \fi% + \csname recalctypearea\endcsname \fi } -\KOMA@ifkey{usegeometry}{@ta@usegeometry} -\DeclareOption*{% - \x@paper} -%%% From File: $Id: scrkernel-compatibility.dtx 2596 2017-02-22 07:45:45Z kohm $ (option) -\KOMA@key{version}[last]{% - \scr@ifundefinedorrelax{scr@v@#1}{% - \def\scr@compatibility{0}% - \PackageWarningNoLine{% - typearea% - }{% - You have set option `version' to value `#1', but\MessageBreak - this value of version is not supported.\MessageBreak - Because of this, version was set to `first'% - }% - \FamilyKeyStateProcessed - \KOMA@kav@replacevalue{.% +\KOMA@kav@xadd{.typearea.\scr@pkgextension}{twoside}{% + \if@twoside true\else false\fi +} +\KOMA@DeclareStandardOption% + [typearea]% + {oneside}{twoside=false} +\KOMA@key{twocolumn}[true]{% + \if@atdocument\clearpage\fi + \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \KOMA@kav@replacebool{.% typearea.\scr@pkgextension - }{version}{first}% - }{% - \PackageInfoNoLine{% - typearea% - }{% - Switching compatibility level to `#1'% - }% - \edef\scr@ta@compatibility{\@nameuse{scr@v@#1}}% + }{twocolumn}{@twocolumn}% + \csname recalctypearea\endcsname + \fi +} +\KOMA@kav@xadd{.typearea.\scr@pkgextension}{twocolumn}{% + \if@twocolumn true\else false\fi +} +\KOMA@DeclareStandardOption% + [typearea]% + {onecolumn}{twocolumn=false} +\KOMA@key{headlines}{% + \begingroup + \setlength{\@tempdima}{#1\baselineskip}% + \endgroup + \def\ta@hh{#1\baselineskip}% + \FamilyKeyStateProcessed + \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headlines}{#1}% + \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headheight}{#1\baselineskip}% +} +\KOMA@key{footlines}{% + \begingroup + \setlength{\@tempdima}{#1\baselineskip}% + \endgroup + \def\ta@fh{#1\baselineskip}% + \FamilyKeyStateProcessed + \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footlines}{#1}% + \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footheight}{#1\baselineskip}% +} +\KOMA@key{headheight}{% + \begingroup + \setlength{\@tempdima}{#1}% + \endgroup + \def\ta@hh{#1}% + \FamilyKeyStateProcessed + \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headheight}{#1}% + \KOMA@kav@removekey{.typearea.\scr@pkgextension}{headlines}% +} +\KOMA@key{footheight}{% + \begingroup + \setlength{\@tempdima}{#1}% + \endgroup + \def\ta@fh{#1}% + \FamilyKeyStateProcessed + \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footheight}{#1}% + \KOMA@kav@removekey{.typearea.\scr@pkgextension}{footlines}% +} +\newif\if@hincl\@ifundefined{if@hsl}{}{\let\if@hincl\if@hsl} +\KOMA@ifkey{headinclude}{@hincl} +\KOMA@DeclareDeprecatedOption[typearea]{headexclude}{headinclude=false} +\KOMA@key{headsepline}[true]{% + \KOMA@set@ifkey{headinclude}{@hincl}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \KOMA@kav@replacebool{.typearea.\scr@pkgextension}{headinclude}{@hincl}% + \fi +} +\newif\if@fincl\@ifundefined{if@fsl}{}{\let\if@fincl\if@fsl} +\KOMA@ifkey{footinclude}{@fincl} +\KOMA@DeclareDeprecatedOption[typearea]{footexclude}{footinclude=false} +\KOMA@key{footsepline}[true]{% + \KOMA@set@ifkey{footinclude}{@fincl}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \KOMA@kav@replacebool{.typearea.\scr@pkgextension}{footinclude}{@fincl}% + \fi +} +\KOMA@ifkey{mpinclude}{@mincl} +\KOMA@DeclareDeprecatedOption[typearea]{mpexclude}{mpinclude=false} +\newlength{\ta@bcor} +\newcount\ta@div +\KOMA@key{BCOR}{% + \ifstr{#1}{current}{}{% + \setlength{\ta@bcor}{#1}% + }% + \FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{BCOR}{#1}% +} +\AtEndOfPackage{% + \KOMA@key{BCOR}{% + \typearea[{#1}]{last} \FamilyKeyStateProcessed - \KOMA@kav@xreplacevalue{.% - typearea.\scr@pkgextension - }{version}{#1}% + \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{BCOR}{#1}% }% } +\KOMA@key{DIV}[calc]{% + \edef\@tempa{#1}% + \def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv\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 + \fi + \fi + \fi + \fi + \FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{DIV}{#1}% +} \AtEndOfPackage{% - \KOMA@key{version}[]{% - \PackageError{% - typearea% - }{% - Option `version' too late% - }{% - Option `version' may be set only while loading the - package.\MessageBreak - But you've tried to set it up later.% - }% + \KOMA@key{DIV}{% + \typearea[current]{#1}% \FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{DIV}{#1}% }% } -\newcommand*{\scr@ta@v@is@lt}[1]{% - \scr@ta@compatibility<\@nameuse{scr@v@#1} +\KOMA@ifkey{areasetadvanced}{@areasetadvanced} +\KOMA@DeclareDeprecatedOption[typearea]{DIVcalc}{DIV=calc} +\KOMA@DeclareDeprecatedOption[typearea]{DIVclassic}{DIV=classic} +\newcommand\isopaper[2][a]{% + \ISO@PaperNameToSize[typearea]#1#2\@nil + \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax + \scr@setpaperorientation + \else + \if@landscape\scr@switchpapersizes\fi + \fi } -\newcommand*{\scr@ta@v@is@gt}[1]{% - \scr@ta@compatibility>\@nameuse{scr@v@#1} +\ProvideUnknownPaperSizeError{typearea}{% + \PackageError{typearea}{% + Unknown ISO/DIN-papersize-letter #1% + }{% + There are only four defined paper scalings:\MessageBreak + a = ISO/DIN-A, b = ISO/DIN-B, c = ISO/DIN-C, + d = ISO/DIN-D\MessageBreak + Read KOMA-Script-documentation for further information.% + }% + \setlength{\paperwidth}{841sp}% + \setlength{\paperheight}{1189sp}% } -\newcommand*{\scr@ta@v@is@le}[1]{% - \numexpr\scr@ta@compatibility-\@ne <\@nameuse{scr@v@#1} +\newcommand*\scr@setpaperorientation{% + \ifdim\paperheight>\paperwidth + \if@landscape\scr@switchpapersizes\fi + \else + \if@landscape\else\scr@switchpapersizes\fi + \fi } -\newcommand*{\scr@ta@v@is@ge}[1]{% - \numexpr\scr@ta@compatibility+\@ne >\@nameuse{scr@v@#1} +\newcommand*\scr@switchpapersizes{% + \@tempdima\paperwidth\paperwidth\paperheight\paperheight\@tempdima +} +\newcommand*{\iso@paper}[1]{\expandafter\iso@@paper#1\@nil} +\newcommand*{\iso@@paper}{} +\def\iso@@paper#1#2\@nil{% + \@tempswafalse + \if #1a\@tempswatrue + \else\if #1A\@tempswatrue + \else\if #1b\@tempswatrue + \else\if #1B\@tempswatrue + \else\if #1c\@tempswatrue + \else\if #1C\@tempswatrue + \else\if #1d\@tempswatrue + \else\if #1D\@tempswatrue + \fi\fi\fi\fi\fi\fi\fi\fi + \if@tempswa + \ifnumber{#2}{\isopaper[#1]{#2}}{\@tempswafalse}% + \fi +} +\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} +\newcommand*{\@@BCOR}{} +\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% + \ifstr{#1}{}{% + \ifstr{#3}{BCOR}{% + \ifdimen{#2}{% + \KOMA@UseDeprecatedOption{% + \PackageWarningNoLine{typearea}}{BCOR#2}{BCOR=#2}% + }{\scr@pti@nerr@r}% + }{\scr@pti@nerr@r}% + }{\scr@pti@nerr@r}% +} +\newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV} +\newcommand*{\@@DIV}{} +\def\@@DIV #1DIV#2DIV#3\@@DIV{% + \edef\@tempa{#1}\ifx\@tempa\@empty + \edef\@tempa{#3}\def\@tempb{DIV}\ifx\@tempa\@tempb + \ifnumber{#2}{% + \KOMA@UseDeprecatedOption{% + \PackageWarningNoLine{typearea}}{DIV#2}{DIV=#2}% + }{\scr@pti@nerr@r}% + \else\scr@pti@nerr@r\fi + \else\@BCOR\fi } -%%% From File: $Id: scrkernel-typearea.dtx 2617 2017-04-03 13:56:55Z kohm $ (body) +\newcommand{\@headlines}{% + \expandafter\@@headlines\CurrentOption headlines\@@headlines% +} +\newcommand*{\@@headlines}{} +\def\@@headlines #1headlines#2\@@headlines{ + \edef\@tempa{#2}\edef\@tempb{headlines}\ifx\@tempa\@tempb + \setlength{\@tempdima}{#1\baselineskip}% + \def\ta@hh{#1\baselineskip}% + \else\@DIV\fi +} +\newcommand*{\x@paper}{% + \expandafter\x@@paper\CurrentOption paper\x@@paper% +} +\newcommand*{\x@@paper}{} +\def\x@@paper #1#2paper#3\x@@paper{% + \ifstr{#3}{paper}{% + \ifnumber{#2}{% + \ifstr{#1}{a}{% + \isopaper[a]{#2}% + }{% + \ifstr{#1}{b}{% + \isopaper[b]{#2}% + }{% + \ifstr{#1}{c}{% + \isopaper[c]{#2}% + }{% + \ifstr{#1}{d}{% + \isopaper[d]{#2}% + }{\scr@pti@nerr@r}% + }% + }% + }% + }{\scr@pti@nerr@r}% + }{% + \@headlines + }% +} +\newcommand*{\scr@pti@nerr@r}{ + \@unknownoptionerror +} +\DeclareOption*{% + \x@paper} \InputIfFileExists{typearea.cfg}{% \typeout{% ***************************************^^J% @@ -949,8 +966,72 @@ \KOMAExecuteOptions{twoside=false} \fi \KOMAProcessOptions\relax -\providecommand\ta@divlist{{}{}{}{}{}{}{}{}{}{8}{10}{12}} -\providecommand\ta@divlistelse{1} +%%% From File: $Id: scrkernel-compatibility.dtx 2640 2017-05-08 09:36:55Z kohm $ +%%% (run: body) +%%% From File: $Id: scrkernel-typearea.dtx 2661 2017-07-24 19:45:16Z kohm $ +%%% (run: body) +\newcommand*{\ta@divfor}[1]{% + \if@mincl + \PackageInfo{typearea}{% + With option `mpinclude' there are no predefined\MessageBreak + DIV values. Using DIV calculation for good line\MessageBreak + width% + }% + \ta@div=\tw@ + \else + \xdef\@tempa{\ta@divlist{}}% + \@tempdima=#1pt + \addtolength{\@tempdima}{.5\p@}% + \divide\@tempdima by\p@ + \setlength{\@tempdimb}{\@tempdima}% + \multiply\@tempdimb by\p@ + \ifdim \@tempdimb=#1pt + \ta@div=#1\relax + \@whilenum \ta@div >-9 \do {% + \ifx\@tempa\empty + \else \xdef\@tempa{\expandafter\@cdr\@tempa\@nil}\fi + \advance\ta@div by-1 + }% + \else + \let\@tempa\empty + \fi + \ifx\@tempa\empty + \setlength{\@tempdima}{#1\p@}% + \addtolength{\@tempdima}{10\p@}% + \PackageWarningNoLine{typearea}{% + DIV for \the\@tempdima\space and used papersize\MessageBreak + not defined!\MessageBreak + Using DIV=\ta@divlistelse + }% + \ta@div=\ta@divlistelse\relax + \else + \xdef\@tempa{\expandafter\@car\@tempa\@nil}% + \ifx\@tempa\empty + \ta@div=\ta@divlistelse\relax + \else + \ta@div=\@tempa\relax + \fi + \fi + \fi +} +\newcommand*\SetDIVList[1]{% + \PackageWarning{typearea}{\string\SetDIVList\space is + deprecated!\MessageBreak + This command supports only integer font sizes\MessageBreak + in pt equal or greater than 10pt.\MessageBreak + Since version 2.6 the command is implemented\MessageBreak + for compatibility only. You should not use it\MessageBreak + any longer}% + \def\ta@divlist{{}{}{}{}{}{}{}{}{}#1}} +\newcommand*\SetXDIVList[1]{% + \PackageWarning{typearea}{\string\SetXDIVList\space is + deprecated!\MessageBreak + This command supports only integer font sizes\MessageBreak + in pt equal or greater than 10pt.\MessageBreak + Since version 3.0 the command is implemented\MessageBreak + for compatibility only. You should not use it\MessageBreak + any longer}% + \def\ta@divlist{#1}} \newlength{\ta@hblk} \newlength{\ta@vblk} \newlength{\ta@temp} @@ -1086,10 +1167,6 @@ \kernel@ifstar \l@addto@macro \g@addto@macro \@typearea@end } \newcommand*{\@typearea@end}{} -\newcommand*{\AfterSettingArea}{% - \kernel@ifstar \l@addto@macro \g@addto@macro \@areaset@end -} -\newcommand*{\@areaset@end}{} \newcommand*{\activateareas}{% \if@atdocument \PackageInfo{typearea}{% @@ -1167,125 +1244,6 @@ \fi } \newcommand*{\scr@geometryargs}{} -\newcommand*{\scr@grouplevel@test}[1]{% - \ifcase\currentgrouptype\else - \PackageWarning{typearea}{% - \string#1\space used at group level - \the\currentgrouplevel.\MessageBreak - Using \string#1\space inside any group, e.g.\MessageBreak - environments, math mode, boxes, etc. may result in\MessageBreak - many type setting problems.\MessageBreak - You should move the command \string#1\MessageBreak - outside all groups% - }% - \fi -} -\newcommand*{\storeareas}[1]{% - \edef\reserved@a{% - \noexpand\newcommand*{\unexpanded{#1}}{% - \noexpand\scr@grouplevel@test\unexpanded{#1}% - \noexpand\csname scr@storeareas@before@hook\noexpand\endcsname - \unexpanded\expandafter\expandafter\expandafter{% - \csname scr@storeareas@before@current@hook\endcsname}% - \noexpand\paperheight=\the\paperheight\space - \noexpand\paperwidth=\the\paperwidth\space - \noexpand\topmargin=\the\topmargin\space - \noexpand\headheight=\the\headheight\space - \noexpand\headsep=\the\headsep\space - \noexpand\textheight=\the\textheight\space - \noexpand\vsize=\the\vsize\space - \noexpand\footskip=\the\footskip\space - \noexpand\@colht=\the\@colht\space - \noexpand\@colroom=\the\@colroom\space - \noexpand\textwidth=\the\textwidth\space - \noexpand\columnwidth=\the\columnwidth\space - \noexpand\hsize=\the\hsize\space - \noexpand\oddsidemargin=\the\oddsidemargin\space - \noexpand\evensidemargin=\if@twoside - \the\evensidemargin - \else - \the\oddsidemargin - \fi\space - \noexpand\linewidth=\the\linewidth\space - \noexpand\maxdepth=\the\maxdepth\space - \scr@ifundefinedorrelax{@pagesizelast}{}{% - \noexpand\KOMAoptions{pagesize=\@pagesizelast}}% - \noexpand\ta@div=\the\ta@div\space - \noexpand\ta@bcor=\the\ta@bcor\space - \noexpand\def\noexpand\@lastdiv{\@lastdiv}% - \noexpand\marginparsep=\the\marginparsep\space - \noexpand\marginparwidth=\the\marginparwidth\space - \noexpand\def - \expandafter\noexpand\csname scr@kav@KOMA.typearea.\scr@pkgextension\endcsname{% - \unexpanded\expandafter\expandafter\expandafter{% - \csname scr@kav@KOMA.typearea.\scr@pkgextension\endcsname}% - }% - \unexpanded\expandafter\expandafter\expandafter{% - \csname scr@storeareas@after@current@hook\endcsname}% - \noexpand\csname scr@storeareas@after@hook\noexpand\endcsname - }% - }% - \reserved@a -} -\newcommand*{\BeforeRestoreareas}{% - \kernel@ifstar{\scr@storeareashook{before@current}}% - {\scr@storeareashook{before}}% -} -\newcommand*{\AfterRestoreareas}{% - \kernel@ifstar{\scr@storeareashook{after@current}}% - {\scr@storeareashook{after}}% -} -\newcommand*{\scr@storeareashook}[2]{% - \expandafter\l@addto@macro\csname scr@storeareas@#1@hook\endcsname{#2}% -} -\newcommand*{\scr@storeareas@before@hook}{} -\newcommand*{\scr@storeareas@before@current@hook}{} -\newcommand*{\scr@storeareas@after@hook}{} -\newcommand*{\scr@storeareas@after@current@hook}{} -\newcommand*{\ta@divfor}[1]{% - \if@mincl - \PackageInfo{typearea}{% - With option `mpinclude' there are no predefined\MessageBreak - DIV values. Using DIV calculation for good line\MessageBreak - width% - }% - \ta@div=\tw@ - \else - \xdef\@tempa{\ta@divlist{}}% - \@tempdima=#1pt - \addtolength{\@tempdima}{.5\p@}% - \divide\@tempdima by\p@ - \setlength{\@tempdimb}{\@tempdima}% - \multiply\@tempdimb by\p@ - \ifdim \@tempdimb=#1pt - \ta@div=#1\relax - \@whilenum \ta@div >-9 \do {% - \ifx\@tempa\empty - \else \xdef\@tempa{\expandafter\@cdr\@tempa\@nil}\fi - \advance\ta@div by-1 - }% - \else - \let\@tempa\empty - \fi - \ifx\@tempa\empty - \setlength{\@tempdima}{#1\p@}% - \addtolength{\@tempdima}{10\p@}% - \PackageWarningNoLine{typearea}{% - DIV for \the\@tempdima\space and used papersize\MessageBreak - not defined!\MessageBreak - Using DIV=\ta@divlistelse - }% - \ta@div=\ta@divlistelse\relax - \else - \xdef\@tempa{\expandafter\@car\@tempa\@nil}% - \ifx\@tempa\empty - \ta@div=\ta@divlistelse\relax - \else - \ta@div=\@tempa\relax - \fi - \fi - \fi -} \newcommand*\typearea[2][\z@]{% \scr@grouplevel@test\typearea \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else @@ -1515,6 +1473,81 @@ }% } \AtEndOfPackage{\newcommand*{\recalctypearea}{\typearea[current]{last}}} +\newcommand*{\scr@grouplevel@test}[1]{% + \ifcase\currentgrouptype\else + \PackageWarning{typearea}{% + \string#1\space used at group level + \the\currentgrouplevel.\MessageBreak + Using \string#1\space inside any group, e.g.\MessageBreak + environments, math mode, boxes, etc. may result in\MessageBreak + many type setting problems.\MessageBreak + You should move the command \string#1\MessageBreak + outside all groups% + }% + \fi +} +\newcommand*{\storeareas}[1]{% + \edef\reserved@a{% + \noexpand\newcommand*{\unexpanded{#1}}{% + \noexpand\scr@grouplevel@test\unexpanded{#1}% + \noexpand\csname scr@storeareas@before@hook\noexpand\endcsname + \unexpanded\expandafter\expandafter\expandafter{% + \csname scr@storeareas@before@current@hook\endcsname}% + \noexpand\paperheight=\the\paperheight\space + \noexpand\paperwidth=\the\paperwidth\space + \noexpand\topmargin=\the\topmargin\space + \noexpand\headheight=\the\headheight\space + \noexpand\headsep=\the\headsep\space + \noexpand\textheight=\the\textheight\space + \noexpand\vsize=\the\vsize\space + \noexpand\footskip=\the\footskip\space + \noexpand\@colht=\the\@colht\space + \noexpand\@colroom=\the\@colroom\space + \noexpand\textwidth=\the\textwidth\space + \noexpand\columnwidth=\the\columnwidth\space + \noexpand\hsize=\the\hsize\space + \noexpand\oddsidemargin=\the\oddsidemargin\space + \noexpand\evensidemargin=\if@twoside + \the\evensidemargin + \else + \the\oddsidemargin + \fi\space + \noexpand\linewidth=\the\linewidth\space + \noexpand\maxdepth=\the\maxdepth\space + \scr@ifundefinedorrelax{@pagesizelast}{}{% + \noexpand\KOMAoptions{pagesize=\@pagesizelast}}% + \noexpand\ta@div=\the\ta@div\space + \noexpand\ta@bcor=\the\ta@bcor\space + \noexpand\def\noexpand\@lastdiv{\@lastdiv}% + \noexpand\marginparsep=\the\marginparsep\space + \noexpand\marginparwidth=\the\marginparwidth\space + \noexpand\def + \expandafter\noexpand\csname scr@kav@KOMA.typearea.\scr@pkgextension\endcsname{% + \unexpanded\expandafter\expandafter\expandafter{% + \csname scr@kav@KOMA.typearea.\scr@pkgextension\endcsname}% + }% + \unexpanded\expandafter\expandafter\expandafter{% + \csname scr@storeareas@after@current@hook\endcsname}% + \noexpand\csname scr@storeareas@after@hook\noexpand\endcsname + }% + }% + \reserved@a +} +\newcommand*{\BeforeRestoreareas}{% + \kernel@ifstar{\scr@storeareashook{before@current}}% + {\scr@storeareashook{before}}% +} +\newcommand*{\AfterRestoreareas}{% + \kernel@ifstar{\scr@storeareashook{after@current}}% + {\scr@storeareashook{after}}% +} +\newcommand*{\scr@storeareashook}[2]{% + \expandafter\l@addto@macro\csname scr@storeareas@#1@hook\endcsname{#2}% +} +\newcommand*{\scr@storeareas@before@hook}{} +\newcommand*{\scr@storeareas@before@current@hook}{} +\newcommand*{\scr@storeareas@after@hook}{} +\newcommand*{\scr@storeareas@after@current@hook}{} \newcommand*\areaset[3][\z@]{% \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else \setlength{\ta@bcor}{#1}% @@ -1644,9 +1677,14 @@ }% \fi } +\newcommand*{\AfterSettingArea}{% + \kernel@ifstar \l@addto@macro \g@addto@macro \@areaset@end +} +\newcommand*{\@areaset@end}{} +%%% From File: $Id: scrkernel-typearea.dtx 2661 2017-07-24 19:45:16Z kohm $ +%%% (run: final) \typearea[current]{current} -%%% From File: $Id: scrkernel-compatibility.dtx 2596 2017-02-22 07:45:45Z kohm $ (body) -%%% From File: $Id: scrlogo.dtx 2592 2017-02-16 16:56:10Z kohm $ +%%% From File: $Id: scrlogo.dtx 2640 2017-05-08 09:36:55Z kohm $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} |