Advertisement
Guest User

uscthesis.cls

a guest
Jul 3rd, 2013
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 33.24 KB | None | 0 0
  1. %%=================================================
  2. %% Copyright (C) 1998--2012  George F. McNulty
  3. %%
  4. %%
  5. %% This file may be distributed and/or modified
  6. %%
  7. %% 1. under the LaTeX Project Public License and/or
  8. %% 2. under the GNU Public License.
  9. %%
  10. %% See the file doc/licenses/LICENSE in the standard
  11. %% LaTeX distribution for more details.
  12. %%
  13. %% This documentclass is intended for the typesetting
  14. %% of theses and dissertations submitted to the
  15. %% Graduate School of the University of South Carolina.
  16. %%
  17. %% This documentclass traces its heritage to the work
  18. %% of John P. Weiss and Bruce Fast in 1997--98 in the
  19. %% design of their documentclass thesis.cls for theses
  20. %% at the University of Colorado.
  21. %%
  22. %%==================================================
  23.  
  24.  
  25.  
  26.  
  27. \NeedsTeXFormat{LaTeX2e}
  28. [1994/12/01]
  29. \ProvidesClass{uscthesis}[2012/11/26]
  30.  
  31.  
  32. \newif\if@shortLoF
  33. \newif\if@shortLoT
  34. \newif\if@shortToC
  35. \newif\if@makenoLoF
  36. \newif\if@makenoLoT
  37. \newif\if@makeOtherdegrees
  38. \newif\if@makeAbstract
  39. \newif\if@makeHonorsAbstract
  40. \newif\if@makeSummary
  41. \newif\if@makeDedication
  42. \newif\if@makeAcknowledgments
  43. \newif\if@makePreface
  44. \newif\if@makeLoSymb
  45. \newif\if@makeLoAbbrev
  46. \newif\if@makePrologue
  47. \newif\if@makereaderb
  48. \newif\if@makereaderc
  49. \newif\if@makereaderd
  50. \newif\if@makeCopyrightpage
  51. \newif\if@makeBinding
  52. \@shortLoFfalse
  53. \@shortLoTfalse
  54. \@shortToCfalse
  55. \@makenoLoFfalse
  56. \@makenoLoTfalse
  57. \@makeDedicationfalse
  58. \@makeAcknowledgmentsfalse
  59. \@makeProloguetrue
  60. \@makeSummaryfalse
  61. \@makeAbstracttrue
  62. \@makeHonorsAbstractfalse
  63. \@makeOtherdegreestrue
  64. \@makereaderbfalse
  65. \@makereadercfalse
  66. \@makereaderdfalse
  67. \@makeCopyrightpagefalse
  68. \@makePrefacefalse
  69. \@makeLoSymbfalse
  70. \@makeLoAbbrevfalse
  71. \@makeBindingfalse
  72.  
  73.  
  74. \newcommand*{\th@Titlepage}{
  75.        \clearpage \setcounter{page}{1}
  76.        \DoubleSpacing
  77.        \thispagestyle{empty}
  78.        \begin{center}
  79.                {\quad{\SingleSpacing\textsc{\expandafter{\th@title}}\quad}}\\ [.5\baselineskip]
  80.                 by\\ [.5\baselineskip]        %%Uncapitalized April 2012
  81.                 \expandafter{\th@fwdname}\\ [.5\baselineskip]
  82.                \quad{\SingleSpacing\expandafter{\th@otherdegrees}}\quad\\ [-\baselineskip]
  83.                \vrule width 90mm height 0.2mm\\ [.25\baselineskip]
  84.                Submitted in Partial Fulfillment of the Requirements\\
  85.                for the Degree of \expandafter{\th@degree} in\\
  86.                \expandafter{\th@field}\\
  87.                \expandafter{\th@college}\\
  88.                University of South Carolina\\
  89.                \expandafter{\th@degreeyear}\\
  90.                Accepted by:\\
  91.                \expandafter{\th@committee}
  92.                \expandafter{\th@dean}, Vice Provost and Dean of Graduate Studies
  93.        \end{center}
  94. }
  95.  
  96. \newcommand*{\th@TitlepageA}{
  97.        \clearpage \setcounter{page}{1}
  98.        \DoubleSpacing
  99.        \thispagestyle{empty}
  100.        \begin{center}
  101.                {\quad{\SingleSpacing\textsc{\expandafter{\th@title}}\quad}}\\ %[.25\baselineskip]
  102.                 by\\ %[.25\baselineskip]    %%Uncapitalized April 2012
  103.                 \expandafter{\th@fwdname}\\
  104.                \quad{\SingleSpacing\expandafter{\th@otherdegrees}}\quad\\ [-\baselineskip]
  105.                \vrule width 90mm height 0.2mm\\ [.25\baselineskip]
  106.                Submitted in Partial Fulfillment of the Requirements\\
  107.                for the Degree of \expandafter{\th@degree} in\\
  108.                \expandafter{\th@field}\\
  109.                \expandafter{\th@college}\\
  110.                University of South Carolina\\
  111.                \expandafter{\th@degreeyear}\\
  112.                Accepted by:\\
  113.                \expandafter{\th@committeeA}
  114.        \end{center}
  115.     \vfill
  116. }
  117.  
  118.  
  119.  
  120. \newcommand*{\th@honorsTitlepage}{
  121.        \clearpage \setcounter{page}{1}
  122.        \DoubleSpacing
  123.        \thispagestyle{empty}
  124.        \begin{center}
  125.                {\textsc{\expandafter{\th@title}}}\\
  126.        \vfill
  127.                By\\  
  128.                \expandafter{\th@fwdname}\\
  129.        \vfill
  130.              {\SingleSpacing
  131.                Submitted in Partial Fulfillment\\
  132.                Of the requirements for\\
  133.                Graduation with Honors from the\\
  134.                South Carolina Honors College\\
  135.              }
  136.        \vfill
  137.               \quad \expandafter{\th@degreemonth~\th@degreeyear}\quad\\
  138.        \vfill
  139.                \quad Approved:\quad\\
  140.        \vfill
  141.        {\SingleSpacing\expandafter{
  142.        \setlength{\tabcolsep}{2pt}
  143.        \begin{tabular}{c}
  144.        \th@csignature{\th@advisor\\ \th@advisorspot}\\
  145.        \th@csignature{\th@reader\\ Second Reader}\\
  146.        \th@csignature{\th@schcsigner\\For South Carolina Honors College}
  147.        \end{tabular}
  148.        }}\\
  149.        \end{center}
  150. }
  151.  
  152. \newcommand*{\th@durtTitlepage}{
  153.        \clearpage \setcounter{page}{1}
  154.        \DoubleSpacing
  155.        \thispagestyle{empty}
  156.        \begin{center}
  157.                {\quad{\SingleSpacing\textsc{\expandafter{\th@title}}\quad}}\\ [.5\baselineskip]
  158.                 by\\ [.5\baselineskip]        %%Uncapitalized April 2012
  159.                 \expandafter{\th@fwdname}\\ [.5\baselineskip]
  160.                Submitted in Partial Fulfillment of the Requirements\\
  161.                for the Degree of \expandafter{\th@degree} in\\
  162.                \expandafter{\th@field}\\
  163.                \expandafter{\th@college}\\
  164.                University of South Carolina\\
  165.                \expandafter{\th@degreeyear}\\
  166.                Accepted by:\\
  167.        {\SingleSpacing\expandafter{
  168.        \setlength{\tabcolsep}{2pt}
  169.        \begin{tabular}{c}
  170.        \th@csignature{\th@advisor\\ \th@advisorspot}\\
  171.        \th@csignature{\th@reader\\ Second Reader}\\
  172.        \th@csignature{\th@ugrad\\Director of Undergraduate Studies\\
  173. Deparment of Mathematics}
  174.        \end{tabular}
  175.        }}\\
  176.        \end{center}
  177. }
  178.  
  179.  
  180.  
  181. \DeclareOption{forbinding}{%
  182. \@makeAbstracttrue
  183. \@makeBindingtrue
  184. \renewcommand{\th@Titlepage}{\th@TitlepageA}
  185. }%
  186.  
  187.  
  188.  
  189. \DeclareOption{honors}{%
  190. \@makeAbstractfalse
  191. \@makeSummarytrue
  192. \@makeOtherdegreesfalse
  193. \@makeBindingtrue
  194. \renewcommand{\th@Titlepage}{\th@honorsTitlepage}
  195. }%
  196.  
  197. \DeclareOption{durt}{%
  198. \@makeAbstractfalse
  199. \@makeSummarytrue
  200. \@makeOtherdegreesfalse
  201. \@makeBindingfalse
  202. \renewcommand{\th@Titlepage}{\th@durtTitlepage}
  203. }%
  204.  
  205.  
  206.  
  207. \DeclareOption{12pt}{%
  208. \PassOptionsToClass{12pt}{memoir}
  209. }%
  210.  
  211.  
  212. \DeclareOption{extrafontsizes}{%
  213. \PassOptionsToClass{extrafontsizes}{memoir}
  214. }%
  215.  
  216. \DeclareOption{oneside}{%
  217. \PassOptionsToClass{oneside}{memoir}
  218. }%
  219.  
  220. \DeclareOption{letterpaper}{%
  221. \PassOptionsToClass{letterpaper}{memoir}
  222. }%
  223.  
  224. \DeclareOption{leqno}{%
  225. \PassOptionsToClass{leqno}{memoir}
  226. }%
  227.  
  228. \ExecuteOptions{oneside,12pt,letterpaper,extrafontsizes}
  229.  
  230. \ProcessOptions\relax
  231.  
  232. \LoadClass{memoir}
  233.  
  234.  
  235. \RequirePackage{ifthen}
  236. \RequirePackage{latexsym}
  237. \RequirePackage{amsfonts}
  238. \RequirePackage{amssymb}
  239. \RequirePackage{amsthm}
  240. \RequirePackage{amsmath}
  241. \RequirePackage{array}
  242. \RequirePackage{threeparttable}
  243.  
  244.  
  245.  
  246. %%%%%%%%%%%%%%%%%%%%%%%%%%%
  247. %% This stuff fixes the bibliography
  248. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  249. \bibintoc
  250.  
  251. \let\bibliofont\normalsize
  252.  
  253. \renewenvironment{thebibliography}[1]{%
  254. %  \@bibtitlestyle
  255.   \let\MR\relax
  256.   \bibsection
  257.   \normalfont\bibliofont\labelsep .5em\relax
  258.   \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty
  259.  \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}%
  260.     \leftmargin\labelwidth \advance\leftmargin\labelsep
  261.     \usecounter{enumiv}}%
  262.   \sloppy \clubpenalty\@M \widowpenalty\clubpenalty
  263.   \sfcode`\.=\@m
  264.   \SingleSpacing                            %% July 2007 adjustment
  265.   \setlength{\parskip}{\baselineskip}     %% July 2007 adjustment
  266.   \vspace*{-\baselineskip}                %% July 2007 adjustment
  267. }{%
  268.   \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
  269.   \endlist
  270. }
  271.  
  272. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  273. %% Page layout
  274. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  275.  
  276. \settrims{0pt}{0pt}
  277. \setlrmarginsandblock{1.25in}{1.25in}{*}
  278. \if@makeBinding
  279. \setlrmarginsandblock{1.5in}{1in}{*}
  280. \fi
  281. \setulmarginsandblock{1in}{1in}{*}
  282. \setheadfoot{0.0001pt}{.5in}
  283. \setlength{\headheight}{15pt}
  284. \setheaderspaces{*}{0.0001pt}{*}
  285. \checkandfixthelayout[nearest]
  286. \fixpdflayout
  287.  
  288. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  289. %%  Chapter headings, section and page style
  290. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  291.  
  292. \pagestyle{plain}
  293.  
  294. \chapterstyle{default}
  295.  
  296.  
  297. \renewcommand{\chapnamefont}{\normalfont\Large\scshape\centering}
  298. \renewcommand{\chapnumfont}{\normalfont\Large\scshape}
  299. \renewcommand{\chaptitlefont}{\normalfont\Large\scshape\centering}
  300. \setlength{\beforechapskip}{.5in}
  301. \setlength{\midchapskip}{0pt}
  302. \setlength{\afterchapskip}{\onelineskip}
  303.  
  304. \setsecheadstyle{\scshape}
  305.  
  306. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  307. %% TOC LOF LOT stuff
  308. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  309.  
  310. \renewcommand*{\cftdot}{.}                
  311. \renewcommand*{\cftchaptername}{Chapter\space}
  312. \renewcommand*{\cftappendixname}{Appendix\space}
  313. \renewcommand*{\cftfigurename}{Figure\space}
  314. \renewcommand*{\cfttablename}{Table\space}
  315. \renewcommand*{\cftchapterfont}{\scshape}
  316. \renewcommand*{\cftchapterpagefont}{\normalfont}
  317. \renewcommand*{\cftchapterleader}{\cftdotfill{5}}  
  318. \setrmarg{4em}
  319. \renewcommand*{\aftertoctitle}{\par \smallskip}
  320. \renewcommand*{\afterloftitle}{\par \smallskip}
  321. \renewcommand*{\afterlottitle}{\par \smallskip}
  322.  
  323.  
  324. \newcommand{\Appendix}{%
  325.    \appendix
  326.  }
  327.  
  328. \newcommand{\Appendices}{%
  329.   \appendices
  330. }
  331.  
  332. %% These user commands insert headers in the table of contents, list of
  333. %% tables etc.  For use when such lists extend to a second page.  These
  334. %% are currently not mentioned in the documentation (2008/12/5) since
  335. %% the Graduate School seems, at the moment, not the require them. BUT
  336. %% they were considering it.
  337. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  338.  
  339. \newcounter{ToCpage}
  340. \setcounter{ToCpage}{\value{page}}
  341.  
  342. \renewcommand{\contentsname}{Table of Contents}  %%added 26 Nov 2012
  343.  
  344. \newcommand{\tableofcontentsheader}{%
  345. \addtocontents{toc}{\newpage}
  346. \addtocontents{toc}{\noindent\textsc{Table of Contents (Continued)}\endgraf}
  347. \addtocontents{toc}{\noindent\textsc{Chapter}\hfill \textsc{Page}}
  348. }
  349. \newcommand{\listoffiguresheader}{%
  350. \addtocontents{lof}{\newpage}
  351. \addtocontents{lof}{\noindent\textsc{List of Figures (Continued)}\endgraf}
  352. \addtocontents{lof}{\noindent\textsc{Figure}\hfill \textsc{Page}}
  353. }
  354. \newcommand{\liftoftablesheader}{%
  355. \addtocontents{lot}{\newpage}
  356. \addtocontents{lot}{\noindent\textsc{List of Tables (Continued)}\endgraf}
  357. \addtocontents{lot}{\noindent\textsc{Table}\hfill \textsc{Page}}
  358. }
  359.  
  360. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  361. %%%  This stuff on the prologue pages adapted from the
  362. %%%  University of Colorado thesis.sty
  363.  
  364. % THESIS PROLOGUE PAGES.
  365.  
  366. % Stores the second arg in the command specified by the first arg.
  367.  
  368. \newcommand{\th@StoreIn}[2]{ \gdef#1{#2} }
  369.  
  370. % Default values of storage variables.  Emits an error message.
  371. % This part of the class is long...
  372.  
  373. \newcommand*{\th@title}{
  374.     \ClassError{uscthesis}{
  375.         You must specify a title!}
  376.     {Use the \protect\title{} command in the preamble.}
  377. }
  378. \newcommand*{\th@dean}{
  379.        \ClassError{uscthesis}{
  380.                You must specify the name of the Dean of Graduate Studies \MessageBreak
  381.                and full title.}
  382.        {Use the \protect\dean{} command in the \MessageBreak
  383.                preamble.}
  384. }
  385.  
  386. \newcommand*{\th@advisor}{
  387.     \ClassError{uscthesis}{
  388.         You must specify your research advisor's name \MessageBreak
  389.         and full title.}
  390.     {Use the \protect\advisor{}{}{} command in the \MessageBreak
  391.         preamble.  The first arg is your advisor's \MessageBreak
  392.         full title.  The second arg is your advisor's \MessageBreak
  393.         name.}
  394. }
  395. \newcommand*{\th@advisortitle}{
  396.     \ClassError{uscthesis}{
  397.         You must specify your research advisor's name \MessageBreak
  398.         and full title, as well as position on the committee.}
  399.     {Use the \protect\advisor{}{}{} command in the \MessageBreak
  400.         preamble.  The first arg is your advisor's \MessageBreak
  401.         full title.  The second arg is your advisor's \MessageBreak
  402.         name. The third arg is your advisor's\MessageBreak
  403.                position on the committee.}
  404. }
  405. \newcommand*{\th@advisorspot}{
  406.     \ClassError{uscthesis}{
  407.         You must specify your research advisor's name \MessageBreak
  408.         and full title, as well as position on the committee.}
  409.     {Use the \protect\advisor{}{}{} command in the \MessageBreak
  410.         preamble.  The first arg is your advisor's \MessageBreak
  411.         full title.  The second arg is your advisor's \MessageBreak
  412.         name. The third arg is your advisor's\MessageBreak
  413.                position on the committee.}
  414. }
  415.  
  416.  
  417.  
  418. \newcommand*{\th@readera}{
  419.        \ClassError{uscthesis}{
  420.                You must specify your committee member's name \MessageBreak
  421.                and full title, as well as position on your committee.}
  422.        {Use the \protect\readera{}{}{} command in the \MessageBreak
  423.                preamble.  The first arg is your reader's \MessageBreak
  424.                full title.  The second arg is your reader's \MessageBreak
  425.                name. The third arg is your reader's\MessageBreak
  426.                position on your committee.}
  427. }
  428. \newcommand*{\th@readerb}{
  429.        \ClassError{uscthesis}{
  430.                You must specify your committee member's name \MessageBreak
  431.                and full title, as well as position on your committee.}
  432.        {Use the \protect\readerb{}{}{} command in the \MessageBreak
  433.                preamble.  The first arg is your reader's \MessageBreak
  434.                full title.  The second arg is your reader's \MessageBreak
  435.                name. The third arg is your reader's\MessageBreak
  436.                position on your committee.}
  437. }
  438. \newcommand*{\th@readerc}{
  439.        \ClassError{uscthesis}{
  440.                You must specify your committee member's name \MessageBreak
  441.                and full title, as well as position on your committee.}
  442.        {Use the \protect\readerc{}{}{} command in the \MessageBreak
  443.                preamble.  The first arg is your reader's \MessageBreak
  444.                full title.  The second arg is your reader's \MessageBreak
  445.                name. The third arg is your reader's\MessageBreak
  446.                position on your committee.}
  447. }
  448. \newcommand*{\th@readerd}{
  449.        \ClassError{uscthesis}{
  450.                You must specify your committee member's name \MessageBreak
  451.                and full title, as well as position on your committee.}
  452.        {Use the \protect\readerd{}{}{} command in the \MessageBreak
  453.                preamble.  The first arg is your reader's \MessageBreak
  454.                full title.  The second arg is your reader's \MessageBreak
  455.                name. The third arg is your reader's\MessageBreak
  456.                position on your committee.}
  457. }
  458. \newcommand*{\th@readeratitle}{
  459.        \ClassError{uscthesis}{
  460.                You must specify your committee member's name \MessageBreak
  461.                and full title, as well as position on your committee.}
  462.        {Use the \protect\readera{}{}{} command in the \MessageBreak
  463.                preamble.  The first arg is your reader's \MessageBreak
  464.                full title.  The second arg is your reader's \MessageBreak
  465.                name. The third arg is your reader's\MessageBreak
  466.                position on your committee.}
  467. }
  468. \newcommand*{\th@readerbtitle}{
  469.        \ClassError{uscthesis}{
  470.                You must specify your committee member's name \MessageBreak
  471.                and full title, as well as position on your committee.}
  472.        {Use the \protect\readerb{}{}{} command in the \MessageBreak
  473.                preamble.  The first arg is your reader's \MessageBreak
  474.                full title.  The second arg is your reader's \MessageBreak
  475.                name. The third arg is your reader's\MessageBreak
  476.                position on your committee.}
  477. }
  478. \newcommand*{\th@readerctitle}{
  479.        \ClassError{uscthesis}{
  480.                You must specify your committee member's name \MessageBreak
  481.                and full title, as well as position on your committee.}
  482.        {Use the \protect\readera{}{}{} command in the \MessageBreak
  483.                preamble.  The first arg is your reader's \MessageBreak
  484.                full title.  The second arg is your reader's \MessageBreak
  485.                name. The third arg is your reader's\MessageBreak
  486.                position on your committee.}
  487. }
  488. \newcommand*{\th@readerdtitle}{
  489.        \ClassError{uscthesis}{
  490.                You must specify your committee member's name \MessageBreak
  491.                and full title, as well as position on your committee.}
  492.        {Use the \protect\readera{}{}{} command in the \MessageBreak
  493.                preamble.  The first arg is your reader's \MessageBreak
  494.                full title.  The second arg is your reader's \MessageBreak
  495.                name. The third arg is your reader's\MessageBreak
  496.                position on your committee.}
  497. }
  498.  
  499. \newcommand*{\th@readeraspot}{
  500.        \ClassError{uscthesis}{
  501.                You must specify your committee member's name \MessageBreak
  502.                and full title, as well as position on your committee.}
  503.        {Use the \protect\readera{}{}{} command in the \MessageBreak
  504.                preamble.  The first arg is your reader's \MessageBreak
  505.                full title.  The second arg is your reader's \MessageBreak
  506.                name. The third arg is your reader's\MessageBreak
  507.                position on your committee.}
  508. }
  509. \newcommand*{\th@readerbspot}{
  510.        \ClassError{uscthesis}{
  511.                You must specify your committee member's name \MessageBreak
  512.                and full title, as well as position on your committee.}
  513.        {Use the \protect\readerb{}{}{} command in the \MessageBreak
  514.                preamble.  The first arg is your reader's \MessageBreak
  515.                full title.  The second arg is your reader's \MessageBreak
  516.                name. The third arg is your reader's\MessageBreak
  517.                position on your committee.}
  518. }
  519. \newcommand*{\th@readercspot}{
  520.        \ClassError{uscthesis}{
  521.                You must specify your committee member's name \MessageBreak
  522.                and full title, as well as position on your committee.}
  523.        {Use the \protect\readera{}{}{} command in the \MessageBreak
  524.                preamble.  The first arg is your reader's \MessageBreak
  525.                full title.  The second arg is your reader's \MessageBreak
  526.                name. The third arg is your reader's\MessageBreak
  527.                position on your committee.}
  528. }
  529. \newcommand*{\th@readerdspot}{
  530.        \ClassError{uscthesis}{
  531.                You must specify your committee member's name \MessageBreak
  532.                and full title, as well as position on your committee.}
  533.        {Use the \protect\readera{}{}{} command in the \MessageBreak
  534.                preamble.  The first arg is your reader's \MessageBreak
  535.                full title.  The second arg is your reader's \MessageBreak
  536.                name. The third arg is your reader's\MessageBreak
  537.                position on your committee.}
  538. }
  539.  
  540. \newcommand*{\th@reader}{
  541.        \ClassError{thesis}{
  542.                You must specify your Second Reader's name \MessageBreak
  543.                and full title.}
  544.        {Use the \protect\reader{}{} command in the \MessageBreak
  545.                preamble.  The first arg is your reader's \MessageBreak
  546.                full title.  The second arg is your reader's \MessageBreak
  547.                name.}
  548. }
  549.  
  550.  
  551.  
  552. \newcommand*{\th@readertitle}{
  553.        \ClassError{uscthesis}{
  554.                You must specify your  reader's name \MessageBreak
  555.                and full title.}
  556.        {Use the \protect\reader{}{} command in the \MessageBreak
  557.                preamble.  The first arg is your reader's \MessageBreak
  558.                full title.  The second arg is your reader's \MessageBreak
  559.             name.}
  560. }
  561. \newcommand*{\th@schcsigner}{
  562.     \ClassError{uscthesis}{
  563.         You must specify who will sign for the Honors College.}
  564.     {Use the \protect\schcsigner{}{} command in the preamble.}
  565. }
  566. \newcommand*{\th@schcsignertitle}{
  567.        \ClassError{uscthesis}{
  568.                You must specify your  reader's name \MessageBreak
  569.                and full title.}
  570.        {Use the \protect\schcsigner{}{} command in the \MessageBreak
  571.                preamble.  The first arg is your signer's \MessageBreak
  572.                full title.  The second arg is your signer's \MessageBreak
  573.             name.}
  574. }
  575.  
  576. \newcommand*{\th@fwdname}{
  577.     \ClassError{uscthesis}{
  578.         You must specify your name!}
  579.     {Use the \protect\author{}{} command in the \MessageBreak
  580.         preamble. The first arg is your first name and \MessageBreak
  581.         middle initial.  The second arg is your last name.}
  582. }
  583. \newcommand{\th@otherdegrees}{
  584.     \ClassError{uscthesis}{
  585.         You must specify other degrees you hold!}
  586.     {Use the \protect\otherdegrees{} command in the \MessageBreak
  587.         preamble.  Break each line using the \protect\\ \MessageBreak
  588.         command.}
  589. }
  590. \newcommand{\th@abstractStash}{
  591.        \if@makeAbstract
  592.     \ClassError{uscthesis}{
  593.         You must specify an abstract!}
  594.     {Use the \protect\abstractpage[]{} command in the \MessageBreak
  595.         preamble.  If your abstract runs over a page, \MessageBreak
  596.         use the optional argument with the word 'long'.}
  597.         \fi
  598. }
  599. \newcommand{\th@honorsabstractStash}{
  600.        \if@makeHonorsAbstract
  601.     \ClassError{uscthesis}{
  602.         You must specify an abstract!}
  603.     {Use the \protect\abstractpage[]{} command in the \MessageBreak
  604.         preamble.  If your abstract runs over a page, \MessageBreak
  605.         use the optional argument with the word 'long'.}
  606.         \fi
  607. }
  608. \newcommand*{\th@degreeyear}{                      
  609.     \ClassError{uscthesis}{
  610.         You must specify the year of your degree!}
  611.     {Use the \protect\date{} command in the preamble.}
  612. }
  613. \newcommand*{\th@degreemonth}{
  614.        \ClassWarning{uscthesis}{
  615.                Those preparing Honors Theses must specify the
  616.                month of graduation! Use \protect\month{} in
  617.                the preamble}
  618. }
  619. \newcommand*{\th@degree}{                                              
  620.        \ClassError{uscthesis}{
  621.                You must specify the degree!}
  622.        {Use the \protect\degree{} command in the preamble.}
  623. }
  624. \newcommand*{\th@field}{                                                
  625.        \ClassError{uscthesis}{
  626.                You must specify the field of your degree!}
  627.        {Use the \protect\field{} command in the preamble.}
  628. }
  629. \newcommand*{\th@college}{                                              
  630.        \ClassError{uscthesis}{
  631.                You must specify the college of your degree!}
  632.        {Use the \protect\college{} command in the preamble.}
  633. }
  634. \newcommand*{\th@signature}[2]{%
  635.         \begin{tabular*}{1.5in}[t]{l}
  636.         #1\\
  637.         #2\\
  638.                \end{tabular*}
  639. }
  640. \newcommand*{\th@csignature}[1]{%
  641.                 \begin{tabular*}{2.45in}[t]{c}
  642.                \noalign{\vspace*{16mm}}        % works well?
  643.                 %\hline
  644.                 \rule{2.45in}{0pt}\\    
  645.                \noalign{\vspace*{-12pt}}
  646.                 #1\\
  647.                \end{tabular*}
  648. }
  649.  
  650. \newcommand*{\th@dateline}{
  651.     \vspace*{9mm}
  652.     \begin{flushright}
  653.         Date~{\vrule width 35mm height 0.2mm}
  654.     \end{flushright}
  655. }
  656. \newcommand{\th@AbstractPageStyle}{\relax}
  657. \newcommand{\th@summaryStash}{\relax}
  658. \newcommand{\th@dedicationStash}{\relax}
  659. \newcommand{\th@dedicationTitleStash}{\relax}
  660. \newcommand{\th@acknowledgmentsStash}{\relax}
  661. \newcommand{\th@copyrightpageStash}{\relax}
  662. \newcommand{\th@prefaceStash}{\relax}
  663. \newcommand{\th@losymbStash}{\relax}
  664. \newcommand{\th@loabbrevStash}{\relax}
  665.  
  666.  
  667. \newboolean{@makeLoF}
  668. \newboolean{@makeLoT}
  669.  
  670. \th@StoreIn{\th@committee}{%
  671. \expandafter{\th@advisor}, \expandafter{\th@advisorspot}\\
  672. \expandafter{\th@readera}, \expandafter{\th@readeraspot}\\  
  673. \if@makereaderb\expandafter{\th@readerb}, \expandafter{\th@readerbspot}\\ \fi
  674. \if@makereaderc\expandafter{\th@readerc}, \expandafter{\th@readercspot}\\ \fi
  675. \if@makereaderd\expandafter{\th@readerd}, \expandafter{\th@readerdspot}\\ \fi
  676. }
  677.  
  678. \th@StoreIn{\th@committeeA}{%
  679.     {\SingleSpacing%\expandafter{%
  680.         \vspace*{10mm}
  681.     \setlength{\tabcolsep}{2pt}
  682.     \begin{tabular}{lcr}
  683.        \th@signature{\expandafter\th@advisor}{\expandafter{\th@advisorspot}}&%
  684.         \hspace*{.88in}&\th@signature{\expandafter\th@readera}{\expandafter{\th@readeraspot}}\\  
  685.     \noalign{\vspace*{10mm}}
  686.     \if@makereaderb
  687.     \th@signature{\expandafter\th@readerb}{\expandafter{\th@readerbspot}}&&
  688.     \if@makereaderc
  689.             \th@signature{\expandafter\th@readerc}{\expandafter{\th@readercspot}}\fi \\
  690.        \fi
  691.     \if@makereaderd
  692.     \noalign{\vspace*{10mm}}
  693.     \th@signature{\expandafter\th@readerd}{\expandafter{\th@readerdspot}}&&\\
  694.     \fi
  695.     \end{tabular}\\
  696.     \vspace*{10mm}
  697.       \th@signature{\expandafter\th@dean}{Vice Provost and Dean of Graduate Studies}
  698.     }%}
  699.  
  700. }
  701.  
  702. % The base commands that make all of the prologue pages.
  703.  
  704.  
  705.  
  706.  
  707. \newcommand{\th@Abstractpage}{
  708.        \if@makeAbstract
  709.         \clearpage\thispagestyle{plain}
  710.         {\chapter{Abstract}}
  711.         {\DoubleSpacing
  712.         \th@abstractStash}
  713.     \fi
  714. }
  715. \newcommand{\th@HonorsAbstractpage}{
  716.        \if@makeHonorsAbstract \typeout{Making Honors Abstract}
  717.         \clearpage\thispagestyle{plain}
  718.         {\chapter{Abstract}}
  719.         {\DoubleSpacing
  720.         \th@honorsabstractStash}
  721.     \fi
  722. }
  723. \newcommand{\th@Summarypage}{
  724.        \if@makeSummary \typeout{Making Summary}
  725.                \clearpage\thispagestyle{plain}
  726.                {\chapter{Thesis Summary}}
  727.                {\DoubleSpacing
  728.                \th@summaryStash}
  729.        \fi
  730. }
  731. \newcommand{\th@Copyrightpage}{
  732.     \if@makeCopyrightpage \typeout{Making Copyrightpage}
  733.         \clearpage\thispagestyle{plain}
  734.         {\SingleSpacing         %% April 2012
  735.         \th@copyrightpageStash}
  736.     \fi
  737. }
  738. \newcommand{\th@Dedicationpage}{
  739.     \if@makeDedication \typeout{Making Dedication}
  740.         \clearpage\thispagestyle{plain}
  741.         {\chapter{Dedication}}
  742.         {\DoubleSpacing
  743.         \th@dedicationStash}
  744.     \fi
  745. }
  746. \newcommand{\th@Acknowledgmentpage}{
  747.     \if@makeAcknowledgments \typeout{Making Acknowledgments}
  748.         \clearpage\thispagestyle{plain}
  749.         \chapter{Acknowledgments}
  750.         {\DoubleSpacing
  751.         \th@acknowledgmentsStash}
  752.     \fi
  753. }
  754. \newcommand{\th@Prefacepage}{
  755.     \if@makePreface \typeout{Making Preface}
  756.     \clearpage\thispagestyle{plain}
  757.     \chapter{Preface}
  758.     {\DoubleSpacing
  759.     \th@prefaceStash}
  760.     \fi
  761. }
  762. \newcommand{\th@ToCpage}{
  763.     \setcounter{ToCpage}{\value{page}}
  764.     {\clearpage\tableofcontents*\clearpage}
  765. }
  766. \newcommand{\th@LoFpage}{
  767. \ifthenelse{\boolean{@makeLoF}}
  768. {%
  769. \typeout{Making LoF}
  770. \clearpage\listoffigures\clearpage
  771. }
  772. {\typeout{Skipping LoF}}
  773. }
  774. \newcommand{\th@LoTpage}{
  775. \ifthenelse{\boolean{@makeLoT}}
  776. {%
  777. \typeout{Making LoT}
  778. \clearpage\listoftables\clearpage
  779. }
  780. {\typeout{Skipping LoT}}
  781. }
  782. \newcommand{\th@LoSymbpage}{
  783.     \if@makeLoSymb \typeout{Making List of Symbols}
  784.     \clearpage\thispagestyle{plain}
  785.     \chapter{List of Symbols}
  786.     {\DoubleSpacing
  787.     \th@losymbStash}
  788.     \fi
  789. }
  790. \newcommand{\th@LoAbbrevpage}{
  791.     \if@makeLoAbbrev \typeout{Making List of Abbreviations}
  792.     \clearpage\thispagestyle{plain}
  793.     \chapter{List of Abbreviations}
  794.     {\DoubleSpacing
  795.     \th@loabbrevStash}
  796.     \fi
  797. }
  798.  
  799.  
  800.  
  801.    
  802.    
  803. % This performs the actual generation of the prologue
  804.  
  805. \newcounter{th@storepage}
  806. \newcommand{\th@MakeThesisPrologue}{
  807.     \if@makePrologue
  808.         \frontmatter
  809.                \pagenumbering{roman}
  810.         \typeout{Making Title Page}
  811.         \th@Titlepage
  812.                \th@Copyrightpage
  813.         \th@Dedicationpage
  814.         \th@Acknowledgmentpage
  815.         \typeout{Making Abstract Page}
  816.         \th@Abstractpage
  817.         \th@Prefacepage
  818.         \setcounter{th@storepage}{\value{page}}
  819.         \typeout{Making ToC Page}
  820.         \th@ToCpage
  821.         \th@LoTpage
  822.                \th@LoFpage
  823.         \th@LoSymbpage
  824.         \th@LoAbbrevpage
  825.                \th@Summarypage
  826.         \th@HonorsAbstractpage
  827.     \fi
  828. }
  829.  
  830.  
  831. % Make the generator-command the very first command of the document.
  832.  
  833.  
  834. \AtBeginDocument{\setlength{\footnotesep}{1.2\baselineskip}}
  835.  
  836.  
  837.  
  838. \let\th@OldBeginDocument\document
  839. \renewcommand*{\document}{
  840.     \th@OldBeginDocument
  841.     \th@MakeThesisPrologue
  842.        \typeout{}
  843.     \typeout{}
  844.     \typeout{-------------------Beginning Body----------------------}
  845.     \typeout{}
  846.     \typeout{}
  847.        \mainmatter
  848.     \DoubleSpacing
  849.     \clearpage
  850.     \pagenumbering{arabic}
  851. }
  852.  
  853. % USER COMMANDS FOR CONTROLLING THE PROLOGUE.
  854.  
  855. \renewcommand*{\title}[1]{\th@StoreIn{\th@title}{#1}}
  856. \title{My most Impressive Ideas}
  857. \newcommand{\otherdegrees}[1]{\th@StoreIn{\th@otherdegrees}{#1}}
  858. \otherdegrees{Harvard of course\\}
  859. \newcommand{\acknowledgments}[1]{
  860.     \@makeAcknowledgmentstrue
  861.     \th@StoreIn{\th@acknowledgmentsStash}{\input #1\relax}
  862. }
  863. \newcommand{\copyrightpage}{
  864.        \@makeCopyrightpagetrue
  865.        \th@StoreIn{\th@copyrightpageStash}
  866.         {%
  867. \vspace*{7.5in}
  868. \begin{center}
  869. $\copyright$ Copyright by \expandafter\th@fwdname, \expandafter\th@degreeyear\\
  870. All Rights Reserved.\\
  871. \end{center}
  872. }
  873. }
  874. \newcommand{\dedication}[1]{
  875.     \@makeDedicationtrue
  876.     \th@StoreIn{\th@dedicationStash}{\input #1\relax}
  877. }
  878. \newcommand{\preface}[1]{
  879.     \@makePrefacetrue
  880.     \th@StoreIn{\th@prefaceStash}{\input #1\relax}
  881. }
  882. \newcommand{\listofsymbols}[1]{
  883.     \@makeLoSymbtrue
  884.     \th@StoreIn{\th@losymbStash}{\input #1\relax}
  885. }
  886. \newcommand{\listofabbreviations}[1]{
  887.     \@makeLoAbbrevtrue
  888.     \th@StoreIn{\th@loabbrevStash}{\input #1\relax}
  889. }
  890. \newcommand{\summary}[1]{
  891.        \@makeSummarytrue
  892.        \th@StoreIn{\th@summaryStash}{\input #1\relax}
  893. }
  894. \renewcommand*{\date}[1]{\th@StoreIn{\th@degreeyear}{#1}}
  895. \renewcommand*{\month}[1]{\th@StoreIn{\th@degreemonth}{#1}}
  896. \renewcommand*{\author}[2]{
  897.     \th@StoreIn{\th@fwdname}{#1 #2}
  898.     \th@StoreIn{\th@revname}{#2, #1}
  899. }
  900. \newcommand*{\college}[1]{
  901.        \th@StoreIn{\th@college}{#1}
  902. }
  903. \newcommand*{\field}[1]{
  904.        \th@StoreIn{\th@field}{#1}
  905. }
  906. \newcommand*{\degree}[1]{
  907.        \th@StoreIn{\th@degree}{#1}
  908. }
  909. \newcommand*{\dean}[1]{
  910.        \th@StoreIn{\th@dean}{#1}
  911. }
  912. \newcommand*{\advisor}[3]{
  913.     \th@StoreIn{\th@advisor}{#2}
  914.     \th@StoreIn{\th@advisortitle}{#1}
  915.        \th@StoreIn{\th@advisorspot}{#3}
  916. }
  917. \newcommand*{\readera}[3]{
  918.        \th@StoreIn{\th@readera}{#2}
  919.        \th@StoreIn{\th@readeratitle}{#1}
  920.     \th@StoreIn{\th@readeraspot}{#3}
  921. }
  922. \newcommand*{\readerb}[3]{
  923.        \@makereaderbtrue
  924.        \th@StoreIn{\th@readerb}{#2}
  925.        \th@StoreIn{\th@readerbtitle}{#1}
  926.     \th@StoreIn{\th@readerbspot}{#3}
  927. }
  928. \newcommand*{\readerc}[3]{
  929.        \@makereaderctrue
  930.        \th@StoreIn{\th@readerc}{#2}
  931.        \th@StoreIn{\th@readerctitle}{#1}
  932.     \th@StoreIn{\th@readercspot}{#3}
  933. }
  934. \newcommand*{\readerd}[3]{
  935.        \@makereaderdtrue
  936.        \th@StoreIn{\th@readerd}{#2}
  937.        \th@StoreIn{\th@readerdtitle}{#1}
  938.     \th@StoreIn{\th@readerdspot}{#3}
  939. }
  940. \newcommand*{\reader}[2]{
  941.        \th@StoreIn{\th@reader}{#2}
  942.        \th@StoreIn{\th@readertitle}{#1}
  943. }
  944. \newcommand*{\schcsigner}[2]{
  945.        \th@StoreIn{\th@schcsigner}{#2}
  946.        \th@StoreIn{\th@schcsignertitle}{#1}
  947. }
  948. \renewcommand{\abstract}[2][long]{
  949.        \@makeAbstracttrue
  950.     \ifthenelse{\equal{#1}{short}}{\relax}{
  951.         \th@StoreIn{\th@AbstractPageStyle}{\thispagestyle{empty}}
  952.     }
  953.     \th@StoreIn{\th@abstractStash}{\input #2\relax}
  954. }
  955. \newcommand*{\honorsabstract}[1]{
  956.        \@makeHonorsAbstracttrue
  957.     \th@StoreIn{\th@honorsabstractStash}{\input #1\relax}
  958. }
  959. \newcommand*{\SuspendPrologue}{
  960.     \@makeProloguefalse
  961.     \typeout{No prologue pages printed.}
  962. }
  963.  
  964. \newcommand*{\makeLoF}{\setboolean{@makeLoF}{true}}
  965. \newcommand*{\emptyLoF}{
  966.     \@makenoLoFtrue
  967.     \typeout{No LoF printed}
  968. }
  969. \newcommand*{\makeLoT}{\setboolean{@makeLoT}{true}}
  970. \newcommand*{\emptyLoT}{
  971.     \@makenoLoTtrue
  972.     \typeout{No LoT printed}
  973. }
  974. \newcommand*{\ToCisShort}{
  975.     \@shortToCtrue
  976.     \typeout{Putting page number on short ToC}
  977. }
  978. \newcommand*{\LoFisShort}{
  979.     \@shortLoFtrue
  980.     \typeout{Putting page number on short LoF}
  981. }
  982. \newcommand*{\LoTisShort}{
  983.     \@shortLoTtrue
  984.     \typeout{Putting page number on short LoT}
  985. }
  986.  
  987. %%This environment doesn't work right
  988. %\newenvironment*{singlespaced}{\vspace{-\onelineskip}\begingroup\SingleSpacing}
  989. %{\endgroup\DoubleSpacing}
  990.  
  991. \newcommand{\mymainmatter}{%
  992.   \@ifstar{\@mysmemmain}{\@mymemmain}}
  993. \newcommand*{\@mysmemmain}{%
  994.   \@mainmattertrue
  995.   \setcounter{secnumdepth}{\value{maxsecnumdepth}}
  996.    \counterwithin{figure}{chapter}
  997.    \counterwithin{table}{chapter}
  998.   }
  999.  
  1000. \newcommand{\@mymemmain}{%
  1001.   \@mysmemmain\pagenumbering{arabic}}
  1002.  
  1003.  
  1004. \newcommand{\Chaptero}[1]{%
  1005. \newcounter{pagesave}
  1006. \setcounter{pagesave}{\thepage}
  1007. \backmatter
  1008. \chapter{#1}
  1009. \mymainmatter
  1010. \setcounter{page}{\thepagesave}
  1011. }
  1012.  
  1013. \newcommand*{\tighttoc}{%
  1014. \renewcommand{\contentsname}{Contents \vspace{-.57\baselineskip}}
  1015. }
  1016.  
  1017. \newenvironment{threepartfigure}[1][t]{%
  1018.  \relax \ifvmode \noindent \fi  
  1019.  \TPT@common{threeparttable}{#1}%
  1020.  \@ifundefined{@captype}{\def\@captype{figure}}{}%
  1021.  \let\TPT@LA@label\label
  1022.  \let\TPT@LA@caption\@caption \let\@caption\TPT@caption
  1023.  \let\TPT@begintabhook\TPT@begintabbox
  1024.  \let\TPT@tabarghook\TPT@tabargset
  1025.  \TPT@hookin{tabular}%    
  1026.  \TPT@hookarg{tabular*}%
  1027.  \TPT@hookarg{tabularx}%
  1028.  \let\TPToverlap\relax
  1029. \setlength{\tabcolsep}{0pt}}%
  1030. {\TPT@close}
  1031.  
  1032. \captionstyle{\raggedright}
  1033. \captiondelim{\quad}
  1034.  
  1035.  
  1036. %% The piece above is intended to make figure captions
  1037. %% work as the Graduate School wants  2012-04-20
  1038.  
  1039.  
  1040.  
  1041.  
  1042. \endinput
  1043. %% End of file ``uscthesis.cls''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement