summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/msu-thesis
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/msu-thesis')
-rw-r--r--macros/latex/contrib/msu-thesis/README.md4
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.cls186
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.pdfbin222407 -> 224666 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.tex52
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdfbin55385 -> 0 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex55
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdfbin199924 -> 196098 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex36
8 files changed, 233 insertions, 100 deletions
diff --git a/macros/latex/contrib/msu-thesis/README.md b/macros/latex/contrib/msu-thesis/README.md
index 725896b877..37e6fc2f2e 100644
--- a/macros/latex/contrib/msu-thesis/README.md
+++ b/macros/latex/contrib/msu-thesis/README.md
@@ -1,4 +1,4 @@
-# MSU Thesis Class Version 2.9c 2021/05/07
+# MSU Thesis Class Version 3.0 2021/06/10
Copyright 2011-2021 by Alan Munn <amunn@msu.edu>
@@ -49,7 +49,7 @@ A template file:
A test file and a test bibliography:
`MSU-thesis-testfile.tex`
- `MSU-theis-testfile.bib`
+ `MSU-thesis-testfile.bib`
Use at your own risk! Report bugs/problems/questions to [amunn@msu.edu](mailto:amunn@msu.edu) or use the [GitHub repository bug tracker](https://github.com/amunn/msu-thesis/issues).
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.cls b/macros/latex/contrib/msu-thesis/msu-thesis.cls
index f9c1c273f7..8fc9939364 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.cls
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.cls
@@ -151,14 +151,23 @@
% Added warning when public abstract is used.
% Minor changes to the documentation
% Removed unified.bst from distribution; replaced with apalike in the test file.
+% Version 3.0 2021/06/10 Full support for per-chapter appendices and bibliographies.
+% Added global chapter counter for proper hyperrefs to appendices
+% Added a formatting hook for appendix numbering. We'll see how this works in practice.
+% Added spacing hooks for bibliographies to make users' lives a little easier
%
% Report bugs/problems/questions to <amunn@msu.edu>
%
-\def\msu@version{2.9c}
-\def\msu@date{2021/05/07}
+\def\msu@version{3.0}
+\def\msu@date{2021/06/10}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{msu-thesis}[\msu@date\space Michigan State University Thesis Class version \msu@version]
\newif\ifmsu@dissertation\msu@dissertationtrue % added v2.7 boolean for \msu@thesistype
+\newif\ifmsu@chapterbib\msu@chapterbibfalse % added v3.0
+\def\msu@bibtype{BIB}
+\newif\ifmsu@chapterapp\msu@chapterappfalse % added v3.0
+\def\msu@apptype{APP}
+\newcommand*\msuappendixnumformat{\Alph{chapter}}% Appendices are Alpha numbered
\newif\ifmsu@lscape\msu@lscapefalse
\newif\ifmsu@stupidtoc\msu@stupidtocfalse
\newif\ifmsu@mixedtoc\msu@mixedtocfalse
@@ -188,7 +197,14 @@
\DeclareOption{boldtoc}{\msu@stupidtoctrue\msu@plaintocfalse\msu@mixedtocfalse}
\DeclareOption{plaintoc}{\msu@plaintoctrue\msu@stupidtocfalse\msu@mixedtocfalse}
\DeclareOption{mixedtoc}{\msu@mixedtoctrue\msu@stupidtocfalse\msu@plaintocfalse}
-\DeclareOption{12pt}{\def\msu@sizeoption{12pt}} % added v 2.9
+\DeclareOption{chapterbib}{\global\msu@chapterbibtrue\def\msu@bibtype{CHAPBIB}} % per-chapter bibliographies added v3.0
+\DeclareOption{chapterapp}{
+ \global\msu@chapterapptrue
+ \def\msu@apptype{CHAPAPP}
+ % per-chapter appendices added v3.0
+ \renewcommand\msuappendixnumformat{\the@ppsavesec\Alph{chapter}} % Appendix numbers per-chapter (now permitted)
+}
+\DeclareOption{12pt}{\def\msu@sizeoption{12pt}} % added v2.9
\DeclareOption{11pt}{\def\msu@sizeoption{11pt}}
\DeclareOption{10pt}{\def\msu@sizeoption{10pt}}
\ExecuteOptions{PhD,12pt}
@@ -201,12 +217,12 @@
\ifx\e@alloc\@undefined
\RequirePackage{etex}
\fi
+\RequirePackage{etoolbox}
% set up landscape page numbering
% make a boolean for selecting pagestyle properly if \chapter appears in a landscape environment
\newif\ifmsu@lscapemode\msu@lscapemodefalse
\ifmsu@lscape
\RequirePackage{pdflscape} % this will cause physical pages to be rotated in the PDF
- \RequirePackage{etoolbox}
\AtBeginEnvironment{landscape}{\msu@lscapemodetrue} % to get chapter pagestyle correct
\RequirePackage{tikz}
% adjust \msu@landscapeyshift to meet the thesis office requirements
@@ -239,6 +255,9 @@
\newcommand*{\msu@titleintro}{A~} % this is the beginning to the title page phrase
\newcommand*{\msu@fieldseparator}{\textendash} % this is between the degree name and field of study
+\newcounter{msu@hchap} % global counter for chapters used by hyperref
+
+
% make title 2in from top of page
% This value is crazy because the grad school doesn’t know how to measure
\setlength{\droptitle}{.25in} % changed again due to topskip removal 12/13/17
@@ -246,6 +265,7 @@
% set up the title page
% Because the title is set to \MakeUppercase we need to \protect line
% breaks within the title. This has now been documented in the user docs.
+% Using \onelineskip here instead of \baselineskip because thesis office doesn't know how to measure
\newcommand*\msu@thesistype{\ifmsu@dissertation{DISSERTATION}\else{THESIS}\fi}
\pretitle{\begin{center}\MakeUppercase}
\posttitle{\\[\onelineskip]\end{center}}
@@ -269,6 +289,8 @@
\renewcommand{\parttitlefont}{\SingleSpacing\bfseries}
\renewcommand{\printpartname}{\partnamefont{\MakeUppercase{\partname}}}
\renewcommand{\printparttitle}[1]{\parttitlefont \MakeUppercase#1}
+% Set epigraph fonts to \normalsize
+\renewcommand{\epigraphsize}{\normalsize} % added 2/26/21
% set up the section styles
@@ -311,19 +333,52 @@
\fi
%
-% This code from http://tex.stackexchange.com/q/232121/
+% This code technique from http://tex.stackexchange.com/q/232121/
% Makes appendices formatted as sections not chapters in the TOC
% This is due to MSU idiocy, and also will make the appendix name
% upper case (because of MSU case matching requirements in TOC/chap)
% So the appendices are chapters in the document but formatted as
-% sections in the TOC. Code needs to be changed back for the bibliography
+% sections in the TOC. Code needs to be changed back for subsequent chapters.
+% This also accounts for the bizarre formatting of per-chapter appendices and
+% bibliographies which look like chapters except for the spacing in the TOC
+%
+% This allows for a uniform user interface for both end of document
+% and per chapter appendices.
+
+% This code leaves the spacing alone
\cftinsertcode{APP}{
+ \renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
+ \renewcommand\cftchapterpagefont{\msu@tocfont}
+% \renewcommand*{\cftappendixname}{APPENDIX\space}
+}
+% This code removes the before chapter spaces for in-chapter apps
+\cftinsertcode{CHAPAPP}{
+ \setlength\cftbeforechapterskip{0pt}
+ \renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
+ \renewcommand\cftchapterpagefont{\msu@tocfont}
+ \renewcommand*{\cftappendixname}{APPENDIX\space}
+}
+
+% This code adds extra space in the TOC margin for the APPENDIX name, and
+% makes the appendices formatted like sections even though they are
+% chapters in the source
+
+\newlength\apptoclen
+\settowidth{\apptoclen}{APPENDIX M}
+\cftinsertcode{APPENDICES}{
\setlength\cftchapterindent{\cftsectionindent}
+ \setlength\cftsectionnumwidth{\apptoclen} % add the extra space
\setlength\cftbeforechapterskip{0pt}
\renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
\renewcommand\cftchapterpagefont{\msu@tocfont}
\renewcommand*{\cftappendixname}{APPENDIX\space}
}
+
+% This code resets the TOC back to normal section spacing if appendices have been used
+
+\cftinsertcode{CHAPAPPR}{
+\cftsetindents{section}{1.5em}{2.3em}
+}
% This code resets the changes made in the APP code back to normal
% so that the bibliography will appear correctly in the TOC
\cftinsertcode{BIB}{
@@ -333,6 +388,14 @@
\renewcommand\cftchapterpagefont{\msu@chapfont}
}
+\cftinsertcode{CHAPBIB}{
+ \setlength\cftchapterindent{0em}
+ \setlength\cftbeforechapterskip{0pt}
+ \renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
+ \renewcommand\cftchapterpagefont{\msu@tocfont}
+}
+
+
% Set up all the font styles for the TOC
\renewcommand*{\cftchapterfont}{\msu@chapfont}
\renewcommand*{\cftchapterpagefont}{\msu@chapfont}
@@ -356,6 +419,7 @@
% Added to make sure that chapters within landscape mode have correct pagestyle
\renewcommand\chapter{%
+ \refstepcounter{msu@hchap}
\ifartopt\par\@nameuse{chapterblock}\else
\clearforchapter
\ifmsu@lscapemode
@@ -418,7 +482,7 @@
\newcounter{msu@pubabspages}
\newcommand{\publicabstractname}{\abstractname}
\newenvironment{publicabstract}{%
- \ClassWarning{msu-thesis}{You have provided a public abstract. Please make sure you ALSO have a regular abstract!}
+ \ClassWarningNoLine{msu-thesis}{You have provided a public abstract. Please make sure you ALSO have a regular abstract!}
\setcounter{msu@pubabspages}{\value{page}}
\setlength{\afterchapskip}{\onelineskip} % changed 2020/12/14 again removed manual spacing from 2016
\chapter*{\publicabstractname}
@@ -474,10 +538,6 @@
\renewcommand{\mainmatter}{%
\DoubleSpacing\pagestyle{plain}\@ifstar{\@smemmain}{\@memmain}}
-% This should probably be changed to {\null\vfill} + \afterpartskip
-% But we'll worry about this later.
-%\renewcommand{\beforepartskip}{\vspace*{.35\textheight}}
-%\renewcommand{\beforepartskip}{\vspace*{\fill}}
\renewcommand{\beforepartskip}{\null\vfill}
\renewcommand{\afterpartskip}{\null\vfill\newpage}
@@ -488,35 +548,68 @@
% Also, since the Grad School doesn't allow a single appendix to have a letter name
% we remove it for the title, but not for the section headings.
% Redefining \@apppage as well to get the spacing right 2016/06/08
+% Modified 2021/06/10 to deal with both in-chapter and end of document appendices
%
\newcommand{\msu@apppage}{%
\@setuppart
+ \cftinserthook{toc}{\msu@apptype} % extra space or not added 2021/06/10
\mempreaddapppagetotochook
\addappheadtotoc
\mempostaddapppagetotochook
\partmark{\appendixpagename}%
\memapppageinfo{\appendixpagename}%
+ \cftinserthook{toc}{APPENDICES} % reset for subappendices added 2021/06/10
{\centering
\interlinepenalty \@M
\normalfont
\printparttitle{\appendixpagename}\par}%
+ \cftinserthook{toc}{CHAPAPPR} % reset added 2021/06/10
\@endpart}
-\let\orig@appendix\appendix
-\let\orig@appendices\appendices
-\renewcommand*{\appendix}{
- \renewcommand\appendixpagename{Appendix}
- \renewcommand\appendixtocname{Appendix}
- \msu@apppage
- \settocdepth{part}
- \orig@appendix
- \renewcommand\thechapter{}
- \renewcommand\thesection{A.\arabic{section}}}
-\renewcommand*{\appendices}{
- \msu@apppage
- \cftinserthook{toc}{APP}
- \settocdepth{chapter}
- \orig@appendices}
+%
+% Code for appendix/appendices
+% Because the thesis office wants chapter appendices to look like chapters
+% we make the same code work for per-chapter or global appendices
+%
+% Instead of using \appendix we create an {appendix} environment for a single
+% appendix. This allows the same code to be used for both global and per chapter
+% appendices.
+%
+\renewenvironment{appendix}%
+ {\renewcommand{\appendixname}{Appendix}
+ \renewcommand{\appendixtocname}{Appendix}
+ \renewcommand{\appendixpagename}{Appendix}
+ \ifmsu@chapterapp\else\renewcommand\msuappendixnumformat{}\fi% make sure single appendix doesn't have a number if global
+ \msu@apppage\settocdepth{part}\@resets@pp\anappendixtrue}%
+ {\@ppsaveapp\@pprestoresec\anappendixfalse}
+
+\renewenvironment{appendices}%
+ {\msu@apppage\settocdepth{chapter}
+ \@resets@pp\anappendixtrue}%
+ {\@ppsaveapp\@pprestoresec\anappendixfalse}
+
+% The default numbering that memoir assumes is for appendices
+% is sequential throughout the document; the thesis office
+% requires them to restart from A every chapter. In case they
+% ever allow a saner numbering system we provide the \msuappendixnumberformat hook
+% for modifying the numbering scheme if allowed.
+%
+
+\renewcommand{\@resets@pp}{%
+ \par
+ \@ppsavesec
+ \setcounter{section}{0}%
+ \setcounter{chapter}{0}%
+ \renewcommand\@chapapp{\appendixname}%
+ \renewcommand\thechapter{\msuappendixnumformat}%
+ \restoreapp
+ }
+
+
+% Don't save the appendix counters even for per-chapter appendices
+
+\let\restoreapp\relax
+
% make the bibliography page
% new version modelled after memoir code for appendix page
@@ -524,7 +617,7 @@
\newcommand\msu@bibpage{%
\let\bibtocname\bibname % moved inside this page to beat apacite
\let\bibpagename\bibname
- \cftinserthook{toc}{BIB}
+ \cftinserthook{toc}{\msu@bibtype}
\settocdepth{subsubsection} % changed v2.7 to allow for chapter bibs
\@setuppart
\msu@preaddbibpagetotochook
@@ -536,14 +629,21 @@
\interlinepenalty \@M
\normalfont
\printparttitle{\bibpagename}\par}%
- \@endpart}
+ \@endpart
+ \cftinserthook{toc}{BIB}}
+
\newcommand\msu@preaddbibpagetotochook{}
\newcommand\msu@postaddbibpagetotochook{}
\newcommand{\msu@bibpageinfo}[1]{}
\renewcommand{\prebibhook}{\vspace{\cftparskip}} % add extra space before entries to match ToC etc. 6/15/17
\newcommand\msu@addbibheadtotoc{%
- \phantomsection\addcontentsline{toc}{chapter}{\bibtocname}}
+ \ifmsu@chapterbib
+ \phantomsection\addcontentsline{toc}{section}{\bibtocname}
+ \else
+ \phantomsection\addcontentsline{toc}{chapter}{\bibtocname}
+ \fi
+ }
% Since the bibliography page is the TOC entry we remove the bib in the TOC
% when it's introduced
\nobibintoc
@@ -551,18 +651,27 @@
% This should also work for biblatex even though memoir doesn't check for it
\newcommand*{\makebibliographypage}{\msu@bibpage}
-\let\makebibliographycover\makebibliographypage
+%\let\makebibliographycover\makebibliographypage No longer needed for compatibility
+
+% Informational warnings
+%
+\AtEndDocument{%
+\ifmsu@dissertation\else\ClassWarningNoLine{msu-thesis}{Masters theses MUST have chapters to be formatted correctly!}\fi
+}
% Do some stuff at begin document:
\AtBeginDocument{%
\let\msucaptiondelim\@contdelim
% Moved to AtBeginDocument to override apacite
\@ifpackageloaded{apacite}{\@tocbibfalse}{} % added 6/22/17
+% Make bibliography spacing more automatic for biblatex and natbib users 2021/06/10
+% This should cover most cases. Otherwise just set single spacing
+\@ifpackageloaded{biblatex}
+ {\renewcommand{\bibsetup}{\SingleSpacing\setlength{\bibitemsep}{\baselineskip}}} % biblatex
+ {\@ifpackageloaded{natbib}
+ {\AtBeginEnvironment{thebibliography}{\SingleSpacing\setlength{\bibsep}{\baselineskip}}} % natbib
+ {\AtBeginEnvironment{thebibliography}{\SingleSpacing}}} % any other bib package
%\topskip=0pt % setting this because the Grad School doesn’t know how to measure -changed back 6/15/17
\checkandfixthelayout
-
-% Set epigraph fonts to \normalsize
-\renewcommand{\epigraphsize}{\normalsize} % added 2/26/21
-
%
% set up subscript sizes so that 10 pt is the smallest
% (MSU Requirement)
@@ -577,15 +686,18 @@
% Thanks to Florent Chervet for the code.
% Added hypersetup to remove borders around links 5/9/16
\@ifpackageloaded{hyperref}%
-{\hypersetup{pdfborder= 0 0 0}\msu@hyperloadedtrue
+{\hypersetup{pdfborder= 0 0 0}
+\msu@hyperloadedtrue
\def\MakeLinkUppercase \hyper@linkstart #1#2#3\hyper@linkend
{\hyper@linkstart {#1}{#2}{\MakeUppercase{#3}}\hyper@linkend }
\pdfstringdefDisableCommands{\let\MakeUppercase \@firstofone }
\renewcommand*{\l@chapter}[2]{%
\l@chapapp{\MakeLinkUppercase #1}{#2}{\cftchaptername}} % Format chapter names
\renewcommand*{\l@appendix}[2]{%
- \l@chapapp{\MakeLinkUppercase #1}{#2}{\cftappendixname}}} % Format appendix names (changed 13/12/17)
-% if no hyperref
+ \l@chapapp{\MakeLinkUppercase #1}{#2}{\cftappendixname}} % Format appendix names (changed 13/12/17)
+\apptocmd{\@resets@pp}{\gdef\theHchapter{\Alph{msu@hchap}}}{}{} % get hypertargets in appendices right (added v3.0)
+}
+ % if no hyperref
{\relax}
}
\endinput
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.pdf b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
index ade9bd139c..96496dc77b 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.pdf
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.tex b/macros/latex/contrib/msu-thesis/msu-thesis.tex
index 0b0b57ddf5..5afea970ad 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.tex
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.tex
@@ -2,8 +2,8 @@
\documentclass[11pt]{article}
-\def\msuversion{2.9c}
-\def\msudate{2021/05/07}
+\def\msuversion{3.0}
+\def\msudate{2021/06/10}
\title{\textbf{Using the MSU Thesis Class}}
\author{\textbf{Alan Munn}\\Department of Linguistics and Languages\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}}
\date{Version \msuversion\\\msudate}
@@ -70,11 +70,11 @@
\abstract{\noindent\begin{quote} This is a class file for MSU theses and dissertations. It is based on the \pkg{memoir} class, and therefore supports all of the functionality of that class. It should generate a document which meets all the basic formatting requirements laid out by the \href{https://grad.msu.edu/etd/formatting-guide}{Formatting Guide For Submission of Master’s Theses and Doctoral Dissertations} (March 2020) produced by the Graduate School, including requirements for margins, titlepage, page numbering, section titles, sub- and superscript sizes etc.\end{quote}}
\section{Introduction}
-Formatting a dissertation according to a University's thesis requirements is not always a simple task in \LaTeX, especially since the requirements are generally aimed at MSWord users. Furthermore, most of the work of formatting a document is supposed to be done by the document class itself, and not by the individual user. Fortunately, Michigan State University's thesis requirements are actually sane, and fairly straightforward. The present class file is designed to further make the process easier for \LaTeX\ users, by doing all the heavy lifting for you, so that you can focus on the content and not the formatting.
+Formatting a dissertation according to a University's thesis requirements is not always a simple task in \LaTeX, especially since the requirements are generally aimed at MSWord users. Furthermore, most of the work of formatting a document is supposed to be done by the document class itself, and not by the individual user. Fortunately, Michigan State University's thesis requirements are for the most part sane, and fairly straightforward. The present class file is designed to further make the process easier for \LaTeX\ users, by doing all the heavy lifting for you, so that you can focus on the content and not the formatting.
\section{Background}
The MSU Thesis Class is based on the \pkg{memoir} document class. The \pkg{memoir} class is an extensive class that incorporates the functionality of many other packages into it. The class is extensively documented, and the documentation (\pkg{memman.pdf}) should be available with any \TeX\ distribution. I strongly recommend that you familiarize yourself with \pkg{memoir} as you use the present class.
\section{Class Options}
-In addition to any options passed to the \pkg{memoir} class (e.g. |oldfontcommands|; see Section \ref{sec:fonts}, font size), the \pkg{msu-thesis} takes three options: one to specify the type of degree, (see Table~\ref{degrees}), one to enable landscape page numbering, and one to make small adjustments to Table of Contents. If no degree option is specified, a Ph.D. dissertation is assumed.
+In addition to any options passed to the \pkg{memoir} class (e.g. |oldfontcommands|; see Section \ref{sec:fonts}, font size), the \pkg{msu-thesis} takes five options: one to specify the type of degree, (see Table~\ref{degrees}), one to enable landscape page numbering, two to enable per-chapter bibliographies and appendices, and one to make small adjustments to Table of Contents. If no degree option is specified, a Ph.D. dissertation is assumed.
\begin{table}
\centering
\begin{tabularx}{.8\textwidth}{>{\ttfamily}lX}
@@ -84,6 +84,7 @@ In addition to any options passed to the \pkg{memoir} class (e.g. |oldfontcomman
{[PhD]} & Doctor of Philosophy (default)\\
{[DEd]} & Doctor of Education\\
{[DMA]} & Doctor of Musical Arts\\
+{[DNP]} & Doctor of Nursing Practice\\
{[MA]} & Master of Arts\\
{[MS]} & Master of Science\\
{[MAT]} & Master of Arts for Teachers \\
@@ -103,6 +104,10 @@ In addition to any options passed to the \pkg{memoir} class (e.g. |oldfontcomman
\end{table}
\subsection{The \pkg{[lscape]} option}
The Formatting Guide requires that any lansdscape pages be numbered in landscape mode (i.e. along the long edge of the page) rather than in portrait mode, and rotated in the final PDF. The |[lscape]| option enables this. The option loads both the \pkg{pdflscape} package and \pkg{tikz}, and is implemented as a class option so that you are not required to load those packages if they are not needed.
+\subsection{The \pkg{[chapterbib]} option}
+This option enables per-chapter bibliographies. Each chapter must have its own bibliography. If you are using \pkg{natbib} for bibliographies, per-chapter bibliographies can be implemented using the \pkg{chapterbib} package. Please read its documentation carefully, as it requires each chapter to be a separate file. An newer alternative which I highly recommend is to use \pkg{biblatex} for your bibliography, which makes per-chapter bibliographies very simple. If you have per-chapter bibliographies you cannot have a global bibliography.
+\subsection{The \pkg{[chapterapp]} option}
+This option enables per-chapter appendices. Any appendix must be associated with its own chapter. If you have per-chapter appendices you cannot have any global appendices.
\subsection{The contents options}
In 2013 I received reports that the thesis office now requires all elements in the Table of Contents to have the same formatting as they are in the main document, which means that all section, subsection, and subsubsection headings need to be bold. Since this looks very ugly, I have created two options to turn it off, the |[plaintoc]| option (which makes all ToC entries plain) and |[mixedtoc]| option (which makes Chapters bold and other elements plain). I suspect that the thesis office checkers don't notice this all the time so if you want to have a prettier table of contents and are willing to have that format be corrected, you can use these options to turn off the MSWord inspired ugliness of an entirely bold Table of Contents. I've made |[plaintoc]| the default. If you are forced by the thesis office to have an entirely bold ToC, use the |[boldtoc]| option.
\subsection{Font size options}\label{fontsize}
@@ -170,7 +175,7 @@ The \pkg{memoir} class provides commands for single and double spacing (|\Single
\sloppy The \pkg{memoir} class enforces the so-called ``new'' font changing commands (although they have now been in use for many years.) This means that it does not allow you to use the commands |\bf|, |\it|, |\rm|, etc. Unfortunately there are some old packages that still use these commands, and there is also some outdated information on the web that might have examples using these commands. You should generally not use these commands (see \href{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2letterfontcmd}{Two Letter Font Commands}); if you do encounter problems, you can pass the option |[oldfontcommands]| to the class.
\subsection{Extra Packages}
The \pkg{memoir} class replicates the functionality of many independent packages, so if you are transferring \LaTeX\ source from other documents using the \pkg{article} class, you may encounter some warnings or errors. The \pkg{memoir} documentation has substantial information about the packages it emulates, and the packages for which it provides equivalent functionality. See Chap. 18 Sec. 24 of the \pkg{memoir} manual for details. Quoting from the manual:
-\begin{quote} \pkg{memoir} emulates the following packages: {\sffamily abstract, appendix, array, booktabs, ccaption, chngcntr, crop, dcolumn, delarray, enumerate, epigraph, ifmtarg, ifpdf, index, makeidx, moreverb, needspace, newfile, nextpage, pagenote, patchcmd, parskip, setspace, shortvrb, showidx, tabularx, titleref, tocbibind, tocloft, verbatim}, and {\sffamily verse}. It also provides functions equivalent to those in the following packages, although the class does not prevent you from using them: {\sffamily fancyhdr, framed, geometry, sidecap, subfigure}, and \sffamily{titlesec}.\\\hfill{\normalfont\emph{The Memoir Class} 8th Ed. 2010, p.339}
+\begin{quote} At the time of writing the emulated packages are: {\sffamily abstract, appendix, booktabs, ccaption, chngcntr, crop, enu- merate, epigraph, ifmtarg, ifpdf, index, makeidx, moreverb, needspace, newfile, nextpage, pagenote, patchcmd, parskip, setspace, shortvrb, showidx, titleref, tocbibind, tocloft, verbatim, and verse.} As well as the emulated packages memoir provides functions equivalent to those in the following packages, although the class does not prevent you from using them: {\sffamily fancyhdr, framed, geometry, sidecap, subfigure, and titlesec.}\\\hfill{\normalfont\emph{The Memoir Class} 10th impression, 2015, p.345}
\end{quote}
\subsection{Captions}
\subsubsection{Caption delimiter}
@@ -243,15 +248,16 @@ If you have large figures and tables that must be rotated, you should use the |[
The |landscape| environment makes all pages within it landscape, so if you have multiple landscape figures in a row, you can put all of them inside a single |landscape| environment. This option correctly rotates the landscape pages within the pdf document itself, which the thesis office seems to require.
\subsection{Appendices}
-Appendices in a thesis are usually at the end of the document, but before the bibliography. MSU requires appendices to be preceded by a cover page which says either ``Appendix'' (if there is only one) or ``Appendices'' if there is more than one. Memoir deals with multiple appendices by using an |appendices| environment.
+Appendices in a thesis are usually at the end of the document, but before the bibliography. MSU requires appendices to be preceded by a cover page which says either ``Appendix'' (if there is only one) or ``Appendices'' if there is more than one. The class implements this with two environments: |{appendix}| for a single appendix and |{appendices}| for multiple appendices. If your thesis organization requires appendices per-chapter, you must use the |[chapterapp]| class option. In either case, the code for appendices is identical.
\subsubsection{Single appendix}
-If you have a single appendix, your code should look like this:
+If you have a single appendix, your code should look like this:
\begin{quote}
\begin{lstlisting}
-\appendix
+\begin{appendix}
\chapter{Your appendix title}
Appendix text goes here
+\end{appendix}
\end{lstlisting}
\end{quote}
@@ -270,20 +276,12 @@ Appendix text goes here
\end{quote}
\subsubsection{Appendices per chapter}
-If you need to add an appendix or appendices to a chapter, you should use the |subappendices| environment and use |\section| for each appendix. So your code should look like this:
+If you need to add an appendix or appendices to a chapter, you must use the \pkg{[chapterapp]} class option. The code for the appendices themselves is exactly as described above.
-\begin{quote}
-\begin{lstlisting}
-\begin{subappendices}
-\section{Your first appendix title}
-Appendix text goes here
-\section{Your second appendix title}
-Appendix text goes here
-\end{subappendices}
-\end{lstlisting}
-\end{quote}
-\subsection{Bibliography spacing}\label{bibspacing}
-Please note that although bibliography entries must be single spaced, there must be a space between each entry. This parameter is set by your bibliography package and not by the class itself. If you are using |natbib| it is |\bibsep| and if you are using |biblatex| it is |\bibitemsep|. These are lengths and may be set by using |\setlength|. Depending on your bibliography style, you may need to set these to be |\baselineskip|, e.g. |\setlength{\bibitemsep}{\baselineskip}|.
+\subsection{Bibliographies}
+The class places no constraints on how you do your bibliography. If you have per-chapter bibliographies, you must use the |[chapterbib]| class option. Before any bibliography (whether global or per-chapter) you should use the |\makebibliographypage| command.
+\subsubsection{Bibliography spacing}\label{bibspacing}
+Please note that although bibliography entries must be single spaced, there must be a space between each entry. This parameter is set by your bibliography package and not by the class itself. If you are using \pkg{natbib} or \pkg{biblatex} these spacing parameters are set for you by the class. If you are using another package for your bibliography you are responsible for adjusting the relevant spacing parameters.
\subsection{Customizing the look of things}
I have created a basic looking style for Chapter headings based on the |thatcher| style in |memoir|. If you want to change these things, you may, using the appropriate |\renewcommand| commands. More information can be found in the |memoir| documentation. The Thesis Office seems to require dotted leaders for the List of Figures/Tables in the Table of Contents, (despite the guide saying they are optional) even though they get typeset as Chapters. If you wish your Chapter headings to have no leaders, add the following command just after the |\mainmatter| command. To put the dots back for the Bibliography, repeat the same command right after the |\backmatter| command, but replace |\cftnodots| with |\cftdotsep|. The default template leaves dots everywhere, which should appease the thesis office.
@@ -297,25 +295,25 @@ I have created a basic looking style for Chapter headings based on the |thatcher
Despite there being no explicit formatting requirements for Chapter headings (other than that they start 1 in from the top of the page), the thesis office has been known to dislike many things, so if you do decide to change things, be prepared for rejection or a frustrating fight.
\subsection{Things to watch out for}
\begin{itemize}[label={\textbullet}]
-\item If you are having problems with the Thesis office about non-conforming formatting, please check first whether you have a local copy of the class instead of the latest version distributed via CTAN. The log file will reflect the date of the current version number. Remember if you are using the most current and updated TeXLive or MikTeX you will automatically have the latest version already and you should not need to install a local version.
+\item If you are having problems with the Thesis office about non-conforming formatting, please check first whether you have a local copy of the class instead of the latest version distributed via CTAN. The log file will reflect the date of the current version number. Remember if you are using the most current and updated TeXLive or MikTeX you will automatically have the latest version already and you should not need to install a local version. Overleaf users may need a local copy, since Overleaf is usually a year behind the TeXLive distribution schedule.
\item If your title is long and you want to put a newline (|\\|) into it to improve the spacing, you must precede the newline with |\protect|.
\item Make sure you pay attention to any ``Overfull hbox'' warnings when you are producing your final copy. You should make sure you eliminate all of them or else the thesis office is likely to reject your thesis. One common way to eliminate such warnings is to place the command |\sloppy| at the beginning of the paragraph that triggers the warning. You should only use this technique at the very end when you are completely done with everything. Alternatively, rewording the text may also fix things.
\item Remember to use the |\tableofcontents*| command so that your table of contents is not listed in the table of contents.
-\item Remember to use the |appendices| environment instead of |\appendix| if you have more than one appendix.
-\item Remember to add the |\makebibliographypage| command before your bibliography.
+\item Remember to use the |{appendix}| environment for single appendices, and the |{appendices}| environment for multiple appendices. Do not use the standard LaTeX |\appendix| command.
+\item Remember to add the |\makebibliographypage| command before any bibliography in your document.
\end{itemize}
\subsection{Master’s Theses}
Master’s theses are sometimes relatively short, and you may think that you can just have |\section| commands with no chapters. This will \emph{not} work. The class is designed to use chapters (and as far as I can tell, the Graduate School also expects chapters).
\section{Bugs and redistribution}
\subsection{Current version}
-The latest copy of \pkg{msu-thesis} will always be available on \href{https://ctan.org/pkg/msu-thesis?lang=en}{CTAN}. If you use MiKTeX, or a current year TeX Live then their respective package managers will update or install the latest version. If you are using Overleaf, you may or may not have the most recent version, since Overleaf is usually about one year behind in it’s TeX distribution. If you are using a Linux-based distribution, or your TeXLive distribution is not the most recent year, you may need to install the latest copy in your local |texmf| directory. If you want others to use the class, \textsc{please} point them to CTAN, or tell them to use an up-to-date TeX distribution so that they can use an up-to-date version with all accompanying documentation and examples rather than passing along your copy. Please report \textsc{any} problems you have with the class to me \href{mailto:amunn@msu.edu}{amunn@msu.edu}, as this will aid in making things easier for those who follow you. If you prefer, you may also report issues using GitHub: \href{https://github.com/amunn/msu-thesis}{github.com/amunn/msu-thesis}. The Graduate School rarely announces changes it makes to the formatting requirements, so your problem reports are extremely helpful for keeping the class in compliance with the latest standards.
+The latest copy of \pkg{msu-thesis} will always be available on \href{https://ctan.org/pkg/msu-thesis?lang=en}{CTAN}. If you use MiKTeX, or a current year TeX Live then their respective package managers will update or install the latest version. If you are using Overleaf, you may or may not have the most recent version, since Overleaf is usually about one year behind in its TeX distribution. If you are using a Linux-based distribution, or your TeXLive distribution is not the most recent year, you may need to install the latest copy in your local |texmf| directory. If you want others to use the class, \textsc{please} point them to CTAN, or tell them to use an up-to-date TeX distribution so that they can use an up-to-date version with all accompanying documentation and examples rather than passing along your copy. Please report \textsc{any} problems you have with the class to me \href{mailto:amunn@msu.edu}{amunn@msu.edu}, as this will aid in making things easier for those who follow you. If you prefer, you may also report issues using GitHub: \href{https://github.com/amunn/msu-thesis}{github.com/amunn/msu-thesis}. The Graduate School rarely announces changes it makes to the formatting requirements, so your problem reports are extremely helpful for keeping the class in compliance with the latest standards.
\subsection{Archiving your thesis for the future}
Since the current version of the \pkg{msu-thesis} class satisfies the Graduate School requirements at any one time, as these requirements change, you may find that if you need to recompile your thesis after you have graduated that the formatting changes. To avoid this, I would recommend saving an archived version of the \pkg{msu-thesis.cls} file in the same folder as your thesis file. You only need to do this once you have completely finished your thesis however; there's no need to do it during the writing process.
\subsection{Version history}
-Previous versions of \pkg{msu-thesis} (versions 1.0--1.4b) were created for non-electronic submission and should not be used. Versions 1.5--1.6 (the first electronic submission versions) contained a |\makeabstract| command and a separate |msuabstract| environment. These have been removed as of version 1.7. Users who are upgrading from earlier versions to version 1.7 do not need to change these commands however but their use will trigger a warning.) Version 2.0 implemented landscape pages; version 2.1 added support for \pkg{hyperref}. Versions 2.2--2.5 mainly accommodated to the ever changing whims of the MSU Graduate School. Version 2.6 fixed some appendix bugs introduced by the previous whim accommodation. Version 2.7 fixed various small spacing issues, fixed a bug which prevented a new chapter page to be a landscape page, added support for the \pkg{apacite} package, and updated degree options. Version 2.8 fixed some spacing and capitalization issues and added support for the the public abstract. Version 2.9 removed subscript/superscript size restrictions, added font size options and made small spacing changes to appease the thesis office.
+Previous versions of \pkg{msu-thesis} (versions 1.0--1.4b) were created for non-electronic submission and should not be used. Versions 1.5--1.6 (the first electronic submission versions) contained a |\makeabstract| command and a separate |msuabstract| environment. These have been removed as of version 1.7. Users who are upgrading from earlier versions to version 1.7 do not need to change these commands however but their use will trigger a warning.) Version 2.0 implemented landscape pages; version 2.1 added support for \pkg{hyperref}. Versions 2.2--2.5 mainly accommodated to the ever changing whims of the MSU Graduate School. Version 2.6 fixed some appendix bugs introduced by the previous whim accommodation. Version 2.7 fixed various small spacing issues, fixed a bug which prevented a new chapter page to be a landscape page, added support for the \pkg{apacite} package, and updated degree options. Version 2.8 fixed some spacing and capitalization issues and added support for the public abstract. Version 2.9 removed subscript/superscript size restrictions, added font size options and made small spacing changes to appease the thesis office. Version 3.0 added full support for per-chapter bibliographies and appendices, and automated bibliography spacing for |natbib| and |biblatex| produced bibliographies.
\section{Acknowledgements}
-Thanks to Lars Madsen, Ulrike Fischer and Peter Wilson for help with setting up parts of the memoir code for versions 1.0--1.4 (now eliminated due to changed requirements). Thanks to Wolfgang Sternefeld for supplying the \pkg{linguex} spacing fix code, Leo Liu for the landscape page numbering code, which greatly simplified my original version, and Florent Chervet for the hyperref code. Thanks also to the following students who have reported problems over the years: Irina Agafonova, Ali Al-jiboory, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Matt Husband, Changkuk Jung, Adam Liter, William Muir, Adam Soliman, Alicia Parrish, Neil ver Planck, Michael Wojcik, Eremey Valetov, Matthew Vincent and Yisu Zhou. A special thank you to Non Thongprong who graciously provided a copy of his entire thesis which allowed me to debug some especially subtle spacing inconsistencies.
+Thanks to Lars Madsen, Ulrike Fischer and Peter Wilson for help with setting up parts of the memoir code for versions 1.0--1.4 (now eliminated due to changed requirements). Thanks to Wolfgang Sternefeld for supplying the \pkg{linguex} spacing fix code, Leo Liu for the landscape page numbering code, which greatly simplified my original version, and Florent Chervet for the \pkg{hyperref} code. Thanks also to the following students who have reported problems over the years: Irina Agafonova, Ali Al-jiboory, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Matt Husband, Changkuk Jung, Adam Liter, William Muir, Alicia Parrish, Neil ver Planck, Adam Soliman, Erik Stitt, Michael Wojcik, Eremey Valetov, Matthew Vincent and Yisu Zhou. A special thank you to Non Thongprong who graciously provided a copy of his entire thesis which allowed me to debug some especially subtle spacing inconsistencies.
\appendix
\renewcommand{\thesection}{Appendix \Alph{section}}
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf
deleted file mode 100644
index 93ded329af..0000000000
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
index 926c2a5093..c82f6e0020 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
@@ -1,10 +1,11 @@
% This is a template for use with the MSU Thesis class
-% Vesion 2.9c 2021/05/07
+% Vesion 3.0 2021/06/10
%
% Class options:
%[PhD] Doctor of Philosophy (default)
%[DEd] Doctor of Education
%[DMA] Doctor of Musical Arts
+%[DNP] Doctor of Nursing Practice
%[MA] Master of Arts
%[MS] Master of Science
%[MAT] Master of Arts for Teachers
@@ -32,16 +33,20 @@
%
% If you have large tables/figures that need to be in landscape mode, add the [lscape] option
%
-% The class accepts 12pt, 11pt or 10pt font size options. For Times New Roman use 12pt (default).
-
-% This is standard fontenc/inputenc for pdflatex
+% The class accepts 12pt, 11pt or 10pt font size options.
+% For Times New Roman as in this example document, use 12pt (default).
+%
+% If you require per-chapter appendices add the [chapterapp] option
+%
+% If you require per-chapter bibliographies add the [chapterbib] option
+%
+% This is standard fontenc for pdflatex
% If you use LuaLaTeX or XeLaTeX you should replace this with the fontspec package
-\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%
% If the thesis office requires Times, we'll give them Times
% You can experiment with other font packages here if you like.
-% If you are using XeLaTeX or LuaLaTeX load the Times or Times New Roman font with \setmainfont
+% If you are using XeLaTeX or LuaLaTeX load TeX Gyre Termes, Times or Times New Roman font with \setmainfont
\usepackage{newtxtext,newtxmath}
%
% Load any extra packages here
@@ -62,16 +67,23 @@
\frontmatter
% First make the title page
\maketitlepage
-% Next make the abstract
+
+% if you have public abstract (optional) it should go here
+%\begin{publicabstract}
+% Public abstract goes here
+%\end{publicabstract}
+
+% Next make the regular abstract (obligatory)
\begin{abstract}
% Your abstract goes here. Master's 1 page max. PhD 2 page max.
\end{abstract}
% Force a newpage
\clearpage
-% Make the copyright page. The Graduate School ridiculously prohibits you
-% from having a copyright page unless you pay ProQuest to register the copyright.
-% This should be illegal, but I didn't make up the rule.
+% Make the copyright page. The Graduate School ridiculously claims that you
+% can't have a copyright page unless you pay ProQuest to register the copyright.
+% This is simply not the case, so put in your copyright page whether or not you
+% intend to pay Proquest to register the copyright.
\makecopyrightpage
@@ -117,15 +129,20 @@ Your acknowledgements here.
%
%
% If you have appendices, they would go here.
-% Comment these lines out if you don't
+% If you only have one appendix it will look like this: (comment this out if you have no appendices)
+\begin{appendix}
+\chapter{Your appendix}
+\end{appendix}
+%
+%
% If you have more than one appendix, you need to use
% \begin{appendices}
% \chapter{First appendix}
% \chapter{Second appendix}
% \end{appendices}
%
-\appendix
-\chapter{Your appendix}
+% If each chapter has its own set of appendices, then load the class with the [chapterapp] option
+% and put your {appendix} or {appendices} environments at the end of each chapter.
%
\backmatter
% The next lines add the dots back into the References/Bibliography heading
@@ -135,14 +152,20 @@ Your acknowledgements here.
% \protect\renewcommand{\protect\cftchapterdotsep} {\cftdotsep}}
%
\makebibliographypage % make the bibliography cover page
-% Bibliography can be single spaced
%
-\SingleSpacing
%
-% Your bibliography command here (e.g. \bibliography{your-bib-file}) if using natbib
+% Your bibliography command here
+% e.g. \bibliography{your-bib-file}) if using natbib
+% e.g. \printbibliography if using biblatex
%
% Remember that although the bibliography is single spaced, there needs to
% be a blank line between entries. This is set by your bibliography package
% If you are using natbib it is \bibsep; if using biblatex it's \bibitemsep
+% These are set automatically by the class if you are using these packages
+%
+% If you need per-chapter bibliographies, you need to use the [chapterbib]
+% class option and you would use \makebibliographypage before each
+% chapter level bibliography and then the relevant bibliography command
+%
\end{document}
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
index 7e4e651ae8..1370069e3f 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
index b6c8f12d8d..d9a2196b85 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
@@ -1,5 +1,5 @@
% !TEX TS-program = pdflatexmk
-% v2.9c Testfile
+% v3.0 Testfile
\listfiles
\documentclass[lscape]{msu-thesis}
@@ -10,7 +10,7 @@
\usepackage{newtxtext,newtxmath} % If they want Times we’ll give them Times
\usepackage{amsmath}
%
-\usepackage[]{natbib}
+\usepackage{natbib}
\bibliographystyle{apalike}
@@ -96,7 +96,6 @@ This is some text that precedes a section.
\trans A French example.}
\end{xlist}
\end{exe}
-
\lipsum[1]
\lipsum[2]\cite{Munn1999} says the following.\footnote{A footnote. This is a footnote with a subscript$_{\text{i}_{\text{j}}}$. \lipsum[9]} \lipsum[2]
\begin{table}
@@ -191,6 +190,8 @@ This is another listing
\caption{Another listing caption}
\end{listing}
\lipsum[8]
+\section{A section with no subsection following it}
+\lipsum[9]
Now sample page in landscape (need to use [lscape] option for this)
First clear the page. Then make the page style {lscape}
\clearpage\pagestyle{lscape}
@@ -202,7 +203,6 @@ This is another listing
\begin{table}
\centering
\begin{tabular}{lllllll}
-
\toprule
A & B & C & D & E & F & G \\
\midrule
@@ -221,10 +221,8 @@ A & B & C & D & E & F & G \\
487.6847246 & 200.8682708 & 739.9673152 & 395.1695216 & 524.7826343 & 228.4705562 & 39.95541901 \\
207.8091332 & 300.6871609 & 627.8808013 & 740.4949976 & 128.9558068 & 176.2158891 & 296.1642661 \\
336.7537922 & 859.907318 & 704.2503641 & 426.845866 & 773.8926695 & 883.1773631 & 64.85043069 \\
-
\bottomrule
\end{tabular}
-
\caption{Some random data that takes up too much room.}
\end{table}
@@ -262,22 +260,24 @@ A & B & C & D & E & F & G \\
%% at the end of the {landscape} environment, make the page style {plain}
\pagestyle{plain}
%
-
-
%\begin{appendices} ... \end{appendices}
% use this if you have more than one appendix
\clearpage
-%\appendix % use this if you have only one appendix
-\begin{appendices} % use this if you have more than one appendix
-\chapter{An appendix}
-\section{An appendix section}
-\lipsum[9-15]
-\chapter{A second appendix}
-\section{An appendix section}
-\lipsum[16-17]
-\end{appendices}
+%\begin{appendix} ... \end{appendix} % use this if you have only one appendix
+\begin{appendix}
+\chapter{A single appendix}
+\lipsum[11]
+\end{appendix}
+
+%\begin{appendices} % use this if you have more than one appendix
+%\chapter{An appendix}
+%\section{An appendix section}
+%\lipsum[9-15]
+%\chapter{A second appendix}
+%\section{An appendix section}
+%\lipsum[16-17]
+%\end{appendices}
\backmatter
-\SingleSpacing
% This command creates the cover page for the bibliography
\makebibliographypage
\bibliography{MSU-thesis-testfile}