diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /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.cls | 295 |
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 |