\NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{socreport} [2001/04/21 v1.4e NUS SoC HYP/UROP Report Class] \newcommand\@ptsize{} \newif\if@restonecol \newif\if@titlepage \@titlepagetrue \newif\if@openright % OOWIT \newif\if@urop \newif\if@hyp \if@compatibility\else \DeclareOption{a4paper} {\setlength\paperheight {297mm}% \setlength\paperwidth {210mm}} \fi \if@compatibility \renewcommand\@ptsize{0} \else % Minimum 11pt. Disallow 10pt. \DeclareOption{10pt}{\renewcommand\@ptsize{1}} \fi \DeclareOption{11pt}{\renewcommand\@ptsize{1}} \DeclareOption{12pt}{\renewcommand\@ptsize{2}} \if@compatibility\else \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} \fi \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} \DeclareOption{draft}{\setlength\overfullrule{5pt}} \if@compatibility\else \DeclareOption{final}{\setlength\overfullrule{0pt}} \fi \DeclareOption{titlepage}{\@titlepagetrue} \if@compatibility\else \DeclareOption{notitlepage}{\@titlepagefalse} \fi \if@compatibility \else \DeclareOption{openright}{\@openrighttrue} \DeclareOption{openany}{\@openrightfalse} \fi \if@compatibility\else \DeclareOption{onecolumn}{\@twocolumnfalse} \fi \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}}% } % % OOIWT additions \DeclareOption{urop}{\@uroptrue} \DeclareOption{hyp}{\@hyptrue} \def\projyear#1{% \def\@pjyear{#1}% } \def\projnumber#1{% \def\@pjnumber{#1}% } \def\advisor#1{% \def\@advisor{#1}% } \def\deliverables#1{% \def\@deliverables{ #1 } } \newenvironment{descriptors} {\parindent 0em \vspace{1cm}Subject Descriptors: \list{}{\itemindent 1.5em% \leftmargin 0em% \topsep 0em% \listparindent \z@ \itemsep \z@ \parsep \z@}} {\endlist} \newenvironment{keywords}[1] {\parindent 0em \parsep \z@ \vspace{1cm}Keywords: \parindent 1.5em% #1} {\par} \newenvironment{implement}[1] {\parindent 0em \parsep \z@ \vspace{1cm}Implementation Software and Hardware: \parindent 1.5em% #1} {\par} \newenvironment{acknowledgement}{% \titlepage \doublespacing \addcontentsline{toc}{chapter}{Acknowledgement} \@beginparpenalty\@lowpenalty \begin{center}% \bfseries Acknowledgement \@endparpenalty\@M \end{center}}% {\par\vfil\null\endtitlepage} \newcommand{\singlespacing}{% \let\CS=\@currsize\renewcommand{\baselinestretch}{1.0}\tiny\CS} \newcommand{\singlespacingplus}{% \let\CS=\@currsize\renewcommand{\baselinestretch}{1.25}\tiny\CS} \newcommand{\doublespacing}{% \let\CS=\@currsize\renewcommand{\baselinestretch}{1.75}\tiny\CS} \newcommand{\realdoublespacing}{% \let\CS=\@currsize\renewcommand{\baselinestretch}{2}\tiny\CS} \newcommand{\normalspacing}{\doublespacing} \newcommand{\footnotespacing}{\singlespacing} \newcommand{\changespacing}[2]{% \renewcommand{#1}{% \let\CS=\@currsize\renewcommand{\baselinestretch}{#2}\tiny\CS}% } \newcommand{\changenormalspacing}[1]{\renewcommand{\normalspacing}{#1}} % The next set of defintions (until % END) is taken from apa.sty. % BibTeX `apa' style % for BibTeX version 0.99a % by David Plaut (dp28) % This LaTeX style is for producing citations with a parenthesised % format similar to Scribe's APA format. % Prepared by Richard Szeliski, based on the aaai.sty format % prepared by Peter F. Patel-Schneider. \newif\ifcitehead \newif\ifcitetail \newif\iffirstcite \newif\ifciteinparen \def\@setfirstcite#1{% \@ifundefined{c@#1}{% \expandafter\gdef\csname c@#1\endcsname{}% \firstcitetrue% }{% \firstcitefalse% }% } \def\@internalcite{% \@ifnextchar[{\citeheadtrue\@citegettail}{\citeheadfalse\@citegettail[]}}% \def\@citegettail[#1]{% \setbox\@tempboxa\hbox{#1}\ifdim \wd\@tempboxa >0pt\else\citeheadfalse\fi% \@ifnextchar[{\citetailtrue\@citex[#1]}{\citetailfalse\@citex[#1][]}} \def\@citex[#1][#2]#3{% \if@filesw\immediate\write\@auxout{\string\citation{#3}}\fi% \def\@citeand{\ and\ }\def\@citea{}\def\@citepos{\def\@citeand{~\&\ }'\ (}% \def\@citeposs{\def\@citeand{~\&\ }'s\ (}% \def\@citeout{\def\@citeand{~\&\ }\ (}\def\@lastcite{}% \@cite{\@for\@citeb:=#3\do{% \@ifundefined{b@\@citeb}{{\@citeb}% \@warning{Citation `\@citeb' on page \thepage \space undefined}}% {\csname b@\@citeb\endcsname}}}{#1}{#2}} \def\@citeand{\ifciteinparen~\&\ \else\ and\ \fi} \def\@bocite#1#2{\ifcitehead#2\ \fi#1} \def\@bccite#1#2{\def\@citeand{~\&\ }(\@bocite{#1}{#2}} \def\@eocite#1{\ifcitetail, #1\fi} \def\@eccite#1{\@eocite{#1})} \def\@cite#1#2#3{\@bcite{#1}{#2}\@ecite{#3}} \def\@ifempty#1#2#3{\def\arg{#1}\ifx\arg\empty#2\else#3\fi} % This stuff allows short (name-less) citations, when used in % conjunction with a bibliography style that creates labels like % \citename{}{}{}{