Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/workflows/test_compilation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Test LaTeX Compilation

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
test:
runs-on: ubuntu-latest

strategy:
matrix:
texlive_image:
[
"TL2020-historic",
"TL2021-historic",
"TL2022-historic",
"TL2023-historic",
"latest-full",
]

container:
image: texlive/texlive:${{ matrix.texlive_image }}

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Compile LaTeX
run: |
cd src
cd figures
make
cd ..
make all

- name: Upload PDF artifact
if: success()
uses: actions/upload-artifact@v4
with:
name: pdf-${{ matrix.texlive_image }}
path: src/thesis.pdf
26 changes: 16 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
# MIT PhD thesis template
by Max Opgenoord

This template is used to make [this thesis](http://web.mit.edu/mopg/www/papers/Opgenoord-PhD-2018.pdf).
This template is used to make [this thesis](https://dspace.mit.edu/handle/1721.1/120380).

## Usage
Use the provided `Makefile` to compile the text and the separate `Makefile` in the `src/figures` folder to compile the figures.
In case it does not compile, you are likely missing the Minion Pro and Myriad Pro fonts.
You can compile those on your machine using [FontPro](https://github.com/sebschub/FontPro).
It is quite a hassle though, so you can also comment out the Myriad Pro and Minion Pro fonts in `mitthesis.cls` and instead use the Palatino fonts (these are currently commented in `mitthesis.cls`).
Make sure you update the preamble for the figures as well, and update the text in the colophon (if you choose to use it).

Use the provided [`Makefile`](src/Makefile) to compile the text and the separate figures [`Makefile`](src/figures/Makefile) to compile the figures.

## Fonts

If you want to use Minion Pro and Myriad Pro fonts in your thesis (which is what I used),
you'll need to compile those on your machine using [FontPro](https://github.com/sebschub/FontPro)
and then uncomment lines 186-187 in [`mitthesis.cls`](src/mitthesis)
and lines 11-12 in [`preamble_figures.tex`](src/figures/preamble_figures.tex).
Lastly, you should also update the text in the colophon (if you choose to use it).

## Customization

To customize it for your case, make sure to update your name and title in the following places:
- PDF metadata in `thesis.tex`
- Title page, abstract in `mitthesis.cls` (as well as adding your committee's info, bio info, etc.)
- Title and name on last page of doc in `thesis.tex`

- PDF metadata in [`thesis.tex`](src/thesis.tex)
- Title page, abstract in [`mitthesis.cls`](src/mitthesis.cls) (as well as adding your committee's info, bio info, etc.)
- Title and name on last page of doc in [`thesis.tex`](src/thesis.tex)
2 changes: 1 addition & 1 deletion src/acknowledgements.tex
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ \chapter*{Acknowledgements}
\vspace{1em}
\mbox{} \hfill \textit{Author}\\
\mbox{} \hfill Cambridge, Massachusetts\\
\mbox{} \hfill August 2018
\mbox{} \hfill August 2025
9 changes: 5 additions & 4 deletions src/colophon.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
\section*{Colophon}
% \noindent This thesis has been typeset using \LaTeX{} in the Palatino font.
\noindent This thesis has been typeset using \LaTeX{}, and compiled using \texttt{pdflatex}.
Minion Pro is used as both the text and display typeface.
The sans-serif text uses the \textsf{Myriad Pro} typeface, whereas monospaced text is typeset in \texttt{Bitstream Vera Mono}.
% Minion Pro is used as both the text and display typeface. The sans-serif text uses the \textsf{Myriad Pro} typeface,
Palatino is used as the text typeface, % comment this line if you end up using Minion Pro
whereas monospaced text is typeset in \texttt{Bitstream Vera Mono}.
Line figures and illustrations were predominantly generated using the \href{https://ctan.org/pkg/pgf?lang=en}{Tikz} \LaTeX{} package, \acrshort{fem} data plots using \href{https://www.tecplot.com/}{Tecplot}, and renders using \href{https://www.blender.org/}{Blender}.
\mbox{}\vspace{0.5pc}\\
\noindent Several books have influenced the style, typography, and graphic design of this thesis, in particular:
Expand All @@ -20,6 +21,6 @@ \section*{Colophon}

\noindent\textit{Very Long }\\
\textit{thesis title}\vspace{0.25pc}\\
Author, September 2018 \vspace{1.25pc}\\
\noindent \textcopyright\ Massachusetts Institute of Technology 2018. All rights reserved.\vspace{1pc} \\
Author, September 2025 \vspace{1.25pc}\\
\noindent \textcopyright\ Massachusetts Institute of Technology 2025. All rights reserved.\vspace{1pc} \\
}
Binary file modified src/figures/example/powder_based.pdf
Binary file not shown.
5 changes: 2 additions & 3 deletions src/figures/preamble_figures.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
\usepackage[gen]{eurosym}
\usepackage{ar}

\usepackage[scale=1.09,textlf,mathlf,swash]{MinionPro}
\usepackage[scale=1.09]{MyriadPro}
% \usepackage[scale=1.09,textlf,mathlf,swash]{MinionPro}
% \usepackage[scale=1.09]{MyriadPro}

\usepackage{tikz,pgfplots}
\usetikzlibrary{arrows,shapes,positioning,shadows,trees,patterns,intersections,matrix,fit,backgrounds}
Expand All @@ -19,7 +19,6 @@
\newlength\figurewidth
\usepackage{tikz-3dplot}
\usepackage{tkz-euclide}
\usetkzobj{all}
\tikzset{
basic box/.style={
shape=rectangle, rounded corners, align=center,
Expand Down
31 changes: 12 additions & 19 deletions src/mitthesis.cls
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,6 @@
\newlength\figurewidth
\RequirePackage{tikz-3dplot}
\RequirePackage{tkz-euclide}
\usetkzobj{all}
\tikzset{
basic box/.style={
shape=rectangle, rounded corners, align=center,
Expand All @@ -184,8 +183,8 @@
%%
%% Fonts (2)
%%
\RequirePackage[scale=1.09,textosf,mathlf,swash,roundv]{MinionPro} % COMMENT THIS FOR PALATINO
\RequirePackage[scale=1.00]{MyriadPro} % COMMENT THIS FOR PALATINO
% \RequirePackage[scale=1.09,textosf,mathlf,swash,roundv]{MinionPro} % COMMENT THIS FOR PALATINO
% \RequirePackage[scale=1.00]{MyriadPro} % COMMENT THIS FOR PALATINO
\linespread{1.11}
\DeclareMathAlphabet{\mathfrak}{OMS}{cmsy}{m}{n}
\SetMathAlphabet\mathfrak{bold}{OMS}{cmsy}{b}{n}
Expand Down Expand Up @@ -436,6 +435,8 @@
}[#1\onelineskip]%
}%

\RequirePackage{marginfix} % for citations, needs to be loaded before footmisc

\RequirePackage[symbol]{footmisc}
\newcounter{mparcnt}
\renewcommand\themparcnt{\fnsymbol{mparcnt}}
Expand Down Expand Up @@ -539,7 +540,6 @@
%% Citations
%%

\RequirePackage{marginfix}
\RequirePackage[hyperref=true,style=aiaa,giveninits=true,doi=true,isbn=true,
url=true,backref,backrefstyle=none,maxcitenames=1,
dateabbrev=false,urldate=long,labeldateparts]{biblatex}
Expand Down Expand Up @@ -596,16 +596,6 @@
\setunit{}}

\makeatletter
%%%% hack to move punctuation like autocite
\long\def\blx@defcitecmd@iii#1[#2]{%
\protected\long\csedef{blx@cite@#1}##1##2##3##4{%
\begingroup
\blx@citeinit
\ifstrequal{#1}{superpluscite}{\noexpand\unspace##4}{}%
\unexpanded{#2}{\blxciteicmd{#1}{##1}{##2}{##3}{}}%
\ifstrequal{#1}{superpluscite}{}{##4}\endgroup}%
\blx@defcitecmd@iv{#1}}
%%%% hack end

\DeclareCiteCommand{\cbx@mcite}[\mkbibsuperscript]
{\usebibmacro{cite:init}%
Expand Down Expand Up @@ -636,6 +626,8 @@

\newrobustcmd{\cbx@mcite@init}[2]{%
\def\cbx@savedcites{#1}#2\cbx@savedcites\empty}

\DeclareCitePunctuationPosition{\mcite}{f} % cite like autocite
\makeatother

%%
Expand Down Expand Up @@ -701,7 +693,8 @@
%%%
%% Index (2)
%%%
\RequirePackage[toc,nomain,acronym,smallcaps]{glossaries} % List of acronyms and glossary
\RequirePackage[toc,nomain,acronym]{glossaries} % List of acronyms and glossary
\setacronymstyle{long-sc-short}
\renewcommand*{\glsnamefont}[1]{\textup{#1}}

\RequirePackage{makeidx}
Expand Down Expand Up @@ -749,8 +742,8 @@
{\large Doctor of Philosophy} \vspace{0.75pc} \\
at the \vspace{0.75pc} \\
{\large Massachusetts Institute of Technology} \vspace{0.75pc} \\
{\large September 2018} \vspace{0.75pc}\\
{\textcopyright\ Massachusetts Institute of Technology 2018. All rights reserved.}
{\large September 2025} \vspace{0.75pc}\\
{\textcopyright\ Massachusetts Institute of Technology 2025. All rights reserved.}
\end{minipage}
};

Expand All @@ -760,7 +753,7 @@
\textsl{Author} \\
John Doe \hfill \rule{0.3\textwidth}{.2pt} \\
Department of Aeronautics and Astronautics \\
August 23, 2018 \vspace{0.6pc}\\
August 23, 2025 \vspace{0.6pc}\\
\textsl{Certified by} \\
Professor 1 \hfill \rule{0.3\textwidth}{.2pt}\\
Professor of Aeronautics and Astronautics \\
Expand Down Expand Up @@ -811,7 +804,7 @@
{\large John Doe}\vspace{1pc} \\

Submitted to the Department of \\
Aeronautics and Astronautics on \mbox{August 23, 2018,} \\
Aeronautics and Astronautics on \mbox{August 23, 2025,} \\
in Partial Fulfillment of the Requirements for the Degree of \\
Doctor of Philosophy in Aerospace Computational Engineering\\
}%
Expand Down
Binary file modified src/thesis.pdf
Binary file not shown.