diff --git a/Chapters/00Abstract.tex b/Chapters/00Abstract.tex new file mode 100644 index 0000000..6cd0573 --- /dev/null +++ b/Chapters/00Abstract.tex @@ -0,0 +1,5 @@ +\renewcommand{\abstractname}{\vspace{-\baselineskip}} % https://tex.stackexchange.com/questions/42482/remove-abstract-title-from-abstract +\begin{abstract} \bfseries + +These instructions give you guidelines for preparing papers for AIAA Technical Papers using \LaTeX{}. Define all symbols used in the abstract. Do not cite references in the abstract. The footnote on the first page should list the Job Title and AIAA Member Grade for each author, if known Authors do not have to be AIAA members. +\end{abstract} \ No newline at end of file diff --git a/Chapters/01Nomenclature.tex b/Chapters/01Nomenclature.tex new file mode 100644 index 0000000..64283a8 --- /dev/null +++ b/Chapters/01Nomenclature.tex @@ -0,0 +1,137 @@ +%%% Nomenclature Code +% incorporate https://tex.stackexchange.com/questions/112884/how-to-achieve-nomenclature-entries-like-symbol-description-dimension-and-uni + +\newcommand{\DimensUnits}[2]{\hfill\makebox[8em]{#1\hfill}% +\makebox[5em]{#2\hfill}\ignorespaces} % first number related to 'dimensions' box size, second number related to 'units' box size +\newcommand{\DefinitionCol}[1]{\hfill\parbox[t]{13em}{#1}\ignorespaces} % number related to 'definition' box size + + +\newcommand{\nomsubtitle}[1]{\item[\Large\bfseries #1]} +\renewcommand\nomgroup[1]{% +\itemsep0pt % just disable this line if you do not want spacing +\vspace{10pt} +\def\nomtemp{\csname nomstart#1\endcsname}\nomtemp +} + +\newcommand{\nomstartA}{\nomsubtitle{Acronyms}% + \item[\bfseries Symbol]\textbf{Description}} +\newcommand{\nomstartD}{\nomsubtitle{Dimensionless numbers}% + \item[\bfseries Symbol]\textbf{Description}\DefinitionCol{\textbf{Definition}}} + +\newcommand{\nomstartR}{\nomsubtitle{Latin symbols}% % R for Roman + \item[\bfseries Symbol]% + \textbf{Description}\DimensUnits{\textbf{Dimensions}}{\textbf{Units}}} +\newcommand{\nomstartG}{\nomsubtitle{Greek symbols}% + \item[\bfseries Symbol]% + \textbf{Description}\DimensUnits{\textbf{Dimensions}}{\textbf{Units}}} + +\newcommand{\nomstartS}{\nomsubtitle{Superscripts}% + \item[\bfseries Symbol]\textbf{Description}} +\newcommand{\nomstartU}{\nomsubtitle{Subscripts}% + \item[\bfseries Symbol]\textbf{Description}} + +\renewcommand*{\nompreamble}{ +\markboth{\nomname}{\nomname} +%\begin{multicols*}{2} +} +\renewcommand{\nompostamble}{}%\end{multicols*}} + +\newcommand{\nomdescr}[1]{\parbox[t]{8cm}{\RaggedRight #1}} % the cm box changes the size of the description box +\newcommand{\nomwithdim}[5]{\nomenclature[#1]{#2}% +{\nomdescr{#3}\DimensUnits{#4}{#5}}} + +\newcommand{\nomtypeA}[3][]{\nomenclature[A#1]{#2}{#3}} +\newcommand{\nomtypeD}[4][]{\nomenclature[D#1]{#2}{\nomdescr{#3}\DefinitionCol{#4}}} +\newcommand{\nomtypeR}[5][]{\nomwithdim{R#1}{#2}{#3}{#4}{#5}} +\newcommand{\nomtypeG}[5][]{\nomwithdim{G#1}{#2}{#3}{#4}{#5}} +\newcommand{\nomtypeS}[3][]{\nomenclature[S#1]{#2}{#3}} +\newcommand{\nomtypeU}[3][]{\nomenclature[U#1]{#2}{#3}} +\makenomenclature + +\mbox{} + +%%% NOMENCLATURE GOES BELOW +% Dimensions based on https://www.ldeo.columbia.edu/~martins/hydro/case_studies/units_dimensions.html +\newcommand{\Lunit}{\textrm{L}} % length unit for MLT system +\newcommand{\Munit}{\textrm{M}} % mass unit for MLT system +\newcommand{\Tunit}{\textrm{T}} % time unit for MLT system +\newcommand{\Qunit}{\textrm{Q}} % temperature unit for MLT system + +% ADD ACRONYMS HERE +\nomtypeA{ROI}{Reality of interest} +\nomtypeA{BEM}{Blade element momentum theory} +\nomtypeA{RPM}{Revolutions per minute} +\nomtypeA{tol}{Tolerance} +\nomtypeA{TUI}{Text user interface} +\nomtypeA[ZZZ]{}{} % make sure to finish off with this, fixes small issue with spacing on the last line + +% ADD DIMENSIONLESS NUMBERS HERE +\nomtypeD{\( \Re \)}{Reynolds number}{\(\displaystyle \frac{U L}{\nu} \)} +\nomtypeD[ZZZ]{}{}{} % make sure to finish off with this, fixes small issue with spacing on the last line + +% ADD GREEK SYMBOLS HERE +\nomtypeG{\( \gamma \)} {Yaw angle}{--}{\si{\degree}} +\nomtypeG{\( \chi \)} {Wake skew angle}{--}{\si{\degree}} +\nomtypeG{\( \psi \)} {Azimuthal angle}{--}{\si{\degree}} +\nomtypeG{\( \phi \)} {Inflow angle}{--}{\si{\degree}} +\nomtypeG{\( \alpha \)} {Angle of attack}{--}{\si{\degree}} +\nomtypeG{\( \beta \)} {Blade twist angle}{--}{\si{\degree}} +\nomtypeG{\( \theta \)} {Collective pitch angle}{--}{\si{\degree}} +\nomtypeG{\( \epsilon \)}{Error}{--}{--} +\nomtypeG{\( \mu \)} {Normalized radial position}{--}{--} +\nomtypeG{\( \rho \)} {Air density}{\( \Munit\Lunit^{-3} \)}{\si{\kilogram\per\meter\cubed}} +\nomtypeG{\( \Omega \)} {Radial velocity}{\( \Tunit^{-1} \)}{\si{\radian\per\second}} +\nomtypeG{\( \omega \)} {Vorticity}{\( \Tunit^{-1} \)}{\si{\per\second}} +\nomtypeG{\( \sigma_r \)} {Blade solidity}{--}{--} +\nomtypeG{\( \Gamma \)} {Circulation}{\( \Lunit^{2} \Tunit^{-1} \)}{\si{ \meter \squared \per \second}} +\nomtypeG{\( \lambda \)} {Tip speed ratio}{--}{--} +\nomtypeG[ZZZ]{}{}{}{} % make sure to finish off with this, fixes small issue with spacing on the last line + +% ADD ROMAN SYMBOLS HERE +\nomtypeR{\( U_{\infty} \)}{Free-stream velocity}{\( \Lunit\Tunit^{-1} \)}{\si{\meter\per\second}} +\nomtypeR{\( V_{a} \)} {Axial velocity}{\( \Lunit\Tunit^{-1} \)}{\si{\meter\per\second}} +\nomtypeR{\( V_{t} \)} {Tangential velocity}{\( \Lunit\Tunit^{-1} \)}{\si{\meter\per\second}} +\nomtypeR{\( W \)} {Total effective velocity}{\( \Lunit\Tunit^{-1} \)}{\si{\meter\per\second}} +\nomtypeR{\( L \)} {Lift}{\( \Munit\Lunit\Tunit^{-2} \)}{\si{\newton}} +\nomtypeR{\( F \)} {Force}{\( \Munit\Lunit\Tunit^{-2} \)}{\si{\newton}} +\nomtypeR{\( D \)} {Drag}{\( \Munit\Lunit\Tunit^{-2} \)}{\si{\newton}} +\nomtypeR{\( C_p \)} {Power coefficient}{--}{--} +\nomtypeR{\( C_T \)} {Thrust coefficient}{--}{--} +\nomtypeR{\( C_l \)} {Sectional lift coefficient}{--}{--} +\nomtypeR{\( C_d \)} {Sectional drag coefficient}{--}{--} +\nomtypeR{\( a \)} {Axial induction factor}{--}{--} +\nomtypeR{\( a' \)} {Azimuthal induction factor}{--}{--} +\nomtypeR{\( h \)} {ISA altitude}{\( \Lunit \)}{\si{\meter}} +\nomtypeR{\( p \)} {Static pressure}{\( \Munit\Lunit^{-1}\Tunit^{-2} \)}{\si{\pascal}} +\nomtypeR{\( T \)} {Static temperature}{\( \Qunit \)}{\si{\kelvin}} +\nomtypeR{\( N_b \)} {Number of blades}{--}{--} +\nomtypeR{\( C_v \)} {Specific volumetric heat capacity}{\( \Lunit^2\Qunit^{-1}\Tunit^{-2} \)}{\si{\joule\per\kilogram\per \kelvin}} +\nomtypeR{\( N_r \)} {Number of annuli elements}{--}{--} +\nomtypeR{\( N_{\psi} \)}{Number of azimuthal elements}{--}{--} +\nomtypeR{\( c \)} {Chord length}{\( \Lunit \)}{\si{\meter}} +\nomtypeR{\( A \)} {Surface area}{\( \Lunit^2 \)}{\si{\meter\squared}} +\nomtypeR{\( t \)} {Time}{\( \Tunit \)}{\si{\second}} +\nomtypeR{\( n \)} {Rotational velocity}{\( \Tunit^{-1} \)}{\si{\per\second}} +\nomtypeR{\( P \)} {Power}{\( \Munit\Lunit^2\Tunit^{-3} \)}{\si{\watt}} +\nomtypeR{\( Q \)} {Torque}{\( \Munit\Lunit^2\Tunit^{-2} \)}{\si{\newton\meter}} +\nomtypeR{\( D \)} {Rotor diameter}{\( \Lunit \)}{\si{\meter}} +\nomtypeR{\( f \)} {Prandtl root/tip correction factor}{--}{--} +\nomtypeR{\( h \)} {Specific stagnation enthalpy}{\( \Lunit^{2}\Tunit^{-2} \)}{\si{\joule\per\kilogram}} +\nomtypeR{\( r \)} {Radial position}{\( \Lunit \)}{\si{\meter}} +\nomtypeR[ZZZ]{}{}{}{} % make sure to finish off with this, fixes small issue with spacing on the last line + +% ADD SUPERSCRIPTS HERE +\nomtypeS{\( n \)}{time step} +\nomtypeS[ZZZ]{}{} % make sure to finish off with this, fixes small issue with spacing on the last line + +% ADD SUBSCRIPTS HERE +\nomtypeU{\( \infty \)}{free stream} +\nomtypeU{\( \textrm{disk} \)}{Rotor disk} +\nomtypeU{\( \textrm{0} \)}{Disk averaged} +\nomtypeU{\( \bar{\psi} \)}{Azimuthal averaged} +\nomtypeU{\( x \)}{$x$-direction} +\nomtypeU{\( y \)}{$y$-direction} +\nomtypeU[ZZZ]{}{} % make sure to finish off with this, fixes small issue with spacing on the last line + +\printnomenclature[6em] % change spacing between symbol and description +\newpage \ No newline at end of file diff --git a/Chapters/02Introduction.tex b/Chapters/02Introduction.tex new file mode 100644 index 0000000..a3604fd --- /dev/null +++ b/Chapters/02Introduction.tex @@ -0,0 +1,181 @@ +\chapter{Introduction} + +WORK IN PROGRESS + +This template + +when there exists an author with last name prefix of 'van', use the \textbackslash VAN command , and follow it up with a \textasciitilde (see reference for example) + + +\citet*{Allen2002} + +\citet*{Bettini2021} + +\citet*{Eitelberg2020} + +\citet*{Sinnige2020} + +\citet*{Herrez2016} + + +\chapter{Examples} + +\section{Tables} + +\subsection{tabularx} + +\begingroup +\renewcommand\tabularxcolumn[1]{m{#1}} % https://latex.org/forum/viewtopic.php?t=32433 + +\begin{minipage}[t]{0.48\textwidth} +\begin{table}[H] + \centering + \caption{Fuselage geometry \cite[Tab.~4]{Bettini2021}} + \label{tab:fuselage_geom} + {\footnotesize + \begin{tabularx}{\textwidth}[t]{X|rl} \toprule + \multicolumn{1}{c|}{\textbf{Parameter}} & + \multicolumn{2}{c}{\textbf{Value}} \\ \midrule + Length & 1.342 & \si{\meter} \\ + Diameter & 0.140 & \si{\meter} \\ + Volume & 0.0160632 & \si{\meter\cubed} \\ + Volume of aft support strut (estimate) & 0.0004491 & \si{\meter\cubed} \\ + Volume of wing support struts (estimate for both struts together) & 0.0035296 & \si{\meter\cubed} \\ \bottomrule + \end{tabularx} + } +\end{table} +\end{minipage} +\hfill +\begin{minipage}[t]{0.48\textwidth} +\begin{table}[H] + \centering + \caption{Propeller geometry \cite[Tab.~8]{Bettini2021}} + \label{tab:prop_geom} + {\footnotesize + \begin{tabularx}{\textwidth}[t]{X|rl} \toprule + \multicolumn{1}{c|}{\textbf{Parameter}} & + \multicolumn{2}{c}{\textbf{Value}} \\ \midrule + Number of blades & 6 & \\ + Diameter & 0.2032 & \si{\meter} \\ + Pitch angle at $r/R = 0.7$ & 45 & deg \\ + Rotation direction (from rear) & CW & 2x \\ + & CCW & 1x \\ \bottomrule + \end{tabularx} + } +\end{table} +\end{minipage} + +\begin{table}[H] +\caption{Wing geometry \cite[Tab.~5]{Bettini2021}} +\label{tab:wing_geom} + \begin{subtable}[t]{0.48\textwidth} + \centering + {\footnotesize + \begin{tabularx}{\textwidth}[t]{X|rl} \toprule + \multicolumn{1}{c|}{\textbf{Parameter}} & + \multicolumn{2}{c}{\textbf{Value}} \\ \midrule + Span & 1.397 & \si{\meter} \\ + Area & 0.2172 & \si{\meter\squared} \\ + Mean aerodynamic chord & 0.165 & \si{\meter} \\ + Aspect ratio & 8.98 & \\ + Taper ratio & 0.40 & \\ + Sweep angle at $0.25c$ & 0 & deg \\ + Incidence angle & 0 & deg \\ + Dihedral angle & 4 & deg \\ + Twist & 2 & deg \\ \bottomrule + \end{tabularx} + } + \end{subtable} + \hfill + \begin{subtable}[t]{0.48\textwidth} + \centering + {\footnotesize + \begin{tabularx}{\textwidth}[t]{X|rl} \toprule + \multicolumn{1}{c|}{\textbf{Parameter}} & + \multicolumn{2}{c}{\textbf{Value}} \\ \midrule + Airfoil (constant over span) & DU 96-150 & \\ + Aileron span & 0.197 & \si{\meter} \\ + Aileron spanwise position & 0.71 < y/(b/2) < 0.99 & \\ + Aileron chord & 0.029 & \si{\meter} \\ + Flap span (per side) & 0.369 & \si{\meter} \\ + Flap chord & 0.060 & \si{\meter} \\ + Wing $0.25c$ from fuselage nose & 0.680 & \si{\meter} \\ + Volume & 0.0030229 & \si{\meter\cubed} \\ \bottomrule + \end{tabularx} + } + \end{subtable} +\end{table} + +\endgroup + + +\section{Graphs} + +\subsection{subfigures} +\begin{figure}[H] + \centering + \begin{subfigure}[t]{0.48\textwidth} + \centering + \includegraphics[width=1.0\textwidth]{Images/graph.jpg} + \caption{graph 1} + \label{subfig:graph1} + \end{subfigure} + \hfill + \begin{subfigure}[t]{0.48\textwidth} + \centering + \includegraphics[width=1.0\textwidth]{Images/graph.jpg} + \caption{graph 2} + \label{subfig:graph2} + \end{subfigure} + \bigskip + \begin{subfigure}[t]{0.48\textwidth} + \centering + \includegraphics[width=1.0\textwidth]{Images/graph.jpg} + \caption{graph 3 help help help help help help help help help help help help help} + \label{subfig:graph3} + \end{subfigure} + \hfill + \begin{subfigure}[t]{0.48\textwidth} + \centering + \includegraphics[width=1.0\textwidth]{Images/graph.jpg} + \caption{graph 4} + \label{subfig:graph4} + \end{subfigure} + \caption{graphs (subfigures)} + \label{fig:graph_subfigures} +\end{figure} + +\subsection{Continued float} +\begin{figure}[H] + \centering + \begin{subfigure}[t]{0.48\textwidth} + \centering + \includegraphics[width=1.0\textwidth]{Images/graph.jpg} + \caption{graph 5} + \label{subfig:graph5} + \end{subfigure} + \hfill + \begin{subfigure}[t]{0.48\textwidth} + \centering + \includegraphics[width=1.0\textwidth]{Images/graph.jpg} + \caption{graph 6} + \label{subfig:graph6} + \end{subfigure} +\end{figure}% +\begin{figure}[H]\ContinuedFloat + \begin{subfigure}[t]{0.48\textwidth} + \centering + \includegraphics[width=1.0\textwidth]{Images/graph.jpg} + \caption{graph 7} + \label{subfig:graph7} + \end{subfigure} + \hfill + \begin{subfigure}[t]{0.48\textwidth} + \centering + \includegraphics[width=1.0\textwidth]{Images/graph.jpg} + \caption{graph 8} + \label{subfig:graph8} + \end{subfigure} + \caption{graphs (continued float)} + \label{fig:graph_contfloat} +\end{figure} \ No newline at end of file diff --git a/Chapters/A_Appendix.tex b/Chapters/A_Appendix.tex new file mode 100644 index 0000000..0f06f39 --- /dev/null +++ b/Chapters/A_Appendix.tex @@ -0,0 +1,61 @@ +%% If your highest level are chapters, then use this line! +\newcommand\invisibleappendix[1]{ % makes an invisible appendix header! + \addcontentsline{toc}{chapter}{\protect{\thechapter}#1}% + \chaptermark{#1}} + +%% If your highest level are parts, then use this line below instead! +% \newcommand\invisibleappendix[1]{ % makes an invisible appendix header! +% \addcontentsline{toc}{part}{\protect{\thechapter}#1}% +% \chaptermark{#1}} + +\renewcommand{\thesection}{\Alph{section}} +\renewcommand{\thesubsection}{\Alph{section}.\arabic{subsection}} +\renewcommand{\sectionmark}[1]{\markboth{#1}{}} +\renewcommand{\subsectionmark}[1]{\markright{#1}} % If this was not enabled in the main file. + +\titleformat{\section} + {\Large\bfseries} + {Appendix \Huge{\thesection}\space}{5pt}{#1}[] +\titlespacing{\section}{0pt}{0.5\baselineskip}{0pt} + +\titleformat{\subsection} + {\bfseries} + {\thesubsection\space}{5pt}{#1}[] +\titlespacing{\section}{0pt}{0.5\baselineskip}{0pt} + +\newpage +\pagestyle{appendix} +\appendix +% \markboth{APPENDICES}{APPENDICES} % Solution to wrong header name provided in https://latex.org/forum/viewtopic.php?t=19574 +\invisibleappendix{Appendices} + +%%% GENERAL FORMAT OF APPENDICES: + +% \section{TEST} +% \startcontents[sections] +% \printcontents[sections]{l}{1}[2] +% DESCRIPTOR + +% \subsection{A} +% \subsection{B} + +% \stopcontents[sections] + +\section{Appendix First} +\label{app:AppendixFirst} + +\startcontents[sections] +\printcontents[sections]{l}{1}[2] + +blablablabla + +\newpage + +\invisiblesubsection{Appendix Second} +blabla + + + + + +\stopcontents[sections] \ No newline at end of file diff --git a/Images/graph.jpg b/Images/graph.jpg new file mode 100644 index 0000000..7b0921a Binary files /dev/null and b/Images/graph.jpg differ diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..ea07a9e --- /dev/null +++ b/main.tex @@ -0,0 +1,264 @@ +\documentclass[american]{personal} +% options: +% american, british -- load in modules with the appropriate language support + +%\usepackage[utf8]{inputenc} % already in the cls file +\usepackage{graphicx} % https://ctan.org/pkg/graphicx %% provides optional arguments to the \includegraphics command +\usepackage{tikz} % https://www.ctan.org/pkg/pgf %% TikZ manual found here, allows image drawing +\usepackage{bm} % https://ctan.org/pkg/bm %% more powerful package to provide bold symbol support (use \bm{} instead of \boldsymbol{}) +\usepackage[version=4]{mhchem} % https://ctan.org/pkg/mhchem?lang=en %% gives ability to implement chemical formulas via the \ce command +\usepackage{siunitx} % https://ctan.org/pkg/siunitx %% Provides SI unit control through the \SI{}{} command +%\usepackage{longtable} % https://ctan.org/pkg/longtable %% gives the longtable environment, which allows multiple pages! +%\usepackage{tabularx} % https://ctan.org/pkg/tabularx %% gives the tabularx environment, which allows multiple lines within a cell without super weird coding +\usepackage{xltabular} % https://ctan.org/pkg/xltabular %% Gives the functionality of both longtable + tabularx package together, check https://www.overleaf.com/latex/examples/a-longtable-plus-tabularx-example/rcrxtjbrvyft for an example of how it works. +% \usepackage{hyperref} % if you want to add external links to words, check userguide for info % already in the cls file +\usepackage{float} % https://ctan.org/pkg/float %% Allows figure forcing spots ([H], etc.) +\usepackage{multicol} % https://ctan.org/pkg/multicol %% useful for multiple column pages. \multicols gives a balanced output between each column, whereas \multicols* gives unbalanced. +\setlength{\columnsep}{1cm} +\usepackage{appendix} % https://ctan.org/pkg/appendix %% The appendix package provides various ways of formatting the titles of appendices. +%\usepackage{caption} % https://ctan.org/pkg/caption %% allows extensive control of captions. Does not come with subcaption (see Chap 6 of manual), already in cls file +\usepackage{subcaption} % https://ctan.org/pkg/subcaption %% provides subfigure/caption support i.e use: \begin{subfigure}{\textwidth} +\usepackage{array} % https://ctan.org/pkg/array %% gives more power to making tables! array provides many more utilities to making tables +\usepackage{multirow} % https://ctan.org/pkg/multirow %% centering of text over multiple rows for tables! +\usepackage{mathtools} % https://ctan.org/pkg/mathtools %% allows the use of \splitfrac{}{}, splitdfrac{}{} +%\usepackage[skip]{parskip} % https://ctan.org/pkg/parskip %% Changes from indentations to line skips between paragraphs % already included in the memoir class, use lines below instead +\nonzeroparskip +\setlength{\parindent}{0pt} +\usepackage{chngcntr} % https://ctan.org/pkg/chngcntr %% Change the resetting of counters by using \counterwithin (which sets up a counter to be reset when another is incremented) and \counterwithout (which unsets such a relationship). +\usepackage{wrapfig} % https://ctan.org/pkg/wrapfig %% allows the use of 'wrapfigure' environments +\usepackage{pdfpages} % https://ctan.org/pkg/pdfpages %% This package simplifies the inclusion of external multi-page PDF documents in LaTeX documents. +\usepackage{xcolor} % https://ctan.org/pkg/xcolor %% Provides easy driver-independent access to several kinds of color tints, shades, tones, and mixes of arbitrary colors. +\usepackage{colortbl} % https://www.ctan.org/pkg/colortbl %% The package allows rows and columns to be coloured, and even individual cells. +\usepackage{booktabs} % https://ctan.org/pkg/booktabs/ %% The package enhances the quality of tables in LaTeX +\usepackage[intoc,english]{nomencl} % https://www.ctan.org/pkg/nomencl %% use this to make nomenclature! +\usepackage{listings} % https://www.ctan.org/pkg/listings %% Use this for code +\usepackage{bigints} % https://www.ctan.org/pkg/bigints %% \bigintssss, \bigintsss, \bigintss, \bigints, and \bigint +\usepackage{cancel} % https://www.ctan.org/pkg/cancel %% A package to draw diagonal lines (“cancelling” a term) and arrows with limits (cancelling a term “to a value”) through parts of maths formulae +\usepackage{stackengine}% https://www.ctan.org/tex-archive/macros/latex/contrib/stackengine %% The stackengine package provides a versatile way to vertically stack objects in a variety of customizable ways. +%\usepackage{arydshln} % https://ctan.org/pkg/arydshln %% The package is to draw dash-lines in array/tabular environments. Horizontal lines are drawn by \hdashline and \cdashline while vertical ones can be specified as a part of the preamble using ‘:’. The shape of dash-lines may be controlled through style parameters or optional arguments. %% CONFLICT WITH BOOKTABS +\usepackage{pifont} % https://www.ctan.org/pkg/pifont %% The package provides commands for Pi fonts (Dingbats, Symbol, etc.); all commands assume you know the character number within the font of the symbol within the font. +\usepackage{ragged2e} % https://www.ctan.org/pkg/ragged2e %% The package defines new commands \Centering, \RaggedLeft, and \RaggedRight and new environments Center, FlushLeft, and FlushRight, which set ragged text and are easily configurable to allow hyphenation (the corresponding commands in LaTeX, all of whose names are lower-case, prevent hyphenation altogether) + + +%% Enable the following to display watermarks +% -------------------- +% \usepackage{draftwatermark} % https://www.ctan.org/pkg/draftwatermark %% Create watermarks for your file +% \SetWatermarkLightness{0.8} +% \SetWatermarkText{DRAFT} +% -------------------- + +%-- + +% Package fixes: +% -------------------- +\makeatletter % fix provided by https://tex.stackexchange.com/questions/522920/xltabular-breaking-booktabs +\def\@BTrule[#1]{% + \ifx\longtable\undefined + \let\@BTswitch\@BTnormal + \else\ifx\hline\LT@hline + \nobreak + \let\@BTswitch\@BLTrule + \else + \let\@BTswitch\@BTnormal + \fi\fi + \global\@thisrulewidth=#1\relax + \ifnum\@thisruleclass=\tw@\vskip\@aboverulesep\else + \ifnum\@lastruleclass=\z@\vskip\@aboverulesep\else + \ifnum\@lastruleclass=\@ne\vskip\doublerulesep\fi\fi\fi + \@BTswitch} +\makeatother + +% Code Settings +% -------------------- +\definecolor{dkgreen}{rgb}{0,0.6,0} +\definecolor{gray}{rgb}{0.5,0.5,0.5} +\definecolor{mauve}{rgb}{0.58,0,0.82} +% https://tex.stackexchange.com/questions/24528/having-problems-with-listings-and-utf-8-can-it-be-fixed +\lstset{ + frame=tb, + language=Python, + aboveskip=3mm, + belowskip=3mm, + showstringspaces=false, + columns=flexible, + basicstyle={\small\ttfamily}, + numbers=left, + numbersep=5pt, + numberstyle=\tiny\color{gray}, + keywordstyle=\color{blue}, + commentstyle=\color{dkgreen}, + stringstyle=\color{mauve}, + breaklines=true, + breakatwhitespace=false, + tabsize=3, + inputencoding=utf8, + extendedchars=true, + literate={á}{{\'a}}1 {ã}{{\~a}}1 {é}{{\'e}}1 {ü}{{\"u}}1, +} + +% Page style -- thanks to https://tex.stackexchange.com/questions/38446/memoir-headings#38449 and % https://alvinalexander.com/blog/post/latex/get-chapter-name-section-name-inheader-of-page-in-latex-document/ +% \nouppercaseheads +% -------------------- +\makepagestyle{mystyle} +\makeevenhead{mystyle}{\thepage}{}{\itshape\MakeUppercase{\leftmark}} +\makeoddhead{mystyle}{\itshape\MakeUppercase{\thesection~\rightmark}}{}{\thepage} +\makeevenfoot{mystyle}{}{}{} +\makeoddfoot{mystyle}{}{}{} +% \makepsmarks{mystyle}{% +% \createmark{chapter}{left}{nonumber}{}{}} + +\makepagestyle{appendix} +\makeevenhead{appendix}{\thepage}{}{\itshape\MakeUppercase{\leftmark}} +\makeoddhead{appendix}{\itshape\MakeUppercase{\getCurrentSectionNumber~\rightmark}}{}{\thepage} +\makeevenfoot{appendix}{}{}{} +\makeoddfoot{appendix}{}{}{} +% \makepsmarks{mystyle}{% +% \createmark{chapter}{left}{nonumber}{}{}} + +\makepagestyle{nomenclature} +\makeevenhead{nomenclature}{\thepage}{}{\itshape\MakeUppercase{\leftmark}} +\makeoddhead{nomenclature}{\itshape\MakeUppercase{\rightmark}}{}{\thepage} +\makeevenfoot{nomenclature}{}{}{} +\makeoddfoot{nomenclature}{}{}{} +% \makepsmarks{mystyle}{% +% \createmark{chapter}{left}{nonumber}{}{}} + +\renewcommand{\chaptermark}[1]{% +\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{% +\markright{#1}} +%\renewcommand{\subsectionmark}[1]{% +%\markright{#1}} + +% New Commands: +% -------------------- +% Table commands to add vertical spacing whenever you want in a table +\newcommand\Tstrut{\rule{0pt}{2.6ex}} % = `top' strut, adds spacing ABOVE the line it is placed at. Should be placed before the \\ +\newcommand\Bstrut{\rule[-2.6ex]{0pt}{0pt}} % = `bottom' strut, adds spacing BELOW the line it is placed at. Should be placed before the \\ +\newcommand{\NoLink}[1]{{\protect\NoHyper#1\protect\endNoHyper}} % Allows the use of \citeauthor without actually referencing back to the reference list, in case you want to just say the author's name. Example: \NoLink{\citeauthor{CoolKid2019}} +\newcommand\invisiblechapter[1]{ % makes an invisible chapter! + \refstepcounter{chapter}% + \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}% + \chaptermark{#1}} +\newcommand\invisiblesection[1]{ % makes an invisible section! + \refstepcounter{section}% + \addcontentsline{toc}{section}{\protect\numberline{\thesection}#1}% + \sectionmark{#1}} +\newcommand\invisiblesubsection[1]{% % makes an invisible subsection! + \refstepcounter{subsection}% + \addcontentsline{toc}{subsection}{\protect\numberline{\thesubsection}#1}% + \subsectionmark{#1}} + +\newcommand\diff[2][]{\mathrm{d}^{#1}{#2}} % creates a nth-order ordinary differential variable +\newcommand\pdiff[2][]{\partial^{#1}{#2}} % creates a nth-order partial differential variable +\newcommand\sdiff[2][]{\mathrm{D}^{#1}{#2}} % creates a nth-order substantial differential variable +\newcommand\deriv[3][]{ % creates a nth-order ordinary derivative +\frac{\diff[#1]{#2}}{\diff{#3}^{#1}} +} +\newcommand\pderiv[3][]{ % creates a nth-order partial derivative +\frac{\pdiff[#1]{#2}}{\pdiff{#3}^{#1}} +} +\newcommand\sderiv[3][]{ % creates a nth-order substantial derivative +\frac{\sdiff[#1]{#2}}{\sdiff{#3}^{#1}} +} +\newcommand\cderiv[3][]{\diff[#1]{}_{#3}{#2}} % creates a compact form nth-order ordinary derivative +\newcommand\cpderiv[3][]{\pdiff[#1]{}_{#3}{#2}} % creates a compact form nth-order partial derivative +\newcommand\csderiv[3][]{\sdiff[#1]{}_{#3}{#2}} % creates a compact form nth-order substantial derivative + +\newcommand\uVec[2]{\hat{\Vec{#1}}_{#2}} % creates a unit vector +\newcommand\uVecT[2]{\overline{\Vec{#1}}_{#2}} % creates a transformed unit vector +\newcommand\transpose{^\textsf{T}} % places in a transpose symbol + +%https://tex.stackexchange.com/questions/417310/double-bar-notation-for-second-order-tensors4 +\newcommand\barbelow[1]{\stackunder[1.6pt]{$#1$}% creates a bar below an object + {\rule{0.9ex}{.1ex}}} + +\newcommand{\grad}{ \barbelow{\nabla}} % \grad now includes bar below. +\newcommand{\curl}{ \barbelow{\nabla}\times} % \curl now includes bar below. + +%% Create typical dimensionless numbers used in fluid + heat transfer problems +\renewcommand{\Pr}{\mathrm{Pr}} % Prandtl number +\renewcommand{\Re}{\mathrm{Re}} % Reynolds number +\newcommand{\Fr}{\mathrm{Fr}} % Froude number +\newcommand{\Eu}{\mathrm{Eu}} % Euler number +\newcommand{\St}{\mathrm{St}} % Strouhal number +\newcommand{\Gr}{\mathrm{Gr}} % Grashof number +\newcommand{\Ma}{\mathrm{Ma}} % Mach number + +%% With Eulervm, no \therefore defined +% https://tex.stackexchange.com/questions/142551/how-to-put-therefore-and-implies-symbols +\newcommand{\therefore}{\dot{.\hspace{.055in}.}\hspace{.2in}} + +% Create delimiter environments (e.g floor(t) produces ⌊t⌋) +% -------------------- +% https://tex.stackexchange.com/questions/118173/how-to-write-ceil-and-floor-in-latex +\DeclarePairedDelimiter\ceil{\lceil}{\rceil} % Use ceil*{...} to produce big brackets +\DeclarePairedDelimiter\floor{\lfloor}{\rfloor} % Use floor*{...} to produce big brackets + +% Renew Commands: +% -------------------- +\renewcommand{\vec}[1]{ \barbelow{\bm{#1}} } % \vec to \bm combination +\renewcommand{\div}{ \barbelow{\nabla}\cdot} % \div now includes bar below. + +% Robust Commands: +% -------------------- +\DeclareRobustCommand{\VAN}[0]{Van} % Within text, authors with a van/Van prefix use Van within text, van outside text. + +% Useful Links: +% https://www.sciencedirect.com/science/article/pii/B9780080982854000042 - How to write a literature review +% http://web.mit.edu/rsi/www/pdfs/advmath.pdf - LaTeX Math Tools +% https://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics - More LaTeX Math Tools + +\openany % clears a single page instead of double for chapters % https://stackoverflow.com/questions/491904/how-do-i-remove-blank-pages-coming-between-two-chapters-in-appendix +\raggedbottom % makes text stop getting additional whitespace trying to stretch text vertically +\begin{document} +\sisetup{ detect-family, + detect-weight, + math-rm = \mathrm } + +\input{titlepage.tex} + +\newpage +\pagestyle{plain} +\setcounter{tocdepth}{3} +\tableofcontents +\newpage + +\listoffigures +\newpage +\listoftables +\pagestyle{mystyle} +% \newpage %% new page included due to the nomenclature package + +% Basically, reset counters every time you step into a new part of the report. Useful for when you have many many sections and you need to navigate quickly. Check the cls file for the numbering system. +\counterwithin*{equation}{section} +\counterwithin*{equation}{subsection} +\counterwithin*{equation}{subsubsection} +\counterwithin*{figure}{section} +\counterwithin*{figure}{subsection} +\counterwithin*{figure}{subsubsection} +\counterwithin*{table}{section} +\counterwithin*{table}{subsection} +\counterwithin*{table}{subsubsection} + +% Basically, creates new chapter numbering within a new part using the chngcntr package, this stops LaTeX from destroying the document outline when exporting, which is what happens when you \setcounter{chapter}{0} when the previous part had higher numbering. +\counterwithin*{chapter}{part} + +% \input{Chapters/00Abstract.tex} + +\pagestyle{nomenclature} +\input{Chapters/01Nomenclature.tex} +\pagestyle{mystyle} + +\input{Chapters/02Introduction.tex} + +\DeclareRobustCommand{\VAN}[0]{van} % Change from Van to van +% \printbibliography[title={Works Cited}, heading=bibintoc] +\renewcommand{\bibname}{Works Cited} +%\begin{multicols}{2}[\printbibheading] +\printbibliography%[heading=none] +%\end{multicols} + +\input{Chapters/A_Appendix.tex} + +\end{document} \ No newline at end of file diff --git a/personal.bst b/personal.bst new file mode 100644 index 0000000..4042288 --- /dev/null +++ b/personal.bst @@ -0,0 +1,1678 @@ +%% +%% This is file `new-aiaa.bst', +%% generated with the docstrip utility +%% and modified further by Overleaf for AIAA. +%% v1.1 2017/10/01 +%% +%% The original source files were: +%% +%% merlin-fixed.mbs (with options: `ay,nat,seq-no,nm-rev,jnrlst,keyxyr,dt-jnl,yr-com,aymth,note-yr,tit-qq,atit-u,thtit-a,vnum-nr,volp-com,jdt-pc,jwdpg,pp-last,jwdvol,num-xser,numser,ser-vol,ser-ed,pub-date,pub-xpar,pre-pub,doi,edpar,edby,blk-com,in-x,pp,ed,abr,ednx,ord,and-com,url,url-blk,nfss,') +%% ---------------------------------------- +%% *** New AIAA Bibliography Style *** +%% +%% Copyright 1994-2011 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "Vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "No." } + +FUNCTION {bbl.nr} +{ "No." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "Chap." } + +FUNCTION {bbl.chapters} +{ "Chaps." } + + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1\textsuperscript{st}" } + +FUNCTION {bbl.second} +{ "2\textsuperscript{nd}" } + +FUNCTION {bbl.third} +{ "3\textsuperscript{rd}" } + +FUNCTION {bbl.fourth} +{ "4\textsuperscript{th}" } + +FUNCTION {bbl.fifth} +{ "5\textsuperscript{th}" } + +FUNCTION {bbl.st} +{ "\textsuperscript{st}" } + +FUNCTION {bbl.nd} +{ "\textsuperscript{nd}" } + +FUNCTION {bbl.rd} +{ "\textsuperscript{rd}" } + +FUNCTION {bbl.th} +{ "\textsuperscript{th}" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.url} +{ + url + duplicate$ empty$ + { pop$ "" } + { "\urlprefix\url{" swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, f.}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + "," * + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { + + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.doi} +{ doi empty$ + { "" } + { + "\doi{" doi * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + "\enquote{" swap$ * + non.stop + { ",} " * } + { "} " * } + if$ + } + if$ +} +FUNCTION {end.quote.title} +{ title empty$ + 'skip$ + { before.all 'output.state := } + if$ +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ "" } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + month "month" bibinfo.check duplicate$ empty$ + 'skip$ + { + " " * swap$ + } + if$ + * + extra.label * + before.all 'output.state := + ", " swap$ * +} +FUNCTION{format.year} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + "; set to ????" * + warning$ + pop$ "????" + } + { + } + if$ + extra.label * + % "(" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ +% { emphasize ", " * swap$ * } + { ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * +% v1.1: uncouple year and pages +% format.year * ", " * + swap$ + n.dashify + pages multi.page.check + 'bbl.pages + 'bbl.page + if$ + swap$ tie.or.space.prefix + "pages" bibinfo.check + * * + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + bbl.volume swap$ tie.or.space.prefix + "volume" bibinfo.check + * * + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ * + } + if$ * +} + +%% If chapter contains "," use "Chaps." else "Chap" +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ +% { bbl.chapter } + { chapter multi.page.check + {bbl.chapters} + {bbl.chapter} + if$ + } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + format.bvolume duplicate$ empty$ 'pop$ + { ", " swap$ * * } + if$ + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + year duplicate$ empty$ + { "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" } + { "year" bibinfo.check extra.label * } + if$ + t empty$ address empty$ and + { * } + { ", " swap$ * * } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + end.quote.title + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + % v1.1: uncouple year and pages + format.year output + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ + new.block + format.doi output + format.url output + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.address output + } + { + format.book.crossref output.nonnull + format.date "year" output.check + } + if$ + new.block + format.doi output + format.url output + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.title "title" output.check + end.quote.title + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date "year" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + format.edition output + crossref missing$ + { + format.number.series output + format.publisher.address output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.pages "pages" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.publisher.address output + format.chapter.pages output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + %format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + %format.bvolume output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.pages "pages" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.btitle "title" output.check + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.date "year" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title + "title" output.check + end.quote.title + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.title output + end.quote.title + howpublished "howpublished" bibinfo.check output + format.date "year" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title + "title" output.check + end.quote.title + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + new.block + format.doi output + format.url output + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title + "title" output.check + end.quote.title + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.block + format.doi output + format.url output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + end.quote.title + format.date "year" output.check + new.block + format.doi output + format.url output + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" 't := } + 'skip$ + if$ + t sortify * + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +INTEGERS { seq.num } +FUNCTION {init.seq} +{ #0 'seq.num :=} +EXECUTE {init.seq} +FUNCTION {int.to.fix} +{ "000000000" swap$ int.to.str$ * + #-1 #10 substring$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + seq.num #1 + 'seq.num := + seq.num int.to.fix + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + "a" chr.to.int$ #1 - 'last.extra.num.blank := + last.extra.num.blank 'last.extra.num.extended := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num "z" chr.to.int$ > + { "a" chr.to.int$ 'last.extra.num := + last.extra.num.extended #1 + 'last.extra.num.extended := + } + 'skip$ + if$ + last.extra.num.extended last.extra.num.blank > + { last.extra.num.extended int.to.chr$ + last.extra.num int.to.chr$ + * 'extra.label := } + { last.extra.num int.to.chr$ 'extra.label := } + if$ + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\newcommand{\enquote}[1]{``#1''}" + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `new-aiaa.bst'. diff --git a/personal.cls b/personal.cls new file mode 100644 index 0000000..ee4ff49 --- /dev/null +++ b/personal.cls @@ -0,0 +1,187 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% new-aiaa.cls, v1.2, 2018/01/10 +% Developed by Overleaf +% +% This class file enables authors to prepare papers +% for submission to AIAA Technical Journals and +% Conferences. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\ProvidesClass{personal}[2020/05/24, v1.0] + +\RequirePackage{ifthen} + +\newif\if@american +\newif\if@british +\DeclareOption{american}{\@americantrue} +\DeclareOption{british}{\@britishtrue} + +\ExecuteOptions{} +\ProcessOptions\relax + +\RequirePackage[l2tabu, orthodox]{nag} % https://ctan.org/pkg/nag %% In case I commit a cardinal sin of loading depreciated modules, or some dumb stuff that can be picked up (i.e use \centering instead of \begin{center}[...]\end{center}) +\LoadClass[12pt]{memoir} + +% Online fix for all fontenc-inputenc interactions and use of inputenc, to be honest i have no clue what these do. +\RequirePackage{iftex} +\ifPDFTeX +% \RequirePackage[light]{kpfonts} %% Reenable newtx/newpx if kpfonts is disabled, amsmath included? but going to keep it in anyways + \RequirePackage[T1]{fontenc} + \RequirePackage[utf8]{inputenc} +% \RequirePackage{lmodern} +\else + \ifXeTeX + \RequirePackage{fontspec} + %% Testing out stuff here + % \setmainfont{TeX Gyre Pagella} + % \RequirePackage[euler-digits,euler-hat-accent]{eulervm} + \else + \RequirePackage{luatextra} + \fi + \defaultfontfeatures{Ligatures=TeX} +\fi + +%% https://tex.stackexchange.com/questions/59702/suggest-a-nice-font-family-for-my-basic-latex-template-text-and-math %%%%%% font suggestions! +\RequirePackage{blindtext} +\RequirePackage{microtype} + +%%% TEXT FONTS +% \RequirePackage{newtxtext} +\RequirePackage{newpxtext} +%\RequirePackage{libertine} + +%%% MATH PACKAGES INTERLUDE +\RequirePackage{amsmath} %% https://ctan.org/pkg/amsmath?lang=en %% essential math package, check their userguide for content +\RequirePackage{mathtools} +\RequirePackage{amsfonts} %% https://ctan.org/pkg/amsfonts %% An extended set of fonts for use in mathematics + +%%% MATH FONTS +% \RequirePackage{newtxmath} +% \RequirePackage[vvarbb]{newpxmath} +\RequirePackage{eulervm} %% i do not like the euler-hat-accent option +% \RequirePackage[frenchmath]{libertinust1math} + +\RequirePackage[letterpaper,margin=2cm]{geometry} +\RequirePackage{enumitem} +\setlist{labelindent=\parindent,leftmargin=*,nosep} +\setlist[enumerate]{label={\arabic*)}} + +\RequirePackage{titletoc} + +% Control over footnotes +\RequirePackage[flushmargin,hang,bottom]{footmisc} % bottom makes footnotes always go at the very bottom of the page. +\RequirePackage{fancyhdr} % Provides extensive control over footers and headers % https://tex.stackexchange.com/questions/129829/warning-command-makecol-has-changed read the following link to see why the load order is this way instead of the other way. +\RequirePackage[hyphens]{url} +\ifxetex + \RequirePackage[hyperfootnotes=false,xetex]{hyperref} % double reffing solution comes from: http://ctan.cs.uu.nl/macros/latex/contrib/footmisc/footmisc.pdf +\else + \ifpdf + \RequirePackage[hyperfootnotes=false,pdftex]{hyperref} + \else + \RequirePackage[hyperfootnotes=false,hypertex]{hyperref} + \fi +\fi + +\RequirePackage[blocks]{authblk} +\renewcommand{\Authfont}{\normalsize\upshape} +\renewcommand{\Affilfont}{\normalsize\itshape} +\setlength{\affilsep}{0pt} + +\renewcommand{\maketitle}{% + \begingroup + \renewcommand\and{\\[\baselineskip]} + \centering + {\LARGE\bfseries\@title\par} + \vskip2\baselineskip + \@author\par + \endgroup + \vskip\baselineskip + \setcounter{footnote}{0} +} + +\RequirePackage[explicit]{titlesec} +\setcounter{secnumdepth}{3} +\renewcommand{\thechapter}{\arabic{chapter}} +\renewcommand{\thesection}{\thechapter.\arabic{section}} +\renewcommand{\thesubsection}{\thesection.\arabic{subsection}} +\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}} + +\titleformat{\chapter}%[display] % [display] makes a new line + {} + {\fontsize{40}{40}\selectfont\thechapter}{20pt}{\bfseries\huge#1}[] +\titlespacing{\chapter}{0pt}{-10pt}{1\baselineskip} + +\titleformat{\section} + {\Large\bfseries}%\centering} + {\Huge{\thesection}\space}{5pt}{#1}[] +\titlespacing{\section}{0pt}{0.5\baselineskip}{0pt} + +\titleformat{\subsection} + {\large\bfseries} + {\thesubsection\space}{5pt}{#1}[] +\titlespacing{\subsection}{0pt}{0.5\baselineskip}{0pt} + +\titleformat{\subsubsection} +% {\large\itshape\singlespacing} + {\large\bfseries} + {\thesubsubsection\space}{5pt}{#1}[] +\titlespacing{\subsubsection}{0pt}{0.5\baselineskip}{0pt} + +\RequirePackage{lettrine} +\setlength{\DefaultNindent}{0pt} + +\setlength{\abovedisplayskip}{\baselineskip} +\setlength{\belowdisplayskip}{\baselineskip} +\setlength{\abovedisplayshortskip}{\baselineskip} +\setlength{\belowdisplayshortskip}{\baselineskip} + +% \RequirePackage[sort&compress,numbers]{natbib} +% \bibliographystyle{apalike} +% \bibliographystyle{personal} +% \renewcommand{\bibfont}{\small} + +% \RequirePackage{minted} % https://ctan.org/pkg/minted %% Use this for code. +\if@american + \RequirePackage[USenglish]{babel} % https://ctan.org/pkg/babel %% manages culturally-determined typographical (and other) rules for a wide range of languages + \RequirePackage[style=american]{csquotes} % https://ctan.org/pkg/csquotes %% provides advanced facilities for inline and display quotations, check their documentation to find out how to quote properly + \RequirePackage[USenglish,style=iso]{datetime2} % https://www.ctan.org/pkg/datetime2 %% This package provides commands for formatting dates, times and time zones and redefines \today to use the same formatting style. By default uses ISO formatting described in ISO 8601 and DIN 5008. +\fi +\if@british + \RequirePackage[UKenglish]{babel} + \RequirePackage[style=british]{csquotes} + \RequirePackage[UKenglish,style=iso]{datetime2} +\fi + +% Changing Figures, Tables, and Equations: +% -------------------- +% Get the section number based on whether the next hierarchical section number "down" is 0 (credit to https://latex.org/forum/viewtopic.php?t=10134) +\newcommand{\getCurrentSectionNumber}{% + \ifnum\c@section=0 % + \thechapter + \else + \ifnum\c@subsection=0 % + \thesection + \else + \ifnum\c@subsubsection=0 % + \thesubsection + \else + \thesubsubsection + \fi + \fi + \fi +} + +\RequirePackage[tableposition=top, figurename=Figure]{caption} +\renewcommand{\thefigure}{\getCurrentSectionNumber--\arabic{figure}} +\renewcommand{\thetable}{\getCurrentSectionNumber--\arabic{table}} +\renewcommand{\theequation}{\getCurrentSectionNumber--\arabic{equation}} +\captionsetup*{font={small}, labelfont={sc, bf}, labelsep=quad} +\renewcommand{\arraystretch}{1.2} + +\RequirePackage[backend=biber,natbib=true,style=numeric,sorting=none]{biblatex} % natbib has some cool commands like \citet, \citep which i really like. +\addbibresource{references.bib} + +% TO DO: +% - Make the american, british thing a mandatory option +% - Reorganize this mess \ No newline at end of file diff --git a/references.bib b/references.bib new file mode 100644 index 0000000..baff796 --- /dev/null +++ b/references.bib @@ -0,0 +1,51 @@ +@techreport{Sinnige2020, + author={T. Sinnige and G. Eitelberg}, + title={Lab-Exercise Manual - AE4115 Experimental Simulations}, + institution={Delft University of Technology}, + address={Delft University of Technology, Delft, South Holland, 2628 CD}, + year={2020}, + month={12}, + type={{Laboratory manual and assignment}}, +} + +@techreport{Bettini2021, + author={Andrea Bettini and Elrawy Soliman and Suyash Shrestha and Sanjay Vermani}, + title={AE4115 -- Pre-Test Report}, + institution={Delft University of Technology}, + address={Delft University of Technology, Delft, South Holland, 2628 CD}, + year={2021}, + month={1}, + type={{Experimental plan}}, +} + +@techreport{Eitelberg2020, + author={G. Eitelberg and T. \VAN~Pelt and T. Sinnige and E.M. Raijmakers}, + title={AE4115: Experimental Simulations Reader}, + institution={Delft University of Technology}, + address={Delft University of Technology, Delft, South Holland, 2628 CD}, + year={2020}, + month={11}, + type={{Lecture reader}}, +} + +@book{Allen2002, + title={Aeroacoustic Measurements}, + author={Christopher S. Allen and William K. Blake and Robert P. Dougherty and Denis Lynch and Paul T. Soderman and James R. Underbrink}, + editor={Thomas J. Mueller}, + year={2002}, + publisher={Springer-Verlag Berlin Heidelberg} +} + +@article{Herrez2016, + doi={10.5194/wes-1-89-2016}, + url={https://doi.org/10.5194/wes-1-89-2016}, + year={2016}, + month={7}, + publisher={Copernicus {GmbH}}, + volume={1}, + number={2}, + pages={89--100}, + author={Iv{\'{a}}n Herr{\'{a}}ez and Bu{\c{s}}ra Akay and Gerard J. W. van Bussel and Joachim Peinke and Bernhard Stoevesandt}, + title={Detailed analysis of the blade root flow of a horizontal axis wind turbine}, + journal={Wind Energy Science}, +} \ No newline at end of file diff --git a/titlepage.tex b/titlepage.tex new file mode 100644 index 0000000..13884dd --- /dev/null +++ b/titlepage.tex @@ -0,0 +1,35 @@ +\newcommand{\HRule}{\rule{\linewidth}{0.5mm}} +\thispagestyle{empty} + +\HRule +\begin{center} + {\Large Delft University of Technology} \\ + \vspace{3mm} + {\Huge\textbf{Aileron Critical Load Case Simulation Plan}} \\ + \vspace{3mm} + \textit{Delft University of Technology, Delft, South Holland, 2628 CD} +\end{center} +\vspace*{-0.8em} +\HRule + +\begin{alignat*}{3} +&\text{Andrea Bettini}\footref{fref:AndreaAffiliation} &\quad& 0000000 \\ +&\text{Andrea Bettini}\footref{fref:AndreaAffiliation} &\quad& 0000000 \\ +&\text{Andrea Bettini}\footref{fref:AndreaAffiliation} &\quad& 0000000 \\ +&\text{Andrea Bettini}\footref{fref:AndreaAffiliation} &\quad& 0000000 \\ +&\text{Andrea Bettini}\footref{fref:AndreaAffiliation} &\quad& 0000000 \\ +&\text{Andrea Bettini}\footref{fref:AndreaAffiliation} &\quad& 0000000 +\end{alignat*} + +\stepcounter{footnote} \footnotetext{\label{fref:AndreaAffiliation}Graduate Student, Faculty of Aerospace Engineering, Aerodynamics Department, Delft University of Technology, Kluyverweg 2, 2629 HS Delft} + +\vspace{0pt plus 1filll} % third order infinite glue since [bottom]footmisc package uses a \vfill essentially, which is second order infinite glue % https://tex.stackexchange.com/questions/312707/making-vfill-work-with-footmisc-package + +\begin{alignat*}{2} +&\text{ \textbf{Submission Date:} } &\quad& \text{ \today } \\ +&\text{ \textbf{Course:} } &\quad& \text{ AE3212-II } \\ +&\text{ \textbf{Group:} } &\quad& \text{ A11 } \\ +&\text{ \textbf{Supervisors:}} &\quad& \text{ Wouter van der Wal } \\ +& &\quad& \text{ Julien van Campen } \\ +& &\quad& \text{ Alexander in't Veld } \\ +\end{alignat*} \ No newline at end of file