%%
%% This is file `typearea.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% scrkvers.dtx  (with options: `package,typearea')
%% scrktare.dtx  (with options: `package,identify')
%% scrkbase.dtx  (with options: `load')
%% scrktare.dtx  (with options: `package,option')
%% scrkcomp.dtx  (with options: `package,typearea,option')
%% scrktare.dtx  (with options: `package,body')
%% scrkcomp.dtx  (with options: `package,typearea,body')
%% scrlogo.dtx  (with options: `logo')
%% 
%% Copyright (c) 1994-2009
%% Markus Kohm and any individual authors listed elsewhere in this file.
%% 
%% This file was generated from file(s) of the KOMA-Script bundle.
%% ---------------------------------------------------------------
%% 
%% It may be distributed under the conditions of the
%% LaTeX Project Public License in the version distributed together
%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'.
%% 
%% This file may only be distributed together with a copy of the
%% KOMA-Script bundle.  You may however distribute the
%% KOMA-Script bundle without all such generated files.  See also
%% `lppl.txt' or `lppl-de.txt' for additional information.
%% 
%% The list of files belonging to KOMA-Script distribution is given in
%% the file `manifest.txt'.  See also `lppl.txt' or `lppl-de.txt' for
%% additional information.
%% 
%% If this file is a beta version, you may not be allowed to distribute
%% it.  Look at the comments below to see if this is the case.
%% 
%% English and German manuals are part of KOMA-Script bundle.
%% ----------------------------------------------------------
%% 
%% See `README'.
%% 
%% The KOMA-Script bundle (but maybe not this file) was based upon the
%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e
%% standard classes created by The LaTeX3 Project 1994-1996.  You may
%% find a complete unmodified copy of LaTeX2e at
%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>.
%% 
%%% From File: scrkvers.dtx
\begingroup
  \makeatletter
  \ifx\KOMAScriptVersion\undefined
    \newcommand*{\@CheckKOMAScriptVersion}[1]{%
      \gdef\KOMAScriptVersion{#1}%
    }%
  \else
    \newcommand*{\@CheckKOMAScriptVersion}[1]{%
      \def\@tempa{#1}%
      \ifx\KOMAScriptVersion\@tempa\else
        \@latex@warning@no@line{%
          \noexpand\KOMAScriptVersion\space is
          `\KOMAScriptVersion',\MessageBreak
          but `#1' was expected!\MessageBreak
          You should not use classes, packages or files
          from\MessageBreak
          different KOMA-Script versions%
        }%
      \fi
    }
  \fi
  \@CheckKOMAScriptVersion{2009/07/07 v3.04 KOMA-Script}%
\endgroup
%%% From File: scrktare.dtx
\ProvidesPackage{typearea}[%
  \KOMAScriptVersion\space package (type area)]
\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-^^J%
}
%%% From File: scrkbase.dtx
\RequirePackage{scrkbase}[\KOMAScriptVersion]
%%% From File: scrktare.dtx
\newcommand*\SetDIVList[1]{\def\ta@divlist{{}{}{}{}{}{}{}{}{}#1}}
\newcommand*\SetXDIVList[1]{\def\ta@divlist{#1}}
\newlength{\ta@bcor}
\newcount\ta@div
\newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR}
\newcommand*{\@@BCOR}{}
\def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{%
  \ifstr{#1}{}{%
    \ifstr{#3}{BCOR}{%
      \ifdimen{#2}{\setlength{\ta@bcor}{#2}}{\scr@pti@nerr@r}%
    }{\scr@pti@nerr@r}%
  }{\scr@pti@nerr@r}%
}
\newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV}
\newcommand*{\@@DIV}{}
\def\@@DIV #1DIV#2DIV#3\@@DIV{%
  \edef\@tempa{#1}\ifx\@tempa\@empty
    \edef\@tempa{#3}\def\@tempb{DIV}\ifx\@tempa\@tempb
      \ifnumber{#2}{\ta@div=#2\relax}{\scr@pti@nerr@r}%
    \else\scr@pti@nerr@r\fi
  \else\@BCOR\fi
}
\newcommand{\@headlines}{%
  \expandafter\@@headlines\CurrentOption headlines\@@headlines%
}
\newcommand*{\@@headlines}{}
\def\@@headlines #1headlines#2\@@headlines{
  \edef\@tempa{#2}\edef\@tempb{headlines}\ifx\@tempa\@tempb
    \setlength{\@tempdima}{#1\baselineskip}%
    \def\ta@hh{#1\baselineskip}%
  \else\@DIV\fi
}
\newcommand\isopaper[2][a]{%
  \ifx a#1
    \setlength{\paperwidth}{841sp}%
    \setlength{\paperheight}{1189sp}%
  \else\ifx A#1
      \setlength{\paperwidth}{841sp}%
      \setlength{\paperheight}{1189sp}%
    \else\ifx b#1
        \setlength{\paperwidth}{1000sp}%
        \setlength{\paperheight}{1414sp}%
      \else\ifx B#1
          \setlength{\paperwidth}{1000sp}%
          \setlength{\paperheight}{1414sp}%
        \else\ifx c#1
            \setlength{\paperwidth}{917sp}%
            \setlength{\paperheight}{1297sp}%
          \else\ifx C#1
              \setlength{\paperwidth}{917sp}%
              \setlength{\paperheight}{1297sp}%
            \else\ifx d#1
                \setlength{\paperwidth}{771sp}%
                \setlength{\paperheight}{1090sp}%
              \else\ifx D#1
                  \setlength{\paperwidth}{771sp}%
                  \setlength{\paperheight}{1090sp}%
                \else
                  \PackageError{typearea}{%
                    Unknown ISO/DIN-papersize-letter #1%
                  }{%
                    There are only four defined paper scalings:\MessageBreak
                    a = ISO/DIN-A, b = ISO/DIN-B, c = ISO/DIN-C,
                    d = ISO/DIN-D\MessageBreak
                    Read KOMA-Script-documentation for further information.%
                  }%
                  \setlength{\paperwidth}{841sp}%
                  \setlength{\paperheight}{1189sp}%
                \fi
              \fi
            \fi
          \fi
        \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
  \multiply\paperheight by186468
  \if@landscape
    \setlength{\@tempdima}{\paperwidth}%
    \setlength{\paperwidth}{\paperheight}%
    \setlength{\paperheight}{\@tempdima}%
  \fi
}
\newcommand*{\iso@paper}[1]{\expandafter\iso@@paper#1\@nil}
\newcommand*{\iso@@paper}{}
\def\iso@@paper#1#2\@nil{%
  \@tempswafalse
  \if #1a\@tempswatrue
  \else\if #1A\@tempswatrue
    \else\if #1b\@tempswatrue
      \else\if #1B\@tempswatrue
        \else\if #1c\@tempswatrue
          \else\if #1C\@tempswatrue
            \else\if #1d\@tempswatrue
              \else\if #1D\@tempswatrue
  \fi\fi\fi\fi\fi\fi\fi\fi
  \if@tempswa
    \ifnumber{#2}{\isopaper[#1]{#2}}{\@tempswafalse}%
  \fi
}
\newcommand*{\x@paper}{%
  \expandafter\x@@paper\CurrentOption paper\x@@paper%
}
\newcommand*{\x@@paper}{}
\def\x@@paper #1#2paper#3\x@@paper{%
  \ifstr{#3}{paper}{%
    \ifnumber{#2}{%
      \ifstr{#1}{a}{%
        \isopaper[a]{#2}%
      }{%
        \ifstr{#1}{b}{%
          \isopaper[b]{#2}%
        }{%
          \ifstr{#1}{c}{%
            \isopaper[c]{#2}%
          }{%
            \ifstr{#1}{d}{%
              \isopaper[d]{#2}%
            }{\scr@pti@nerr@r}%
          }%
        }%
      }%
    }{\scr@pti@nerr@r}%
  }{%
    \@headlines
  }%
}
\newcommand*{\scr@pti@nerr@r}{
  \@unknownoptionerror
}
\KOMA@key{headlines}{%
  \begingroup
    \setlength{\@tempdima}{#1\baselineskip}%
  \endgroup
  \def\ta@hh{#1\baselineskip}%
}
\KOMA@key{headheight}{%
  \begingroup
    \setlength{\@tempdima}{#1}%
  \endgroup
  \def\ta@hh{#1}%
}
\newif\if@hincl\@ifundefined{if@hsl}{}{\let\if@hincl\if@hsl}
\KOMA@ifkey{headinclude}{@hincl}
\KOMA@DeclareDeprecatedOption[typearea]{headexclude}{headinclude=false}
\newif\if@fincl\@ifundefined{if@fsl}{}{\let\if@fincl\if@fsl}
\KOMA@ifkey{footinclude}{@fincl}
\KOMA@DeclareDeprecatedOption[typearea]{footexclude}{footinclude=false}
\KOMA@ifkey{mpinclude}{@mincl}
\KOMA@DeclareDeprecatedOption[typearea]{mpexclude}{mpinclude=false}
\KOMA@key{BCOR}{%
  \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else
    \setlength{\ta@bcor}{#1}%
  \fi
}
\AtEndOfPackage{\KOMA@key{BCOR}{\typearea[{#1}]{last}}}
\KOMA@key{DIV}[calc]{%
  \edef\@tempa{#1}%
  \def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv\fi
  \def\@tempb{current}\ifx\@tempa\@tempb\else
    \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=0 \else
      \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=2 \else
        \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=3 \else
          \ta@div=\@tempa
        \fi
      \fi
    \fi
  \fi
}
\AtEndOfPackage{\KOMA@key{DIV}{\typearea[current]{#1}}}
\KOMA@DeclareDeprecatedOption[typearea]{DIVcalc}{DIV=calc}
\KOMA@DeclareDeprecatedOption[typearea]{DIVclassic}{DIV=classic}
\newif\if@semitwoside
\g@addto@macro\@twosidetrue\@semitwosidefalse
\g@addto@macro\@twosidefalse\@semitwosidefalse
\KOMA@key{twoside}[true]{%
  \if@atdocument\if@twoside\cleardoublepage\else\clearpage\fi\fi
  \ifstr{#1}{semi}{%
    \@twosidetrue
    \@semitwosidetrue
  }{%
    \def\FamilyElseValue{, `semi'}%
    \KOMA@set@ifkey{twoside}{@twoside}{#1}%
  }%
  \if@twoside
    \if@semitwoside
      \@mparswitchfalse
    \else
      \@mparswitchtrue
    \fi
  \else
    \@mparswitchfalse
  \fi%
  \csname recalctypearea\endcsname
}
\KOMA@DeclareStandardOption%
  [typearea]%
  {oneside}{twoside=false}
\KOMA@key{twocolumn}[true]{%
  \if@atdocument\clearpage\fi
  \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}%
  \csname recalctypearea\endcsname
}
\KOMA@DeclareStandardOption%
  [typearea]%
  {onecolumn}{twocolumn=false}
\KOMA@key{pagesize}[auto]{%
  \begingroup
    \KOMA@set@ncmdkey{pagesize}{@tempa}{%
      {off}{-1},{no}{-1},{false}{-1},%
      {auto}{0},{automedia}{1},{dvips}{2},{pdftex}{3}%
    }{#1}%
    \ifcase\number\@tempa\relax
      \endgroup
      \set@pdftexpagesize
      \set@dvipspagesize
    \or
      \endgroup
      \set@pdftexpagesize
      \set@vtexpagesize
      \set@dvipspagesize
    \or
      \endgroup
      \set@dvipspagesize
    \or
      \endgroup
      \set@pdftexpagesize
  \fi
  \edef\@pagesizelast{#1}%
}
\newcommand{\set@pdftexpagesize}{%
  \AtBeginDocument{%
    \ifnotundefined{pdfpagewidth}{\pdfpagewidth=\paperwidth}{}%
    \ifnotundefined{pdfpageheight}{\pdfpageheight=\paperheight}{}%
  }%
  \let\set@pdftexpagesize=\@empty
}
\newcommand{\set@dvipspagesize}{%
  \begingroup
    \@tempswafalse
    \scr@ifdvioutput{\@tempswatrue}{%
      \ifnotundefined{if@dvips}{\let\if@tempswa\if@dvips}{}%
    }%
    \if@tempswa
      \endgroup
      \AtBeginDocument{\AtBeginDvi{%
          \special{papersize=\the\paperwidth,\the\paperheight}%
          \if@seascape\special{! TeXDict begin /landplus90{true}store end }\fi
        }%
      }%
      \ifnum \scr@compatibility>\@nameuse{scr@v@3.02b}\relax
        \let\set@dvipspagesize=\@empty
      \else
        \let\set@dvipspagesize=\setnot@dvipspagesize
      \fi
    \else
      \endgroup
  \fi
}
\newcommand{\setnot@dvipspagesize}{%
  \scr@ifdvioutput{%
    \PackageWarning{%
      typearea%
    }{%
      With dvi output option `pagesize=auto',\MessageBreak
      `pagesize=automedia' or `pagesize=dvips'\MessageBreak
      may be used only once at preamble.\MessageBreak
      Option ignored%
    }%
  }{}%
}
\newcommand{\set@vtexpagesize}{%
  \AtBeginDocument{%
    \ifnotundefined{mediawith}{\mediawidth=\paperwidth}{}%
    \ifnotundefined{mediaheight}{\mediaheight=\paperheight}{}%
  }%
  \let\set@vtexpagesize=\@empty
}
\newcommand*{\scr@updatedvipspagesize}{%
  \special{ps::\@percentchar\@percentchar
    PageBoundingBox: 0 0 \the\numexpr\paperwidth/\dimexpr 1bp\relax\relax
    \space \the\numexpr\paperheight/\dimexpr 1bp\relax\relax^^J%
    \@percentchar\@percentchar BeginPageSetup^^J%
    << /PageSize [\the\numexpr\paperwidth/\dimexpr 1bp\relax\relax\space
    \the\numexpr\paperheight/\dimexpr 1bp\relax\relax]
    >> setpagedevice^^J%<<
    0 0 bop^^J%
    \@percentchar\@percentchar EndPageSetup}%
}
\AtBeginDocument{
  \renewcommand*{\set@pdftexpagesize}{%
    \ifnotundefined{pdfpagewidth}{\pdfpagewidth=\paperwidth}{}%
    \ifnotundefined{pdfpageheight}{\pdfpageheight=\paperheight}{}%
  }%
  \ifnum \scr@compatibility>\@nameuse{scr@v@3.02b}\relax
    \renewcommand*{\set@dvipspagesize}{%
      \scr@ifundefinedorrelax{AtNextShipout}{%
        \scr@ifundefinedorrelax{AtBeginShipoutNext}{%
          \begingroup
            \protected@edef\reserved@a{\endgroup
            \scr@updatedvipspagesize}\reserved@a
        }{%
          \begingroup
            \protected@edef\reserved@a{\endgroup
            \protect\AtBeginShipoutNext{%
              \protect\bgroup
                \protect\global\protect\setbox\AtBeginShipoutBox\protect\vbox{%
                  \scr@updatedvipspagesize
                  \protect\box\AtBeginShipoutBox
                }%
              \protect\egroup
            }}\reserved@a
        }%
      }{%
        \begingroup
          \protected@edef\reserved@a{\endgroup
          \protect\AtNextShipout{%
            \protect\bgroup
              \protect\global\protect\setbox\protect\@cclv\protect\vbox{%
                \scr@updatedvipspagesize
                \protect\box\protect\@cclv
              }%
            \protect\egroup
          }}\reserved@a
      }%
    }%
  \else
    \let\set@dvipspagesize=\setnot@dvipspagesize
  \fi
  \renewcommand*{\set@vtexpagesize}{%
    \ifnotundefined{mediawith}{\mediawidth=\paperwidth}{}%
    \ifnotundefined{mediaheight}{\mediaheight=\paperheight}{}%
  }%
}
\KOMA@DeclareStandardOption[typearea]{dvips}{%
  pagesize=automedia%
}
\KOMA@DeclareStandardOption[typearea]{pdftex}{%
  pagesize=pdftex%
}
\KOMA@DeclareStandardOption[typearea]{a4paper}{paper=a4}
\KOMA@DeclareStandardOption[typearea]{a5paper}{paper=a5}
\KOMA@DeclareStandardOption[typearea]{b5paper}{paper=b5}
\KOMA@DeclareStandardOption[typearea]{letterpaper}{paper=letter}
\KOMA@DeclareStandardOption[typearea]{legalpaper}{paper=legal}
\KOMA@DeclareStandardOption[typearea]{executivepaper}{paper=executive}
\KOMA@DeclareStandardOption[typearea]{landscape}{paper=landscape}
\KOMA@DeclareStandardOption[typearea]{portrait}{paper=portrait}
\KOMA@key{paper}{%
  \ifstr{#1}{seascape}{%
    \@seascapetrue
    \if@landscape\else
      \setlength{\@tempdima}{\paperwidth}%
      \setlength{\paperwidth}{\paperheight}%
      \setlength{\paperheight}{\@tempdima}%
      \@landscapetrue
    \fi
  }{%
    \ifstr{#1}{landscape}{%
      \@seascapefalse
      \if@landscape\else
        \setlength{\@tempdima}{\paperwidth}%
        \setlength{\paperwidth}{\paperheight}%
        \setlength{\paperheight}{\@tempdima}%
        \@landscapetrue
      \fi
    }{%
      \ifstr{#1}{portrait}{%
        \if@landscape
          \setlength{\@tempdima}{\paperwidth}%
          \setlength{\paperwidth}{\paperheight}%
          \setlength{\paperheight}{\@tempdima}%
          \@landscapefalse
        \fi
      }{%
        \ifstr{#1}{letter}{%
          \if@landscape
            \setlength\paperheight{8.5in}%
            \setlength\paperwidth {11in}%
          \else
            \setlength\paperheight{11in}%
            \setlength\paperwidth {8.5in}%
          \fi
        }{%
          \ifstr{#1}{legal}{%
            \if@landscape
              \setlength\paperheight{8.5in}%
              \setlength\paperwidth {14in}%
            \else
              \setlength\paperheight{14in}%
              \setlength\paperwidth {8.5in}%
            \fi
          }{%
            \ifstr{#1}{executive}{%
              \if@landscape
                \setlength\paperheight{7.25in}%
                \setlength\paperwidth {10.5in}%
              \else
                \setlength\paperheight{10.5in}%
                \setlength\paperwidth {7.25in}%
             \fi
            }{%
              \iso@paper{#1}%
              \if@tempswa\else
                \expandafter\maybe@pair#1::\@nil
                \if@tempswa
                  \ifnum \scr@ta@compatibility<\@nameuse{scr@v@3.01b}\relax
                    \PackageWarningNoLine{typearea}{%
                      You may have to exchange height and width!\MessageBreak
                      Until KOMA-Script version 3.01b the semantic\MessageBreak
                      of option `paper' was `paper=height:width'\MessageBreak
                      instead of `paper=width:height'.\MessageBreak
                      I've switched back to that old interpretation\MessageBreak
                      because of the given compatiblity settings}%
                    \setlength\paperheight{\@tempa}%
                    \setlength\paperwidth{\@tempb}%
                  \else
                    \setlength\paperwidth{\@tempa}%
                    \setlength\paperheight{\@tempb}%
                  \fi
                \else
                  \KOMA@unknown@keyval{paper}{#1}{%
                    `letter', `legal', `executive', `a'<nr>, `b'<nr>,
                    `c'<nr>, `d'<nr>,\MessageBreak
                    <width>`:'<height>, `landscape' and `portrait'%
                  }%
                \fi
              \fi
            }%
          }%
        }%
      }%
    }%
  }%
}
\newif\if@seascape
\newif\if@landscape
\newcommand*{\maybe@pair}{}
\def\maybe@pair#1:#2:#3\@nil{%
  \edef\@tempa{#1}\edef\@tempb{#2}%
  \ifx\@tempa\@empty\@tempswafalse\else
    \ifx\@tempb\@empty\@tempswafalse\else\@tempswatrue\fi
  \fi
}
\DeclareOption*{%
  \x@paper}
%%% From File: scrkcomp.dtx
\providecommand*
  {\scr@compatibility}{\scr@v@last}
\newcommand*{\scr@ta@compatibility}{\scr@compatibility}
\KOMA@key{version}[last]{%
  \scr@ifundefinedorrelax{scr@v@#1}{%
    \def\scr@compatibility{0}%
    \PackageWarningNoLine{%
      typearea%
    }{%
      You have set option `version' to value `#1', but\MessageBreak
      this value of version is not supported.\MessageBreak
      Because of this, version was set to `first'%
    }%
  }{%
    \PackageInfoNoLine{scrextend}{%
      Switching compatibility level to `#1'%
    }%
    \edef\scr@ta@compatibility{\@nameuse{scr@v@#1}}%
  }%
}
\AtEndOfPackage{%
  \KOMA@key{version}[]{%
    \PackageError{%
      typearea%
    }{%
      Option `version' too late%
    }{%
      Option `version' may be set only while loading the
      package.\MessageBreak
      But you've tried to set it up later.%
    }%
  }%
}
\@namedef{scr@v@first}{0}
\@namedef{scr@v@2.9}{0}
\@namedef{scr@v@2.9t}{0}
\@namedef{scr@v@2.9u}{1}
\@namedef{scr@v@2.95}{2}
\@namedef{scr@v@2.95a}{2}
\@namedef{scr@v@2.95b}{2}
\@namedef{scr@v@2.96}{2}
\@namedef{scr@v@2.96a}{3}
\@namedef{scr@v@2.97}{3}
\@namedef{scr@v@2.97a}{3}
\@namedef{scr@v@2.97b}{3}
\@namedef{scr@v@2.97c}{4}
\@namedef{scr@v@2.97d}{5}
\@namedef{scr@v@2.97e}{6}
\@namedef{scr@v@2.98}{6}
\@namedef{scr@v@2.98a}{6}
\@namedef{scr@v@2.98b}{6}
\@namedef{scr@v@2.98c}{7}
\@namedef{scr@v@3.00}{8}
\@namedef{scr@v@3.01}{8}
\@namedef{scr@v@3.01a}{8}
\@namedef{scr@v@3.01b}{9}
\@namedef{scr@v@3.01c}{9}
\@namedef{scr@v@3.02}{9}
\@namedef{scr@v@3.02b}{9}
\@namedef{scr@v@3.02c}{10}
\@namedef{scr@v@3.03}{10}
\@namedef{scr@v@3.03a}{10}
\@namedef{scr@v@3.03b}{10}
\@namedef{scr@v@3.04}{10}
\@namedef{scr@v@last}{10}
%%% From File: scrktare.dtx
\InputIfFileExists{typearea.cfg}{%
  \typeout{%
    ***************************************^^J%
    * Local config file typearea.cfg used^^J%
    ***************************************%
  }
}{}
\KOMAExecuteOptions{paper=A4}
\if@twoside
  \if@semitwoside
    \KOMAExecuteOptions{twoside=semi}
  \else
    \KOMAExecuteOptions{twoside}
  \fi
\else
  \KOMAExecuteOptions{twoside=false}
\fi
\KOMAProcessOptions\relax
\providecommand\ta@divlist{{}{}{}{}{}{}{}{}{}{8}{10}{12}}
\providecommand\ta@divlistelse{1}
\newlength{\ta@hblk}
\newlength{\ta@vblk}
\newlength{\ta@temp}
\newcommand*\@typearea{%
  \selectfont
  \ta@hblk=\paperwidth
  \advance \ta@hblk by-\ta@bcor
  \divide\ta@hblk by\ta@div
  \if@mincl
    \marginparwidth=\ta@hblk
    \advance\marginparwidth by-\marginparsep
  \else
    \if@twoside
      \if@semitwoside
        \marginparwidth=\ta@hblk
      \else
        \marginparwidth=1.5\ta@hblk
      \fi
    \else
      \marginparwidth=\ta@hblk
    \fi
  \fi
  \oddsidemargin=-1in
  \evensidemargin=-1in
  \if@twoside
    \if@semitwoside
      \advance\oddsidemargin by1.5\ta@hblk
      \advance\oddsidemargin by\ta@bcor
      \evensidemargin=\oddsidemargin
    \else
      \advance\oddsidemargin by\ta@hblk
      \advance\oddsidemargin by\ta@bcor
      \advance\evensidemargin by2\ta@hblk
      \if@mincl
        \advance\evensidemargin by\marginparwidth
        \advance\evensidemargin by\marginparsep
      \fi
    \fi
  \else
    \advance\oddsidemargin by1.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
      }%
      \@tempskipa=\marginparwidth
      \marginparwidth=\textwidth
      \textwidth=\@tempskipa
    \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
  \scr@ifundefinedorrelax{@ptsize}{%
    \topskip=\f@size\p@
  }{%
    \topskip=\@ptsize\p@
    \advance\topskip by 10\p@
  }%
  \maxdepth=.5\topskip
  \textheight=\topskip
  \@whiledim\textheight <\ta@temp
  \do{\advance\textheight by\baselineskip}%
}
\newcommand*\ta@modiv[2]{
  \setlength{\@tempdima}{#1}
  \divide\@tempdima by#2
  \ta@div\@tempdima
  \ifnum \ta@div<4
    \ta@div=4
  \else
    \setlength{\@tempdimb}{#1}%
    \divide\@tempdimb by\ta@div
    \addtolength{\@tempdima}{\@tempdima}%
    \addtolength{\@tempdima}{-\@tempdimb}%
    \advance\ta@div by\@ne
    \setlength{\@tempdimb}{#1}%
    \divide\@tempdimb by\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@
    \setlength{\ta@temp}{2.53846\ta@temp}%
    \settowidth{\@tempdima}{\normalfont\normalsize
      ABCDEFGHIJKLMNOPQRSTUVWXYZ}%
    \setlength{\@tempdima}{.11538\@tempdima}%
    \addtolength{\ta@temp}{\@tempdima}%
  \else
    \multiply\ta@temp by66
    \settowidth{\@tempdima}{\normalfont\normalsize
      ABCDEFGHIJKLMNOPQRSTUVWXYZ}%
    \multiply\@tempdima by3
    \addtolength{\ta@temp}{\@tempdima}%
    \divide\ta@temp by26
  \fi
}
\newcommand*{\AfterCalculatingTypearea}{%
  \@ifstar \l@addto@macro \g@addto@macro \@typearea@end
}
\newcommand*{\@typearea@end}{}
\newcommand*{\activateareas}{%
  \if@atdocument
    \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}%
    \@colht=\textheight
    \@colroom=\textheight
    \vsize=\textheight
    \columnwidth=\textwidth
    \if@twocolumn
      \advance\columnwidth by-\columnsep
      \divide\columnwidth by\tw@
      \hsize=\columnwidth
      \@firstcolumntrue
    \fi
    \hsize=\columnwidth
    \linewidth\hsize
    \scr@ifundefinedorrelax{@pagesizelast}{}{\KOMAoptions{pagesize=\@pagesizelast}}%
  \fi
}
\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{}}%
    \@tempdima=#1pt
    \addtolength{\@tempdima}{.5\p@}%
    \divide\@tempdima by\p@
    \setlength{\@tempdimb}{\@tempdima}%
    \multiply\@tempdimb by\p@
    \ifdim \@tempdimb=#1pt
      \ta@div=#1\relax
      \@whilenum \ta@div >-9 \do {%
        \ifx\@tempa\empty
        \else \xdef\@tempa{\expandafter\@cdr\@tempa\@nil}\fi
        \advance\ta@div by-1
      }%
    \else
      \let\@tempa\empty
    \fi
    \ifx\@tempa\empty
      \setlength{\@tempdima}{#1\p@}%
      \addtolength{\@tempdima}{10\p@}%
      \PackageWarningNoLine{typearea}{%
        DIV for \the\@tempdima\space and used papersize\MessageBreak
        not defined!\MessageBreak
        Using DIV=\ta@divlistelse
      }%
      \ta@div=\ta@divlistelse\relax
    \else
      \xdef\@tempa{\expandafter\@car\@tempa\@nil}%
      \ifx\@tempa\empty
        \ta@div=\ta@divlistelse\relax
      \else
        \ta@div=\@tempa\relax
      \fi
    \fi
  \fi
}
\newcommand*\typearea[2][\z@]{%
  \scr@ifundefinedorrelax{currentgrouptype}{}{%
    \ifcase\currentgrouptype\else
      \PackageWarning{typearea}{%
        \string\typearea\space used at group level
        \the\currentgrouplevel.\MessageBreak
        Using \string\typearea\space inside any group, e.g.\MessageBreak
        environments, math mode, boxes, etc. may result in\MessageBreak
        many type setting problems. Because of this you\MessageBreak
        should never do this. You should move the
        \string\typearea\MessageBreak
        outside all groups%
      }%
    \fi
  }%
  \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
    \ifx\csname @tempa\endcsname\relax
      \def\@tempa{current}%
    \fi
  \fi
  \def\@tempb{areaset}\ifx\@tempa\@tempb
    \areaset[current]{\textwidth}{\textheight}%
  \else
    \def\@tempb{current}\ifx\@tempa\@tempb\else
      \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=0 \else
        \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=2 \else
          \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=3 \else
            \ta@div=\@tempa
          \fi
        \fi
      \fi
    \fi
    \edef\@lastdiv{\the\ta@div}%
    \if@atdocument\newpage\fi
    \normalsize
    \@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\p@
        \advance\@tempdima by.5pt
        \ta@div=\@tempdima
        \divide\ta@div by65536
        \advance\ta@div by-10
        \xdef\@ptsize{\the\ta@div}%
        \PackageWarningNoLine{typearea}{%
          \string\@ptsize\space not defined!\MessageBreak
          Fontsize is \f@size pt.\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 by3
        \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 by3
      \ifdim \ta@hblk <\z@
        \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
        \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 by100
    \divide\ta@temp by\@tempdima
    \@tempcnta=\ta@temp
    \ifnum\@tempcnta <5
      \ifnum\@tempcnta >-5
        \@tempcnta=0
      \else
        \advance\@tempcnta by4
      \fi
    \else
      \advance\@tempcnta by-4
    \fi
    \ifnum\@tempcnta <-15
      \@tempcnta=-\@tempcnta
      \PackageWarningNoLine{typearea}{%
        Bad type area settings!\MessageBreak
        The detected line width is about
        \the\@tempcnta\@percentchar\MessageBreak
        larger than the heuristically detected line width.\MessageBreak
        You should e.g. decrease DIV, increase fontsize\MessageBreak
        or change papersize%
      }%
      \@tempcnta=-\@tempcnta
    \else
      \ifnum\@tempcnta>15
        \PackageWarningNoLine{typearea}{%
          Maybe no optimal type area settings!\MessageBreak
          The maximum limit of line width is about
          \the\@tempcnta\@percentchar\MessageBreak
          larger than the heuristically detected line width.\MessageBreak
          You may e.g. increase DIV, decrease fontsize\MessageBreak
          or change the papersize%
        }
    \fi\fi
    \ifnum\ta@div <6
      \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 e.g. increase DIV, increase fontsize or\MessageBreak
        change papersize%
      }
    \fi
    \ta@layoutinfo{\number\ta@div}{\the\@tempcnta}%
    \@typearea@end
    \activateareas
  \fi
}
\newcommand*{\ta@layoutinfo}[2]{%
  \PackageInfo{typearea}{%
    These are the values describing the layout:\MessageBreak
    DIV\space\space=\space#1\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
    \ifx\relax#2\relax\else
      \space DIV departure\space\space\space=%
                           \space#2\@percentchar\MessageBreak
    \fi
    \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
  }%
}
\AtEndOfPackage{\newcommand*{\recalctypearea}{\typearea[current]{last}}}
\newcommand*\areaset[3][\z@]{%
  \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else
    \setlength{\ta@bcor}{#1}%
  \fi
  \if@atdocument\newpage\fi
  \setlength{\textwidth}{#2}%
  \setlength{\textheight}{#3}%
  \def\@lastdiv{areaset}%
  \ta@hblk=\paperwidth
  \advance\ta@hblk by-\ta@bcor
  \advance\ta@hblk by-\textwidth
  \divide\ta@hblk by3
  \oddsidemargin=-1in
  \evensidemargin=-1in
  \if@twoside
    \if@semitwoside
      \advance\oddsidemargin by1.5\ta@hblk
      \advance\oddsidemargin by\ta@bcor
      \evensidemargin\oddsidemargin
    \else
      \advance\oddsidemargin by\ta@hblk
      \advance\oddsidemargin by\ta@bcor
      \advance\evensidemargin by2\ta@hblk
    \fi
  \else
    \advance\oddsidemargin by1.5\ta@hblk
    \advance\oddsidemargin by\ta@bcor
    \evensidemargin\oddsidemargin
  \fi
  \scr@ifundefinedorrelax{@ptsize}{%
    \topskip=\f@size\p@
  }{%
    \topskip=\@ptsize\p@
    \advance\topskip by 10\p@
  }%
  \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 by3
  \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
    \if@semitwoside
      \marginparwidth=\ta@hblk
    \else
      \marginparwidth=1.5\ta@hblk
    \fi
  \else
    \marginparwidth=\ta@hblk
  \fi
  \marginparsep=1cc
  \marginparpush=0.45\baselineskip
  \ta@layoutinfo{areaset}{}%
  \activateareas
}
\typearea[current]{current}
%%% From File: scrkcomp.dtx
%%% From File: scrlogo.dtx
\@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'.
