%***************************************************************************** % Macros For Writing a Graduate Thesis at % Oregon State University % by Kurt Stump % 2 March 2000 % % % Usage: % This macro makes a thesis whose format complies with the graduate % school at Oregon State University as of 01-2000. This macro % requires the use and calling of TeXsis TeX macro for Physicists. % Your must add an \Input OrstThesis to Texsis.tex % % The Usage is as follows: % % \OrstThesis initializes the macro % % \student{Your Name} % \Professor{Major Professor} % \Thesistitle{Thesis Title} % \Degree{Your Degree} % \DefenseDate{Date of your defense} % \Major{Your major} % % **Required** % \thesisabstract % Type the abstract of your thesis % \endthesisabstract % % **Optional** % \acknowledgement % Type your acknowledgement % \endacknowledgement % % **Optional** % \preface % Type your preface % \endpreface % % **Really Required** % \Thesisbody % Type the body of your thesis % \endThesisbody % % **Make your bibliography (only after you have made a reference)** % \Thesisbiblio % % **Make an Index if you want (see TeXsis Manual about makeindex) % \ThesisIndex % % **Make a List of Figures % \Thesisfigs % % **Make a Table of Contents % \ThesisTOC % % ** Your Done!! % \bye % % @(#) $Id: ORstate.txs,v 1.2 2000/03/02 19:17:06 myers Exp $ %***************************************************************************** \message{Oregon State University Thesis Macros} \def\OrstThesis{% % Set Document Parameters \texsis % initialize TeXsis basics \hoffset=.5in % for binding margin 1.5in \hsize=6.0in % gives 1.00in right margin \voffset=.6875in % makes 1.00in top margin \vsize=9.0in % makes 1.00in bottom margin \RunningHeadsfalse % OSU does not want running heads \input epsf.tex % So you don't have to email Eric again \superrefsfalse % make reference indexes appear in [] \ContentsSwitchtrue % be sure to make a Table of Contents \def\Tbf{\sixteenpoint\bf}% % Chapter Titles in 16pt bold \def\tbf{\twelvepoint\bf}% % Section titles in 12pt bold \twelvepoint % 12pt type for the text \autoparens % auto-sizing of parentheses ON \quoteon % auto quote matching ON \catcode`@=11 % @ is a letter } \def\thesis{\OrstThesis} % A better way of underlining words \def\undertext#1{$\underline{\smash{\hbox{#1}}}$} %_________________________________________________________________________ % Get Student's name %------------------------------------------------------------------------- {\long\gdef\student {\@getstudent}} {\gdef\@getstudent#1 {\gdef\Studentname{#1}} %------------------------------------------------------------------------- % Get Professor's name %------------------------------------------------------------------------- {\long\gdef\Professor {\@getProfessor}} {\gdef\@getProfessor#1 {\gdef\Prof{#1}} %------------------------------------------------------------------------- % Get Defense Date %------------------------------------------------------------------------- {\long\gdef\DefenseDate {\@getDefenseDate}} {\gdef\@getDefenseDate#1 {\gdef\DDate{#1}} %------------------------------------------------------------------------ % Get Major %------------------------------------------------------------------------- {\long\gdef\Major {\@getMajor}} {\gdef\@getMajor#1 {\gdef\@Major{#1}} %------------------------------------------------------------------------ % Get Thesis Title %------------------------------------------------------------------------- {\long\gdef\Thesistitle {\@getThesistitle}} {\gdef\@getThesistitle#1 {\gdef\@Thesistitle{#1}} %------------------------------------------------------------------------ % Get Degree %------------------------------------------------------------------------ {\long\gdef\Degree {\@getDegree}} {\gdef\@getDegree#1 {\gdef\@Degree{#1}} %------------------------------------------------------------------------ %________________________________________________________________________ % Make Thesis Abstract Page \def\thesisabstract{% % abstract for thesis \bigskip\medskip % skip down some \headline{\relax}% % no number on abstract page \doublespaced % abstract has double spacing \pageno=-1 {\bigskip \centerline {\bf\sixteenpoint{AN ABSTRACT OF THE THESIS OF}}% \bigskip \twelvepoint \noindent\undertext{\Studentname} for the degree of \undertext{\@Degree} in \undertext{\@Major}% presented on \noindent\undertext{\DDate}. Title: \undertext{\@Thesistitle}. \bigskip \bigskip \noindent Abstract approved: \theBlank{8cm} \vskip .015cm \centerline{\Prof} \bigskip} \addTOC{0}{List of Figures}{i} } \def\endthesisabstract{\vfil\eject\Preliminaries} %------------------------------------------------------------------------ %________________________________________________________________________ %Preliminaries makes title page and approval Page \def\Preliminaries{ % Print out title page %------------------------------------------------------------------------ {\vskip 5cm \center { \sixteenpoint{\@Thesistitle}} \vskip 3cm by \vskip 1.5cm \Studentname \vskip 3cm A Thesis Submitted to \vskip .75cm Oregon State University \vskip 1cm In Partial Fulfillment of \vskip .75cm the Degree of \vskip 1cm \@Degree \endcenter \vfill\eject} % Now make Approval Page %------------------------------------------------------------------------- \vskip 4cm\noindent \undertext{\@Degree} thesis of \undertext{\Studentname} presented on \undertext{\DDate}. \vskip 3cm \noindent Approved: \vskip 2cm \theBlank{12cm} \vskip .015cm Major Professor, Representing \@Major \vskip 2cm \theBlank{12cm} \vskip .015cm Chair of Department of \@Major \vskip 2cm \theBlank{12cm} \vskip .015cm Dean of Graduate School \vskip 2cm \noindent I understand that my thesis will become part of the permanent collection of Oregon State University Libraries. My signature below authorizes release of my thesis to any reader upon request. \vskip 1cm \theBlank{12cm}\vskip.015cm\hskip 3cm \Studentname, Author \vfill\eject} %________________________________________________________________________ %Make Acknowledgement Page %------------------------------------------------------------------------ \def\acknowledgement{% % begin acknowledgement page \def\FootText{\relax} \bigskip \vskip 2cm \noindent{\sixteenpoint\bf{Acknowledgement}} \bigskip\medskip } \def\endacknowledgement{ % end acknowledgement page for \book \vfil\eject} % end page \def\preface{ % begin preface page \def\FootText{\relax} \bigskip \noindent{\sixteenpoint\bf{Preface}} \bigskip\medskip\doublespaced } \def\endpreface{% % end preface page \vfil\eject} % end page %_________________________________________________________________________ %Make thesis main body \def\Thesisbody{% % begin Thesisbody \def\FootText{\relax} \showchaptIDtrue\pageno=1 \headline={\ifnum\pageno=1\headlineoffset=1.5pt \centerline{\@Thesistitle}\hfil \else\hfil\folio\fi} \doublespaced } \def\endThesisbody{ % end acknowledgement page for \book \vfil\eject} % end page %-------------------------------------------------------------------------- %__________________________________________________________________________ % Make Bibliography \def\Thesisbiblio{ % \def\FootText{\relax} \vfill\supereject \noindent\nosechead{\sixteenpoint\bf{Bibliography}} \addTOC{0}{Bibliography}{\folio} \bigskip \elevenpoint \ListReferences \twelvepoint } %---------------------------------------------------------------------------------------- %________________________________________________________________________________________ % Make Index \def\ThesisIndex{ \singlespaced \vfill\supereject \noindent\nosechead{\sixteenpoint\bf{Index}} \addTOC{0}{Index}{\folio} \bigskip \SetDoubleColumns{0.5\hsize} \doublecolumns \tenpoint \input texsis.ind \enddoublecolumns} %_________________________________________________________________________________________ % Make List of Figures \def\ThesisFigs{ \vfill\supereject \pageno=-1 \noindent\nosechead{\sixteenpoint\bf{List of Figures}} \bigskip \ListFigures} %_________________________________________________________________________________________ % Make Table of Contnets \def\ThesisTOC{% \vfill\supereject \headline{\relax} \nosechead{\sixteenpoint\bf{Contents}} \Contents} %<<<<<<<<< End of OrstThesis>>>>>>>>>>>>>>>>>>>> % Macro from Paul Renard (LLNL) for Big Letters %******************************************************************** % % Define two cute macros for highlighting the initial character in % a paragraph (as in Sci. Amer.) By making the first letter in % a paragraph the argument to \twolinelite, then you get that first % letter enlarged to a height of 2 text-lines. \threelinelite makes % that letter even larger---3-lines worth!. (The font for the large % character is a scaled font---you may be able to see rasterization.) % You may want to make sure that at least three lines of text appear % along with the highlight, else just use a normal paragraph. % % Here's how they work: % First, set the highlight into a box 'capbox'. This provides % the height of a normal letter, and the height of the box laid % in as the highlight---so it is the right height relative to the first % line of the paragraph. The full height of the highlight, wlh, % is % wlh = baselinskip + height of normal cap letter (2-line lite) % = 2*baselineskip + height of normal cap (3-line lite) % where baselineskip comes from any of the fontfamilies defined above. % % wlh doesn't account for the usual depth applied to a font, so we % get the proper scaling by doing % font at wlh/a , where 'a' is the percent height (gleened % from the TFM files!) % This gets font scaled properly so baselines line up, and top of % highlight lines up top of any normal capital letters. % TeX can't divide by floats, so I multiply by a reciprical. % 'cmr10' was used originally, scaled to whatever height necessary % from the current font family. On PostScript printers, with ArborTex, % 'psmncsr' or 'psmtimr' works well, and doesn't have the rasterization. % (DVIPS can lay in 'psmncsr', but PREVIEW can't---I use a fontsubstitution % via -preview.cf- to get an approximation) % % 1.46344 = 1./.68332 (which TFtoPL reports as usual height of all CAPS in 'psmncsr' % 1.42146 = 1./.7035 (which TFtoPL reports as usual height of all CAPS in 'PS-NewCenturySchlbk-Roman' % 1.36986 = 1./.73 (which TFtoPL reports as usual height of all CAPS in 'cmr10' % \newdimen\wla\newdimen\wlb\newdimen\wll \newdimen\wlh \newbox\litebox \newbox\capbox \def\twolinelite#1{ \setbox\capbox=\hbox{A} \wlh=\baselineskip \advance\wlh by\ht\capbox \font\twolinelitefont=cmr10 at 1.46344\wlh % Using cmr10 for highlight \setbox\litebox=\hbox{\twolinelitefont #1}\noindent \def\A{A}\def\L{L}\wla=\hsize\wll=\wd\litebox\advance\wla by-\wll \if #1\A \parshape=3 \wll \wla \wll \wla 0pt \hsize \hskip -\wll\vbox to\ht\capbox{\box\litebox\vss}\kern -.2\wll \else\if #1\L \parshape=3 \wll \wla \wll \wla 0pt \hsize \hskip -\wll\vbox to\ht\capbox{\box\litebox\vss}\kern -.4\wll \else \parshape=3 \wll \wla \wll \wla 0pt \hsize \hskip -\wll\vbox to\ht\capbox{\box\litebox\vss}\kern 0pt \fi \fi } \def\threelinelite#1{ \setbox\capbox=\hbox{#1} \wlh= 2.\baselineskip \advance\wlh by\ht\capbox \font\threelinelitefont=cmr10 at 1.46344\wlh % Using cmr10 for highlight \setbox\litebox=\hbox{\threelinelitefont #1}\noindent \def\A{A}\def\L{L}\wla=\hsize\wlb=\hsize\wll=\wd\litebox\advance\wlb by-\wll \if #1\A \advance\wla by-.85\wll \parshape=4 \wll \wlb .85\wll \wla \wll \wlb 0pt \hsize \hskip -\wll\vbox to\ht\capbox{\box\litebox\vss}\kern -.3\wll \else\if #1\L \parshape=4 \wll \wlb \wll \wlb \wll \wlb 0pt \hsize \hskip -\wll\vbox to\ht\capbox{\box\litebox\vss}\kern -.4\wll \else \parshape=4 \wll \wlb \wll \wlb \wll \wlb 0pt \hsize \hskip -\wll\vbox to\ht\capbox{\box\litebox\vss}\kern 0pt \fi \fi } %%EOF ORstate.txs %%