\documentclass{afitthesis}
% -------------------------
% Main document information
% -------------------------
\author{John Smith}
\rank{First Lieutenant, USAF}
\previousdegrees{B.S.E.E.}
\newdegree{Master of Science in Electrical Engineering}
\graduationdate{September 2023}
\title{Great Contribution to the Field of Things}
%\doctype{dissertation}
\docdesignator{AFIT-ENG-MS-XX-XXXX}
\department{Department of Electrical and Computer Engineering}
\committee{
{Albert Einstein, Ph.D\\Chair},
{Michael Faraday, Ph.D\\Member},
{Carl Gauss, Ph.D\\Member}}
\abstract{This is a high-level explanation of the point of this research.}
\keywords{earth; wind; fire}
\dedication{To the one who loves me most.}
\acknowledgments{I would like to thank the entire committee for your great
support.}
% ----------------------------------------------
% SF 298 (Report Documentation Page) information
% ----------------------------------------------
\sfReportDate{21-09-2023}
\sfReportType{Master's Thesis}
\sfStartDate{Sep 2023}
\sfEndDate{Oct 2023}
\sfContractNumber{XXXXXX-XX-X-XXXX}
\sfGrantNumber{}
\sfProgramElementNumber{}
\sfProjectNumber{XXXXXXXX}
\sfTaskNumber{}
\sfWorkUnitNumber{}
\sfSponsorAgency{AFXX/XXXX\\
Building XXX, WPAFB OH 45433-7765\\
DSN XXX-XXXX, COMM 937-XXX-XXXX, Email: first.last@us.af.mil }
\sfSponsorAcronyms{}
\sfSponsorReportNumber{}
\sfSupplementaryNotes{}
\sfAbstract{Summarized version of your abstract.}
\sfReportClassification{}
\sfAbstractClassification{}
\sfPageClassification{}
\sfAbstractLimitation{UU}
\sfResponsiblePerson{Dr. Your Advisor, AFIT/ENG}
\sfPhoneNumber{(937) XXX-XXXX}
% ------------
% Bibliography
% ------------
\usepackage[style=apa]{biblatex} % better bibliographies
% The bibliographic data can be written in your main file here or as a separate
% file (without the `filecontents` environment).
\begin{filecontents}{refs.bib}
@article{poor1989,
author = {W. A. Poor},
title = {A Geometric Description of Wander Azimuth Frames},
journal = {Journal of the Institute of Navigation},
year = {1989},
volume = {36},
number = {3}
}
@book{savage2000,
author = {P. G. Savage},
title = {Strapdown Analytics II, Part 1},
publisher = {Strapdown Associates},
year = {2000}
}
@article{savage2015,
author = {P. G. Savage},
title = {Computational Elements For Strapdown Systems},
journal = {Strapdown Associates, Inc.},
year = {2015}
}
\end{filecontents}
% Point to the bibliographic information, in this example created above.
\addbibresource{refs.bib}
% ----------------
% Document content
% ----------------
\begin{document}
\maketitle % This command will create all the prefatory pages.
% --------------------
\chapter{Introduction}
\section{AFIT Style Guide, \LaTeX\ Help, and Slides}
This thesis and dissertation template follows the latest
\href{https://scholar.afit.edu/docs/24/}{AFIT Style Guide}. If you need help
with writing \LaTeX~code, refer to the
\href{https://gitlab.com/davidwoodburn/latex-primer}{\LaTeX\ Primer} by David
Woodburn.
Once you have written your thesis, you will likely also need to create a
presentation. Rather than converting your content into a
PowerPoint\texttrademark-friendly format, you can also create a pdf-based slide
presentation using \LaTeX. The template for this can be found on
\href{https://www.overleaf.com/latex/templates}{Overleaf.com} as ``AFIT Defense
Template''.
\section{Class Option}
The \verb|afitthesis| class can take the font size as an option: \verb|10pt|,
\verb|11pt|, or \verb|12pt|. The default is \verb|11pt|.
\section{Document Variables}
Rather than having to type your name or the title of the thesis (or
dissertation) over and over, you instead need to write them once as the inputs
to the following macros:
\begin{verbatim}
\title{} \address{}
\author{} \distribution{}
\rank{} \disclaimer{}
\previousdegrees{} \copyrightstatement{}
\newdegree{} \committee{{name\\Chair}, {name\\Member}}
\graduationdate{} \abstract{}
\department{} \keywords{}
\doctype{} \dedication{}
\docdesignator{} \acknowledgments{}
\end{verbatim}
The \verb|\doctype{}| should be one of \verb|thesis|, \verb|dissertation|, or
\verb|graduate research paper|. Several of these variables already have default
values if you do not define them yourself. Note that the \verb|\committee| is a
list of people and their roles. Each should be encased in braces. The
\verb|\keywords| should be a semicolon-delimited list of keywords (maximum of 3)
for your document. If you have more than one author for your document, you can
define additional authors and their ranks using the following commands:
\begin{verbatim}
\authorsecond{} \ranksecond{}
\authorthird{} \rankthird{}
\authorfourth{} \rankfourth{}
\end{verbatim}
\section{Standard Form 298}
All theses and dissertations must be accompanied by a Standard Form 298. This
\LaTeX\ class file has an updated 2020 version of the form builtin. The form
can also be downloaded from
\url{https://www.gsa.gov/forms-library/report-documentation-page}. Note, the
instructions for this form can also be found there. To add the form to your
paper, the last command before \verb|\end{document}| should be
\verb|\sfTwoNineEight|. To fill in the fields of this form, use the following
commands:
\begin{verbatim}
\sfReportDate{} \sfSponsorAgency{}
\sfReportType{} \sfSponsorAcronyms{}
\sfStartDate{} \sfSponsorReportNumber{}
\sfEndDate{} \sfAbstract{}
\sfContractNumber{} \sfReportClassification{}
\sfGrantNumber{} \sfAbstractClassification{}
\sfProgramElementNumber{} \sfPageClassification{}
\sfProjectNumber{} \sfAbstractLimitation{}
\sfTaskNumber{} \sfResponsiblePerson{}
\sfWorkUnitNumber{} \sfPhoneNumber{}
\end{verbatim}
The rest of the needed information is automatically retrieved from the document
variables: \verb|\title|, \verb|\author|, etc. However, you can override those
definitions with the following commands:
\begin{verbatim}
\sfTitle{} \sfDocDesignator{}
\sfRank{} \sfDistribution{}
\sfAddress{} \sfSubjectTerms{}
\sfPageCount{}
\end{verbatim}
\section{Prefatory Lists}
If your document has figures, tables, or algorithms, a corresponding list will
be created for you at the beginning of the document. You do not need to specify
this yourself with a command like \verb|\listoffigures|. This automation,
however, does sometimes require multiple compilations.
\section{Content Location}
Any content (like chapters) can be moved into their own files and then included
into your main document using the \verb|\input{filename.tex}| command. You do
not have to keep all your content in one file!
You can put all your figures into a subfolder and then tell \LaTeX\ where to
look for figures by using the \verb|\graphicspath{{ }}| command, where the
folder name (e.g., \verb|figs/|) would go inside the \emph{double} braces.
\section{Equations}
Table~\ref{tab_macros} is a list of math commands that have been added to this
document class for your convenience.
\begin{table}[htbp!]
\centering
\caption{List of convenience macros.}
\label{tab_macros}
\renewcommand{\arraystretch}{1.3}\smallskip
\begin{tabular}{l|c|l}
\hline\hline
Code & Symbol & Description \\
\hline
\verb|\ul{a}| & $\ul{a}$ & vector \\
\verb|\bm{A}| & $\bm{A}$ & matrix \\
\verb|\EE{2.7}{-3}| & $\EE{2.7}{-3}$ & scientific notation value \\
\verb|\diff{y}{x}| & $\diff{y}{x}$ & derivative \\
\verb|\piff{y}{x}| & $\piff{y}{x}$ & partial derivative \\
\verb|\abs{a}| & $\abs{a}$ & absolute value \\
\verb|\norm{\ul{a}}| & $\norm{\ul{a}}$ & norm of vector \\
\verb|\ssm{\ul{a}}| & $\ssm{\ul{a}}$ & skew-symmetric matrix \\
\verb|\upc[x]| & $\upc[x]$ & abbreviated cosine \\
\verb|\ups[x]| & $\ups[x]$ & abbreviated sine \\
\verb|\upt[x]| & $\upt[x]$ & abbreviated tangent \\
\verb|\upd| & $\upd$ & differential operator \\
\verb|\upi| & $\upi$ & imaginary number \\
\verb|\upj| & $\upj$ & second basic quaternion \\
\verb|\upk| & $\upk$ & third basic quaternion \\
\verb|\upe| & $\upe$ & Euler's number (2.718\dots) \\
\verb|\PI| & $\PI$ & Archimedes' constant (3.141\dots) \\
\verb|\argmax| & $\argmax$ & argument of maximum \\
\verb|\argmin| & $\argmin$ & argument of minimum \\
\verb|\tr| & $\tr$ & trace of matrix \\
\verb|\adj| & $\adj$ & adjugate of matrix \\
\verb|\sgn| & $\sgn$ & sign of expression \\
\verb|\micro| & \micro & $10^{-6}$ SI prefix, as in \micro s \\
\hline\hline
\end{tabular}
\medskip\parbox{10.5cm}{The \textbackslash \texttt{PI} ($\PI$) macro
differs from \textbackslash \texttt{pi} ($\pi$). Constants should be
upright and variables should be italicized. Since the builtin
\textbackslash \texttt{pi} ($\pi$) is italicized, \textbackslash
\texttt{PI} ($\PI$) was created. Note that \textbackslash \texttt{micro}
does not have to be within a math environment.}
\end{table}
\section{Figures}
Your figures should be clear and easy to understand (see Fig.~\ref{fig_first}).
Avoid pixelated figures and text that is too small to read. To prevent
pixelation, it is generally a good idea to save your figures as pdf images. This
is one excellent reason to use \LaTeX\ instead of Word, because Word cannot
handle vector images. \emph{Please note that for pdf images to load correctly,
you need to use the pdfLaTeX compiler, not the LaTeX compiler.} In Python (using
MatPlotLib) you can use the \verb|savefig| command to save your figure as a pdf.
Take care to make sure the image is not so large compared to the font size that
when it is inserted into your paper, the text is hard to read. Sadly, saving a
figure in MATLAB as a pdf is not as easy. While there is an option, the
resulting figure will be a full page with your image in the middle and large
margins all around. To resolve this you need a few commands. First, you should
set the margins and size of your figure:
\begin{matlab}
set(gcf, 'units', 'centimeters', 'position', ...
[0, 0, width, height])
\end{matlab}
For two-column documents, a width of 8.636~cm (3.4~in.) is a good choice. For a
thesis, a width of 15.24~cm (6~in.) is recommended. You might want to set the
font size and type too:
\begin{matlab}[3]
set(gca, 'FontSize', 9);
set(gca, 'FontName', 'Times New Roman');
\end{matlab}
Finally, you need to export the graphic to a file:
\begin{matlab}[5]
exportgraphics(gcf, 'fig_plot.pdf', 'ContentType', 'vector');
\end{matlab}
When you place your figure, make sure to put the captions \emph{below} the
figure.
\begin{figure}[htbp!]
\centering
\begin{tikzpicture}
\begin{axis}[
xlabel={Time, $t$ (s)},
ylabel={Amplitude},
grid=both, grid style={gray!25},
axis lines=left,
xmin=-180, xmax=180,
width=5in, height=3in,
font=\footnotesize,
legend style={at={(1,0.01)}, anchor=south east}]
\addplot[azure, line width=1pt, domain=-180:180, samples=60]
{cos(x) + 0.1*cos(3*x)};
\addplot[lime, line width=1pt, domain=-180:180, samples=60]
{sin(x)};
\legend{{Voltage (V)}, {Current (A)}};
\end{axis}
\end{tikzpicture}
\caption{This is a figure.}
\label{fig_first}
\end{figure}
\section{Tables}
Make sure to put table captions \emph{above} the table (see
Table~\ref{tab_test}).
\begin{table}[htbp!]
\centering
\caption{This is a table with left alignment for the first column and center
alignment for the rest of the columns.}
\begin{tabular}{l|ccc}
\hline \hline
Unit & pt & cm & in \\
\hline
pt & 1.0 & 28.45274 & 72.26999 \\
cm & 0.03514 & 1.0 & 2.54 \\
in & 0.01384 & 0.3937 & 1.0 \\
\hline \hline
\end{tabular}
\label{tab_test}
\end{table}
\section{Code and Pseudocode}
If you have code you wrote or used for your thesis, generally you should not
show the actual code. Some readers might not be familiar with the particular
programming language you are using and often showing explicit code gets too much
into the details of the language. Rather, use pseudocode with math expressions
where appropriate. For this, use the \verb|pseudocode| environment. Keywords
like \verb|if|, \verb|then|, \verb|else|, \verb|while|, and \verb|function| will
be automatically formatted in bold. The reason for using the left arrow
(\verb|\gets|) instead of an equals sign is that an equals sign implies that at
all points in a flow of equations the equality is true, whereas the left arrow
implies that the equality is only necessarily true at that point in the
algorithm and henceforth until it is redefined.
If you want to be able to cite the pseudocode, wrap the \verb|pseudocode|
environment in an \verb|algorithm| environment, just like a \verb|tabular|
environment within a \verb|table| environment. An example algorithm is shown in
Algorithm~\ref{alg_example}.
\begin{algorithm}
\caption{This is some pseudocode.}
\begin{pseudocode}
function factorial($N$)
print "Calculating factorial ..."
$x \gets 1$
for $n$ in $1$ to $N$
$x \gets x \cdot n$
end for
return $x$
end function
\end{pseudocode}
\label{alg_example}
\end{algorithm}
If for some reason, you really need to put actual computer code into your paper,
the \verb|python|, \verb|matlab|, and \verb|rlang| environments have been
created for you. These will automatically syntactically highlight the source
code. You can control the starting line number by using the optional parameter:
\verb|\begin{matlab}[7]|.
You can also have \LaTeX\ read the source code directly from another file. The
commands are
\begin{center}\singlespace
\begin{tabular}{l|l}
Python & \verb|\inputpython{file.py}{1}{6}| \\
MATLAB & \verb|\inputmatlab{file.m}{1}{6}| \\
R & \verb|\inputrlang{file.r}{1}{6}|
\end{tabular}
\end{center}
\smallskip The first parameter is the name of the file to read the code from.
The second parameter is first line to read, and the third parameter is the
last line to read.
You can also include small code expressions in a paragraph using a command
similar to the \LaTeX-builtin \verb|\verb| command. For Python, write the
\verb|\py| command followed by a character like `\verb+|+', the text, and then
the same character. So, \verb+\py|np.array(["A", 1.5])|+ will produce
\py|np.array(["A", 1.5])|. For MATLAB, the command is \verb|\mat| and for R it
is \verb|\rlng|.
\section{Including PDF Pages}
If you need to insert whole pages from some other pdf document, use the
\verb|\includepdf| command. To include specific pages, use a comma-separated
list:
\begin{verbatim}
\includepdf[pages={2,3,5}]{paper.pdf}
\end{verbatim}
To insert a range of pages, use a dash:
\begin{verbatim}
\includepdf[pages={2-5}]{paper.pdf}
\end{verbatim}
To insert the whole document, drop the braces and just use a dash:
\begin{verbatim}
\includepdf[pages=-]{paper.pdf}
\end{verbatim}
\section{Citation}
The AFIT Style Guide permits any standard style for citations, like IEEE or APA.
It is recommended you use \verb|.bib| files for your bibliographic information.
Refer to
\url{https://www.overleaf.com/learn/latex/Bibliography_management_with_biblatex}
for guidance. The default citation style here is APA. To cite a reference, use
the \verb|\parencite{}| command. If you have multiple things to cite together,
use the command once and separate the references with commas. So, the command
\begin{verbatim}
\parencite{poor1989, savage2000, savage2015}
\end{verbatim}
would produce \parencite{poor1989, savage2000, savage2015}.
In order to give you full flexibility, the bibliography feature is not built
into the template. Rather, the code is near the beginning of this document. If
you would prefer to use the IEEE style, change the
\verb|\usepackage| command to
\begin{verbatim}
\usepackage[style=ieee]{biblatex}
\end{verbatim}
The following command reads in the bibliography data from a separate file:
\begin{verbatim}
\addbibresource{refs.bib}
\end{verbatim}
In this template, that data is actually stored inline, and there is no
\verb|refs.bib| file, but you will probably want to make that a separate file
for your actual thesis.
Finally the \verb|\printbibliography| command near the end of the document
actually generates the bibliography.
% -------------------------
\chapter{Literature Review}
% -------------------
\chapter{Methodology}
% ----------------------------
\chapter{Results and Analysis}
% ------------------
\chapter{Conclusion}
\appendix % This command is necessary before any appendix chapters.
% --------------------------------- optional -----------------------------------
\chapter{List of Acronyms}
\section{Section}
\subsection{Subsection}
If you wish, you can use more complicated methods for acronyms, such as the
glossaries package. However, simply defining a macro for a name can be
sufficient:
\begin{verbatim}
\def\afit{Air Force Institute of Technology}
\end{verbatim}\vspace{-1em}
Then, when you need to list all your acronyms, simply make a table, referencing
your list of defined acronyms. The AFIT Style Guide permits putting your lists
of acronyms, symbols, and such into the appendices section of your paper.
% ------------------------------- bibliography ---------------------------------
\printbibliography
% --------------------------------- optional -----------------------------------
\begin{vita}
If you are adding a description about yourself. Use the \verb|vita|
environment. Keep the contents to one page. If for some reason there is
more than one author contributing to this paper, each author should have a
separate page.
\end{vita}
% ---------------------------- Standard Form 298 -------------------------------
\sfTwoNineEight
\end{document}