From cd162fef9d9f3145c1e29c63439759636ba62c41 Mon Sep 17 00:00:00 2001
From: Blaise Thompson <blaise@untzag.com>
Date: Mon, 26 Feb 2018 17:08:07 -0600
Subject: 2018-02-26 17:07

---
 dissertation.cls | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)
 create mode 100644 dissertation.cls

(limited to 'dissertation.cls')

diff --git a/dissertation.cls b/dissertation.cls
new file mode 100644
index 0000000..2d2ebc8
--- /dev/null
+++ b/dissertation.cls
@@ -0,0 +1,133 @@
+\ProvidesClass{dissertation}
+
+% --- basic ---------------------------------------------------------------------------------------
+
+% required: 10 to 12 point font
+
+\LoadClass[11pt, twoside, openright]{report}
+\RequirePackage[letterpaper, margin=1in]{geometry}  % 1 inch margins required
+\RequirePackage{setspace}
+\RequirePackage{afterpage}
+\RequirePackage{color}
+\RequirePackage{array} 
+
+% --- headers -------------------------------------------------------------------------------------
+
+% required: page number in upper right, nothing else
+
+\RequirePackage{fancyhdr}
+\fancypagestyle{plain}{
+	\fancyhf{}
+	\fancyhead[R]{\thepage}
+	\fancyfoot{}
+	\renewcommand{\headrulewidth}{0pt}
+	\renewcommand{\footrulewidth}{0pt}
+}
+\pagestyle{plain}{\rhead{\thepage}}
+
+% --- text ----------------------------------------------------------------------------------------
+
+% text
+\RequirePackage[utf8]{inputenc}
+\setlength\parindent{0pt}
+\setlength{\parskip}{1em}
+\RequirePackage{enumitem}
+\setlist{noitemsep, topsep=0pt, parsep=0pt, partopsep=0pt}
+\renewcommand{\familydefault}{\sfdefault}
+
+\newcommand{\RomanNumeral}[1]{\textrm{\uppercase\expandafter{\romannumeral #1\relax}}}
+\RequirePackage{etoolbox}
+\AtBeginEnvironment{verse}{\singlespacing}
+
+% --- code environment ----------------------------------------------------------------------------
+
+% \RequirePackage{minted}
+\definecolor{light-gray}{gray}{0.90}
+\newcommand{\code}[1]{\colorbox{light-gray}{\texttt{#1}}}
+
+% --- tables --------------------------------------------------------------------------------------
+
+\newenvironment{dtable}
+  {
+  \clearpage
+  \begin{table}
+  \centering
+  }
+  {
+  \end{table}
+  \clearpage}
+
+% --- graphics ------------------------------------------------------------------------------------
+
+\RequirePackage{graphics}
+\RequirePackage{graphicx}
+\RequirePackage{epsfig}
+\RequirePackage{epstopdf}
+\RequirePackage{etoc}
+\RequirePackage{tikz}
+
+\newenvironment{dfigure}
+  {
+  \clearpage
+  \begin{figure}
+  \centering
+  }
+  {
+  \end{figure}
+  \clearpage}
+
+% --- math ----------------------------------------------------------------------------------------
+
+\RequirePackage{amssymb}
+\RequirePackage{amsmath}
+\RequirePackage[cm]{sfmath}
+\RequirePackage{bm} % bold mathtype
+\DeclareMathOperator{\me}{e}
+
+% --- misc / ? ------------------------------------------------------------------------------------
+
+\RequirePackage[nottoc]{tocbibind}
+\RequirePackage{fixltx2e}
+\RequirePackage{pdfpages}
+\RequirePackage[utf8]{inputenc}
+
+% --- hyperref ------------------------------------------------------------------------------------
+
+\RequirePackage[colorlinks=true, linkcolor=black, urlcolor=blue, citecolor=black,
+anchorcolor=black]{hyperref}
+\RequirePackage[all]{hypcap}  % helps hyperref work properly
+
+% --- bibliography --------------------------------------------------------------------------------
+
+\RequirePackage[backend=biber, natbib=true, sorting=none, maxbibnames=99]{biblatex}
+\bibliography{bibliography}
+
+% --- glossary ------------------------------------------------------------------------------------
+
+\RequirePackage[acronym, nopostdot, nogroupskip]{glossaries}
+\newcommand{\comma}{,\penalty \exhyphenpenalty}
+\newlength\glsnamewidth
+\setlength{\glsnamewidth}{0.3\hsize}
+\setlength{\glsdescwidth}{1\hsize}
+\newglossarystyle{myglossarystyle}{
+	\setglossarystyle{super}
+	\renewenvironment{theglossary}{
+		\tablehead{}
+		\tabletail{}
+		\begin{supertabular}{p{\glsnamewidth}p{\glsdescwidth}}}{\end{supertabular}}
+	\renewcommand{\glossentry}[2]{
+		\raggedleft
+		\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
+		\glossentrydesc{##1}\glspostdescription\space ##2\tabularnewline}}
+\renewcommand{\arraystretch}{1}
+\setglossarystyle{myglossarystyle}
+\newglossary[slg]{symbolslist}{syi}{syg}{Symbols}
+\makeglossaries
+\include{glossary}
+
+\RequirePackage{tocloft}
+ 
+\setlength\cftparskip{0pt}
+\setlength\cftbeforechapskip{-5pt}
+\setlength\cftbeforesecskip{-7pt}
+\setlength\cftbeforesubsecskip{-10pt}
\ No newline at end of file
-- 
cgit v1.2.3

