summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/turabian-formatting/turabian-thesis.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/turabian-formatting/turabian-thesis.cls')
-rw-r--r--Master/texmf-dist/tex/latex/turabian-formatting/turabian-thesis.cls286
1 files changed, 272 insertions, 14 deletions
diff --git a/Master/texmf-dist/tex/latex/turabian-formatting/turabian-thesis.cls b/Master/texmf-dist/tex/latex/turabian-formatting/turabian-thesis.cls
index be804f7a2f2..87bd482e3b4 100644
--- a/Master/texmf-dist/tex/latex/turabian-formatting/turabian-thesis.cls
+++ b/Master/texmf-dist/tex/latex/turabian-formatting/turabian-thesis.cls
@@ -27,14 +27,14 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{turabian-thesis}[2016/07/12 Turabian Theses and Dissertations]
+\ProvidesClass{turabian-thesis}[2016/07/18 Turabian Theses and Dissertations]
% Default point size
\def\@@ptsize{12pt}
-% Options for document class
+% Document class options: handling
\DeclareOption{raggedright}{%
\PassOptionsToPackage{\CurrentOption}{turabian-formatting}}
@@ -62,20 +62,16 @@
\DeclareOption{12pt}{\def\@@ptsize{12pt}}
-
-% Deprecated/removed options
\DeclareOption{emptymargins}{%
\ClassWarningNoLine{turabian-researchpaper}{The '\CurrentOption' option is no longer available}
- \PassOptionsToPackage{\CurrentOption}{turabian-formatting}}
-
+ \OptionNotUsed}
-% Pass other options to book document class
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
\ProcessOptions\relax
-% Build upon book document class
+% Load "book" document class with options
\LoadClass[titlepage,oneside,onecolumn,\@@ptsize]{book}
@@ -83,13 +79,123 @@
\RequirePackage{turabian-formatting}
-% Create binding offset of 0.5in
+% Binding offset: 0.5in
\setlength\oddsidemargin{0.5in}
-\setlength\evensidemargin{\z@}
-\addtolength\textwidth{-\oddsidemargin}
-
-
-% Renew \maketitle command for Thesis/Dissertation title page
+\AtEndPreamble{%
+ \addtolength\textwidth{-\oddsidemargin}}
+
+
+% Figures and tables: support for double numeration formatting
+\newif\if@doublenumerate\@doublenumeratetrue
+
+
+% Document structure: formatting
+
+\def\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{roman}
+ \pagestyle{empty}}
+
+\def\mainmatter{%
+ \cleardoublepage
+ \@mainmattertrue
+ \pagenumbering{arabic}
+ \pagestyle{headings}
+ \if@doublenumerate
+ \setcounter{tf@tempchapfcnt}{\value{figure}}
+ \setcounter{tf@tempchaptcnt}{\value{table}}
+ \fi
+ \addtocontents{toc}{\protect\addvspace{1\baselineskip}}}
+
+\def\backmatter{%
+ \if@openright \cleardoublepage \else \clearpage \fi
+ \@mainmatterfalse
+ \if@doublenumerate
+ \setcounter{chapter}{0}
+ \setcounter{figure}{\value{tf@tempchapfcnt}}
+ \setcounter{table}{\value{tf@tempchaptcnt}}
+ \fi
+ \addtocontents{toc}{\protect\addvspace{1\baselineskip}}}
+
+
+% Set top section command name to "chapter"
+\def\tf@topsecname{chapter}
+
+
+% Figures and tables: adjust counters based on @doublenumerate
+\newcounter{tf@tempchapfcnt}
+\newcounter{tf@tempchaptcnt}
+\def\tf@chapcounter{%
+ \if@doublenumerate
+ \if@mainmatter
+ \ifnum \c@chapter >\z@ \else
+ \setcounter{tf@tempchapfcnt}{\value{figure}}
+ \setcounter{tf@tempchaptcnt}{\value{table}}
+ \fi
+ \fi
+ \refstepcounter{chapter}
+ \else
+ \setcounter{tf@tempchapfcnt}{\value{figure}}
+ \setcounter{tf@tempchaptcnt}{\value{table}}
+ \refstepcounter{chapter}
+ \setcounter{figure}{\value{tf@tempchapfcnt}}
+ \setcounter{table}{\value{tf@tempchaptcnt}}
+ \fi}
+
+
+% Chapters: formatting
+\def\tf@chapformat{\normalfont\bfseries\normalsize\singlespacing\centering}
+\def\@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \tf@chapcounter
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\@chapapp\space\thechapter.}#1}%
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}%
+ \@makechapterhead{#2}%
+ \@afterheading}
+\def\@makechapterhead#1{%
+ { \tf@chapformat
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\space \thechapter
+ \par\nobreak
+ \vspace*{1\baselineskip}%
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \ifstrempty{#1}%
+ {}%
+ {#1\par\nobreak \vspace{1\baselineskip}}%
+ }}
+\def\@makeschapterhead#1{%
+ { \tf@chapformat
+ \interlinepenalty\@M
+ #1\par\nobreak
+ \vspace{1\baselineskip}}}
+
+
+% Title page: commands for use with \maketitle
+
+\newcommand{\institution}[1]{\gdef\tf@institution{#1}}
+\institution{\@empty}
+
+\newcommand{\department}[1]{\gdef\tf@department{#1}}
+\department{\@empty}
+
+\newcommand{\location}[1]{\gdef\tf@location{#1}}
+\location{\@empty}
+
+
+% Title page: renew \maketitle for thesis/dissertation
\submissioninfo{%
A Dissertation Submitted to\par
@@ -132,6 +238,158 @@
\end{titlepage}%
\setcounter{page}{2}
\tf@emptymaketitle
+ \global\let\tf@institution\@empty
+ \global\let\tf@department\@empty
+ \global\let\tf@location\@empty
+ \global\let\institution\relax
+ \global\let\department\relax
+ \global\let\location\relax
\cleardoublepage}
+% Table of Contents: formatting
+
+\setcounter{tocdepth}{0}
+
+\renewcommand*{\l@chapter}[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \setlength\@tempdima{7.5em}%
+ \vskip 1\baselineskip
+ { \parindent \z@
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \leavevmode
+ \ifnum \c@tocdepth >\z@ \bfseries \fi
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+ \penalty\@highpenalty}
+ \fi}
+
+\renewcommand*{\l@section}{%
+ \ifnum \c@tocdepth >\z@ \vskip 1\baselineskip \fi
+ \@dottedtocline{1}{1.5in}{\z@}}
+
+\renewcommand*{\l@subsection}{%
+ \ifnum \c@tocdepth >1 \vskip 1\baselineskip \fi
+ \@dottedtocline{2}{2.0in}{\z@}}
+
+\renewcommand*{\l@subsubsection}{%
+ \ifnum \c@tocdepth >2 \vskip 1\baselineskip \fi
+ \@dottedtocline{3}{2.5in}{\z@}}
+
+
+% Figures and Tables: conditional double numeration formatting
+
+\renewcommand{\thefigure}{%
+ \if@doublenumerate \ifnum \c@chapter>\z@ \thechapter.\fi\fi \@arabic\c@figure}
+
+\renewcommand{\thetable}{%
+ \if@doublenumerate \ifnum \c@chapter>\z@ \thechapter.\fi\fi \@arabic\c@table}
+
+% Figures and Tables: list formatting
+\renewcommand*{\l@figure}[2]{%
+ \def\tflist@beforesecnum{\hfil}
+ \if@doublenumerate
+ \def\tflist@aftersecnum{\hspace{3em}}
+ \else
+ \def\tflist@aftersecnum{\hspace{3.5em}}
+ \fi
+ \setlength\@tempdima{5em}
+ \vskip 1\baselineskip
+ { \leftskip \z@ \relax
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \parindent \z@ \relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \advance\leftskip\@tempdima \null\nobreak\hskip -\leftskip
+ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par}}
+\def\l@table{\l@figure}
+
+
+% Appendixes: formatting
+% appendixes environment resets figure and tables counts with "A." prefix
+
+\newcounter{appendix}
+
+\newenvironment{appendixes}%
+ {%
+ \@appendixestrue
+ \@mainmattertrue
+ \tf@appendix
+ \def\tf@chapcounter{%
+ \refstepcounter{appendix}
+ \gdef\thechapter{\@Alph\c@appendix}}
+ \if@doublenumerate
+ \setcounter{tf@tempchapfcnt}{\value{figure}}
+ \setcounter{tf@tempchaptcnt}{\value{table}}
+ \setcounter{figure}{0}
+ \setcounter{table}{0}
+ \fi
+ \renewcommand{\thefigure}{\if@doublenumerate A.\fi \@arabic\c@figure}
+ \renewcommand{\thetable}{\if@doublenumerate A.\fi \@arabic\c@table}
+ }%
+ {%
+ \if@doublenumerate
+ \setcounter{figure}{\value{tf@tempchapfcnt}}
+ \setcounter{table}{\value{tf@tempchaptcnt}}
+ \fi
+ }%
+
+
+% Endnotes: layout and formatting
+
+\if@endnotesformat
+
+ \let\tf@chapter\chapter
+
+ \@addtoreset{endnote}{chapter}
+
+ % Renew Notes heading formatted as \chapter* (also added to Table of Content)
+ \renewcommand{\enoteheading}{%
+ \tf@chapter*{\notesname}%
+ \@mkboth{\MakeUppercase\notesname}{\MakeUppercase\notesname}%
+ \addcontentsline{toc}{chapter}{\notesname}%
+ \mbox{}\par%
+ \vspace{-1.5\baselineskip}%
+ \let\@afterindentfalse\@afterindenttrue
+ \singlespacing}%
+
+ % Renew \chapter command to: (1) reset endnotes counter at each chapter, and (2) add subheadings for each chapter in \endnotes formatting.
+ \RenewDocumentCommand{\chapter}{som}{%
+ \IfBooleanTF{#1}%
+ {% if \chapter*
+ \tf@chapter*{#3}%
+ \setcounter{endnote}{0}%
+ \addtoendnotes{%
+ \noexpand\tf@enotedivider%
+ {\noexpand\section*}{\unexpanded{#3}}}%
+ }%
+ {% if \chapter
+ \IfNoValueTF{#2}%
+ {\tf@chapter{#3}}%
+ {\tf@chapter[#2]{#3}}%
+ \setcounter{endnote}{0}%
+ \if@mainmatter
+ \addtoendnotes{%
+ \noexpand\tf@enotedivider%
+ {\noexpand\section*}{\@chapapp\space \thechapter}}%
+ \else
+ \addtoendnotes{%
+ \noexpand\tf@enotedivider%
+ {\noexpand\section*}{\unexpanded{#3}}}%
+ \fi
+ }}
+
+ % Empty subheading divider before \theendnotes for use with \tf@enotedivider
+ \preto{\theendnotes}{%
+ \addtoendnotes{\noexpand\tf@enotedivider{}{}}}
+
+ % Make endnote divider if not followed by another endnote divider
+ \def\tf@enotedivider#1#2{\@ifnextchar\tf@enotedivider{}{#1{#2}}}%
+
+\fi
+
+