aboutsummaryrefslogtreecommitdiff
path: root/dissertation.cls
diff options
context:
space:
mode:
authorBlaise Thompson <blaise@untzag.com>2018-02-26 17:08:07 -0600
committerBlaise Thompson <blaise@untzag.com>2018-02-26 17:08:07 -0600
commitcd162fef9d9f3145c1e29c63439759636ba62c41 (patch)
tree1b50ca91e11e69cb9ea9804f7a8ff2a0ad83081b /dissertation.cls
parentc2a08c2b580ddf5002012d6149b9ff7a4e20a00e (diff)
2018-02-26 17:07
Diffstat (limited to 'dissertation.cls')
-rw-r--r--dissertation.cls133
1 files changed, 133 insertions, 0 deletions
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