% =============================================================================
% Iowa State University Thesis Template
% PDF/UA-2 Compliant | LuaLaTeX Required | TeX Live 2025+
% =============================================================================
\DocumentMetadata{
lang = en-US,
pdfstandard = ua-2,
pdfversion = 2.0,
tagging = off, % set to "on" when you're ready to work on accessibility features
tagging-setup = {
math/setup = mathml-SE, % required for accessible equations
table/header-rows = {1} % sets the first row of all tables to be headers, if any of your tables have more complicated layouts, set the header-row information manually on a case-by-case basis.
}
}
\documentclass[11pt]{isuthesis}
% =============================================================================
% USER VARIABLES
% =============================================================================
\title{Your thesis title here} % Use "sentence case" where only the first word, proper nouns, and the first word following a colon begin with an upper-case letter.
\author{Your Full Name}
\degree{DOCTOR OF PHILOSOPHY} % or MASTER OF ARTS, etc.
\major{Your Major}
\format{dissertation} % or thesis, creative component, etc.
\members{%
John Doe, Co-Major Professor\\ % if only one major professor, remove the Co-
Jane Doe, Co-major Professor\\
Arthur Conan Doyle\\
Leslie Lamport\\
Dalai Lama%
}
% =============================================================================
% ENGINE CHECK
% =============================================================================
\ifPDFTeX
\PackageError{isuthesis}{%
This template requires LuaLaTeX for PDF/UA-2 compliance.\MessageBreak
Change compiler in Overleaf: Menu -> Compiler -> LuaLaTeX%
}{Please compile with LuaLaTeX}
\fi
% =============================================================================
% CORE PACKAGES
% =============================================================================
% Font
\usepackage{fontspec}
\usepackage{babel}
\setmainfont{TeX Gyre Termes} % math font is set futher down
% Layout
\usepackage{ragged2e}
\RaggedRight % use instead of fully-justified typesetting.
\setlength{\parindent}{0.25in} % resets paragraph indents after RaggedRight disables it.
\usepackage{indentfirst} % turns paragraph indents back on for the first paragraph per section/subsection/etc.
\PassOptionsToPackage{verbose=silent}{microtype}
\usepackage{microtype}
\usepackage{placeins} % used for \FloatBarrier to prevent figures/tables from winding up in the middle of a reference list.
% The caption and subcaption packages currently generate TagPDF structure warnings when Hyperref destinations are written to the List of Tables and List of Figures. These warnings appear to arise from an upstream interaction between the LaTeX tagging infrastructure and the caption packages rather than from thesis-class code. We include subcaption in the template for purposes of demonstrating its use (in chapter 5). It should not prevent the file from compiling, but will probably create Warnings. If you don't use subfigures, you can remove this package.
\usepackage{subcaption}
% Graphics & Color
\usepackage{graphicx}
%\DeclareGraphicsExtensions{.pdf,.png,.jpg,.mps} % you may use this line if you have multiple images with the same name, only differing in extention and you want to enforce an order preference. It is not necessary for general image functionality.
\graphicspath{{Images/}} % if you want to have a more structured image file structure, you may add additional file path instructions, e.g. Body/ch2/Images/, as a comma-separated list.
\usepackage{xcolor}
% Optional graphics packages:
%
% \usepackage{tikz}
% \usepackage{pgfplots}
% \pgfplotsset{compat=1.18}
%
% Load these only if your document uses TikZ and/or PGFPlots figures. Alt-text is set in the option list, e.g. \begin{tikzpicture}[alt={your alt text here]]
% Tables
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{array}
\usepackage{longtable}
% Do not use threeparttable - it often breaks accessibility tagging. You can recreate the functionality with minipages. See the example in chapter 4.
% Similarly, do not use \resizebox or other similar commands to shrink tables to fit. Consider using sidewaystables to allow the use of the long-edge of the page and/or using p column types to control column widths and allow line-wrapping for cell contents. See the example in chapter 6.
% Rotating
\usepackage{rotating} % Used for sidewaystable
% Lists
\usepackage{enumitem}
\setlist{noitemsep,topsep=0pt,parsep=0pt}
% Algorithms
\usepackage[linesnumbered, ruled, vlined]{algorithm2e}
\usepackage{listings}
\lstset{
basicstyle=\ttfamily\small,
breaklines=true,
frame=single,
language=[LaTeX]TeX
}
% Math & Science
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{unicode-math} % necessary for accessible math
\setmathfont{TeX Gyre Termes Math} % math font should be set after unicode-math is loaded, but unicode-math needs to loaded after other packages.
% Avoid using these packages if you're using unicode-math, they are known to cause problems.
%-----------------------
% mathspec
% mathptmx
% txfonts
% pxfonts
% newtxmath
%-----------------------
\usepackage{siunitx}
\sisetup{
mode = match,
propagate-math-font = true,
reset-math-version = false,
reset-text-family = false,
reset-text-series = false,
reset-text-shape = false,
text-family-to-math = true,
text-series-to-math = true,
per-mode=symbol,
range-phrase=--,
range-units=single
}
\usepackage{lscape}
% Nomenclature
\usepackage[intoc]{nomencl}
\makenomenclature
% Utilities
\usepackage{etoolbox}
\AtBeginEnvironment{longtable}{\small}
\setlength{\emergencystretch}{3em}
\usepackage{pdfpages}
\usepackage{afterpage}
\usepackage[all]{nowidow}
% =============================================================================
% BIBLIOGRAPHY
% =============================================================================
\usepackage{csquotes}
\usepackage{footnote}
% The template uses BibLaTeX by default. Set the style and sorting options of your choice. Comment out or remove this code and uncomment your choice below to change to natbib.
\usepackage[
backend=biber,
style=authoryear,
sorting=none,
maxbibnames=99,
maxcitenames=2,
refsection=none,
doi=true,
url=true
]{biblatex}
\DeclareLanguageMapping{english}{english-apa}
\addbibresource{master_bib.bib}
% To use natbib, uncommend the two lines below.
% \usepackage{natbib} %add options in square brackets to set appearance things like \usepackage[square, numbers]{natbib} to get bracketed number citation markers.
% \bibliographystyle{plainnat} % Set your reference style here.
% Don't forget to change the bibliography command at the bottom of this file as well.
% =============================================================================
% LINE AND PAGE BREAK CONTROL
% =============================================================================
\widowpenalty=10000
\clubpenalty=10000
\raggedbottom
\hyphenpenalty=50
% =============================================================================
% CUSTOM COMMANDS - add your new commands here
% =============================================================================
% =============================================================================
% HYPERREF
% =============================================================================
% hyperref setup should almost always be the last thing in the preamble.
\usepackage[
linktocpage=true,
bookmarksnumbered=true,
pdfdisplaydoctitle=true,
pdfpagelayout=OneColumn,
colorlinks=true,
allcolors=blue!70!black
]{hyperref}
\makeatletter
\hypersetup{
pdftitle={\@title},
pdfauthor={\@author},
pdfsubject={ISU \@format},
pdfcreator={LuaLaTeX with PDF/UA-2 tagging}
}
\makeatother
% =============================================================================
% DOCUMENT
% =============================================================================
\begin{document}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{2}
% Front matter - Roman numerals
\pagenumbering{roman}
% Title page
\notice
\maketitle
\clearpage
\setcounter{page}{2}
% Dedication
\include{Preface/dedication}
% Table of Contents
\clearpage
\phantomsection
\pdfbookmark[1]{TABLE OF CONTENTS}{toc}
{%
\singlespacing
\tableofcontents
}
% List of Tables
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{LIST OF TABLES}
{%
\singlespacing
\listoftables
}
% List of Figures
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{LIST OF FIGURES}
{%
\singlespacing
\listoffigures
}
% Nomenclature
\clearpage
\phantomsection
\include{Preface/nomenclature}
% Acknowledgements
\clearpage
\phantomsection
\include{Preface/acknowl}
% Abstract
\clearpage
\phantomsection
\include{Preface/abstract}
% Main content - Arabic numerals
\clearpage
\pagenumbering{arabic}
\setcounter{page}{1}
% Chapters
\include{Body/ch1/ch1_main}
\include{Body/ch2/ch2_main}
\include{Body/ch3/ch3_main}
\include{Body/ch4/ch4_main}
\include{Body/ch5/ch5_main}
\include{Body/ch6/ch6_main}
% Bibliography
\clearpage
\phantomsection
% Using BibLaTeX by default. If you prefer natbib comment out the next two lines and uncomment the one following.
\printbibliography[title={BIBLIOGRAPHY}]
\addcontentsline{toc}{chapter}{BIBLIOGRAPHY}
% \bibliography{master_bib}
% Appendices
\clearpage
\appendixtitle
\include{Appendix/appendix1}
% In the case where you have exactly one appendix, there are instructions for the necessary changes in Appendix/appendix1.tex at the top of the file.
\include{Appendix/appendix2}
\end{document}