Skip to content

Commit

Permalink
Thesis/Dissertation Proposal Templetes are implemented with [proposal…
Browse files Browse the repository at this point in the history
…] document option
  • Loading branch information
yonghoonlee committed Dec 9, 2023
1 parent 9b44fff commit aeaf3bd
Show file tree
Hide file tree
Showing 2 changed files with 188 additions and 87 deletions.
21 changes: 20 additions & 1 deletion main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,23 @@
% %
% Title page options: [master], doctoral. %
% %
% Document options: proposal, [fulldocument]. %
% Proposal option will change title page and hide various %
% elements of the document, including copyright notice, %
% dedication, acknowledgments, prepace, table of contents, %
% list of tables, list of figures, list of abbreviations, %
% list of glossaries, etc. %
% Proposal option works differently on the title page along %
% with master/doctoral options, showing either %
% "A Thesis Proposal" or "A Dissertation Proposal." %
% %
% Abstract page options: showabstract, [hideabstract]. %
% This options works only along with proposal option. %
% If you want to show abstract page on your proposal document %
% you can utilize this optional feature. %
% Full thesis/dissertation document with fulldocument option %
% always shows abstract page. %
% %
% Font size: 10pt, 11pt, [12pt]. %
% Smaller than 12pt is not recommended. %
% %
Expand Down Expand Up @@ -107,7 +124,8 @@
% submissions to the UofM thesis and dissertation deposit. %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[master,nosecnum,nohyphenation,pdfonly,boundcover]{uofm}
\documentclass[master,fulldocument,hideabstract,nosecnum,nohyphenation,pdfonly,boundcover]{uofm}
% Please note that showabstract/hideabstract options will only work along with proposal option. fulldocument option will always show abstract.

\usepackage{notoccite} % Correct order of cites used in titles or figure captions with the number they should have in the main text.
\usepackage{cite} % Make multiple cites short: in the form of [1--3] instead of [1, 2, 3].
Expand All @@ -120,6 +138,7 @@
\author{Student Full Name}
\degree{Master of Science} % or Doctor of Philosophy -- In this case you need to use the doctoral option in the documentclass.
\major{Mechanical Engineering}
\advisor{Dr. Name Of Your Advisor}
\date{May 2024}

\begin{document}
Expand Down
254 changes: 168 additions & 86 deletions uofm.cls
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,12 @@
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{uofm}[2023/02/17 v0.1 Customized LaTeX document class]
\ProvidesClass{uofm}[2023/12/08 v1.1 Customized LaTeX document class]
\newcommand\@ptsize{}
\newif\if@restonecol
\newif\if@master
\newif\if@proposal
\newif\if@showabstract
\newif\if@secnum
\newif\if@nohyphen
\newif\if@boundcopy
Expand All @@ -87,6 +89,10 @@
\DeclareOption{fleqn}{\input{fleqn.clo}}
\DeclareOption{master}{\@mastertrue}
\DeclareOption{doctoral}{\@masterfalse}
\DeclareOption{proposal}{\@proposaltrue}
\DeclareOption{showabstract}{\@showabstracttrue}
\DeclareOption{hideabstract}{\@showabstractfalse}
\DeclareOption{fulldocument}{\@proposalfalse}
\DeclareOption{boundcopy}{\@boundcopytrue}
\DeclareOption{pdfonly}{\@boundcopyfalse}
\DeclareOption{boundcover}{\@boundcovertrue}
Expand All @@ -97,7 +103,7 @@
\setlength{\paperwidth}{8.5in}%

% default options
\ExecuteOptions{12pt,final,master,nosecnum,nohyphenation,pdfonly,boundcover}
\ExecuteOptions{12pt,final,master,fulldocument,hideabstract,nosecnum,nohyphenation,pdfonly,boundcover}
\ProcessOptions

% packages and defs
Expand All @@ -108,8 +114,10 @@
\setlength\parindent{0.5in}
\RequirePackage{ragged2e}
\setlength{\RaggedRightParindent}{\parindent}
\RequirePackage{ifthen}
\def\degree#1{\def\@degree{#1}}
\def\major#1{\def\@major{#1}}
\def\advisor#1{\def\@advisor{#1}}

% page layout
\if@boundcopy % Left margin 1.5 inch
Expand Down Expand Up @@ -223,19 +231,37 @@
}%
\begin{center}%
\if@master%
{\normalsize A Thesis \par}%
\if@proposal%
{\normalsize A Thesis Proposal \par}%
\else%
{\normalsize A Thesis \par}%
\fi
\vspace*{13.2pt}%
\else%
{\normalsize A Dissertation \par}%
\if@proposal%
{\normalsize A Dissertation Proposal \par}%
\else%
{\normalsize A Dissertation \par}%
\fi
\vspace*{13.2pt}%
\fi%
{\normalsize Submitted in Partial Fulfillment of the \par}%
\vspace*{13.2pt}%
{\normalsize Requirements for the Degree of \par}%
\vspace*{13.2pt}%
{\normalsize \@degree \par}%
\vspace*{0.5in}%
{\normalsize Major: \@major \par}%
\if@proposal%
{\normalsize Submitted for the Committee's Review \par}%
\vspace*{0.5in}%
{\normalsize Academic Advisor: \par}%
\vspace*{13.2pt}%
{\normalsize \@advisor \par}%
\vspace*{0.5in}%
{\normalsize Major: \@major \par}%
\else%
{\normalsize Submitted in Partial Fulfillment of the \par}%
\vspace*{13.2pt}%
{\normalsize Requirements for the Degree of \par}%
\vspace*{13.2pt}%
{\normalsize \@degree \par}%
\vspace*{0.5in}%
{\normalsize Major: \@major \par}%
\fi
\end{center}%
\end{minipage}\par%
\end{minipage}\par
Expand Down Expand Up @@ -436,73 +462,121 @@
\normalfont\bfseries #1}

\newcommand\copyrightpage{%
\prelimpage
\singlespacing
\topskip0pt
\vspace*{\fill}
\begin{center}{\normalsize%
Copyright\copyright~\@author \par
All rights reserved}
\end{center}
\vspace*{\fill}
\doublespacing
\endprelimpage
\if@proposal\else%
\prelimpage
\singlespacing
\topskip0pt
\vspace*{\fill}
\begin{center}{\normalsize%
Copyright\copyright~\@author \par
All rights reserved}
\end{center}
\vspace*{\fill}
\doublespacing
\endprelimpage
\fi
}

\newenvironment{dedication}{%
\prelimpage
\@makeschapterhead{\dedicationname}\par
\doublespacing%
\if@proposal%
\setbox\z@\vbox\bgroup
\else
\prelimpage
\@makeschapterhead{\dedicationname}\par
\doublespacing%
\fi%
}{%
\endprelimpage}
\if@proposal%
\egroup
\else%
\endprelimpage
\fi}

\newenvironment{acknowledgments}{%
\prelimpage
\@makeschapterhead{\acknowledgmentsname}\par
\doublespacing%
\if@proposal%
\setbox\z@\vbox\bgroup
\else
\prelimpage
\@makeschapterhead{\acknowledgmentsname}\par
\doublespacing%
\fi%
}{%
\endprelimpage}
\if@proposal%
\egroup
\else
\endprelimpage
\fi}

\newenvironment{preface}{%
\prelimpage
\@makeschapterhead{\prefacename}\par
\doublespacing%
\if@proposal%
\setbox\z@\vbox\bgroup
\else
\prelimpage
\@makeschapterhead{\prefacename}\par
\doublespacing%
\fi
}{%
\endprelimpage}
\if@proposal%
\egroup
\else
\endprelimpage
\fi}

\newenvironment{abstract}{%
\prelimpage
\@makeschapterhead{\abstractname}\par
\doublespacing%
\if@proposal%
\if@showabstract%
\prelimpage
\@makeschapterhead{\abstractname}\par
\doublespacing%
\else
\setbox\z@\vbox\bgroup
\fi%
\else
\prelimpage
\@makeschapterhead{\abstractname}\par
\doublespacing%
\fi
}{%
\endprelimpage}
\if@proposal%
\if@showabstract%
\endprelimpage
\else
\egroup
\fi%
\else
\endprelimpage
\fi}

\newenvironment{keywords}{%
\par
\vspace{13.2pt}
{\bfseries\normalsize\noindent Keywords:~}}{}%

\newcommand\listsymbols[1]{%
\prelimpage%
\singlespacing%
\input{#1}%
\renewcommand*{\glossarypreamble}{\vspace{0.3\baselineskip}}%
\printglossary[type=symbols,title={\symbolname},style=index2,nogroupskip=true]
\endprelimpage%
\if@proposal\else%
\prelimpage%
\singlespacing%
\renewcommand*{\glossarypreamble}{\vspace{0.3\baselineskip}}%
\printglossary[type=symbols,title={\symbolname},style=index2,nogroupskip=true]
\endprelimpage%
\fi
}

\newcommand\newsymb[3]{%
\glsxtrnewsymbol[description={#3}]{#1}{\ensuremath{#2}}%
}

\newcommand\listabbreviations[1]{%
\prelimpage
\singlespacing%
\input{#1}%
\renewcommand*{\glossarypreamble}{\vspace{0.3\baselineskip}}%
\printglossary[type=\acronymtype,title={\acronymname},style=index2,nogroupskip=true]%
\doublespacing%
\endprelimpage%
\if@proposal\else%
\prelimpage
\singlespacing%
\renewcommand*{\glossarypreamble}{\vspace{0.3\baselineskip}}%
\printglossary[type=\acronymtype,title={\acronymname},style=index2,nogroupskip=true]%
\doublespacing%
\endprelimpage%
\fi
}

\newcommand\useglossaries[1]{\input{#1}}
Expand All @@ -511,9 +585,11 @@
\newglossaryentry{#1}{name=#2,description={#3}}}

\newcommand\listglossaries{%
\singlespacing%
\printglossary[title=\glossaryname,style=index2,nogroupskip=true]%
\doublespacing%
\if@proposal\else%
\singlespacing%
\printglossary[title=\glossaryname,style=index2,nogroupskip=true]%
\doublespacing%
\fi
}

\newenvironment{verse}
Expand Down Expand Up @@ -641,16 +717,18 @@
\newcommand\@dotsep{3}
\setcounter{tocdepth}{2}
\newcommand\tableofcontents{%
\prelimpage%
\begin{center}%
\bfseries \contentsname
\end{center}%
\singlespacing
\vspace*{-0.06in}%
Chapter \hfill Page \par%
\@starttoc{toc}%
\doublespacing
\endprelimpage
\if@proposal\else%
\prelimpage%
\begin{center}%
\bfseries \contentsname
\end{center}%
\singlespacing
\vspace*{-0.06in}%
Chapter \hfill Page \par%
\@starttoc{toc}%
\doublespacing
\endprelimpage
\fi
}
\newcommand*\l@part[2]{%
\ifnum \c@tocdepth >-2\relax
Expand Down Expand Up @@ -692,33 +770,37 @@
\newcommand*\l@paragraph{\@dottedtocline{4}{9.4em}{5em}}
\newcommand*\l@subparagraph{\@dottedtocline{5}{11.7em}{6em}}
\newcommand\listoffigures{%
\prelimpage%
\addcontentsline{toc}{chapter}{\listfigurename}
\begin{center}%
\bfseries \listfigurename
\end{center}%
\figurename \hfill Page \par
\singlespacing
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}%
\@starttoc{lof}%
\doublespacing
\endprelimpage
\if@proposal\else%
\prelimpage%
\addcontentsline{toc}{chapter}{\listfigurename}
\begin{center}%
\bfseries \listfigurename
\end{center}%
\figurename \hfill Page \par
\singlespacing
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}%
\@starttoc{lof}%
\doublespacing
\endprelimpage
\fi
}
\newcommand*\l@figure{\@dottedtocline{1}{0em}{2.3em}}
\newcommand\listoftables{%
\prelimpage%
\addcontentsline{toc}{chapter}{\listtablename}
\begin{center}%
\bfseries \listtablename
\end{center}%
\tablename \hfill Page \par
\singlespacing
\@mkboth{\MakeUppercase\listtablename}%
{\MakeUppercase\listtablename}%
\@starttoc{lot}%
\doublespacing
\endprelimpage
\if@proposal\else%
\prelimpage%
\addcontentsline{toc}{chapter}{\listtablename}
\begin{center}%
\bfseries \listtablename
\end{center}%
\tablename \hfill Page \par
\singlespacing
\@mkboth{\MakeUppercase\listtablename}%
{\MakeUppercase\listtablename}%
\@starttoc{lot}%
\doublespacing
\endprelimpage
\fi
}
\let\l@table\l@figure
\newdimen\bibindent
Expand Down

0 comments on commit aeaf3bd

Please sign in to comment.