%%
%% This is file `sectsty.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% sectsty.dtx  (with options: `package')
%% 
%% Copyright Rowland McDonnell 1996, 1998, and 2002
%% email rowland.mcdonnell@physics.org
%% Some bits copyright the LaTeX3 team 1998.
%% 
%% This file is part of the sectsty package. It may be distributed and/or
%% modified under the conditions of the LaTeX Project Public License,
%% either version 1.2 of this license or (at your option) any later
%% version.
%% 
%% From the point of view of this licence, `the program' in this case is
%% the two files sectsty.ins and sectsty.dtx.
%% 
%% The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%% 
%% Don't give this file to anyone unless you also give them unmodified
%% versions of sectsty.ins and sectsty.dtx.
%% 
%% Don't modify this file unless you change its name and change all the
%% various identification strings it contains to indicate that: it's
%% derived from my sectsty package, it's now your responsibility, and
%% it's no longer part of the sectsty package.
%% 
%%
%% \CheckSum{1463}
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
\ProvidesPackage{sectsty}[2002/02/25 v2.0.2 Commands to change all
sectional heading styles]
\NeedsTeXFormat{LaTeX2e}[1998/06/01]
\long\def\SS@ocl#1#2#3{\ifnum #1>\SS@chatlevel #2\else #3\fi}
\def\SS@oclto#1#2{\SS@ocl{#1}{\typeout{#2}}{}}
\def\SS@chatlevel{3}
\DeclareOption{garrulous}{\def\SS@chatlevel{0}}
\DeclareOption{chatty}{\def\SS@chatlevel{1}}
\DeclareOption{taciturn}{\def\SS@chatlevel{2}}
\DeclareOption{yorkshire}{\def\SS@chatlevel{3}}
\ProcessOptions
\let\@svsec\relax
\newcommand{\nohang}{\let\@hangfrom\@empty}
\let\SS@origunderline\underline
\CheckCommand*{\underbar}[1]%
  {\underline{\sbox\tw@{#1}\dp\tw@\z@\box\tw@}}
\newcommand*{\SS@ulemsectuline}[2]{%
  \ifhmode% run-in head
    \begingroup%
    \def\hskip##1\relax##2\@@par{\endgroup\@@hskip##1\relax#1{##2}}%
  \else% stand alone head
    % \ifx\\\@centercr\let\@hangfrom\@empty\fi% deal with \@hangfrom prob
    \protected@edef\@svsec{\noexpand#1{\@svsec\strut}}% added strut
    \def\interlinepenalty##1##2\@@par{\@@interlinepenalty##1#1{##2}\@@par}%
    \fi%
  #2\@@par}% added strut here then removed it (stupid boy)
\let\@@hskip\hskip
\let\@@interlinepenalty\interlinepenalty
\CheckCommand*{\underline}[1]{%
  \relax
  \ifmmode\@@underline{#1}%
  \else $\@@underline{\hbox{#1}}\m@th$\relax\fi}
\def\SS@underline#1{%
  \relax
  \ifmmode\@@underline{\strut#1}%
  \else $\@@underline{\hbox{\strut#1}}\m@th$\relax\fi}

\def\SS@ulemheadingchapfudge#1#2{%
  \ifSS@komascript%
    \ifnum\SSsectlevel=1% chapter level
      \ifx\SS@headingpart\SS@nopartid%
        \SS@oclto{1}{Koma-script chapter number part}%
        \let\SS@savechapterformat\chapterformat%
        \def\chapterformat{#1{\SS@savechapterformat}}%
        \def\@tempcmda{#2}%
      \else%
        \SS@oclto{1}{Koma-script chapter title part}%
        \def\@tempcmda{#1{#2}}%
      \fi%
    \else%
      \SS@oclto{1}{Koma-script not chapter}%
      \def\@tempcmda{#1{#2}}%
    \fi%
  \else%
    \SS@oclto{1}{Not Koma-script}%
    \def\@tempcmda{#1{#2}}%
  \fi%
  \@tempcmda
}%

\AtBeginDocument{%
  \@ifundefined{UL@box}%
    {% if ulem has not been loaded
    \SS@oclto{1}{ulem not loaded; underlining setup}%
    \def\SS@makeulinesect{%
    \def\underbar##1{\SS@origunderline{\sbox\tw@{##1}\dp\tw@\z@\box\tw@}}%
    \def\underline{\SS@ulemsectuline{\SS@underline}}%
    \def\ulemheading##1{\SS@ulemsectuline{\SS@underline}}}%
    \def\SS@makeulinepartchap{%
    \def\underbar##1{\SS@origunderline{\sbox\tw@{##1}\dp\tw@\z@\box\tw@}}%
    \def\underline##1{\SS@ulemheadingchapfudge{\SS@underline}{##1}}%
    \def\ulemheading##1##2{\SS@ulemheadingchapfudge{\SS@underline}{##2}}}%
    }% endif ulem has not been loaded
    {% If ulem has been loaded
    \SS@oclto{1}{ulem loaded; underlining setup}%
    \def\SS@makeulinesect{%
    \def\underbar##1{\SS@origunderline{\sbox\tw@{##1}\dp\tw@\z@\box\tw@}}%
    \def\underline{\SS@ulemsectuline{\uline}}%
    \def\ulemheading##1##2{\SS@ulemsectuline{##1}{##2}}}%
    \def\SS@makeulinepartchap{%
    \def\underbar##1{\SS@origunderline{\sbox\tw@{##1}\dp\tw@\z@\box\tw@}}%
    \def\underline##1{\SS@ulemheadingchapfudge{\uline}{##1}}%
    \let\ulemheading\SS@ulemheadingchapfudge}
    }% endif ulem has been loaded
}% end \AtBeginDocument
\def\SS@rr{\def\raggedright{%
  \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip}}
\newif\ifSS@komascript
\SS@komascriptfalse
\@ifclassloaded{scrartcl}{\SS@komascripttrue}{}
\@ifclassloaded{scrreprt}{\SS@komascripttrue}{}
\@ifclassloaded{scrbook} {\SS@komascripttrue}{}

\newcommand{\SS@sectid}[1]{\gdef\SSsectlevel{#1}}
\newcommand{\SS@nopart}{\global\let\SS@headingpart\SS@nopartid}
\newcommand{\SS@titlepart}{\global\let\SS@headingpart\SS@titlepartid}
\newcommand{\SS@nopartid}{number part}
\newcommand{\SS@titlepartid}{title part}
\newcommand{\SSifnumberpart}{%
  \ifx\SS@headingpart\SS@nopartid
      \expandafter\@firstoftwo
    \else
      \expandafter\@secondoftwo
  \fi}
\newcommand{\SSiftitlepart}{%
  \ifx\SS@headingpart\SS@titlepartid
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi}
\def\ifraggedleft#1#2{%
  \edef\@tempcmda{\the\rightskip}%
  \edef\@tempcmdb{\the\z@skip}%
  \ifx\@tempcmda\@tempcmdb\@tempswatrue\else\@tempswafalse\fi
  \edef\@tempcmda{\the\leftskip}%
  \edef\@tempcmdb{\the\@flushglue}%
  \if@tempswa
    \ifx\@tempcmda\@tempcmdb\@tempswatrue\else\@tempswafalse\fi
    \fi
  \if@tempswa#1\else#2\fi}
\def\ifcentering{%
  \edef\@tempcmda{\the\rightskip}%
  \edef\@tempcmdb{\the\@flushglue}%
  \ifx\@tempcmda\@tempcmdb\@tempswatrue\else\@tempswafalse\fi
  \edef\@tempcmda{\the\leftskip}%
  \edef\@tempcmdb{\the\@flushglue}%
  \if@tempswa
    \ifx\@tempcmda\@tempcmdb\@tempswatrue\else\@tempswafalse\fi
    \fi
  \if@tempswa\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
\newcommand{\sectionrule}[5]{%
  \ifcentering{%
    \PackageError{sectsty}%
    {Can't use \protect\sectionrule\space with \protect\centering}%
    {The \protect\sectionrule\space command doesn't work properly
    with sectional headings that\MessageBreak are centred, so I'll
    carry on as if you'd not used the \protect\sectionrule\space
    command.}#5}%
    {\ifSS@komascript
      \ifnum\SSsectlevel>1
        \SS@oclto{1}{KOMA-script; normal section rule}%
        \SS@sectionrule{#1}{#2}{#3}{#4}{#5}%
      \else
        \SS@oclto{1}{KOMA-script; part/chap section rule}%
        \SS@komapartchaprule{#1}{#2}{#3}{#4}{#5}%
      \fi
    \else
      \SS@oclto{1}{No KOMA-script; normal section rule}%
        \SS@sectionrule{#1}{#2}{#3}{#4}{#5}%
    \fi}}
\def\SS@sectionrule#1#2#3#4#5{%
  \ifraggedleft
    {\SS@rlsectionrule{#1}{#2}{#3}{#4}{#5}}%
    {\SS@normsectionrule{#1}{#2}{#3}{#4}{#5}}}
\def\SS@normsectionrule#1#2#3#4#5{%
  \let\SS@@par\@@par\let\@@par\relax% very dodgy
  \noindent\makebox[0pt][l]{\rule[#1]{\hsize}{#2}}%
    #5\hfill\makebox[0pt][r]{\rule[#3]{\hsize}{#4}}%
  \let\@@par\SS@@par\@@par}
\def\SS@rlsectionrule#1#2#3#4#5{%
  \let\SS@@par\@@par\let\@@par\relax% very dodgy
  \noindent\makebox[0pt][l]{\rule[#1]{\hsize}{#2}}\hfill%
    #5\makebox[0pt][r]{\rule[#3]{\hsize}{#4}}%
  \let\@@par\SS@@par\@@par}
\newif\ifSS@starform
\def\secdef#1#2{\@ifstar{\SS@starformtrue#2}{\SS@starformfalse\@dblarg{#1}}}
\def\SS@komapartchaprule#1#2#3#4#5{%
  \ifraggedleft
    {\SS@rlkomapartchaprule{#1}{#2}{#3}{#4}{#5}}%
    {\SS@normkomapartchaprule{#1}{#2}{#3}{#4}{#5}}%
}
\def\SS@normkomapartchaprule#1#2#3#4#5{%
  \SS@oclto{1}{SS@normkomapartchaprule}%
  \ifSS@starform
    \SS@normsectionrule{#1}{#2}{#3}{#4}{#5}%
  \else
    \SSifnumberpart
     {\noindent\makebox[0pt][l]{\rule[#1]{\hsize}{#2}}#5}%
     {#5\hfill\makebox[0pt][r]{\rule[#3]{\hsize}{#4}}}%
  \fi
}
\def\SS@rlkomapartchaprule#1#2#3#4#5{%
  \SS@oclto{1}{SS@rlkomapartchaprule}%
  \ifSS@starform
    \SS@rlsectionrule{#1}{#2}{#3}{#4}{#5}%
  \else
    \SSifnumberpart
      {\noindent\makebox[0pt][l]{\rule[#1]{\hsize}{#2}}\hfill#5}%
      {#5\makebox[0pt][r]{\rule[#3]{\hsize}{#4}}}%
  \fi
}
\newcommand*{\partfont}          [1]
   {\gdef\SS@partnumberfont{\SS@sectid{0}\SS@nopart\SS@makeulinepartchap#1}
    \gdef\SS@parttitlefont{\SS@sectid{0}\SS@titlepart\SS@makeulinepartchap#1}}
\newcommand*{\partnumberfont}    [1]
   {\gdef\SS@partnumberfont{\SS@sectid{0}\SS@nopart\SS@makeulinepartchap#1}}
\newcommand*{\parttitlefont}     [1]
   {\gdef\SS@parttitlefont{\SS@sectid{0}\SS@titlepart\SS@makeulinepartchap#1}}
\newcommand*{\chapterfont}       [1]
   {\gdef\SS@chapnumfont{\SS@sectid{1}\SS@nopart\SS@makeulinepartchap#1}
    \gdef\SS@chaptitlefont{\SS@sectid{1}\SS@titlepart\SS@makeulinepartchap#1}}
\newcommand*{\chapternumberfont} [1]
   {\gdef\SS@chapnumfont{\SS@sectid{1}\SS@nopart\SS@makeulinepartchap#1}}
\newcommand*{\chaptertitlefont}  [1]
   {\gdef\SS@chaptitlefont{\SS@sectid{1}\SS@titlepart\SS@makeulinepartchap#1}}
\newcommand*{\sectionfont}       [1]
   {\gdef\SS@sectfont{\SS@sectid{2}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\subsectionfont}    [1]
   {\gdef\SS@subsectfont{\SS@sectid{3}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\subsubsectionfont} [1]
   {\gdef\SS@subsubsectfont{\SS@sectid{4}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\paragraphfont}     [1]
   {\gdef\SS@parafont{\SS@sectid{5}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\subparagraphfont}  [1]
   {\gdef\SS@subparafont{\SS@sectid{6}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\minisecfont}  [1]
   {\gdef\SS@minisecfont{\SS@sectid{7}\SS@rr\SS@makeulinepartchap#1}}
\newcommand*{\allsectionsfont}   [1] {\partfont{#1}
                                      \chapterfont{#1}
                                      \sectionfont{#1}
                                      \subsectionfont{#1}
                                      \subsubsectionfont{#1}
                                      \paragraphfont{#1}
                                      \subparagraphfont{#1}
                                      \minisecfont{#1}}
\allsectionsfont{\relax}
\@tempswafalse
\@ifclassloaded{article} {\@tempswatrue\SS@oclto{1}{article detected}} {}
\@ifclassloaded{report}  {\@tempswatrue\SS@oclto{1}{report  detected}} {}
\@ifclassloaded{book}    {\@tempswatrue\SS@oclto{1}{book    detected}} {}
\@ifclassloaded{letter}  {}                                            {}
\@ifclassloaded{slides}  {}                                            {}
\@ifclassloaded{scrartcl}{\@tempswatrue\SS@oclto{1}{scrartcl detected}} {}
\@ifclassloaded{scrreprt}{\@tempswatrue\SS@oclto{1}{scrreprt detected}} {}
\@ifclassloaded{scrbook} {\@tempswatrue\SS@oclto{1}{scrbook  detected}} {}

\if@tempswa\else
    \PackageError{sectsty}%
    {The sectsty package doesn't work with\MessageBreak
    this document class}%
    {The sectsty package only works with the following classes:
    \MessageBreak
    the standard LaTeX document classes\MessageBreak
    article, report, and book; and\MessageBreak
    the KOMA-Script classes\MessageBreak
    scrartcl, scrbook, and scrreprt.}
\fi
\@tempswafalse
\@ifclassloaded{article} {\@tempswatrue\SS@oclto{1}{article detected}} {}
\@ifclassloaded{report}  {\@tempswatrue\SS@oclto{1}{report  detected}} {}
\@ifclassloaded{book}    {\@tempswatrue\SS@oclto{1}{book    detected}} {}
\@ifclassloaded{letter}  {}              {}
\@ifclassloaded{slides}  {}              {}
\@ifclassloaded{scrartcl}{} {}
\@ifclassloaded{scrreprt}{} {}
\@ifclassloaded{scrbook} {} {}
\if@tempswa
\SS@oclto{1}{section->subparagraph modifications for article, report,
and book classes}%
\renewcommand\section{\@startsection {section}{1}{\z@}%
      {-3.5ex \@plus -1ex \@minus -.2ex}%
      {2.3ex \@plus.2ex}%
      {\normalfont\Large\bfseries\SS@sectfont}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
      {-3.25ex\@plus -1ex \@minus -.2ex}%
      {1.5ex \@plus .2ex}%
      {\normalfont\large\bfseries\SS@subsectfont}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
      {-3.25ex\@plus -1ex \@minus -.2ex}%
      {1.5ex \@plus .2ex}%
      {\normalfont\normalsize\bfseries\SS@subsubsectfont}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
      {3.25ex \@plus1ex \@minus.2ex}%
      {-1em}%
      {\normalfont\normalsize\bfseries\SS@parafont}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
      {3.25ex \@plus1ex \@minus .2ex}%
      {-1em}%
      {\normalfont\normalsize\bfseries\SS@subparafont}}
\fi
\@tempswafalse
\@ifclassloaded{article} {} {}
\@ifclassloaded{report}  {} {}
\@ifclassloaded{book}    {} {}
\@ifclassloaded{letter}  {}              {}
\@ifclassloaded{slides}  {}              {}
\@ifclassloaded{scrartcl}{\@tempswatrue\SS@oclto{1}{scrartcl detected}} {}
\@ifclassloaded{scrreprt}{\@tempswatrue\SS@oclto{1}{scrreprt detected}} {}
\@ifclassloaded{scrbook} {\@tempswatrue\SS@oclto{1}{scrbook  detected}} {}
\if@tempswa
\SS@oclto{1}{section->minisec modifications for scrartcl, scrreprt,
and scrbook classes}%
\renewcommand\section{\@startsection{section}{1}{\z@}%
  {-3.5ex \@plus -1ex \@minus -.2ex}%
  {2.3ex \@plus.2ex}%
  {\raggedsection\normalfont\size@section\sectfont\SS@sectfont}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\raggedsection\normalfont\size@subsection\sectfont\SS@subsectfont}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\raggedsection\normalfont\size@subsubsection\sectfont\SS@subsubsectfont}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  {3.25ex \@plus1ex \@minus.2ex}%
  {-1em}%
  {\raggedsection\normalfont\size@paragraph\sectfont\SS@parafont}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  {3.25ex \@plus1ex \@minus .2ex}%
  {-1em}%
  {\raggedsection\normalfont\size@subparagraph\sectfont\SS@subparafont}}
\renewcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex
  {\parindent \z@ \raggedsection\sectfont\SS@minisecfont {#1}\par\nobreak}%
  \@afterheading}%
  \fi
%% Code from |report.cls| June 1996
\@ifclassloaded{report}{%
\SS@oclto{1}{chapter modifications for report class}%
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
        \huge\bfseries\SS@chapnumfont{\@chapapp\space \thechapter}%
        \par\nobreak
        \vskip 20\p@
    \fi
    \interlinepenalty\@M
    \raggedright \normalfont
    \Huge \bfseries \SS@chaptitlefont {#1}\par\nobreak
    \vskip 40\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries \SS@chaptitlefont {#1}\par\nobreak
    \vskip 40\p@
  }}%
}{}
%% End code re-defining chapter stuff for report class
%% Chapter code from |book.cls| 1997/10/10 v1.3x
\@ifclassloaded{book}{%
\SS@oclto{1}{chapter modifications for book class}%
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        \huge\bfseries\SS@chapnumfont {\@chapapp\space \thechapter}%
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \raggedright \normalfont
    \Huge \bfseries \SS@chaptitlefont {#1}\par\nobreak
    \vskip 40\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries \SS@chaptitlefont  {#1}\par\nobreak
    \vskip 40\p@
  }}%
}{}
%% End code redefining chapter stuff from book.cls
%% Begin code redefining chapter stuff from scrreprt.cls
\@ifclassloaded{scrreprt}{%
\SS@oclto{1}{chapter modifications for scrreprt class}%
\def\@makechapterhead#1{\chapterheadstartvskip%
  {\size@chapter{\sectfont\SS@chapnumfont
    \@hangfrom{\ifnum \c@secnumdepth >\m@ne%
               \chapterformat\fi}%
      {\raggedsection \interlinepenalty \@M \SS@chaptitlefont {#1}\par}}%
    \nobreak\chapterheadendvskip
  }}
\def\@makeschapterhead#1{\chapterheadstartvskip%
  {\parindent \z@ \raggedsection
    \normalfont
    \size@chapter\sectfont\SS@chaptitlefont {#1}\par
    \nobreak\chapterheadendvskip
  }}
}{}
%% End code redefining chapter stuff from scrreprt.cls
%% Begin code redefining chapter stuff from scrbook.cls
\@ifclassloaded{scrbook}{%
\SS@oclto{1}{chapter modifications for scrbook class}%
\def\@makechapterhead#1{\chapterheadstartvskip%
  {\size@chapter{\sectfont\SS@chapnumfont
    \@hangfrom{\ifnum \c@secnumdepth >\m@ne%
                 \if@mainmatter \chapterformat\fi\fi}%
       {\raggedsection \interlinepenalty \@M \SS@chaptitlefont {#1}\par}}%
    \nobreak\chapterheadendvskip
  }}
\def\@makeschapterhead#1{\chapterheadstartvskip%
  {\parindent \z@ \raggedsection
    \normalfont
    \size@chapter\sectfont\SS@chaptitlefont {#1}\par
    \nobreak\chapterheadendvskip
  }}%
  }{}
  %    \end{macrocode}
%% End code redefining chapter stuff from scrbook.cls
%% Part code from book.cls 1997/10/10 v1.3x
\@ifclassloaded{book}{%
\SS@oclto{1}{part modifications for book class}%
\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \markboth{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \huge\bfseries\SS@partnumberfont {\partname~\thepart}%
       \par
       \vskip 20\p@
     \fi
     \centering \normalfont
     \Huge \bfseries \SS@parttitlefont {#2}\par}%
    \@endpart}
\def\@spart#1{%
    {\centering
     \interlinepenalty \@M
     \normalfont \Huge \bfseries \SS@parttitlefont {#1}\par}%
    \@endpart}
}{}
%% End code redefining part stuff from |book.cls|
%% Part code from |article.cls| 1997/10/10 v1.3x
\@ifclassloaded{article}{%
\SS@oclto{1}{part modifications for article class}%
\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >\m@ne
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >\m@ne
       \Large\bfseries\SS@partnumberfont {\partname~\thepart}%
       \par\nobreak
     \fi
     \raggedright \normalfont
     \huge \bfseries \SS@parttitlefont {#2}%
     \markboth{}{}\par}%
    \nobreak
    \vskip 3ex
    \@afterheading}
\def\@spart#1{%
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \normalfont
     \huge \bfseries \SS@parttitlefont {#1}\par}%
     \nobreak
     \vskip 3ex
     \@afterheading}
}{}
%% End code redefining part stuff from |article.cls|
%% Part code from |report.cls| 1997/10/10 v1.3x
\@ifclassloaded{report}{%
\SS@oclto{1}{part modifications for report class}%
\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \markboth{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \huge\bfseries\SS@partnumberfont {\partname~\thepart}%
       \par
       \vskip 20\p@
     \fi
     \centering \normalfont
     \Huge \bfseries \SS@parttitlefont {#2}\par}%
    \@endpart}
\def\@spart#1{%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \Huge \bfseries \SS@parttitlefont {#1}\par}%
    \@endpart}
}{}
%% End code redefining part stuff from report.cls
\@tempswafalse
\@ifclassloaded{scrreprt}{\@tempswatrue}{}
\@ifclassloaded{scrbook} {\@tempswatrue}{}
%% Part code from |scrbook.cls| 1998/07/17 v2.5e
\if@tempswa%
\SS@oclto{1}{part modifications for scrreprt and scrbook classes}%
\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}\@maybeasf%
      \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \chaptermark{}
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \size@partnumber\sectfont\SS@partnumberfont\partformat
       \par
       \vskip 20\p@
     \fi
     \size@part\sectfont\SS@parttitlefont {#2}\par}%
    \@endpart}
\def\@spart#1{%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \size@part\sectfont\SS@parttitlefont {#1}\chaptermark{}\par}%
    \@endpart}%
    \fi
%% End part code from |scrbook.cls| 1998/07/17 v2.5e
%% Part code from |scrartcl.cls| 1998/07/17 v2.5e
\@ifclassloaded{scrartcl}{%
\SS@oclto{1}{part modifications for scrartcl classes}%
\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >\m@ne
      \refstepcounter{part}\@maybeasf%
       \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >\m@ne
       \size@partnumber\sectfont\SS@partnumberfont\partformat
       \par\nobreak
     \fi
     \size@part\sectfont\SS@parttitlefont {#2}%
     \sectionmark{}\par}%
     \nobreak
     \vskip 3ex
    \@afterheading}
\def\@spart#1{%
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \normalfont
     \size@part\sectfont\SS@parttitlefont {#1}\sectionmark{}\par}%
     \nobreak
     \vskip 3ex
    \@afterheading}%
    }{}
\endinput
%%
%% End of file `sectsty.sty'.
