summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/stellenbosch-2/tex/stb-thesis.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/stellenbosch-2/tex/stb-thesis.cls')
-rw-r--r--macros/latex/contrib/stellenbosch-2/tex/stb-thesis.cls797
1 files changed, 797 insertions, 0 deletions
diff --git a/macros/latex/contrib/stellenbosch-2/tex/stb-thesis.cls b/macros/latex/contrib/stellenbosch-2/tex/stb-thesis.cls
new file mode 100644
index 0000000000..8efaef30f8
--- /dev/null
+++ b/macros/latex/contrib/stellenbosch-2/tex/stb-thesis.cls
@@ -0,0 +1,797 @@
+%%
+%% This is file `stb-thesis.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% stb-thesis.dtx (with options: `cls')
+%% Copyright (C) 2023 Stellenbosch University
+%% All rights reserved.
+%%
+%% ----------------------------------------------------------------------
+%% Stellenbosch University Thesis Class
+%% ----------------------------------------------------------------------
+%%
+%% Author: Danie Els
+%% Maintained: Danie Els (dnjels@sun.ac.za)
+%%
+%% This work may be distributed and modified, and must be credited
+%% under the conditions of the latest version of the Creative Commons
+%% License (CC BY 4.0). The latest version of this license is in:
+%%
+%% https://creativecommons.org/licenses/by/4.0/
+%%
+%% This work consists of the files
+%% stb-thesis.dtx
+%% stb-thesis.ins
+%% stb-thesis-afr.tex
+%% stb-thesis-eng.tex
+%% and the derived files:
+%% stb-thesis.cls
+%% -------------------------------------------------------------------
+%%
+\newcommand{\STBTfileversion}{v1.2}
+\newcommand{\STBTfiledate}{2023/08/10}
+\NeedsTeXFormat{LaTeX2e}[2020/08/10]
+\def\STB@basetype{book}
+\ProvidesClass{stb-thesis}[\STBTfiledate
+ \STBTfileversion
+ Stellenbosh Thesis class (DNJ ELS)]
+\RequirePackage{calc}
+\RequirePackage{ifpdf}
+\providecommand{\phantomsection}{}
+\AtBeginDocument{%
+ \@ifpackageloaded{graphicx}{}{%
+ \ClassError{stb-thesis}{You must load the graphicx package}{}}}
+\edef\STB@AFRstr{\string afrikaans}
+\newcommand{\AorE}[2]{%
+ \ifx\STB@AFRstr\languagename #1\else #2\fi}
+\newenvironment{Afr}%
+ {\ifx\languagename\STB@AFRstr\relax\else
+ \selectlanguage{afrikaans}%
+ \fi}%
+ {}
+\newcommand*\STB@ENGstr{}
+\let\STB@ENGstr=\relax
+\newenvironment{Eng}%
+ {\ifx\relax\STB@ENGstr\relax\else
+ \ifx\languagename\STB@ENGstr\relax\else
+ \edef\STB@tempa{\noexpand\selectlanguage{\STB@ENGstr}}%
+ \STB@tempa
+ \fi
+ \fi}%
+ {}
+\newcommand\DegreeName{%
+ \ClassWarning{stb-thesis}{No degree or subject supplied}%
+ \textfb{[No degree!]}}
+\newcommand\DegreeNameLong{%
+ \ClassWarning{stb-thesis}{No degree or subject supplied}%
+ \textfb{[No degree!]}}
+\newcommand*\STBName{}
+\newcommand*\AuthByTxt{}
+\newcommand*\StudyLeaderType{}
+\newcommand*\StudyLeadersType{}
+\newcommand*\CoStudyLeaderType{}
+\newcommand*\CoStudyLeadersType{}
+\newcommand*\SupervisorType{}
+\newcommand*\SupervisorsType{}
+\newcommand*\CoSupervisorType{}
+\newcommand*\CoSupervisorsType{}
+\newcommand*\TypeAssignment{}
+\newcommand*\TypeThesis{}
+\newcommand*\TypePhD{}
+\newcommand*\CopyrightHolder{}
+\newcommand*\CopyrightTxt{}
+\newcommand*\CopyrightAnot{}
+\newcommand*\Signat{}
+\newcommand*\Datetxt{}
+\newcommand*\MasterDescript{}
+\newcommand*\PhDDescript{}
+\newcommand*\ThesisDeclare{}
+\newcommand*\MonthName{}
+\newcommand*\DeclarationName{}
+\newcommand*\AbstractName{}
+\InputIfFileExists{stb-thesis.afr}
+ {\ClassInfo{stb-thesis}{Input file 'stb-thesis.afr' loaded}}
+ {\ClassError{stb-thesis}{No file 'stb-thesis.afr'}{}}
+\InputIfFileExists{stb-thesis.eng}
+ {\ClassInfo{stb-thesis}{Input file 'stb-thesis.eng' loaded}}
+ {\ClassError{stb-thesis}{No file 'stb-thesis.eng'}{}}
+\STBextrasenglish
+\STBcaptionsenglish
+\def\STB@addto#1#2{%
+ #2%
+ \@temptokena{#2}%
+ \ifx#1\relax
+ \let#1\@empty
+ \fi
+ \ifx#1\undefined
+ \edef#1{\the\@temptokena}%
+ \else
+ \toks@\expandafter{#1}%
+ \edef#1{\the\toks@\the\@temptokena}%
+ \fi
+ \@temptokena{}\toks@\@temptokena}
+\newcommand\STB@addlangextras[2]{%
+ \AtBeginDocument{%
+ \expandafter\STB@addto\csname extras#1\endcsname #2}}
+\newcommand\STB@addlangcaptions[2]{%
+ \AtBeginDocument{%
+ \expandafter\STB@addto\csname captions#1\endcsname #2}}
+\DeclareOption{english}{%
+ \edef\STB@ENGstr{\string english}%
+ \STB@addlangextras{english}{\STBextrasenglish}%
+ \STB@addlangcaptions{english}{\STBcaptionsenglish}}
+\DeclareOption{UKenglish}{%
+ \edef\STB@ENGstr{\string UKenglish}%
+ \STB@addlangextras{UKenglish}{\STBextrasenglish}%
+ \STB@addlangcaptions{UKenglish}{\STBcaptionsenglish}}
+\DeclareOption{USenglish}{%
+ \edef\STB@ENGstr{\string USenglish}%
+ \STB@addlangextras{USenglish}{\STBextrasenglish}%
+ \STB@addlangcaptions{USenglish}{\STBcaptionsenglish}}
+\DeclareOption{british}{%
+ \edef\STB@ENGstr{\string british}%
+ \STB@addlangextras{british}{\STBextrasenglish}%
+ \STB@addlangcaptions{british}{\STBcaptionsenglish}}
+\DeclareOption{afrikaans}{%
+ \STB@addlangextras{afrikaans}{\STBextrasafrikaans}%
+ \STB@addlangcaptions{afrikaans}{\STBcaptionsafrikaans}}
+\newif\if@Masters
+\@Mastersfalse
+\newif\if@PhD
+\@PhDfalse
+\newcommand{\ThesisType}{}
+\newcommand{\SupervisorText}{}
+\newcommand{\SupervisorsText}{}
+\newcommand{\CoSupervisorText}{}
+\newcommand{\CoSupervisorsText}{}
+\DeclareOption{masters-a}{%
+ \renewcommand{\ThesisType}{\TypeAssignment}%
+ \renewcommand{\SupervisorText}{\SupervisorType}%
+ \renewcommand{\SupervisorsText}{\SupervisorsType}%
+ \renewcommand{\CoSupervisorText}{\CoSupervisorType}%
+ \renewcommand{\CoSupervisorsText}{\CoSupervisorsType}%
+ \@Masterstrue
+ \@PhDfalse}
+\DeclareOption{masters-t}{%
+ \renewcommand{\ThesisType}{\TypeThesis}%
+ \renewcommand{\SupervisorText}{\SupervisorType}%
+ \renewcommand{\SupervisorsText}{\SupervisorsType}%
+ \renewcommand{\CoSupervisorText}{\CoSupervisorType}%
+ \renewcommand{\CoSupervisorsText}{\CoSupervisorsType}%
+ \@Masterstrue
+ \@PhDfalse}
+\DeclareOption{PhD}{%
+ \renewcommand{\ThesisType}{\TypePhD}%
+ \renewcommand{\SupervisorText}{\SupervisorType}%
+ \renewcommand{\SupervisorsText}{\SupervisorsType}%
+ \renewcommand{\CoSupervisorText}{\CoSupervisorType}%
+ \renewcommand{\CoSupervisorsText}{\CoSupervisorsType}%
+ \@Mastersfalse
+ \@PhDtrue}
+\DeclareOption{twocolumn}{}
+\newif\if@ABlock
+\newif\if@GBlock
+\newif\if@WBlock
+\@ABlockfalse
+\@GBlockfalse
+\@WBlockfalse
+\DeclareOption{a5block}{%
+ \PassOptionsToClass{a4paper}{\STB@basetype}%
+ \@ABlocktrue
+ \@GBlockfalse
+ \@WBlockfalse}
+\DeclareOption{goldenblock}{%
+ \PassOptionsToClass{a4paper}{\STB@basetype}%
+ \@GBlocktrue
+ \@ABlockfalse
+ \@WBlockfalse}
+\DeclareOption{wideblock}{%
+ \PassOptionsToClass{a4paper}{\STB@basetype}%
+ \@GBlockfalse
+ \@ABlockfalse
+ \@WBlocktrue}
+\DeclareOption{stdblock}{%
+ \@GBlockfalse
+ \@ABlockfalse
+ \@WBlockfalse}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\STB@basetype}}
+\ExecuteOptions{masters-t}
+\ProcessOptions*\relax
+\LoadClass[oneside,openany]{\STB@basetype}
+\newlength{\STB@tdima}
+\newlength{\STB@tdimb}
+\newsavebox{\STB@tboxa}
+\newsavebox{\STB@tboxb}
+\newcounter{STB@tcnta}
+\newcounter{STB@tcntb}
+\newcommand\FixVertParams[1]{%
+ \normalsize
+ \setlength\STB@tdima{\textheight-\topskip}%
+ \setcounter{STB@tcnta}{\STB@tdima}
+ \setcounter{STB@tcntb}{\baselineskip}
+ \setcounter{STB@tcnta}{\value{STB@tcnta}/\value{STB@tcntb}}
+ \setlength\textheight{\baselineskip*\value{STB@tcnta}+\topskip}%
+ \setlength\STB@tdima{\paperheight-\textheight}%
+ \setlength\topmargin{#1\STB@tdima-\headheight-\headsep-1in}%
+ \@settopoint\topmargin}
+\newcommand\FixHorizParams[1]{%
+ \@settopoint\textwidth
+ \setlength\STB@tdima{\paperwidth-\textwidth}%
+ \if@twoside
+ \setlength\oddsidemargin{#1\STB@tdima-1in}%
+ \else
+ \setlength\oddsidemargin{.5\STB@tdima-1in}%
+ \fi
+ \@settopoint\oddsidemargin
+ \setlength\evensidemargin{\STB@tdima-\oddsidemargin-2in}%
+ \@settopoint\evensidemargin
+ \setlength\marginparwidth{\evensidemargin+1in-\marginparsep-1cm}%
+ \@settopoint\marginparwidth}
+\if@ABlock
+ \setlength\paperheight {297.3mm}
+ \setlength\paperwidth {210.2mm} % A4 paper
+ \setlength\textwidth {.5\paperheight}
+ \setlength\textheight {\paperwidth}
+ \setlength\marginparsep {7\p@}
+ \setlength\marginparpush{7\p@}
+ \FixVertParams{0.375}
+ %\FixHorizParams{0.375}
+ \FixHorizParams{0.5}% Changed in v3.0
+ \ifpdf
+ \setlength\pdfpagewidth{\paperwidth}
+ \setlength\pdfpageheight{\paperheight}
+ \fi
+\fi
+\if@GBlock
+ \setlength\paperheight {297.3mm}
+ \setlength\paperwidth {210.2mm} % A4 paper
+ \setlength\textheight {0.747547\paperheight}
+ \setlength\textwidth {0.666667\paperwidth}
+ \setlength\marginparsep {7\p@}
+ \setlength\marginparpush{7\p@}
+ \FixVertParams{0.375}
+ %\FixHorizParams{0.375}
+ \FixHorizParams{0.5}% Changed in v3.0
+ \ifpdf
+ \setlength\pdfpagewidth{\paperwidth}
+ \setlength\pdfpageheight{\paperheight}
+ \fi
+\fi
+\if@WBlock
+ \setlength\paperheight {297.3mm}
+ \setlength\paperwidth {210.2mm} % A4 paper
+ \setlength\textheight {\paperheight-50mm}
+ \setlength\textwidth {\paperwidth-50mm}
+ \setlength\marginparsep {7\p@}
+ \setlength\marginparpush{7\p@}
+ \FixVertParams{0.5}
+ \FixHorizParams{0.5}
+ \ifpdf
+ \setlength\pdfpagewidth{\paperwidth}
+ \setlength\pdfpageheight{\paperheight}
+ \fi
+\fi
+\begingroup
+ \catcode`\Q=3
+ \long\gdef\STB@ifempt#1{\STB@xifempt#1QQ\@secondoftwo\@firstoftwo\@nil}
+ \long\gdef\STB@xifempt#1#2Q#3#4#5\@nil{#4}
+\endgroup
+\newenvironment{STB@adjustwidth}[2]{%
+ \begin{list}{}{%
+ \setlength{\topsep}{0pt}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\leftmargin}{#1}%
+ \setlength{\rightmargin}{#2}%
+ \setlength{\listparindent}{\parindent}%
+ \setlength{\itemindent}{\parindent}%
+ \setlength{\parsep}{\parskip}%
+ }%
+ \item[]}{\end{list}}
+\newenvironment{SetMargins}[2]%
+ {\setlength{\STB@tdima}{-1in-\hoffset-\oddsidemargin}%
+ \setlength{\STB@tdimb}{-\STB@tdima}%
+ \addtolength{\STB@tdima}{#1}%
+ \addtolength{\STB@tdimb}{-\paperwidth+\textwidth+#2}%
+ \begin{STB@adjustwidth}{\STB@tdima}{\STB@tdimb}%
+ }%
+ {\end{STB@adjustwidth}}
+\newenvironment{STB@titlepage}[4]
+ {\cleardoublepage
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse\newpage
+ \fi
+ \thispagestyle{empty}%
+ \setcounter{page}\@ne
+ \setlength{\STB@tdima}{1in+\voffset+\topmargin+\headheight+\headsep+\topskip}%
+ \setlength{\STB@tdimb}{#1 -\STB@tdima}%
+ \vspace*{\STB@tdimb}%
+ \addtolength{\STB@tdima}{\textheight-\paperheight-\topskip}%
+ \addtolength{\STB@tdima}{#2}%
+ \enlargethispage{-\STB@tdima}%
+ \setlength{\STB@tdima}{-1in-\hoffset-\oddsidemargin}%
+ \setlength{\STB@tdimb}{-\STB@tdima}%
+ \addtolength{\STB@tdima}{#3}%
+ \addtolength{\STB@tdimb}{-\paperwidth+\textwidth+#4}%
+ \begin{STB@adjustwidth}{\STB@tdima}{\STB@tdimb}%
+ }%
+ {\end{STB@adjustwidth}%
+ \if@restonecol\twocolumn \else \newpage \fi
+ \if@twoside\else
+ \setcounter{page}\@ne
+ \fi}
+\let\maketitle\relax
+\newcommand\STB@frntpage{%
+ \includegraphics[width=\paperwidth,height=\paperheight]{stb-thesis-frntp.pdf}}
+\newcommand\STB@putfrntpage{%
+ \AddToHookNext{shipout/background}{\put(0mm,-\paperheight){\STB@frntpage}}}
+\newcommand{\TitlePage}{%
+ \STB@putfrntpage
+ \begingroup
+ \let\footnote\relax
+ \begin{STB@titlepage}{6cm}{4.5cm}{2.5cm}{2.5cm}%
+ \centering
+ \vfil
+ \vspace{20mm}
+ {\LARGE \@title \par}
+ \vspace{2em}
+ \if@Authorpresent
+ {\large \AuthByTxt\par}
+ \vspace{2em}
+ {\Large
+ \lineskip .75em\relax%
+ \begin{tabular}[t]{c}%
+ \STB@authorlong
+ \end{tabular}\par}%
+ \vfill
+ \vfill
+ \fi
+ {\large\slshape
+ \begin{STB@adjustwidth}{1.5cm}{1.5cm}
+ \centering\STB@ThesisDescript
+ \end{STB@adjustwidth}\par}
+ \vfill
+ \vfill
+ {\normalsize \STB@spvset \par}
+ \vspace{2em}
+ {\normalsize \STB@date\par}%
+ {\footnotesize \STB@sponsor \par}
+ \end{STB@titlepage}%
+ \endgroup
+ \global\let\TitlePage\relax
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\@thanks\@empty
+ }
+\newif\if@Authorpresent
+\@Authorpresentfalse
+\renewcommand\author[2]{%
+ \@Authorpresenttrue%
+ \gdef\STB@author{#1}%
+ \gdef\STB@authorlong{#2}}
+\newcommand\STB@author{%
+ \ClassWarning{stb-thesis}{No author supplied}}
+\newcommand\STB@authorlong{%
+ \ClassWarning{stb-thesis}{No author supplied}}
+\newcommand{\STB@ThesisDescript}{}
+\newcommand\ThesisDescript[1]{%
+ \long\gdef\STB@ThesisDescript{#1}}
+\if@Masters
+ \ThesisDescript{\MasterDescript}
+\fi
+\if@PhD
+ \ThesisDescript{\PhDDescript}%
+\fi
+\newcommand\degree[2]{%
+ \gdef\DegreeName{#1}%
+ \gdef\DegreeNameLong{#2}}
+\newcommand\address[1]{\gdef\STB@address{#1}}
+\newcommand\STB@address{%
+ \ClassWarning{stb-thesis}{No institutional address supplied}}
+\newcommand\faculty[1]{\gdef\FacultyName{#1}}
+\newcommand\FacultyName{%
+ \ClassWarning{stb-thesis}{No faculty name supplied}%
+ \textbf{[No faculty name supplied!]}}
+\newif\ifSTB@spvpresent\STB@spvpresentfalse
+\newif\ifSTB@cospvpresent\STB@cospvpresentfalse
+\newif\ifSTB@spvmult\STB@spvmultfalse
+\newif\ifSTB@cospvmult\STB@cospvmultfalse
+\newif\ifSTB@spvrows\STB@spvrowsfalse
+\newcommand\STB@spv{}
+\newcommand\STB@cospv{}
+\newcommand*\STB@spvalign{l}
+\newcommand{\supervisor}{%
+ \@ifstar{\STB@spvrowsfalse\@supervisor}%
+ {\STB@spvrowstrue\@supervisor}}
+\newcommand{\@supervisor}[2][l]{%
+ \STB@ifempt{#2}{}{\STB@spvpresenttrue}%
+ \renewcommand*\STB@spvalign{#1}%
+ \renewcommand\STB@spv{#2}}
+\newcommand{\cosupervisor}[1]{%
+ \STB@ifempt{#1}{}{\STB@cospvpresenttrue}%
+ \renewcommand\STB@cospv{#1}}
+\newcommand{\STB@spvset}{%
+ \ifSTB@spvrows
+ \STB@spvrows
+ \else
+ \STB@spvcols
+ \fi}
+\newcommand\STB@spvrows{%
+ \edef\STB@beginTab{\noexpand\begin{tabular}[t]{@{}\STB@spvalign @{}}}%
+ \edef\STB@endTab{\noexpand\end{tabular}}%
+ \STB@spvmultfalse
+ \sbox{\STB@tboxa}{%
+ \let\and\STB@spvand%
+ \STB@beginTab\STB@spv\STB@endTab}%
+ \STB@cospvmultfalse
+ \sbox{\STB@tboxb}{%
+ \let\and\STB@cospvand%
+ \STB@beginTab\STB@cospv\STB@endTab}%
+ \ifSTB@spvpresent
+ \begin{tabular}{@{}ll@{}}
+ \ifSTB@spvmult\SupervisorsText\else\SupervisorText\fi
+ & \usebox{\STB@tboxa}\\
+ \ifSTB@cospvpresent%
+ \noalign{\vskip 1ex}
+ \ifSTB@cospvmult\CoSupervisorsText\else\CoSupervisorText\fi
+ & \usebox{\STB@tboxb}
+ \fi
+ \end{tabular}
+ \fi}
+\newcommand\STB@spvcols{%
+ \edef\STB@beginTab{\noexpand\begin{tabular}[t]{@{}\STB@spvalign @{}}}%
+ \edef\STB@endTab{\noexpand\end{tabular}}%
+ \STB@spvmultfalse
+ \sbox{\STB@tboxa}{%
+ \let\and\STB@spvand%
+ \STB@beginTab\STB@spv\STB@endTab}%
+ \STB@cospvmultfalse
+ \sbox{\STB@tboxb}{%
+ \let\and\STB@cospvand%
+ \STB@beginTab\STB@cospv\STB@endTab}%
+ \ifSTB@spvpresent
+ \STB@beginTab
+ \ifSTB@spvmult\SupervisorsText\else\SupervisorText\fi\\[1ex]
+ \usebox{\STB@tboxa}
+ \STB@endTab
+ \fi
+ \ifSTB@cospvpresent
+ \hspace{2em}%
+ \STB@beginTab
+ \ifSTB@cospvmult\CoSupervisorsText\else\CoSupervisorText\fi\\[1ex]
+ \usebox{\STB@tboxb}
+ \STB@endTab
+ \fi}
+\newcommand*{\STB@spvand}[1][0pt]{%
+ \global\STB@spvmulttrue%
+ \\[#1]%
+ \ignorespaces}
+\newcommand*{\STB@cospvand}[1][0pt]{%
+ \global\STB@cospvmulttrue%
+ \\[#1]%
+ \ignorespaces}
+\let\studyleader\supervisor
+\let\promotor\supervisor %Backward compatibility
+\newcount\STB@month
+\newcount\STB@year
+\STB@month=0
+\STB@year=\number\year
+\def\STB@date{\MonthName{\STB@month}\ \number\STB@year}
+\newcommand{\setdate}[2]{%
+ \STB@ifempt{#1}{\STB@month=0}{\STB@month=#1}%
+ \STB@year=#2
+ \gdef\STB@date{\MonthName{\STB@month}\ \number\STB@year}}
+\newcommand\STB@sponsor{\vspace{2em}}
+\newcommand\SetSponsor[1]{%
+ \renewcommand\STB@sponsor{\vspace{2em}\par\parbox{\linewidth}{#1}}}
+\newcommand\CopyrightPage[1][\CopyrightHolder]{%
+ %\clearpage
+ %\thispagestyle{empty}
+ %\mbox{}\par\vfill
+ %\begin{center}
+ % \CopyrightTxt\ \copyright\ \number\STB@year\ #1\\
+ % \CopyrightAnot
+ %\end{center}
+ %\vfill\mbox{}\par
+ %\clearpage
+ }
+\newcommand\SetCopyrightHolder[1]{%
+ \renewcommand\CopyrightHolder{#1}}
+\newif\ifSTB@Copyright
+\STB@Copyrighttrue
+\newcommand\SetCopyrightOff{%
+ \STB@Copyrightfalse}
+\let\STB@DeclDate\@empty
+\newcommand{\DeclarationDate}[1]{%
+ \renewcommand\STB@DeclDate{#1}}
+\newcommand\STB@putdecldate{%
+ \vspace{1cm}
+ \noindent
+ \begin{minipage}{.5\textwidth}
+ \noindent
+ \ifx\STB@DeclDate\@empty\relax\else
+ \phantom{\Signat:}~\hfill\makebox[0pt][c]{\STB@DeclDate}\hfill\mbox{}\\[-.5\baselineskip]
+ \fi
+ \Datetxt:~ \dotfill\mbox{}\par
+ \end{minipage}
+ \par}
+\newcommand{\DeclarationPage}[1][\ThesisDeclare]{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \par
+ \thispagestyle{plain}%
+ \chapter*{\DeclarationName}%
+ \declaremark
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\DeclarationName}%
+ #1\par
+ \STB@putdecldate
+ \ifSTB@Copyright
+ \mbox{}\par
+ \vfill
+ \vfill
+ \noindent\CopyrightTxt\ \copyright\ \number\STB@year\ \CopyrightHolder\\
+ \noindent\CopyrightAnot
+ \vfill
+ \mbox{}\par
+ \fi
+ \if@restonecol\twocolumn\fi}
+\newenvironment{abstract}[1][\languagename]%
+ {\edef\@tempa{\expandafter\string #1}%
+ \ifx\@tempa\languagename\relax\else
+ \edef\@tempa{\noexpand\selectlanguage{#1}}\@tempa%
+ \fi
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \par
+ \chapter*{\AbstractName}%
+ \abstractmark
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\AbstractName}%
+ \begin{center}
+ {\large\bfseries \@title \par}
+ \medskip
+ {\lineskip .75em\relax%
+ \begin{tabular}[t]{@{}c@{}}%
+ \STB@author
+ \end{tabular}\par}
+ \smallskip
+ {\small\itshape\STB@address\par}
+ \smallskip
+ {\ThesisType: \DegreeName\par}
+ \smallskip
+ {\STB@date\par}
+ \end{center}
+ \if@restonecol\twocolumn\fi%
+ }{}
+\renewcommand\tableofcontents{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\contentsname}%
+ \tocmark
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\contentsname}%
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi}
+\renewcommand\listoffigures{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfigurename}%
+ \lofmark
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\listfigurename}%
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi
+ }
+\renewcommand*\l@figure{\@dottedtocline{1}{0em}{3em}}
+\renewcommand\listoftables{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listtablename}%
+ \lotmark
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\listtablename}%
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi}
+\let\l@table\l@figure
+\providecommand\bibsection{}%
+\AtBeginDocument{%
+ \renewcommand{\bibsection}{%
+ \chapter*{\bibname}%
+ \bibmark
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\bibname}}%
+ }
+\renewenvironment{thebibliography}[1]{%
+ \bibsection
+ \parindent \z@
+ \bibpreamble
+ \bibfont
+ \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
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist
+ \vskip-\lastskip}
+\let\bibfont\relax
+\let\bibpreamble\relax
+\newcommand*{\setbiblabel}[1]{%
+ \renewcommand*{\@biblabel}[1]{#1}}
+\setbiblabel{[#1]\hfill}
+\renewenvironment{theindex}
+ {\if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \columnseprule \z@
+ \columnsep 35\p@
+ \twocolumn[\@makeschapterhead{\indexname}]%
+ \indexmark
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\indexname}
+ \thispagestyle{plain}
+ \parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem}
+ {\if@restonecol
+ \onecolumn
+ \else
+ \clearpage
+ \fi}
+\newcommand*{\STB@headfnt}[1]{{\slshape\small#1}}
+\newcommand*{\STB@numfnt}[1]{{\normalsize\bfseries#1}}
+\if@twoside
+ \def\ps@STBthesis{%
+ \def\@evenhead{\STB@numfnt{\thepage}\hfil\STB@headfnt{\leftmark}}%
+ \def\@oddhead{\STB@headfnt{\rightmark}\hfil\STB@numfnt{\thepage}}%
+ \let\@oddfoot\@empty
+ \let\@evenfoot\@empty
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markboth{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\ \thechapter. \ %
+ \fi
+ \fi
+ ##1}}{}}%
+ \def\sectionmark##1{%
+ \markright{\MakeUppercase{%
+ \ifnum \c@secnumdepth > \z@
+ \thesection. \ %
+ \fi
+ ##1}}}%
+ \def\declaremark{\markboth{\MakeUppercase{\DeclarationName}}{}}%
+ \def\abstractmark{\markboth{\MakeUppercase{\AbstractName}}{}}%
+ \def\tocmark{\markboth{\MakeUppercase{\contentsname}}{}}%
+ \def\lofmark{\markboth{\MakeUppercase{\listfigurename}}{}}%
+ \def\lotmark{\markboth{\MakeUppercase{\listtablename}}{}}%
+ \def\bibmark{\markboth{\MakeUppercase{\bibname}}{}}%
+ \def\indexmark{\markboth{\MakeUppercase{\indexname}}{}}%
+ }
+\else
+ \def\ps@STBthesis{%
+ \def\@oddhead{\STB@headfnt{\rightmark}\hfil\STB@numfnt{\thepage}}%
+ \let\@oddfoot\@empty
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markright{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\ \thechapter. \ %
+ \fi
+ \fi
+ ##1}}}%
+ \def\declaremark{\markright{\MakeUppercase{\DeclarationName}}}%
+ \def\abstractmark{\markright{\MakeUppercase{\AbstractName}}}%
+ \def\tocmark{\markright{\MakeUppercase{\contentsname}}}%
+ \def\lofmark{\markright{\MakeUppercase{\listfigurename}}}%
+ \def\lotmark{\markright{\MakeUppercase{\listtablename}}}%
+ \def\bibmark{\markright{\MakeUppercase{\bibname}}}%
+ \def\indexmark{\markright{\MakeUppercase{\indexname}}}%
+ }
+\fi
+\def\ps@plain{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty
+ \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font\hfil\STB@numfnt{\thepage}\hfil}%
+ \let\@evenfoot\@oddfoot
+ }
+\pagestyle{STBthesis}
+\newcommand{\STB@headfamily}{\normalfont\rmfamily}
+\def\section{%
+ \@startsection{section}{1}%
+ {\z@}%
+ {-3.5ex plus -1ex minus -.2ex}%
+ {2.3ex plus .2ex}%
+ {\STB@headfamily\Large\bfseries\raggedright}}
+\def\subsection{%
+ \@startsection{subsection}{2}%
+ {\z@}%
+ {-3.25ex plus -1ex minus -.2ex}%
+ {1.5ex plus .2ex}%
+ {\STB@headfamily\large\bfseries\raggedright}}%
+\def\subsubsection{%
+ \@startsection{subsubsection}{3}%
+ {\z@}%
+ {-3.25ex plus -1ex minus -.2ex}%
+ {1.5ex plus .2ex}%
+ {\STB@headfamily\normalsize\bfseries\raggedright}}
+\def\paragraph{%
+ \@startsection{paragraph}{4}%
+ {\z@}%
+ {3.25ex plus 1ex minus .2ex}%
+ {-1em}%
+ {\STB@headfamily\normalsize\bfseries}}
+\def\subparagraph{%
+ \@startsection{subparagraph}{5}%
+ {\parindent}%
+ {3.25ex plus 1ex minus .2ex}%
+ {-1em}%
+ {\STB@headfamily\normalsize\bfseries}}
+\setcounter{topnumber}{3}
+\setcounter{bottomnumber}{2}
+\setcounter{totalnumber}{4}
+\setcounter{dbltopnumber}{3}
+\renewcommand{\topfraction}{.85}
+\renewcommand{\bottomfraction}{.7}
+\renewcommand{\textfraction}{.1}
+\renewcommand{\floatpagefraction}{.7}
+\renewcommand{\dbltopfraction}{.85}
+\renewcommand{\dblfloatpagefraction}{.7}
+\setlength{\floatsep}{15pt plus 12pt}
+\setlength{\textfloatsep}{\floatsep}
+\setlength{\intextsep}{\floatsep}
+\setlength{\dblfloatsep}{15pt plus 12pt}
+\setlength{\dbltextfloatsep}{15pt plus 12pt}
+\setlength{\@fptop}{0pt plus1fil}
+\setlength{\@fpbot}{0pt plus1fil}
+\setlength{\@fpsep}{8pt plus1fil}
+\setlength{\@dblfptop}{0pt plus1fil}
+\setlength{\@dblfpbot}{0pt plus1fil}
+\setlength{\@dblfpsep}{8pt plus1fil}
+\setlength{\abovecaptionskip}{0.5\baselineskip}
+\setlength{\belowcaptionskip}{0.5\baselineskip}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{\small{\bfseries #1:} #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ \unhbox\@tempboxa\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\endinput
+%%
+%% End of file `stb-thesis.cls'.