summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ndsu-thesis/ndsu-thesis.cls
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ndsu-thesis/ndsu-thesis.cls
Initial commit
Diffstat (limited to 'macros/latex/contrib/ndsu-thesis/ndsu-thesis.cls')
-rw-r--r--macros/latex/contrib/ndsu-thesis/ndsu-thesis.cls295
1 files changed, 295 insertions, 0 deletions
diff --git a/macros/latex/contrib/ndsu-thesis/ndsu-thesis.cls b/macros/latex/contrib/ndsu-thesis/ndsu-thesis.cls
new file mode 100644
index 0000000000..2c37d88632
--- /dev/null
+++ b/macros/latex/contrib/ndsu-thesis/ndsu-thesis.cls
@@ -0,0 +1,295 @@
+% This is the ndsu-thesis document class. It is used to produce disquisitions
+% for submission to the NDSU Graduate School.
+% Copyright 2018, Aaron Feickert and Jonathan Totushek
+
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public Licenese, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+
+% This work has the LPPL maintenance status `maintained'.
+
+% The current maintainer of this work is James Thorne.
+% Contact james.thorne@ndsu.edu for bug reports.
+
+% Here is a history of changes:
+% 2015-02-24: original release
+% 2015-04-28: fixed a list header problem
+% 2015-05-04: made entries in lot and lof single spaced, added cochaira and cochairb options and made cchair optional
+% 2015-05-11: fixed spacing issue in lof and lot
+% 2015-05-11: changed colons to periods in caption titles
+% 2015-07-29: fixed spacing issue in the approval page
+% 2016-02-02: fixed appendix equation numbering
+% 2016-04-15: changed spacing in lists of appendix figures and tables
+% 2018-02-13: removed orphan and widow lines
+
+\ProvidesClass{ndsu-thesis}
+\DeclareOption{draft}{\PassOptionsToClass{draft}{book}}
+\ProcessOptions\relax
+\LoadClass[11pt,oneside,notitlepage]{book}
+\usepackage[utf8]{inputenc}
+\usepackage[linktocpage,breaklinks,linktoc=all,hidelinks]{hyperref}
+\usepackage[top=1in,bottom=1in,left=1in,right=1in,letterpaper]{geometry}
+\usepackage[doublespacing]{setspace}
+\usepackage{titling}
+\usepackage{ifthen}
+\usepackage{titlesec}
+\usepackage{indentfirst}
+\usepackage[titles]{tocloft}
+\usepackage{etoolbox}
+\usepackage[figure,table]{totalcount}
+\usepackage[nottoc]{tocbibind}
+\usepackage[within=chapter]{newfloat}
+\usepackage[labelsep=period]{caption}
+\usepackage{comment}
+\usepackage{tikz}
+\usetikzlibrary{matrix,arrows,decorations.pathmorphing}
+
+% Basic spacing
+\setlength{\parindent}{.5in}
+\setcounter{secnumdepth}{5}
+\setlength{\intextsep}{\baselineskip}
+
+% Degree options
+\newcommand{\thesistype}{phd}
+\DeclareOption{phd}{\renewcommand{\thesistype}{phd}}
+\DeclareOption{ms-thesis}{\renewcommand{\thesistype}{ms-thesis}}
+\DeclareOption{ms-paper}{\renewcommand{\thesistype}{ms-paper}}
+\DeclareOption{ma-thesis}{\renewcommand{\thesistype}{ma-thesis}}
+\DeclareOption{ma-paper}{\renewcommand{\thesistype}{ma-paper}}
+\ProcessOptions
+
+% Table of contents tweaks
+\renewcommand{\contentsname}{TABLE OF CONTENTS}
+\renewcommand{\listtablename}{LIST OF TABLES}
+\renewcommand{\listfigurename}{LIST OF FIGURES}
+\renewcommand{\cftchapfont}{\normalfont}
+\renewcommand{\cftchappagefont}{\normalfont}
+\renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}}
+\renewcommand{\cftchapaftersnum}{.}
+\renewcommand{\cftfigaftersnum}{.}
+\renewcommand{\cfttabaftersnum}{.}
+\renewcommand{\cftsecaftersnum}{.}
+\renewcommand{\cftsubsecaftersnum}{.}
+\setlength{\cftbeforesecskip}{0.5\baselineskip}
+\setlength{\cftbeforesubsecskip}{0.5\baselineskip}
+\setlength{\cftbeforetabskip}{0.5\baselineskip}
+\setlength{\cftbeforefigskip}{0.5\baselineskip}
+\setlength{\cftfigindent}{0em}
+\setlength{\cfttabindent}{0em}
+\renewcommand{\bibname}{REFERENCES}
+\DeclareTotalCounter{appendixfigure}
+\DeclareTotalCounter{appendixtable}
+\DeclareFloatingEnvironment[fileext=loaf,placement={ht},listname={LIST OF APPENDIX FIGURES},name=Figure]{appendixfigure}
+\DeclareFloatingEnvironment[fileext=loat,placement={ht},listname={LIST OF APPENDIX TABLES},name=Table]{appendixtable}
+
+% Fix table captions
+\captionsetup[table]{position=top,skip=\baselineskip}
+\captionsetup[appendixtable]{position=top,skip=\baselineskip}
+
+% Defines custom paper information
+\newcommand\papertype[1]{\def\@papertype{#1}}
+\let\@papertype=\@empty
+\ifthenelse{\equal{\thesistype}{phd}}{\papertype{Dissertation}}{
+\ifthenelse{\equal{\thesistype}{ms-thesis}}{\papertype{Thesis}}{
+\ifthenelse{\equal{\thesistype}{ms-paper}}{\papertype{Paper}}{
+\ifthenelse{\equal{\thesistype}{ma-thesis}}{\papertype{Thesis}}{
+\ifthenelse{\equal{\thesistype}{ma-paper}}{\papertype{Paper}}}}}}{}
+
+\newcommand\degree[1]{\def\@degree{#1}}
+\let\@degree=\@empty
+\ifthenelse{\equal{\thesistype}{phd}}{\degree{DOCTOR OF PHILOSOPHY}}{
+\ifthenelse{\equal{\thesistype}{ms-thesis}}{\degree{MASTER OF SCIENCE}}{
+\ifthenelse{\equal{\thesistype}{ms-paper}}{\degree{MASTER OF SCIENCE}}{
+\ifthenelse{\equal{\thesistype}{ma-thesis}}{\degree{MASTER OF ARTS}}{
+\ifthenelse{\equal{\thesistype}{ma-paper}}{\degree{MASTER OF ARTS}}}}}}{}
+
+\newcommand\abstract[1]{\def\@abstract{#1}}
+\let\@abstract=\@empty
+
+\newcommand\department[1]{\def\@department{#1}}
+\let\@department=\@empty
+
+\newcommand\degreeoption[1]{\def\@degreeoption{Option:\\#1}}
+\let\@degreeoption=\@empty
+
+\newcommand\approvaldate[1]{\def\@approvaldate{#1}}
+\let\@approvaldate=\@empty
+
+\newcommand\approver[1]{\def\@approver{#1}}
+\let\@approver=\@empty
+
+\renewcommand\abstract[1]{\def\@abstract{#1}}
+\let\@abstract=\@empty
+
+\renewcommand\title[1]{\def\@title{\uppercase{#1}}}
+\let\@title=\@empty
+
+% Committee information
+\newcommand\cchair[1]{\def\@cchair{#1\vspace{.05in}\hrule\vspace{.05in}
+ {\tiny Chair}\\}\vspace{.2 in}}
+\let\@cchair=\@empty
+\newcommand\cochaira[1]{\def\@cochaira{#1\vspace{.05in}\hrule\vspace{.05in}
+ {\tiny Co-Chair}\\}\vspace{.2 in}}
+\let\@cochaira=\@empty
+\newcommand\cochairb[1]{\def\@cochairb{#1\vspace{.05in}\hrule\vspace{.05in}
+ {\tiny Co-Chair}\\}\vspace{.2 in}}
+\let\@cochairb=\@empty
+\newcommand\cmembera[1]{\def\@cmembera{#1\vspace{.05in}
+ \hrule\vspace{.2in}}}
+\let\@cmembera=\@empty
+\newcommand\cmemberb[1]{\def\@cmemberb{#1\vspace{.05in}
+ \hrule\vspace{.2in}}}
+\let\@cmemberb=\@empty
+\newcommand\cmemberc[1]{\def\@cmemberc{#1\vspace{.05in}
+ \hrule\vspace{.2in}}}
+\let\@cmemberc=\@empty
+\newcommand\cmemberd[1]{\def\@cmemberd{#1\vspace{.05in}
+ \hrule\vspace{.2in}}}
+\let\@cmemberd=\@empty
+
+% Other frontmatter sections
+\newcommand\acknowledgements[1]{\def\@acknowledgements{\clearpage\chapter*{ACKNOWLEDGEMENTS}\addcontentsline{toc}{chapter}{ACKNOWLEDGEMENTS}#1}}
+\let\@acknowledgements=\@empty
+
+\newcommand\dedication[1]{\def\@dedication{\clearpage\chapter*{DEDICATION}\addcontentsline{toc}{chapter}{DEDICATION}\begin{center}#1\end{center}}}
+\let\@dedication=\@empty
+
+\newcommand\preface[1]{\def\@preface{\clearpage\chapter*{PREFACE}\addcontentsline{toc}{chapter}{PREFACE}#1}}
+\let\@preface=\@empty
+
+% Title page
+\setlength{\droptitle}{-1in}
+\pretitle{\doublespacing \vfill \begin{center}}
+\posttitle{\vfill \singlespacing A \@papertype \\ Submitted to the Graduate Faculty \\ of the \\ North Dakota State University \\ of Agriculture and Applied Science \end{center}}
+\preauthor{\vfill \begin{center} By \\}
+\postauthor{\vfill \singlespacing In Partial Fulfillment of the Requirements \\ for the Degree of \\ \@degree \vfill Major Department:\\ \@department \end{center}}
+\predate{\vfill \begin{center}}
+\postdate{\vfill Fargo, North Dakota \end{center}}
+
+% These control the frontmatter sections
+\newcommand{\makeapproval}{
+\clearpage
+\thispagestyle{empty}
+\doublespacing
+\vfill
+\begingroup
+ \centering {\Large \textbf{NORTH DAKOTA STATE UNIVERSITY}} \\
+ {\large Graduate School} \\
+ \vspace{.1in}
+ \hrule height 1pt
+ \begin{center}
+ \parbox{5.5in}{
+ \begin{center}
+ \textbf{Title} \\
+ \@title
+ \vspace{.2in}
+ \hrule
+ \vspace{.2in}
+ \textbf{By} \\
+ \@author
+ \vspace{.2in}
+ \hrule
+ \end{center}
+ }
+ \end{center}
+\endgroup
+\vfill
+%\vspace{\baselineskip}
+\noindent The supervisory committee certifies that this \MakeLowercase{\@papertype} complies with North Dakota State University's regulations and meets the accepted standards for the degree of\\
+\begin{center}
+\@degree
+\vfill
+\parbox{5.5in}{
+ \hspace{-0.5in}SUPERVISORY COMMITTEE: \\
+ \@cchair
+ \@cochaira
+ \@cochairb
+ \@cmembera
+ \@cmemberb
+ \@cmemberc
+ \@cmemberd
+}
+\parbox{5.5in}{
+ \hspace{-0.5in}\noindent Approved: \\
+ \noindent \parbox{1.5in}{\centering\@approvaldate\vspace{.05in}\hrule\vspace{.05in}{\tiny Date}} \hfill
+ \parbox{3in}{\centering\@approver\vspace{.05in}\hrule\vspace{.05in}{\tiny Department Chair}}
+}
+\end{center}
+}
+
+\newcommand{\makeabstract}{
+\chapter*{Abstract} \@abstract
+\addcontentsline{toc}{chapter}{ABSTRACT}
+}
+
+\AtBeginDocument{\frontmatter \maketitle\thispagestyle{empty} \makeapproval \makeabstract \@acknowledgements \@dedication \@preface
+\begin{singlespace}\tableofcontents\end{singlespace}
+\iftotaltables
+\begingroup
+ \renewcommand*{\addvspace}[1]{}
+ \begin{singlespace}\listoftables\end{singlespace}
+\endgroup
+\fi
+\iftotalfigures
+\begingroup
+ \renewcommand*{\addvspace}[1]{}
+ \begin{singlespace}\listoffigures\end{singlespace}
+\endgroup
+\fi
+\iftotalappendixtables\begin{singlespace}\listofappendixtables\end{singlespace}\fi
+\iftotalappendixfigures\begin{singlespace}\listofappendixfigures\end{singlespace}\fi
+\mainmatter}
+
+\pagestyle{plain}
+\addtocontents{lot}{\noindent\underline{Table}\hfill \underline{Page}\par}
+\addtocontents{lof}{\noindent\underline{Figure}\hfill \underline{Page}\par}
+\addtocontents{loat}{\noindent\underline{Table}\hfill \underline{Page}\par}
+\addtocontents{loaf}{\noindent\underline{Figure}\hfill \underline{Page}\par}
+
+% Labels chapters correctly
+\renewcommand{\chaptername}{}
+\newcommand{\heading}[1]{\chapter{\uppercase{#1}}}
+
+% Format headings correctly
+\titleformat{\chapter}
+ {\centering\normalfont\bfseries}{{\Large\MakeUppercase{{\chaptertitlename}}\ \thechapter.}}{1em}{\Large\MakeUppercase}
+ \titlespacing*{\chapter}{0pt}{-0.5\baselineskip}{\baselineskip}
+
+\titleformat{\section}
+ {\normalfont\bfseries}{\thesection.}{0.5em}{}
+ \titlespacing*{\section}{0pt}{*0}{0pt}
+
+\titleformat{\subsection}
+ {\normalfont\bfseries}{\thesubsection.}{0.5em}{}
+ \titlespacing*{\subsection}{0pt}{*0}{0pt}
+
+\titleformat{\subsubsection}
+ {\normalfont\bfseries}{\thesubsubsection.}{0.5em}{}
+ \titlespacing*{\subsubsection}{0pt}{*0}{0pt}
+
+% Generate appendices with the correct numbering
+\renewcommand{\appendix}{
+ \chapter*{APPENDIX}
+ \setcounter{appendixfigure}{0}
+ \renewcommand{\theappendixfigure}{A.\arabic{appendixfigure}}
+ \setcounter{appendixtable}{0}
+ \renewcommand{\theappendixtable}{A.\arabic{appendixtable}}
+ \addcontentsline{toc}{chapter}{APPENDIX}
+ \renewcommand{\theequation}{A.\arabic{equation}}
+}
+\newcommand{\namedappendix}[1]{
+ \chapter*{APPENDIX. #1}
+ \setcounter{appendixfigure}{0}
+ \renewcommand{\theappendixfigure}{A.\arabic{appendixfigure}}
+ \setcounter{appendixtable}{0}
+ \renewcommand{\theappendixtable}{A.\arabic{appendixtable}}
+ \addcontentsline{toc}{chapter}{APPENDIX. \uppercase{#1}}
+ \renewcommand{\theequation}{A.\arabic{equation}}
+}
+
+\widowpenalty=10000
+\clubpenalty=10000 \ No newline at end of file