diff options
Diffstat (limited to 'Master/texmf-dist/tex')
17 files changed, 13228 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/DIN.lco b/Master/texmf-dist/tex/latex/koma-script/DIN.lco new file mode 100644 index 00000000000..ef08c3815c9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/DIN.lco @@ -0,0 +1,101 @@ +%% +%% This is file `DIN.lco', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `lco,DIN') +%% +%% Copyright (C) 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\ProvidesFile{% + DIN% + .lco} + [2004/09/16 v2.9t LaTeX2e KOMA + letter-class-option] +\@ifundefined{scr@fromname@var}{% + \GenericWarning{(% + DIN% + .lco)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces}{% + Letter-class-option + DIN + Warning:\space + This letter class option file was made only\MessageBreak + to be used with KOMA-Script letter class\MessageBreak + `scrlttr2'. Use with other classes may result\MessageBreak + in a lot of errors\@gobble + } +}{} +\LetterOptionNeedsPapersize{% + DIN% + } + {a4} +\@setplength{foldmarkhpos}{3.5mm} +\@setplength{tfoldmarkvpos}{105mm} +\@setplength{bfoldmarkvpos}{210mm} +\@setplength{toaddrvpos}{45mm} +\@setplength{refvpos}{98.5mm} +\@setplength{refaftervskip}{\baselineskip} +\@setplength{toaddrhpos}{20mm} +\@setplength{toaddrwidth}{85mm} +\@setplength{toaddrheight}{40mm} +\@setplength{toaddrindent}{\z@} +\@setplength{specialmailindent}{\fill} +\@setplength{specialmailrightindent}{1em} +\@setplength{locwidth}{\z@} +\@setplength{backaddrheight}{5mm} +\@setplength{firstheadvpos}{8mm} +\@setplength{firstheadwidth}{\paperwidth} +\ifdim \useplength{toaddrhpos}>\z@ + \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} +\else + \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} +\fi +\@setplength{firstfootwidth}{\useplength{firstheadwidth}} +\@setplength{firstfootvpos}{1in} +\@addtoplength{firstfootvpos}{\topmargin} +\@addtoplength{firstfootvpos}{\headheight} +\@addtoplength{firstfootvpos}{\headsep} +\@addtoplength{firstfootvpos}{\textheight} +\@addtoplength{firstfootvpos}{\footskip} +\@setplength{refwidth}{0pt} +\@setplength{sigindent}{0mm} +\@setplength{sigbeforevskip}{2\baselineskip} +\let\raggedsignature=\centering +\endinput +%% +%% End of file `DIN.lco'. diff --git a/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco b/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco new file mode 100644 index 00000000000..25271a13d2b --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco @@ -0,0 +1,117 @@ +%% +%% This is file `DINmtext.lco', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `lco,DINmoretext') +%% +%% Copyright (C) 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\ProvidesFile{% + DINmtext% + .lco} + [2004/09/16 v2.9t LaTeX2e KOMA + letter-class-option] +\@ifundefined{scr@fromname@var}{% + \GenericWarning{(% + DINmtext% + .lco)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces}{% + Letter-class-option + DINmtext + Warning:\space + This letter class option file was made only\MessageBreak + to be used with KOMA-Script letter class\MessageBreak + `scrlttr2'. Use with other classes may result\MessageBreak + in a lot of errors\@gobble + } +}{} +\LetterOptionNeedsPapersize{% + DINmtext% + } + {a4} +\@setplength{foldmarkhpos}{3.5mm} +\@setplength{tfoldmarkvpos}{87mm} +\@setplength{bfoldmarkvpos}{192mm} +\@setplength{toaddrvpos}{27mm} +\@setplength{refvpos}{80.5mm} +\@setplength{refaftervskip}{\baselineskip} +\@setplength{toaddrhpos}{20mm} +\@setplength{toaddrwidth}{85mm} +\@setplength{toaddrheight}{40mm} +\@setplength{toaddrindent}{\z@} +\@setplength{specialmailindent}{\fill} +\@setplength{specialmailrightindent}{1em} +\@setplength{locwidth}{\z@} +\@setplength{backaddrheight}{5mm} +\@setplength{firstheadvpos}{8mm} +\@setplength{firstheadwidth}{\paperwidth} +\ifdim \useplength{toaddrhpos}>\z@ + \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} +\else + \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} +\fi +\@setplength{firstfootwidth}{\useplength{firstheadwidth}} +\@setplength{firstfootvpos}{1in} +\@addtoplength{firstfootvpos}{\topmargin} +\@addtoplength{firstfootvpos}{\headheight} +\@addtoplength{firstfootvpos}{\headsep} +\@addtoplength{firstfootvpos}{\textheight} +\@addtoplength{firstfootvpos}{\footskip} +\@setplength{refwidth}{0pt} +\@setplength{sigindent}{0mm} +\@setplength{sigbeforevskip}{2\baselineskip} +\let\raggedsignature=\centering +\renewcommand*{\@firsthead}{\noindent + \parbox[b]{\useplength{firstheadwidth}}{\centering% + \usekomafont{fromaddress}{% + \ifkomavarempty{fromname}{}{% + \usekomafont{fromname}% + {\ignorespaces\usekomavar{fromname}\\[-8pt] + \rule{\useplength{firstheadwidth}}{.4pt}\\ + }% + }% + \ifkomavarempty{fromaddress}{}{% + \def\\{,\ \@ogobble} + \ignorespaces\usekomavar{fromaddress}% + }% + }% + }% + } +\endinput +%% +%% End of file `DINmtext.lco'. diff --git a/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco b/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco new file mode 100644 index 00000000000..3ff5bcc4ef5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco @@ -0,0 +1,155 @@ +%% +%% This is file `KOMAold.lco', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `lco,KOMAold') +%% +%% Copyright (C) 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\ProvidesFile{% + KOMAold% + .lco} + [2004/09/16 v2.9t LaTeX2e KOMA + letter-class-option] +\@ifundefined{scr@fromname@var}{% + \GenericWarning{(% + KOMAold% + .lco)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces}{% + Letter-class-option + KOMAold + Warning:\space + This letter class option file was made only\MessageBreak + to be used with KOMA-Script letter class\MessageBreak + `scrlttr2'. Use with other classes may result\MessageBreak + in a lot of errors\@gobble + } +}{} +\LetterOptionNeedsPapersize{% + KOMAold% + } + {a4} +\@setplength{foldmarkhpos}{3.5mm} +\@setplength{tfoldmarkvpos}{103.5mm} +\@setplength{bfoldmarkvpos}{202.5mm} +\@setplength{toaddrvpos}{49mm} +\@setplength{refvpos}{89.5mm} +\@setplength[2]{refaftervskip}{\baselineskip} +\@setplength{toaddrhpos}{1in} +\@addtoplength{toaddrhpos}{\oddsidemargin} +\@setplength{toaddrwidth}{70mm} +\@setplength{toaddrheight}{40mm} +\@setplength{toaddrindent}{\z@} +\@setplength{specialmailindent}{\fill} +\@setplength{specialmailrightindent}{1em} +\@setplength{locwidth}{\z@} +\@setplength{backaddrheight}{5mm} +\@setplength{firstheadvpos}{6mm} +\@setplength{firstheadwidth}{\textwidth} +\@setplength{firstfootwidth}{\useplength{firstheadwidth}} +\@setplength{firstfootvpos}{\paperheight} +\@addtoplength{firstfootvpos}{-2cm} +\@setplength{refwidth}{0pt} +\@setplength{sigindent}{0mm} +\@setplength{sigbeforevskip}{2\baselineskip} +\let\raggedsignature=\raggedright +\def\yourref{\setkomavar{yourref}} +\def\yourmail{\setkomavar{yourmail}} +\def\myref{\setkomavar{myref}} +\def\customer{\setkomavar{customer}} +\def\invoice{\setkomavar{invoice}} +\@ifundefined{scr@refitemi@var}{\newkomavar{refitemi}}{} +\def\refitemi{\setkomavar{refitemi}} +\def\refitemnamei{\setkomavar*{refitemi}} +\@ifundefined{scr@refitemii@var}{\newkomavar{refitemii}}{} +\def\refitemii{\setkomavar{refitemii}} +\def\refitemnameii{\setkomavar*{refitemii}} +\@ifundefined{scr@refitemiii@var}{\newkomavar{refitemiii}}{} +\def\refitemiii{\setkomavar{refitemiii}} +\def\refitemnameiii{\setkomavar*{refitemiii}} +\l@addto@macro{\defaultreffields}{% + \addtoreffields{refitemi}% + \addtoreffields{refitemii}% + \addtoreffields{refitemiii}% + } +\addtoreffields{refitemi}% +\addtoreffields{refitemii}% +\addtoreffields{refitemiii}% +\def\toname{\usekomavar{toname}} +\def\toaddress{\usekomavar{toaddress}} +\@ifundefined{scr@branch@var}{\newkomavar{branch}}{} +\def\branch{\setkomavar{branch}} +\def\frombranch{\usekomavar{branch}} +\def\signature{\setkomavar{signature}} +\def\fromsig{\usekomavar{signature}} +\def\name{\setkomavar{fromname}} +\def\fromname{\usekomavar{fromname}} +\def\address{\setkomavar{fromaddress}} +\def\fromaddress{\usekomavar{fromaddress}} +\def\location{\setkomavar{location}} +\def\fromlocation{\usekomavar{location}} +\def\backaddress{\setkomavar{backaddress}} +\def\@tempa{% + \ifkomavarempty{fromname}{}{% + \strut\ignorespaces\usekomavar{fromname}% + \ifkomavarempty{fromaddress}{}{\\}}% + \ifkomavarempty{fromaddress}{}{% + \strut\ignorespaces\usekomavar{fromaddress}}% + } +\ifx\@tempa\scr@backaddress@var% + \setkomavar{backaddress}{} +\fi +\def\frombackaddress{\usekomavar{backaddress}} +\def\telephone{\setkomavar{fromphone}} +\def\telephonenum{\usekomavar{fromphone}} +\def\specialmail{\setkomavar{specialmail}} +\def\@specialmail{\usekomavar{specialmail}} +\def\title{\setkomavar{title}} +\def\@title{\usekomavar{title}} +\def\subject{\setkomavar{subject}} +\def\@subject{\usekomavar{subject}} +\def\place{\setkomavar{place}} +\def\fromplace{\usekomavar{place}} +\let\ccnameseparator=\scr@ccseparator@var +\setkomavar{ccseparator}{\ccnameseparator} +\let\enclnameseparator=\scr@enclseparator@var +\setkomavar{enclseparator}{\enclnameseparator} +\setkomafont{fromname}{\scshape} +\endinput +%% +%% End of file `KOMAold.lco'. diff --git a/Master/texmf-dist/tex/latex/koma-script/SN.lco b/Master/texmf-dist/tex/latex/koma-script/SN.lco new file mode 100644 index 00000000000..58c2efbccc7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/SN.lco @@ -0,0 +1,101 @@ +%% +%% This is file `SN.lco', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `lco,SN') +%% +%% Copyright (C) 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\ProvidesFile{% + SN% + .lco} + [2004/09/16 v2.9t LaTeX2e KOMA + letter-class-option] +\@ifundefined{scr@fromname@var}{% + \GenericWarning{(% + SN% + .lco)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces}{% + Letter-class-option + SN + Warning:\space + This letter class option file was made only\MessageBreak + to be used with KOMA-Script letter class\MessageBreak + `scrlttr2'. Use with other classes may result\MessageBreak + in a lot of errors\@gobble + } +}{} +\LetterOptionNeedsPapersize{% + SN% + } + {a4} +\@setplength{foldmarkhpos}{3.5mm} +\@setplength{tfoldmarkvpos}{105mm} +\@setplength{bfoldmarkvpos}{210mm} +\@setplength{toaddrvpos}{45mm} +\@setplength{refvpos}{98.5mm} +\@setplength{refaftervskip}{\baselineskip} +\@setplength{toaddrhpos}{-8mm} +\@setplength{toaddrwidth}{90mm} +\@setplength{toaddrheight}{40mm} +\@setplength{toaddrindent}{\z@} +\@setplength{specialmailindent}{\fill} +\@setplength{specialmailrightindent}{1em} +\@setplength{locwidth}{\z@} +\@setplength{backaddrheight}{5mm} +\@setplength{firstheadvpos}{8mm} +\@setplength{firstheadwidth}{\paperwidth} +\ifdim \useplength{toaddrhpos}>\z@ + \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} +\else + \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} +\fi +\@setplength{firstfootwidth}{\useplength{firstheadwidth}} +\@setplength{firstfootvpos}{1in} +\@addtoplength{firstfootvpos}{\topmargin} +\@addtoplength{firstfootvpos}{\headheight} +\@addtoplength{firstfootvpos}{\headsep} +\@addtoplength{firstfootvpos}{\textheight} +\@addtoplength{firstfootvpos}{\footskip} +\@setplength{refwidth}{0pt} +\@setplength{sigindent}{0mm} +\@setplength{sigbeforevskip}{2\baselineskip} +\let\raggedsignature=\centering +\endinput +%% +%% End of file `SN.lco'. diff --git a/Master/texmf-dist/tex/latex/koma-script/SNleft.lco b/Master/texmf-dist/tex/latex/koma-script/SNleft.lco new file mode 100644 index 00000000000..e62c042b84f --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/SNleft.lco @@ -0,0 +1,101 @@ +%% +%% This is file `SNleft.lco', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `lco,SwissLeft') +%% +%% Copyright (C) 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\ProvidesFile{% + SNleft% + .lco} + [2004/09/16 v2.9t LaTeX2e KOMA + letter-class-option] +\@ifundefined{scr@fromname@var}{% + \GenericWarning{(% + SNleft% + .lco)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces}{% + Letter-class-option + SNleft + Warning:\space + This letter class option file was made only\MessageBreak + to be used with KOMA-Script letter class\MessageBreak + `scrlttr2'. Use with other classes may result\MessageBreak + in a lot of errors\@gobble + } +}{} +\LetterOptionNeedsPapersize{% + SNleft% + } + {a4} +\@setplength{foldmarkhpos}{3.5mm} +\@setplength{tfoldmarkvpos}{105mm} +\@setplength{bfoldmarkvpos}{210mm} +\@setplength{toaddrvpos}{35.5mm} +\@setplength{refvpos}{89mm} +\@setplength{refaftervskip}{\baselineskip} +\@setplength{toaddrhpos}{20mm} +\@setplength{toaddrwidth}{100mm} +\@setplength{toaddrheight}{40mm} +\@setplength{toaddrindent}{\z@} +\@setplength{specialmailindent}{\fill} +\@setplength{specialmailrightindent}{1em} +\@setplength{locwidth}{\z@} +\@setplength{backaddrheight}{5mm} +\@setplength{firstheadvpos}{8mm} +\@setplength{firstheadwidth}{\paperwidth} +\ifdim \useplength{toaddrhpos}>\z@ + \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} +\else + \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} +\fi +\@setplength{firstfootwidth}{\useplength{firstheadwidth}} +\@setplength{firstfootvpos}{1in} +\@addtoplength{firstfootvpos}{\topmargin} +\@addtoplength{firstfootvpos}{\headheight} +\@addtoplength{firstfootvpos}{\headsep} +\@addtoplength{firstfootvpos}{\textheight} +\@addtoplength{firstfootvpos}{\footskip} +\@setplength{refwidth}{0pt} +\@setplength{sigindent}{0mm} +\@setplength{sigbeforevskip}{2\baselineskip} +\let\raggedsignature=\centering +\endinput +%% +%% End of file `SNleft.lco'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scraddr.sty b/Master/texmf-dist/tex/latex/koma-script/scraddr.sty new file mode 100644 index 00000000000..824ee4c9849 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scraddr.sty @@ -0,0 +1,116 @@ +%% +%% This is file `scraddr.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scraddr.dtx (with options: `scraddr') +%% scrlogo.dtx +%% +%% Copyright (C) 1996-2004 Markus Kohm and Jens-Uwe Morawski. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{scraddr} + [2002/06/02 v1.1b LaTeX2e KOMA + package] +\newcommand*{\@adrFIVerror}{} +\DeclareOption{adrFreeIVempty}{\renewcommand*{\@adrFIVerror}{0}} +\DeclareOption{adrFreeIVshow}{\renewcommand*{\@adrFIVerror}{1}} +\DeclareOption{adrFreeIVwarn}{\renewcommand*{\@adrFIVerror}{2}} +\DeclareOption{adrFreeIVstop}{\renewcommand*{\@adrFIVerror}{3}} +\ExecuteOptions{adrFreeIVshow} +\ProcessOptions\relax +\newcommand{\InputAddressFile}[1]{\begingroup + \ifcase\@adrFIVerror + \def\adrentry##1##2##3##4##5##6##7{% + \addrentry{##1}{##2}{##3}{##4}{##5}{##6}{##7}{}}% + \or + \def\adrentry##1##2##3##4##5##6##7##8{% + \addrentry{##1}{##2}{##3}{##4}{##5}{##6}{##7}{% + (entry FreeIV undefined at `##8')}{##8}}% + \or + \def\adrentry##1##2##3##4##5##6##7##8{% + \addrentry{##1}{##2}{##3}{##4}{##5}{##6}{##7}{% + \PackageWarning{scraddr}{% + `##8' was defined using \string\adrentry\MessageBreak + so \string\FreeIV-entry is not defined}}{##8}}% + \else + \def\adrentry##1##2##3##4##5##6##7##8{% + \addrentry{##1}{##2}{##3}{##4}{##5}{##6}{##7}{% + \PackageError{scraddr}{% + \string\FreeIV\space undefined at `##8'}{% + `##8' was defined using \string\adrentry\MessageBreak + so \string\FreeIV-entry is not defined.\MessageBreak + You may continue but you should check output}}{##8}}% + \fi + \providecommand*{\addrchar}[1]{}% + \providecommand*{\adrchar}{\addrchar}% + \def\addrentry##1##2##3##4##5##6##7##8##9{% + \def\@tempa{##9}\ifx\@tempa\@empty\else + \expandafter\gdef\csname ##9.LN\endcsname{##1} + \expandafter\gdef\csname ##9.FN\endcsname{##2} + \expandafter\gdef\csname ##9.A\endcsname{##3} + \expandafter\gdef\csname ##9.P\endcsname{##4} + \expandafter\gdef\csname ##9.FI\endcsname{##5} + \expandafter\gdef\csname ##9.FII\endcsname{##6} + \expandafter\gdef\csname ##9.FIII\endcsname{##7} + \expandafter\gdef\csname ##9.FIV\endcsname{##8} + \fi} + \InputIfFileExists{#1.adr} + {\typeout{Load addressfile: #1.adr.}} + {\PackageError{scraddr} + {File #1.adr not found} + {The addressfile you wanted is not + available}} + \endgroup} +\newcommand*{\Name}[1]{\FirstName{#1}\ \LastName{#1}} +\newcommand*{\FirstName}[1]{\csname #1.FN\endcsname} +\newcommand*{\LastName}[1]{\csname #1.LN\endcsname} +\newcommand*{\Address}[1]{\csname #1.A\endcsname} +\newcommand*{\Telephone}[1]{\csname #1.P\endcsname} +\newcommand*{\FreeI}[1]{\csname #1.FI\endcsname} +\newcommand*{\FreeII}[1]{\csname #1.FII\endcsname} +\newcommand*{\Comment}{} +\newcommand*{\FreeIII}[1]{\csname #1.FIII\endcsname} +\let\Comment\FreeIII +\newcommand*{\FreeIV}[1]{\csname #1.FIV\endcsname} +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scraddr.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls new file mode 100644 index 00000000000..3a3f5a7158f --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls @@ -0,0 +1,2053 @@ +%% +%% This is file `scrartcl.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `class,scrartcl') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 Markus Kohm and Frank Neukam. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{% + scrartcl% + } + [2004/09/16 v2.9t LaTeX2e KOMA + document class] +\newcommand\ifnumber[3]{ + \begingroup\@tempswafalse\let\scr@next\test@number + \expandafter\scr@next#1\scr@next + \if@tempswa\endgroup#2\else\endgroup#3\fi +} +\newcommand*{\test@number}[1]{ + \ifx \scr@next#1 + \let\scr@next\relax + \else + \@tempcnta=\expandafter\expandafter\expandafter\number + \expandafter`#1\relax + \ifnum \@tempcnta>47\relax + \ifnum \@tempcnta<58\relax + \@tempswatrue + \else\@tempswafalse\fi + \else\@tempswafalse\fi + \if@tempswa\else\let\scr@next\gobble@till@next\fi\fi + \scr@next} +\newcommand*{\gobble@till@next}{} +\def\gobble@till@next#1\scr@next{} +\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} +\newcommand*{\@@BCOR}{} +\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{ + \edef\@tempa{#1}\ifx\@tempa\@empty + \edef\@tempa{#3}\def\@tempb{BCOR}\ifx\@tempa\@tempb + \PassOptionsToPackage{BCOR#2}{typearea} + \else\OptionNotUsed\fi + \else\OptionNotUsed\fi} +\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 + \PassOptionsToPackage{DIV#2}{typearea} + \else\OptionNotUsed\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 + \PassOptionsToPackage{#1headlines}{typearea} + \else\@DIV\fi} +\newcommand*{\@pt@scan}{\expandafter\@pt@@scan\CurrentOption pt\@pt@@scan} +\newcommand*{\@pt@@scan}{} +\def\@pt@@scan #1pt#2\@pt@@scan{ + \edef\@tempa{pt}\edef\@tempb{#2}\ifx\@tempa\@tempb + \ifnumber{#1} + {\@tempcnta=#1\relax + \advance \@tempcnta by-10\relax + \edef\@ptsize{\the\@tempcnta}} + {\@headlines} + \else\@headlines\fi} +\newcommand*{\x@paper}{\expandafter\x@@paper\CurrentOption paper\x@@paper} +\newcommand*{\x@@paper}{} +\def\x@@paper #1#2paper#3\x@@paper{ + \edef\@tempa{paper}\edef\@tempb{#3}\ifx\@tempa\@tempb + \ifx a#1\PassOptionsToPackage{a#2paper}{typearea} + \else\ifx b#1\PassOptionsToPackage{b#2paper}{typearea} + \else\ifx c#1\PassOptionsToPackage{c#2paper}{typearea} + \else\ifx d#1\PassOptionsToPackage{d#2paper}{typearea} + \else\OptionNotUsed\fi\fi\fi\fi + \else\@pt@scan\fi} +\newif\ifonelinecaptions\onelinecaptionstrue +\DeclareOption{onelinecaption}{\onelinecaptionstrue% + \PassOptionsToPackage{oneline}{caption2}} +\DeclareOption{noonelinecaption}{\onelinecaptionsfalse% + \PassOptionsToPackage{nooneline}{caption2}} +\newif\if@tablecaptionabove\@tablecaptionabovefalse +\DeclareOption{tablecaptionabove}{\@tablecaptionabovetrue} +\DeclareOption{tablecaptionbelow}{\@tablecaptionabovefalse} +\newif\if@komalongtable\@komalongtabletrue +\DeclareOption{origlongtable}{\@komalongtablefalse} +\newif\if@hsl +\DeclareOption{headsepline}{% + \PassOptionsToPackage{headinclude}{typearea}\@hsltrue} +\DeclareOption{headnosepline}{% + \@hslfalse% + } +\newif\if@fsl +\DeclareOption{footsepline}{\PassOptionsToPackage{footinclude}{typearea} + \@fsltrue} +\DeclareOption{footnosepline}{% + \@fslfalse% + } +\newif\if@mincl +\DeclareOption{mpinclude}{% + \@mincltrue + } +\DeclareOption{mpexclude}{ + \@minclfalse + } +\newcommand*\@ptsize{% + } +\DeclareOption{10pt}{% + \renewcommand*\@ptsize{0} + } +\DeclareOption{11pt}{% + \renewcommand*\@ptsize{1} + } +\DeclareOption{12pt}{% + \renewcommand*\@ptsize{2} + } +\DeclareOption{oneside}{% + \@twosidefalse \@mparswitchfalse + } +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\setlength{\overfullrule}{5pt}} +\DeclareOption{final}{% + \setlength{\overfullrule}{\z@} + } +\newif\if@titlepage +\@titlepagefalse +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}} +\DeclareOption{openbib}{% + \AtEndOfPackage{% + \renewcommand*\@openbib@code{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + }% + \renewcommand*\newblock{\par}}% +} +\newif\if@abstrt +\DeclareOption{abstracton}{\@abstrttrue} +\DeclareOption{abstractoff}{\@abstrtfalse} +\newif\if@parskip +\newcommand*{\scr@parskip}{\setlength{\parskip}{\z@}} +\newcommand*{\scr@parfillskip}{\setlength{\parfillskip}{\z@}} +\DeclareOption{parskip}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{1em \@plus 1fil}}} +\DeclareOption{parskip-}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parskip+}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.3333\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parskip*}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.25\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{1em \@plus 1fil}}} +\DeclareOption{halfparskip-}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip+}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.3333\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip*}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.25\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parindent}{\@parskipfalse} +\DeclareOption{pointednumbers} + {\AtEndOfClass{\@altsecnumformattrue + \global\let\@altsecnumformatfalse\@altsecnumformattrue}} +\DeclareOption{pointednumber} + {\AtEndOfClass{\@altsecnumformattrue + \global\let\@altsecnumformatfalse\@altsecnumformattrue} + \ClassError + {scrartcl} + {undefined option `pointednumber' instead of `pointednumbers'} + {You've used the class-option `pointednumber'.\MessageBreak + This name was an implementation-error at versions from 2.3h till + 2.4f.\MessageBreak + The correct name is `pointednumbers'. + Change this at your document.\MessageBreak + If you'll continue, the option `pointednumbers' will be used.}} +\DeclareOption{pointlessnumbers} + {\AtEndOfClass{\@altsecnumformatfalse + \global\let\@altsecnumformattrue\@altsecnumformatfalse}} +\DeclareOption{pointlessnumber} + {\AtEndOfClass{\@altsecnumformatfalse + \global\let\@altsecnumformattrue\@altsecnumformatfalse} + \ClassError + {scrartcl} + {undefined option `pointlessnumber' instead of `pointlessnumbers'} + {You've used the class-option `pointlessnumber'.\MessageBreak + This name was an implementation-error at versions from 2.3h till + 2.4f.\MessageBreak + The correct name is `pointlessnumbers'. + Change this at your document.\MessageBreak + If you'll continue, the option `pointlessnumbers' will be used.}} +\newcommand\@bigheadings + {\AtEndOfClass{ + \let\size@part\Huge + \let\size@partnumber\huge + \let\size@section\Large + \let\size@subsection\large + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{bigheadings}{\@bigheadings} +\DeclareOption{bigheading}{\@bigheadings + \ClassError + {scrartcl} + {undefined option `bigheading' instead of `bigheadings'} + {You've used the old option name `bigheading'!\MessageBreak + The correct name of the option is `bigheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `bigheadings' will be used.}} +\newcommand\@normalheadings + {\AtEndOfClass{ + \let\size@part\huge + \let\size@partnumber\huge + \let\size@section\large + \let\size@subsection\normalsize + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{normalheadings}{\@normalheadings} +\DeclareOption{normalheading}{\@normalheadings + \ClassError + {scrartcl} + {undefined option `normalheading' instead of `normalheadings'} + {You've used the old option name `normalheading'!\MessageBreak + The correct name of the option is `normalheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `normalheadings' will be used.}} +\newcommand\@smallheadings + {\AtEndOfClass{ + \let\size@part\LARGE + \let\size@partnumber\LARGE + \let\size@section\normalsize + \let\size@subsection\normalsize + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{smallheadings}{\@smallheadings} +\DeclareOption{smallheading}{\@smallheadings + \ClassError + {scrartcl} + {undefined option `smallheading' instead of `smallheadings'} + {You've used the old option name `smallheading'!\MessageBreak + The correct name of the option is `smallheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `smallheadings' will be used.}} +\newcommand*{\cleardoublestandardpage}{} +\let\cleardoublestandardpage\cleardoublepage +\newcommand*{\cleardoubleemptypage}{\clearpage% + {\thispagestyle{empty}\cleardoublestandardpage}} +\newcommand*{\cleardoubleplainpage}{\clearpage% + {\thispagestyle{plain}\cleardoublestandardpage}} +\DeclareOption{cleardoubleempty}{% + \let\cleardoublepage\cleardoubleemptypage} +\DeclareOption{cleardoubleplain}{% + \let\cleardoublepage\cleardoubleplainpage} +\DeclareOption{cleardoublestandard}{% + \let\cleardoublepage\cleardoublestandardpage} +\DeclareOption{liststotoc}{% + \AtEndOfClass{% + \renewcommand*{\float@listhead}[1]{% + \addsec{#1} + \@mkboth{#1}{#1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% + }} + } +\DeclareOption{liststotocnumbered}{% + \AtEndOfClass{% + \renewcommand*{\float@listhead}[1]{% + \section{#1} + \@mkboth{\sectionmarkformat #1}{\sectionmarkformat #1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% + }} + } +\DeclareOption{bibtotoc} + {\AtEndOfClass{% + \renewcommand*\bib@heading{% + \addsec{\refname} + \@mkboth{\refname}{\refname} + }}} +\DeclareOption{bibtotocnumbered} + {\AtEndOfClass{% + \renewcommand*\bib@heading{% + \section{\refname} + \@mkboth{\sectionmarkformat \refname}{\sectionmarkformat \refname} + }}} +\DeclareOption{idxtotoc} + {\AtEndOfClass{% + \renewcommand*\idx@heading{% + \twocolumn[\addsec{\indexname}] + \@mkboth{\indexname}{\indexname}% + }}} +\newif\if@tocleft +\DeclareOption{tocleft}{\@toclefttrue} +\DeclareOption{tocindent}{\@tocleftfalse} +\newif\if@dynlist +\DeclareOption{listsleft}{\@dynlisttrue} +\DeclareOption{listsindent}{\@dynlistfalse} +\if@compatibility\else + \DeclareOption*{% + \x@paper + } +\fi +\ExecuteOptions{% + final,11pt,onecolumn% + ,headnosepline,footnosepline,bigheadings% + ,oneside,abstractoff% +} +\ProcessOptions\relax +\RequirePackage{scrlfile} +\newif\if@restonecol +\@tempcnta=10 +\advance\@tempcnta by\@ptsize\relax +\xdef\@tempa{% +size% +\the\@tempcnta.clo} +\InputIfFileExists{\@tempa}{}{% + \ClassError + {scrartcl} + {File `\@tempa' not found!\MessageBreak + This error is fatal!} + {To every fontsize you want to select by class option,\MessageBreak + you need a corresponding + size-class-option-file declaring all\MessageBreak + the macros based on fontsize.\MessageBreak + Ask a wizzard for more information or use another + fontsize.\MessageBreak + You cannot continue!} + \batchmode \csname @@end\endcsname \end +} +\let\test@number =\undefined +\let\gobble@till@next =\undefined +\let\@BCOR =\undefined +\let\@@BCOR =\undefined +\let\@DIV =\undefined +\let\@@DIV =\undefined +\let\@headlines =\undefined +\let\@@headlines =\undefined +\let\x@paper =\undefined +\let\x@@paper =\undefined +\newcommand*{\scr@file@date@version}{} +\def\scr@file@date@version#1/#2/#3 #4 #5\@nil{#1/#2/#3 #4} +\RequirePackage{typearea}[\expandafter\expandafter\expandafter% + \scr@file@date@version\csname ver@% + scrartcl% + .cls\endcsname\@nil] +\setlength{\lineskip}{\p@} +\setlength{\normallineskip}{\p@} +\setlength{\columnsep}{10\p@} +\setlength{\columnseprule}{\z@} +\g@addto@macro{\@listi}{\@list@extra} +\let\@listI=\@listi +\g@addto@macro{\@listii}{\@list@extra} +\g@addto@macro{\@listiii}{\@list@extra} +\newcommand*{\add@extra@listi}[1]{% + \expandafter\let\csname #1@listi\endcsname=\@listi + \def\@listi{\csname #1@listi\endcsname\@list@extra}% +} +\g@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}} +\g@addto@macro{\small}{\protect\add@extra@listi{sml}} +\newcommand*{\@list@extra}{} +\newcommand*{% + \@parskip@indent}{% + \if@parskip + \setlength{\parindent}{\z@}% + \scr@parskip + \scr@parfillskip + \renewcommand*{\@list@extra}{% + \topsep\z@ \parsep\parskip \itemsep\z@}% + \else + \setlength{\parindent}{1em}% + \setlength{\parskip}{\z@ \@plus \p@}% + \setlength{\parfillskip}{\z@ \@plus 1fil}% + \renewcommand*{\@list@extra}{}% + \fi +}% +\@parskip@indent +\AtBeginDocument{% + \if@parskip\ifdim\parfillskip=\z@ \scr@parfillskip\fi\fi +} +\@lowpenalty = 51 +\@medpenalty =151 +\@highpenalty =301 +\setcounter{topnumber}{2} +\renewcommand*\topfraction{.7} +\setcounter{bottomnumber}{1} +\renewcommand*\bottomfraction{.3} +\setcounter{totalnumber}{3} +\renewcommand*\textfraction{.2} +\renewcommand*\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\renewcommand*\dbltopfraction{.7} +\renewcommand*\dblfloatpagefraction{.5} +\if@compatibility + \newcommand*\headincludeon{\@hincltrue} + \newcommand*\headincludeoff{\@hinclfalse} + \newcommand*\headseplineon{\@hsltrue \@hincltrue} + \newcommand*\headseplineoff{\@hslfalse \@hinclfalse} + \newcommand*\footincludeon{\@fincltrue} + \newcommand*\footincludeoff{\@finclfalse} + \newcommand*\footseplineon{\@fsltrue \@fincltrue} + \newcommand*\footseplineoff{\@fslfalse \@finclfalse} +\fi +\newcommand*{\set@tempdima@hw}{% + \setlength{\@tempdima}{\textwidth}% + \if@mincl + \addtolength{\@tempdima}{\marginparsep}% + \addtolength{\@tempdima}{\marginparwidth}% + \fi + } +\if@twoside + \renewcommand*{\ps@plain}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{}% + \renewcommand*{\@evenfoot}{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\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@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{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}% + \renewcommand*{\sectionmark}[1]{% + \markboth {\ifnum \c@secnumdepth >\z@% + \sectionmarkformat\fi ##1}{}} + \renewcommand*{\subsectionmark}[1]{% + \markright {\ifnum \c@secnumdepth >\@ne% + \subsectionmarkformat\fi ##1}}} + \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@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{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}% + \renewcommand*{\subsectionmark}[1]{} + \renewcommand*{\sectionmark}[1]{}} +\else + \renewcommand*{\ps@plain}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}}\hss}} + \newcommand*{\ps@headings}{\let\@mkboth\markboth + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark\hfil}} + \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}\hss}}% + \renewcommand*{\subsectionmark}[1]{} + \renewcommand*{\sectionmark}[1]{\markright {\ifnum \c@secnumdepth >\z@ + \sectionmarkformat\fi ##1}}} + \newcommand*{\ps@myheadings}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark\hfil}} + \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}}\hss}% + \renewcommand*{\subsectionmark}[1]{}% + \renewcommand*{\sectionmark}[1]{}} +\fi +\newcommand*{\titlepagestyle}{plain} +\newcommand*{\partpagestyle}{plain} +\newcommand*{\indexpagestyle}{plain} +\newcommand*{\@extratitle}{} +\newcommand{\extratitle}[1]{\gdef\@extratitle{#1}} +\newcommand*{\@titlehead}{} +\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}} +\newcommand*{\@subject}{} +\newcommand*{\subject}[1]{\gdef\@subject{#1}} +\newcommand*{\@publishers}{} +\newcommand{\publishers}[1]{\gdef\@publishers{#1}} +\newcommand*{\@uppertitleback}{} +\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{#1}} +\newcommand*{\@lowertitleback}{} +\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{#1}} +\newcommand*{\@dedication}{} +\newcommand{\dedication}[1]{\gdef\@dedication{#1}} +\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}} +\if@titlepage + \newcommand*\maketitle[1][1]{\begin{titlepage}% + \setcounter{page}{#1} + \let\footnotesize\small + \let\footnoterule\relax + \let\footnote\thanks + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \ifx\@extratitle\@empty \else + \noindent\@extratitle\next@tpage\cleardoublepage + \thispagestyle{empty} + \fi + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null\vfill + \begin{center} + \ifx\@subject\@empty \else + {\Large \@subject \par} + \vskip 3em + \fi + {\titlefont\huge \@title\par} + \vskip 3em + {\Large \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par} + \vskip 1.5em + {\Large \@date \par} + \vskip \z@ \@plus3fill + {\Large \@publishers \par} + \vskip 3em + \end{center}\par + \@thanks + \vfill\null + \if@twoside\next@tpage + \noindent\begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \noindent\begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage\null\vfill + {\centering \Large \@dedication \par} + \vskip \z@ \@plus3fill + \if@twoside \next@tpage\cleardoublepage \fi + \fi + \end{titlepage} + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax} +\else + \newcommand*\maketitle[1][1]{\par + \@tempcnta=#1\relax\ifnum\@tempcnta=1\else + \ClassWarning{scrartcl} + {Optional argument of \string\maketitle\space ignored + at\MessageBreak + notitlepage-mode}\fi + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{\titlepagestyle}\@thanks + \endgroup + \setcounter{footnote}{0}% + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax} +\fi +\newcommand*{\@maketitle}{% + \clearpage + \let\footnote\thanks + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \fi + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null + \vskip 2em% + \begin{center}% + \ifx\@subject\@empty \else + {\Large \@subject \par} + \vskip 1.5em + \fi + {\titlefont\huge \@title \par}% + \vskip 1.5em% + {\Large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\Large \@date \par}% + \vskip \z@ \@plus 1em + {\Large \@publishers \par} + \ifx\@dedication\@empty \else + \vskip 2em + {\Large \@dedication \par} + \fi + \end{center}% + \par + \vskip 2em} +\renewcommand*{\numberline}[1]{% + \hb@xt@\@tempdima{#1\autodot\hfil}} +\setcounter{secnumdepth}{3} +\newcounter{part} +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +\renewcommand*\thepart{\@Roman\c@part} +\renewcommand*\thesection{\@arabic\c@section} +\renewcommand*\thesubsection{\thesection.\@arabic\c@subsection} +\renewcommand*\thesubsubsection{\thesubsection.\@arabic\c@subsubsection} +\renewcommand*\theparagraph{\thesubsubsection.\@arabic\c@paragraph} +\renewcommand*\thesubparagraph{\theparagraph.\@arabic\c@subparagraph} +\newcommand\part{\par + \addvspace{4ex}% + \@afterindentfalse + \secdef\@part\@spart} +\newcommand*{\@part}{} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \refstepcounter{part}% + \@maybeautodot\thepart% + \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + {\parindent \z@ \raggedright + \interlinepenalty \@M + \normalfont\sectfont\nobreak + \ifnum \c@secnumdepth >\m@ne + \size@partnumber\partformat + \par\nobreak + \fi + \size@part #2\strut% + \partmark{#1}\par}% + \nobreak + \vskip 3ex + \@afterheading} +\newcommand*{\@spart}[1]{% + {\parindent \z@ \raggedright + \interlinepenalty \@M + \normalfont + \sectfont\nobreak\size@part #1\strut\@mkboth{}{}\par}% + \nobreak + \vskip 3ex + \@afterheading} +\newcommand*{\partmark}[1]{\@mkboth{}{}} +\newcommand\addpart{\par + \addvspace{4ex}% + \@afterindentfalse + \secdef\@addpart\@saddpart} +\newcommand*{\@addpart}{} +\def\@addpart[#1]#2{\addcontentsline{toc}{part}{#1}\@spart{#2}} +\newcommand*{\@saddpart}{} +\def\@saddpart#1{\@spart{#1}} +\newcommand*\addsec{\secdef\@addsec\@saddsec} +\newcommand*{\@addsec}{} +\def\@addsec[#1]#2{\section*{#2}\addcontentsline{toc}{section}{#1} + \if@twoside \@mkboth{#1}{}\else \@mkboth{#1}{#1}\fi} +\newcommand*{\@saddsec}[1]{\section*{#1}\@mkboth{}{}} +\newcommand\section{\@startsection{section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@section\nobreak}} +\newcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subsection\nobreak}} +\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subsubsection\nobreak}} +\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@paragraph\nobreak}} +\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subparagraph\nobreak}} +\newcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex + {\parindent \z@ + \raggedsection\normalfont\sectfont\nobreak#1\par\nobreak}\nobreak + \@afterheading} +\let\raggedsection\raggedright +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\setlength{\skip\@mpfootins}{\skip\footins} +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +\renewcommand*\theequation{% + \@arabic\c@equation} +\if@twocolumn + \setlength{\leftmargini}{2em} +\else + \setlength{\leftmargini}{2.5em} +\fi +\setlength{\leftmarginii}{2.2em} +\setlength{\leftmarginiii}{1.87em} +\setlength{\leftmarginiv}{1.7em} +\if@twocolumn + \setlength{\leftmarginv}{.5em} + \setlength{\leftmarginvi}{.5em} +\else + \setlength{\leftmarginv}{1em} + \setlength{\leftmarginvi}{1em} +\fi +\setlength{\leftmargin}{\leftmargini} +\setlength{\labelsep}{.5em} +\setlength{\labelwidth}{\leftmargini} +\addtolength{\labelwidth}{-\labelsep} +\@beginparpenalty=-\@lowpenalty +\@endparpenalty =-\@lowpenalty +\@itempenalty =-\@lowpenalty +\renewcommand*\theenumi{\@arabic\c@enumi} +\renewcommand*\theenumii{\@alph\c@enumii} +\renewcommand*\theenumiii{\@roman\c@enumiii} +\renewcommand*\theenumiv{\@Alph\c@enumiv} +\newcommand*\labelenumi{\theenumi.} +\newcommand*\labelenumii{\theenumii)} +\newcommand*\labelenumiii{\theenumiii.} +\newcommand*\labelenumiv{\theenumiv.} +\renewcommand*\p@enumii{\theenumi} +\renewcommand*\p@enumiii{\p@enumii(\theenumii)} +\renewcommand*\p@enumiv{\p@enumiii\theenumiii} +\newcommand*\labelitemi{\textbullet} +\newcommand*\labelitemii{\normalfont\bfseries\textendash} +\newcommand*\labelitemiii{\textasteriskcentered} +\newcommand*\labelitemiv{\textperiodcentered} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*{\descriptionlabel}[1]{\hspace\labelsep + \descfont #1} +\newenvironment{labeling}[2][] + {\def\sc@septext{#1} + \list{}{\settowidth{\labelwidth}{#2#1} + \leftmargin\labelwidth \advance\leftmargin by \labelsep + \let\makelabel\labelinglabel}} + {\endlist} +\newcommand\labelinglabel[1]{#1\hfil\sc@septext} +\newenvironment{verse} + {\let\\=\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item\relax} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent 1em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item\relax} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item\relax} + {\endlist} +\newenvironment{addmargin}{% + \@tempswafalse\@addmargin + }{\endlist} +\newenvironment{addmargin*}{% + \@tempswafalse + \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \@addmargin + }{\endlist} +\newcommand*{\@addmargin}[2][\@tempa]{% + \@tempcnta=\@listdepth + \list{}{% + \if@tempswa + \def\@tempa{\leftmargin}% + \setlength{\leftmargin}{#2}% + \setlength{\rightmargin}{#1}% + \else + \def\@tempa{\rightmargin}% + \setlength{\rightmargin}{#2}% + \setlength{\leftmargin}{#1}% + \fi + \setlength{\listparindent}{\parindent}% + \setlength{\itemsep}{\parskip}% + \setlength{\itemindent}{\z@}% + \setlength{\topsep}{\z@}% + \setlength{\parsep}{\parskip}% + \setlength{\partopsep}{\parskip}% + \let\makelabel\@gobble + \setlength{\labelwidth}{\z@} + \@listdepth=\@tempcnta% + }% + \item[]% + } +\if@titlepage + \newenvironment{abstract}{% + \titlepage + \null\vfil + \@beginparpenalty\@lowpenalty + \if@abstrt + \begin{center} + \normalfont\sectfont\nobreak\abstractname + \@endparpenalty\@M + \end{center}\fi} + {\par\vfil\null\endtitlepage} +\else + \newenvironment{abstract}{% + \if@twocolumn\if@abstrt + \addsec*{\abstractname}\fi% + \else + \if@abstrt + \small + \begin{center}% + {\normalfont\sectfont\nobreak\abstractname + \vspace{-.5em}\vspace{\z@}}% + \end{center}\fi% + \quotation + \fi} + {\if@twocolumn\else\endquotation\fi} +\fi +\newenvironment{titlepage} + {% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \if@compatibility + \setcounter{page}{0} + \fi}% + {\if@restonecol\twocolumn \else \newpage \fi + } +\newcommand\marginline[1]{\marginpar[\raggedleft{#1}]{\raggedright #1}} +\newcommand*\appendix{\par% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \renewcommand*\thesection{\@Alph\c@section}% + \@ifundefined{appendixmore}{}{\appendixmore}} +\newcounter{figure} +\renewcommand*\thefigure{% + \@arabic\c@figure} +\newcommand*{\fps@figure}{tbp} +\newcommand*{\ftype@figure}{1} +\newcommand*{\ext@figure}{lof} +\newcommand*{\fnum@figure}{\figureformat} +\newenvironment{figure} + {\let\caption\captionbelow\@float{figure}} + {\end@float} +\newenvironment{figure*} + {\let\caption\captionbelow\@dblfloat{figure}} + {\end@dblfloat} +\newcounter{table} +\renewcommand*\thetable{% + \@arabic\c@table} +\newcommand*{\fps@table}{tbp} +\newcommand*{\ftype@table}{2} +\newcommand*{\ext@table}{lot} +\newcommand*{\fnum@table}{\tableformat} +\newenvironment{table} + {\if@tablecaptionabove\let\caption\captionabove% + \else\let\caption\captionbelow\fi\@float{table}} + {\end@float} +\newenvironment{table*} + {\if@tablecaptionabove\let\caption\captionabove% + \else\let\caption\captionbelow\fi\@dblfloat{table}} + {\end@dblfloat} +\newcommand*{\new@tpo@label}[2]{% + \expandafter\gdef\csname scr@tpo@#1\endcsname{#2}% + } +\newcommand*{\ref@tpo@label}[1]{% + \expandafter\ifx\csname scr@tpo@#1\endcsname\relax\value{page}% + \else\csname scr@tpo@#1\endcsname\fi} +\newcommand*{\scr@tpo}{0} +\newcommand*{\is@thispageodd}{% + \begingroup% + \@tempcnta=\scr@tpo% + \advance\@tempcnta by\@ne% + \xdef\scr@tpo{\the\@tempcnta}% + \@bsphack + \protected@write\@auxout{}{% + \string\new@tpo@label{\scr@tpo}{\noexpand\the\value{page}}}% + \@esphack + \count@\ref@tpo@label{\scr@tpo}\relax + \ifodd\count@ + \aftergroup\thispagewasoddtrue + \else + \aftergroup\thispagewasoddfalse + \fi + \endgroup +} +\AtEndDocument{% + \if@filesw\immediate\write\@auxout{% + \string\gdef\string\scr@tpo@lst{\scr@tpo}}\fi% + \ifx\scr@tpo@lst\scr@tpo\else\ifnum \scr@tpo>0 + \ClassWarningNoLine{% + scrartcl% + }{Rerun to get odd- an even-page-stuff right}% + \fi\fi + } +\newif\ifthispagewasodd +\newcommand{\ifthispageodd}{% + \is@thispageodd + \ifthispagewasodd + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{10\p@} +\setlength\belowcaptionskip{0\p@} +\newif\if@captionabove\@captionabovefalse +\newcommand{\scr@caption}{} +\AtBeginDocument{\let\scr@caption\caption} +\newcommand{\captionabove}{\@captionabovetrue\scr@caption} +\newcommand{\captionbelow}{\@captionabovefalse\scr@caption} +\newcommand*{\scap@pos}{r} +\newcommand*{\scap@valign}{b} +\newcommand*{\scap@caption}{} +\newcommand*{\scap@width}{\linewidth} +\newcommand*{\scap@move}{\z@} +\newcommand*{\scap@currentlabel}{} +\newif\ifscap@alt +\newcommand*{\@captionbeside}{} +\long\def\@captionbeside[#1]#2{% + \@ifnextchar [%] + {\@@captionbeside[{#1}]{#2}} + {\c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@captionbeside}{} +\long\def\@@captionbeside[#1]#2[#3]{% + \def\scap@pos{#3}% + \@ifnextchar [%] + {\@@@captionbeside[{#1}]{#2}} + {\c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@@captionbeside}{} +\long\def\@@@captionbeside[#1]#2[#3]{% + \def\scap@width{#3}% + \@ifnextchar [%] + {\@@@@captionbeside[{#1}]{#2}} + {\setlength{\@tempdima}{#3}% + \addtolength{\@tempdima}{-\linewidth}% + \setlength{\@tempdima}{-.5\@tempdima}% + \edef\scap@move{\the\@tempdima}% + \c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@@@captionbeside}{} +\long\def\@@@@captionbeside[#1]#2[#3]{% + \def\scap@move{#3}% + \@ifstar + {\scap@alttrue\c@pti@nb@sid@[{#1}]{#2}} + {\scap@altfalse\c@pti@nb@sid@[{#1}]{#2}}% + } +\newbox\c@pti@nb@sid@b@x +\newcommand{\c@pti@nb@sid@}{} +\long\def\c@pti@nb@sid@[#1]#2{% + \def\scap@caption{\captionbelow[{#1}]{#2}}% + \begin{lrbox}{\c@pti@nb@sid@b@x}% + } +\newenvironment*{captionbeside}{% + \@dblarg\@captionbeside% + }{% + \end{lrbox}% + \settowidth{\@tempdima}{\usebox\c@pti@nb@sid@b@x}% + \setlength{\@tempdimb}{\scap@width}% + \addtolength{\@tempdimb}{-\@tempdima}% + \addtolength{\@tempdimb}{-\columnsep}% + \ifdim \@tempdimb<2em + \ClassWarning{% + scrartcl% + }{% + caption beside will be very, very small.\MessageBreak + In most cases this will result in overfull and + underfull\MessageBreak + \string\hbox\space messages% + }% + \fi% + \onelinecaptionsfalse + \setcapwidth[r]{\@tempdimb}% + \let\@tempa\scap@pos + \setlength{\@tempdimc}{\scap@move}% + \if i\scap@pos\def\@tempa{l}\fi + \if o\scap@pos\def\@tempa{r}\fi + \if@twoside + \ifthispageodd{}{% + \if o\scap@pos\def\@tempa{l}\fi + \if i\scap@pos\def\@tempa{r}\fi + \ifscap@alt + \addtolength{\@tempdimc}{\scap@width}% + \addtolength{\@tempdimc}{-\linewidth}% + \setlength{\@tempdimc}{-\@tempdimc}% + \fi + }% + \fi + \hspace*{\@tempdimc}% + \if l\@tempa% + \rlap{% + \parbox[\scap@valign]{\@tempdimb}{\scap@caption + \global\let\scap@currentlabel\@currentlabel}% + \nobreak\hskip\columnsep% + \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}% + }% + \else + \rlap{% + \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}% + \nobreak\hskip\columnsep% + \parbox[\scap@valign]{\@tempdimb}{\scap@caption + \global\let\scap@currentlabel\@currentlabel}% + }% + \fi + \par + \aftergroup\let\aftergroup\@currentlabel\aftergroup\scap@currentlabel + } +\newif\ifdofullc@p +\dofullc@ptrue +\newif\if@capbreak\@capbreakfalse +\newcommand*{\setcapindent}{\@ifstar{\@@setcapindent}{\@setcapindent}} +\newcommand*{\@setcapindent}[1]{ + \setlength{\@tempdima}{#1}% + \ifdim\@tempdima>\hsize\addtolength{\@tempdima}{-\hsize}\@capbreaktrue + \else\@capbreakfalse\fi + \edef\cap@indent{\the\@tempdima} + \dofullc@pfalse +} +\newcommand*{\@@setcapindent}[1]{ + \setlength{\@tempdima}{#1}% + \edef\cap@indent{\the\@tempdima} + \dofullc@pfalse\@capbreaktrue +} +\AfterPackage{caption2}{% + \renewcommand*{\setcapindent}{% + \ClassWarning{% + scrartcl% + }{% + You're using package caption2.\MessageBreak + Because of this you should also use \string\captionstyle\space + and\MessageBreak + set length \string\captionindent\space instead if + using\MessageBreak + \string\setcapindent + } + \captionstyle{indent}% + \@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}}} +\newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse} +\AfterPackage{caption2}{% + \renewcommand*{\setcaphanging}{% + \ClassWarning{% + scrartcl% + }{% + You're using package caption2.\MessageBreak + Because of this you should also use \string\captionstyle\MessageBreak + instead of \string\setcaphang + } + \captionstyle{hang}}} +\newcommand{\@makecaption}[2]{% + \if@captionabove\vskip\belowcaptionskip\else\vskip\abovecaptionskip\fi + \@@makecaption\@firstofone{#1}{#2}% + \if@captionabove\vskip\abovecaptionskip\else\vskip\belowcaptionskip\fi} +\newcommand*{\cap@width}{\hsize} +\newcommand*{\cap@left}{\hfill} +\newcommand*{\cap@right}{\hfill} +\newcommand*{\setcapwidth}[2][]{% + \begingroup% + \setlength{\@tempdima}{#2}% + \edef\@tempa{\endgroup\def\noexpand\cap@width{\the\@tempdima}}% + \@tempa% + \begingroup + \expandafter\def\expandafter\@tempa\expandafter{#1}% + \def\@tempb{c}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\hfill}% + \else + \def\@tempb{l}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\relax\let\cap@right\hfill}% + \else + \def\@tempb{r}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\relax}% + \else + \def\@tempb{i}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \let\cap@left=\relax + \let\cap@right=\hfill + \if@twoside + \ifthispageodd{}{% + \let\cap@left=\hfill + \let\cap@right=\relax + }% + \fi + }% + \else + \def\@tempb{o}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \let\cap@left=\hfill + \let\cap@right=\relax + \if@twoside + \ifthispageodd{}{% + \let\cap@left=\relax + \let\cap@right=\hfill + }% + \fi + }% + \else + \ifx \@tempa\@empty\else + \ClassError{% + scrartcl% + }{% + unknown optional position argument% + }{% + You've used `#1' as position argument at + \string\setcaptionwidth,\MessageBreak + but only ONE of `c', `l', `r', `i`, `o` ist + allowed.\MessageBreak + Argument will be ignored, if you'll continue.% + }% + \fi% + \endgroup% + \fi\fi\fi\fi\fi% + } +\AfterPackage{caption2}{% + \renewcommand*{\setcapwidth}[2][]{% + \ClassWarning{% + scrbook% + }{% + Ignorring optional argument of \string\setcapwidth!\MessageBreak + You're using package caption2.\MessageBreak + Because of this you should also use + \string\setcaptionwidth\MessageBreak + instead of \string\setcapwidth\MessageBreak + } + \setcaptionwidth{#2}}}% +\newcommand*{\cap@margin}{} +\let\cap@margin=\relax% +\newcommand*{\setcapmargin}{\@ifstar{\@setcapmargin}{\@@setcapmargin}} +\newcommand*{\@setcapmargin}[2][\@tempdimb]{% + \def\cap@margin{% + \onelinecaptionsfalse% + \begingroup% + \setlength{\@tempdima}{\hsize}% + \setlength{\@tempdimb}{#2}% + \addtolength{\@tempdima}{-\@tempdimb}% + \setlength{\@tempdimc}{#1}% + \addtolength{\@tempdima}{-\@tempdimc}% + \edef\@tempa{\endgroup% + \def\noexpand\cap@width{\the\@tempdima}% + \noexpand\if@twoside% + \noexpand\ifthispageodd{% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% + }{% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimb}}% + }% + \noexpand\else% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% + \noexpand\fi} + \@tempa}% + } +\newcommand*{\@@setcapmargin}[2][\@tempdimb]{% + \def\cap@margin{% + \onelinecaptionsfalse% + \begingroup% + \setlength{\@tempdima}{\hsize}% + \setlength{\@tempdimb}{#2}% + \addtolength{\@tempdima}{-\@tempdimb}% + \setlength{\@tempdimc}{#1}% + \addtolength{\@tempdima}{-\@tempdimc}% + \edef\@tempa{\endgroup% + \def\noexpand\cap@width{\the\@tempdima}% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}}% + \@tempa}% + } +\AfterPackage{caption2}{% + \renewcommand*{\@setcapmargin}[2][\@tempdimb]{% + \setlength{\@tempdimb}{#2}% + \setlength{\@tempdima}{#1}% + \ifdim\@tempdima\@tempdimb\else + \ClassWarning{% + scrbook% + }{% + Can set only centered caption!\MessageBreak + You're using package caption2.\MessageBreak + Because of this you should also use + \string\setcaptionmargin\MessageBreak + instead of \string\setcapmargin + } + \fi + \addtolength{\@tempdimb}{\@tempdimb}% + \setcaptionmargin{.5\@tempdimb}} + \let\@@setcapmargin=\@setcapmargin + } +\newcommand{\@@makecaption}[3]{% + \cap@margin% + \ifonelinecaptions% + \@tempcnta=\value{mpfootnote}\@tempcntb=\value{footnote}% + \let\scr@tmp@footnotetext=\@footnotetext + \let\@footnotetext=\@gobble + \sbox\@tempboxa{% + {\capfont#1{{\caplabelfont#2\captionformat}}% + #3}% + }% + \let\@footnotetext=\scr@tmp@footnotetext + \let\scr@tmp@footnotetext=\undefined + \setcounter{footnote}{\@tempcntb}\setcounter{mpfootnote}{\@tempcnta}% + \else + \sbox\@tempboxa{\hspace*{2\cap@width}}% + \fi + \begingroup% + \setlength{\@tempdima}{\wd\@tempboxa}% + \setlength{\@tempdima}{\cap@width}% + \ifdim \wd\@tempboxa >\@tempdima% + \strut\cap@left% + \vtop{\hsize=\cap@width% + \ifdofullc@p + {\capfont\@hangfrom{#1{{\caplabelfont#2\captionformat}}}{#3\par}} + \else% + \ifdim\cap@indent<\z@% + {\capfont#1{{\caplabelfont #2\captionformat\par}}\noindent% + \hspace*{-\cap@indent}#3\par} + \else% + \if@capbreak + {\capfont#1{{\caplabelfont #2\captionformat\par}}\noindent% + \@hangfrom{\hspace*{\cap@indent}}{#3\par}} + \else + {\capfont\@hangfrom{\hspace*{\cap@indent}}% + {\hspace{-\cap@indent}#1% + {{\caplabelfont#2\captionformat}}#3\par}} + \fi + \fi + \fi}% + \cap@right\strut% + \else + \global \@minipagefalse + \sbox\@tempboxa{% + {\capfont#1{{\caplabelfont#2\captionformat}}% + #3}% + }% + \hb@xt@\hsize{\cap@left\box\@tempboxa\cap@right}% + \fi% + \endgroup} +\AfterPackage{longtable}{% + \@ifpackageloaded{caption2}{\@komalongtablefalse% + \ClassWarning{% + scrartcl}{% + you've loaded package caption2 before package\MessageBreak + longtable!\MessageBreak + Because of this package caption2 isn't able to + control\MessageBreak + \string\caption\space at longtables. After loading package + caption2\MessageBreak + KOMA-Script also doesn't control \string\caption.\MessageBreak + I think, you should load package caption2 after + package\MessageBreak + longtable% + }}{} + \if@komalongtable + \renewcommand{\LT@makecaption}[3]{% + \noalign{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + }% + \LT@mcol\LT@cols c{% + \hbox to\z@{\hss\parbox[t]\linewidth{% + \@@makecaption{#1}{#2}{#3}% + \endgraf + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi + }% + \hss + }% + }% + }% + \newcommand*{\scr@LT@array}{}% + \let\scr@LT@array=\LT@array% + \renewcommand*{\LT@array}{% + \let\scr@caption=\LT@caption + \def\captionabove{\noalign{\global\@captionabovetrue}% + \scr@caption}% + \def\captionbelow{\noalign{\global\@captionabovefalse}% + \scr@caption}% + \if@tablecaptionabove + \let\LT@caption=\captionabove + \else + \let\LT@caption=\captionbelow + \fi + \scr@LT@array} + \ClassInfo{% + scrartcl}{% + longtable captions redefined} + \fi + } +\newcommand*{\fs@komaabove}{% + \let\@fs@capt\floatc@komascript + \let\@fs@pre\@empty + \def\@fs@mid{\vskip\abovecaptionskip} + \let\@fs@post\@empty + \let\@fs@iftopcapt\iftrue} +\newcommand*{\fs@komabelow}{% + \let\@fs@capt\floatc@komascript + \let\@fs@pre\@empty + \def\@fs@mid{\vskip\abovecaptionskip} + \let\@fs@post\@empty + \let\@fs@iftopcapt\iffalse} +\newcommand{\floatc@komascript}{\@@makecaption\@firstofone} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb} +\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} +\newcommand*\descfont{\sffamily\bfseries} +\newcommand*\sectfont{\normalcolor\sffamily\bfseries} +\newcommand*\pnumfont{\normalfont\normalcolor} +\newcommand*\headfont{\normalfont\normalcolor\slshape} +\newcommand*\capfont{\normalfont\normalcolor} +\newcommand*\caplabelfont{\normalfont\normalcolor} +\newcommand*\titlefont{\sectfont} +\newcommand*{\setkomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrartcl% + }{font of element `#1' can't be set}{% + You've told me to redefine the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassError{% + scrartcl% + }{font of element `#1' can't be set}{% + You've told me to redefine the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be changed with element `\csname + scr@fnt@instead@#1\endcsname'} + }% + }{% + \expandafter\expandafter\expandafter\renewcommand% + \csname scr@fnt@#1\endcsname{#2}% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \ClassWarning{% + scrartcl% + }{\csname scr@fnt@wrn@#1\endcsname{#1}} + } + } +} +\newcommand{\l@addto@macro}[2]{% + \begingroup% + \toks@\expandafter{#1#2}% + \edef\@tempa{\endgroup\def\noexpand#1{\the\toks@}}% + \@tempa} +\newcommand*{\addtokomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrartcl% + }{font of element `#1' can't be extended}{% + You've told me to extend the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassError{% + scrartcl% + }{font of element `#1' can't be extended}{% + You've told me to extend the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be changed with element `\csname + scr@fnt@instead@#1\endcsname'} + }% + }{% + \expandafter\expandafter\expandafter\l@addto@macro% + \csname scr@fnt@#1\endcsname{#2}% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \ClassWarning{% + scrartcl% + }{\csname scr@fnt@wrn@#1\endcsname{#1}} + } + } +} +\newcommand*{\usekomafont}[1]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrartcl% + }{font of element `#1' can't be used}{% + You've told me to use the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassWarning{% + scrartcl% + }{% + You've told me to use the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be selected with element `\csname + scr@fnt@instead@#1\endcsname'.\MessageBreak + I fix this using font of `\csname + scr@fnt@instead@#1\endcsname'}% + }% + \@nameuse{scr@fnt@instead@#1}% + }{% + \@nameuse{scr@fnt@#1}% + }% + } +\newcommand*{\scr@fnt@descriptionlabel}{\descfont} +\newcommand*{\scr@fnt@title}{\titlefont} +\newcommand*{\scr@fnt@sectioning}{\sectfont} +\newcommand*{\scr@fnt@part}{\size@part} +\newcommand*{\scr@fnt@partnumber}{\size@partnumber} +\newcommand*{\scr@fnt@section}{\size@section} +\newcommand*{\scr@fnt@subsection}{\size@subsection} +\newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} +\newcommand*{\scr@fnt@paragraph}{\size@paragraph} +\newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} +\newcommand*{\scr@fnt@instead@minisec}{sectioning} +\newcommand*{\scr@fnt@pagenumber}{\pnumfont} +\let\scr@fnt@pagination=\scr@fnt@pagenumber +\newcommand*{\scr@fnt@pagehead}{\headfont} +\newcommand*{\scr@fnt@wrn@pagehead}[1]{% + font selection of elements `pagehead' and `pagefoot'\MessageBreak + changed, because you wanted to change font selection\MessageBreak + of element `#1'% +} +\let\scr@fnt@pagefoot=\scr@fnt@pagehead +\let\scr@fnt@wrn@pagefoot=\scr@fnt@wrn@pagehead +\newcommand*{\scr@fnt@caption}{\capfont} +\newcommand*{\scr@fnt@captionlabel}{\caplabelfont} +\newcommand*\@pnumwidth{1.55em} +\newcommand*\@tocrmarg {2.55em} +\newcommand*\@dotsep{4.5} +\setcounter{tocdepth}{3} +\newcommand*\toc@heading{\section*{\contentsname + \@mkboth{\contentsname}{\contentsname}}} +\newcommand*{\scr@dottedtocline}{}% +\newcommand*{\scr@numberline}{}% +\newcommand*{\last@l@number}{}% +\newcommand*{\@l@number}{} +\newcommand*{\set@l@number}[1]{% + \settowidth{\@tempdima}{#1\enskip}% + \ifdim\@tempdima >\@l@number\relax% + \xdef\@l@number{\the\@tempdima}% + \fi% + \ifdim\@tempdima >\last@l@number \else% + \setlength{\@tempdima}{\last@l@number}% + \fi% + } +\newcommand*{\before@starttoc}[1]{ + \let\scr@dottedtocline=\@dottedtocline% + \renewcommand*{\@dottedtocline}[3]{% + \scr@dottedtocline{##1}{\z@}{\last@l@number}}% + \let\scr@numberline=\numberline% + \renewcommand*{\numberline}[1]{% + \set@l@number{##1}\scr@numberline{##1}}% + \gdef\@l@number{\z@}% + \@ifundefined{#1@l@number}{% + \def\last@l@number{2em}% + }{% + \expandafter\let\expandafter\last@l@number + \expandafter=\csname#1@l@number\endcsname% + }% + } +\newcommand*{\after@starttoc}[1]{% + \protected@write\@auxout{}{% + \string\gdef\expandafter\string\csname#1@l@number\endcsname{% + \@l@number}}% + } +\newcommand*{\toc@l@number}{} +\newcommand*{\tableofcontents}{% + \begingroup + \toc@heading% + \@parskipfalse\@parskip@indent% + \if@tocleft\before@starttoc{toc}\fi% + \@starttoc{toc}% + \if@tocleft\after@starttoc{toc}\fi% + \endgroup +} +\newcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{\@secpenalty}% + \addvspace{2.25em \@plus\p@}% + \setlength\@tempdima{2em}% + \if@tocleft + \ifx\toc@l@number\@empty\else + \setlength\@tempdima{0\toc@l@number}% + \fi + \fi + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode\sectfont\large + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \if@compatibility + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \else + \penalty\@highpenalty + \fi + \endgroup + \fi} +\newcommand*\l@section[2]{% + \ifnum \c@tocdepth >\z@ + \addpenalty{\@secpenalty}% + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \if@tocleft + \ifx\toc@l@number\@empty\else + \setlength\@tempdima{0\toc@l@number}% + \fi + \fi + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \sectfont + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + \fi} +\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}} +\newcommand*{\float@listhead}[1]{% + \section*{#1}% + \@mkboth{#1}{#1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% +} +\newcommand*\lof@heading{\float@listhead{\listfigurename}} +\newcommand*\listoffigures{% + \begingroup% + \lof@heading% + \@parskipfalse\@parskip@indent% + \@starttoc{lof}% + \endgroup +} +\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand*\lot@heading{\float@listhead{\listtablename}} +\newcommand*\listoftables{% + \begingroup + \lot@heading% + \@parskipfalse\@parskip@indent% + \@starttoc{lot}% + \endgroup +} +\let\l@table\l@figure +\newcommand*{\bibpreamble}{\relax} +\let\bibpreamble\relax +\newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} +\newcommand*\bib@heading{% + \section*{\refname} + \@mkboth{\refname}{\refname} +} +\newdimen\bibindent +\bibindent=1.5em +\newenvironment{thebibliography}[1]{% + \bib@heading% + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \noindent\bibpreamble\par\nobreak + \fi\fi + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} +{\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty +\newcommand*{\index@preamble}{\relax} +\newcommand{\setindexpreamble}[1]{\renewcommand*{\index@preamble}{#1}} +\newcommand*{\idx@heading}{% + \twocolumn[\section*{\indexname}] + \@mkboth{\indexname}{\indexname}% +} +\newenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \idx@heading% + \index@preamble\par\nobreak + \thispagestyle{\indexpagestyle}\parindent\z@ + \setlength{\parskip}{\z@ \@plus .3\p@} + \setlength{\parfillskip}{\z@ \@plus 1fil} + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +\newcommand*\@idxitem {\par\hangindent 40\p@} +\newcommand*\subitem {\@idxitem \hspace*{20\p@}} +\newcommand*\subsubitem{\@idxitem \hspace*{30\p@}} +\newcommand*\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} +\renewcommand*\footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.0005fil\fi + \hrule\@width.4\columnwidth + \kern 2.6\p@} +\newcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \setlength{\@tempdimc}{#3}% + \def\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2} + \parshape \@ne #2 \@tempdima}% + \else + \addtolength{\@tempdimc}{#2}% + \addtolength{\@tempdimc}{-#1}% + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1} + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2} + \parshape \tw@ #1 \@tempdima #2 \@tempdimb}% + \fi + \par + \parindent\@tempdimc\noindent + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1} + \def\@@makefnmark{\hbox{\ftnm@font{#4}}} +} +\newcommand*{\ftn@font}{\normalfont} +\newcommand*{\scr@fnt@footnote}{\ftn@font} +\newcommand*{\ftnm@font}{} +\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font} +\newcommand*{\scr@fnt@footnotelabel}{\ftnm@font} +\newcommand*{\scr@fnt@instead@footnotetext}{footnote} +\newcommand*\deffootnotemark[1]{\def\@makefnmark{\hbox{\ftntm@font{#1}}}} +\newcommand*{\ftntm@font}{} +\newcommand*{\scr@fnt@footnotereference}{\ftntm@font} +\newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\newcommand*{\thefootnotemark}{\@thefnmark} +\deffootnote[1em]{1.5em}{1em} + {\textsuperscript{\thefootnotemark}} +\deffootnotemark{\textsuperscript{\thefootnotemark}} +\DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}} +\newcommand{\@textsubscript}[1]{% + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} +\newcommand*\contentsname{Contents} +\newcommand*\listfigurename{List of Figures} +\newcommand*\listtablename{List of Tables} +\newcommand*\refname{References} +\newcommand*\indexname{Index} +\newcommand*\figurename{Figure} +\newcommand*\tablename{Table} +\newcommand*\partname{Part} +\newcommand*\appendixname{Appendix} +\newcommand*\abstractname{Abstract} +\newcommand*\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\newcommand*{\providecaptionname}[3]{% + \@ifundefined{captions#1}{% + \@ifundefined{cap@info@#1@done}{% + \ClassInfo{% + scrlttr2% + }{% + No captions found for `#1'\MessageBreak + --> skipped% + }% + \expandafter\let\csname cap@info@#1@done\endcsname\@empty}{}% + }{% + \begingroup% + \let\@tempa\endgroup% + \csname captions#1\endcsname% + \ifx #2\undefined% + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \csname captions#1\endcsname + }% + \else + \def\@tempa{\endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + }% + \fi + \else + \ClassInfo{% + scrlttr2% + }{% + `\string#2' at language `#1' already + defined\MessageBreak + --> skipped% + }% + \fi + \@tempa + }% +} +\newcommand*{\newcaptionname}[3]{% + \@ifundefined{captions#1}{% + \ClassInfo{% + scrlttr2% + }{% + No captions found for `#1' --> defining% + }% + \@namedef{captions#1}{}% + }{}% + \begingroup% + \csname captions#1\endcsname% + \ifx #2\undefined\else% + \ClassError{% + scrlttr2% + }{% + `\string#2' at language `#1' already defined% + }{% + You've told me to define `\string#2' at language + `#1',\MessageBreak + but it is already defined.\MessageBreak + It will be redefined, if you'll continue.% + } + \fi + \endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \begingroup + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newcommand*{\renewcaptionname}[3]{% + \@ifundefined{captions#1}{% + \ClassError{% + scrlttr2% + }{% + No captions found for `#1'% + }{% + You've told me to redefine the caption `\string#2' at language + `#1',\MessageBreak + but `\expandafter\string\csname captions#1\endcsname' is not + defined.\MessageBreak + If you'll continue it will be defined.% + } + \@namedef{captions#1}{}% + }{}% + \begingroup% + \csname captions#1\endcsname% + \ifx #2\undefined% + \ClassError{% + scrlttr2% + }{% + `\string#2' not defined at language `#1'% + }{% + You've told me to redefine `\string#2' at language + `#1',\MessageBreak + but it is not defined.\MessageBreak + If you'll continue it will be defined.% + } + \fi + \endgroup + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \begingroup + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newif\if@altsecnumformat\@altsecnumformatfalse +\newif\if@autodot\@autodotfalse +\newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% + \expandafter\@@maybeautodot #1\@stop\endgroup\fi} +\newcommand*{\@@maybeautodot}[1]{% + \ifx #1\@stop\let\@@maybeautodot\relax% + \else% + \ifx #1\Alph \aftergroup\@autodottrue\fi% + \ifx #1\alph \aftergroup\@autodottrue\fi% + \ifx #1\Roman \aftergroup\@autodottrue\fi% + \ifx #1\roman \aftergroup\@autodottrue\fi% + \ifx #1\@Alph \aftergroup\@autodottrue\fi% + \ifx #1\@alph \aftergroup\@autodottrue\fi% + \ifx #1\@Roman \aftergroup\@autodottrue\fi% + \ifx #1\@roman \aftergroup\@autodottrue\fi% + \ifx #1\romannumeral \aftergroup\@autodottrue\fi% + \fi% + \@@maybeautodot} +\let\scr@sect\@sect +\renewcommand*{\@sect}[1]{\stepcounter{#1}% + \expandafter\@maybeautodot\csname the#1\endcsname% + \addtocounter{#1}{-1}\scr@sect{#1}} +\AtEndDocument{% + \if@autodot\if@filesw\immediate\write\@mainaux{% + \string\global\string\@altsecnumformattrue} + \fi\fi} +\newcommand*\autodot{\if@altsecnumformat.\fi} +\newcommand*\sectionmarkformat {\thesection\autodot\enskip} +\newcommand*\subsectionmarkformat {\thesubsection\autodot\enskip} +\newcommand*{\partformat}{\partname~\thepart\autodot} +\newcommand*{\figureformat}{\figurename~\thefigure% + } +\newcommand*{\tableformat}{\tablename~\thetable% +} +\newcommand*{\captionformat}{:\ } +\newcommand*{\othersectionlevelsformat}[1]{% + \csname the#1\endcsname\autodot\enskip} +\renewcommand*{\@seccntformat}{\protect\othersectionlevelsformat} +\pagestyle{plain} +\pagenumbering{arabic} % Arabic page numbers +\if@twoside +\else + \raggedbottom +\fi +\if@twocolumn + \twocolumn + \sloppy + \flushbottom +\else + \onecolumn +\fi +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrartcl.cls'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrbook.cls b/Master/texmf-dist/tex/latex/koma-script/scrbook.cls new file mode 100644 index 00000000000..2385bafecbd --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrbook.cls @@ -0,0 +1,2387 @@ +%% +%% This is file `scrbook.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `class,scrbook') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 Markus Kohm and Frank Neukam. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{% + scrbook% + } + [2004/09/16 v2.9t LaTeX2e KOMA + document class] +\newcommand\ifnumber[3]{ + \begingroup\@tempswafalse\let\scr@next\test@number + \expandafter\scr@next#1\scr@next + \if@tempswa\endgroup#2\else\endgroup#3\fi +} +\newcommand*{\test@number}[1]{ + \ifx \scr@next#1 + \let\scr@next\relax + \else + \@tempcnta=\expandafter\expandafter\expandafter\number + \expandafter`#1\relax + \ifnum \@tempcnta>47\relax + \ifnum \@tempcnta<58\relax + \@tempswatrue + \else\@tempswafalse\fi + \else\@tempswafalse\fi + \if@tempswa\else\let\scr@next\gobble@till@next\fi\fi + \scr@next} +\newcommand*{\gobble@till@next}{} +\def\gobble@till@next#1\scr@next{} +\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} +\newcommand*{\@@BCOR}{} +\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{ + \edef\@tempa{#1}\ifx\@tempa\@empty + \edef\@tempa{#3}\def\@tempb{BCOR}\ifx\@tempa\@tempb + \PassOptionsToPackage{BCOR#2}{typearea} + \else\OptionNotUsed\fi + \else\OptionNotUsed\fi} +\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 + \PassOptionsToPackage{DIV#2}{typearea} + \else\OptionNotUsed\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 + \PassOptionsToPackage{#1headlines}{typearea} + \else\@DIV\fi} +\newcommand*{\@pt@scan}{\expandafter\@pt@@scan\CurrentOption pt\@pt@@scan} +\newcommand*{\@pt@@scan}{} +\def\@pt@@scan #1pt#2\@pt@@scan{ + \edef\@tempa{pt}\edef\@tempb{#2}\ifx\@tempa\@tempb + \ifnumber{#1} + {\@tempcnta=#1\relax + \advance \@tempcnta by-10\relax + \edef\@ptsize{\the\@tempcnta}} + {\@headlines} + \else\@headlines\fi} +\newcommand*{\x@paper}{\expandafter\x@@paper\CurrentOption paper\x@@paper} +\newcommand*{\x@@paper}{} +\def\x@@paper #1#2paper#3\x@@paper{ + \edef\@tempa{paper}\edef\@tempb{#3}\ifx\@tempa\@tempb + \ifx a#1\PassOptionsToPackage{a#2paper}{typearea} + \else\ifx b#1\PassOptionsToPackage{b#2paper}{typearea} + \else\ifx c#1\PassOptionsToPackage{c#2paper}{typearea} + \else\ifx d#1\PassOptionsToPackage{d#2paper}{typearea} + \else\OptionNotUsed\fi\fi\fi\fi + \else\@pt@scan\fi} +\newif\ifonelinecaptions\onelinecaptionstrue +\DeclareOption{onelinecaption}{\onelinecaptionstrue% + \PassOptionsToPackage{oneline}{caption2}} +\DeclareOption{noonelinecaption}{\onelinecaptionsfalse% + \PassOptionsToPackage{nooneline}{caption2}} +\newif\if@tablecaptionabove\@tablecaptionabovefalse +\DeclareOption{tablecaptionabove}{\@tablecaptionabovetrue} +\DeclareOption{tablecaptionbelow}{\@tablecaptionabovefalse} +\newif\if@komalongtable\@komalongtabletrue +\DeclareOption{origlongtable}{\@komalongtablefalse} +\newif\if@hsl +\DeclareOption{headsepline}{% + \PassOptionsToPackage{headinclude}{typearea}\@hsltrue} +\DeclareOption{headnosepline}{% + \@hslfalse% + } +\newif\if@fsl +\DeclareOption{footsepline}{\PassOptionsToPackage{footinclude}{typearea} + \@fsltrue} +\DeclareOption{footnosepline}{% + \@fslfalse% + } +\newif\if@mincl +\DeclareOption{mpinclude}{% + \@mincltrue + } +\DeclareOption{mpexclude}{ + \@minclfalse + } +\newcommand*\@ptsize{% + } +\DeclareOption{10pt}{% + \renewcommand*\@ptsize{0} + } +\DeclareOption{11pt}{% + \renewcommand*\@ptsize{1} + } +\DeclareOption{12pt}{% + \renewcommand*\@ptsize{2} + } +\DeclareOption{oneside}{% + \@twosidefalse \@mparswitchfalse + } +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\setlength{\overfullrule}{5pt}} +\DeclareOption{final}{% + \setlength{\overfullrule}{\z@} + } +\newif\if@titlepage +\@titlepagetrue +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\newif\if@openright +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}} +\DeclareOption{openbib}{% + \AtEndOfPackage{% + \renewcommand*\@openbib@code{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + }% + \renewcommand*\newblock{\par}}% +} +\newif\if@parskip +\newcommand*{\scr@parskip}{\setlength{\parskip}{\z@}} +\newcommand*{\scr@parfillskip}{\setlength{\parfillskip}{\z@}} +\DeclareOption{parskip}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{1em \@plus 1fil}}} +\DeclareOption{parskip-}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parskip+}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.3333\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parskip*}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.25\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{1em \@plus 1fil}}} +\DeclareOption{halfparskip-}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip+}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.3333\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip*}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.25\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parindent}{\@parskipfalse} +\DeclareOption{pointednumbers} + {\AtEndOfClass{\@altsecnumformattrue + \global\let\@altsecnumformatfalse\@altsecnumformattrue}} +\DeclareOption{pointednumber} + {\AtEndOfClass{\@altsecnumformattrue + \global\let\@altsecnumformatfalse\@altsecnumformattrue} + \ClassError + {scrbook} + {undefined option `pointednumber' instead of `pointednumbers'} + {You've used the class-option `pointednumber'.\MessageBreak + This name was an implementation-error at versions from 2.3h till + 2.4f.\MessageBreak + The correct name is `pointednumbers'. + Change this at your document.\MessageBreak + If you'll continue, the option `pointednumbers' will be used.}} +\DeclareOption{pointlessnumbers} + {\AtEndOfClass{\@altsecnumformatfalse + \global\let\@altsecnumformattrue\@altsecnumformatfalse}} +\DeclareOption{pointlessnumber} + {\AtEndOfClass{\@altsecnumformatfalse + \global\let\@altsecnumformattrue\@altsecnumformatfalse} + \ClassError + {scrbook} + {undefined option `pointlessnumber' instead of `pointlessnumbers'} + {You've used the class-option `pointlessnumber'.\MessageBreak + This name was an implementation-error at versions from 2.3h till + 2.4f.\MessageBreak + The correct name is `pointlessnumbers'. + Change this at your document.\MessageBreak + If you'll continue, the option `pointlessnumbers' will be used.}} +\newcommand\@bigheadings + {\AtEndOfClass{ + \renewcommand*{\chapterheadstartvskip}{\vspace*{2.3\baselineskip}} + \renewcommand*{\chapterheadendvskip}{\vspace{1.725\baselineskip + \@plus .115\baselineskip \@minus .192\baselineskip}} + \let\size@part\Huge + \let\size@partnumber\huge + \let\size@chapter\huge + \let\size@section\Large + \let\size@subsection\large + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{bigheadings}{\@bigheadings} +\DeclareOption{bigheading}{\@bigheadings + \ClassError + {scrbook} + {undefined option `bigheading' instead of `bigheadings'} + {You've used the old option name `bigheading'!\MessageBreak + The correct name of the option is `bigheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `bigheadings' will be used.}} +\newcommand\@normalheadings + {\AtEndOfClass{ + \renewcommand*{\chapterheadstartvskip}{\vspace*{2\baselineskip}} + \renewcommand*{\chapterheadendvskip}{\vspace{1.5\baselineskip + \@plus .1\baselineskip \@minus .167\baselineskip}} + \let\size@part\huge + \let\size@partnumber\huge + \let\size@chapter\LARGE + \let\size@section\Large + \let\size@subsection\large + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{normalheadings}{\@normalheadings} +\DeclareOption{normalheading}{\@normalheadings + \ClassError + {scrbook} + {undefined option `normalheading' instead of `normalheadings'} + {You've used the old option name `normalheading'!\MessageBreak + The correct name of the option is `normalheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `normalheadings' will be used.}} +\newcommand\@smallheadings + {\AtEndOfClass{ + \renewcommand*{\chapterheadstartvskip}{\vspace*{1.8\baselineskip}} + \renewcommand*{\chapterheadendvskip}{\vspace{1.35\baselineskip + \@plus 0.09\baselineskip \@minus .15\baselineskip}} + \let\size@part\LARGE + \let\size@partnumber\LARGE + \let\size@chapter\Large + \let\size@section\large + \let\size@subsection\normalsize + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{smallheadings}{\@smallheadings} +\DeclareOption{smallheading}{\@smallheadings + \ClassError + {scrbook} + {undefined option `smallheading' instead of `smallheadings'} + {You've used the old option name `smallheading'!\MessageBreak + The correct name of the option is `smallheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `smallheadings' will be used.}} +\newif\if@chapterprefix +\DeclareOption{chapterprefix}{\@chapterprefixtrue} +\DeclareOption{nochapterprefix}{\@chapterprefixfalse} +\DeclareOption{appendixprefix}{\def\appendixmore{\@chapterprefixtrue}} +\DeclareOption{noappendixprefix}{\def\appendixmore{\@chapterprefixfalse}} +\newcommand*{\cleardoublestandardpage}{} +\let\cleardoublestandardpage\cleardoublepage +\newcommand*{\cleardoubleemptypage}{\clearpage% + {\thispagestyle{empty}\cleardoublestandardpage}} +\newcommand*{\cleardoubleplainpage}{\clearpage% + {\thispagestyle{plain}\cleardoublestandardpage}} +\DeclareOption{cleardoubleempty}{% + \let\cleardoublepage\cleardoubleemptypage} +\DeclareOption{cleardoubleplain}{% + \let\cleardoublepage\cleardoubleplainpage} +\DeclareOption{cleardoublestandard}{% + \let\cleardoublepage\cleardoublestandardpage} +\DeclareOption{liststotoc}{% + \AtEndOfClass{% + \renewcommand*{\float@listhead}[1]{% + \addchap{#1} + \@mkboth{#1}{#1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% + }} + } +\DeclareOption{liststotocnumbered}{% + \AtEndOfClass{% + \renewcommand*{\float@listhead}[1]{% + \chapter{#1} + \@mkboth{\chaptermarkformat #1}{\chaptermarkformat #1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% + }} + } +\DeclareOption{bibtotoc} + {\AtEndOfClass{% + \renewcommand*\bib@heading{% + \addchap{\bibname} + \@mkboth{\bibname}{\bibname} + }}} +\DeclareOption{bibtotocnumbered} + {\AtEndOfClass{% + \renewcommand*\bib@heading{% + \chapter{\bibname} + \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname} + }}} +\DeclareOption{idxtotoc} + {\AtEndOfClass{% + \renewcommand*\idx@heading{% + \if@openright\cleardoublepage\else\clearpage\fi% + \twocolumn[\addchap{\indexname}] + \@mkboth{\indexname}{\indexname}% + }}} +\newif\if@tocleft +\DeclareOption{tocleft}{\@toclefttrue} +\DeclareOption{tocindent}{\@tocleftfalse} +\newif\if@dynlist +\DeclareOption{listsleft}{\@dynlisttrue} +\DeclareOption{listsindent}{\@dynlistfalse} +\if@compatibility\else + \DeclareOption*{% + \x@paper + } +\fi +\ExecuteOptions{% + final,11pt,onecolumn% + ,headnosepline,footnosepline,bigheadings% + ,nochapterprefix,twoside,openright% +} +\ProcessOptions\relax +\RequirePackage{scrlfile} +\newif\if@restonecol +\newif\if@mainmatter\@mainmattertrue +\@tempcnta=10 +\advance\@tempcnta by\@ptsize\relax +\xdef\@tempa{% +bk% +\the\@tempcnta.clo} +\InputIfFileExists{\@tempa}{}{% + \xdef\@tempb{size\the\@tempcnta.clo} + \InputIfFileExists{\@tempb}{% + \ClassWarning{scrbook}{File `\@tempa' not found!\MessageBreak + Used `\@tempb' instead}}{ + \ClassError + {scrbook} + {File `\@tempa' not found!\MessageBreak + This error is fatal!} + {To every fontsize you want to select by class option,\MessageBreak + you need a corresponding + bk-class-option-file or\MessageBreak at least a + size-class-option-file declaring all\MessageBreak + the macros based on fontsize.\MessageBreak + Ask a wizzard for more information or use another + fontsize.\MessageBreak + You cannot continue!} + \batchmode \csname @@end\endcsname \end + } +} +\let\test@number =\undefined +\let\gobble@till@next =\undefined +\let\@BCOR =\undefined +\let\@@BCOR =\undefined +\let\@DIV =\undefined +\let\@@DIV =\undefined +\let\@headlines =\undefined +\let\@@headlines =\undefined +\let\x@paper =\undefined +\let\x@@paper =\undefined +\newcommand*{\scr@file@date@version}{} +\def\scr@file@date@version#1/#2/#3 #4 #5\@nil{#1/#2/#3 #4} +\RequirePackage{typearea}[\expandafter\expandafter\expandafter% + \scr@file@date@version\csname ver@% + scrbook% + .cls\endcsname\@nil] +\setlength{\lineskip}{\p@} +\setlength{\normallineskip}{\p@} +\setlength{\columnsep}{10\p@} +\setlength{\columnseprule}{\z@} +\g@addto@macro{\@listi}{\@list@extra} +\let\@listI=\@listi +\g@addto@macro{\@listii}{\@list@extra} +\g@addto@macro{\@listiii}{\@list@extra} +\newcommand*{\add@extra@listi}[1]{% + \expandafter\let\csname #1@listi\endcsname=\@listi + \def\@listi{\csname #1@listi\endcsname\@list@extra}% +} +\g@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}} +\g@addto@macro{\small}{\protect\add@extra@listi{sml}} +\newcommand*{\@list@extra}{} +\newcommand*{% + \@parskip@indent}{% + \if@parskip + \setlength{\parindent}{\z@}% + \scr@parskip + \scr@parfillskip + \renewcommand*{\@list@extra}{% + \topsep\z@ \parsep\parskip \itemsep\z@}% + \else + \setlength{\parindent}{1em}% + \setlength{\parskip}{\z@ \@plus \p@}% + \setlength{\parfillskip}{\z@ \@plus 1fil}% + \renewcommand*{\@list@extra}{}% + \fi +}% +\@parskip@indent +\AtBeginDocument{% + \if@parskip\ifdim\parfillskip=\z@ \scr@parfillskip\fi\fi +} +\@lowpenalty = 51 +\@medpenalty =151 +\@highpenalty =301 +\setcounter{topnumber}{2} +\renewcommand*\topfraction{.7} +\setcounter{bottomnumber}{1} +\renewcommand*\bottomfraction{.3} +\setcounter{totalnumber}{3} +\renewcommand*\textfraction{.2} +\renewcommand*\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\renewcommand*\dbltopfraction{.7} +\renewcommand*\dblfloatpagefraction{.5} +\if@compatibility + \newcommand*\headincludeon{\@hincltrue} + \newcommand*\headincludeoff{\@hinclfalse} + \newcommand*\headseplineon{\@hsltrue \@hincltrue} + \newcommand*\headseplineoff{\@hslfalse \@hinclfalse} + \newcommand*\footincludeon{\@fincltrue} + \newcommand*\footincludeoff{\@finclfalse} + \newcommand*\footseplineon{\@fsltrue \@fincltrue} + \newcommand*\footseplineoff{\@fslfalse \@finclfalse} +\fi +\newcommand*{\set@tempdima@hw}{% + \setlength{\@tempdima}{\textwidth}% + \if@mincl + \addtolength{\@tempdima}{\marginparsep}% + \addtolength{\@tempdima}{\marginparwidth}% + \fi + } +\if@twoside + \renewcommand*{\ps@plain}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{}% + \renewcommand*{\@evenfoot}{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\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@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{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}% + \renewcommand*{\chaptermark}[1]{% + \markboth {\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \chaptermarkformat\fi + \fi + ##1}{}}% + \renewcommand*{\sectionmark}[1]{% + \markright {\ifnum \c@secnumdepth >\z@ + \sectionmarkformat\fi + ##1}}} + \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@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{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}% + \renewcommand*{\chaptermark}[1]{} + \renewcommand*{\sectionmark}[1]{}} +\else + \renewcommand*{\ps@plain}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}}\hss}} + \newcommand*{\ps@headings}{\let\@mkboth\markboth + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark\hfil}} + \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}\hss}}% + \renewcommand*{\sectionmark}[1]{} + \renewcommand*{\chaptermark}[1]{\markright {\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \chaptermarkformat\fi + \fi + ##1}}} + \newcommand*{\ps@myheadings}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark\hfil}} + \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}}\hss}% + \renewcommand*{\chaptermark}[1]{}% + \renewcommand*{\sectionmark}[1]{}} +\fi +\newcommand*{\titlepagestyle}{plain} +\newcommand*{\partpagestyle}{plain} +\newcommand*{\chapterpagestyle}{plain} +\newcommand*{\indexpagestyle}{plain} +\newcommand*{\@extratitle}{} +\newcommand{\extratitle}[1]{\gdef\@extratitle{#1}} +\newcommand*{\@titlehead}{} +\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}} +\newcommand*{\@subject}{} +\newcommand*{\subject}[1]{\gdef\@subject{#1}} +\newcommand*{\@publishers}{} +\newcommand{\publishers}[1]{\gdef\@publishers{#1}} +\newcommand*{\@uppertitleback}{} +\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{#1}} +\newcommand*{\@lowertitleback}{} +\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{#1}} +\newcommand*{\@dedication}{} +\newcommand{\dedication}[1]{\gdef\@dedication{#1}} +\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}} +\if@titlepage + \newcommand*\maketitle[1][1]{\begin{titlepage}% + \setcounter{page}{#1} + \let\footnotesize\small + \let\footnoterule\relax + \let\footnote\thanks + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \ifx\@extratitle\@empty \else + \noindent\@extratitle\next@tpage\cleardoublepage + \thispagestyle{empty} + \fi + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null\vfill + \begin{center} + \ifx\@subject\@empty \else + {\Large \@subject \par} + \vskip 3em + \fi + {\titlefont\huge \@title\par} + \vskip 3em + {\Large \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par} + \vskip 1.5em + {\Large \@date \par} + \vskip \z@ \@plus3fill + {\Large \@publishers \par} + \vskip 3em + \end{center}\par + \@thanks + \vfill\null + \if@twoside\next@tpage + \noindent\begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \noindent\begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage\null\vfill + {\centering \Large \@dedication \par} + \vskip \z@ \@plus3fill + \if@twoside \next@tpage\cleardoublepage \fi + \fi + \end{titlepage} + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax} +\else + \newcommand*\maketitle[1][1]{\par + \@tempcnta=#1\relax\ifnum\@tempcnta=1\else + \ClassWarning{scrbook} + {Optional argument of \string\maketitle\space ignored + at\MessageBreak + notitlepage-mode}\fi + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{\titlepagestyle}\@thanks + \endgroup + \setcounter{footnote}{0}% + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax} +\fi +\newcommand*{\@maketitle}{% + \clearpage + \let\footnote\thanks + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \fi + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null + \vskip 2em% + \begin{center}% + \ifx\@subject\@empty \else + {\Large \@subject \par} + \vskip 1.5em + \fi + {\titlefont\huge \@title \par}% + \vskip 1.5em% + {\Large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\Large \@date \par}% + \vskip \z@ \@plus 1em + {\Large \@publishers \par} + \ifx\@dedication\@empty \else + \vskip 2em + {\Large \@dedication \par} + \fi + \end{center}% + \par + \vskip 2em} +\renewcommand*{\numberline}[1]{% + \hb@xt@\@tempdima{#1\autodot\hfil}} +\newcommand*\chaptermark[1]{} +\setcounter{secnumdepth}{2} +\newcounter{part} +\newcounter{chapter} +\newcounter{section}[chapter] +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +\renewcommand*\thepart{\@Roman\c@part} +\renewcommand*\thechapter{\@arabic\c@chapter} +\renewcommand*\thesection{\thechapter.\@arabic\c@section} +\renewcommand*\thesubsection{\thesection.\@arabic\c@subsection} +\renewcommand*\thesubsubsection{\thesubsection.\@arabic\c@subsubsection} +\renewcommand*\theparagraph{\thesubsubsection.\@arabic\c@paragraph} +\renewcommand*\thesubparagraph{\theparagraph.\@arabic\c@subparagraph} +\newcommand*\@chapapp{\chaptername} +\newcommand*\frontmatter{\if@twoside\cleardoublepage\else\clearpage\fi + \@mainmatterfalse\pagenumbering{roman}} +\newcommand*\mainmatter{\if@twoside\cleardoublepage\else\clearpage\fi + \@mainmattertrue\pagenumbering{arabic}} +\newcommand*\backmatter{\if@openright\cleardoublepage\else\clearpage\fi + \@mainmatterfalse} +\newcommand\part{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{\partpagestyle}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \null\vfil% + \vbox to\z@{\vss\use@preamble{part@o}\strut\par}% + \vskip-\baselineskip\nobreak% + \secdef\@part\@spart} +\newcommand*{\@part}{} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \@maybeautodot\thepart% + \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \partmark{#1}% + {\@parskipfalse\@parskip@indent\centering + \interlinepenalty \@M + \normalfont\sectfont + \ifnum \c@secnumdepth >-2\relax + \size@partnumber\partformat + \par + \vskip 20\p@ + \fi + \size@part #2\strut\par}% + \@endpart} +\newcommand*{\@spart}[1]{% + {\@parskipfalse\@parskip@indent\centering + \interlinepenalty \@M + \normalfont + \sectfont\size@part #1\strut\@mkboth{}{}\par}% + \@endpart} +\newcommand*{\@endpart}{\vbox to\z@{\use@preamble{part@u}\vss}% + \vfil\newpage + \if@twoside\if@openright + \null% + \thispagestyle{empty}% + \newpage + \fi\fi + \if@tempswa + \twocolumn + \fi} +\newcommand*{\partmark}[1]{\@mkboth{}{}} +\newcommand\addpart{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{\partpagestyle}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \null\vfil + \secdef\@addpart\@saddpart} +\newcommand*{\@addpart}{} +\def\@addpart[#1]#2{\addcontentsline{toc}{part}{#1}\@spart{#2}} +\newcommand*{\@saddpart}{} +\def\@saddpart#1{\@spart{#1}} +\newif\if@at@twocolumn +\newcommand*\scr@topnewpage{} +\let\scr@topnewpage\@topnewpage +\long\def\@topnewpage[#1]{% + \@at@twocolumntrue\scr@topnewpage[{#1}]\@at@twocolumnfalse} +\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{\chapterpagestyle}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\newcommand*{\@chapter}{} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \@maybeautodot\thechapter% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{#1}\fi + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \@ifundefined{float@addtolists}{}{% + \float@addtolists{\protect\addvspace{10\p@}}} + \if@twocolumn + \if@at@twocolumn + \@makechapterhead{#2}% + \else + \@topnewpage[\@makechapterhead{#2}]% + \fi + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\newcommand*{\chapterheadstartvskip}{} +\newcommand*{\chapterheadendvskip}{} +\newcommand*{\@@makechapterhead}[1]{\chapterheadstartvskip% + {\normalfont\sectfont\size@chapter + \setlength{\parindent}{\z@}\setlength{\parfillskip}{\z@ \@plus 1fil}% + \if@chapterprefix\let\@tempa\raggedsection\else\let\@tempa\@hangfrom\fi% + \@tempa{\ifnum \c@secnumdepth >\m@ne% + \if@mainmatter \chapterformat\fi\fi}% + \if@chapterprefix\par\nobreak\vskip.5\baselineskip\fi% + {\raggedsection \interlinepenalty \@M #1\par}}% + \nobreak\chapterheadendvskip% + } +\newcommand*{\use@chapter@o@preamble}{% + {\settoheight{\@tempdima}{\vbox{\chapterheadstartvskip}}% + \settodepth{\@tempdimb}{\vbox{\chapterheadstartvskip}}% + \addtolength{\@tempdima}{\@tempdimb}% + \setbox0\vbox{\use@preamble{chapter@o}% + \vskip-\parskip}% + \setlength{\@tempdimb}{\ht0}% + \addtolength{\@tempdimb}{\dp0}% + \vbox to \z@{% + \vbox to \@tempdima{\vfill\box0}% + \vskip-\@tempdima% + }% + \ifdim \@tempdimb>\@tempdima% + \addtolength{\@tempdimb}{-\@tempdima}% + \ClassWarning{% + scrbook% + }{% + preamble before chapter is \the\@tempdimb\space too + high.\MessageBreak + To avoid the overfull \string\vbox\space you may + redefine\MessageBreak + \string\chapterheadstartvskip\space at the preamble of + your\MessageBreak + document. You may also change + \string\setchapterpreamble\MessageBreak + before the command, which generates the message + about\MessageBreak + an overfull \string\vbox + }% + \fi% + } +} +\newcommand*{\@makechapterhead}[1]{% + \use@chapter@o@preamble% + \@@makechapterhead{#1}% + \use@preamble{chapter@u}\nobreak% + } +\newcommand*{\@schapter}[1]{\if@twocolumn + \if@at@twocolumn + \@makeschapterhead{#1}% + \else + \@topnewpage[\@makeschapterhead{#1}]% + \fi + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\newcommand*{\@@makeschapterhead}[1]{\chapterheadstartvskip% + {\normalfont\sectfont\size@chapter + \setlength{\parindent}{\z@}\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection \interlinepenalty \@M #1\par}% + \nobreak\chapterheadendvskip% +} +\newcommand*{\@makeschapterhead}[1]{% + \use@chapter@o@preamble% + \@@makeschapterhead{#1}% + \use@preamble{chapter@u}\nobreak% + } +\newcommand*{\use@preamble}[1]{% + \@ifundefined{#1@preamble}{}{% + \@nameuse{#1@preamble}% + \global\expandafter\let\csname#1@preamble\endcsname=\relax}% +} +\newcommand*{\set@preamble}[1]{% + \@ifnextchar [ + {\set@@preamble{#1}}{\set@@@preamble{#1}[][\hsize]}} +\newcommand*{\set@@preamble}{} +\def\set@@preamble#1[#2]{% + \@ifnextchar [ + {\set@@@preamble{#1}[{#2}]}{\set@@@preamble{#1}[{#2}][\hsize]}} +\newcommand{\set@@@preamble}{} +\long\def\set@@@preamble#1[#2][#3]#4{% + {% + \def\prmbl@pos{#2}\let\prmbl@hpos\relax\let\prmbl@vpos\relax% + \expandafter \@tfor \expandafter \@tempa% + \expandafter :\expandafter =\prmbl@pos% + \do{% + \if \@tempa l% + \set@preamble@hpos{0}{#2}% + \fi% + \if \@tempa c% + \set@preamble@hpos{1}{#2}% + \fi% + \if \@tempa r% + \set@preamble@hpos{2}{#2}% + \fi% + \if \@tempa u% + \set@preamble@vpos{0}{#2}% + \fi% + \if \@tempa o% + \set@preamble@vpos{1}{#2}% + \fi% + } + \@ifundefined{prmbl@hpos}{\def\prmbl@hpos{0}}{}% + \@ifundefined{prmbl@vpos}{\def\prmbl@vpos{0}}{}% + \ifcase\prmbl@hpos + \ifcase\prmbl@vpos + \set@@@@preamble{#1@u}{t}{#3}{}{\hfil}{#4} + \else + \set@@@@preamble{#1@o}{b}{#3}{}{\hfil}{#4} + \fi + \or + \ifcase\prmbl@vpos + \set@@@@preamble{#1@u}{t}{#3}{\hfil}{\hfil}{#4} + \else + \set@@@@preamble{#1@o}{b}{#3}{\hfil}{\hfil}{#4} + \fi + \else + \ifcase\prmbl@vpos + \set@@@@preamble{#1@u}{t}{#3}{\hfil}{}{#4} + \else + \set@@@@preamble{#1@o}{b}{#3}{\hfil}{}{#4} + \fi + \fi + } +} +\newcommand{\set@@@@preamble}[6]{% + \expandafter\gdef\csname #1@preamble\endcsname{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}}} +\newcommand*{\set@preamble@hpos}[2]{% + \@ifundefined{prbml@hpos}{% + \def\prmbl@hpos{#1}% + }{% + \ifnum \prmbl@hpos=0\relax\else% + \ClassError{% + scrbook% + }{% + inconsistent hpos options% + }{% + You said `#2' as position option. But you have + to\MessageBreak + use only one from `l', `r' or `c' not two of + these.\MessageBreak + If you'll continue only first hpos option will be + used}% + \fi}} +\newcommand*{\set@preamble@vpos}[2]{% + \@ifundefined{prbml@vpos}{% + \def\prmbl@vpos{#1}% + }{% + \ifnum \prmbl@vpos=0\relax\else% + \ClassError{% + scrbook% + }{% + inconsistent vpos options% + }{% + You said `#2' as position option. But you have + to\MessageBreak + use only one from `o' or `u' not two of + these.\MessageBreak + If you'll continue only first vpos option will be + used}% + \fi}} +\newcommand{\dictum}[2][]{\par% + \begingroup + \raggeddictum\parbox{\dictumwidth}{% + {\@dictumfont{\raggeddictumtext #2\strut\par}% + \def\@tempa{#1}\ifx\@tempa\@empty\else% + {\raggeddictumtext\vskip-1ex\hrulefill\par}% + \raggeddictumauthor\@dictumauthorfont\dictumauthorformat{#1}% + \strut\par% + \fi% + }% + }\par% + \endgroup +} +\newcommand*{\dictumwidth}{.3333\textwidth} +\newcommand*{\raggeddictum}{\raggedleft} +\newcommand*{\dictumauthorformat}[1]{(#1)} +\newcommand*{\raggeddictumtext}{\raggedright} +\newcommand*{\raggeddictumauthor}{\raggedleft} +\newcommand*{\@dictumfont}{\normalfont\normalcolor\sffamily\small} +\newcommand*{\@dictumauthorfont}{\itshape} +\newcommand*{\scr@fnt@dictumtext}{\@dictumfont} +\newcommand*{\scr@fnt@dictumauthor}{\@dictumauthorfont} +\newcommand*{\scr@fnt@instead@dictum}{dictumtext} +\newcommand*{\setchapterpreamble}{\set@preamble{chapter}} +\newcommand*{\chapter@u@preamble}{} +\let\chapter@u@preamble\relax +\newcommand*{\chapter@o@preamble}{} +\let\chapter@o@preamble\relax +\newcommand*{\setpartpreamble}{\set@preamble{part}} +\newcommand*{\part@preamble@u}{} +\let\part@preamble@u\relax +\newcommand*{\part@preamble@o}{} +\let\part@preamble@o\relax +\newcommand*\addsec{\secdef\@addsec\@saddsec} +\newcommand*{\@addsec}{} +\def\@addsec[#1]#2{\section*{#2}\addcontentsline{toc}{section}{#1} + \if@twoside\ifx\@mkboth\markboth\markright{#1}\fi\fi} +\newcommand*{\@saddsec}[1]{\section*{#1}\@mkboth{}{}} +\newcommand\addchap{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{\chapterpagestyle}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@addchap\@saddchap% +} +\newcommand*{\@addchap}{} +\def\@addchap[#1]#2{\@schapter{#2}% + \addcontentsline{toc}{chapter}{#1}% + \if@twoside\@mkboth{#1}{}\else\@mkboth{}{#1}\fi} +\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}} +\AfterPackage{hyperref}{% + \@ifpackagelater{hyperref}{2001/02/19}{}{% + \ClassWarningNoLine{scrbook}{% + You are using an old version of hyperref package!\MessageBreak% + This version has a buggy hack at many drivers\MessageBreak% + causing \string\addchap\space to behave strange.\MessageBreak% + Please update hyperref to at least version + 6.71b}}} +\newcommand\section{\@startsection{section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@section\nobreak}} +\newcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subsection\nobreak}} +\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subsubsection\nobreak}} +\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@paragraph\nobreak}} +\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subparagraph\nobreak}} +\newcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex + {\parindent \z@ + \raggedsection\normalfont\sectfont\nobreak#1\par\nobreak}\nobreak + \@afterheading} +\let\raggedsection\raggedright +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\setlength{\skip\@mpfootins}{\skip\footins} +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +\@addtoreset{equation}{chapter} +\renewcommand*\theequation{% + \thechapter.% + \@arabic\c@equation} +\if@twocolumn + \setlength{\leftmargini}{2em} +\else + \setlength{\leftmargini}{2.5em} +\fi +\setlength{\leftmarginii}{2.2em} +\setlength{\leftmarginiii}{1.87em} +\setlength{\leftmarginiv}{1.7em} +\if@twocolumn + \setlength{\leftmarginv}{.5em} + \setlength{\leftmarginvi}{.5em} +\else + \setlength{\leftmarginv}{1em} + \setlength{\leftmarginvi}{1em} +\fi +\setlength{\leftmargin}{\leftmargini} +\setlength{\labelsep}{.5em} +\setlength{\labelwidth}{\leftmargini} +\addtolength{\labelwidth}{-\labelsep} +\@beginparpenalty=-\@lowpenalty +\@endparpenalty =-\@lowpenalty +\@itempenalty =-\@lowpenalty +\renewcommand*\theenumi{\@arabic\c@enumi} +\renewcommand*\theenumii{\@alph\c@enumii} +\renewcommand*\theenumiii{\@roman\c@enumiii} +\renewcommand*\theenumiv{\@Alph\c@enumiv} +\newcommand*\labelenumi{\theenumi.} +\newcommand*\labelenumii{\theenumii)} +\newcommand*\labelenumiii{\theenumiii.} +\newcommand*\labelenumiv{\theenumiv.} +\renewcommand*\p@enumii{\theenumi} +\renewcommand*\p@enumiii{\p@enumii(\theenumii)} +\renewcommand*\p@enumiv{\p@enumiii\theenumiii} +\newcommand*\labelitemi{\textbullet} +\newcommand*\labelitemii{\normalfont\bfseries\textendash} +\newcommand*\labelitemiii{\textasteriskcentered} +\newcommand*\labelitemiv{\textperiodcentered} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*{\descriptionlabel}[1]{\hspace\labelsep + \descfont #1} +\newenvironment{labeling}[2][] + {\def\sc@septext{#1} + \list{}{\settowidth{\labelwidth}{#2#1} + \leftmargin\labelwidth \advance\leftmargin by \labelsep + \let\makelabel\labelinglabel}} + {\endlist} +\newcommand\labelinglabel[1]{#1\hfil\sc@septext} +\newenvironment{verse} + {\let\\=\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item\relax} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent 1em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item\relax} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item\relax} + {\endlist} +\newenvironment{addmargin}{% + \@tempswafalse\@addmargin + }{\endlist} +\newenvironment{addmargin*}{% + \@tempswafalse + \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \@addmargin + }{\endlist} +\newcommand*{\@addmargin}[2][\@tempa]{% + \@tempcnta=\@listdepth + \list{}{% + \if@tempswa + \def\@tempa{\leftmargin}% + \setlength{\leftmargin}{#2}% + \setlength{\rightmargin}{#1}% + \else + \def\@tempa{\rightmargin}% + \setlength{\rightmargin}{#2}% + \setlength{\leftmargin}{#1}% + \fi + \setlength{\listparindent}{\parindent}% + \setlength{\itemsep}{\parskip}% + \setlength{\itemindent}{\z@}% + \setlength{\topsep}{\z@}% + \setlength{\parsep}{\parskip}% + \setlength{\partopsep}{\parskip}% + \let\makelabel\@gobble + \setlength{\labelwidth}{\z@} + \@listdepth=\@tempcnta% + }% + \item[]% + } +\newenvironment{titlepage} + {% + \cleardoublepage + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \if@compatibility + \setcounter{page}{0} + \fi}% + {\if@restonecol\twocolumn \else \newpage \fi + } +\newcommand\marginline[1]{\marginpar[\raggedleft{#1}]{\raggedright #1}} +\newcommand*\appendix{\par% + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \renewcommand*\@chapapp{\appendixname}% + \renewcommand*\thechapter{\@Alph\c@chapter}% + \@ifundefined{appendixmore}{}{\appendixmore}} +\newcounter{figure}[chapter] +\renewcommand*\thefigure{% + \thechapter.% + \@arabic\c@figure} +\newcommand*{\fps@figure}{tbp} +\newcommand*{\ftype@figure}{1} +\newcommand*{\ext@figure}{lof} +\newcommand*{\fnum@figure}{\figureformat} +\newenvironment{figure} + {\let\caption\captionbelow\@float{figure}} + {\end@float} +\newenvironment{figure*} + {\let\caption\captionbelow\@dblfloat{figure}} + {\end@dblfloat} +\newcounter{table}[chapter] +\renewcommand*\thetable{% + \thechapter.% + \@arabic\c@table} +\newcommand*{\fps@table}{tbp} +\newcommand*{\ftype@table}{2} +\newcommand*{\ext@table}{lot} +\newcommand*{\fnum@table}{\tableformat} +\newenvironment{table} + {\if@tablecaptionabove\let\caption\captionabove% + \else\let\caption\captionbelow\fi\@float{table}} + {\end@float} +\newenvironment{table*} + {\if@tablecaptionabove\let\caption\captionabove% + \else\let\caption\captionbelow\fi\@dblfloat{table}} + {\end@dblfloat} +\newcommand*{\new@tpo@label}[2]{% + \expandafter\gdef\csname scr@tpo@#1\endcsname{#2}% + } +\newcommand*{\ref@tpo@label}[1]{% + \expandafter\ifx\csname scr@tpo@#1\endcsname\relax\value{page}% + \else\csname scr@tpo@#1\endcsname\fi} +\newcommand*{\scr@tpo}{0} +\newcommand*{\is@thispageodd}{% + \begingroup% + \@tempcnta=\scr@tpo% + \advance\@tempcnta by\@ne% + \xdef\scr@tpo{\the\@tempcnta}% + \@bsphack + \protected@write\@auxout{}{% + \string\new@tpo@label{\scr@tpo}{\noexpand\the\value{page}}}% + \@esphack + \count@\ref@tpo@label{\scr@tpo}\relax + \ifodd\count@ + \aftergroup\thispagewasoddtrue + \else + \aftergroup\thispagewasoddfalse + \fi + \endgroup +} +\AtEndDocument{% + \if@filesw\immediate\write\@auxout{% + \string\gdef\string\scr@tpo@lst{\scr@tpo}}\fi% + \ifx\scr@tpo@lst\scr@tpo\else\ifnum \scr@tpo>0 + \ClassWarningNoLine{% + scrbook% + }{Rerun to get odd- an even-page-stuff right}% + \fi\fi + } +\newif\ifthispagewasodd +\newcommand{\ifthispageodd}{% + \is@thispageodd + \ifthispagewasodd + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{10\p@} +\setlength\belowcaptionskip{0\p@} +\newif\if@captionabove\@captionabovefalse +\newcommand{\scr@caption}{} +\AtBeginDocument{\let\scr@caption\caption} +\newcommand{\captionabove}{\@captionabovetrue\scr@caption} +\newcommand{\captionbelow}{\@captionabovefalse\scr@caption} +\newcommand*{\scap@pos}{r} +\newcommand*{\scap@valign}{b} +\newcommand*{\scap@caption}{} +\newcommand*{\scap@width}{\linewidth} +\newcommand*{\scap@move}{\z@} +\newcommand*{\scap@currentlabel}{} +\newif\ifscap@alt +\newcommand*{\@captionbeside}{} +\long\def\@captionbeside[#1]#2{% + \@ifnextchar [%] + {\@@captionbeside[{#1}]{#2}} + {\c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@captionbeside}{} +\long\def\@@captionbeside[#1]#2[#3]{% + \def\scap@pos{#3}% + \@ifnextchar [%] + {\@@@captionbeside[{#1}]{#2}} + {\c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@@captionbeside}{} +\long\def\@@@captionbeside[#1]#2[#3]{% + \def\scap@width{#3}% + \@ifnextchar [%] + {\@@@@captionbeside[{#1}]{#2}} + {\setlength{\@tempdima}{#3}% + \addtolength{\@tempdima}{-\linewidth}% + \setlength{\@tempdima}{-.5\@tempdima}% + \edef\scap@move{\the\@tempdima}% + \c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@@@captionbeside}{} +\long\def\@@@@captionbeside[#1]#2[#3]{% + \def\scap@move{#3}% + \@ifstar + {\scap@alttrue\c@pti@nb@sid@[{#1}]{#2}} + {\scap@altfalse\c@pti@nb@sid@[{#1}]{#2}}% + } +\newbox\c@pti@nb@sid@b@x +\newcommand{\c@pti@nb@sid@}{} +\long\def\c@pti@nb@sid@[#1]#2{% + \def\scap@caption{\captionbelow[{#1}]{#2}}% + \begin{lrbox}{\c@pti@nb@sid@b@x}% + } +\newenvironment*{captionbeside}{% + \@dblarg\@captionbeside% + }{% + \end{lrbox}% + \settowidth{\@tempdima}{\usebox\c@pti@nb@sid@b@x}% + \setlength{\@tempdimb}{\scap@width}% + \addtolength{\@tempdimb}{-\@tempdima}% + \addtolength{\@tempdimb}{-\columnsep}% + \ifdim \@tempdimb<2em + \ClassWarning{% + scrbook% + }{% + caption beside will be very, very small.\MessageBreak + In most cases this will result in overfull and + underfull\MessageBreak + \string\hbox\space messages% + }% + \fi% + \onelinecaptionsfalse + \setcapwidth[r]{\@tempdimb}% + \let\@tempa\scap@pos + \setlength{\@tempdimc}{\scap@move}% + \if i\scap@pos\def\@tempa{l}\fi + \if o\scap@pos\def\@tempa{r}\fi + \if@twoside + \ifthispageodd{}{% + \if o\scap@pos\def\@tempa{l}\fi + \if i\scap@pos\def\@tempa{r}\fi + \ifscap@alt + \addtolength{\@tempdimc}{\scap@width}% + \addtolength{\@tempdimc}{-\linewidth}% + \setlength{\@tempdimc}{-\@tempdimc}% + \fi + }% + \fi + \hspace*{\@tempdimc}% + \if l\@tempa% + \rlap{% + \parbox[\scap@valign]{\@tempdimb}{\scap@caption + \global\let\scap@currentlabel\@currentlabel}% + \nobreak\hskip\columnsep% + \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}% + }% + \else + \rlap{% + \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}% + \nobreak\hskip\columnsep% + \parbox[\scap@valign]{\@tempdimb}{\scap@caption + \global\let\scap@currentlabel\@currentlabel}% + }% + \fi + \par + \aftergroup\let\aftergroup\@currentlabel\aftergroup\scap@currentlabel + } +\newif\ifdofullc@p +\dofullc@ptrue +\newif\if@capbreak\@capbreakfalse +\newcommand*{\setcapindent}{\@ifstar{\@@setcapindent}{\@setcapindent}} +\newcommand*{\@setcapindent}[1]{ + \setlength{\@tempdima}{#1}% + \ifdim\@tempdima>\hsize\addtolength{\@tempdima}{-\hsize}\@capbreaktrue + \else\@capbreakfalse\fi + \edef\cap@indent{\the\@tempdima} + \dofullc@pfalse +} +\newcommand*{\@@setcapindent}[1]{ + \setlength{\@tempdima}{#1}% + \edef\cap@indent{\the\@tempdima} + \dofullc@pfalse\@capbreaktrue +} +\AfterPackage{caption2}{% + \renewcommand*{\setcapindent}{% + \ClassWarning{% + scrbook% + }{% + You're using package caption2.\MessageBreak + Because of this you should also use \string\captionstyle\space + and\MessageBreak + set length \string\captionindent\space instead if + using\MessageBreak + \string\setcapindent + } + \captionstyle{indent}% + \@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}}} +\newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse} +\AfterPackage{caption2}{% + \renewcommand*{\setcaphanging}{% + \ClassWarning{% + scrbook% + }{% + You're using package caption2.\MessageBreak + Because of this you should also use \string\captionstyle\MessageBreak + instead of \string\setcaphang + } + \captionstyle{hang}}} +\newcommand{\@makecaption}[2]{% + \if@captionabove\vskip\belowcaptionskip\else\vskip\abovecaptionskip\fi + \@@makecaption\@firstofone{#1}{#2}% + \if@captionabove\vskip\abovecaptionskip\else\vskip\belowcaptionskip\fi} +\newcommand*{\cap@width}{\hsize} +\newcommand*{\cap@left}{\hfill} +\newcommand*{\cap@right}{\hfill} +\newcommand*{\setcapwidth}[2][]{% + \begingroup% + \setlength{\@tempdima}{#2}% + \edef\@tempa{\endgroup\def\noexpand\cap@width{\the\@tempdima}}% + \@tempa% + \begingroup + \expandafter\def\expandafter\@tempa\expandafter{#1}% + \def\@tempb{c}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\hfill}% + \else + \def\@tempb{l}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\relax\let\cap@right\hfill}% + \else + \def\@tempb{r}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\relax}% + \else + \def\@tempb{i}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \let\cap@left=\relax + \let\cap@right=\hfill + \if@twoside + \ifthispageodd{}{% + \let\cap@left=\hfill + \let\cap@right=\relax + }% + \fi + }% + \else + \def\@tempb{o}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \let\cap@left=\hfill + \let\cap@right=\relax + \if@twoside + \ifthispageodd{}{% + \let\cap@left=\relax + \let\cap@right=\hfill + }% + \fi + }% + \else + \ifx \@tempa\@empty\else + \ClassError{% + scrbook% + }{% + unknown optional position argument% + }{% + You've used `#1' as position argument at + \string\setcaptionwidth,\MessageBreak + but only ONE of `c', `l', `r', `i`, `o` ist + allowed.\MessageBreak + Argument will be ignored, if you'll continue.% + }% + \fi% + \endgroup% + \fi\fi\fi\fi\fi% + } +\AfterPackage{caption2}{% + \renewcommand*{\setcapwidth}[2][]{% + \ClassWarning{% + scrbook% + }{% + Ignorring optional argument of \string\setcapwidth!\MessageBreak + You're using package caption2.\MessageBreak + Because of this you should also use + \string\setcaptionwidth\MessageBreak + instead of \string\setcapwidth\MessageBreak + } + \setcaptionwidth{#2}}}% +\newcommand*{\cap@margin}{} +\let\cap@margin=\relax% +\newcommand*{\setcapmargin}{\@ifstar{\@setcapmargin}{\@@setcapmargin}} +\newcommand*{\@setcapmargin}[2][\@tempdimb]{% + \def\cap@margin{% + \onelinecaptionsfalse% + \begingroup% + \setlength{\@tempdima}{\hsize}% + \setlength{\@tempdimb}{#2}% + \addtolength{\@tempdima}{-\@tempdimb}% + \setlength{\@tempdimc}{#1}% + \addtolength{\@tempdima}{-\@tempdimc}% + \edef\@tempa{\endgroup% + \def\noexpand\cap@width{\the\@tempdima}% + \noexpand\if@twoside% + \noexpand\ifthispageodd{% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% + }{% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimb}}% + }% + \noexpand\else% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% + \noexpand\fi} + \@tempa}% + } +\newcommand*{\@@setcapmargin}[2][\@tempdimb]{% + \def\cap@margin{% + \onelinecaptionsfalse% + \begingroup% + \setlength{\@tempdima}{\hsize}% + \setlength{\@tempdimb}{#2}% + \addtolength{\@tempdima}{-\@tempdimb}% + \setlength{\@tempdimc}{#1}% + \addtolength{\@tempdima}{-\@tempdimc}% + \edef\@tempa{\endgroup% + \def\noexpand\cap@width{\the\@tempdima}% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}}% + \@tempa}% + } +\AfterPackage{caption2}{% + \renewcommand*{\@setcapmargin}[2][\@tempdimb]{% + \setlength{\@tempdimb}{#2}% + \setlength{\@tempdima}{#1}% + \ifdim\@tempdima\@tempdimb\else + \ClassWarning{% + scrbook% + }{% + Can set only centered caption!\MessageBreak + You're using package caption2.\MessageBreak + Because of this you should also use + \string\setcaptionmargin\MessageBreak + instead of \string\setcapmargin + } + \fi + \addtolength{\@tempdimb}{\@tempdimb}% + \setcaptionmargin{.5\@tempdimb}} + \let\@@setcapmargin=\@setcapmargin + } +\newcommand{\@@makecaption}[3]{% + \cap@margin% + \ifonelinecaptions% + \@tempcnta=\value{mpfootnote}\@tempcntb=\value{footnote}% + \let\scr@tmp@footnotetext=\@footnotetext + \let\@footnotetext=\@gobble + \sbox\@tempboxa{% + {\capfont#1{{\caplabelfont#2\captionformat}}% + #3}% + }% + \let\@footnotetext=\scr@tmp@footnotetext + \let\scr@tmp@footnotetext=\undefined + \setcounter{footnote}{\@tempcntb}\setcounter{mpfootnote}{\@tempcnta}% + \else + \sbox\@tempboxa{\hspace*{2\cap@width}}% + \fi + \begingroup% + \setlength{\@tempdima}{\wd\@tempboxa}% + \setlength{\@tempdima}{\cap@width}% + \ifdim \wd\@tempboxa >\@tempdima% + \strut\cap@left% + \vtop{\hsize=\cap@width% + \ifdofullc@p + {\capfont\@hangfrom{#1{{\caplabelfont#2\captionformat}}}{#3\par}} + \else% + \ifdim\cap@indent<\z@% + {\capfont#1{{\caplabelfont #2\captionformat\par}}\noindent% + \hspace*{-\cap@indent}#3\par} + \else% + \if@capbreak + {\capfont#1{{\caplabelfont #2\captionformat\par}}\noindent% + \@hangfrom{\hspace*{\cap@indent}}{#3\par}} + \else + {\capfont\@hangfrom{\hspace*{\cap@indent}}% + {\hspace{-\cap@indent}#1% + {{\caplabelfont#2\captionformat}}#3\par}} + \fi + \fi + \fi}% + \cap@right\strut% + \else + \global \@minipagefalse + \sbox\@tempboxa{% + {\capfont#1{{\caplabelfont#2\captionformat}}% + #3}% + }% + \hb@xt@\hsize{\cap@left\box\@tempboxa\cap@right}% + \fi% + \endgroup} +\AfterPackage{longtable}{% + \@ifpackageloaded{caption2}{\@komalongtablefalse% + \ClassWarning{% + scrbook}{% + you've loaded package caption2 before package\MessageBreak + longtable!\MessageBreak + Because of this package caption2 isn't able to + control\MessageBreak + \string\caption\space at longtables. After loading package + caption2\MessageBreak + KOMA-Script also doesn't control \string\caption.\MessageBreak + I think, you should load package caption2 after + package\MessageBreak + longtable% + }}{} + \if@komalongtable + \renewcommand{\LT@makecaption}[3]{% + \noalign{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + }% + \LT@mcol\LT@cols c{% + \hbox to\z@{\hss\parbox[t]\linewidth{% + \@@makecaption{#1}{#2}{#3}% + \endgraf + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi + }% + \hss + }% + }% + }% + \newcommand*{\scr@LT@array}{}% + \let\scr@LT@array=\LT@array% + \renewcommand*{\LT@array}{% + \let\scr@caption=\LT@caption + \def\captionabove{\noalign{\global\@captionabovetrue}% + \scr@caption}% + \def\captionbelow{\noalign{\global\@captionabovefalse}% + \scr@caption}% + \if@tablecaptionabove + \let\LT@caption=\captionabove + \else + \let\LT@caption=\captionbelow + \fi + \scr@LT@array} + \ClassInfo{% + scrbook}{% + longtable captions redefined} + \fi + } +\newcommand*{\fs@komaabove}{% + \let\@fs@capt\floatc@komascript + \let\@fs@pre\@empty + \def\@fs@mid{\vskip\abovecaptionskip} + \let\@fs@post\@empty + \let\@fs@iftopcapt\iftrue} +\newcommand*{\fs@komabelow}{% + \let\@fs@capt\floatc@komascript + \let\@fs@pre\@empty + \def\@fs@mid{\vskip\abovecaptionskip} + \let\@fs@post\@empty + \let\@fs@iftopcapt\iffalse} +\newcommand{\floatc@komascript}{\@@makecaption\@firstofone} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb} +\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} +\newcommand*\descfont{\sffamily\bfseries} +\newcommand*\sectfont{\normalcolor\sffamily\bfseries} +\newcommand*\pnumfont{\normalfont\normalcolor} +\newcommand*\headfont{\normalfont\normalcolor\slshape} +\newcommand*\capfont{\normalfont\normalcolor} +\newcommand*\caplabelfont{\normalfont\normalcolor} +\newcommand*\titlefont{\sectfont} +\newcommand*{\setkomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrbook% + }{font of element `#1' can't be set}{% + You've told me to redefine the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassError{% + scrbook% + }{font of element `#1' can't be set}{% + You've told me to redefine the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be changed with element `\csname + scr@fnt@instead@#1\endcsname'} + }% + }{% + \expandafter\expandafter\expandafter\renewcommand% + \csname scr@fnt@#1\endcsname{#2}% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \ClassWarning{% + scrbook% + }{\csname scr@fnt@wrn@#1\endcsname{#1}} + } + } +} +\newcommand{\l@addto@macro}[2]{% + \begingroup% + \toks@\expandafter{#1#2}% + \edef\@tempa{\endgroup\def\noexpand#1{\the\toks@}}% + \@tempa} +\newcommand*{\addtokomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrbook% + }{font of element `#1' can't be extended}{% + You've told me to extend the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassError{% + scrbook% + }{font of element `#1' can't be extended}{% + You've told me to extend the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be changed with element `\csname + scr@fnt@instead@#1\endcsname'} + }% + }{% + \expandafter\expandafter\expandafter\l@addto@macro% + \csname scr@fnt@#1\endcsname{#2}% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \ClassWarning{% + scrbook% + }{\csname scr@fnt@wrn@#1\endcsname{#1}} + } + } +} +\newcommand*{\usekomafont}[1]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrbook% + }{font of element `#1' can't be used}{% + You've told me to use the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassWarning{% + scrbook% + }{% + You've told me to use the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be selected with element `\csname + scr@fnt@instead@#1\endcsname'.\MessageBreak + I fix this using font of `\csname + scr@fnt@instead@#1\endcsname'}% + }% + \@nameuse{scr@fnt@instead@#1}% + }{% + \@nameuse{scr@fnt@#1}% + }% + } +\newcommand*{\scr@fnt@descriptionlabel}{\descfont} +\newcommand*{\scr@fnt@title}{\titlefont} +\newcommand*{\scr@fnt@sectioning}{\sectfont} +\newcommand*{\scr@fnt@part}{\size@part} +\newcommand*{\scr@fnt@partnumber}{\size@partnumber} +\newcommand*{\scr@fnt@chapter}{\size@chapter} +\newcommand*{\scr@fnt@section}{\size@section} +\newcommand*{\scr@fnt@subsection}{\size@subsection} +\newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} +\newcommand*{\scr@fnt@paragraph}{\size@paragraph} +\newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} +\newcommand*{\scr@fnt@instead@minisec}{sectioning} +\newcommand*{\scr@fnt@pagenumber}{\pnumfont} +\let\scr@fnt@pagination=\scr@fnt@pagenumber +\newcommand*{\scr@fnt@pagehead}{\headfont} +\newcommand*{\scr@fnt@wrn@pagehead}[1]{% + font selection of elements `pagehead' and `pagefoot'\MessageBreak + changed, because you wanted to change font selection\MessageBreak + of element `#1'% +} +\let\scr@fnt@pagefoot=\scr@fnt@pagehead +\let\scr@fnt@wrn@pagefoot=\scr@fnt@wrn@pagehead +\newcommand*{\scr@fnt@caption}{\capfont} +\newcommand*{\scr@fnt@captionlabel}{\caplabelfont} +\newcommand*\@pnumwidth{1.55em} +\newcommand*\@tocrmarg {2.55em} +\newcommand*\@dotsep{4.5} +\setcounter{tocdepth}{2} +\newcommand*\toc@heading{\section*{\contentsname + \@mkboth{\contentsname}{\contentsname}}} +\newcommand*{\scr@dottedtocline}{}% +\newcommand*{\scr@numberline}{}% +\newcommand*{\last@l@number}{}% +\newcommand*{\@l@number}{} +\newcommand*{\set@l@number}[1]{% + \settowidth{\@tempdima}{#1\enskip}% + \ifdim\@tempdima >\@l@number\relax% + \xdef\@l@number{\the\@tempdima}% + \fi% + \ifdim\@tempdima >\last@l@number \else% + \setlength{\@tempdima}{\last@l@number}% + \fi% + } +\newcommand*{\before@starttoc}[1]{ + \let\scr@dottedtocline=\@dottedtocline% + \renewcommand*{\@dottedtocline}[3]{% + \scr@dottedtocline{##1}{\z@}{\last@l@number}}% + \let\scr@numberline=\numberline% + \renewcommand*{\numberline}[1]{% + \set@l@number{##1}\scr@numberline{##1}}% + \gdef\@l@number{\z@}% + \@ifundefined{#1@l@number}{% + \def\last@l@number{2em}% + }{% + \expandafter\let\expandafter\last@l@number + \expandafter=\csname#1@l@number\endcsname% + }% + } +\newcommand*{\after@starttoc}[1]{% + \protected@write\@auxout{}{% + \string\gdef\expandafter\string\csname#1@l@number\endcsname{% + \@l@number}}% + } +\newcommand*{\toc@l@number}{} +\newcommand*{\tableofcontents}{% + \begingroup + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{\contentsname}{\contentsname}}% + \@parskipfalse\@parskip@indent% + \if@tocleft\before@starttoc{toc}\fi% + \@starttoc{toc}% + \if@tocleft\after@starttoc{toc}\fi% + \if@restonecol\twocolumn\fi + \endgroup +} +\newcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \setlength\@tempdima{2em}% + \if@tocleft + \ifx\toc@l@number\@empty\else + \setlength\@tempdima{0\toc@l@number}% + \fi + \fi + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode\sectfont\large + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\newcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \if@tocleft + \ifx\toc@l@number\@empty\else + \setlength\@tempdima{0\toc@l@number}% + \fi + \fi + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \sectfont + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} +\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} +\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}} +\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}} +\newcommand*{\float@listhead}[1]{% + \chapter*{#1}% + \@mkboth{#1}{#1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% +} +\newcommand*\lof@heading{\float@listhead{\listfigurename}} +\newcommand*\listoffigures{% + \begingroup% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \lof@heading% + \@parskipfalse\@parskip@indent% + \@starttoc{lof}% + \if@restonecol\twocolumn\fi + \endgroup +} +\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand*\lot@heading{\float@listhead{\listtablename}} +\newcommand*\listoftables{% + \begingroup + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \lot@heading% + \@parskipfalse\@parskip@indent% + \@starttoc{lot}% + \if@restonecol\twocolumn\fi + \endgroup +} +\let\l@table\l@figure +\newcommand*{\bibpreamble}{\relax} +\let\bibpreamble\relax +\newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} +\newcommand*\bib@heading{% + \chapter*{\bibname} + \@mkboth{\bibname}{\bibname} +} +\newdimen\bibindent +\bibindent=1.5em +\newenvironment{thebibliography}[1]{% + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \setchapterpreamble{\bibpreamble}% + \fi\fi + \bib@heading% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} +{\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty +\newcommand*{\index@preamble}{\relax} +\newcommand{\setindexpreamble}[1]{\renewcommand*{\index@preamble}{#1}} +\newcommand*{\idx@heading}{% + \if@openright\cleardoublepage\else\clearpage\fi% + \twocolumn[\chapter*{\indexname}] + \@mkboth{\indexname}{\indexname}% +} +\newenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \setchapterpreamble{\index@preamble} + \idx@heading% + \thispagestyle{\indexpagestyle}\parindent\z@ + \setlength{\parskip}{\z@ \@plus .3\p@} + \setlength{\parfillskip}{\z@ \@plus 1fil} + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +\newcommand*\@idxitem {\par\hangindent 40\p@} +\newcommand*\subitem {\@idxitem \hspace*{20\p@}} +\newcommand*\subsubitem{\@idxitem \hspace*{30\p@}} +\newcommand*\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} +\renewcommand*\footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.0005fil\fi + \hrule\@width.4\columnwidth + \kern 2.6\p@} +\@addtoreset{footnote}{chapter} +\newcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \setlength{\@tempdimc}{#3}% + \def\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2} + \parshape \@ne #2 \@tempdima}% + \else + \addtolength{\@tempdimc}{#2}% + \addtolength{\@tempdimc}{-#1}% + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1} + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2} + \parshape \tw@ #1 \@tempdima #2 \@tempdimb}% + \fi + \par + \parindent\@tempdimc\noindent + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1} + \def\@@makefnmark{\hbox{\ftnm@font{#4}}} +} +\newcommand*{\ftn@font}{\normalfont} +\newcommand*{\scr@fnt@footnote}{\ftn@font} +\newcommand*{\ftnm@font}{} +\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font} +\newcommand*{\scr@fnt@footnotelabel}{\ftnm@font} +\newcommand*{\scr@fnt@instead@footnotetext}{footnote} +\newcommand*\deffootnotemark[1]{\def\@makefnmark{\hbox{\ftntm@font{#1}}}} +\newcommand*{\ftntm@font}{} +\newcommand*{\scr@fnt@footnotereference}{\ftntm@font} +\newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\newcommand*{\thefootnotemark}{\@thefnmark} +\deffootnote[1em]{1.5em}{1em} + {\textsuperscript{\thefootnotemark}} +\deffootnotemark{\textsuperscript{\thefootnotemark}} +\DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}} +\newcommand{\@textsubscript}[1]{% + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} +\newcommand*\contentsname{Contents} +\newcommand*\listfigurename{List of Figures} +\newcommand*\listtablename{List of Tables} +\newcommand*\bibname{Bibliography} +\newcommand*\indexname{Index} +\newcommand*\figurename{Figure} +\newcommand*\tablename{Table} +\newcommand*\partname{Part} +\newcommand*\chaptername{Chapter} +\newcommand*\appendixname{Appendix} +\newcommand*\abstractname{Abstract} +\newcommand*\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\newcommand*{\providecaptionname}[3]{% + \@ifundefined{captions#1}{% + \@ifundefined{cap@info@#1@done}{% + \ClassInfo{% + scrlttr2% + }{% + No captions found for `#1'\MessageBreak + --> skipped% + }% + \expandafter\let\csname cap@info@#1@done\endcsname\@empty}{}% + }{% + \begingroup% + \let\@tempa\endgroup% + \csname captions#1\endcsname% + \ifx #2\undefined% + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \csname captions#1\endcsname + }% + \else + \def\@tempa{\endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + }% + \fi + \else + \ClassInfo{% + scrlttr2% + }{% + `\string#2' at language `#1' already + defined\MessageBreak + --> skipped% + }% + \fi + \@tempa + }% +} +\newcommand*{\newcaptionname}[3]{% + \@ifundefined{captions#1}{% + \ClassInfo{% + scrlttr2% + }{% + No captions found for `#1' --> defining% + }% + \@namedef{captions#1}{}% + }{}% + \begingroup% + \csname captions#1\endcsname% + \ifx #2\undefined\else% + \ClassError{% + scrlttr2% + }{% + `\string#2' at language `#1' already defined% + }{% + You've told me to define `\string#2' at language + `#1',\MessageBreak + but it is already defined.\MessageBreak + It will be redefined, if you'll continue.% + } + \fi + \endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \begingroup + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newcommand*{\renewcaptionname}[3]{% + \@ifundefined{captions#1}{% + \ClassError{% + scrlttr2% + }{% + No captions found for `#1'% + }{% + You've told me to redefine the caption `\string#2' at language + `#1',\MessageBreak + but `\expandafter\string\csname captions#1\endcsname' is not + defined.\MessageBreak + If you'll continue it will be defined.% + } + \@namedef{captions#1}{}% + }{}% + \begingroup% + \csname captions#1\endcsname% + \ifx #2\undefined% + \ClassError{% + scrlttr2% + }{% + `\string#2' not defined at language `#1'% + }{% + You've told me to redefine `\string#2' at language + `#1',\MessageBreak + but it is not defined.\MessageBreak + If you'll continue it will be defined.% + } + \fi + \endgroup + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \begingroup + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newif\if@altsecnumformat\@altsecnumformatfalse +\newif\if@autodot\@autodotfalse +\newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% + \expandafter\@@maybeautodot #1\@stop\endgroup\fi} +\newcommand*{\@@maybeautodot}[1]{% + \ifx #1\@stop\let\@@maybeautodot\relax% + \else% + \ifx #1\Alph \aftergroup\@autodottrue\fi% + \ifx #1\alph \aftergroup\@autodottrue\fi% + \ifx #1\Roman \aftergroup\@autodottrue\fi% + \ifx #1\roman \aftergroup\@autodottrue\fi% + \ifx #1\@Alph \aftergroup\@autodottrue\fi% + \ifx #1\@alph \aftergroup\@autodottrue\fi% + \ifx #1\@Roman \aftergroup\@autodottrue\fi% + \ifx #1\@roman \aftergroup\@autodottrue\fi% + \ifx #1\romannumeral \aftergroup\@autodottrue\fi% + \fi% + \@@maybeautodot} +\let\scr@sect\@sect +\renewcommand*{\@sect}[1]{\stepcounter{#1}% + \expandafter\@maybeautodot\csname the#1\endcsname% + \addtocounter{#1}{-1}\scr@sect{#1}} +\AtEndDocument{% + \if@autodot\if@filesw\immediate\write\@mainaux{% + \string\global\string\@altsecnumformattrue} + \fi\fi} +\newcommand*\autodot{\if@altsecnumformat.\fi} +\newcommand*\chaptermarkformat {\chapappifchapterprefix{\ }% + \thechapter\autodot\enskip} +\newcommand*\sectionmarkformat {\thesection\autodot\enskip} +\newcommand*{\partformat}{\partname~\thepart\autodot} +\newcommand*{\chapterformat}{% + \chapappifchapterprefix{\ }\thechapter\autodot\enskip} +\newcommand*{\figureformat}{\figurename~\thefigure% + \autodot% + } +\newcommand*{\tableformat}{\tablename~\thetable% + \autodot% +} +\newcommand*{\captionformat}{:\ } +\newcommand*{\chapappifprefix}[1][]{% + \ClassWarning{% + scrbook% + }{% + Please don't use obsolete command + \string\chapappifprefix.\MessageBreak + The new command \string\chapappifchapterprefix\space has + an\MessageBreak + obligatory instead of an optional argument. Use that\MessageBreak + new command% + }% + \if@chapterprefix\chapapp#1\fi} +\newcommand*{\chapappifchapterprefix}[1]{\if@chapterprefix\chapapp#1\fi} +\newcommand*{\chapapp}{\@chapapp} +\newcommand*{\othersectionlevelsformat}[1]{% + \csname the#1\endcsname\autodot\enskip} +\renewcommand*{\@seccntformat}{\protect\othersectionlevelsformat} +\pagestyle{headings} +\pagenumbering{arabic} % Arabic page numbers +\if@twocolumn + \twocolumn + \sloppy + \flushbottom +\else + \onecolumn +\fi +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrbook.cls'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrdate.sty b/Master/texmf-dist/tex/latex/koma-script/scrdate.sty new file mode 100644 index 00000000000..78e0fad466b --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrdate.sty @@ -0,0 +1,165 @@ +%% +%% This is file `scrdate.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrtime.dtx (with options: `scrdate') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 by Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% legal.txt, and any other copyright indicated in this file. +%% +%% This file is part of the LaTeX2e KOMA-Script-bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script-bundle (but not this file) bases on the +%% Script-family created by Frank Neukam 1993 and the standard +%% documents classes created by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------- +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{scrdate} + [2002/02/02 v1.1m LaTeX2e KOMA + package] +\newcommand\todaysname{% + \begingroup% + \@tempcnta=\year + \@tempcntb=1 % 1. Januar 1980 war ein Dienstag + \ifnum\@tempcnta<1980 unknown\else% + \advance\@tempcnta by-1980% + \@whilenum\@tempcnta>3\do% + {\advance\@tempcntb by5\advance\@tempcnta by-4}% + \ifnum\@tempcnta=0% + \ifnum\month>2\advance \@tempcntb by1\fi% + \else% + \advance\@tempcntb by\@tempcnta% + \advance\@tempcntb by1 + \fi% + \ifcase\month\or\or\advance\@tempcntb3% Jan = 28 + 3 + \or\advance\@tempcntb3% +Feb = 56 + 3 + \or\advance\@tempcntb6% +Mar = 84 + 6 + \or\advance\@tempcntb1% +Apr = 119 + 1 + \or\advance\@tempcntb4% +May = 147 + 4 + \or\advance\@tempcntb6% +Jun = 175 + 6 + \or\advance\@tempcntb2% +Jul = 210 + 2 + \or\advance\@tempcntb5% +Aug = 238 + 5 + \or% +Sep = 273 + 0 + \or\advance\@tempcntb3% +Oct = 301 + 3 + \or\advance\@tempcntb5% +Nov = 329 + 5 + \fi% + \advance\@tempcntb by\day% + \advance\@tempcntb by-1% die Zaehlung beginnt bei 0 + \@whilenum\@tempcntb>6\do% + {\advance\@tempcntb by-7}% + \@dayname{\@tempcntb}% + \fi\endgroup} +\newcommand\nameday[1]{\renewcommand\todaysname{#1}} +\newcommand*\scrdate@languagenamewarning{ + \PackageWarningNoLine{scrdate} + {\string\languagename\space not + defined, using \string\language.\MessageBreak + This may result in use of wrong language!\MessageBreak + You should use a compatible language + package\MessageBreak + (e.g. `Babel', `german', `french', ...)} + \let\scrdate@languagenamewarning\relax} +\newcommand\newdaylanguage[8]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname l@#1\endcsname\relax + \PackageWarningNoLine{scrdate}{Language #1\space not defined.\MessageBreak + \protect\dayname@#1\space skipped!} + \else + \@namedef{dayname@#1}##1{% + \begingroup% + \@tempcnta ##1% + \ifcase\@tempcnta% + #2\or #3\or #4\or #5\or #6\or #7\or #8\fi\endgroup% + } + \AtBeginDocument{ + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname date#1\endcsname\relax + \PackageWarningNoLine{scrdate} + {\protect\date#1\space not defined.\MessageBreak + \protect\todaysname maybe can't use + \protect\dayname@#1!} + \else + \expandafter\let\csname D@date#1\expandafter\endcsname + \csname date#1\endcsname + \@namedef{date#1}{% + \expandafter\let\expandafter\@dayname\csname dayname@#1\endcsname + \@nameuse{D@date#1}}% + \@ifundefined{languagename}{ + \scrdate@languagenamewarning + \ifnum\language=\@nameuse{l@#1} + \@nameuse{date#1} + \fi}{ + \@ifundefined{date\languagename} + {} + {\@nameuse{date\languagename}} + } + \fi + } + \fi +} +\newdaylanguage{german}{Montag}{Dienstag}{Mittwoch} + {Donnerstag}{Freitag}{Samstag}{Sonntag} +\newdaylanguage{ngerman}{Montag}{Dienstag}{Mittwoch} + {Donnerstag}{Freitag}{Samstag}{Sonntag} +\newdaylanguage{english}{Monday}{Tuesday}{Wednesday} + {Thursday}{Friday}{Saturday}{Sunday} +\newdaylanguage{USenglish}{Monday}{Tuesday}{Wednesday} + {Thursday}{Friday}{Saturday}{Sunday} +\newdaylanguage{french}{Lundi}{Mardi}{Mercredi} + {Jeudi}{Vendredi}{Samedi}{Dimanche} +\newdaylanguage{italian}{Luned\`\i}{Marted\`\i}{Mercoled\`\i} + {Gioved\`\i}{Venerd\`\i}{Sabato}{Domenica} +\newdaylanguage{spanish}{Lunes}{Martes}{Mi\'ercoles} + {Jueves}{Viernes}{S\'abado}{Domingo} +\newdaylanguage{croatian}{Ponedjeljak}{Utorak}{Srijeda} + {\v{C}etvrtak}{Petak}{Subota}{Nedjelja} +\newdaylanguage{dutch}{Maandag}{Dinsdag}{Woensdag} + {Donderdag}{Vrijdag}{Zaterdag}{Zondag} +\def\@dayname#1{% + \begingroup% + \@tempcnta #1% + \ifcase\@tempcnta% + Monday\or Tuesday\or Wednesday\or Thursday\or + Friday\or Saturday\or Sunday\fi\endgroup% +} +\InputIfFileExists{scrdate.cfg} + {\typeout{*************************************^^J% + * Local config file scrdate.cfg used^^J% + *************************************}} + {} +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrdate.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlettr.cls b/Master/texmf-dist/tex/latex/koma-script/scrlettr.cls new file mode 100644 index 00000000000..d2a524ce371 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrlettr.cls @@ -0,0 +1,716 @@ +%% +%% This is file `scrlettr.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrlettr.dtx (with options: `scrlettr') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 Axel Kielhorn, Markus Kohm and Frank Neukam. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{scrlettr} + [2002/05/24 v2.6e + OBSOLETE + LaTeX2e KOMA + document class] +\ClassWarningNoLine{scrlettr}{% + THIS CLASS IS OBSOLETE AND NOT LONGER SUPPORTED!\MessageBreak + Since the new KOMA-Script letter class ``scrlttr2'' was\MessageBreak + released, the use of ``scrlettr'' is obsolete.\MessageBreak + You should not use this class for writing new letters.\MessageBreak + You should use ``scrlttr2''.\MessageBreak + All old commands of ``scrlettr'' are supported at\MessageBreak + the new class ``scrlttr2''. But the length are not\MessageBreak + and the typearea was changed - even using the\MessageBreak + compatiblity option ``KOMAold''. So you may have\MessageBreak + to do some changes} +\newcommand*\@ptsize{} +\newif\if@bigloc +\newif\if@orgdate +\DeclareOption{10pt}{\renewcommand*\@ptsize{0}} +\DeclareOption{11pt}{\renewcommand*\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand*\@ptsize{2}} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue% + \ClassWarningNoLine{scrlettr}{This is no twoside-layout but openright!} +} +\DeclareOption{draft}{\overfullrule 5pt} +\DeclareOption{final}{\setlength\overfullrule{0pt}} +\DeclareOption{a4paper}{ + \setlength{\paperwidth}{210mm} + \setlength{\paperheight}{297mm}} +\DeclareOption{wlocfield}{\@bigloctrue} +\DeclareOption{slocfield}{\@biglocfalse} +\DeclareOption{orgdate}{\@orgdatetrue} +\DeclareOption{scrdate}{\@orgdatefalse} +\ExecuteOptions{12pt,oneside,final,slocfield,a4paper} +\ProcessOptions +\input{size1\@ptsize.clo} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb} +\newcommand*\descfont{\sffamily\bfseries} +\newcommand*\sectfont{\sffamily\bfseries} +\newcommand*\pnumfont{\normalfont} +\newcommand*\headfont{\slshape} +\newcommand*\capfont{\normalfont} +\newcommand*\caplabelfont{\normalfont} +\AtBeginDocument{ + \def\captionsenglish{% + \def\yourrefname{Your ref.} + \def\yourmailname{Your letter of} + \def\myrefname{Our ref.} + \def\customername{Customer no.} + \def\invoicename{Invoice no.} + \def\subjectname{Subject} + \def\ccname{cc} + \def\enclname{encl} + \def\headtoname{To} + \def\datename{Date} + \def\pagename{Page}} + \let\captionsUSenglish=\captionsenglish + \let\captionsamerican=\captionsUSenglish + \let\captionsbritish=\captionsenglish + \let\captionsUKenglish=\captionsenglish + \def\captionsgerman{% + \def\yourrefname{Ihr Zeichen} + \def\yourmailname{Ihr Schreiben vom} + \def\myrefname{Unser Zeichen} + \def\customername{Kundennummer} + \def\invoicename{Rechnungsnummer} + \def\subjectname{Betr.} + \def\ccname{Kopien an} + \def\enclname{Anlagen} + \def\headtoname{An} + \def\datename{Datum} + \def\pagename{Seite}} + \let\captionsaustrian=\captionsgerman + \let\captionsngerman=\captionsgerman + \def\captionsfrench{% + \def\yourrefname{Vos r\'ef\'erences} + \def\yourmailname{Votre lettre du} + \def\myrefname{Nos r\'ef\'erences} + \def\customername{Num\'ero de client} + \def\invoicename{Num\'ero de facture} + \def\subjectname{Concernant} + \def\ccname{Copie \`a} + \def\enclname{Annexes} + \def\headtoname{A} + \def\datename{Date} + \def\pagename{Page}} + \def\captionsitalian{% + \def\yourrefname{Vs./Rif.} + \def\yourmailname{Vs.~lettera del} + \def\myrefname{Ns./Rif.} + \def\customername{Nr.~cliente} + \def\invoicename{Nr.~fattura} + \def\subjectname{Oggetto} + \def\ccname{Per conoscenza} + \def\enclname{Allegato} + \def\headtoname{A} + \def\datename{Data} + \def\pagename{Pagina}} + \def\captionsspanish{% + \def\yourrefname{Su ref.} + \def\yourmailname{Su carta de} + \def\myrefname{Nuestra ref.} + \def\customername{No. de cliente} + \def\invoicename{No. de factura} + \def\subjectname{Asunto} + \def\ccname{Copias} + \def\enclname{Adjunto} + \def\headtoname{A} + \def\datename{Fecha} + \def\pagename{P\'agina}} + \if@orgdate + \ifx\dateenglish\undefined + \def\dateenglish{\def\today{\number\day/\number\month/\number\year}} + \fi + \else + \def\dateenglish{\def\today{\number\day/\number\month/\number\year}} + \def\dateUSenglish{\def\today{\number\month/\number\day/\number\year}} + \let\datebritish=\dateenglish + \let\dateUKenglish=\dateenglish + \let\dateamerican=\dateUSenglish + \def\dategerman{\def\today{\number\day.\,\number\month.\,\number\year}} + \let\dateaustrian=\dategerman + \let\datengerman=\dategerman + \let\datefrench=\dategerman + \let\dateitalian=\dategerman + \let\datespanish=\dategerman + \fi + \captionsenglish + \dateenglish + \ifx\languagename\undefined + \ClassWarningNoLine{scrlettr}{\string\languagename\space not + defined, using \string\language.\MessageBreak + This may result in use of wrong language!\MessageBreak + You should use a compatible language + package\MessageBreak + (e.g. `Babel', `german', `french', ...)} + \ifx\l@american\undefined\else\ifnum\language=\l@american + \captionsamerican + \dateamerican + \fi\fi + \ifx\l@british\undefined\else\ifnum\language=\l@british + \captionsbritish + \datebritish + \fi\fi + \ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish + \captionsUKenglish + \dateUKenglish + \fi\fi + \ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish + \captionsUSenglish + \dateUSenglish + \fi\fi + \ifx\l@austrian\undefined\else\ifnum\language=\l@austrian + \captionsaustrian + \dateaustrian + \fi\fi + \ifx\l@german\undefined\else\ifnum\language=\l@german + \captionsgerman + \dategerman + \fi\fi + \ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman + \captionsngerman + \datengerman + \fi\fi + \ifx\l@french\undefined\else\ifnum\language=\l@french + \captionsfrench + \datefrench + \fi\fi + \ifx\l@italian\undefined\else\ifnum\language=\l@italian + \captionsitalian + \dateitalian + \fi\fi + \ifx\l@spanish\undefined\else\ifnum\language=\l@spanish + \captionsspanish + \datespanish + \fi\fi + \else + \edef\@tempa{nohyphenation} + \ifx\languagename\@tempa + \ClassWarningNoLine{scrlettr} + {You've selected language ``\languagename''.\MessageBreak + Maybe your LaTeX format contains Babel extension\MessageBreak + but you have not selected a language using\MessageBreak + Babel package.\MessageBreak + Please select another language!\MessageBreak + Only as a workaround english captions and date\MessageBreak + will be used} + \else + \expandafter\selectlanguage\expandafter{\languagename} + \ClassInfo{scrlettr}{used language is \languagename} + \fi + \fi +} +\oddsidemargin 0in +\evensidemargin 0in +\marginparwidth 0.9in +\marginparsep 0.1in +\marginparpush 0.45\baselineskip +\topmargin -19mm % mk 941012, was: -15.5mm +\headheight 23mm % mk 950411, was: 22mm +\headsep 8mm % mk 941012, was: 9mm +\footskip 20mm % mk 941012, was: 30mm +\textheight 226mm % mk 950411, was: 217mm +\textwidth 159.2mm + +\parskip 0.5\baselineskip % mk 941012 +\parindent 0pt +\smallskipamount=0.5\parskip +\medskipamount =\parskip +\bigskipamount =2\parskip +\footnotesep 0.8\baselineskip +\skip\footins 0.75\baselineskip plus 2pt minus 4pt +\skip\@mpfootins =\skip\footins +\columnsep 1cc +\columnseprule 0pt +\floatsep 1\baselineskip plus 2pt minus 2pt +\textfloatsep 20pt plus 2pt minus 4pt +\intextsep 1\baselineskip plus 2pt minus 2pt +\dblfloatsep 1\baselineskip plus 2pt minus 2pt +\dbltextfloatsep 20pt plus 2pt minus 4pt +\@fptop 0pt plus 1fil +\@fpsep 0.7\baselineskip plus 2fil +\@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil +\@dblfpsep 0.7\baselineskip plus 2fil +\@dblfpbot 0pt plus 1fil +\arraycolsep 5pt +\tabcolsep 6pt +\arrayrulewidth 0.4pt +\doublerulesep 2pt +\fboxsep 3pt +\fboxrule 0.4pt +\tabbingsep \labelsep +\topsep 0.25\baselineskip +\partopsep 0pt +\itemsep 0.25\baselineskip +\parsep 0.25\baselineskip % ak: 1\baselineskip +\labelsep .5em +\leftmargini 2.5em +\leftmarginii 2.2em +\leftmarginiii 1.87em +\leftmarginiv 1.7em +\leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelwidth\leftmargini +\advance\labelwidth-\labelsep +\def\@listI{\leftmargin\leftmargini} +\let\@listi\@listI +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} +\@listi + +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty + +\def\theenumi{\arabic{enumi}} +\def\theenumii{\alph{enumii}} +\def\theenumiii{\roman{enumiii}} +\def\theenumiv{\Alph{enumiv}} +\def\labelenumi{\theenumi.} +\def\labelenumii{\theenumii)} +\def\labelenumiii{\theenumiii.} +\def\labelenumiv{\theenumiv.} +\def\p@enumii{\theenumi} +\def\p@enumiii{\theenumi\theenumii)} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\triangleright$} +\def\labelitemiv{$\cdot$} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand\descriptionlabel[1]{\hspace\labelsep + \descfont #1} +\newenvironment{labeling}[2][] + {\def\sc@septext{#1} + \list{}{\settowidth{\labelwidth}{#2#1} + \leftmargin\labelwidth \advance\leftmargin by \labelsep + \let\makelabel\labelinglabel}} + {\endlist} +\newcommand\labelinglabel[1]{#1\hfil\sc@septext} +\newenvironment{verse} + {\let\\=\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item[]} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent 1em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item[]} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item[]} + {\endlist} +\def\fromname{} +\def\frombranch{} % RTL 21.04.94 +\def\fromsig{\fromname} +\def\fromaddress{} +\def\fromplace{} +\def\fromlocation{} +\def\frombackaddress{} +\def\telephonenum{} +\def\varyourref{} +\def\varyourmail{} +\def\varmyref{} +\def\varcustomer{} +\def\varinvoice{} +\def\varrefitemi{} +\def\varrefitemii{} +\def\varrefitemiii{} +\def\varrefitemnamei{} +\def\varrefitemnameii{} +\def\varrefitemnameiii{} +\def\@specialmail{} +\def\@title{} +\def\@subject{} +\def\name#1 {\def\fromname{#1}} +\def\branch#1 {\def\frombranch{#1}} % RTL 21.04.94 +\def\signature#1{\def\fromsig{#1}} +\long\def\address#1{\def\fromaddress{#1}} +\def\place#1 {\def\fromplace{#1}} +\long\def\location#1{\def\fromlocation{#1}} +\def\backaddress#1{\def\frombackaddress{#1}} +\def\telephone#1{\def\telephonenum{#1}} +\def\yourref#1 {\def\varyourref{#1}} +\def\yourmail#1 {\def\varyourmail{#1}} +\def\myref#1 {\def\varmyref{#1}} +\def\customer#1 {\def\varcustomer{#1}} +\def\invoice#1 {\def\varinvoice{#1}} +\def\refitemi#1 {\def\varrefitemi{#1}} +\def\refitemii#1{\def\varrefitemii{#1}} +\def\refitemiii#1{\def\varrefitemiii{#1}} +\def\refitemnamei#1{\def\varrefitemnamei{#1}} +\def\refitemnameii#1{\def\varrefitemnameii{#1}} +\def\refitemnameiii#1{\def\varrefitemnameiii{#1}} +\def\specialmail#1{\def\@specialmail{#1}} +\def\title#1 {\def\@title{#1}} +\def\subject#1 {\def\@subject{{\bf #1}}} +\long\def\firsthead#1{\def\@firsthead{#1}} +\long\def\firstfoot#1{\def\@firstfoot{#1}} +\long\def\nexthead#1{\def\@nexthead{#1}} +\long\def\nextfoot#1{\def\@nextfoot{#1}} +\newif\if@fold +\newif\if@afield +\newif\if@subj +\newif\if@subjafter +\def\foldmarkson {\@foldtrue} +\def\foldmarksoff {\@foldfalse} +\def\addrfieldon {\@afieldtrue} +\def\addrfieldoff {\@afieldfalse} +\def\subjecton {\@subjtrue} +\def\subjectoff {\@subjfalse} +\newcommand*\subjectafteron {\@subjaftertrue} +\newcommand*\subjectafteroff{\@subjafterfalse} +\newdimen\sc@temp +\newdimen\sc@@temp +\newdimen\foldhskip +\newdimen\foldvskipi +\newdimen\foldvskipii +\newdimen\foldvskipiii +\newdimen\addrvskip +\newdimen\addrindent +\newdimen\addrwidth +\newdimen\addrheight +\newdimen\locwidth +\newdimen\refvskip +\newdimen\sigindent +\foldhskip 3.5mm +\foldvskipi 62mm % war: 65mm RTL +\foldvskipii 45mm % mk 960531 (war: 40.5mm) +\foldvskipiii 54mm % mk 960531 (war: 58.5mm) +\addrvskip 7.5mm +\addrindent 0mm +\addrwidth 70mm +\addrheight 35mm +\locwidth\textwidth +\advance\locwidth by -\addrwidth +\if@bigloc % mk 940330 + \advance\locwidth by \locwidth + \divide\locwidth by 3 +\else + \divide\locwidth by 2 +\fi +\refvskip 5.5mm +\sigindent 0mm +\def\adrentry#1#2#3#4#5#6#7#8{\def\@tempa{#1}\ifx \@tempa\@empty \else + \def\@tempa{#2}\ifx \@tempa\@empty + \expandafter\def\csname #8\endcsname{#1\\#3} + \else + \expandafter\def\csname #8\endcsname{#2 #1\\#3} + \fi \fi} +\def\adrchar#1{} +\long\def\letter#1{\newpage + \if@twoside\ifodd\c@page\else \thispagestyle{empty}\null\newpage \fi\fi + \c@page\@ne \interlinepenalty=200 \@processto{#1}} +\def\stopletter{} +\def\endletter{\stopletter\@@par\pagebreak\@@par} +\long\def\@processto#1{\expandafter\@xproc #1\\@@@\ifx\toaddress\@empty + \else\expandafter\@yproc #1@@@\fi} +\long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}} +\long\def\@yproc #1\\#2@@@{\def\toaddress{#2}} +\def\stopbreaks{\interlinepenalty \@M + \def\par{\@@par\nobreak}\let\\=\@nobreakcr + \let\vspace\@nobreakvspace} +\def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}} +\def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else + \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi} +\def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}} +\def\startbreaks{\let\\=\@normalcr + \interlinepenalty 200\def\par{\@@par\penalty 200}} +\def\@foldmarks{\if@fold \bgroup + \reversemarginpar\vspace{\foldvskipi} + \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} \vspace{\foldvskipii} + \marginpar{\hspace{\foldhskip}\rule{4mm}{.2pt}} \vspace{\foldvskipiii} + \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} + \vspace{-\foldvskipiii}\vspace{-\foldvskipii}\vspace{-\foldvskipi} + \egroup \fi} +\def\@addrfield{\bgroup + \setbox0\vbox{\hsize\addrwidth + \ifx\frombackaddress\@empty \else + \underline{\scriptsize \sf \frombackaddress} \fi} + \setbox1\vbox{\hsize\addrwidth + \ifx\@specialmail\@empty \else + \underline{\@specialmail} \fi} + \setbox2\vbox{\hsize\addrwidth + \toname \\ \toaddress} + \vskip\addrvskip \hskip\addrindent + \vbox to \addrheight{% + \ifx\frombackaddress\@empty \else \box0 \fi + \ifx\@specialmail\@empty \else \vfil\box1 \fi + \vfil\box2\vfil}\egroup} +\def\@locfield{\begin{minipage}[b]{\locwidth}\fromlocation\end{minipage}} +\newif\if@ref +\def\@datefield{\@reffalse + \ifx\varyourref\@empty \else \@reftrue \fi + \ifx\varyourmail\@empty \else \@reftrue \fi + \ifx\varmyref\@empty \else \@reftrue \fi + \ifx\varcustomer\@empty \else \@reftrue \fi + \ifx\varinvoice\@empty \else \@reftrue \fi + \ifx\varrefitemi\@empty \else \@reftrue \fi + \ifx\varrefitemii\@empty \else \@reftrue \fi + \ifx\varrefitemiii\@empty \else \@reftrue \fi + \vskip -\parskip + \vskip \refvskip + \if@ref + \ifx\varyourref\@empty \else + \settowidth{\sc@temp}{\varyourref} + \setbox0\hbox{\scriptsize \sf \yourrefname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourref}\hfill + \fi + \ifx\varyourmail\@empty \else + \settowidth{\sc@temp}{\varyourmail} + \setbox0\hbox{\scriptsize \sf \yourmailname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourmail}\hfill + \fi + \ifx\varmyref\@empty \else + \settowidth{\sc@temp}{\varmyref} + \setbox0\hbox{\scriptsize \sf \myrefname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varmyref}\hfill + \fi + \ifx\varcustomer\@empty \else + \settowidth{\sc@temp}{\varcustomer} + \setbox0\hbox{\scriptsize \sf \customername} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varcustomer}\hfill + \fi + \ifx\varinvoice\@empty \else + \settowidth{\sc@temp}{\varinvoice} + \setbox0\hbox{\scriptsize \sf \invoicename} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varinvoice}\hfill + \fi + \ifx\varrefitemi\@empty \else + \settowidth{\sc@temp}{\varrefitemi} + \setbox0\hbox{\scriptsize \sf \varrefitemnamei} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemi}\hfill + \fi + \ifx\varrefitemii\@empty \else + \settowidth{\sc@temp}{\varrefitemii} + \setbox0\hbox{\scriptsize \sf \varrefitemnameii} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemii}\hfill + \fi + \ifx\varrefitemiii\@empty \else + \settowidth{\sc@temp}{\varrefitemiii} + \setbox0\hbox{\scriptsize \sf \varrefitemnameiii} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemiii}\hfill + \fi + \ifx\@date\@empty \else + \settowidth{\sc@temp}{\@date} + \setbox0\hbox{\scriptsize \sf \datename} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \@date} + \fi + \par + \vspace{2.5\baselineskip} + \else + {\ifx\@date\@empty \else \raggedleft\fromplace\ \@date\par \fi} + \vspace{1.5\baselineskip} + \fi} +\def\maketitle{\ifx\@title\@empty \else + {\centering \LARGE \sectfont \@title\par} + \vspace{1\baselineskip} \fi} +\def\@subjfield{{% + \if@subjafter% + \centering% + \else% + \if@subj\ifx\@subject\@empty\else\subjectname:\ \fi\fi + \@subject\par\nobreak\vspace{1\baselineskip}% + \fi}} +\def\opening#1{\thispagestyle{firstpage} \null \@foldmarks + \if@afield \@addrfield \hfill \@locfield \par \fi + \@datefield + \maketitle + \if@subjafter\else\@subjfield\fi + #1\par% + \vspace{0.5\baselineskip}% added by unknown + \nobreak% + \if@subjafter\@subjfield\fi} +\newcommand*\presig@skip{} +\newcommand*{\setpresigskip}[1]{% + \begingroup% + \setlength{\@tempdima}{#1}% + \endgroup% + \edef\presig@skip{#1}} +\setpresigskip{2\baselineskip} +\long\def\closing#1{\par\nobreak\vspace{0.5\baselineskip} + \stopbreaks \noindent \sc@temp\textwidth \advance\sc@temp by + -\sigindent \hspace{\sigindent}% + \parbox{\sc@temp}{\raggedright\ignorespaces #1\mbox{}\\[\presig@skip] + \fromsig\strut}\par + \vspace{1.5\baselineskip}} +\def\ps{\par\startbreaks} +\newcommand*{\ccnameseparator}{: } +\newcommand*{\cc}[1]{\par\noindent\parbox[t]{\textwidth} + {\@hangfrom{\ccname\ccnameseparator}% + \ignorespaces #1\strut}\par} +\newcommand*{\enclnameseparator}{: } +\newcommand*{\encl}[1]{\par\noindent% + \parbox[t]{\textwidth}{% + \ifx\enclname\@empty\else\@hangfrom{\enclname\enclnameseparator}\fi% + \ignorespaces #1\strut}\par} +\def\footnoterule{\kern-1\p@ + \hrule width 0.4\columnwidth + \kern .6\p@} +\newcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \edef\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2} + \parshape \@ne #2 \@tempdima}% + \else + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1} + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2} + \parshape \tw@ #1 \@tempdima #2 \@tempdimb}% + \fi + \par + \parindent #3\noindent + \hbox to \z@{\hss\@@makefnmark}##1} + \def\@@makefnmark{\hbox{#4}} +} +\newcommand*\deffootnotemark[1]{\def\@makefnmark{\hbox{#1}}} +\def\thefootnotemark{\@thefnmark} +\let\textsuperscript\@textsuperscript +\deffootnote[1em]{1.5em}{1em} + {\textsuperscript{\thefootnotemark}} +\deffootnotemark{\textsuperscript{\thefootnotemark}} +\def\theequation{\arabic{equation}} +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} +\def\@firsthead{% + \parbox[b]{\textwidth} + {\begin{center} + \ifx\fromname\@empty\else + \textsc{\ignorespaces\fromname}\\[-8pt] + \rule{\textwidth}{.4pt}\\ + \fi + \ifx\fromaddress\@empty\else + \ignorespaces\fromaddress + \fi + \end{center}}} +\def\@firstfoot{} +\def\@nexthead{% + \parbox[b]{\textwidth} + {\ifx\fromname\@empty\else + \textsc{\ignorespaces\fromname}\\[8pt] + \fi + \headtoname\ \ignorespaces\toname\hfill\datename:\ \@date\hfill + \pagename\ \thepage\\[-8pt] + \rule{\textwidth}{.4pt}}} +\def\@nextfoot{} + +\def\ps@plain{% + \def\@evenhead{\sffamily\bfseries\fontsize{10pt}{12}\selectfont + \hfil-- \thepage\ --\hfil}% + \let\@oddhead\@evenhead% + \def\@evenfoot{}% + \def\@oddfoot{}} +\def\ps@firstpage{% + \def\@evenhead{\@firsthead}% + \let\@oddhead\@evenhead% + \def\@evenfoot{\@firstfoot}% + \let\@oddfoot\@evenfoot} +\def\ps@headings{% + \def\@evenhead{\@nexthead}% + \let\@oddhead\@evenhead% + \def\@evenfoot{\@nextfoot}% + \let\@oddfoot\@evenfoot} +\@foldtrue +\@afieldtrue +\@subjfalse +\@subjafterfalse +\ps@plain +\pagenumbering{arabic} +\raggedbottom +\frenchspacing +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrlettr.cls'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty b/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty new file mode 100644 index 00000000000..e314c208726 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty @@ -0,0 +1,111 @@ +%% +%% This is file `scrlfile.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `package,scrlfile') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{% + scrlfile% + } + [2004/09/16 v2.9t LaTeX2e KOMA + package] +\typeout{Package scrlfile, \csname ver@scrlfile.sty\endcsname% + ^^J\@spaces\@spaces\@spaces\@spaces\space\space + Copyright (C) Markus Kohm^^J} +\ExecuteOptions{} +\ProcessOptions\relax +\CheckCommand{\InputIfFileExists}[2]{% + \IfFileExists{#1}% + {#2\@addtofilelist{#1}\@@input \@filef@und}} +\renewcommand{\InputIfFileExists}[2]{% + \IfFileExists{#1}{% + \scr@load@hook{before}{#1}% + #2\@addtofilelist{#1}\@@input \@filef@und + \scr@load@hook{after}{#1}}} +\newcommand*{\scr@load@hook}[2]{% + \@ifundefined{#2-@#1}{}{% + \@nameuse{#2-@#1}% + \expandafter\let\csname #2-@#1\endcsname=\relax}} +\newcommand*{\scr@set@load@hook}[2]{% + \@ifundefined{#2-@#1}{\@namedef{#2-@#1}{}}{}% + \expandafter\g@addto@macro\csname #2-@#1\endcsname} +\newcommand*{\BeforeFile}{\scr@set@load@hook{before}} +\newcommand*{\AfterFile}{\scr@set@load@hook{after}} +\newcommand*{\BeforeClass}[1]{% + \scr@set@load@hook{before}{#1.\@clsextension}} +\newcommand*{\AfterClass}{% + \@ifstar {\@sAfterClass}{\@AfterClass}} +\newcommand*{\@AfterClass}[1]{% + \scr@set@load@hook{after}{#1.\@clsextension}} +\newcommand*{\@sAfterClass}[1]{% + \begingroup + \@ifclassloaded{#1}{% + \aftergroup\@secondoftwo + }{% + \aftergroup\@AfterClass + }% + \endgroup + {#1}% +} +\newcommand*{\BeforePackage}[1]{% + \scr@set@load@hook{before}{#1.\@pkgextension}} +\newcommand*{\AfterPackage}{% + \@ifstar {\@sAfterPackage}{\@AfterPackage}} +\newcommand*{\@AfterPackage}[1]{% + \scr@set@load@hook{after}{#1.\@pkgextension}} +\newcommand*{\@sAfterPackage}[1]{% + \begingroup + \@ifpackageloaded{#1}{% + \aftergroup\@secondoftwo + }{% + \aftergroup\@AfterPackage + }% + \endgroup + {#1}% +} +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrlfile.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls new file mode 100644 index 00000000000..156984b84a5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls @@ -0,0 +1,2486 @@ +%% +%% This is file `scrlttr2.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `class,scrlettr') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{% + scrlttr2% + } + [2004/09/16 v2.9t LaTeX2e KOMA + document class] +\RequirePackage{keyval} +\newcommand*{\KOMA@key}{\define@key{KOMA}} +\newcommand*{\KOMAoptions}[1]{% + \@ifundefined{scr@save@KV@errx}{% + \let\scr@save@KV@errx=\KV@errx + \renewcommand*{\KV@errx}[1]{% + \ClassError{% + scrlttr2% + }{unknown KOMA option `#1'}{% + You've tried to use the KOMA option `#1'.\MessageBreak + But there is no KOMA option with that name.\MessageBreak + See the manual of KOMA-Script for information about known koma + options.}}% + \setkeys{KOMA}{#1}% + \let\KV@errx=\scr@save@KV@errx + \let\scr@save@KV@errx=\relax + }{% + \setkeys{KOMA}{#1}% + }\ignorespaces% +} +\newcommand*{\AfterProcessOptions@hook}{} +\newcommand*{\AfterProcessOptions}[1]{% + \g@addto@macro{\AfterProcessOptions@hook}{#1}% +} +\newcommand*{\@setif}[3][]{% + \begingroup% + \edef\@tempa{#1} + \ifx\@tempa\@empty\def\@tempc{@#2}\else\def\@tempc{#1}\fi + \edef\@tempa{#3}\def\@tempb{on}\ifx\@tempa\@tempb + \def\@tempa{true}% + \else\def\@tempb{off}\ifx\@tempa\@tempb + \def\@tempa{false}% + \fi\fi% + \@ifundefined{\@tempc\@tempa}{% + \ClassError{% + scrlttr2% + }{You've used an unknown switch or value}{% + You've tried to set switch `#2' to value `#3', but there's + either no\MessageBreak% + switch `#2' defined or `#3' is not a switch + value.\MessageBreak% + Allowed switch values are `true', `false', `on', + `off'\@setif@alsoerr.} + \let\@tempa\endgroup + }{% + \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc\@tempa}} + } + \@tempa + \let\@setif@alsoerr=\@empty + } +\newcommand*{\@setif@alsoerr}{} +\newcommand*{\@setxif}[5][]{% + \begingroup% + \edef\@tempa{#1} + \ifx\@tempa\@empty\def\@tempc{@#2}\else\def\@tempc{#1}\fi + \@ifundefined{\@tempc true}{% + \ClassError{% + scrlttr2% + }{You've used an unknown switch}{% + You've tried to set switch `#2' to value `#3', but + there's no\MessageBreak + switch `#2' defined.} + \let\@tempa\endgroup + }{% + \edef\@tempa{#3}\edef\@tempb{#4}\ifx\@tempa\@tempb + \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc true}} + \else\def\@tempb{#5}\ifx\@tempa\@tempb + \edef\@tempa{\endgroup\noexpand\@nameuse{\@tempc false}} + \else + \ClassError{% + scrlttr2% + }{You've used an unknown switch value}{% + You've tried to set switch `#2' to value `#3', but allowed + switch\MessageBreak + values are `#4', `#5'\@setif@alsoerr\space only.} + \let\@tempa\endgroup + \fi\fi% + } + \@tempa + \let\@setif@alsoerr=\@empty + } +\newcommand*{\@setnumstate}[4]{% + \begingroup + \edef\@searched{#4}% + \let\@tempa=\@empty + \let\@tempb=\@empty + \@tempswafalse + \@for\@valuelist:=#3\do{% + \if@tempswa\else + \edef\@tempc{\expandafter\@firstoftwo\@valuelist}% + \edef\@tempa{\@tempa\@tempb`\@tempc'}% + \edef\@tempb{, }% + \ifx\@tempc\@searched + \@tempswatrue + \edef\@tempa{\expandafter\@secondoftwo\@valuelist}% + \fi + \fi + } + \if@tempswa + \edef\@tempa{\endgroup + \noexpand\renewcommand*{\noexpand#1}{\@tempa}} + \else + \ClassError{% + scrlttr2% + }{You've used an unknown option value}{% + You've tried to set option `#2' to value `#4', + but allowed values\MessageBreak + are only:\MessageBreak + \@tempa.}% + \let\@tempa=\endgroup + \fi + \@tempa + } +\newcommand*{\@ObsoleteOption}[1]{% + \ClassWarningNoLine{% + scrlttr2% + }{% + You've used the obsolete option `\CurrentOption'.\MessageBreak + I'm using option `#1' instead.\MessageBreak + You should do this change also} + \KOMAoptions{#1} +} +\newcommand*{\@ObsoleteCommand}[2]{% + \ClassWarning{% + scrlttr2% + }{% + You`ve used the obsolete command `\string#1'.\MessageBreak + I`m using `\string\KOMAoptions{#2}' instead.\MessageBreak + You should do this change also} + \KOMAoptions{#2} +} +\KOMA@key{BCOR}{\PassOptionsToPackage{BCOR#1}{typearea}} +\KOMA@key{DIV}{\PassOptionsToPackage{DIV#1}{typearea}} +\KOMA@key{headlines}{\PassOptionsToPackage{#1headlines}{typearea}} +\KOMA@key{paper}{\PassOptionsToPackage{#1paper}{typearea}} +\DeclareOption{a4paper}{\@ObsoleteOption{paper=a4}} +\DeclareOption{a5paper}{\@ObsoleteOption{paper=a5}} +\DeclareOption{b5paper}{\@ObsoleteOption{paper=b5}} +\DeclareOption{letterpaper}{\@ObsoleteOption{paper=letter}} +\DeclareOption{legalpaper}{\@ObsoleteOption{paper=legal}} +\DeclareOption{executivepaper}{\@ObsoleteOption{paper=executive}} +\newif\if@hsl +\KOMA@key{headsepline}[true]{\@setif{hsl}{#1}}% +\AfterProcessOptions{% + \if@hsl\PassOptionsToPackage{headinclude}{typearea}\fi} +\DeclareOption{headnosepline}{% + \@ObsoleteOption{headsepline=false}% + } +\newif\if@fsl +\KOMA@key{footsepline}[true]{\@setif{fsl}{#1}}% +\AfterProcessOptions{% + \if@fsl\PassOptionsToPackage{footinclude}{typearea}\fi} +\DeclareOption{footnosepline}{% + \@ObsoleteOption{footsepline=false}% + } +\newif\if@mincl +\DeclareOption{mpinclude}{% + \@mincltrue + \ClassWarning{scrlttr2}{% + You should not use option `mpinclude' with this\MessageBreak + class} + } +\DeclareOption{mpexclude}{ + \@minclfalse + \ClassWarning{scrlttr2}{% + You should not use option `mpexclude' with this\MessageBreak + class} + } +\newcommand*{\@alignfrom}{0} +\KOMA@key{fromalign}{% + \@setnumstate{\@alignfrom}{fromalign}{% + {left}{0},% + {center}{1},{centered}{1},{middle}{1},% + {right}{2},% + {no}{10000},{false}{10000},{off}{10000}}{#1}% + } +\newcommand*{\@rulefrom}{0} +\KOMA@key{fromrule}[below]{% + \@setnumstate{\@rulefrom}{fromrule}{% + {false}{0},{no}{0},{off}{0},{aftername}{1},% + {below}{2},{afteraddress}{2},{true}{2},{yes}{2},{on}{2}% + }{#1}% + } +\newif\if@phone +\KOMA@key{fromphone}[true]{\@setif{phone}{#1}}% +\newif\if@fax +\KOMA@key{fromfax}[true]{\@setif{fax}{#1}}% +\newif\if@email +\KOMA@key{fromemail}[true]{\@setif{email}{#1}}% +\newif\if@www +\KOMA@key{fromurl}[true]{\@setif{www}{#1}}% +\newif\if@logo +\KOMA@key{fromlogo}[true]{\@setif{logo}{#1}}% +\newcommand*{\@pageat}{4} +\KOMA@key{pagenumber}{% + \begingroup + \@setnumstate{\@tempa}{pagenumber}{% + {no}{-1},{off}{-1},{false}{-1},% + {topleft}{0},{headleft}{0},% + {topmiddle}{1},{topcenter}{1},{topcentered}{1},% + {headmiddle}{1},{headcenter}{1},{headcentered}{1},% + {topright}{2},{headright}{2},% + {botleft}{3},{footleft}{3},% + {botmiddle}{4},{botcenter}{4},{botcentered}{4},% + {footmiddle}{4},{footcenter}{4},{footcentered}{4},% + {botright}{5},{footright}{5},% + {top}{10},{head}{10},{bot}{11},{foot}{11},% + {left}{20},{middle}{21},{center}{21},{centered}{21},{right}{22}% + }{#1}% + \ifnum\@tempa<10 + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\@tempa}}% + \else + \ifnum\@tempa<20 + \@tempcnta\@pageat\relax + \ifnum\@tempcnta>2 + \advance\@tempcnta by -3 + \fi + \ifnum\@tempa=11 + \advance\@tempcnta by 3 + \fi + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% + \else + \ifnum\@pageat>2 + \edef\@pageat{3}% + \else + \edef\@pageat{0} + \fi + \@tempcnta\@tempa + \advance\@tempcnta by -20 + \advance\@tempcnta by\@pageat + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% + \fi + \fi + \@tempa + } +\newcommand*\@ptsize{% + 2% + } +\KOMA@key{fontsize}{% + \begingroup + \setlength{\@tempdima}{#1} + \addtolength{\@tempdima}{-10\p@} + \edef\@tempa{\endgroup\noexpand\renewcommand*\noexpand\@ptsize{% + \strip@pt\@tempdima}} + \@tempa + } +\DeclareOption{10pt}{% + \@ObsoleteOption{fontsize=10pt} + } +\DeclareOption{11pt}{% + \@ObsoleteOption{fontsize=11pt} + } +\DeclareOption{12pt}{% + \@ObsoleteOption{fontsize=12pt} + } +\KOMA@key{twoside}[true]{\@setif{twoside}{#1}% + \if@twoside\@mparswitchtrue\else\@mparswitchfalse\fi} +\DeclareOption{oneside}{% + \@ObsoleteOption{twoside=false} + } +\KOMA@key{draft}[true]{% + \begingroup + \let\@drafttrue=\@tempswatrue + \let\@draftfalse=\@tempswafalse + \@setif{draft}{#1} + \if@tempswa + \global\setlength{\overfullrule}{5\p@} + \else + \global\setlength{\overfullrule}{\z@} + \fi + \endgroup + } +\DeclareOption{final}{% + \@ObsoleteOption{draft=false} + } +\newif\if@enlargefp +\KOMA@key{enlargefirstpage}[true]{% + \@setif[@enlargefp]{enlargefirstpage}{#1}} +\newif\if@parskip +\newcommand*{\scr@parskip}{\setlength{\parskip}{\z@}} +\newcommand*{\scr@parfillskip}{\setlength{\parfillskip}{\z@}} +\newcommand*{\@parskip@indent}{} +\KOMA@key{parskip}[true]{% + \begingroup% + \@tempcnta=-1\edef\@tempa{#1}% + \def\@tempb{false}\ifx\@tempa\@tempb\@tempcnta=0\fi + \def\@tempb{off}\ifx\@tempa\@tempb\@tempcnta=0\fi + \def\@tempb{full-}\ifx\@tempa\@tempb\@tempcnta=1\fi + \def\@tempb{half-}\ifx\@tempa\@tempb\@tempcnta=2\fi + \def\@tempb{full}\ifx\@tempa\@tempb\@tempcnta=3\fi + \def\@tempb{true}\ifx\@tempa\@tempb\@tempcnta=3\fi + \def\@tempb{on}\ifx\@tempa\@tempb\@tempcnta=3\fi + \def\@tempb{half}\ifx\@tempa\@tempb\@tempcnta=4\fi + \def\@tempb{full+}\ifx\@tempa\@tempb\@tempcnta=5\fi + \def\@tempb{half+}\ifx\@tempa\@tempb\@tempcnta=6\fi + \def\@tempb{full*}\ifx\@tempa\@tempb\@tempcnta=7\fi + \def\@tempb{half*}\ifx\@tempa\@tempb\@tempcnta=8\fi + \let\@tempa\endgroup + \ifnum \@tempcnta <\z@\relax + \ClassError{% + scrlttr2% + }{You've used an unknown option value}{% + You've tried to set option `parskip' to value `#1', but + allowed values\MessageBreak + are `full-', `full', `full+', `full*', `half-', + `half', `half+',\MessageBreak + `half*', `false' and `off' only.\MessageBreak + You may also use `on' instead of `full'.}% + \else\ifnum \@tempcnta =\z@ + \def\@tempa{\endgroup\@parskipfalse\@parskip@indent}% + \else + \let\@tempb=\relax\let\@tempc=\relax + \ifodd \@tempcnta + \def\@tempb{\def\noexpand\scr@parskip{% + \noexpand\setlength{\parskip}{\baselineskip}% + \noexpand\addtolength{\parskip}{% + \z@ \@plus .1\baselineskip}}}% + \else + \def\@tempb{\def\noexpand\scr@parskip{% + \noexpand\setlength{\parskip}{.5\baselineskip}% + \noexpand\addtolength{\parskip}{% + \z@ \@plus .5\baselineskip}}}% + \fi + \advance\@tempcnta by \m@ne + \divide\@tempcnta by \tw@ + \ifcase\@tempcnta + \def\@tempc{\def\noexpand\scr@parfillskip{% + \noexpand\setlength{\parfillskip}{\z@ \@plus 1fil}}}% + \or + \def\@tempc{\def\noexpand\scr@parfillskip{% + \noexpand\setlength{\parfillskip}{1em \@plus 1fil}}}% + \or + \def\@tempc{\def\noexpand\scr@parfillskip{% + \noexpand\setlength{\parfillskip}{.3333\linewidth}% + \noexpand\addtolength{\parfillskip}{\z@ \@plus 1fil}}}% + \or + \def\@tempc{\def\noexpand\scr@parfillskip{% + \noexpand\setlength{\parfillskip}{.25\linewidth}% + \noexpand\addtolength{\parfillskip}{\z@ \@plus 1fil}}}% + \fi + \edef\@tempa{% + \endgroup\noexpand\@parskiptrue\@tempb\@tempc% + \noexpand\@parskip@indent}% + \fi + \fi + \@tempa + } +\newcommand*{\cleardoublestandardpage}{} +\let\cleardoublestandardpage\cleardoublepage +\newcommand*{\cleardoubleemptypage}{\clearpage% + {\thispagestyle{empty}\cleardoublestandardpage}} +\newcommand*{\cleardoubleplainpage}{\clearpage% + {\thispagestyle{plain}\cleardoublestandardpage}} +\DeclareOption{cleardoubleempty}{% + \@ObsoleteOption{cleardoublepage=empty}} +\DeclareOption{cleardoubleplain}{% + \@ObsoleteOption{cleardoublepage=plain}} +\DeclareOption{cleardoublestandard}{% + \@ObsoleteOption{cleardoublepage=standard}} +\KOMA@key{cleardoublepage}{% + \begingroup% + \def\@tempc{% + \endgroup% + \ClassError{% + scrlttr2% + }{You've used an unknown switch value}{% + You've tried to set switch `cleardoublepage' to value + `#1', but\MessageBreak + allowed switch values are `emtpy', `plain' and + `standard' only.}} + \edef\@tempa{#1}% + \def\@tempb{empty}\ifx\@tempa\@tempb% + \def\@tempc{\endgroup% + \let\cleardoublepage\cleardoubleemptypage}\fi + \def\@tempb{plain}\ifx\@tempa\@tempb% + \def\@tempc{\endgroup% + \let\cleardoublepage\cleardoubleplainpage}\fi + \def\@tempb{standard}\ifx\@tempa\@tempb% + \def\@tempc{\endgroup% + \let\cleardoublepage\cleardoublestandardpage}\fi + \@tempc} +\newif\if@afield\@afieldtrue +\KOMA@key{addrfield}[true]{\@setif[@afield]{addrfield}{#1}} +\newif\if@baddr\@baddrtrue +\KOMA@key{backaddress}[true]{\@setif[@baddr]{backaddress}{#1}} +\newif\if@subj +\newif\if@subjafter +\KOMA@key{subject}[true]{% + \begingroup + \edef\@tempa{#1}% + \def\@tempb{afteropening}% + \ifx\@tempa\@tempb\endgroup\@subjaftertrue + \else + \def\@tempb{beforeopening}% + \ifx\@tempa\@tempb\endgroup\@subjafterfalse + \else + \endgroup\def\@setif@alsoerr{, `afteropening' and + `beforeopening'\MessageBreak}% + \@setxif[@subj]{subject}{#1}{titled}{untitled}% + \fi + \fi + } +\newif\if@bigloc +\KOMA@key{locfield}[wide]{\@setxif[@bigloc]{locfield}{#1}{wide}{narrow}} +\DeclareOption{wlocfield}{\@ObsoleteOption{locfield=wide}} +\DeclareOption{slocfield}{\@ObsoleteOption{locfield=narrow}} +\newif\if@fold\@foldtrue +\KOMA@key{foldmarks}[true]{\@setif[@fold]{foldmarks}{#1}} +\newif\if@orgdate\@orgdatetrue +\KOMA@key{numericaldate}[true]{% + \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi + \@setif[@orgdate]{numericaldate}{#1} + \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi +} +\DeclareOption{scrdate}{\@ObsoleteOption{numericaldate=true}} +\DeclareOption{orgdate}{\@ObsoleteOption{numericaldate=false}} +\newif\if@refwide +\KOMA@key{refline}[wide]{\@setxif[@refwide]{refline}{#1}{wide}{narrow}} + \DeclareOption*{% + \let\scr@save@KV@errx=\KV@errx% + \IfFileExists{\CurrentOption.lco}{% + \begingroup\edef\@tempa{\endgroup% + \noexpand\AtEndOfClass{% + \noexpand\LoadLetterOption{\CurrentOption}}% + }% + \@tempa\let\KV@errx\@gobble + }{% + \renewcommand*{\KV@errx}[1]{\OptionNotUsed} + } + \expandafter\KOMAoptions\expandafter{\CurrentOption} + \let\KV@errx=\scr@save@KV@errx% + \let\scr@save@KV@errx=\relax% + } +\ExecuteOptions{% +} +\ProcessOptions\relax +\AfterProcessOptions@hook +\let\AfterProcessOptions@hook=\undefined +\RequirePackage{scrlfile} +\newif\if@restonecol +\@tempcnta=10 +\advance\@tempcnta by\@ptsize\relax +\xdef\@tempa{% +size% +\the\@tempcnta.clo} +\InputIfFileExists{\@tempa}{}{% + \ClassError + {scrlttr2} + {File `\@tempa' not found!\MessageBreak + This error is fatal!} + {To every fontsize you want to select by class option,\MessageBreak + you need a corresponding + size-class-option-file declaring all\MessageBreak + the macros based on fontsize.\MessageBreak + Ask a wizzard for more information or use another + fontsize.\MessageBreak + You cannot continue!} + \batchmode \csname @@end\endcsname \end +} +\KOMA@key{fontsize}{% + \begingroup + \setlength{\@tempdima}{#1} + \addtolength{\@tempdima}{-10\p@} + \ifnum \@tempdima=\@ptsize + \else + \ClassError{% + scrlttr2% + }{option `fontsize' not allowed\MessageBreak + after loading sizeX.clo file}{% + Maybe you've used option `fontsize' at + \string\KOMAoptions.\MessageBreak + You should set this option at \string\documentclass.} + \fi + \endgroup + } +\newcommand*{\scr@file@date@version}{} +\def\scr@file@date@version#1/#2/#3 #4 #5\@nil{#1/#2/#3 #4} +\RequirePackage{typearea}[\expandafter\expandafter\expandafter% + \scr@file@date@version\csname ver@% + scrlttr2% + .cls\endcsname\@nil] +\if@twoside + \addtolength{\oddsidemargin}{\evensidemargin} + \addtolength{\oddsidemargin}{-\ta@bcor} + \setlength{\evensidemargin}{.5\oddsidemargin} + \setlength{\oddsidemargin}{\evensidemargin} + \addtolength{\oddsidemargin}{\ta@bcor} +\fi +\KOMA@key{BCOR}{\typearea[{#1}]{last}} +\KOMA@key{DIV}{\typearea[current]{#1}} +\KOMA@key{headlines}{% + \def\ta@hh{#1\baselineskip}% + \typearea[current]{last}} +\KOMA@key{paper}{% + \begingroup + \edef\@tempc{\noexpand\@tempswatrue% + \noexpand\ifdim\paperwidth=\the\paperwidth\noexpand\else% + \noexpand\@tempswafalse\noexpand\fi% + \noexpand\ifdim\paperheight=\the\paperheight\noexpand\else% + \noexpand\@tempswafalse\noexpand\fi% + } + \edef\@tempa{#1}% + \def\@tempb{letter}\ifx\@tempa\@tempb% + \setlength{\paperheight}{11in}\setlength{\paperwidth}{8.5in}% + \else\def\@tempb{legal}\ifx\@tempa\@tempb% + \setlength{\paperheight}{14in}\setlength{\paperwidth}{8.5in}% + \else\def\@tempb{executive}\ifx\@tempa\@tempb% + \setlength{\paperheight}{10.5in}\setlength{\paperwidth}{7.25in}% + \else% + \def\ta@opt@err{% + \ClassError{% + scrlttr2% + }{papersize `#1' undefined}{% + You've told me to set KOMA option `paper' to value + `#1',\MessageBreak + but the value `#1' is not allowed to this + option.\MessageBreak + See the KOMA-Script manual for informations about known + papersizes.}% + } + \let\@headlines\ta@opt@err% + \x@@paper #1paperpaper\x@@paper% + \fi\fi\fi + \@tempc% + \if@tempswa% + \ClassInfo{% + scrlttr2% + }{% + change to already set paper size ignored% + } + \let\@tempc\endgroup% + \else% + \ClassWarning{% + scrlttr2% + }{% + you're changing paper size after loading package\MessageBreak + `typearea'. This may be dangerous.\MessageBreak + You should set paper size only at \string\documentclass\space + not\MessageBreak + with \string\KOMAoptions% + } + \edef\@tempc{\endgroup% + \setlength{\paperwidth}{\the\paperwidth}% + \setlength{\paperheight}{\the\paperheight}% + \noexpand\typearea[current]{last}} + \fi + \@tempc% + } +\setlength{\lineskip}{\p@} +\setlength{\normallineskip}{\p@} +\g@addto@macro{\@listi}{\@list@extra} +\let\@listI=\@listi +\g@addto@macro{\@listii}{\@list@extra} +\g@addto@macro{\@listiii}{\@list@extra} +\newcommand*{\add@extra@listi}[1]{% + \expandafter\let\csname #1@listi\endcsname=\@listi + \def\@listi{\csname #1@listi\endcsname\@list@extra}% +} +\g@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}} +\g@addto@macro{\small}{\protect\add@extra@listi{sml}} +\newcommand*{\@list@extra}{} +\renewcommand*{% + \@parskip@indent}{% + \if@parskip + \setlength{\parindent}{\z@}% + \scr@parskip + \scr@parfillskip + \renewcommand*{\@list@extra}{% + \topsep\z@ \parsep\parskip \itemsep\z@}% + \else + \setlength{\parindent}{1em}% + \setlength{\parskip}{\z@ \@plus \p@}% + \setlength{\parfillskip}{\z@ \@plus 1fil}% + \renewcommand*{\@list@extra}{}% + \fi +}% +\@parskip@indent +\AtBeginDocument{% + \if@parskip\ifdim\parfillskip=\z@ \scr@parfillskip\fi\fi +} +\@lowpenalty = 51 +\@medpenalty =151 +\@highpenalty =301 +\newcommand*{\@firsthead}{\noindent% + \parbox[b]{\useplength{firstheadwidth}} + {\centering\usekomafont{fromaddress}{% + \ifkomavarempty{fromname}{}{% + {\usekomafont{fromname}% + {\ignorespaces\usekomavar{fromname}}}\\[-8pt] + \rule{\useplength{firstheadwidth}}{.4pt}\\ + }% + \ifkomavarempty{fromaddress}{}{% + \ignorespaces\usekomavar{fromaddress}% + }% + }% + }% + } +\newcommand*{\@gen@firsthead}{% + \ifcase\@alignfrom + \renewcommand*{\@firsthead}{\noindent + \parbox[b]{\textwidth}{\raggedright + {\usekomafont{fromname}\strut\ignorespaces + \usekomavar{fromname}% + {% + \ifnum\@rulefrom=1\\[-.5\baselineskip]% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \if@logo + \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% + \addtolength{\@tempdima}{-\@tempdimb}% + \fi + \fi + \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \fi + }% + \\}% + {\usekomafont{fromaddress}\strut\ignorespaces + \usekomavar{fromaddress}% + \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% + \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% + \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% + \ifnum\@rulefrom=2\\[-.5\baselineskip]% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \fi + \\ + }% + }% + \if@logo + \llap{\usekomavar{fromlogo}}% + \fi + }% + \or + \renewcommand*{\@firsthead}{\noindent + \parbox[b]{\textwidth}{\centering + {\usekomafont{fromname}\strut\ignorespaces + \usekomavar{fromname}% + {% + \ifnum\@rulefrom=1\\[-.5\baselineskip]% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \fi + }% + \\ + }% + {\usekomafont{fromaddress}\strut\ignorespaces + \usekomavar{fromaddress}% + \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% + \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% + \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% + \ifnum\@rulefrom=2\\[-.5\baselineskip]% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \fi + \\ + }% + }% + }% + \or + \renewcommand*{\@firsthead}{\noindent + \if@logo + \rlap{\usekomavar{fromlogo}}% + \fi + \parbox[b]{\textwidth}{\raggedleft + {\usekomafont{fromname}\strut\ignorespaces + \usekomavar{fromname}% + {% + \ifnum\@rulefrom=1\\[-.5\baselineskip]% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \if@logo + \settowidth{\@tempdimb}{\usekomavar{fromlogo}}% + \addtolength{\@tempdima}{-\@tempdimb}% + \fi + \fi + \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \fi + }% + \\ + }% + {\usekomafont{fromaddress}\strut\ignorespaces + \usekomavar{fromaddress}% + \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% + \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% + \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% + \ifnum\@rulefrom=2\\[-.5\baselineskip]% + \setlength{\@tempdima}{\useplength{fromrulewidth}}% + \ifdim\@tempdima=\z@ + \setlength{\@tempdima}{\textwidth}% + \fi + \expandafter\rule\expandafter{\the\@tempdima}{.4pt}% + \fi + \\ + }% + }% + }% + \fi + } +\newcommand*{\@firstfoot}{} +\newcommand*{\@nexthead}{% + \rlap{\parbox[c]{\textwidth}{\raggedright\strut + \ifnum\@pageat=0\pagemark\else\leftmark\fi\strut}}% + \parbox[c]{\textwidth}{% + \centering\strut + \ifcase\@pageat + \rightmark + \or + \pagemark + \or + \rightmark + \fi\strut}% + \llap{\parbox[c]{\textwidth}{\raggedleft\strut + \ifcase\@pageat + \leftmark + \or + \rightmark + \or + \pagemark + \else + \rightmark + \fi\strut}}% + }% +\newcommand*{\@nextfoot}{% + \ifnum\@pageat>2 + \parbox[c]{\textwidth}{% + \ifcase\@pageat\or\or\or\raggedright\or\centering\or\raggedleft\fi + \strut\pagemark% + }% + \fi +} +\newcommand*{\pagemark}{{\usekomafont{pagenumber}\pagename\ \thepage}} +\renewcommand*{\ps@plain}{% + \renewcommand*{\@evenhead}{% + \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\@oddhead\@evenhead% + \renewcommand*{\@evenfoot}{% + \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\@oddfoot\@evenfoot + } +\newcommand*{\ps@headings}{% + \let\@mkboth=\markboth + \renewcommand*{\@evenhead}{% + \vbox{% + \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\@nexthead}}% + \if@hsl\kern1pt\rule{\textwidth}{.4pt}\fi% + }% + }% + \let\@oddhead\@evenhead% + \renewcommand*{\@evenfoot}{% + \parbox[t]{\textwidth}{% + \if@fsl + {% + \raggedright% + \vskip-\baselineskip\vskip.4pt + \hrulefill\\ + }% + \fi + \vbox{\hsize=\textwidth\hbox to\textwidth{\headfont\@nextfoot}}% + }% + }% + \let\@oddfoot\@evenfoot + } +\newcommand*{\ps@myheadings}{% + \ps@headings\let\@mkboth=\@gobbletwo + } +\let\@mkboth=\@gobbletwo +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\setlength{\skip\@mpfootins}{\skip\footins} +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +\renewcommand*\theequation{% + \@arabic\c@equation} +\if@twocolumn + \setlength{\leftmargini}{2em} +\else + \setlength{\leftmargini}{2.5em} +\fi +\setlength{\leftmarginii}{2.2em} +\setlength{\leftmarginiii}{1.87em} +\setlength{\leftmarginiv}{1.7em} +\if@twocolumn + \setlength{\leftmarginv}{.5em} + \setlength{\leftmarginvi}{.5em} +\else + \setlength{\leftmarginv}{1em} + \setlength{\leftmarginvi}{1em} +\fi +\setlength{\leftmargin}{\leftmargini} +\setlength{\labelsep}{.5em} +\setlength{\labelwidth}{\leftmargini} +\addtolength{\labelwidth}{-\labelsep} +\@beginparpenalty=-\@lowpenalty +\@endparpenalty =-\@lowpenalty +\@itempenalty =-\@lowpenalty +\renewcommand*\theenumi{\@arabic\c@enumi} +\renewcommand*\theenumii{\@alph\c@enumii} +\renewcommand*\theenumiii{\@roman\c@enumiii} +\renewcommand*\theenumiv{\@Alph\c@enumiv} +\newcommand*\labelenumi{\theenumi.} +\newcommand*\labelenumii{\theenumii)} +\newcommand*\labelenumiii{\theenumiii.} +\newcommand*\labelenumiv{\theenumiv.} +\renewcommand*\p@enumii{\theenumi} +\renewcommand*\p@enumiii{\p@enumii(\theenumii)} +\renewcommand*\p@enumiv{\p@enumiii\theenumiii} +\newcommand*\labelitemi{\textbullet} +\newcommand*\labelitemii{\normalfont\bfseries\textendash} +\newcommand*\labelitemiii{\textasteriskcentered} +\newcommand*\labelitemiv{\textperiodcentered} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*{\descriptionlabel}[1]{\hspace\labelsep + \descfont #1} +\newenvironment{labeling}[2][] + {\def\sc@septext{#1} + \list{}{\settowidth{\labelwidth}{#2#1} + \leftmargin\labelwidth \advance\leftmargin by \labelsep + \let\makelabel\labelinglabel}} + {\endlist} +\newcommand\labelinglabel[1]{#1\hfil\sc@septext} +\newenvironment{verse} + {\let\\=\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item\relax} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent 1em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item\relax} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item\relax} + {\endlist} +\newenvironment{addmargin}{% + \@tempswafalse\@addmargin + }{\endlist} +\newenvironment{addmargin*}{% + \@tempswafalse + \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \@addmargin + }{\endlist} +\newcommand*{\@addmargin}[2][\@tempa]{% + \@tempcnta=\@listdepth + \list{}{% + \if@tempswa + \def\@tempa{\leftmargin}% + \setlength{\leftmargin}{#2}% + \setlength{\rightmargin}{#1}% + \else + \def\@tempa{\rightmargin}% + \setlength{\rightmargin}{#2}% + \setlength{\leftmargin}{#1}% + \fi + \setlength{\listparindent}{\parindent}% + \setlength{\itemsep}{\parskip}% + \setlength{\itemindent}{\z@}% + \setlength{\topsep}{\z@}% + \setlength{\parsep}{\parskip}% + \setlength{\partopsep}{\parskip}% + \let\makelabel\@gobble + \setlength{\labelwidth}{\z@} + \@listdepth=\@tempcnta% + }% + \item[]% + } +\newcommand\marginline[1]{\marginpar[\raggedleft{#1}]{\raggedright #1}} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb} +\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} +\newcommand*\descfont{\sffamily\bfseries} +\newcommand*\sectfont{\normalcolor\sffamily\bfseries} +\newcommand*\pnumfont{\normalfont\normalcolor} +\newcommand*\headfont{\normalfont\normalcolor\slshape} +\newcommand*\titlefont{\sectfont} +\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries} +\newcommand*{\baddr@font}{\sffamily} +\newcommand*{\setkomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrlttr2% + }{font of element `#1' can't be set}{% + You've told me to redefine the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassError{% + scrlttr2% + }{font of element `#1' can't be set}{% + You've told me to redefine the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be changed with element `\csname + scr@fnt@instead@#1\endcsname'} + }% + }{% + \expandafter\expandafter\expandafter\renewcommand% + \csname scr@fnt@#1\endcsname{#2}% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \ClassWarning{% + scrlttr2% + }{\csname scr@fnt@wrn@#1\endcsname{#1}} + } + } +} +\newcommand{\l@addto@macro}[2]{% + \begingroup% + \toks@\expandafter{#1#2}% + \edef\@tempa{\endgroup\def\noexpand#1{\the\toks@}}% + \@tempa} +\newcommand*{\addtokomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrlttr2% + }{font of element `#1' can't be extended}{% + You've told me to extend the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassError{% + scrlttr2% + }{font of element `#1' can't be extended}{% + You've told me to extend the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be changed with element `\csname + scr@fnt@instead@#1\endcsname'} + }% + }{% + \expandafter\expandafter\expandafter\l@addto@macro% + \csname scr@fnt@#1\endcsname{#2}% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \ClassWarning{% + scrlttr2% + }{\csname scr@fnt@wrn@#1\endcsname{#1}} + } + } +} +\newcommand*{\usekomafont}[1]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrlttr2% + }{font of element `#1' can't be used}{% + You've told me to use the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassWarning{% + scrlttr2% + }{% + You've told me to use the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be selected with element `\csname + scr@fnt@instead@#1\endcsname'.\MessageBreak + I fix this using font of `\csname + scr@fnt@instead@#1\endcsname'}% + }% + \@nameuse{scr@fnt@instead@#1}% + }{% + \@nameuse{scr@fnt@#1}% + }% + } +\newcommand*{\scr@fnt@descriptionlabel}{\descfont} +\newcommand*{\scr@fnt@title}{\titlefont} +\newcommand*{\scr@fnt@sectioning}{\sectfont} +\newcommand*{\scr@fnt@pagenumber}{\pnumfont} +\let\scr@fnt@pagination=\scr@fnt@pagenumber +\newcommand*{\scr@fnt@pagehead}{\headfont} +\newcommand*{\scr@fnt@wrn@pagehead}[1]{% + font selection of elements `pagehead' and `pagefoot'\MessageBreak + changed, because you wanted to change font selection\MessageBreak + of element `#1'% +} +\let\scr@fnt@pagefoot=\scr@fnt@pagehead +\let\scr@fnt@wrn@pagefoot=\scr@fnt@wrn@pagehead +\newcommand*{\scr@fnt@subject}{\subject@font} +\newcommand*{\scr@fnt@backaddress}{\baddr@font} +\newcommand*{\scr@fnt@fromaddress}{\faddr@font} +\newcommand*{\scr@fnt@fromname}{\fname@font} +\renewcommand*\footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.0005fil\fi + \hrule\@width.4\columnwidth + \kern 2.6\p@} +\@addtoreset{footnote}{chapter} +\newcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \setlength{\@tempdimc}{#3}% + \def\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2} + \parshape \@ne #2 \@tempdima}% + \else + \addtolength{\@tempdimc}{#2}% + \addtolength{\@tempdimc}{-#1}% + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1} + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2} + \parshape \tw@ #1 \@tempdima #2 \@tempdimb}% + \fi + \par + \parindent\@tempdimc\noindent + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1} + \def\@@makefnmark{\hbox{\ftnm@font{#4}}} +} +\newcommand*{\ftn@font}{\normalfont} +\newcommand*{\scr@fnt@footnote}{\ftn@font} +\newcommand*{\ftnm@font}{} +\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font} +\newcommand*{\scr@fnt@footnotelabel}{\ftnm@font} +\newcommand*{\scr@fnt@instead@footnotetext}{footnote} +\newcommand*\deffootnotemark[1]{\def\@makefnmark{\hbox{\ftntm@font{#1}}}} +\newcommand*{\ftntm@font}{} +\newcommand*{\scr@fnt@footnotereference}{\ftntm@font} +\newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\newcommand*{\thefootnotemark}{\@thefnmark} +\deffootnote[1em]{1.5em}{1em} + {\textsuperscript{\thefootnotemark}} +\deffootnotemark{\textsuperscript{\thefootnotemark}} +\DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}} +\newcommand{\@textsubscript}[1]{% + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} +\newcommand*\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\newcommand*{\providecaptionname}[3]{% + \@ifundefined{captions#1}{% + \@ifundefined{cap@info@#1@done}{% + \ClassInfo{% + scrlttr2% + }{% + No captions found for `#1'\MessageBreak + --> skipped% + }% + \expandafter\let\csname cap@info@#1@done\endcsname\@empty}{}% + }{% + \begingroup% + \let\@tempa\endgroup% + \csname captions#1\endcsname% + \ifx #2\undefined% + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \csname captions#1\endcsname + }% + \else + \def\@tempa{\endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + }% + \fi + \else + \ClassInfo{% + scrlttr2% + }{% + `\string#2' at language `#1' already + defined\MessageBreak + --> skipped% + }% + \fi + \@tempa + }% +} +\newcommand*{\newcaptionname}[3]{% + \@ifundefined{captions#1}{% + \ClassInfo{% + scrlttr2% + }{% + No captions found for `#1' --> defining% + }% + \@namedef{captions#1}{}% + }{}% + \begingroup% + \csname captions#1\endcsname% + \ifx #2\undefined\else% + \ClassError{% + scrlttr2% + }{% + `\string#2' at language `#1' already defined% + }{% + You've told me to define `\string#2' at language + `#1',\MessageBreak + but it is already defined.\MessageBreak + It will be redefined, if you'll continue.% + } + \fi + \endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \begingroup + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newcommand*{\renewcaptionname}[3]{% + \@ifundefined{captions#1}{% + \ClassError{% + scrlttr2% + }{% + No captions found for `#1'% + }{% + You've told me to redefine the caption `\string#2' at language + `#1',\MessageBreak + but `\expandafter\string\csname captions#1\endcsname' is not + defined.\MessageBreak + If you'll continue it will be defined.% + } + \@namedef{captions#1}{}% + }{}% + \begingroup% + \csname captions#1\endcsname% + \ifx #2\undefined% + \ClassError{% + scrlttr2% + }{% + `\string#2' not defined at language `#1'% + }{% + You've told me to redefine `\string#2' at language + `#1',\MessageBreak + but it is not defined.\MessageBreak + If you'll continue it will be defined.% + } + \fi + \endgroup + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \begingroup + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newcommand*{\g@addnumerical@date}[2]{% + \@ifundefined{date#1}{% + \ClassInfo{% + scrlttr2% + }{% + no date found for language `#1'\MessageBreak + --> skipped% + } + }{% + \expandafter\g@addto@macro\csname date#1\endcsname{% + \let\sym@date=\today% + \def\num@date{#2}% + \def\today{\if@orgdate\sym@date\else\num@date\fi}% + } + } + } +\AtBeginDocument{ + \@ifundefined{captionsenglish}{\let\captionsenglish\@empty}{}% + \providecaptionname{english}\yourrefname{Your ref.}% + \providecaptionname{english}\yourmailname{Your letter of}% + \providecaptionname{english}\myrefname{Our ref.}% + \providecaptionname{english}\customername{Customer no.}% + \providecaptionname{english}\invoicename{Invoice no.}% + \providecaptionname{english}\subjectname{Subject}% + \providecaptionname{english}\ccname{cc}% + \providecaptionname{english}\enclname{encl}% + \providecaptionname{english}\headtoname{To}% + \providecaptionname{english}\headfromname{From}% + \providecaptionname{english}\datename{Date}% + \providecaptionname{english}\pagename{Page}% + \providecaptionname{english}\phonename{Phone}% + \providecaptionname{english}\faxname{Fax}% + \providecaptionname{english}\emailname{Email}% + \providecaptionname{english}\wwwname{Url}% + \providecaptionname{english}\bankname{Bank account}% + \providecaptionname{USenglish}\yourrefname{Your ref.}% + \providecaptionname{USenglish}\yourmailname{Your letter of}% + \providecaptionname{USenglish}\myrefname{Our ref.}% + \providecaptionname{USenglish}\customername{Customer no.}% + \providecaptionname{USenglish}\invoicename{Invoice no.}% + \providecaptionname{USenglish}\subjectname{Subject}% + \providecaptionname{USenglish}\ccname{cc}% + \providecaptionname{USenglish}\enclname{encl}% + \providecaptionname{USenglish}\headtoname{To}% + \providecaptionname{USenglish}\headfromname{From}% + \providecaptionname{USenglish}\datename{Date}% + \providecaptionname{USenglish}\pagename{Page}% + \providecaptionname{USenglish}\phonename{Phone}% + \providecaptionname{USenglish}\faxname{Fax}% + \providecaptionname{USenglish}\emailname{Email}% + \providecaptionname{USenglish}\wwwname{Url}% + \providecaptionname{USenglish}\bankname{Bank account}% + \providecaptionname{american}\yourrefname{Your ref.}% + \providecaptionname{american}\yourmailname{Your letter of}% + \providecaptionname{american}\myrefname{Our ref.}% + \providecaptionname{american}\customername{Customer no.}% + \providecaptionname{american}\invoicename{Invoice no.}% + \providecaptionname{american}\subjectname{Subject}% + \providecaptionname{american}\ccname{cc}% + \providecaptionname{american}\enclname{encl}% + \providecaptionname{american}\headtoname{To}% + \providecaptionname{american}\headfromname{From}% + \providecaptionname{american}\datename{Date}% + \providecaptionname{american}\pagename{Page}% + \providecaptionname{american}\phonename{Phone}% + \providecaptionname{american}\faxname{Fax}% + \providecaptionname{american}\emailname{Email}% + \providecaptionname{american}\wwwname{Url}% + \providecaptionname{american}\bankname{Bank account}% + \providecaptionname{british}\yourrefname{Your ref.}% + \providecaptionname{british}\yourmailname{Your letter of}% + \providecaptionname{british}\myrefname{Our ref.}% + \providecaptionname{british}\customername{Customer no.}% + \providecaptionname{british}\invoicename{Invoice no.}% + \providecaptionname{british}\subjectname{Subject}% + \providecaptionname{british}\ccname{cc}% + \providecaptionname{british}\enclname{encl}% + \providecaptionname{british}\headtoname{To}% + \providecaptionname{british}\headfromname{From}% + \providecaptionname{british}\datename{Date}% + \providecaptionname{british}\pagename{Page}% + \providecaptionname{british}\phonename{Phone}% + \providecaptionname{british}\faxname{Fax}% + \providecaptionname{british}\emailname{Email}% + \providecaptionname{british}\wwwname{Url}% + \providecaptionname{british}\bankname{Bank account}% + \providecaptionname{UKenglish}\yourrefname{Your ref.}% + \providecaptionname{UKenglish}\yourmailname{Your letter of}% + \providecaptionname{UKenglish}\myrefname{Our ref.}% + \providecaptionname{UKenglish}\customername{Customer no.}% + \providecaptionname{UKenglish}\invoicename{Invoice no.}% + \providecaptionname{UKenglish}\subjectname{Subject}% + \providecaptionname{UKenglish}\ccname{cc}% + \providecaptionname{UKenglish}\enclname{encl}% + \providecaptionname{UKenglish}\headtoname{To}% + \providecaptionname{UKenglish}\headfromname{From}% + \providecaptionname{UKenglish}\datename{Date}% + \providecaptionname{UKenglish}\pagename{Page}% + \providecaptionname{UKenglish}\phonename{Phone}% + \providecaptionname{UKenglish}\faxname{Fax}% + \providecaptionname{UKenglish}\emailname{Email}% + \providecaptionname{UKenglish}\wwwname{Url}% + \providecaptionname{UKenglish}\bankname{Bank account}% + \providecaptionname{german}\yourrefname{Ihr Zeichen}% + \providecaptionname{german}\yourmailname{Ihr Schreiben vom}% + \providecaptionname{german}\myrefname{Unser Zeichen}% + \providecaptionname{german}\customername{Kundennummer}% + \providecaptionname{german}\invoicename{Rechnungsnummer}% + \providecaptionname{german}\subjectname{Betrifft}% + \providecaptionname{german}\ccname{Kopien an}% + \providecaptionname{german}\enclname{Anlagen}% + \providecaptionname{german}\headtoname{An}% + \providecaptionname{german}\headfromname{Von}% + \providecaptionname{german}\datename{Datum}% + \providecaptionname{german}\pagename{Seite}% + \providecaptionname{german}\phonename{Telephon}% + \providecaptionname{german}\faxname{Fax}% + \providecaptionname{german}\emailname{E-Mail}% + \providecaptionname{german}\wwwname{URL}% + \providecaptionname{german}\bankname{Bankverbindung}% + \providecaptionname{ngerman}\yourrefname{Ihr Zeichen}% + \providecaptionname{ngerman}\yourmailname{Ihr Schreiben vom}% + \providecaptionname{ngerman}\myrefname{Unser Zeichen}% + \providecaptionname{ngerman}\customername{Kundennummer}% + \providecaptionname{ngerman}\invoicename{Rechnungsnummer}% + \providecaptionname{ngerman}\subjectname{Betrifft}% + \providecaptionname{ngerman}\ccname{Kopien an}% + \providecaptionname{ngerman}\enclname{Anlagen}% + \providecaptionname{ngerman}\headtoname{An}% + \providecaptionname{ngerman}\headfromname{Von}% + \providecaptionname{ngerman}\datename{Datum}% + \providecaptionname{ngerman}\pagename{Seite}% + \providecaptionname{ngerman}\phonename{Telefon}% + \providecaptionname{ngerman}\faxname{Fax}% + \providecaptionname{ngerman}\emailname{E-Mail}% + \providecaptionname{ngerman}\wwwname{URL}% + \providecaptionname{ngerman}\bankname{Bankverbindung}% + \providecaptionname{austrian}\yourrefname{Ihr Zeichen}% + \providecaptionname{austrian}\yourmailname{Ihr Schreiben vom}% + \providecaptionname{austrian}\myrefname{Unser Zeichen}% + \providecaptionname{austrian}\customername{Kundennummer}% + \providecaptionname{austrian}\invoicename{Rechnungsnummer}% + \providecaptionname{austrian}\subjectname{Betrifft}% + \providecaptionname{austrian}\ccname{Kopien an}% + \providecaptionname{austrian}\enclname{Anlagen}% + \providecaptionname{austrian}\headtoname{An}% + \providecaptionname{austrian}\headfromname{Von}% + \providecaptionname{austrian}\datename{Datum}% + \providecaptionname{austrian}\pagename{Seite}% + \providecaptionname{austrian}\phonename{Telefon}% + \providecaptionname{austrian}\faxname{Fax}% + \providecaptionname{austrian}\emailname{E-Mail}% + \providecaptionname{austrian}\wwwname{URL}% + \providecaptionname{austrian}\bankname{Bankverbindung}% + \providecaptionname{french}\yourrefname{Vos r\'ef\'erences}% + \providecaptionname{french}\yourmailname{Votre lettre du}% + \providecaptionname{french}\myrefname{Nos r\'ef\'erences}% + \providecaptionname{french}\customername{Num\'ero de client}% + \providecaptionname{french}\invoicename{Num\'ero de facture}% + \providecaptionname{french}\subjectname{Concernant}% + \providecaptionname{french}\ccname{Copie \`a}% + \providecaptionname{french}\enclname{Annexes}% + \providecaptionname{french}\headtoname{A}% + \providecaptionname{french}\headfromname{De}% + \providecaptionname{french}\datename{Date}% + \providecaptionname{french}\pagename{Page}% + \providecaptionname{french}\phonename{T\'el\'ephone}% + \providecaptionname{french}\faxname{T\'el\'efax}% + \providecaptionname{french}\emailname{E-mail}% + \providecaptionname{french}\wwwname{URL}% + \providecaptionname{french}\bankname{Compte en banque}% + \providecaptionname{italian}\yourrefname{Vs./Rif.}% + \providecaptionname{italian}\yourmailname{Vs.~lettera del}% + \providecaptionname{italian}\myrefname{Ns./Rif.}% + \providecaptionname{italian}\customername{Nr.~cliente}% + \providecaptionname{italian}\invoicename{Nr.~fattura}% + \providecaptionname{italian}\subjectname{Oggetto}% + \providecaptionname{italian}\ccname{Per conoscenza}% + \providecaptionname{italian}\enclname{Allegato}% + \providecaptionname{italian}\headtoname{A}% + \providecaptionname{italian}\headfromname{}% TODO: translate it + \providecaptionname{italian}\datename{Data}% + \providecaptionname{italian}\pagename{Pagina}% + \providecaptionname{italian}\phonename{}% TODO: translate it + \providecaptionname{italian}\faxname{}% TODO: translate it + \providecaptionname{italian}\emailname{}% TODO: translate it + \providecaptionname{italian}\wwwname{}% TODO: translate it + \providecaptionname{italian}\bankname{}% TODO: translate it + \providecaptionname{spanish}\yourrefname{Su ref.}% + \providecaptionname{spanish}\yourmailname{Su carta de}% + \providecaptionname{spanish}\myrefname{Nuestra ref.}% + \providecaptionname{spanish}\customername{No. de cliente}% + \providecaptionname{spanish}\invoicename{No. de factura}% + \providecaptionname{spanish}\subjectname{Asunto}% + \providecaptionname{spanish}\ccname{Copias}% + \providecaptionname{spanish}\enclname{Adjunto}% + \providecaptionname{spanish}\headtoname{A}% + \providecaptionname{spanish}\headfromname{De}% + \providecaptionname{spanish}\datename{Fecha}% + \providecaptionname{spanish}\pagename{P\'agina}% + \providecaptionname{spanish}\phonename{Tel\'efono}% + \providecaptionname{spanish}\faxname{Fax}% + \providecaptionname{spanish}\emailname{Email}% or Correo electr\'onico + \providecaptionname{spanish}\wwwname{URL}% or P\`agina web + \providecaptionname{spanish}\bankname{Cuenta bancaria}% + \providecaptionname{croatian}\yourrefname{Va\v{s} znak}% + \providecaptionname{croatian}\yourmailname{Va\v{s}e pismo od}% + \providecaptionname{croatian}\myrefname{Na\v{s} znak}% + \providecaptionname{croatian}\customername{Broj kupca}% + \providecaptionname{croatian}\invoicename{Broj fakture}% + \providecaptionname{croatian}\subjectname{Predmet}% + \providecaptionname{croatian}\ccname{Kopija}% + \providecaptionname{croatian}\enclname{Privitak}% + \providecaptionname{croatian}\headtoname{Prima}% + \providecaptionname{croatian}\headfromname{\v{S}alje}% + \providecaptionname{croatian}\datename{Nadnevak}% + \providecaptionname{croatian}\pagename{Stranica}% + \providecaptionname{croatian}\phonename{Telefon}% + \providecaptionname{croatian}\faxname{Fax}% + \providecaptionname{croatian}\emailname{E-Mail}% + \providecaptionname{croatian}\wwwname{URL}% + \providecaptionname{croatian}\bankname{Bankovna veza}% + \providecaptionname{dutch}\yourrefname{Uw kenmerk}% + \providecaptionname{dutch}\yourmailname{Uw brief van}% + \providecaptionname{dutch}\myrefname{Ons kenmerk}% + \providecaptionname{dutch}\customername{Klant No.}% + \providecaptionname{dutch}\invoicename{Rekening No.}% + \providecaptionname{dutch}\subjectname{Onderwerp}% + \providecaptionname{dutch}\ccname{Kopie aan}% + \providecaptionname{dutch}\enclname{Bijlage(n)}% + \providecaptionname{dutch}\headtoname{Aan}% + \providecaptionname{dutch}\headfromname{Van}% + \providecaptionname{dutch}\datename{Datum}% + \providecaptionname{dutch}\pagename{Pagina}% + \providecaptionname{dutch}\phonename{Telefoon}% + \providecaptionname{dutch}\faxname{Fax}% + \providecaptionname{dutch}\emailname{E--mail}% + \providecaptionname{dutch}\urlname{URL}% + \providecaptionname{dutch}\bankname{Bankrekening}% + \g@addnumerical@date{english}{% + \number\day/\number\month/\number\year} + \g@addnumerical@date{british}{% + \number\day/\number\month/\number\year} + \g@addnumerical@date{UKenglish}{% + \number\day/\number\month/\number\year} + \g@addnumerical@date{USenglish}{% + \number\month/\number\day/\number\year} + \g@addnumerical@date{american}{% + \number\month/\number\day/\number\year} + \g@addnumerical@date{german}{% + \number\day.\,\number\month.\,\number\year} + \g@addnumerical@date{ngerman}{% + \number\day.\,\number\month.\,\number\year} + \g@addnumerical@date{austrian}{% + \number\day.\,\number\month.\,\number\year} + \g@addnumerical@date{french}{% + \number\day.\,\number\month.\,\number\year} + \g@addnumerical@date{italian}{% + \number\day.\,\number\month.\,\number\year} + \g@addnumerical@date{spanish}{% + \number\day.\,\number\month.\,\number\year} + \g@addnumerical@date{croatian}{% + \number\day.\,\number\month.\,\number\year.} + \g@addnumerical@date{dutch}{% + \number\day.\,\number\month.\,\number\year} + \captionsenglish + \dateenglish + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname date\languagename\endcsname\relax + \ClassWarningNoLine{% + scrlttr2% + }{% + \string\language\space is \the\language, \string\languagename\space is + `\languagename'\MessageBreak + but \expandafter\string\csname + date\languagename\endcsname\space not defined!\MessageBreak + This seems to be a bug at you're `hyphen.cfg'.\MessageBreak + I'l undefine \string\languagename\space to avoid errors% + }% + \let\languagename=\undefined + \fi + \ifx\languagename\undefined + \ClassWarningNoLine{scrlttr2}{\string\languagename\space not + defined, using \string\language.\MessageBreak + This may result in use of wrong language!\MessageBreak + You should use a compatible language + package\MessageBreak + (e.g. `Babel', `german', `ngerman', ...)} + \ifx\l@american\undefined\else\ifnum\language=\l@american + \captionsamerican + \dateamerican + \fi\fi + \ifx\l@british\undefined\else\ifnum\language=\l@british + \captionsbritish + \datebritish + \fi\fi + \ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish + \captionsUKenglish + \dateUKenglish + \fi\fi + \ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish + \captionsUSenglish + \dateUSenglish + \fi\fi + \ifx\l@austrian\undefined\else\ifnum\language=\l@austrian + \captionsaustrian + \dateaustrian + \fi\fi + \ifx\l@german\undefined\else\ifnum\language=\l@german + \captionsgerman + \dategerman + \fi\fi + \ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman + \captionsngerman + \datengerman + \fi\fi + \ifx\l@french\undefined\else\ifnum\language=\l@french + \captionsfrench + \datefrench + \fi\fi + \ifx\l@italian\undefined\else\ifnum\language=\l@italian + \captionsitalian + \dateitalian + \fi\fi + \ifx\l@spanish\undefined\else\ifnum\language=\l@spanish + \captionsspanish + \datespanish + \fi\fi + \ifx\l@croatian\undefined\else\ifnum\language=\l@croatian + \captionscroatian + \datecroatian + \fi\fi + \ifx\l@dutch\undefined\else\ifnum\language=\l@dutch + \captionsdutch + \datedutch + \fi\fi + \else + \edef\@tempa{nohyphenation} + \ifx\languagename\@tempa + \ClassWarningNoLine{% + scrlttr2% + }{% + You've selected language `\languagename'.\MessageBreak + Maybe your LaTeX format contains Babel extension\MessageBreak + but you have not selected a language using\MessageBreak + Babel package.\MessageBreak + Please select another language!\MessageBreak + Only as a workaround english captions and date\MessageBreak + will be used% + }% + \else + \expandafter\selectlanguage\expandafter{\languagename} + \ClassInfo{% + scrlttr2% + }{% + used language is `\languagename'.\MessageBreak + Supported languages are `english', `UKenglish',\MessageBreak + `british', `american', `USenglish',\MessageBreak + `german', `ngerman', `austrian',\MessageBreak + `dutch', `italian', `spanish', `croatian'% + } + \fi + \fi + } +\newenvironment{letter}[2][]{% + \newpage + \if@twoside\ifodd\c@page\else + \thispagestyle{empty}\null\newpage\fi\fi + \setcounter{page}{\@ne}% + \setcounter{footnote}{0}% + \interlinepenalty=200\@processto{#2}% + \KOMAoptions{#1}% + \@beginletterhook + }{% + \stopletter\@@par\pagebreak\@@par% + } +\newcommand*{\stopletter}{} +\newcommand{\@processto}[1]{% + \ifx\relax#1\relax\else + \expandafter\@xproc#1\\\@nil\ifkomavarempty{toaddress}{}{% + \expandafter\@xproc#1\@nil}% + \fi +} +\newcommand*{\@xproc}{} +\long\def\@xproc#1\\#2\@nil{% + \setkomavar{toname}{#1}\setkomavar{toaddress}{#2}} +\newcommand*{\fname@font}{} +\newcommand*{\faddr@font}{} +\newcommand{\AtBeginLetter}{\g@addto@macro\@beginletterhook} +\newcommand{\@beginletterhook}{} +\newcommand*{\newkomavar}{% + \@ifstar {\@tempswatrue\@newkomavar}{\@tempswafalse\@newkomavar}} +\newcommand*{\@newkomavar}[2][\relax]{% + \@ifundefined{scr@#2@name}{% + \@ifundefined{scr@#2@var}{% + \begingroup + \def\@tempa{#1}\def\@tempb{\relax}% + \ifx\@tempa\@tempb\endgroup\else + \endgroup\@namedef{scr@#2@name}{#1}% + \fi% + \expandafter\let\csname scr@#2@var\endcsname=\@empty + \if@tempswa\addtoreffields{#2}\fi + }{% + \ClassError{% + scrlttr2% + }{% + This should never happen% + }{% + The contents of the KOMA-Script variable `#2'\MessageBreak + is undefined, but the name of the variable is + defined.\MessageBreak + This should never happen. So someone crashs me!% + } + } + }{% + \ClassError{% + scrlttr2% + }{% + Variable `#2' already defined% + }{% + I'll ignore this command, if you'll continue.% + } + } + } +\newcommand*{\setkomavar}{% + \@ifstar {\@setkomaname}{\@setkomavar}} +\newcommand*{\@setkomavar}[1]{% + \@ifnextchar [%] + {\@@setkomavar{#1}}{\@@setkomavar{#1}[\relax]}} +\newcommand*{\@setkomaname}[2]{% + \@ifundefined{scr@#1@var}{% + \@komavar@err{set}{#1}% + }{% + \@namedef{scr@#1@name}{#2}% + }% + } +\newcommand*{\@@setkomavar}{} +\long\def\@@setkomavar#1[#2]#3{% + \@ifundefined{scr@#1@var}{% + \@komavar@err{set}{#1}% + }{% + \@namedef{scr@#1@var}{#3}% + \begingroup + \def\@tempa{#2}\def\@tempb{\relax}% + \ifx\@tempa\@tempb\endgroup\else + \endgroup\@namedef{scr@#1@name}{#2}% + \fi + } + } +\newcommand*{\@komavar@err}[2]{% + \ClassError{% + scrlttr2% + }{% + KOMA-Script variable not defined% + }{% + You've tried to #1 the not defined KOMA-Script variable + `#2'.\MessageBreak + You have to define the variable using \string\newkomavar\space + before\MessageBreak + you do this.% + }% + } +\DeclareRobustCommand*{\usekomavar}{% + \@ifstar {\@usekomaname}{\@usekomavar}} +\newcommand*{\@usekomavar}[2][\@firstofone]{% + \@ifundefined{scr@#2@var}{% + \@komavar@err{use}{#2}% + }{% + #1{\@nameuse{scr@#2@var}}% + }% + } +\newcommand*{\@usekomaname}[2][\@firstofone]{% + \@ifundefined{scr@#2@var}{% + \@komavar@err{use}{#2}% + }{% + #1{\@nameuse{scr@#2@name}}% + }% + } +\DeclareRobustCommand*{\ifkomavarempty}{% + \begingroup + \@ifstar {\@tempswatrue\@ifkomavarempty}% + {\@tempswafalse\@ifkomavarempty}% + } +\newcommand{\@ifkomavarempty}[3]{% + \@ifundefined{scr@#1@var}{% + \endgroup\@komavar@err{use}{#1}% + }{% + \if@tempswa\endgroup + \@ifundefined{scr@#1@name}{#2}{% + \expandafter\ifx\csname scr@#1@name\endcsname\@empty + #2% + \else + #3% + \fi + }% + \else\endgroup + \expandafter\ifx\csname scr@#1@var\endcsname\@empty + #2% + \else + #3% + \fi + \fi + }% + } +\newkomavar{signature} +\setkomavar{signature}{\usekomavar{fromname}} +\newkomavar{place} +\newkomavar{location} +\newkomavar{backaddress} +\setkomavar{backaddress}{% + \ifkomavarempty{fromname}{}{% + \strut\ignorespaces\usekomavar{fromname}% + \ifkomavarempty{fromaddress}{}{\\}}% + \ifkomavarempty{fromaddress}{}{% + \strut\ignorespaces\usekomavar{fromaddress}}% + } +\newkomavar{specialmail} +\newkomavar{title} +\newkomavar{fromlogo} +\newkomavar[\usekomavar{place}]{placeseparator} +\setkomavar{placeseparator}{,~} +\newkomavar[\subjectname]{subjectseparator} +\setkomavar{subjectseparator}{: } +\newkomavar[\ccname]{ccseparator} +\setkomavar{ccseparator}{: } +\newkomavar[\enclname]{enclseparator} +\setkomavar{enclseparator}{: } +\newkomavar{backaddressseparator} +\setkomavar{backaddressseparator}{,~} +\newkomavar[\phonename]{phoneseparator} +\setkomavar{phoneseparator}{:~} +\newkomavar[\faxname]{faxseparator} +\setkomavar{faxseparator}{:~} +\newkomavar[\emailname]{emailseparator} +\setkomavar{emailseparator}{:~} +\newkomavar[\wwwname]{urlseparator} +\setkomavar{urlseparator}{:~} +\newkomavar[\headfromname]{fromname} +\newkomavar[\usekomavar{fromname}]{fromaddress} +\newkomavar[\headtoname]{toname} +\newkomavar[\usekomavar{toname}]{toaddress} +\newkomavar[\usekomavar*{phoneseparator}% + \usekomavar{phoneseparator}]{fromphone} +\newkomavar[\usekomavar*{faxseparator}% + \usekomavar{faxseparator}]{fromfax} +\newkomavar[\usekomavar*{emailseparator}% + \usekomavar{emailseparator}]{fromemail} +\newkomavar[\usekomavar*{urlseparator}% + \usekomavar{urlseparator}]{fromurl} +\newkomavar[\bankname]{frombank} +\newkomavar[\yourrefname]{yourref} +\newkomavar[\yourmailname]{yourmail} +\newkomavar[\myrefname]{myref} +\newkomavar[\customername]{customer} +\newkomavar[\invoicename]{invoice} +\newkomavar[\usekomavar*{subjectseparator}% + \usekomavar{subjectseparator}]{subject} +\newkomavar[\datename]{date} +\setkomavar{date}{\@date} +\newcommand{\firsthead}[1]{% + \renewcommand*{\@alignfrom}{10000}% + \renewcommand*{\@firsthead}{\noindent#1}% + } +\newcommand{\firstfoot}[1]{% + \renewcommand*{\@firstfoot}{\noindent#1}% + } +\newcommand{\nexthead}[1]{% + \renewcommand*{\@nexthead}{\noindent#1}% + } +\newcommand{\nextfoot}[1]{% + \renewcommand*{\@nextfoot}{\noindent#1}% + } +\newcommand*{\foldmarkson}{% + \@ObsoleteCommand{\foldmarkson}{foldmarks=on}} +\newcommand*{\foldmarksoff}{% + \@ObsoleteCommand{\foldmarksoff}{foldmarks=off}} +\newcommand*{\addrfieldon}{% + \@ObsoleteCommand{\addrfieldon}{addrfield=on}} +\newcommand*{\addrfieldoff}{% + \@ObsoleteCommand{\addrfieldoff}{addrfield=off}} +\newcommand*{\subjecton}{% + \@ObsoleteCommand{\subjecton}{subject=titled}} +\newcommand*{\subjectoff}{% + \@ObsoleteCommand{\subjectoff}{subject=untitled}} +\newcommand*{\subjectafteron}{% + \@ObsoleteCommand{\subjectafteron}{subject=afteropening}} +\newcommand*{\subjectafteroff}{% + \@ObsoleteCommand{\subjectafteroff}{subject=beforeopening}} +\newcommand*{\@newplength}[1]{% + \@ifundefined{ltr@len@#1}{% + \expandafter\let\csname ltr@len@#1\endcsname=\z@% + }{% + \ClassError{scrlttr2}{% + pseudo-length \expandafter\string\csname ltr@len@#1\endcsname + already defined% + }{% + You tried to define a new pseudo-length using + \string\@newplength\MessageBreak + which is already defined. Try another name or + better\MessageBreak + Don't use this KOMA-Script internal macro} + } + } +\newcommand*{\useplength}[1]{% + \expandafter\number\expandafter\csname ltr@len@#1\endcsname} +\newcommand*{\setlengthtoplength}[3][]{% + \setlength{#2}{\useplength{#3}}% + \setlength{#2}{#1#2}} +\newcommand*{\@setplength}[3][]{% + \begingroup% + \setlength{\@tempskipa}{#3}% + \setlength{\@tempskipa}{#1\@tempskipa}% + \edef\@tempa{\noexpand\endgroup% + \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% + \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}% + }% + \@tempa% + } +\newcommand*{\addtolengthplength}[3][]{% + \begingroup% + \setlengthtoplength[{#1}]{\@tempskipa}{#3}% + \edef\@tempa{\endgroup% + \noexpand\addtolength{#2}{\the\@tempskipa}}% + \@tempa% + } +\newcommand*{\@addtoplength}[3][]{% + \begingroup% + \setlength{\@tempskipa}{#3}% + \setlength{\@tempskipa}{#1\@tempskipa}% + \addtolengthplength{\@tempskipa}{#2}% + \edef\@tempa{\noexpand\endgroup% + \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% + \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}% + }% + \@tempa% + } +\@newplength{foldmarkhpos} +\@newplength{tfoldmarkvpos} +\@newplength{bfoldmarkvpos} +\@newplength{toaddrvpos} +\@newplength{backaddrheight} +\@newplength{toaddrhpos} +\@newplength{specialmailindent} +\@newplength{specialmailrightindent} +\@newplength{toaddrindent} +\@newplength{toaddrwidth} +\@newplength{toaddrheight} +\@newplength{locwidth} +\@newplength{refvpos} +\@newplength{refwidth} +\@newplength{refhpos} +\@newplength{refaftervskip} +\@newplength{sigbeforevskip} +\@newplength{sigindent} +\@newplength{firstfootvpos} +\@newplength{firstfootwidth} +\@newplength{firstheadvpos} +\@newplength{firstheadwidth} +\@newplength{fromrulewidth} +\@setplength{fromrulewidth}{0pt} +\newcommand*{\LoadLetterOption}[1]{% + \@ifundefined{@restore@catcode@level} + {\let\@restore@catcode@level=\z@}{} + \ifnum\@restore@catcode@level =\z@ + \ifnum\catcode`\@=11 + \let\@restore@catcode\relax + \else + \@tempcnta=\catcode`\@ + \edef\@restore@catcode{% + \noexpand\catcode`\noexpand\@=\the\@tempcnta}% + \makeatletter + \fi + \fi + \@tempcnta=\@restore@catcode@level\relax + \advance\@tempcnta by \@ne\relax + \edef\@restore@catcode@level{\the\@tempcnta} + \InputIfFileExists{#1.lco}{% + \ClassInfo{% + scrlttr2% + }{Letter-Class-Option `#1' loaded} + }{% + \ClassError{% + scrlttr2% + }{% + Letter-Class-Option file `#1.lco' not found% + }{% + You've told me to load the Letter-Class-Option `#1'. So I have + to load\MessageBreak + the file `#1.lco'. But the file isn't available.} + } + \@tempcnta=\@restore@catcode@level\relax + \advance\@tempcnta by \m@ne\relax + \edef\@restore@catcode@level{\the\@tempcnta} + \ifnum\@tempcnta =\z@ + \@restore@catcode + \fi + } +\newcommand*{\LOPNP@option}{} +\newcommand*{\LOPNP@size}{} +\newcommand*{\@PapersizeWarning}{ + \begingroup% + \edef\@tempc{\noexpand\@tempswatrue + \noexpand\ifdim\paperwidth=\the\paperwidth\noexpand\else + \noexpand\@tempswafalse\noexpand\fi + \noexpand\ifdim\paperheight=\the\paperheight\noexpand\else + \noexpand\@tempswafalse\noexpand\fi + \noexpand\@@PapersizeWarning + } + \def\@tempb{letter}\ifx\LOPNP@size\@tempb% + \setlength{\paperheight}{11in}\setlength{\paperwidth}{8.5in}% + \else\def\@tempb{legal}\ifx\LOPNP@size\@tempb% + \setlength{\paperheight}{14in}\setlength{\paperwidth}{8.5in}% + \else\def\@tempb{executive}\ifx\LOPNP@size\@tempb% + \setlength{\paperheight}{10.5in}\setlength{\paperwidth}{7.25in}% + \else% + \def\ta@opt@err{% + \ClassError{% + scrlttr2% + }{papersize `\LOPNP@size' undefined}{% + You've told me to check for paper size + `\LOPNP@size'\MessageBreak + at letter option file `\LOPNP@option.lco',\MessageBreak + but this paper size is not supported.\MessageBreak + See the KOMA-Script manual for informations about known + paper sizes.}% + } + \let\@headlines\ta@opt@err% + \expandafter\x@@paper\LOPNP@size paperpaper\x@@paper% + \fi\fi\fi + \@tempc + \endgroup% +} +\newcommand*{\@@PapersizeWarning}{% + \if@tempswa\else% + \ClassWarningNoLine{% + scrlttr2% + }{% + Letter option file `\LOPNP@option.lco'\MessageBreak + needs paper size `\LOPNP@size'.\MessageBreak + Current paper size is not `\LOPNP@size'!\MessageBreak + You should add `paper=\LOPNP@size' at the\MessageBreak + option list of \string\documentclass!\MessageBreak + Maybe you know what you are doing,\MessageBreak + so I do not change this myself} + \fi + } +\newcommand*{\LetterOptionNeedsPapersize}[2]{% + \edef\LOPNP@size{#2}\edef\LOPNP@option{#1}% + } +\LoadLetterOption{DIN} +\newcommand*{\adrentry}[7]{% + \addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}} +\newcommand*{\adrchar}{\addrchar} +\newcommand*{\addrentry}[9]{\def\@tempa{#1}\ifx \@tempa\@empty \else + \def\@tempa{#2}\ifx \@tempa\@empty + \expandafter\def\csname #9\endcsname{#1\\#3} + \else + \expandafter\def\csname #9\endcsname{#2 #1\\#3} + \fi \fi} +\newcommand*{\addrchar}[1]{} +\newcommand*{\stopbreaks}{\interlinepenalty \@M + \def\par{\@@par\nobreak}\let\\=\@nobreakcr + \let\vspace\@nobreakvspace} +\newcommand*{\@nobreakvspace}{% + \@ifstar{\@nobreakvspacex}{\@nobreakvspacex}} +\newcommand*{\@nobreakvspacex}[1]{\ifvmode\nobreak\vskip #1\relax\else + \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi} +\newcommand*{\@nobreakcr}{% + \vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}} +\newcommand*{\startbreaks}{\let\\=\@normalcr + \interlinepenalty 200\def\par{\@@par\penalty 200}} +\newcommand*{\move@topt}{% + \null\vskip -1in\vskip -\topmargin% + \vskip -\headheight\vskip -\headsep% + \vskip -\topskip% + \ignorespaces% + } +\newcommand*{\move@frompt}{% + \vskip 1in\vskip \topmargin% + \vskip \headheight\vskip \headsep% + \vskip \topskip% + \vskip -\baselineskip% + \ignorespaces% + } +\newcommand*{\move@topl}{% + \null\hskip -1in% + \ifodd\value{page}\hskip -\oddsidemargin\else\hskip -\evensidemargin\fi + \ignorespaces% + } +\newcommand*{\move@frompl}{% + \hskip 1in% + \ifodd\value{page}\hskip \oddsidemargin\else\hskip \evensidemargin\fi% + \ignorespaces% + } +\newcommand*{\vb@t@z}[1]{{% + \setbox0\vbox to\z@{#1\vss}% + \setlength{\parskip}{\z@}\setlength{\baselineskip}{\z@}% + \setlength{\parfillskip}{\z@ \@plus 1fil}% + \setlength{\@tempdima}{\ht0}\addtolength{\@tempdima}{\dp0}% + \box0\vskip-\@tempdima% + }} +\newcommand*{\@foldmark}[2]{% + \vskip #1% + \vb@t@z{\rlap{\move@topl\hskip\useplength{foldmarkhpos}% + \rule{#2}{.2pt}}}% + \vskip -#1\ignorespaces% +} +\newcommand*{\@foldmarks}{% + \if@fold% + \typeout{Foldmarks: yes}% + \move@topt + \@foldmark{\useplength{tfoldmarkvpos}}{2mm} + \@foldmark{.5\paperheight}{4mm} + \@foldmark{\useplength{bfoldmarkvpos}}{2mm} + \move@frompt + \else + \typeout{Foldmarks: no}% + \fi% +} +\newif\if@savevbox@warning\@savevbox@warningtrue +\newcommand{\@savevbox}[6][]{% + \begingroup% + \vbox to #2{#1#3}% + \if@savevbox@warning\@savevbox@warningfalse% + \setbox0\vbox{#3}% + \setlength{\@tempdima}{#2}% + \setlength{\@tempdimb}{\ht0}\addtolength{\@tempdimb}{\dp0}% + \ifdim \@tempdimb>\@tempdima% + \addtolength{\@tempdimb}{-\@tempdima}% + \ClassWarning{% + scrlttr2% + }{% + #4 is \the\@tempdimb\space too high.\MessageBreak + You have to change `\string#5'\MessageBreak + or you have to define a smaller\MessageBreak + #4 using \string#6.\MessageBreak + Because of this too high #4\MessageBreak + you've got an overfull \string\vbox\space message% + }% + \fi% + \fi% + \endgroup% +} +\newcommand*{\@firstheadfootfield}{% + \typeout{Head of first page}% + \move@topt\vskip\useplength{firstheadvpos}% + \vb@t@z{% + \rlap{\move@topl + \setlength\@tempskipa{.5\paperwidth}% + \addtolengthplength[-.5]{\@tempskipa}{firstheadwidth}% + \hskip\@tempskipa + \vbox{\hsize\useplength{firstheadwidth}% + \setlength{\@tempskipa}{\useplength{toaddrvpos}}% + \addtolengthplength[-1]{\@tempskipa}{firstheadvpos}% + \addtolength{\@tempskipa}{-\baselineskip}% + \setlength{\textwidth}{\useplength{firstheadwidth}}% + \setlength{\parfillskip}{\z@ \@plus 1fil}% + \@savevbox{\@tempskipa}{\@firsthead\vskip \z@ \@plus .00001fil}% + {head of first page}{firstheadvpos}{\firsthead}% + }% + }% + }% + \vskip-\useplength{firstheadvpos}\move@frompt + \typeout{Foot of first page}% + \move@topt + \vb@t@z{% + \rlap{\move@topl + \setlength\@tempskipa{.5\paperwidth}% + \addtolengthplength[-.5]{\@tempskipa}{firstfootwidth}% + \hskip\@tempskipa% + \vbox{\hsize\useplength{firstfootwidth}% + \vskip\useplength{firstfootvpos}% + \setlength{\textwidth}{\useplength{firstfootwidth}}% + \setlength{\parfillskip}{\z@ \@plus 1fil}% + \vbox{\hsize\useplength{firstfootwidth}\@firstfoot}% + }% + }% + }% + \move@frompt% + {% + \setlength{\@tempdima}{1in}\addtolength{\@tempdima}{\topmargin}% + \addtolength{\@tempdima}{\headheight}% + \addtolength{\@tempdima}{\headsep}% + \addtolength{\@tempdima}{\textheight}% + \addtolength{\@tempdima}{\footskip}% + \addtolengthplength[-1]{\@tempdima}{firstfootvpos}% + \ifdim\@tempdima>\z@\enlargethispage{-\@tempdima}% + \else\if@enlargefp\enlargethispage{-\@tempdima}\fi\fi + }% +} +\newcommand*{\@addrfield}{% + \if@afield + \begingroup% + \if@baddr + \ifkomavarempty{backaddress}{% + \let\@tempa\@empty\let\@tempb\@empty + }{% + \def\@tempa{backaddress}\def\@tempb{,\space}% + }% + \else + \let\@tempa\@empty\let\@tempb\@empty + \fi + \ifkomavarempty{specialmail}{}{% + \edef\@tempa{\@tempa\@tempb specialmail}\def\@tempb{,\space}% + }% + \typeout{Address (\@tempa\@tempb addressee)}% + \endgroup% + \move@topt\vskip\useplength{toaddrvpos}% + \vb@t@z{{\setlength{\parfillskip}{\z@ \@plus 1fil}% + \rlap{\move@topl + \setlengthtoplength{\@tempskipa}{toaddrhpos}% + \ifdim \@tempskipa<\z@ + \addtolength{\@tempskipa}{\paperwidth}% + \addtolengthplength[-]{\@tempskipa}{toaddrwidth}% + \fi + \hskip\@tempskipa + \@addtoplength{toaddrheight}{\useplength{backaddrheight}}% + \@savevbox{\useplength{toaddrheight}}{\hsize\useplength{toaddrwidth}% + \@savevbox[\vss]{\useplength{backaddrheight}}{% + \hsize\useplength{toaddrwidth}% + \if@baddr + \ifkomavarempty{backaddress}{}{{% + \noindent% + \def\\{\usekomavar{backaddressseparator}\@ogobble}% + \underline{\scriptsize\usekomafont{backaddress}% + \usekomavar{backaddress}}}}% + \fi + }{backaddress}{backaddrheight}{\setkomavar}% + \ifkomavarempty{specialmail}{}{% + \vbox{\hsize\useplength{toaddrwidth}% + \noindent\hspace*{\useplength{specialmailindent}}% + \underline{\usekomavar{specialmail}}% + \hspace*{\useplength{specialmailrightindent}}}% + }% + \vfil% + \noindent\hskip\useplength{toaddrindent}% + \setlength{\@tempdima}{\useplength{toaddrwidth}}% + \addtolengthplength[-2]{\@tempdima}{toaddrindent}% + \vbox{\hsize\@tempdima% + \noindent\usekomavar{toname}\\\usekomavar{toaddress}}% + \vfil\null}% + {address field}{toaddrheight} + {\begin{letter} or you\MessageBreak + have to define a smaller special purpose using\MessageBreak + \string\specialmail} + }}}% + \vskip-\useplength{toaddrvpos}\move@frompt + \else + \typeout{Address: No}% + \fi + } +\newcommand*{\@ogobble}[1][]{} +\newcommand*{\@locfield}{% + \ifdim \useplength{locwidth}=\z@% + \@setplength{locwidth}{\paperwidth}% + \ifdim \useplength{toaddrhpos}>\z@ + \@addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}% + \else + \@addtoplength[2]{locwidth}{\useplength{toaddrhpos}}% + \fi + \@addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}% + \if@bigloc% + \@setplength[.66667]{locwidth}{\useplength{locwidth}}% + \else% + \@setplength[.5]{locwidth}{\useplength{locwidth}}% + \fi% + \fi% + \ifnum 1=\@alignfrom + \if@logo + \ifkomavarempty{location}{% + \setkomavar{location}{\null}}{}% + \fi + \fi + \ifkomavarempty{location}{% + \typeout{Location field: empty}% + }{% + \typeout{Location field: yes}% + \move@topt\vskip\useplength{toaddrvpos}% + \vb@t@z{\rlap{% + \move@topl + \setlengthtoplength[-]{\@tempskipa}{toaddrhpos}% + \ifdim \@tempskipa<\z@ + \addtolength{\@tempskipa}{\paperwidth}% + \else + \addtolengthplength{\@tempskipa}{locwidth}% + \fi + \hskip\@tempskipa + \llap{% + \@savevbox{\useplength{toaddrheight}}{% + \noindent\hsize\useplength{locwidth}% + \ifnum 1=\@alignfrom + \if@logo + \ifkomavarempty{fromlogo}{}{% + {\raggedleft\noindent\usekomavar{fromlogo}\\ + \vskip\parskip}\noindent}% + \fi + \fi + \usekomavar{location}\vskip \z@ \@plus .00001fil} + {location field}{toaddrheight}{\setkomavar}% + }}% + }% + \vskip-\useplength{toaddrvpos}\move@frompt + }% + } +\newcommand*{\@set@reffield}[1]{% + \ifkomavarempty{#1}{}{% + \settowidth{\@tempdima}{\strut\usekomavar{#1}}% + \setbox0\hbox{\strut\scriptsize\sffamily\usekomavar*{#1}}% + \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi + \if@tempswa\enskip\hfill\fi + \parbox[t]{\@tempdima}{\noindent\raggedright + \strut\box0\\\strut\usekomavar{#1}}% + \@tempswatrue + }% +} +\newcommand*{\@set@reffields}{}% +\newcommand*{\addtoreffields}[1]{% + \l@addto@macro{\@set@reffields}{\@set@reffield{#1}}% + } +\newcommand*{\removereffields}{% + \renewcommand*{\@set@reffields}{}% + } +\newcommand*{\defaultreffields}{% + \removereffields + \addtoreffields{yourref}% + \addtoreffields{yourmail}% + \addtoreffields{myref}% + \addtoreffields{customer}% + \addtoreffields{invoice}% +} +\defaultreffields +\newcommand*{\@datefield}{{\@parskipfalse\@parskip@indent + \ifdim\useplength{refwidth}=\z@ + \if@refwide + \@setplength{refwidth}{\paperwidth}% + \ifdim \useplength{toaddrhpos}>\z@ + \@setplength{refhpos}{\useplength{toaddrhpos}}% + \else + \@setplength[-]{refhpos}{\useplength{toaddrhpos}}% + \fi + \@addtoplength[-2]{refwidth}{\useplength{refhpos}}% + \else + \@setplength{refwidth}{\textwidth}% + \@setplength{refhpos}{\oddsidemargin}% + \@addtoplength{refhpos}{1in}% + \fi + \else\ifdim\useplength{refhpos}=\z@ + \begingroup + \setlength\@tempdima{\textwidth}% + \addtolengthplength[-]{\@tempdima}{refwidth}% + \setlength\@tempdimb{\oddsidemargin}% + \addtolength\@tempdimb{1in}% + \setlength{\@tempdimc}{\paperwidth}% + \addtolength{\@tempdimc}{-\textwidth}% + \divide\@tempdimb by 32768\relax + \divide\@tempdimc by 32768\relax + \ifdim\@tempdimc=\z@\else + \multiply\@tempdima by\@tempdimb + \divide\@tempdima by\@tempdimc + \fi + \edef\@tempa{\noexpand\endgroup + \noexpand\@setplength{refhpos}{\the\@tempdima}}% + \@tempa + \fi\fi + \@tempswafalse + \move@topt\vskip\useplength{refvpos}% + \rlap{\noindent\move@topl\hskip\useplength{refhpos}% + \vbox{\hsize\useplength{refwidth}% + \noindent\@set@reffields + \ifkomavarempty{date}{% + \if@tempswa + \typeout{Reference line(s): with fields but without date}% + \else + \typeout{Reference line(s): no}% + \aftergroup\aftergroup\aftergroup\@tempswatrue + \fi + }{% + \if@tempswa + \typeout{Reference line(s): with fields and date}% + \settowidth{\@tempdima}{\strut\usekomavar{date}}% + \setbox0\hbox{\scriptsize\sffamily\usekomavar*{date}}% + \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi + \enskip\hfill + \parbox[t]{\@tempdima}{\noindent\raggedright% + \strut\box0\\\strut\usekomavar{date}} + \else + \typeout{Reference line: only place and date}% + \enskip\hfill + \ifkomavarempty{place}{}{% + \usekomavar{place}\usekomavar{placeseparator}}% + \usekomavar{date}% + \@tempswatrue + \fi + }% + }% + }% + \if@tempswa\vskip-\baselineskip\fi + \vskip\useplength{refaftervskip}% + }% +} +\newcommand*{\@maketitle}{% + \ifkomavarempty{title}{% + \typeout{Title: no}% + }{% + \typeout{Title: yes}% + {\@parskipfalse\@parskip@indent% + \centering\LARGE\titlefont\usekomavar{title}\par}% + \vskip\baselineskip% + }% + } +\newcommand*{\@subjfield}{{\@parskipfalse\@parskip@indent% + \ifkomavarempty{subject}{% + \typeout{Subject: no}% + }{% + \if@subjafter% + \typeout{Subject: after opening}% + \centering% + \else% + \typeout{Subject: before opening}% + \noindent% + \fi% + {\usekomafont{subject}\if@subj\@hangfrom{\usekomavar*{subject}}\fi% + {\usekomavar{subject}}\par}\vskip2\baselineskip% + }% + }% + } +\newcommand{\opening}[1]{% + \@PapersizeWarning + \@gen@firsthead + \@mkboth{\scr@fromname@var}{\scr@subject@var}% + \thispagestyle{empty}\noindent + \@foldmarks\@firstheadfootfield\@addrfield\@locfield\@datefield + \@maketitle + \if@subjafter\else\@subjfield\fi + {\@parskipfalse\@parskip@indent\noindent#1\par}% + {\setlength{\@tempdima}{\baselineskip}% + \addtolength{\@tempdima}{-\parskip} + \ifdim \@tempdima>\z@\vskip\@tempdima\fi} + \if@subjafter\@subjfield\fi% + \@afterindentfalse\@afterheading + } +\newcommand*{\setpresigskip}{\@setplength{sigbeforevskip}} +\newcommand*{\@xtrimtempa}{% + \@ifnextchar [{\@@xtrimtempa}{\@@xtrimtempa[]}} +\newcommand*{\@@xtrimtempa}{} +\def\@@xtrimtempa[#1]#2\@nil{\def\@tempa{#2}} +\newcommand*{\@tempdimaismaxwidthof}{} +\def\@tempdimaismaxwidthof#1\\#2\@nil{% + \settowidth{\@tempdimb}{\strut\ignorespaces#1}% + \ifdim\@tempdima<\@tempdimb\setlength{\@tempdima}{\@tempdimb}\fi + \def\@tempa{#2}\ifx\@tempa\@empty + \let\@tempb\relax + \else + \expandafter\@xtrimtempa\@tempa\@nil + \def\@tempb{\expandafter\@tempdimaismaxwidthof\@tempa\@nil}% + \fi + \@tempb + } +\newcommand*{\closing}[1]{{\@parskipfalse\@parskip@indent\nobreak\par% + \nobreak\vskip\baselineskip% + \stopbreaks\noindent% + \setlength{\@tempdima}{0pt}% + \expandafter\@tempdimaismaxwidthof\scr@signature@var\\\@nil + \expandafter\@tempdimaismaxwidthof\strut\ignorespaces#1\\\@nil + \setlength{\@tempdimb}{\hsize}% + \addtolength{\@tempdimb}{-\useplength{sigindent}}% + \ifdim\@tempdima>\@tempdimb\setlength{\@tempdima}{\@tempdimb}\fi% + \hspace{\useplength{sigindent}}% + \parbox{\@tempdima}{\raggedsignature\strut\ignorespaces% + #1\strut\\[\useplength{sigbeforevskip}] + \strut\usekomavar{signature}\strut}}\par + \nobreak\vskip\baselineskip% +} +\newcommand\ps{\par% + \ifdim\parskip=\z@% + \vskip\baselineskip% + \fi\startbreaks\noindent\ignorespaces% +} +\newcommand*{\cc}[1]{\par% + \ifdim\parskip=\z@% + \vskip\baselineskip% + \fi\noindent% + \begingroup + \parbox[t]{\textwidth}{% + \ifkomavarempty{ccseparator}{}{% + \@hangfrom{% + \strut\usekomavar*{ccseparator}\usekomavar{ccseparator}}% + }% + \ignorespaces #1\strut}% + \setlength{\parfillskip}{\z@ \@plus 1fil}\par + \endgroup +} +\newcommand*{\encl}[1]{\par% + \ifdim\parskip=\z@% + \vskip\baselineskip% + \fi\noindent% + \begingroup + \parbox[t]{\textwidth}{% + \ifkomavarempty*{enclseparator}{}{% + \@hangfrom{% + \strut\usekomavar*{enclseparator}\usekomavar{enclseparator}}% + }% + \ignorespaces #1\strut}% + \setlength{\parfillskip}{\z@ \@plus 1fil}\par + \endgroup +} +\pagestyle{plain} +\pagenumbering{arabic} % Arabic page numbers + \raggedbottom +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrlttr2.cls'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrpage.sty b/Master/texmf-dist/tex/latex/koma-script/scrpage.sty new file mode 100644 index 00000000000..0e6102832e8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrpage.sty @@ -0,0 +1,434 @@ +%% +%% This is file `scrpage.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrpage.dtx (with options: `scrpage,v1') +%% scrlogo.dtx +%% +%% Copyright 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% legal.txt, and any other copyright indicated in this file. +%% +%% This file is part of the LaTeX2e KOMA-Script-bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script-bundle (but not this file) bases on the +%% Script-family created by Frank Neukam 1993 and the standard +%% documents classes created by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------- +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{scrpage}[2001/06/22 v1.3c KOMA + package] +\DeclareOption{headinclude}{\PassOptionsToPackage{headinclude}{typearea}} +\DeclareOption{headexclude}{\PassOptionsToPackage{headexclude}{typearea}} +\DeclareOption{footinclude}{\PassOptionsToPackage{footinclude}{typearea}} +\DeclareOption{footexclude}{\PassOptionsToPackage{footexclude}{typearea}} +\ExecuteOptions{% +headinclude,footinclude% +} +\ProcessOptions\relax +\newif\if@chapter +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname chapter\endcsname\relax + \@chapterfalse +\else + \@chaptertrue +\fi +\def\@tempa{\newif\if@mainmatter\@mainmattertrue} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname mainmatter\endcsname\relax\else\let\@tempa\relax\fi +\@tempa +\let\headmark\relax +\DeclareRobustCommand\pagemark{{\pnumfont\thepage}} +\def\defpagestyle{% + \@ifstar + {\@defpagestyle[-]}% + {\@defpagestyle[+]}} +\if@twoside + \def\@defpagestyle[#1]#2#3#4{% + \expandafter\def\csname ps@#2\endcsname{% + \def\@tempa{+}% + \def\@tempb{#1}% + \ifx\@tempa\@tempb + \let\@mkboth\markboth + \if@chapter + \def\chaptermark####1{% + \markboth {\ifnum \c@secnumdepth >\m@ne% + \if@mainmatter\chaptermarkformat\fi\fi ####1}{% + \ifnum \c@secnumdepth >\m@ne% + \if@mainmatter\chaptermarkformat\fi\fi ####1}}% + \def\sectionmark####1{% + \markright {\ifnum \c@secnumdepth >\z@% + \sectionmarkformat\fi ####1}} + \else + \def\sectionmark####1{% + \markboth {\ifnum \c@secnumdepth >\z@% + \sectionmarkformat\fi ####1}{% + \ifnum \c@secnumdepth >\z@% + \sectionmarkformat\fi ####1}} + \def\subsectionmark####1{% + \markright {\ifnum \c@secnumdepth >\@ne% + \subsectionmarkformat\fi ####1}} + \fi + \else + \let\@mkboth\@gobbletwo + \if@chapter + \def\chaptermark####1{} + \else + \def\subsectionmark####1{} + \fi + \def\sectionmark####1{} + \fi + \def@twosidehead#3 + \def@twosidefoot#4 + } + } +\else + \def\@defpagestyle[#1]#2#3#4{% + \expandafter\def\csname ps@#2\endcsname{% + \def\@tempa{+}% + \def\@tempb{#1}% + \ifx\@tempa\@tempb + \let\@mkboth\markboth + \if@chapter + \def\chaptermark####1{% + \markright {\ifnum \c@secnumdepth >\m@ne% + \if@mainmatter\chaptermarkformat\fi\fi ####1}}% + \def\sectionmark####1{} + \else + \def\sectionmark####1{% + \markright{\ifnum \c@secnumdepth >\z@% + \sectionmarkformat\fi ####1}} + \def\subsectionmark####1{} + \fi + \else + \let\@mkboth\@gobbletwo + \if@chapter + \def\chaptermark####1{} + \else + \def\subsectionmark####1{} + \fi + \def\sectionmark####1{} + \fi + \def@onesidehead#3 + \def@onesidefoot#4 + } + } +\fi +\def\def@twosidehead(#1,#2)#3#4#5(#6,#7){ + \def\@evenhead{\let\headmark\leftmark% + \hss\hskip\@evenheadshift\vbox{\hsize=\@headwidth\relax% + \hf@rule{#1}{#2}{\@headwidth}% + \vskip#2 + \vskip\baselineskip% + \hb@xt@\@headwidth{{% + \headfont\strut #3}}% + \hf@rule{#6}{#7}{\@headwidth}% + }\hskip\@oddheadshift\hss} + \def\@oddhead{\let\headmark\rightmark% + \hss\hskip\@oddheadshift\vbox{\hsize=\@headwidth\relax% + \hf@rule{#1}{#2}{\@headwidth}% + \vskip#2 + \vskip\baselineskip% + \hb@xt@\@headwidth{{% + \headfont\strut #4}}% + \hf@rule{#6}{#7}{\@headwidth}% + }\hskip\@evenheadshift\hss} +} +\def\def@onesidehead(#1,#2)#3#4#5(#6,#7){ + \def\@evenhead{} + \def\@oddhead{\let\headmark\rightmark% + \hss\hskip\@oddheadshift\vbox{\hsize=\@headwidth\relax% + \hf@rule{#1}{#2}{\@headwidth}% + \vskip#2% + \vskip\baselineskip% + \hb@xt@\@headwidth{{% + \headfont\strut #5}} + \hf@rule{#6}{#7}{\@headwidth}% + }\hskip\@evenheadshift\hss} +} +\def\def@twosidefoot(#1,#2)#3#4#5(#6,#7){ + \def\@evenfoot{\let\headmark\leftmark% + \hss\hskip\@evenfootshift\vbox{\hsize=\@footwidth\relax% + \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% + \headfont\strut #3}}% + \botfoot@rule{#6}{#7}}\hskip\@oddfootshift\hss} + \def\@oddfoot{\let\headmark\rightmark% + \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax% + \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% + \headfont\strut #4}}% + \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss} +} +\def\def@onesidefoot(#1,#2)#3#4#5(#6,#7){ + \def\@evenfoot{} + \def\@oddfoot{\let\headmark\rightmark% + \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax% + \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% + \headfont\strut #5}} + \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss} +} +\newcommand\topfoot@rule[2]{% + \@tempdima\baselineskip\advance\@tempdima by-.7\normalbaselineskip + \advance\@tempdima by -#2 + \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% + \vskip-\@tempdima} +\newcommand\botfoot@rule[2]{% + \@tempdima-\baselineskip\advance\@tempdima by .3\normalbaselineskip + \advance\@tempdima by #2 + \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% +} +\newcommand\hf@rule[3]{% + \setlength{\@tempdimb}{#1} + \setlength{\@tempdimb}{.5\@tempdimb} + \hb@xt@#3{% + \hfill% + \llap{\vrule\@depth#2\@height\z@\@width\@tempdimb}% + \rlap{\vrule\@depth#2\@height\z@\@width\@tempdimb}% + \hfill% + }% +} +\def\newpagestyle{% + \@ifstar + {\@newpagestyle[-]}% + {\@newpagestyle[+]}} +\def\@newpagestyle[#1]#2#3#4{ + \expandafter\ifx\csname ps@#2\endcsname\relax + \@defpagestyle[#1]{#2}{#3}{#4} + \else + \PackageError + {scrpage} + {Your command was ignored}% + {There is already a pagestyle named ``#1''.\MessageBreak% + Use \protect\defpagestyle\space, \protect\renewpagestyle or + \protect\providepagestyle.} + \fi +} +\def\renewpagestyle{% + \@ifstar + {\@renewpagestyle[-]}% + {\@renewpagestyle[+]}} +\def\@renewpagestyle[#1]#2#3#4{ + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname ps@#2\endcsname\relax + \PackageError + {scrpage} + {Your command was ignored}% + {There is no pagestyle named ``#1''.\MessageBreak% + Use \protect\defpagestyle, \protect\newpagestyle or + \protect\providepagestyle.} + \else + \@defpagestyle[#1]{#2}{#3}{#4} + \fi +} +\def\providepagestyle{% + \@ifstar + {\@providepagestyle[-]}% + {\@providepagestyle[+]}} +\def\@providepagestyle[#1]#2#3#4{ + \expandafter\ifx\csname ps@#2\endcsname\relax + \@defpagestyle[#1]{#2}{#3}{#4} + \else + \PackageInfo + {scrpage} + {\protect\providepagestyle\protect{#1\protect} ignored.} + \fi +} +\def\deftripstyle{% + \@ifstar + {\@deftripstyle[-]}% + {\@deftripstyle[+]}} +\def\@deftripstyle[#1]#2{% + \@ifnextchar[ + {\@@deftripstyle[#1]{#2}}% + {\@@deftripstyle[#1]{#2}[\z@]}} +\def\@@deftripstyle[#1]#2[#3]{ + \def\@tempa{#1} + \@ifnextchar[ + {\@@@deftripstyle#2[#3]}% + {\@@@deftripstyle#2[\z@][#3]}} +\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 +} +\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 + {scrpage} + {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 + {scrpage} + {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 +} +\newcommand*{\@headwidth}{\textwidth} +\newcommand*{\@oddheadshift}{\z@} +\newcommand*{\@evenheadshift}{\z@} +\newcommand*{\@footwidth}{\textwidth} +\newcommand*{\@oddfootshift}{\z@} +\newcommand*{\@evenfootshift}{\z@} +\providecommand\pnumfont{\normalfont} +\providecommand\headfont{\normalfont% +} +\providecommand{\partmarkformat} {\partname\ \thepart. \ } +\if@chapter + \providecommand{\chaptermarkformat} {\@chapapp\ \thechapter. \ } + \providecommand{\sectionmarkformat} {\thesection. \ } +\else + \providecommand{\sectionmarkformat} {\thesection\quad} + \providecommand{\subsectionmarkformat} {\thesubsection\quad} +\fi +\InputIfFileExists{scrpage.cfg} + {\typeout{*************************************^^J% + * Local config file scrpage.cfg used^^J% + *************************************}} + {} +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrpage.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty b/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty new file mode 100644 index 00000000000..3f89ffba3a8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty @@ -0,0 +1,1081 @@ +%% +%% This is file `scrpage2.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrpage.dtx (with options: `scrpage,v2') +%% scrlogo.dtx +%% +%% Copyright 1994-2004 Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% legal.txt, and any other copyright indicated in this file. +%% +%% This file is part of the LaTeX2e KOMA-Script-bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script-bundle (but not this file) bases on the +%% Script-family created by Frank Neukam 1993 and the standard +%% documents classes created by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------- +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{scrpage2} + [2004/09/05 v2.2a LaTeX2e KOMA + package] +\DeclareOption{headinclude}{\PassOptionsToPackage{headinclude}{typearea}} +\DeclareOption{headexclude}{\PassOptionsToPackage{headexclude}{typearea}} +\DeclareOption{footinclude}{\PassOptionsToPackage{footinclude}{typearea}} +\DeclareOption{footexclude}{\PassOptionsToPackage{footexclude}{typearea}} +\@ifundefined{mincltrue}{\newif\if@mincl}{} +\DeclareOption{mpinclude}{\@mincltrue} +\DeclareOption{mpexclude}{\@minclfalse} +\newcommand*{\scr@headabove@linethickness}{0pt} +\newcommand*{\scr@headbelow@linethickness}{0pt} +\newcommand*{\scr@footabove@linethickness}{0pt} +\newcommand*{\scr@footbelow@linethickness}{0pt} +\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} +\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}} +\newcommand*{\hfline@adjust}{1} +\DeclareOption{ilines}{\renewcommand*{\hfline@adjust}{0}} +\DeclareOption{clines}{\renewcommand*{\hfline@adjust}{1}} +\DeclareOption{olines}{\renewcommand*{\hfline@adjust}{2}} +\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}} +\newif\if@autooneside\@autoonesidefalse +\DeclareOption{autooneside}{\@autoonesidetrue} +\DeclareOption{markuppercase}{\let\MakeMarkcase\MakeUppercase} +\DeclareOption{markusedcase}{\let\MakeMarkcase\@empty} +\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} +\DeclareOption{komastyle}{\def\scrheadings@style{koma} + \@ifundefined{MakeMarkcase}{\let\MakeMarkcase\relax}{}} +\DeclareOption{standardstyle}{\def\scrheadings@style{standard} + \@ifundefined{MakeMarkcase}{\let\MakeMarkcase\MakeUppercase}{}} +\ExecuteOptions{% +} +\ProcessOptions\relax +\newif\if@chapter +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname chapter\endcsname\relax + \@chapterfalse +\else + \@chaptertrue +\fi +\def\@tempa{\newif\if@mainmatter\@mainmattertrue} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname mainmatter\endcsname\relax\else\let\@tempa\relax\fi +\@tempa +\let\headmark\relax +\DeclareRobustCommand\pagemark{{\pnumfont\thepage}} +\newif\if@automark\@automarkfalse +\def\defpagestyle{% + \@ifstar + {\@defpagestyle[-]}% + {\@defpagestyle[+]}} +\if@twoside + \def\@defpagestyle[#1]#2#3#4{% + \expandafter\def\csname ps@#2\endcsname{% + \if@automark\let\@mkboth\markboth\else\let\@mkboth\@gobbletwo\fi + \def@twosidehead#3 + \def@twosidefoot#4 + } + } +\else + \def\@defpagestyle[#1]#2#3#4{% + \expandafter\def\csname ps@#2\endcsname{% + \if@automark\let\@mkboth\markboth\else\let\@mkboth\@gobbletwo\fi + \def@onesidehead#3 + \def@onesidefoot#4 + } + } +\fi +\def\def@twosidehead{% + \@ifnextchar( + {\def@@twosidehead} + {\def@@twosidehead(\scr@headabove@linelength,% + \scr@headabove@linethickness)}} +\def\def@@twosidehead(#1,#2)#3#4#5{% + \@ifnextchar( + {\def@@@twosidehead({#1},{#2}){#3}{#4}{#5}} + {\def@@@twosidehead({#1},{#2}){#3}{#4}{#5}% + (\scr@headbelow@linelength,% + \scr@headbelow@linethickness)}} +\def\def@@@twosidehead(#1,#2)#3#4#5(#6,#7){% + \def\@evenhead{\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} + \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 #4}}% + \hf@rule{#6}{#7}{\@headwidth}% + {headbelow}% + }\hskip\@evenheadshift\hss} +} +\def\def@onesidehead{% + \@ifnextchar( + {\def@@onesidehead} + {\def@@onesidehead(\scr@headabove@linelength,% + \scr@headabove@linethickness)}} +\def\def@@onesidehead(#1,#2)#3#4#5{% + \@ifnextchar( + {\def@@@onesidehead({#1},{#2}){#3}{#4}{#5}} + {\def@@@onesidehead({#1},{#2}){#3}{#4}{#5}% + (\scr@headbelow@linelength,% + \scr@headbelow@linethickness)}} +\def\def@@@onesidehead(#1,#2)#3#4#5(#6,#7){% + \def\@evenhead{} + \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 #5}} + \hf@rule{#6}{#7}{\@headwidth}% + {headbelow}% + }\hskip\@evenheadshift\hss} +} +\def\def@twosidefoot{% + \@ifnextchar( + {\def@@twosidefoot} + {\def@@twosidefoot(\scr@footabove@linelength,% + \scr@footabove@linethickness)}} +\def\def@@twosidefoot(#1,#2)#3#4#5{% + \@ifnextchar( + {\def@@@twosidefoot({#1},{#2}){#3}{#4}{#5}} + {\def@@@twosidefoot({#1},{#2}){#3}{#4}{#5}% + (\scr@footbelow@linelength,% + \scr@footbelow@linethickness)}} +\def\def@@@twosidefoot(#1,#2)#3#4#5(#6,#7){% + \def\@evenfoot{\let\headmark\leftmark% + \hss\hskip\@evenfootshift\vbox{\hsize=\@footwidth\relax% + \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% + \scr@nouppercase% + \headfont\strut #3}}% + \botfoot@rule{#6}{#7}}\hskip\@oddfootshift\hss} + \def\@oddfoot{\let\headmark\rightmark% + \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax% + \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% + \scr@nouppercase% + \headfont\strut #4}}% + \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss} +} +\def\def@onesidefoot{% + \@ifnextchar( + {\def@@onesidefoot} + {\def@@onesidefoot(\scr@footabove@linelength,% + \scr@footabove@linethickness)}} +\def\def@@onesidefoot(#1,#2)#3#4#5{% + \@ifnextchar( + {\def@@@onesidefoot({#1},{#2}){#3}{#4}{#5}} + {\def@@@onesidefoot({#1},{#2}){#3}{#4}{#5}% + (\scr@footbelow@linelength,% + \scr@footbelow@linethickness)}} +\def\def@@@onesidefoot(#1,#2)#3#4#5(#6,#7){% + \def\@evenfoot{} + \def\@oddfoot{\let\headmark\rightmark% + \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax% + \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% + \scr@nouppercase% + \headfont\strut #5}} + \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss} +} +\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} +\newcommand\botfoot@rule[2]{% + \@tempdima-\baselineskip\advance\@tempdima by .3\normalbaselineskip + \advance\@tempdima by #2 + \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% + {footbelow}% +} +\newcommand*{\hf@rule}[4]{% + \setlength{\@tempdimb}{#1} + \begingroup + \csname scr@pre@#4@line\endcsname + \ifodd\c@page + \edef\@tempa{\hfline@adjust} + \else + \@tempcnta=2\advance\@tempcnta -\hfline@adjust + \edef\@tempa{\the\@tempcnta} + \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 +} +\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} +\def\newpagestyle{% + \@ifstar + {\@newpagestyle[-]}% + {\@newpagestyle[+]}} +\def\@newpagestyle[#1]#2#3#4{ + \expandafter\ifx\csname ps@#2\endcsname\relax + \@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 +} +\def\renewpagestyle{% + \@ifstar + {\@renewpagestyle[-]}% + {\@renewpagestyle[+]}} +\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 + \@defpagestyle[#1]{#2}{#3}{#4} + \fi +} +\def\providepagestyle{% + \@ifstar + {\@providepagestyle[-]}% + {\@providepagestyle[+]}} +\def\@providepagestyle[#1]#2#3#4{ + \expandafter\ifx\csname ps@#2\endcsname\relax + \@defpagestyle[#1]{#2}{#3}{#4} + \else + \PackageInfo + {scrpage2} + {\protect\providepagestyle\protect{#1\protect} ignored.} + \fi +} +\def\deftripstyle{% + \@ifstar + {\@deftripstyle[-]}% + {\@deftripstyle[+]}} +\def\@deftripstyle[#1]#2{% + \@ifnextchar[ + {\@@deftripstyle[#1]{#2}}% + {\@@deftripstyle[#1]{#2}[\z@]}} +\def\@@deftripstyle[#1]#2[#3]{ + \def\@tempa{#1} + \@ifnextchar[ + {\@@@deftripstyle#2[#3]}% + {\@@@deftripstyle#2[\z@][#3]}} +\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 +} +\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}}} +\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 +} +\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 +} +\if@chapter + \newcommand*{\partlevel}{-1} +\else + \newcommand*{\partlevel}{0} +\fi +\newcommand*{\chapterlevel}{0} +\newcommand*{\sectionlevel}{1} +\newcommand*{\subsectionlevel}{2} +\newcommand*{\subsubsectionlevel}{3} +\newcommand*{\paragraphlevel}{4} +\newcommand*{\subparagraphlevel}{5} +\@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}}}}}{} +\@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}}}}}}{} +\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 +} +\newcommand*{\@headwidth}{\textwidth} +\newcommand*{\@oddheadshift}{\z@} +\newcommand*{\@evenheadshift}{\z@} +\newcommand*{\@footwidth}{\textwidth} +\newcommand*{\@oddfootshift}{\z@} +\newcommand*{\@evenfootshift}{\z@} +\if@mincl + \renewcommand*{\@headwidth}{} + \renewcommand*{\@footwidth}{} + \AtBeginDocument{% + \ifx\@headwidth\@empty + \setheadwidth[0pt]{textwithmarginpar} + \fi + \ifx\@footwidth\@empty + \setfootwidth[0pt]{textwithmarginpar} + \fi + } +\fi +\providecommand\pnumfont{\normalfont} +\providecommand\headfont{\normalfont% + \slshape% +} +\newcommand*{\setheadtopline}{\scr@setline{head}{above}} +\newcommand*{\setheadsepline}{\scr@setline{head}{below}} +\newcommand*{\setfootsepline}{\scr@setline{foot}{above}} +\newcommand*{\setfootbotline}{\scr@setline{foot}{below}} +\def\scr@setline#1#2{% + \@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 + \@ifnextchar[%] + {\@src@set@pre@line{#1}}{}% +} +\def\@src@set@pre@line#1[#2]{% + \expandafter\def\csname scr@pre@#1@line\endcsname{#2}% +} +\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}} +\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 +\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} +\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% +} +\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}{} +\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}{} +\newcommand{\ihead}{\@ifnextchar[{\@@lhead}{\@lhead}} +\newcommand{\@lhead}[1]{\@rehead{#1}\@lohead{#1}} +\newcommand{\@@lhead}[2][]{\@@rehead[{#1}]{#2}\@@lohead[{#1}]{#2}} +\newcommand{\ohead}{\@ifnextchar[{\@@rhead}{\@rhead}} +\newcommand{\@rhead}[1]{\@lehead{#1}\@rohead{#1}} +\newcommand{\@@rhead}[2][]{\@@lehead[{#1}]{#2}\@@rohead[{#1}]{#2}} +\newcommand{\chead}{\@ifnextchar[{\@@chead}{\@chead}} +\newcommand{\@chead}[1]{\@cehead{#1}\@cohead{#1}} +\newcommand{\@@chead}[2][]{\@@cehead[{#1}]{#2}\@@cohead[{#1}]{#2}} +\newcommand{\lehead}{\@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}{\@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}{\@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}{\@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}{\@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}{\@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}{\@ifnextchar[{\@@lfoot}{\@lfoot}} +\newcommand{\@lfoot}[1]{\@refoot{#1}\@lofoot{#1}} +\newcommand{\@@lfoot}[2][]{\@@refoot[{#1}]{#2}\@@lofoot[{#1}]{#2}} +\newcommand{\ofoot}{\@ifnextchar[{\@@rfoot}{\@rfoot}} +\newcommand{\@rfoot}[1]{\@lefoot{#1}\@rofoot{#1}} +\newcommand{\@@rfoot}[2][]{\@@lefoot[{#1}]{#2}\@@rofoot[{#1}]{#2}} +\newcommand{\cfoot}{\@ifnextchar[{\@@cfoot}{\@cfoot}} +\newcommand{\@cfoot}[1]{\@cefoot{#1}\@cofoot{#1}} +\newcommand{\@@cfoot}[2][]{\@@cefoot[{#1}]{#2}\@@cofoot[{#1}]{#2}} +\newcommand{\lefoot}{\@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}{\@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}{\@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}{\@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}{\@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}{\@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}} +\newcommand*{\clearscrheadings}{% + \ihead{}\chead{}\ohead{}\ifoot{}\cfoot{}\ofoot{}} +\newcommand*{\clearscrheadfoot}{% + \ihead[]{}\chead[]{}\ohead[]{}\ifoot[]{}\cfoot[]{}\ofoot[]{}} +\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}{} +} +\def\@tempa{koma}\ifx\scrheadings@style\@tempa + \@ifclassloaded{scrlttr2}{% + \ifcase\@pageat + \lehead[\pagemark]{\pagemark}\lohead[\pagemark]{\pagemark}% + \chead{\rightmark}% + \rehead{\leftmark}\lohead{\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\PackageErrorNoLine{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 + \ifx\sectionmark\@gobble\else\@automarktrue\fi + \fi +\else + \ifx\chaptermark\@gobble\else\@automarktrue\fi +\fi +\InputIfFileExists{scrpage.cfg} + {\typeout{*************************************^^J% + * Local config file scrpage.cfg used^^J% + *************************************}} + {} +\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} +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrpage2.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls b/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls new file mode 100644 index 00000000000..24c8d7d20b0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls @@ -0,0 +1,2392 @@ +%% +%% This is file `scrreprt.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `class,scrreprt') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 Markus Kohm and Frank Neukam. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{% + scrreprt% + } + [2004/09/16 v2.9t LaTeX2e KOMA + document class] +\newcommand\ifnumber[3]{ + \begingroup\@tempswafalse\let\scr@next\test@number + \expandafter\scr@next#1\scr@next + \if@tempswa\endgroup#2\else\endgroup#3\fi +} +\newcommand*{\test@number}[1]{ + \ifx \scr@next#1 + \let\scr@next\relax + \else + \@tempcnta=\expandafter\expandafter\expandafter\number + \expandafter`#1\relax + \ifnum \@tempcnta>47\relax + \ifnum \@tempcnta<58\relax + \@tempswatrue + \else\@tempswafalse\fi + \else\@tempswafalse\fi + \if@tempswa\else\let\scr@next\gobble@till@next\fi\fi + \scr@next} +\newcommand*{\gobble@till@next}{} +\def\gobble@till@next#1\scr@next{} +\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} +\newcommand*{\@@BCOR}{} +\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{ + \edef\@tempa{#1}\ifx\@tempa\@empty + \edef\@tempa{#3}\def\@tempb{BCOR}\ifx\@tempa\@tempb + \PassOptionsToPackage{BCOR#2}{typearea} + \else\OptionNotUsed\fi + \else\OptionNotUsed\fi} +\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 + \PassOptionsToPackage{DIV#2}{typearea} + \else\OptionNotUsed\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 + \PassOptionsToPackage{#1headlines}{typearea} + \else\@DIV\fi} +\newcommand*{\@pt@scan}{\expandafter\@pt@@scan\CurrentOption pt\@pt@@scan} +\newcommand*{\@pt@@scan}{} +\def\@pt@@scan #1pt#2\@pt@@scan{ + \edef\@tempa{pt}\edef\@tempb{#2}\ifx\@tempa\@tempb + \ifnumber{#1} + {\@tempcnta=#1\relax + \advance \@tempcnta by-10\relax + \edef\@ptsize{\the\@tempcnta}} + {\@headlines} + \else\@headlines\fi} +\newcommand*{\x@paper}{\expandafter\x@@paper\CurrentOption paper\x@@paper} +\newcommand*{\x@@paper}{} +\def\x@@paper #1#2paper#3\x@@paper{ + \edef\@tempa{paper}\edef\@tempb{#3}\ifx\@tempa\@tempb + \ifx a#1\PassOptionsToPackage{a#2paper}{typearea} + \else\ifx b#1\PassOptionsToPackage{b#2paper}{typearea} + \else\ifx c#1\PassOptionsToPackage{c#2paper}{typearea} + \else\ifx d#1\PassOptionsToPackage{d#2paper}{typearea} + \else\OptionNotUsed\fi\fi\fi\fi + \else\@pt@scan\fi} +\newif\ifonelinecaptions\onelinecaptionstrue +\DeclareOption{onelinecaption}{\onelinecaptionstrue% + \PassOptionsToPackage{oneline}{caption2}} +\DeclareOption{noonelinecaption}{\onelinecaptionsfalse% + \PassOptionsToPackage{nooneline}{caption2}} +\newif\if@tablecaptionabove\@tablecaptionabovefalse +\DeclareOption{tablecaptionabove}{\@tablecaptionabovetrue} +\DeclareOption{tablecaptionbelow}{\@tablecaptionabovefalse} +\newif\if@komalongtable\@komalongtabletrue +\DeclareOption{origlongtable}{\@komalongtablefalse} +\newif\if@hsl +\DeclareOption{headsepline}{% + \PassOptionsToPackage{headinclude}{typearea}\@hsltrue} +\DeclareOption{headnosepline}{% + \@hslfalse% + } +\newif\if@fsl +\DeclareOption{footsepline}{\PassOptionsToPackage{footinclude}{typearea} + \@fsltrue} +\DeclareOption{footnosepline}{% + \@fslfalse% + } +\newif\if@mincl +\DeclareOption{mpinclude}{% + \@mincltrue + } +\DeclareOption{mpexclude}{ + \@minclfalse + } +\newcommand*\@ptsize{% + } +\DeclareOption{10pt}{% + \renewcommand*\@ptsize{0} + } +\DeclareOption{11pt}{% + \renewcommand*\@ptsize{1} + } +\DeclareOption{12pt}{% + \renewcommand*\@ptsize{2} + } +\DeclareOption{oneside}{% + \@twosidefalse \@mparswitchfalse + } +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\setlength{\overfullrule}{5pt}} +\DeclareOption{final}{% + \setlength{\overfullrule}{\z@} + } +\newif\if@titlepage +\@titlepagetrue +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\newif\if@openright +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}} +\DeclareOption{openbib}{% + \AtEndOfPackage{% + \renewcommand*\@openbib@code{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + }% + \renewcommand*\newblock{\par}}% +} +\newif\if@abstrt +\DeclareOption{abstracton}{\@abstrttrue} +\DeclareOption{abstractoff}{\@abstrtfalse} +\newif\if@parskip +\newcommand*{\scr@parskip}{\setlength{\parskip}{\z@}} +\newcommand*{\scr@parfillskip}{\setlength{\parfillskip}{\z@}} +\DeclareOption{parskip}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{1em \@plus 1fil}}} +\DeclareOption{parskip-}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parskip+}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.3333\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parskip*}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .1\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.25\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{1em \@plus 1fil}}} +\DeclareOption{halfparskip-}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip+}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.3333\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{halfparskip*}{\@parskiptrue% + \renewcommand*{\scr@parskip}{% + \setlength{\parskip}{.5\baselineskip}% + \addtolength{\parskip}{\z@ \@plus .5\baselineskip}} + \renewcommand*{\scr@parfillskip}{% + \setlength{\parfillskip}{.25\linewidth} + \addtolength{\parfillskip}{\z@ \@plus 1fil}}} +\DeclareOption{parindent}{\@parskipfalse} +\DeclareOption{pointednumbers} + {\AtEndOfClass{\@altsecnumformattrue + \global\let\@altsecnumformatfalse\@altsecnumformattrue}} +\DeclareOption{pointednumber} + {\AtEndOfClass{\@altsecnumformattrue + \global\let\@altsecnumformatfalse\@altsecnumformattrue} + \ClassError + {scrreprt} + {undefined option `pointednumber' instead of `pointednumbers'} + {You've used the class-option `pointednumber'.\MessageBreak + This name was an implementation-error at versions from 2.3h till + 2.4f.\MessageBreak + The correct name is `pointednumbers'. + Change this at your document.\MessageBreak + If you'll continue, the option `pointednumbers' will be used.}} +\DeclareOption{pointlessnumbers} + {\AtEndOfClass{\@altsecnumformatfalse + \global\let\@altsecnumformattrue\@altsecnumformatfalse}} +\DeclareOption{pointlessnumber} + {\AtEndOfClass{\@altsecnumformatfalse + \global\let\@altsecnumformattrue\@altsecnumformatfalse} + \ClassError + {scrreprt} + {undefined option `pointlessnumber' instead of `pointlessnumbers'} + {You've used the class-option `pointlessnumber'.\MessageBreak + This name was an implementation-error at versions from 2.3h till + 2.4f.\MessageBreak + The correct name is `pointlessnumbers'. + Change this at your document.\MessageBreak + If you'll continue, the option `pointlessnumbers' will be used.}} +\newcommand\@bigheadings + {\AtEndOfClass{ + \renewcommand*{\chapterheadstartvskip}{\vspace*{2.3\baselineskip}} + \renewcommand*{\chapterheadendvskip}{\vspace{1.725\baselineskip + \@plus .115\baselineskip \@minus .192\baselineskip}} + \let\size@part\Huge + \let\size@partnumber\huge + \let\size@chapter\huge + \let\size@section\Large + \let\size@subsection\large + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{bigheadings}{\@bigheadings} +\DeclareOption{bigheading}{\@bigheadings + \ClassError + {scrreprt} + {undefined option `bigheading' instead of `bigheadings'} + {You've used the old option name `bigheading'!\MessageBreak + The correct name of the option is `bigheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `bigheadings' will be used.}} +\newcommand\@normalheadings + {\AtEndOfClass{ + \renewcommand*{\chapterheadstartvskip}{\vspace*{2\baselineskip}} + \renewcommand*{\chapterheadendvskip}{\vspace{1.5\baselineskip + \@plus .1\baselineskip \@minus .167\baselineskip}} + \let\size@part\huge + \let\size@partnumber\huge + \let\size@chapter\LARGE + \let\size@section\Large + \let\size@subsection\large + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{normalheadings}{\@normalheadings} +\DeclareOption{normalheading}{\@normalheadings + \ClassError + {scrreprt} + {undefined option `normalheading' instead of `normalheadings'} + {You've used the old option name `normalheading'!\MessageBreak + The correct name of the option is `normalheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `normalheadings' will be used.}} +\newcommand\@smallheadings + {\AtEndOfClass{ + \renewcommand*{\chapterheadstartvskip}{\vspace*{1.8\baselineskip}} + \renewcommand*{\chapterheadendvskip}{\vspace{1.35\baselineskip + \@plus 0.09\baselineskip \@minus .15\baselineskip}} + \let\size@part\LARGE + \let\size@partnumber\LARGE + \let\size@chapter\Large + \let\size@section\large + \let\size@subsection\normalsize + \let\size@subsubsection\normalsize + \let\size@paragraph\normalsize + \let\size@subparagraph\normalsize}} +\DeclareOption{smallheadings}{\@smallheadings} +\DeclareOption{smallheading}{\@smallheadings + \ClassError + {scrreprt} + {undefined option `smallheading' instead of `smallheadings'} + {You've used the old option name `smallheading'!\MessageBreak + The correct name of the option is `smallheadings'.\MessageBreak + The old name was an implementation error from\MessageBreak + version 2.3h till 2.4f.\MessageBreak + You should change this at your document!\MessageBreak + If you'll continue, option `smallheadings' will be used.}} +\newif\if@chapterprefix +\DeclareOption{chapterprefix}{\@chapterprefixtrue} +\DeclareOption{nochapterprefix}{\@chapterprefixfalse} +\DeclareOption{appendixprefix}{\def\appendixmore{\@chapterprefixtrue}} +\DeclareOption{noappendixprefix}{\def\appendixmore{\@chapterprefixfalse}} +\newcommand*{\cleardoublestandardpage}{} +\let\cleardoublestandardpage\cleardoublepage +\newcommand*{\cleardoubleemptypage}{\clearpage% + {\thispagestyle{empty}\cleardoublestandardpage}} +\newcommand*{\cleardoubleplainpage}{\clearpage% + {\thispagestyle{plain}\cleardoublestandardpage}} +\DeclareOption{cleardoubleempty}{% + \let\cleardoublepage\cleardoubleemptypage} +\DeclareOption{cleardoubleplain}{% + \let\cleardoublepage\cleardoubleplainpage} +\DeclareOption{cleardoublestandard}{% + \let\cleardoublepage\cleardoublestandardpage} +\DeclareOption{liststotoc}{% + \AtEndOfClass{% + \renewcommand*{\float@listhead}[1]{% + \addchap{#1} + \@mkboth{#1}{#1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% + }} + } +\DeclareOption{liststotocnumbered}{% + \AtEndOfClass{% + \renewcommand*{\float@listhead}[1]{% + \chapter{#1} + \@mkboth{\chaptermarkformat #1}{\chaptermarkformat #1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% + }} + } +\DeclareOption{bibtotoc} + {\AtEndOfClass{% + \renewcommand*\bib@heading{% + \addchap{\bibname} + \@mkboth{\bibname}{\bibname} + }}} +\DeclareOption{bibtotocnumbered} + {\AtEndOfClass{% + \renewcommand*\bib@heading{% + \chapter{\bibname} + \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname} + }}} +\DeclareOption{idxtotoc} + {\AtEndOfClass{% + \renewcommand*\idx@heading{% + \if@openright\cleardoublepage\else\clearpage\fi% + \twocolumn[\addchap{\indexname}] + \@mkboth{\indexname}{\indexname}% + }}} +\newif\if@tocleft +\DeclareOption{tocleft}{\@toclefttrue} +\DeclareOption{tocindent}{\@tocleftfalse} +\newif\if@dynlist +\DeclareOption{listsleft}{\@dynlisttrue} +\DeclareOption{listsindent}{\@dynlistfalse} +\if@compatibility\else + \DeclareOption*{% + \x@paper + } +\fi +\ExecuteOptions{% + final,11pt,onecolumn% + ,headnosepline,footnosepline,bigheadings% + ,nochapterprefix,oneside,openany,abstractoff% +} +\ProcessOptions\relax +\RequirePackage{scrlfile} +\newif\if@restonecol +\@tempcnta=10 +\advance\@tempcnta by\@ptsize\relax +\xdef\@tempa{% +size% +\the\@tempcnta.clo} +\InputIfFileExists{\@tempa}{}{% + \ClassError + {scrreprt} + {File `\@tempa' not found!\MessageBreak + This error is fatal!} + {To every fontsize you want to select by class option,\MessageBreak + you need a corresponding + size-class-option-file declaring all\MessageBreak + the macros based on fontsize.\MessageBreak + Ask a wizzard for more information or use another + fontsize.\MessageBreak + You cannot continue!} + \batchmode \csname @@end\endcsname \end +} +\let\test@number =\undefined +\let\gobble@till@next =\undefined +\let\@BCOR =\undefined +\let\@@BCOR =\undefined +\let\@DIV =\undefined +\let\@@DIV =\undefined +\let\@headlines =\undefined +\let\@@headlines =\undefined +\let\x@paper =\undefined +\let\x@@paper =\undefined +\newcommand*{\scr@file@date@version}{} +\def\scr@file@date@version#1/#2/#3 #4 #5\@nil{#1/#2/#3 #4} +\RequirePackage{typearea}[\expandafter\expandafter\expandafter% + \scr@file@date@version\csname ver@% + scrreprt% + .cls\endcsname\@nil] +\setlength{\lineskip}{\p@} +\setlength{\normallineskip}{\p@} +\setlength{\columnsep}{10\p@} +\setlength{\columnseprule}{\z@} +\g@addto@macro{\@listi}{\@list@extra} +\let\@listI=\@listi +\g@addto@macro{\@listii}{\@list@extra} +\g@addto@macro{\@listiii}{\@list@extra} +\newcommand*{\add@extra@listi}[1]{% + \expandafter\let\csname #1@listi\endcsname=\@listi + \def\@listi{\csname #1@listi\endcsname\@list@extra}% +} +\g@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}} +\g@addto@macro{\small}{\protect\add@extra@listi{sml}} +\newcommand*{\@list@extra}{} +\newcommand*{% + \@parskip@indent}{% + \if@parskip + \setlength{\parindent}{\z@}% + \scr@parskip + \scr@parfillskip + \renewcommand*{\@list@extra}{% + \topsep\z@ \parsep\parskip \itemsep\z@}% + \else + \setlength{\parindent}{1em}% + \setlength{\parskip}{\z@ \@plus \p@}% + \setlength{\parfillskip}{\z@ \@plus 1fil}% + \renewcommand*{\@list@extra}{}% + \fi +}% +\@parskip@indent +\AtBeginDocument{% + \if@parskip\ifdim\parfillskip=\z@ \scr@parfillskip\fi\fi +} +\@lowpenalty = 51 +\@medpenalty =151 +\@highpenalty =301 +\setcounter{topnumber}{2} +\renewcommand*\topfraction{.7} +\setcounter{bottomnumber}{1} +\renewcommand*\bottomfraction{.3} +\setcounter{totalnumber}{3} +\renewcommand*\textfraction{.2} +\renewcommand*\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\renewcommand*\dbltopfraction{.7} +\renewcommand*\dblfloatpagefraction{.5} +\if@compatibility + \newcommand*\headincludeon{\@hincltrue} + \newcommand*\headincludeoff{\@hinclfalse} + \newcommand*\headseplineon{\@hsltrue \@hincltrue} + \newcommand*\headseplineoff{\@hslfalse \@hinclfalse} + \newcommand*\footincludeon{\@fincltrue} + \newcommand*\footincludeoff{\@finclfalse} + \newcommand*\footseplineon{\@fsltrue \@fincltrue} + \newcommand*\footseplineoff{\@fslfalse \@finclfalse} +\fi +\newcommand*{\set@tempdima@hw}{% + \setlength{\@tempdima}{\textwidth}% + \if@mincl + \addtolength{\@tempdima}{\marginparsep}% + \addtolength{\@tempdima}{\marginparwidth}% + \fi + } +\if@twoside + \renewcommand*{\ps@plain}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{}% + \renewcommand*{\@evenfoot}{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\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@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{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}% + \renewcommand*{\chaptermark}[1]{% + \markboth {\ifnum \c@secnumdepth >\m@ne + \chaptermarkformat\fi + ##1}{}}% + \renewcommand*{\sectionmark}[1]{% + \markright {\ifnum \c@secnumdepth >\z@ + \sectionmarkformat\fi + ##1}}} + \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@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{{\pnumfont\thepage\hfil}}}}}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage}}}}\hss}% + \renewcommand*{\chaptermark}[1]{} + \renewcommand*{\sectionmark}[1]{}} +\else + \renewcommand*{\ps@plain}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}}\hss}} + \newcommand*{\ps@headings}{\let\@mkboth\markboth + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark\hfil}} + \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}\hss}}% + \renewcommand*{\sectionmark}[1]{} + \renewcommand*{\chaptermark}[1]{\markright {\ifnum \c@secnumdepth >\m@ne + \chaptermarkformat\fi + ##1}}} + \newcommand*{\ps@myheadings}{\let\@mkboth\@gobbletwo + \renewcommand*{\@evenhead}{}% + \renewcommand*{\@oddhead}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{\headfont\hfil\strut\rightmark\hfil}} + \if@hsl \vskip 1.5\p@ \hrule \fi}}\hss}% + \renewcommand*{\@evenfoot}{}% + \renewcommand*{\@oddfoot}{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \if@fsl \hrule \vskip 3\p@ \fi + \hb@xt@ \@tempdima{{\pnumfont\hfil\thepage\hfil}}}}\hss}% + \renewcommand*{\chaptermark}[1]{}% + \renewcommand*{\sectionmark}[1]{}} +\fi +\newcommand*{\titlepagestyle}{plain} +\newcommand*{\partpagestyle}{plain} +\newcommand*{\chapterpagestyle}{plain} +\newcommand*{\indexpagestyle}{plain} +\newcommand*{\@extratitle}{} +\newcommand{\extratitle}[1]{\gdef\@extratitle{#1}} +\newcommand*{\@titlehead}{} +\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}} +\newcommand*{\@subject}{} +\newcommand*{\subject}[1]{\gdef\@subject{#1}} +\newcommand*{\@publishers}{} +\newcommand{\publishers}[1]{\gdef\@publishers{#1}} +\newcommand*{\@uppertitleback}{} +\newcommand{\uppertitleback}[1]{\gdef\@uppertitleback{#1}} +\newcommand*{\@lowertitleback}{} +\newcommand{\lowertitleback}[1]{\gdef\@lowertitleback{#1}} +\newcommand*{\@dedication}{} +\newcommand{\dedication}[1]{\gdef\@dedication{#1}} +\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}} +\if@titlepage + \newcommand*\maketitle[1][1]{\begin{titlepage}% + \setcounter{page}{#1} + \let\footnotesize\small + \let\footnoterule\relax + \let\footnote\thanks + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \ifx\@extratitle\@empty \else + \noindent\@extratitle\next@tpage\cleardoublepage + \thispagestyle{empty} + \fi + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null\vfill + \begin{center} + \ifx\@subject\@empty \else + {\Large \@subject \par} + \vskip 3em + \fi + {\titlefont\huge \@title\par} + \vskip 3em + {\Large \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par} + \vskip 1.5em + {\Large \@date \par} + \vskip \z@ \@plus3fill + {\Large \@publishers \par} + \vskip 3em + \end{center}\par + \@thanks + \vfill\null + \if@twoside\next@tpage + \noindent\begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \noindent\begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage\null\vfill + {\centering \Large \@dedication \par} + \vskip \z@ \@plus3fill + \if@twoside \next@tpage\cleardoublepage \fi + \fi + \end{titlepage} + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax} +\else + \newcommand*\maketitle[1][1]{\par + \@tempcnta=#1\relax\ifnum\@tempcnta=1\else + \ClassWarning{scrreprt} + {Optional argument of \string\maketitle\space ignored + at\MessageBreak + notitlepage-mode}\fi + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{\titlepagestyle}\@thanks + \endgroup + \setcounter{footnote}{0}% + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax} +\fi +\newcommand*{\@maketitle}{% + \clearpage + \let\footnote\thanks + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \fi + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null + \vskip 2em% + \begin{center}% + \ifx\@subject\@empty \else + {\Large \@subject \par} + \vskip 1.5em + \fi + {\titlefont\huge \@title \par}% + \vskip 1.5em% + {\Large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\Large \@date \par}% + \vskip \z@ \@plus 1em + {\Large \@publishers \par} + \ifx\@dedication\@empty \else + \vskip 2em + {\Large \@dedication \par} + \fi + \end{center}% + \par + \vskip 2em} +\renewcommand*{\numberline}[1]{% + \hb@xt@\@tempdima{#1\autodot\hfil}} +\newcommand*\chaptermark[1]{} +\setcounter{secnumdepth}{2} +\newcounter{part} +\newcounter{chapter} +\newcounter{section}[chapter] +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +\renewcommand*\thepart{\@Roman\c@part} +\renewcommand*\thechapter{\@arabic\c@chapter} +\renewcommand*\thesection{\thechapter.\@arabic\c@section} +\renewcommand*\thesubsection{\thesection.\@arabic\c@subsection} +\renewcommand*\thesubsubsection{\thesubsection.\@arabic\c@subsubsection} +\renewcommand*\theparagraph{\thesubsubsection.\@arabic\c@paragraph} +\renewcommand*\thesubparagraph{\theparagraph.\@arabic\c@subparagraph} +\newcommand*\@chapapp{\chaptername} +\newcommand\part{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{\partpagestyle}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \null\vfil% + \vbox to\z@{\vss\use@preamble{part@o}\strut\par}% + \vskip-\baselineskip\nobreak% + \secdef\@part\@spart} +\newcommand*{\@part}{} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \@maybeautodot\thepart% + \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \partmark{#1}% + {\@parskipfalse\@parskip@indent\centering + \interlinepenalty \@M + \normalfont\sectfont + \ifnum \c@secnumdepth >-2\relax + \size@partnumber\partformat + \par + \vskip 20\p@ + \fi + \size@part #2\strut\par}% + \@endpart} +\newcommand*{\@spart}[1]{% + {\@parskipfalse\@parskip@indent\centering + \interlinepenalty \@M + \normalfont + \sectfont\size@part #1\strut\@mkboth{}{}\par}% + \@endpart} +\newcommand*{\@endpart}{\vbox to\z@{\use@preamble{part@u}\vss}% + \vfil\newpage + \if@twoside\if@openright + \null% + \thispagestyle{empty}% + \newpage + \fi\fi + \if@tempswa + \twocolumn + \fi} +\newcommand*{\partmark}[1]{\@mkboth{}{}} +\newcommand\addpart{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{\partpagestyle}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \null\vfil + \secdef\@addpart\@saddpart} +\newcommand*{\@addpart}{} +\def\@addpart[#1]#2{\addcontentsline{toc}{part}{#1}\@spart{#2}} +\newcommand*{\@saddpart}{} +\def\@saddpart#1{\@spart{#1}} +\newif\if@at@twocolumn +\newcommand*\scr@topnewpage{} +\let\scr@topnewpage\@topnewpage +\long\def\@topnewpage[#1]{% + \@at@twocolumntrue\scr@topnewpage[{#1}]\@at@twocolumnfalse} +\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{\chapterpagestyle}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\newcommand*{\@chapter}{} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \@maybeautodot\thechapter% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \@ifundefined{float@addtolists}{}{% + \float@addtolists{\protect\addvspace{10\p@}}} + \if@twocolumn + \if@at@twocolumn + \@makechapterhead{#2}% + \else + \@topnewpage[\@makechapterhead{#2}]% + \fi + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\newcommand*{\chapterheadstartvskip}{} +\newcommand*{\chapterheadendvskip}{} +\newcommand*{\@@makechapterhead}[1]{\chapterheadstartvskip% + {\normalfont\sectfont\size@chapter + \setlength{\parindent}{\z@}\setlength{\parfillskip}{\z@ \@plus 1fil}% + \if@chapterprefix\let\@tempa\raggedsection\else\let\@tempa\@hangfrom\fi% + \@tempa{\ifnum \c@secnumdepth >\m@ne% + \chapterformat\fi}% + \if@chapterprefix\par\nobreak\vskip.5\baselineskip\fi% + {\raggedsection \interlinepenalty \@M #1\par}}% + \nobreak\chapterheadendvskip% + } +\newcommand*{\use@chapter@o@preamble}{% + {\settoheight{\@tempdima}{\vbox{\chapterheadstartvskip}}% + \settodepth{\@tempdimb}{\vbox{\chapterheadstartvskip}}% + \addtolength{\@tempdima}{\@tempdimb}% + \setbox0\vbox{\use@preamble{chapter@o}% + \vskip-\parskip}% + \setlength{\@tempdimb}{\ht0}% + \addtolength{\@tempdimb}{\dp0}% + \vbox to \z@{% + \vbox to \@tempdima{\vfill\box0}% + \vskip-\@tempdima% + }% + \ifdim \@tempdimb>\@tempdima% + \addtolength{\@tempdimb}{-\@tempdima}% + \ClassWarning{% + scrreprt% + }{% + preamble before chapter is \the\@tempdimb\space too + high.\MessageBreak + To avoid the overfull \string\vbox\space you may + redefine\MessageBreak + \string\chapterheadstartvskip\space at the preamble of + your\MessageBreak + document. You may also change + \string\setchapterpreamble\MessageBreak + before the command, which generates the message + about\MessageBreak + an overfull \string\vbox + }% + \fi% + } +} +\newcommand*{\@makechapterhead}[1]{% + \use@chapter@o@preamble% + \@@makechapterhead{#1}% + \use@preamble{chapter@u}\nobreak% + } +\newcommand*{\@schapter}[1]{\if@twocolumn + \if@at@twocolumn + \@makeschapterhead{#1}% + \else + \@topnewpage[\@makeschapterhead{#1}]% + \fi + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\newcommand*{\@@makeschapterhead}[1]{\chapterheadstartvskip% + {\normalfont\sectfont\size@chapter + \setlength{\parindent}{\z@}\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection \interlinepenalty \@M #1\par}% + \nobreak\chapterheadendvskip% +} +\newcommand*{\@makeschapterhead}[1]{% + \use@chapter@o@preamble% + \@@makeschapterhead{#1}% + \use@preamble{chapter@u}\nobreak% + } +\newcommand*{\use@preamble}[1]{% + \@ifundefined{#1@preamble}{}{% + \@nameuse{#1@preamble}% + \global\expandafter\let\csname#1@preamble\endcsname=\relax}% +} +\newcommand*{\set@preamble}[1]{% + \@ifnextchar [ + {\set@@preamble{#1}}{\set@@@preamble{#1}[][\hsize]}} +\newcommand*{\set@@preamble}{} +\def\set@@preamble#1[#2]{% + \@ifnextchar [ + {\set@@@preamble{#1}[{#2}]}{\set@@@preamble{#1}[{#2}][\hsize]}} +\newcommand{\set@@@preamble}{} +\long\def\set@@@preamble#1[#2][#3]#4{% + {% + \def\prmbl@pos{#2}\let\prmbl@hpos\relax\let\prmbl@vpos\relax% + \expandafter \@tfor \expandafter \@tempa% + \expandafter :\expandafter =\prmbl@pos% + \do{% + \if \@tempa l% + \set@preamble@hpos{0}{#2}% + \fi% + \if \@tempa c% + \set@preamble@hpos{1}{#2}% + \fi% + \if \@tempa r% + \set@preamble@hpos{2}{#2}% + \fi% + \if \@tempa u% + \set@preamble@vpos{0}{#2}% + \fi% + \if \@tempa o% + \set@preamble@vpos{1}{#2}% + \fi% + } + \@ifundefined{prmbl@hpos}{\def\prmbl@hpos{0}}{}% + \@ifundefined{prmbl@vpos}{\def\prmbl@vpos{0}}{}% + \ifcase\prmbl@hpos + \ifcase\prmbl@vpos + \set@@@@preamble{#1@u}{t}{#3}{}{\hfil}{#4} + \else + \set@@@@preamble{#1@o}{b}{#3}{}{\hfil}{#4} + \fi + \or + \ifcase\prmbl@vpos + \set@@@@preamble{#1@u}{t}{#3}{\hfil}{\hfil}{#4} + \else + \set@@@@preamble{#1@o}{b}{#3}{\hfil}{\hfil}{#4} + \fi + \else + \ifcase\prmbl@vpos + \set@@@@preamble{#1@u}{t}{#3}{\hfil}{}{#4} + \else + \set@@@@preamble{#1@o}{b}{#3}{\hfil}{}{#4} + \fi + \fi + } +} +\newcommand{\set@@@@preamble}[6]{% + \expandafter\gdef\csname #1@preamble\endcsname{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}}} +\newcommand*{\set@preamble@hpos}[2]{% + \@ifundefined{prbml@hpos}{% + \def\prmbl@hpos{#1}% + }{% + \ifnum \prmbl@hpos=0\relax\else% + \ClassError{% + scrreprt% + }{% + inconsistent hpos options% + }{% + You said `#2' as position option. But you have + to\MessageBreak + use only one from `l', `r' or `c' not two of + these.\MessageBreak + If you'll continue only first hpos option will be + used}% + \fi}} +\newcommand*{\set@preamble@vpos}[2]{% + \@ifundefined{prbml@vpos}{% + \def\prmbl@vpos{#1}% + }{% + \ifnum \prmbl@vpos=0\relax\else% + \ClassError{% + scrreprt% + }{% + inconsistent vpos options% + }{% + You said `#2' as position option. But you have + to\MessageBreak + use only one from `o' or `u' not two of + these.\MessageBreak + If you'll continue only first vpos option will be + used}% + \fi}} +\newcommand{\dictum}[2][]{\par% + \begingroup + \raggeddictum\parbox{\dictumwidth}{% + {\@dictumfont{\raggeddictumtext #2\strut\par}% + \def\@tempa{#1}\ifx\@tempa\@empty\else% + {\raggeddictumtext\vskip-1ex\hrulefill\par}% + \raggeddictumauthor\@dictumauthorfont\dictumauthorformat{#1}% + \strut\par% + \fi% + }% + }\par% + \endgroup +} +\newcommand*{\dictumwidth}{.3333\textwidth} +\newcommand*{\raggeddictum}{\raggedleft} +\newcommand*{\dictumauthorformat}[1]{(#1)} +\newcommand*{\raggeddictumtext}{\raggedright} +\newcommand*{\raggeddictumauthor}{\raggedleft} +\newcommand*{\@dictumfont}{\normalfont\normalcolor\sffamily\small} +\newcommand*{\@dictumauthorfont}{\itshape} +\newcommand*{\scr@fnt@dictumtext}{\@dictumfont} +\newcommand*{\scr@fnt@dictumauthor}{\@dictumauthorfont} +\newcommand*{\scr@fnt@instead@dictum}{dictumtext} +\newcommand*{\setchapterpreamble}{\set@preamble{chapter}} +\newcommand*{\chapter@u@preamble}{} +\let\chapter@u@preamble\relax +\newcommand*{\chapter@o@preamble}{} +\let\chapter@o@preamble\relax +\newcommand*{\setpartpreamble}{\set@preamble{part}} +\newcommand*{\part@preamble@u}{} +\let\part@preamble@u\relax +\newcommand*{\part@preamble@o}{} +\let\part@preamble@o\relax +\newcommand*\addsec{\secdef\@addsec\@saddsec} +\newcommand*{\@addsec}{} +\def\@addsec[#1]#2{\section*{#2}\addcontentsline{toc}{section}{#1} + \if@twoside\ifx\@mkboth\markboth\markright{#1}\fi\fi} +\newcommand*{\@saddsec}[1]{\section*{#1}\@mkboth{}{}} +\newcommand\addchap{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{\chapterpagestyle}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@addchap\@saddchap% +} +\newcommand*{\@addchap}{} +\def\@addchap[#1]#2{\@schapter{#2}% + \addcontentsline{toc}{chapter}{#1}% + \if@twoside\@mkboth{#1}{}\else\@mkboth{}{#1}\fi} +\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}} +\newcommand\section{\@startsection{section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@section\nobreak}} +\newcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subsection\nobreak}} +\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subsubsection\nobreak}} +\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@paragraph\nobreak}} +\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\setlength{\parfillskip}{\z@ \@plus 1fil}% + \raggedsection\normalfont\sectfont\nobreak\size@subparagraph\nobreak}} +\newcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex + {\parindent \z@ + \raggedsection\normalfont\sectfont\nobreak#1\par\nobreak}\nobreak + \@afterheading} +\let\raggedsection\raggedright +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\setlength{\skip\@mpfootins}{\skip\footins} +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +\@addtoreset{equation}{chapter} +\renewcommand*\theequation{% + \thechapter.% + \@arabic\c@equation} +\if@twocolumn + \setlength{\leftmargini}{2em} +\else + \setlength{\leftmargini}{2.5em} +\fi +\setlength{\leftmarginii}{2.2em} +\setlength{\leftmarginiii}{1.87em} +\setlength{\leftmarginiv}{1.7em} +\if@twocolumn + \setlength{\leftmarginv}{.5em} + \setlength{\leftmarginvi}{.5em} +\else + \setlength{\leftmarginv}{1em} + \setlength{\leftmarginvi}{1em} +\fi +\setlength{\leftmargin}{\leftmargini} +\setlength{\labelsep}{.5em} +\setlength{\labelwidth}{\leftmargini} +\addtolength{\labelwidth}{-\labelsep} +\@beginparpenalty=-\@lowpenalty +\@endparpenalty =-\@lowpenalty +\@itempenalty =-\@lowpenalty +\renewcommand*\theenumi{\@arabic\c@enumi} +\renewcommand*\theenumii{\@alph\c@enumii} +\renewcommand*\theenumiii{\@roman\c@enumiii} +\renewcommand*\theenumiv{\@Alph\c@enumiv} +\newcommand*\labelenumi{\theenumi.} +\newcommand*\labelenumii{\theenumii)} +\newcommand*\labelenumiii{\theenumiii.} +\newcommand*\labelenumiv{\theenumiv.} +\renewcommand*\p@enumii{\theenumi} +\renewcommand*\p@enumiii{\p@enumii(\theenumii)} +\renewcommand*\p@enumiv{\p@enumiii\theenumiii} +\newcommand*\labelitemi{\textbullet} +\newcommand*\labelitemii{\normalfont\bfseries\textendash} +\newcommand*\labelitemiii{\textasteriskcentered} +\newcommand*\labelitemiv{\textperiodcentered} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*{\descriptionlabel}[1]{\hspace\labelsep + \descfont #1} +\newenvironment{labeling}[2][] + {\def\sc@septext{#1} + \list{}{\settowidth{\labelwidth}{#2#1} + \leftmargin\labelwidth \advance\leftmargin by \labelsep + \let\makelabel\labelinglabel}} + {\endlist} +\newcommand\labelinglabel[1]{#1\hfil\sc@septext} +\newenvironment{verse} + {\let\\=\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item\relax} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent 1em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item\relax} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item\relax} + {\endlist} +\newenvironment{addmargin}{% + \@tempswafalse\@addmargin + }{\endlist} +\newenvironment{addmargin*}{% + \@tempswafalse + \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \@addmargin + }{\endlist} +\newcommand*{\@addmargin}[2][\@tempa]{% + \@tempcnta=\@listdepth + \list{}{% + \if@tempswa + \def\@tempa{\leftmargin}% + \setlength{\leftmargin}{#2}% + \setlength{\rightmargin}{#1}% + \else + \def\@tempa{\rightmargin}% + \setlength{\rightmargin}{#2}% + \setlength{\leftmargin}{#1}% + \fi + \setlength{\listparindent}{\parindent}% + \setlength{\itemsep}{\parskip}% + \setlength{\itemindent}{\z@}% + \setlength{\topsep}{\z@}% + \setlength{\parsep}{\parskip}% + \setlength{\partopsep}{\parskip}% + \let\makelabel\@gobble + \setlength{\labelwidth}{\z@} + \@listdepth=\@tempcnta% + }% + \item[]% + } +\if@titlepage + \newenvironment{abstract}{% + \titlepage + \null\vfil + \@beginparpenalty\@lowpenalty + \if@abstrt + \begin{center} + \normalfont\sectfont\nobreak\abstractname + \@endparpenalty\@M + \end{center}\fi} + {\par\vfil\null\endtitlepage} +\else + \newenvironment{abstract}{% + \if@twocolumn\if@abstrt + \addsec*{\abstractname}\fi% + \else + \if@abstrt + \small + \begin{center}% + {\normalfont\sectfont\nobreak\abstractname + \vspace{-.5em}\vspace{\z@}}% + \end{center}\fi% + \quotation + \fi} + {\if@twocolumn\else\endquotation\fi} +\fi +\newenvironment{titlepage} + {% + \cleardoublepage + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \if@compatibility + \setcounter{page}{0} + \fi}% + {\if@restonecol\twocolumn \else \newpage \fi + } +\newcommand\marginline[1]{\marginpar[\raggedleft{#1}]{\raggedright #1}} +\newcommand*\appendix{\par% + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \renewcommand*\@chapapp{\appendixname}% + \renewcommand*\thechapter{\@Alph\c@chapter}% + \@ifundefined{appendixmore}{}{\appendixmore}} +\newcounter{figure}[chapter] +\renewcommand*\thefigure{% + \thechapter.% + \@arabic\c@figure} +\newcommand*{\fps@figure}{tbp} +\newcommand*{\ftype@figure}{1} +\newcommand*{\ext@figure}{lof} +\newcommand*{\fnum@figure}{\figureformat} +\newenvironment{figure} + {\let\caption\captionbelow\@float{figure}} + {\end@float} +\newenvironment{figure*} + {\let\caption\captionbelow\@dblfloat{figure}} + {\end@dblfloat} +\newcounter{table}[chapter] +\renewcommand*\thetable{% + \thechapter.% + \@arabic\c@table} +\newcommand*{\fps@table}{tbp} +\newcommand*{\ftype@table}{2} +\newcommand*{\ext@table}{lot} +\newcommand*{\fnum@table}{\tableformat} +\newenvironment{table} + {\if@tablecaptionabove\let\caption\captionabove% + \else\let\caption\captionbelow\fi\@float{table}} + {\end@float} +\newenvironment{table*} + {\if@tablecaptionabove\let\caption\captionabove% + \else\let\caption\captionbelow\fi\@dblfloat{table}} + {\end@dblfloat} +\newcommand*{\new@tpo@label}[2]{% + \expandafter\gdef\csname scr@tpo@#1\endcsname{#2}% + } +\newcommand*{\ref@tpo@label}[1]{% + \expandafter\ifx\csname scr@tpo@#1\endcsname\relax\value{page}% + \else\csname scr@tpo@#1\endcsname\fi} +\newcommand*{\scr@tpo}{0} +\newcommand*{\is@thispageodd}{% + \begingroup% + \@tempcnta=\scr@tpo% + \advance\@tempcnta by\@ne% + \xdef\scr@tpo{\the\@tempcnta}% + \@bsphack + \protected@write\@auxout{}{% + \string\new@tpo@label{\scr@tpo}{\noexpand\the\value{page}}}% + \@esphack + \count@\ref@tpo@label{\scr@tpo}\relax + \ifodd\count@ + \aftergroup\thispagewasoddtrue + \else + \aftergroup\thispagewasoddfalse + \fi + \endgroup +} +\AtEndDocument{% + \if@filesw\immediate\write\@auxout{% + \string\gdef\string\scr@tpo@lst{\scr@tpo}}\fi% + \ifx\scr@tpo@lst\scr@tpo\else\ifnum \scr@tpo>0 + \ClassWarningNoLine{% + scrreprt% + }{Rerun to get odd- an even-page-stuff right}% + \fi\fi + } +\newif\ifthispagewasodd +\newcommand{\ifthispageodd}{% + \is@thispageodd + \ifthispagewasodd + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{10\p@} +\setlength\belowcaptionskip{0\p@} +\newif\if@captionabove\@captionabovefalse +\newcommand{\scr@caption}{} +\AtBeginDocument{\let\scr@caption\caption} +\newcommand{\captionabove}{\@captionabovetrue\scr@caption} +\newcommand{\captionbelow}{\@captionabovefalse\scr@caption} +\newcommand*{\scap@pos}{r} +\newcommand*{\scap@valign}{b} +\newcommand*{\scap@caption}{} +\newcommand*{\scap@width}{\linewidth} +\newcommand*{\scap@move}{\z@} +\newcommand*{\scap@currentlabel}{} +\newif\ifscap@alt +\newcommand*{\@captionbeside}{} +\long\def\@captionbeside[#1]#2{% + \@ifnextchar [%] + {\@@captionbeside[{#1}]{#2}} + {\c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@captionbeside}{} +\long\def\@@captionbeside[#1]#2[#3]{% + \def\scap@pos{#3}% + \@ifnextchar [%] + {\@@@captionbeside[{#1}]{#2}} + {\c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@@captionbeside}{} +\long\def\@@@captionbeside[#1]#2[#3]{% + \def\scap@width{#3}% + \@ifnextchar [%] + {\@@@@captionbeside[{#1}]{#2}} + {\setlength{\@tempdima}{#3}% + \addtolength{\@tempdima}{-\linewidth}% + \setlength{\@tempdima}{-.5\@tempdima}% + \edef\scap@move{\the\@tempdima}% + \c@pti@nb@sid@[{#1}]{#2}}% + } +\newcommand*{\@@@@captionbeside}{} +\long\def\@@@@captionbeside[#1]#2[#3]{% + \def\scap@move{#3}% + \@ifstar + {\scap@alttrue\c@pti@nb@sid@[{#1}]{#2}} + {\scap@altfalse\c@pti@nb@sid@[{#1}]{#2}}% + } +\newbox\c@pti@nb@sid@b@x +\newcommand{\c@pti@nb@sid@}{} +\long\def\c@pti@nb@sid@[#1]#2{% + \def\scap@caption{\captionbelow[{#1}]{#2}}% + \begin{lrbox}{\c@pti@nb@sid@b@x}% + } +\newenvironment*{captionbeside}{% + \@dblarg\@captionbeside% + }{% + \end{lrbox}% + \settowidth{\@tempdima}{\usebox\c@pti@nb@sid@b@x}% + \setlength{\@tempdimb}{\scap@width}% + \addtolength{\@tempdimb}{-\@tempdima}% + \addtolength{\@tempdimb}{-\columnsep}% + \ifdim \@tempdimb<2em + \ClassWarning{% + scrreprt% + }{% + caption beside will be very, very small.\MessageBreak + In most cases this will result in overfull and + underfull\MessageBreak + \string\hbox\space messages% + }% + \fi% + \onelinecaptionsfalse + \setcapwidth[r]{\@tempdimb}% + \let\@tempa\scap@pos + \setlength{\@tempdimc}{\scap@move}% + \if i\scap@pos\def\@tempa{l}\fi + \if o\scap@pos\def\@tempa{r}\fi + \if@twoside + \ifthispageodd{}{% + \if o\scap@pos\def\@tempa{l}\fi + \if i\scap@pos\def\@tempa{r}\fi + \ifscap@alt + \addtolength{\@tempdimc}{\scap@width}% + \addtolength{\@tempdimc}{-\linewidth}% + \setlength{\@tempdimc}{-\@tempdimc}% + \fi + }% + \fi + \hspace*{\@tempdimc}% + \if l\@tempa% + \rlap{% + \parbox[\scap@valign]{\@tempdimb}{\scap@caption + \global\let\scap@currentlabel\@currentlabel}% + \nobreak\hskip\columnsep% + \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}% + }% + \else + \rlap{% + \parbox[\scap@valign]{\wd\c@pti@nb@sid@b@x}{\usebox\c@pti@nb@sid@b@x}% + \nobreak\hskip\columnsep% + \parbox[\scap@valign]{\@tempdimb}{\scap@caption + \global\let\scap@currentlabel\@currentlabel}% + }% + \fi + \par + \aftergroup\let\aftergroup\@currentlabel\aftergroup\scap@currentlabel + } +\newif\ifdofullc@p +\dofullc@ptrue +\newif\if@capbreak\@capbreakfalse +\newcommand*{\setcapindent}{\@ifstar{\@@setcapindent}{\@setcapindent}} +\newcommand*{\@setcapindent}[1]{ + \setlength{\@tempdima}{#1}% + \ifdim\@tempdima>\hsize\addtolength{\@tempdima}{-\hsize}\@capbreaktrue + \else\@capbreakfalse\fi + \edef\cap@indent{\the\@tempdima} + \dofullc@pfalse +} +\newcommand*{\@@setcapindent}[1]{ + \setlength{\@tempdima}{#1}% + \edef\cap@indent{\the\@tempdima} + \dofullc@pfalse\@capbreaktrue +} +\AfterPackage{caption2}{% + \renewcommand*{\setcapindent}{% + \ClassWarning{% + scrreprt% + }{% + You're using package caption2.\MessageBreak + Because of this you should also use \string\captionstyle\space + and\MessageBreak + set length \string\captionindent\space instead if + using\MessageBreak + \string\setcapindent + } + \captionstyle{indent}% + \@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}}} +\newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse} +\AfterPackage{caption2}{% + \renewcommand*{\setcaphanging}{% + \ClassWarning{% + scrreprt% + }{% + You're using package caption2.\MessageBreak + Because of this you should also use \string\captionstyle\MessageBreak + instead of \string\setcaphang + } + \captionstyle{hang}}} +\newcommand{\@makecaption}[2]{% + \if@captionabove\vskip\belowcaptionskip\else\vskip\abovecaptionskip\fi + \@@makecaption\@firstofone{#1}{#2}% + \if@captionabove\vskip\abovecaptionskip\else\vskip\belowcaptionskip\fi} +\newcommand*{\cap@width}{\hsize} +\newcommand*{\cap@left}{\hfill} +\newcommand*{\cap@right}{\hfill} +\newcommand*{\setcapwidth}[2][]{% + \begingroup% + \setlength{\@tempdima}{#2}% + \edef\@tempa{\endgroup\def\noexpand\cap@width{\the\@tempdima}}% + \@tempa% + \begingroup + \expandafter\def\expandafter\@tempa\expandafter{#1}% + \def\@tempb{c}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\hfill}% + \else + \def\@tempb{l}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\relax\let\cap@right\hfill}% + \else + \def\@tempb{r}\ifx\@tempa\@tempb + \endgroup% + \def\cap@margin{\let\cap@left=\hfill\let\cap@right=\relax}% + \else + \def\@tempb{i}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \let\cap@left=\relax + \let\cap@right=\hfill + \if@twoside + \ifthispageodd{}{% + \let\cap@left=\hfill + \let\cap@right=\relax + }% + \fi + }% + \else + \def\@tempb{o}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \let\cap@left=\hfill + \let\cap@right=\relax + \if@twoside + \ifthispageodd{}{% + \let\cap@left=\relax + \let\cap@right=\hfill + }% + \fi + }% + \else + \ifx \@tempa\@empty\else + \ClassError{% + scrreprt% + }{% + unknown optional position argument% + }{% + You've used `#1' as position argument at + \string\setcaptionwidth,\MessageBreak + but only ONE of `c', `l', `r', `i`, `o` ist + allowed.\MessageBreak + Argument will be ignored, if you'll continue.% + }% + \fi% + \endgroup% + \fi\fi\fi\fi\fi% + } +\AfterPackage{caption2}{% + \renewcommand*{\setcapwidth}[2][]{% + \ClassWarning{% + scrbook% + }{% + Ignorring optional argument of \string\setcapwidth!\MessageBreak + You're using package caption2.\MessageBreak + Because of this you should also use + \string\setcaptionwidth\MessageBreak + instead of \string\setcapwidth\MessageBreak + } + \setcaptionwidth{#2}}}% +\newcommand*{\cap@margin}{} +\let\cap@margin=\relax% +\newcommand*{\setcapmargin}{\@ifstar{\@setcapmargin}{\@@setcapmargin}} +\newcommand*{\@setcapmargin}[2][\@tempdimb]{% + \def\cap@margin{% + \onelinecaptionsfalse% + \begingroup% + \setlength{\@tempdima}{\hsize}% + \setlength{\@tempdimb}{#2}% + \addtolength{\@tempdima}{-\@tempdimb}% + \setlength{\@tempdimc}{#1}% + \addtolength{\@tempdima}{-\@tempdimc}% + \edef\@tempa{\endgroup% + \def\noexpand\cap@width{\the\@tempdima}% + \noexpand\if@twoside% + \noexpand\ifthispageodd{% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% + }{% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimb}}% + }% + \noexpand\else% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}% + \noexpand\fi} + \@tempa}% + } +\newcommand*{\@@setcapmargin}[2][\@tempdimb]{% + \def\cap@margin{% + \onelinecaptionsfalse% + \begingroup% + \setlength{\@tempdima}{\hsize}% + \setlength{\@tempdimb}{#2}% + \addtolength{\@tempdima}{-\@tempdimb}% + \setlength{\@tempdimc}{#1}% + \addtolength{\@tempdima}{-\@tempdimc}% + \edef\@tempa{\endgroup% + \def\noexpand\cap@width{\the\@tempdima}% + \def\noexpand\cap@left{\noexpand\hspace*{\the\@tempdimc}}% + \def\noexpand\cap@right{\noexpand\hspace*{\the\@tempdimb}}}% + \@tempa}% + } +\AfterPackage{caption2}{% + \renewcommand*{\@setcapmargin}[2][\@tempdimb]{% + \setlength{\@tempdimb}{#2}% + \setlength{\@tempdima}{#1}% + \ifdim\@tempdima\@tempdimb\else + \ClassWarning{% + scrbook% + }{% + Can set only centered caption!\MessageBreak + You're using package caption2.\MessageBreak + Because of this you should also use + \string\setcaptionmargin\MessageBreak + instead of \string\setcapmargin + } + \fi + \addtolength{\@tempdimb}{\@tempdimb}% + \setcaptionmargin{.5\@tempdimb}} + \let\@@setcapmargin=\@setcapmargin + } +\newcommand{\@@makecaption}[3]{% + \cap@margin% + \ifonelinecaptions% + \@tempcnta=\value{mpfootnote}\@tempcntb=\value{footnote}% + \let\scr@tmp@footnotetext=\@footnotetext + \let\@footnotetext=\@gobble + \sbox\@tempboxa{% + {\capfont#1{{\caplabelfont#2\captionformat}}% + #3}% + }% + \let\@footnotetext=\scr@tmp@footnotetext + \let\scr@tmp@footnotetext=\undefined + \setcounter{footnote}{\@tempcntb}\setcounter{mpfootnote}{\@tempcnta}% + \else + \sbox\@tempboxa{\hspace*{2\cap@width}}% + \fi + \begingroup% + \setlength{\@tempdima}{\wd\@tempboxa}% + \setlength{\@tempdima}{\cap@width}% + \ifdim \wd\@tempboxa >\@tempdima% + \strut\cap@left% + \vtop{\hsize=\cap@width% + \ifdofullc@p + {\capfont\@hangfrom{#1{{\caplabelfont#2\captionformat}}}{#3\par}} + \else% + \ifdim\cap@indent<\z@% + {\capfont#1{{\caplabelfont #2\captionformat\par}}\noindent% + \hspace*{-\cap@indent}#3\par} + \else% + \if@capbreak + {\capfont#1{{\caplabelfont #2\captionformat\par}}\noindent% + \@hangfrom{\hspace*{\cap@indent}}{#3\par}} + \else + {\capfont\@hangfrom{\hspace*{\cap@indent}}% + {\hspace{-\cap@indent}#1% + {{\caplabelfont#2\captionformat}}#3\par}} + \fi + \fi + \fi}% + \cap@right\strut% + \else + \global \@minipagefalse + \sbox\@tempboxa{% + {\capfont#1{{\caplabelfont#2\captionformat}}% + #3}% + }% + \hb@xt@\hsize{\cap@left\box\@tempboxa\cap@right}% + \fi% + \endgroup} +\AfterPackage{longtable}{% + \@ifpackageloaded{caption2}{\@komalongtablefalse% + \ClassWarning{% + scrreprt}{% + you've loaded package caption2 before package\MessageBreak + longtable!\MessageBreak + Because of this package caption2 isn't able to + control\MessageBreak + \string\caption\space at longtables. After loading package + caption2\MessageBreak + KOMA-Script also doesn't control \string\caption.\MessageBreak + I think, you should load package caption2 after + package\MessageBreak + longtable% + }}{} + \if@komalongtable + \renewcommand{\LT@makecaption}[3]{% + \noalign{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + }% + \LT@mcol\LT@cols c{% + \hbox to\z@{\hss\parbox[t]\linewidth{% + \@@makecaption{#1}{#2}{#3}% + \endgraf + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi + }% + \hss + }% + }% + }% + \newcommand*{\scr@LT@array}{}% + \let\scr@LT@array=\LT@array% + \renewcommand*{\LT@array}{% + \let\scr@caption=\LT@caption + \def\captionabove{\noalign{\global\@captionabovetrue}% + \scr@caption}% + \def\captionbelow{\noalign{\global\@captionabovefalse}% + \scr@caption}% + \if@tablecaptionabove + \let\LT@caption=\captionabove + \else + \let\LT@caption=\captionbelow + \fi + \scr@LT@array} + \ClassInfo{% + scrreprt}{% + longtable captions redefined} + \fi + } +\newcommand*{\fs@komaabove}{% + \let\@fs@capt\floatc@komascript + \let\@fs@pre\@empty + \def\@fs@mid{\vskip\abovecaptionskip} + \let\@fs@post\@empty + \let\@fs@iftopcapt\iftrue} +\newcommand*{\fs@komabelow}{% + \let\@fs@capt\floatc@komascript + \let\@fs@pre\@empty + \def\@fs@mid{\vskip\abovecaptionskip} + \let\@fs@post\@empty + \let\@fs@iftopcapt\iffalse} +\newcommand{\floatc@komascript}{\@@makecaption\@firstofone} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb} +\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} +\newcommand*\descfont{\sffamily\bfseries} +\newcommand*\sectfont{\normalcolor\sffamily\bfseries} +\newcommand*\pnumfont{\normalfont\normalcolor} +\newcommand*\headfont{\normalfont\normalcolor\slshape} +\newcommand*\capfont{\normalfont\normalcolor} +\newcommand*\caplabelfont{\normalfont\normalcolor} +\newcommand*\titlefont{\sectfont} +\newcommand*{\setkomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrreprt% + }{font of element `#1' can't be set}{% + You've told me to redefine the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassError{% + scrreprt% + }{font of element `#1' can't be set}{% + You've told me to redefine the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be changed with element `\csname + scr@fnt@instead@#1\endcsname'} + }% + }{% + \expandafter\expandafter\expandafter\renewcommand% + \csname scr@fnt@#1\endcsname{#2}% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \ClassWarning{% + scrreprt% + }{\csname scr@fnt@wrn@#1\endcsname{#1}} + } + } +} +\newcommand{\l@addto@macro}[2]{% + \begingroup% + \toks@\expandafter{#1#2}% + \edef\@tempa{\endgroup\def\noexpand#1{\the\toks@}}% + \@tempa} +\newcommand*{\addtokomafont}[2]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrreprt% + }{font of element `#1' can't be extended}{% + You've told me to extend the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassError{% + scrreprt% + }{font of element `#1' can't be extended}{% + You've told me to extend the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be changed with element `\csname + scr@fnt@instead@#1\endcsname'} + }% + }{% + \expandafter\expandafter\expandafter\l@addto@macro% + \csname scr@fnt@#1\endcsname{#2}% + \@ifundefined{scr@fnt@wrn@#1}{}{% + \ClassWarning{% + scrreprt% + }{\csname scr@fnt@wrn@#1\endcsname{#1}} + } + } +} +\newcommand*{\usekomafont}[1]{% + \@ifundefined{scr@fnt@#1}{% + \@ifundefined{scr@fnt@instead@#1}{% + \ClassError{% + scrreprt% + }{font of element `#1' can't be used}{% + You've told me to use the font selection of the element,% + \MessageBreak% + but either no such element is known by KOMA-Script\MessageBreak + or the element does not use a special font selection} + }{% + \ClassWarning{% + scrreprt% + }{% + You've told me to use the font selection of the element,% + \MessageBreak% + but the element does not use a special font + selection. The\MessageBreak + The font of `#1' may be selected with element `\csname + scr@fnt@instead@#1\endcsname'.\MessageBreak + I fix this using font of `\csname + scr@fnt@instead@#1\endcsname'}% + }% + \@nameuse{scr@fnt@instead@#1}% + }{% + \@nameuse{scr@fnt@#1}% + }% + } +\newcommand*{\scr@fnt@descriptionlabel}{\descfont} +\newcommand*{\scr@fnt@title}{\titlefont} +\newcommand*{\scr@fnt@sectioning}{\sectfont} +\newcommand*{\scr@fnt@part}{\size@part} +\newcommand*{\scr@fnt@partnumber}{\size@partnumber} +\newcommand*{\scr@fnt@chapter}{\size@chapter} +\newcommand*{\scr@fnt@section}{\size@section} +\newcommand*{\scr@fnt@subsection}{\size@subsection} +\newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} +\newcommand*{\scr@fnt@paragraph}{\size@paragraph} +\newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} +\newcommand*{\scr@fnt@instead@minisec}{sectioning} +\newcommand*{\scr@fnt@pagenumber}{\pnumfont} +\let\scr@fnt@pagination=\scr@fnt@pagenumber +\newcommand*{\scr@fnt@pagehead}{\headfont} +\newcommand*{\scr@fnt@wrn@pagehead}[1]{% + font selection of elements `pagehead' and `pagefoot'\MessageBreak + changed, because you wanted to change font selection\MessageBreak + of element `#1'% +} +\let\scr@fnt@pagefoot=\scr@fnt@pagehead +\let\scr@fnt@wrn@pagefoot=\scr@fnt@wrn@pagehead +\newcommand*{\scr@fnt@caption}{\capfont} +\newcommand*{\scr@fnt@captionlabel}{\caplabelfont} +\newcommand*\@pnumwidth{1.55em} +\newcommand*\@tocrmarg {2.55em} +\newcommand*\@dotsep{4.5} +\setcounter{tocdepth}{2} +\newcommand*\toc@heading{\section*{\contentsname + \@mkboth{\contentsname}{\contentsname}}} +\newcommand*{\scr@dottedtocline}{}% +\newcommand*{\scr@numberline}{}% +\newcommand*{\last@l@number}{}% +\newcommand*{\@l@number}{} +\newcommand*{\set@l@number}[1]{% + \settowidth{\@tempdima}{#1\enskip}% + \ifdim\@tempdima >\@l@number\relax% + \xdef\@l@number{\the\@tempdima}% + \fi% + \ifdim\@tempdima >\last@l@number \else% + \setlength{\@tempdima}{\last@l@number}% + \fi% + } +\newcommand*{\before@starttoc}[1]{ + \let\scr@dottedtocline=\@dottedtocline% + \renewcommand*{\@dottedtocline}[3]{% + \scr@dottedtocline{##1}{\z@}{\last@l@number}}% + \let\scr@numberline=\numberline% + \renewcommand*{\numberline}[1]{% + \set@l@number{##1}\scr@numberline{##1}}% + \gdef\@l@number{\z@}% + \@ifundefined{#1@l@number}{% + \def\last@l@number{2em}% + }{% + \expandafter\let\expandafter\last@l@number + \expandafter=\csname#1@l@number\endcsname% + }% + } +\newcommand*{\after@starttoc}[1]{% + \protected@write\@auxout{}{% + \string\gdef\expandafter\string\csname#1@l@number\endcsname{% + \@l@number}}% + } +\newcommand*{\toc@l@number}{} +\newcommand*{\tableofcontents}{% + \begingroup + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{\contentsname}{\contentsname}}% + \@parskipfalse\@parskip@indent% + \if@tocleft\before@starttoc{toc}\fi% + \@starttoc{toc}% + \if@tocleft\after@starttoc{toc}\fi% + \if@restonecol\twocolumn\fi + \endgroup +} +\newcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \setlength\@tempdima{2em}% + \if@tocleft + \ifx\toc@l@number\@empty\else + \setlength\@tempdima{0\toc@l@number}% + \fi + \fi + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode\sectfont\large + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\newcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \if@tocleft + \ifx\toc@l@number\@empty\else + \setlength\@tempdima{0\toc@l@number}% + \fi + \fi + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \sectfont + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} +\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} +\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}} +\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}} +\newcommand*{\float@listhead}[1]{% + \chapter*{#1}% + \@mkboth{#1}{#1}% + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc% + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}}% + \fi% +} +\newcommand*\lof@heading{\float@listhead{\listfigurename}} +\newcommand*\listoffigures{% + \begingroup% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \lof@heading% + \@parskipfalse\@parskip@indent% + \@starttoc{lof}% + \if@restonecol\twocolumn\fi + \endgroup +} +\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand*\lot@heading{\float@listhead{\listtablename}} +\newcommand*\listoftables{% + \begingroup + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \lot@heading% + \@parskipfalse\@parskip@indent% + \@starttoc{lot}% + \if@restonecol\twocolumn\fi + \endgroup +} +\let\l@table\l@figure +\newcommand*{\bibpreamble}{\relax} +\let\bibpreamble\relax +\newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} +\newcommand*\bib@heading{% + \chapter*{\bibname} + \@mkboth{\bibname}{\bibname} +} +\newdimen\bibindent +\bibindent=1.5em +\newenvironment{thebibliography}[1]{% + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \setchapterpreamble{\bibpreamble}% + \fi\fi + \bib@heading% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} +{\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty +\newcommand*{\index@preamble}{\relax} +\newcommand{\setindexpreamble}[1]{\renewcommand*{\index@preamble}{#1}} +\newcommand*{\idx@heading}{% + \if@openright\cleardoublepage\else\clearpage\fi% + \twocolumn[\chapter*{\indexname}] + \@mkboth{\indexname}{\indexname}% +} +\newenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \setchapterpreamble{\index@preamble} + \idx@heading% + \thispagestyle{\indexpagestyle}\parindent\z@ + \setlength{\parskip}{\z@ \@plus .3\p@} + \setlength{\parfillskip}{\z@ \@plus 1fil} + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +\newcommand*\@idxitem {\par\hangindent 40\p@} +\newcommand*\subitem {\@idxitem \hspace*{20\p@}} +\newcommand*\subsubitem{\@idxitem \hspace*{30\p@}} +\newcommand*\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} +\renewcommand*\footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.0005fil\fi + \hrule\@width.4\columnwidth + \kern 2.6\p@} +\@addtoreset{footnote}{chapter} +\newcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \setlength{\@tempdimc}{#3}% + \def\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2} + \parshape \@ne #2 \@tempdima}% + \else + \addtolength{\@tempdimc}{#2}% + \addtolength{\@tempdimc}{-#1}% + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1} + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2} + \parshape \tw@ #1 \@tempdima #2 \@tempdimb}% + \fi + \par + \parindent\@tempdimc\noindent + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1} + \def\@@makefnmark{\hbox{\ftnm@font{#4}}} +} +\newcommand*{\ftn@font}{\normalfont} +\newcommand*{\scr@fnt@footnote}{\ftn@font} +\newcommand*{\ftnm@font}{} +\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font} +\newcommand*{\scr@fnt@footnotelabel}{\ftnm@font} +\newcommand*{\scr@fnt@instead@footnotetext}{footnote} +\newcommand*\deffootnotemark[1]{\def\@makefnmark{\hbox{\ftntm@font{#1}}}} +\newcommand*{\ftntm@font}{} +\newcommand*{\scr@fnt@footnotereference}{\ftntm@font} +\newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\newcommand*{\thefootnotemark}{\@thefnmark} +\deffootnote[1em]{1.5em}{1em} + {\textsuperscript{\thefootnotemark}} +\deffootnotemark{\textsuperscript{\thefootnotemark}} +\DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}} +\newcommand{\@textsubscript}[1]{% + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} +\newcommand*\contentsname{Contents} +\newcommand*\listfigurename{List of Figures} +\newcommand*\listtablename{List of Tables} +\newcommand*\bibname{Bibliography} +\newcommand*\indexname{Index} +\newcommand*\figurename{Figure} +\newcommand*\tablename{Table} +\newcommand*\partname{Part} +\newcommand*\chaptername{Chapter} +\newcommand*\appendixname{Appendix} +\newcommand*\abstractname{Abstract} +\newcommand*\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\newcommand*{\providecaptionname}[3]{% + \@ifundefined{captions#1}{% + \@ifundefined{cap@info@#1@done}{% + \ClassInfo{% + scrlttr2% + }{% + No captions found for `#1'\MessageBreak + --> skipped% + }% + \expandafter\let\csname cap@info@#1@done\endcsname\@empty}{}% + }{% + \begingroup% + \let\@tempa\endgroup% + \csname captions#1\endcsname% + \ifx #2\undefined% + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \csname captions#1\endcsname + }% + \else + \def\@tempa{\endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + }% + \fi + \else + \ClassInfo{% + scrlttr2% + }{% + `\string#2' at language `#1' already + defined\MessageBreak + --> skipped% + }% + \fi + \@tempa + }% +} +\newcommand*{\newcaptionname}[3]{% + \@ifundefined{captions#1}{% + \ClassInfo{% + scrlttr2% + }{% + No captions found for `#1' --> defining% + }% + \@namedef{captions#1}{}% + }{}% + \begingroup% + \csname captions#1\endcsname% + \ifx #2\undefined\else% + \ClassError{% + scrlttr2% + }{% + `\string#2' at language `#1' already defined% + }{% + You've told me to define `\string#2' at language + `#1',\MessageBreak + but it is already defined.\MessageBreak + It will be redefined, if you'll continue.% + } + \fi + \endgroup% + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \begingroup + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newcommand*{\renewcaptionname}[3]{% + \@ifundefined{captions#1}{% + \ClassError{% + scrlttr2% + }{% + No captions found for `#1'% + }{% + You've told me to redefine the caption `\string#2' at language + `#1',\MessageBreak + but `\expandafter\string\csname captions#1\endcsname' is not + defined.\MessageBreak + If you'll continue it will be defined.% + } + \@namedef{captions#1}{}% + }{}% + \begingroup% + \csname captions#1\endcsname% + \ifx #2\undefined% + \ClassError{% + scrlttr2% + }{% + `\string#2' not defined at language `#1'% + }{% + You've told me to redefine `\string#2' at language + `#1',\MessageBreak + but it is not defined.\MessageBreak + If you'll continue it will be defined.% + } + \fi + \endgroup + \expandafter\g@addto@macro\csname captions#1\endcsname{% + \def#2{#3}}% + \begingroup + \def\@tempb{#1}% + \ifx\@tempb\languagename + \def\@tempa{\endgroup\csname captions#1\endcsname}% + \else + \let\@tempa\endgroup + \fi + \@tempa +} +\newif\if@altsecnumformat\@altsecnumformatfalse +\newif\if@autodot\@autodotfalse +\newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% + \expandafter\@@maybeautodot #1\@stop\endgroup\fi} +\newcommand*{\@@maybeautodot}[1]{% + \ifx #1\@stop\let\@@maybeautodot\relax% + \else% + \ifx #1\Alph \aftergroup\@autodottrue\fi% + \ifx #1\alph \aftergroup\@autodottrue\fi% + \ifx #1\Roman \aftergroup\@autodottrue\fi% + \ifx #1\roman \aftergroup\@autodottrue\fi% + \ifx #1\@Alph \aftergroup\@autodottrue\fi% + \ifx #1\@alph \aftergroup\@autodottrue\fi% + \ifx #1\@Roman \aftergroup\@autodottrue\fi% + \ifx #1\@roman \aftergroup\@autodottrue\fi% + \ifx #1\romannumeral \aftergroup\@autodottrue\fi% + \fi% + \@@maybeautodot} +\let\scr@sect\@sect +\renewcommand*{\@sect}[1]{\stepcounter{#1}% + \expandafter\@maybeautodot\csname the#1\endcsname% + \addtocounter{#1}{-1}\scr@sect{#1}} +\AtEndDocument{% + \if@autodot\if@filesw\immediate\write\@mainaux{% + \string\global\string\@altsecnumformattrue} + \fi\fi} +\newcommand*\autodot{\if@altsecnumformat.\fi} +\newcommand*\chaptermarkformat {\chapappifchapterprefix{\ }% + \thechapter\autodot\enskip} +\newcommand*\sectionmarkformat {\thesection\autodot\enskip} +\newcommand*{\partformat}{\partname~\thepart\autodot} +\newcommand*{\chapterformat}{% + \chapappifchapterprefix{\ }\thechapter\autodot\enskip} +\newcommand*{\figureformat}{\figurename~\thefigure% + \autodot% + } +\newcommand*{\tableformat}{\tablename~\thetable% + \autodot% +} +\newcommand*{\captionformat}{:\ } +\newcommand*{\chapappifprefix}[1][]{% + \ClassWarning{% + scrreprt% + }{% + Please don't use obsolete command + \string\chapappifprefix.\MessageBreak + The new command \string\chapappifchapterprefix\space has + an\MessageBreak + obligatory instead of an optional argument. Use that\MessageBreak + new command% + }% + \if@chapterprefix\chapapp#1\fi} +\newcommand*{\chapappifchapterprefix}[1]{\if@chapterprefix\chapapp#1\fi} +\newcommand*{\chapapp}{\@chapapp} +\newcommand*{\othersectionlevelsformat}[1]{% + \csname the#1\endcsname\autodot\enskip} +\renewcommand*{\@seccntformat}{\protect\othersectionlevelsformat} +\pagestyle{plain} +\pagenumbering{arabic} % Arabic page numbers +\if@twoside +\else + \raggedbottom +\fi +\if@twocolumn + \twocolumn + \sloppy + \flushbottom +\else + \onecolumn +\fi +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrreprt.cls'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrtime.sty b/Master/texmf-dist/tex/latex/koma-script/scrtime.sty new file mode 100644 index 00000000000..b55d373fd07 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrtime.sty @@ -0,0 +1,73 @@ +%% +%% This is file `scrtime.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrtime.dtx (with options: `scrtime') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 by Markus Kohm. +%% +%% All rights reserved. For further copyright information see the file +%% legal.txt, and any other copyright indicated in this file. +%% +%% This file is part of the LaTeX2e KOMA-Script-bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script-bundle (but not this file) bases on the +%% Script-family created by Frank Neukam 1993 and the standard +%% documents classes created by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------- +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{scrtime} + [2002/02/02 v1.1m LaTeX2e KOMA + package] +\newif\if@Hxii +\DeclareOption{12h}{\@Hxiitrue} +\DeclareOption{24h}{\@Hxiifalse} +\ExecuteOptions{24h} +\ProcessOptions +\def\thistime{% + \@ifstar + {\let\@tempif\iffalse\@thistime} + {\let\@tempif\iftrue\@thistime}} +\newcommand*{\@thistime}[1][:]{% + \begingroup + \@tempcnta\time\divide\@tempcnta60\multiply\@tempcnta60 + \@tempcntb\time\advance\@tempcntb-\@tempcnta + \divide\@tempcnta60 + \if@Hxii\ifnum\@tempcnta>12 \advance\@tempcnta-12 \fi\fi + \the\@tempcnta{#1}\@tempif\ifnum\@tempcntb<10 0\fi\fi\the\@tempcntb% + \endgroup} +\newcommand*{\settime}[1]{\renewcommand*{\@thistime}[1][]{#1}} +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrtime.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/typearea.sty b/Master/texmf-dist/tex/latex/koma-script/typearea.sty new file mode 100644 index 00000000000..dcd3046bed2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/typearea.sty @@ -0,0 +1,639 @@ +%% +%% This is file `typearea.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrclass.dtx (with options: `package,typearea') +%% scrlogo.dtx +%% +%% Copyright (C) 1994-2004 Markus Kohm and Frank Neukam. +%% +%% All rights reserved. For further copyright information see the file +%% LEGAL.TXT or LEGALDE.TXT. +%% +%% This file is part of the LaTeX2e KOMA-Script bundle. +%% ---------------------------------------------------- +%% +%% The KOMA-Script bundle bases on the Script-family created by +%% Frank Neukam 1993 and the standard documents classes created +%% by the LaTeX3-Team 1994-1996. +%% ------------------------------------------------------------------------ +%% +%% This system is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see documentation. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers, Mailboxes and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.txt +%% and liesmich.txt. See LEGAL.TXT or LEGALDE.TXT for further +%% information. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{% + typearea% + } + [2004/09/16 v2.9t LaTeX2e KOMA + package] +\typeout{Package typearea, \csname ver@typearea.sty\endcsname% + ^^J\@spaces\@spaces\@spaces\@spaces\space\space + Copyright (C) Frank Neukam, 1992-1994% + ^^J\@spaces\@spaces\@spaces\@spaces\space\space + Copyright (C) Markus Kohm, 1994-2002^^J} +\newcommand*\SetDIVList[1]{\def\ta@divlist{{}{}{}{}{}{}{}{}{}#1}} +\newcommand*\SetXDIVList[1]{\def\ta@divlist{#1}} +\newlength{\ta@bcor} +\providecommand\ifnumber[3]{ + \begingroup\@tempswafalse\let\scr@next\test@number + \expandafter\scr@next#1\scr@next + \if@tempswa\endgroup#2\else\endgroup#3\fi +} +\newcommand*{\test@number}[1]{ + \ifx \scr@next#1 + \let\scr@next\relax + \else + \@tempcnta=\expandafter\expandafter\expandafter\number + \expandafter`#1\relax + \ifnum \@tempcnta>47\relax + \ifnum \@tempcnta<58\relax + \@tempswatrue + \else\@tempswafalse\fi + \else\@tempswafalse\fi + \if@tempswa\else\let\scr@next\gobble@till@next\fi\fi + \scr@next} +\newcommand*{\gobble@till@next}{} +\def\gobble@till@next#1\scr@next{} +\newcommand{\ifdimen}[3]{ + \begingroup\@tempswatrue\let\scr@next\test@posdimen + \expandafter\test@dimen#1\scr@next + \if@tempswa\endgroup#2\else\endgroup#3\fi +} +\newcommand*{\test@dimen}[1]{\ifx -#1\else\ifx +#1\else + \def\scr@next{\let\scr@next\test@posdimen\scr@next#1}\fi\fi\scr@next} +\newcommand*{\test@posdimen}[1]{ + \ifx \scr@next#1 + \@tempswafalse\let\scr@next\relax + \else + \if .#1\else\if ,#1\else + \@tempcnta=% + \expandafter\expandafter\expandafter\number\expandafter`#1\relax + \ifnum \@tempcnta>47\relax + \ifnum \@tempcnta<58\relax + \else\def\scr@next{\test@dimunt#1}\fi + \else\def\scr@next{\test@dimunt#1}\fi\fi\fi\fi + \scr@next} +\newcommand*{\test@dimunt}{} +\def\test@dimunt#1\scr@next{% + \expandafter\test@trueunt#1truetrue\test@trueunt} +\newcommand*{\test@trueunt}{} +\def\test@trueunt#1true#2true#3\test@trueunt{ + \edef\@tempa{#1} + \ifx\@tempa\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi} +\newcommand*\test@@ifdimunt[1]{ + \@tempswafalse + \ifstr{#1}{pt}{\@tempswatrue}{} + \ifstr{#1}{pc}{\@tempswatrue}{} + \ifstr{#1}{in}{\@tempswatrue}{} + \ifstr{#1}{bp}{\@tempswatrue}{} + \ifstr{#1}{cm}{\@tempswatrue}{} + \ifstr{#1}{mm}{\@tempswatrue}{} + \ifstr{#1}{dd}{\@tempswatrue}{} + \ifstr{#1}{cc}{\@tempswatrue}{} + \ifstr{#1}{sp}{\@tempswatrue}{}} +\newcommand\ifstr[4]{ + \begingroup\edef\@tempa{#1}\edef\@tempb{#2} + \ifx\@tempa\@tempb\endgroup#3\else\endgroup#4\fi} +\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} +\newcommand*{\@@BCOR}{} +\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{ + \edef\@tempa{#1}\ifx\@tempa\@empty + \edef\@tempa{#3}\def\@tempb{BCOR}\ifx\@tempa\@tempb + \ifdimen{#2}{\setlength{\ta@bcor}{#2}}{\ta@opt@err} + \else\ta@opt@err\fi + \else\ta@opt@err\fi} +\newcount\ta@div +\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}{\ta@div=#2\relax}{\ta@opt@err} + \else\ta@opt@err\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]{% + \ifx a#1 + \setlength{\paperwidth}{841sp}\setlength{\paperheight}{1189sp} + \else\ifx b#1 + \setlength{\paperwidth}{1000sp}\setlength{\paperheight}{1414sp} + \else\ifx c#1 + \setlength{\paperwidth}{917sp}\setlength{\paperheight}{1297sp} + \else\ifx d#1 + \setlength{\paperwidth}{771sp}\setlength{\paperheight}{1090sp} + \else + \PackageError{typearea} + {Unknown ISO/DIN-papersize-letter #1} + {There are only four defined paperscalings:\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} + \fi\fi\fi\fi + \@tempcnta=#2\relax + \@whilenum\@tempcnta>0 + \do{\setlength{\@tempdima}{\paperwidth} + \setlength{\paperwidth}{.5\paperheight} + \setlength{\paperheight}{\@tempdima} + \advance\@tempcnta by\m@ne} + \multiply\paperwidth by186468\relax + \multiply\paperheight by186468\relax} +\newcommand*{\x@paper}{\expandafter\x@@paper\CurrentOption paper\x@@paper} +\newcommand*{\x@@paper}{} +\def\x@@paper #1#2paper#3\x@@paper{ + \edef\@tempa{paper}\edef\@tempb{#3}\ifx\@tempa\@tempb + \ifnumber{#2}{ + \ifx a#1\isopaper[a]{#2} + \else\ifx b#1\isopaper[b]{#2} + \else\ifx c#1\isopaper[c]{#2} + \else\ifx d#1\isopaper[d]{#2} + \else\ta@opt@err\fi\fi\fi\fi + }{\ta@opt@err} + \else\@headlines\fi} +\newcommand*{\ta@opt@err}{ + \PackageError{typearea} + {Unknown option \CurrentOption} + {You've used an unknown option.\MessageBreak + Read the KOMA-Script-documentation for further + information.}} +\newif\if@hincl +\DeclareOption{headinclude}{\@hincltrue} +\DeclareOption{headexclude}{\@hinclfalse} +\newif\if@fincl +\DeclareOption{footinclude}{\@fincltrue} +\DeclareOption{footexclude}{\@finclfalse} +\@ifundefined{mincltrue}{\newif\if@mincl}{} +\DeclareOption{mpinclude}{\@mincltrue} +\DeclareOption{mpexclude}{\@minclfalse} +\DeclareOption{dvips}{\AtBeginDocument{\AtBeginDvi{% + \special{papersize=\the\paperwidth,\the\paperheight}}}} +\DeclareOption{pdftex}{\AtBeginDocument{% + \pdfpagewidth=\paperwidth \pdfpageheight=\paperheight}} +\newcommand{\scr@ifpdfoutput}[2]{% + \begingroup\@ifundefined{pdfoutput}{\endgroup #2}{\endgroup% + \ifnum\pdfoutput>0\relax #1\else #2\fi}}% +\@ifundefined{ifpdfoutput}{% + \let\ifpdfoutput\scr@ifpdfoutput% + }{% + \PackageInfo{typearea}{% + \string\ifpdfoutput\space already defined.\MessageBreak + If \string\ifpdfoutput\space does not behave like\MessageBreak + is is described at the KOMA-Script manual, try to\MessageBreak + load `typearea.sty' earlier or find out at which\MessageBreak + package or class \string\ifpdfoutput\space was defined.}} +\DeclareOption{pagesize}{\AtBeginDocument{% + \scr@ifpdfoutput + {\pdfpagewidth=\paperwidth\pdfpageheight=\paperheight} + {\AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}}}} +\DeclareOption{a4paper}{\isopaper{4}} +\DeclareOption{a5paper}{\isopaper{5}} +\DeclareOption{letterpaper} + {\setlength\paperheight {11in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{legalpaper} + {\setlength\paperheight {14in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{executivepaper} + {\setlength\paperheight {10.5in}% + \setlength\paperwidth {7.25in}} +\newif\if@landscape +\DeclareOption{landscape}{\@landscapetrue} +\DeclareOption{DIVcalc}{\ta@div=1\relax} +\DeclareOption{DIVclassic}{\ta@div=3\relax} +\DeclareOption*{\x@paper} +\InputIfFileExists{typearea.cfg} + {\typeout{***************************************^^J% + * Local config file typearea.cfg used^^J% + ***************************************}} + {} +\ExecuteOptions{headexclude,footexclude,a4paper} +\ProcessOptions\relax +\if@landscape + \setlength\@tempdima {\paperheight} + \setlength\paperheight {\paperwidth} + \setlength\paperwidth {\@tempdima} +\fi +\providecommand\ta@divlist{{}{}{}{}{}{}{}{}{}{8}{10}{12}} +\providecommand\ta@divlistelse{1} +\newlength{\ta@hblk} +\newlength{\ta@vblk} +\newlength{\ta@temp} +\newcommand*\@typearea{ + \ta@hblk \paperwidth + \advance \ta@hblk by -\ta@bcor + \divide\ta@hblk by \ta@div + \if@mincl + \marginparwidth \ta@hblk + \advance\marginparwidth -\marginparsep + \else + \if@twoside + \marginparwidth 1.5\ta@hblk + \else + \marginparwidth \ta@hblk + \fi + \fi + \oddsidemargin -1in + \evensidemargin -1in + \if@twoside + \advance\oddsidemargin by \ta@hblk + \advance\oddsidemargin by \ta@bcor + \advance\evensidemargin by 2\ta@hblk + \if@mincl + \advance\evensidemargin by \marginparwidth + \advance\evensidemargin by \marginparsep + \fi + \else + \advance\oddsidemargin by 1.5\ta@hblk + \advance\oddsidemargin by \ta@bcor + \evensidemargin\oddsidemargin + \fi + \textwidth \paperwidth + \advance\textwidth by -\ta@bcor + \advance\textwidth by -3\ta@hblk + \if@mincl + \advance\textwidth by -\marginparwidth + \advance\textwidth by -\marginparsep + \ifdim\textwidth <\marginparwidth + \PackageWarningNoLine{typearea}{% + Width of text (\the\textwidth) less than width of\MessageBreak + 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 + } + \@tempdima \marginparwidth + \marginparwidth \textwidth + \textwidth \@tempdima + \fi + \fi + \ta@vblk \paperheight + \divide\ta@vblk by \ta@div + \topmargin -1in + \advance\topmargin by \ta@vblk + \if@hincl \else + \advance\topmargin by -\headheight + \advance\topmargin by -\headsep + \fi + \ta@temp \paperheight + \advance\ta@temp by -3\ta@vblk + \if@hincl + \advance\ta@temp by -\headheight + \advance\ta@temp by -\headsep + \fi + \if@fincl + \advance\ta@temp by -\footskip + \fi + \textheight \topskip + \@whiledim\textheight<\ta@temp + \do{\advance\textheight by \baselineskip} +} +\newcommand*\ta@modiv[2]{ + \setlength{\@tempdima}{#1} + \divide\@tempdima by#2\relax + \ta@div\@tempdima + \ifnum \ta@div<4\relax + \ta@div=4\relax + \else + \setlength{\@tempdimb}{#1} + \divide\@tempdimb\ta@div + \addtolength{\@tempdima}{\@tempdima} + \addtolength{\@tempdima}{-\@tempdimb} + \advance\ta@div\@ne + \setlength{\@tempdimb}{#1} + \divide\@tempdimb\ta@div + \ifdim \@tempdima<\@tempdimb + \advance\ta@div by\m@ne + \fi + \fi +} +\newcommand*\ta@temp@goodwidth{ + \settowidth{\ta@temp}{\normalfont\normalsize + abcdefghijklmnopqrstuvwxyz} + \ifdim\ta@temp >200\p@ + \divide\ta@temp by 26 + \multiply\ta@temp by 3 + \settowidth{\@tempdima}{\normalfont\normalsize + ABCDEFGHIJKLMNOPQRSTUVWXYZ} + \divide\@tempdima by 26 + \multiply\@tempdima by 3 + \addtolength{\ta@temp}{\@tempdima} + \else + \multiply\ta@temp by 66 + \settowidth{\@tempdima}{\normalfont\normalsize + ABCDEFGHIJKLMNOPQRSTUVWXYZ} + \multiply\@tempdima by 3 + \addtolength{\ta@temp}{\@tempdima} + \divide\ta@temp by 26 + \fi +} +\newcommand*\typearea[2][\z@]{ + \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else + \setlength{\ta@bcor}{#1} + \fi + \edef\@tempa{#2} + \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=0\relax\else + \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=2\relax\else + \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=3\relax\else + \ta@div=\@tempa\relax + \fi + \fi + \fi + \fi + \edef\@lastdiv{\the\ta@div} + \@ifundefined{ta@hh}{\headheight 1.25\baselineskip}{\headheight\ta@hh} + \headsep 1.5\baselineskip + \footskip 3.5\baselineskip + \marginparsep 1cc + \marginparpush 0.45\baselineskip + \ifnum\ta@div=\z@ + \@ifundefined{@ptsize}{% + \@tempdima=\f@size pt\relax + \advance\@tempdima by.5pt + \ta@div=\@tempdima + \divide\ta@div by65536\relax + \advance\ta@div by-10\relax + \xdef\@ptsize{\the\ta@div}% + \PackageWarningNoLine{typearea}{% + \string\@ptsize\space not defined! + \MessageBreak + Fontsize ist \f@size.\MessageBreak + Defining \string\@ptsize\space to \@ptsize}% + }{} + \ta@divfor{\@ptsize}% + \fi + \ifnum\ta@div=3 + \typeout{DIV calculation for classic typearea.} + \setlength{\ta@temp}{\paperwidth} + \addtolength{\ta@temp}{-\ta@bcor} + \if@hincl\else + \addtolength{\ta@temp}{\headheight} + \addtolength{\ta@temp}{\headsep} + \fi + \if@fincl\else + \addtolength{\ta@temp}{\footskip} + \fi + \ifdim \ta@temp>\paperheight + \PackageWarningNoLine{typearea} + {No classic typearea with this papersize!\MessageBreak + Using calculated DIV} + \ta@div=\@ne + \else + \setlength{\ta@temp}{\paperheight} + \addtolength{\ta@temp}{-\paperwidth} + \addtolength{\ta@temp}{\ta@bcor} + \divide\ta@temp 3\relax + \ta@modiv{\paperheight}{\ta@temp} + \fi + \fi + \ifnum\ta@div<4 + \typeout{DIV calculation for typearea with good linewidth.} + \setlength{\textwidth}{\paperwidth} + \addtolength{\textwidth}{-\ta@bcor} + \ta@temp@goodwidth + \if@twocolumn + \addtolength{\ta@temp}{\ta@temp} + \addtolength{\ta@temp}{\columnsep} + \fi + \setlength{\ta@hblk}{\paperwidth} + \addtolength{\ta@hblk}{-\ta@temp} + \divide\ta@hblk by 3 + \ifdim \ta@hblk<\z@\relax + \setlength{\ta@hblk}{5mm} + \fi + \if@mincl + \setlength{\ta@temp}{.75\ta@hblk} + \else + \setlength{\ta@temp}{\ta@hblk} + \fi + \ta@modiv{\paperwidth}{\ta@temp} + \@typearea + \setlength{\ta@temp}{-1in} + \addtolength{\ta@temp}{5mm} + \ifdim\topmargin<\ta@temp + \setlength{\ta@temp}{15mm} + \if@hincl\else + \addtolength{\ta@temp}{\headheight} + \addtolength{\ta@temp}{\headsep} + \fi + \if@fincl\else + \addtolength{\ta@temp}{\footskip} + \fi + \divide\ta@temp by3\relax + \ta@modiv{\paperheight}{\ta@temp} + \fi + \fi + \@typearea + \ta@temp@goodwidth + \if@twocolumn + \addtolength{\ta@temp}{\ta@temp}% + \addtolength{\ta@temp}{\columnsep}% + \fi + \setlength{\@tempdima}{\ta@temp}% + \addtolength{\ta@temp}{-\textwidth}% + \divide\@tempdima 100\relax + \divide\ta@temp\@tempdima + \@tempcnta\ta@temp + \ifnum\@tempcnta<5\relax + \ifnum\@tempcnta>-5\relax + \@tempcnta=0 + \else + \advance\@tempcnta 4 + \fi + \else + \advance\@tempcnta -4 + \fi + \ifnum\@tempcnta<-15\relax + \PackageWarningNoLine{typearea} + {Bad DIV-value!\MessageBreak + You should decrease DIV, increase fontsize or\MessageBreak + change papersize} + \else\ifnum\@tempcnta>15\relax + \PackageWarningNoLine{typearea} + {Bad DIV-value!\MessageBreak + You should increase DIV, decrease fontsize or\MessageBreak + change papersize} + \fi\fi + \ifnum\ta@div<6\relax + \PackageWarningNoLine{typearea} + {Very low DIV-value!\MessageBreak + DIV-values less than 6 result in textwidth/-height\MessageBreak + smaller than total marginwidth/-height.\MessageBreak + You should increase DIV, increase fontsize or\MessageBreak + change papersize} + \fi + \PackageInfo{typearea}{% + These are the values describing the layout:\MessageBreak + DIV\space\space=\space\number\ta@div\MessageBreak + BCOR\space=\space\the\ta@bcor\MessageBreak + \string\paperwidth\space\space\space\space\space\space=% + \space\the\paperwidth\MessageBreak + \space\string\textwidth\space\space\space\space\space\space=% + \space\the\textwidth\MessageBreak + \space\string\columnwidth\space\space\space\space=% + \space\the\columnwidth\MessageBreak + \space\string\columnsep\space\space\space\space\space\space=% + \space\the\columnsep\MessageBreak + \space DIV-departure\space\space\space=% + \space\the\@tempcnta/100\MessageBreak + \space\string\evensidemargin\space=% + \space\the\evensidemargin\MessageBreak + \space\string\oddsidemargin\space\space=% + \space\the\oddsidemargin\MessageBreak + \string\paperheight\space\space\space\space\space=% + \space\the\paperheight\MessageBreak + \space\string\textheight\space\space\space\space\space=% + \space\the\textheight\MessageBreak + \space\string\topmargin\space\space\space\space\space\space=% + \space\the\topmargin\MessageBreak + \space\string\headheight\space\space\space\space\space=% + \space\the\headheight\MessageBreak + \space\string\headsep\space\space\space\space\space\space\space\space=% + \space\the\headsep\MessageBreak + \space\string\topskip\space\space\space\space\space\space\space\space=% + \space\the\topskip\MessageBreak + \space\string\footskip\space\space\space\space\space\space\space=% + \space\the\footskip\MessageBreak + \space\string\baselineskip\space\space\space=% + \space\the\baselineskip\MessageBreak + } + \@typearea@end} +\newcommand\@typearea@end{} +\AtBeginDocument{% + \renewcommand\@typearea@end{% + \PackageWarning{typearea} + {Typearea changed!\MessageBreak + You should do this only at preamble, because only\MessageBreak + \protect\begin{document} calculates output dimensions!\MessageBreak + Trying to calculate new output dimensions, but\MessageBreak + this is only a dirty hack} + \clearpage + \@colht\textheight + \@colroom\textheight \vsize\textheight + \columnwidth\textwidth + \if@twocolumn + \advance\columnwidth -\columnsep + \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue + \fi + \hsize\columnwidth \linewidth\hsize + }} +\newcommand*\areaset[3][\z@]{ + \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else + \setlength{\ta@bcor}{#1} + \fi + \textwidth #2 + \textheight #3 + \ta@hblk \paperwidth + \advance\ta@hblk by -\ta@bcor + \advance\ta@hblk by -\textwidth + \divide\ta@hblk by 3 + \oddsidemargin -1in + \evensidemargin -1in + \if@twoside + \advance\oddsidemargin by \ta@hblk + \advance\oddsidemargin by \ta@bcor + \advance\evensidemargin by 2\ta@hblk + \else + \advance\oddsidemargin by 1.5\ta@hblk + \advance\oddsidemargin by \ta@bcor + \evensidemargin\oddsidemargin + \fi + \headheight 15\p@ + \advance\headheight by\f@size\p@ + \advance\headheight by-10\p@ + \headsep 1.5\baselineskip + \footskip 3.5\baselineskip + \ta@vblk \paperheight + \advance\ta@vblk by -\textheight + \divide\ta@vblk by 3 + \if@hincl + \advance\textheight by -\headheight + \advance\textheight by -\headsep + \fi + \if@fincl + \advance\textheight by -\footskip + \fi + \topmargin \ta@vblk + \advance\topmargin by -1in + \if@hincl \else + \advance\topmargin by -\headheight + \advance\topmargin by -\headsep + \fi + \if@twoside + \marginparwidth 1.5\ta@hblk + \else + \marginparwidth \ta@hblk + \fi + \marginparsep 1cc + \marginparpush 0.45\baselineskip + \@areaset@end} +\newcommand\@areaset@end{\@typearea@end} +\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=2 + \else + \xdef\@tempa{\ta@divlist{}} + \ta@div=#1\relax + \@whilenum \ta@div >-9 \do {% + \ifx\@tempa\empty \relax% + \else \xdef\@tempa{\expandafter\@cdr\@tempa\@nil}% + \fi + \advance\ta@div by -1 + } + \ifx\@tempa\empty + \ta@div=10\advance\ta@div by#1\relax + \PackageWarningNoLine{typearea}{% + DIV for \the\ta@div pt 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} +\typearea[current]{current} +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `typearea.sty'. |