diff options
Diffstat (limited to 'macros/latex/contrib/mitthesis')
57 files changed, 2195 insertions, 1106 deletions
diff --git a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf Binary files differindex f0964659d8..a007efaeea 100644 --- a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf +++ b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex index a1ceaacffd..de4fcfd51d 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex @@ -1,11 +1,11 @@ %% acknowledgments.tex % From mitthesis package -% Version: 1.01, 2023/10/16 +% Version: 1.02, 2024/06/19 % Documentation: https://ctan.org/pkg/mitthesis - \chapter*{Acknowledgments} -\addcontentsline{toc}{chapter}{Acknowledgments} +\pdfbookmark[0]{Acknowledgments}{acknowledgments} + Write your acknowledgments here. diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/appendixa.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/appendixa.tex index a7914cb851..cb61cca430 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/appendixa.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/appendixa.tex @@ -5,6 +5,10 @@ \chapter{Code listing} +This example uses the \texttt{listings} package. + +\bigskip + \lstdefinestyle{mystyle}{ backgroundcolor=\color{CadetBlue!15!white}, commentstyle=\color{Red3}, diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/appendixb.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/appendixb.tex new file mode 100644 index 0000000000..1d9dd847c0 --- /dev/null +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/appendixb.tex @@ -0,0 +1,108 @@ +\chapter{One-term coefficients for heat conduction} + +\section{A multipage table of numbers} +This example uses the \texttt{longtable} package: $\theta = A_1 f_1 \exp(-\lambda_1^2\mkern2mu\textrm{Fo})$, $\overline{\theta} = D_1 \exp(-\lambda_1^2\mkern2mu\textrm{Fo})$. + + +{\footnotesize +%\newcolumntype{d}[1]{D{.}{.}{#1}} % defined in root .tex file +\renewcommand{\doublerulesep}{0pt}% +\newcolumntype{X}{>{\hspace{1ex}}c@{\hspace{2ex}}c@{\hspace{2ex}}c<{\hspace{1ex}}}% + +\begin{longtable}{|||d{3.2}|X|X|X|||} + +\caption{One-term coefficients for one-dimensional heat conduction with a convective boundary condition. Data follow H. D. Baehr and K. Stephan~\cite{baehr1998}.}% + +\\ +\hline\hline\hline +&&&&&&&&&\\[-7pt] +& \multicolumn{3}{c|}{\textsf{\textit{Plate}}} & \multicolumn{3}{c|}{\textsf{\textit{Cylinder}}} & \multicolumn{3}{c|||}{\textsf{\textit{Sphere}}} +\\ +\cline{2-10} +\multicolumn{1}{|||c|}{\raisebox{1.5ex}[0cm][0cm]{Bi}} + & $\lambda_1$\rule[0pt]{0pt}{11pt} & $A_1$ & $D_1$ & $\lambda_1$ & $A_1$ & $D_1$ & $\lambda_1$ & $A_1$ & $D_1$ +\\ +\hline +\endfirsthead +\caption[]{(continued)} \\ +\hline\hline\hline +&&&&&&&&&\\[-7pt] +& \multicolumn{3}{c|}{\textsf{\textit{Plate}}} & \multicolumn{3}{c|}{\textsf{\textit{Cylinder}}} & \multicolumn{3}{c|||}{\textsf{\textit{Sphere}}} +\\ +\cline{2-10} +\multicolumn{1}{|||c|}{\raisebox{1.5ex}[0cm][0cm]{Bi}} + & $\lambda_1$\rule[0pt]{0pt}{11pt} & $A_1$ & $D_1$ & $\lambda_1$ & $A_1$ & $D_1$ & $\lambda_1$ & $A_1$ & $D_1$ +\\ \hline +&&&&&&&&&\\[-1ex] +\endhead +\hline\hline\hline +\endfoot +\hline\hline\hline +\endlastfoot +0.01 & 0.09983 & 1.0017 & 1.0000 & 0.14124 & 1.0025 & 1.0000 & 0.17303 & 1.0030 & 1.0000\rule[0pt]{0pt}{15pt} \\ +0.02 & 0.14095 & 1.0033 & 1.0000 & 0.19950 & 1.0050 & 1.0000 & 0.24446 & 1.0060 & 1.0000 \\ +0.03 & 0.17234 & 1.0049 & 1.0000 & 0.24403 & 1.0075 & 1.0000 & 0.29910 & 1.0090 & 1.0000 \\ +0.04 & 0.19868 & 1.0066 & 1.0000 & 0.28143 & 1.0099 & 1.0000 & 0.34503 & 1.0120 & 1.0000 \\ +0.05 & 0.22176 & 1.0082 & 0.9999 & 0.31426 & 1.0124 & 0.9999 & 0.38537 & 1.0150 & 1.0000 \\ +0.06 & 0.24253 & 1.0098 & 0.9999 & 0.34383 & 1.0148 & 0.9999 & 0.42173 & 1.0179 & 0.9999 \\ +0.07 & 0.26153 & 1.0114 & 0.9999 & 0.37092 & 1.0173 & 0.9999 & 0.45506 & 1.0209 & 0.9999 \\ +0.08 & 0.27913 & 1.0130 & 0.9999 & 0.39603 & 1.0197 & 0.9999 & 0.48600 & 1.0239 & 0.9999 \\ +0.09 & 0.29557 & 1.0145 & 0.9998 & 0.41954 & 1.0222 & 0.9998 & 0.51497 & 1.0268 & 0.9999 \\ +0.10 & 0.31105 & 1.0161 & 0.9998 & 0.44168 & 1.0246 & 0.9998 & 0.54228 & 1.0298 & 0.9998 \\[6pt] +% +0.15 & 0.37788 & 1.0237 & 0.9995 & 0.53761 & 1.0365 & 0.9995 & 0.66086 & 1.0445 & 0.9996 \\* +0.20 & 0.43284 & 1.0311 & 0.9992 & 0.61697 & 1.0483 & 0.9992 & 0.75931 & 1.0592 & 0.9993 \\ +0.25 & 0.48009 & 1.0382 & 0.9988 & 0.68559 & 1.0598 & 0.9988 & 0.84473 & 1.0737 & 0.9990 \\ +0.30 & 0.52179 & 1.0450 & 0.9983 & 0.74646 & 1.0712 & 0.9983 & 0.92079 & 1.0880 & 0.9985 \\ +0.40 & 0.59324 & 1.0580 & 0.9971 & 0.85158 & 1.0931 & 0.9970 & 1.05279 & 1.1164 & 0.9974 \\ +0.50 & 0.65327 & 1.0701 & 0.9956 & 0.94077 & 1.1143 & 0.9954 & 1.16556 & 1.1441 & 0.9960 \\ +0.60 & 0.70507 & 1.0814 & 0.9940 & 1.01844 & 1.1345 & 0.9936 & 1.26440 & 1.1713 & 0.9944 \\ +0.70 & 0.75056 & 1.0918 & 0.9922 & 1.08725 & 1.1539 & 0.9916 & 1.35252 & 1.1978 & 0.9925 \\ +0.80 & 0.79103 & 1.1016 & 0.9903 & 1.14897 & 1.1724 & 0.9893 & 1.43203 & 1.2236 & 0.9904 \\ +0.90 & 0.82740 & 1.1107 & 0.9882 & 1.20484 & 1.1902 & 0.9869 & 1.50442 & 1.2488 & 0.9880 \\[6pt] +% +1.00 & 0.86033 & 1.1191 & 0.9861 & 1.25578 & 1.2071 & 0.9843 & 1.57080 & 1.2732 & 0.9855 \\* +1.10 & 0.89035 & 1.1270 & 0.9839 & 1.30251 & 1.2232 & 0.9815 & 1.63199 & 1.2970 & 0.9828 \\ +1.20 & 0.91785 & 1.1344 & 0.9817 & 1.34558 & 1.2387 & 0.9787 & 1.68868 & 1.3201 & 0.9800 \\ +1.30 & 0.94316 & 1.1412 & 0.9794 & 1.38543 & 1.2533 & 0.9757 & 1.74140 & 1.3424 & 0.9770 \\ +1.40 & 0.96655 & 1.1477 & 0.9771 & 1.42246 & 1.2673 & 0.9727 & 1.79058 & 1.3640 & 0.9739 \\ +1.50 & 0.98824 & 1.1537 & 0.9748 & 1.45695 & 1.2807 & 0.9696 & 1.83660 & 1.3850 & 0.9707 \\ +1.60 & 1.00842 & 1.1593 & 0.9726 & 1.48917 & 1.2934 & 0.9665 & 1.87976 & 1.4052 & 0.9674 \\ +1.70 & 1.02725 & 1.1645 & 0.9703 & 1.51936 & 1.3055 & 0.9633 & 1.92035 & 1.4247 & 0.9640 \\* +1.80 & 1.04486 & 1.1695 & 0.9680 & 1.54769 & 1.3170 & 0.9601 & 1.95857 & 1.4436 & 0.9605 \\* +1.90 & 1.06136 & 1.1741 & 0.9658 & 1.57434 & 1.3279 & 0.9569 & 1.99465 & 1.4618 & 0.9570 \\[6pt] +% +2.00 & 1.07687 & 1.1785 & 0.9635 & 1.59945 & 1.3384 & 0.9537 & 2.02876 & 1.4793 & 0.9534 \\* +2.20 & 1.10524 & 1.1864 & 0.9592 & 1.64557 & 1.3578 & 0.9472 & 2.09166 & 1.5125 & 0.9462 \\ +2.40 & 1.13056 & 1.1934 & 0.9549 & 1.68691 & 1.3754 & 0.9408 & 2.14834 & 1.5433 & 0.9389 \\ +2.60 & 1.15330 & 1.1997 & 0.9509 & 1.72418 & 1.3914 & 0.9345 & 2.19967 & 1.5718 & 0.9316 \\ +2.80 & 1.17383 & 1.2052 & 0.9469 & 1.75794 & 1.4059 & 0.9284 & 2.24633 & 1.5982 & 0.9243 \\ +3.00 & 1.19246 & 1.2102 & 0.9431 & 1.78866 & 1.4191 & 0.9224 & 2.28893 & 1.6227 & 0.9171 \\ +3.50 & 1.23227 & 1.2206 & 0.9343 & 1.85449 & 1.4473 & 0.9081 & 2.38064 & 1.6761 & 0.8995 \\ +4.00 & 1.26459 & 1.2287 & 0.9264 & 1.90808 & 1.4698 & 0.8950 & 2.45564 & 1.7202 & 0.8830 \\* +4.50 & 1.29134 & 1.2351 & 0.9193 & 1.95248 & 1.4880 & 0.8830 & 2.51795 & 1.7567 & 0.8675 \\* +5.00 & 1.31384 & 1.2402 & 0.9130 & 1.98981 & 1.5029 & 0.8721 & 2.57043 & 1.7870 & 0.8533 \\[6pt] +% +6.00 & 1.34955 & 1.2479 & 0.9021 & 2.04901 & 1.5253 & 0.8532 & 2.65366 & 1.8338 & 0.8281 \\* +7.00 & 1.37662 & 1.2532 & 0.8932 & 2.09373 & 1.5411 & 0.8375 & 2.71646 & 1.8673 & 0.8069 \\ +8.00 & 1.39782 & 1.2570 & 0.8858 & 2.12864 & 1.5526 & 0.8244 & 2.76536 & 1.8920 & 0.7889 \\ +9.00 & 1.41487 & 1.2598 & 0.8796 & 2.15661 & 1.5611 & 0.8133 & 2.80443 & 1.9106 & 0.7737 \\ +10.00 & 1.42887 & 1.2620 & 0.8743 & 2.17950 & 1.5677 & 0.8039 & 2.83630 & 1.9249 & 0.7607 \\ +12.00 & 1.45050 & 1.2650 & 0.8658 & 2.21468 & 1.5769 & 0.7887 & 2.88509 & 1.9450 & 0.7397 \\ +14.00 & 1.46643 & 1.2669 & 0.8592 & 2.24044 & 1.5828 & 0.7770 & 2.92060 & 1.9581 & 0.7236 \\ +16.00 & 1.47864 & 1.2683 & 0.8541 & 2.26008 & 1.5869 & 0.7678 & 2.94756 & 1.9670 & 0.7109 \\* +18.00 & 1.48830 & 1.2692 & 0.8499 & 2.27556 & 1.5898 & 0.7603 & 2.96871 & 1.9734 & 0.7007 \\* +20.00 & 1.49613 & 1.2699 & 0.8464 & 2.28805 & 1.5919 & 0.7542 & 2.98572 & 1.9781 & 0.6922 \\[6pt] +% +25.00 & 1.51045 & 1.2710 & 0.8400 & 2.31080 & 1.5954 & 0.7427 & 3.01656 & 1.9856 & 0.6766 \\* +30.00 & 1.52017 & 1.2717 & 0.8355 & 2.32614 & 1.5973 & 0.7348 & 3.03724 & 1.9898 & 0.6658 \\ +35.00 & 1.52719 & 1.2721 & 0.8322 & 2.33719 & 1.5985 & 0.7290 & 3.05207 & 1.9924 & 0.6579 \\ +40.00 & 1.53250 & 1.2723 & 0.8296 & 2.34552 & 1.5993 & 0.7246 & 3.06321 & 1.9942 & 0.6519 \\ +50.00 & 1.54001 & 1.2727 & 0.8260 & 2.35724 & 1.6002 & 0.7183 & 3.07884 & 1.9962 & 0.6434 \\ +60.00 & 1.54505 & 1.2728 & 0.8235 & 2.36510 & 1.6007 & 0.7140 & 3.08928 & 1.9974 & 0.6376 \\ +80.00 & 1.55141 & 1.2730 & 0.8204 & 2.37496 & 1.6013 & 0.7085 & 3.10234 & 1.9985 & 0.6303 \\ +100.00 & 1.55525 & 1.2731 & 0.8185 & 2.38090 & 1.6015 & 0.7052 & 3.11019 & 1.9990 & 0.6259 \\* +200.00 & 1.56298 & 1.2732 & 0.8146 & 2.39283 & 1.6019 & 0.6985 & 3.12589 & 1.9998 & 0.6170 \\* +\infty & 1.57080 & 1.2732 & 0.8106 & 2.40483 & 1.6020 & 0.6917 & 3.14159 & 2.0000 & 0.6079 \\[3pt] +\end{longtable} +} diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex index 30e4784525..6148c2f133 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex @@ -2,11 +2,12 @@ %% This section is optional % From mitthesis package -% Version: 1.01, 2023/10/16 +% Version: 1.02, 2024/06/19 % Documentation: https://ctan.org/pkg/mitthesis \chapter*{Biographical Sketch} -\addcontentsline{toc}{chapter}{Biographical Sketch} +\pdfbookmark[0]{Biographical Sketch}{biosketch} + Silas Whitcomb Holman was born in Harvard, Massachusetts on January 20, 1856. He received his S.B. degree in Physics from MIT in 1876, and then joined the MIT Department of Physics as an Assistant. He became Instructor in Physics in 1880, Assistant Professor in 1882, Associate Professor in 1885, and Full Professor in 1893. Throughout this period, he struggled with increasingly severe rheumatoid arthritis. At length, he was defeated, becoming Professor Emeritus in 1897 and dying on April 1, 1900. diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex index cc7683744e..1f2acd20a6 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex @@ -1,5 +1,5 @@ % From mitthesis package -% Version: 1.04, 2023/10/19 +% Version: 1.06, 2024/07/09 % Documentation: https://ctan.org/pkg/mitthesis @@ -7,11 +7,11 @@ \lipsum[1-2] Postremo aliquos futuros suspicor, qui me ad alias litteras vocent, genus hoc scribendi, etsi sit elegans, personae tamen et dignitatis esse negent~\cite{DKE1969,ww1920,kirk2288a,churchill1948,gibbs1863}. -\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfup{J/\psi}\)}\fi} +\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfit{J/\psi}\)}\fi} We begin with some ideas from the literature \cite{Fong2015,sharpe1}. -\begin{equation} +\begin{equation}\label{eqn:1} \frac{\partial}{\partial t}\left[\rho\bigl(e + \lvert\vec{u}\rvert^2\big/2\bigr)\right] + \nabla\cdot\left[\rho\bigl(h + \lvert\vec{u}\rvert^2\big/2 \bigr)\vec{u}\right] ={}-\nabla \cdot \vec{q} + \rho \vec{u}\cdot\vec{g}+ \frac{\partial}{\partial x_j}\bigl(d_{ji}u_i\bigr) \end{equation} @@ -37,7 +37,8 @@ We begin with some ideas from the literature \cite{Fong2015,sharpe1}. \lipsum[4] -\subsection{Subsection~eqn.~\eqref{eqn:WT1}} +%% note use of \ref* here to avoid placing a nested link in the table of contents +\subsection[Subsection~eqn.~(\ref*{eqn:WT1})]{Subsection~eqn.~\eqref{eqn:WT1}} \lipsum[5-6] \subsubsection{A subsubsection} @@ -84,9 +85,9 @@ L(\ifpdftex\bm{A}\else\symbfup{A}\fi) = \begin{pmatrix} \ce{SO4^2- + Ba^2+ -> BaSO4 v} \\[0.5em] \ce{Zn^2+ <=>[+ 2OH-][+ 2H+] -$\underset{\text{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$ +$\underset{\textrm{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] -$\underset{\text{tetrahydroxozincate}}{\ce{[Zn(OH)4]^2-}}$ +$\underset{\textrm{tetrahydroxozincate}}{\ce{[Zn(OH)4]^2-}}$ } \end{gather} These examples of chemical formul\ae\ are copied directly from the documentation of the \texttt{mhchem} package, which was used to typeset them. @@ -94,7 +95,7 @@ These examples of chemical formul\ae\ are copied directly from the documentation \section{Baroclinic generation of vorticity\label{sec:stratified-flow}} Substitution of the particle acceleration and application Stokes theorem leads to the \textit{Kelvin-Bjerknes circulation theorem}, for -$\rho \neq \text{fn}(p)$: +$\rho \neq \textrm{fn}(p)$: \begin{align} \frac{d\Gamma}{dt} &{}= \frac{d}{dt} \int_{\mathcal{C}} \mathbf{u} \cdot d\mathbf{r}\\ &{}= \int_{\mathcal{C}} \frac{D\mathbf{u}}{Dt} \cdot d\mathbf{r} + \underbrace{\int_{\mathcal{C}} \mathbf{u}\cdot d\biggl( \frac{d\mathbf{r}}{dt}\Biggr)}_{=\, 0} \\[-2pt] @@ -130,11 +131,11 @@ Baroclinic generation of vorticity accounts for the sea breeze and various other \\[-0.5em] \toprule \multicolumn{1}{@{\hspace*{1.5em}}c}{$x$\rule{0pt}{8pt}} & -\multicolumn{1}{c}{$\text{erf}(x)$} & -\multicolumn{1}{c!{\hspace*{3.em}}}{$\text{erfc}(x)$} & +\multicolumn{1}{c}{$\textrm{erf}(x)$} & +\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} & \multicolumn{1}{c}{$x$} & -\multicolumn{1}{c}{$\text{erf}(x)$} & -\multicolumn{1}{c@{\hspace*{1.5em}}}{$\text{erfc}(x)$} \\ \midrule +\multicolumn{1}{c}{$\textrm{erf}(x)$} & +\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule 0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980 \\ 0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\ 0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\ diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/committee_members.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/committee_members.tex new file mode 100644 index 0000000000..b09f276c8b --- /dev/null +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/committee_members.tex @@ -0,0 +1,69 @@ +% Sample thesis committee page for mitthesis.cls +% Version 1.00, 2024/08/24 +% +% This page is not required by the MIT Libraries, but some departments require it +% +% Insert between title page and abstract page. +% Format this page in any way that you like. +% Add supervisor titles, degrees, and departments as appropriate + +%%%%% FORMATTING COMMANDS %%%%%%%%%%%%%%%%%% + +%% Format title +\NewDocumentCommand\CommitteePageTitle{m}{ + \vspace*{75pt}%36pt} + \IfPackageLoadedTF{microtype} + {\textls*{\Large\textbf{\MakeUppercase{#1}}}} + {{\Large\textbf{\MakeUppercase{#1}}}}% + \pdfbookmark[0]{#1}{Committee}% + \vspace*{10pt}% +} +% \textls* produces additional letter separation (appropriate for capitalized display text), +% PROVIDED THAT \usepackage{microtype} has been loaded in the preamble. +% The extra space added is 100/1000 em (adjustable, see package documentation). + +%% Format committee member subheadings +\NewDocumentCommand\Role{m}{ + \vspace*{50pt}%25pt} + \IfPackageLoadedTF{microtype} + {\textls*{\large{\textsc{#1}}}} + {{\large\textsc{#1}}}% + \vspace*{12pt}% +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{flushright} + +\CommitteePageTitle{Thesis committee} + +\Role{Thesis Supervisor} + + \textbf{Marcus Gavius Apicius} \\ + {\itshape + Professor of Cooking Arts \\ + Department of Food Science \\ + } + +\Role{Thesis Readers} + + \textbf{Marie-Antoine CarĂªme} \\ + {\itshape + Professor of Haute Cuisine \\ + Department of Food Science \\[18pt] + } + + \textbf{Julia Child}\\ + {\itshape + Professor of French Cuisine \\ + Department of Food Science \\[18pt] + } + + \textbf{Magnus Dicen, Ph.D.} \\ + {\itshape + Gloriosus Professor of Personal Pronouns \\ + Department of Rhetoric \\ + } + +\end{flushright} + +\cleardoublepage diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex index 8795eb547e..bc7ba62c91 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex @@ -1,16 +1,16 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-defaultfonts.tex}[2023/09/12 v1.03 Load Computer/Latin Modern text and math fonts] +\ProvidesFile{mitthesis-defaultfonts.tex}[2024/06/28 v1.04 Load Computer/Latin Modern text and math fonts] %% Default fonts % \ifpdftex - \typeout{^^JLoading Computer Modern text and math fonts (default for pdftex).^^J} + \ClassNoteNoLine{\ClassName}{Loading Computer Modern text and math fonts (default for pdftex)} \RequirePackage[T1]{fontenc} \RequirePackage{bm} \else - \typeout{^^JLoading Latin Modern text and math fonts (default for unicode engines).^^J} + \ClassNoteNoLine{\ClassName}{Loading Latin Modern text and math fonts (default for unicode engines)} % \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math. diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex index 01fa981d78..ebba9ab190 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex @@ -1,19 +1,19 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-fira-newtxsf.tex}[2023/09/12 v1.04 Load Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font] +\ProvidesFile{mitthesis-fira-newtxsf.tex}[2024/06/28 v1.05 Load Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font] %% Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font % \ifpdftex - \typeout{^^JLoading Fira sans text font with newtx sans serif math font and Inconsolata typewriter^^J} + \ClassNoteNoLine{\ClassName}{Loading Fira sans text font with newtx sans serif math font and Inconsolata typewriter} \RequirePackage[sfdefault,scaled=0.90]{FiraSans} % sans serif text package %,scaled=.85 \RequirePackage[T1]{fontenc} \RequirePackage[varqu,varl,scaled=1.05]{zi4} % inconsolata font for typewriter \RequirePackage[scaled=1.05]{newtxsf} % sans serif math \RequirePackage{bm} \else - \ClassWarning{mitnewthesis}{The fira-newtxsf font set requires pdflatex. Defaulting to LMR fonts} + \ClassWarning{\ClassName}{The fira-newtxsf font set requires pdflatex. Defaulting to LMR fonts} \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math. % Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case. diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex index 26ee2ab07b..1535771f11 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex @@ -1,7 +1,7 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-heros-stix2.tex}[2023/09/12 v1.02 Load TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font] +\ProvidesFile{mitthesis-heros-stix2.tex}[2024/06/28 v1.03 Load TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font] %% TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font % @@ -12,11 +12,11 @@ % Install these as system fonts on your computer % \ifpdftex - \ClassWarning{mitnewthesis}{The heros-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.} + \ClassWarning{\ClassName}{The heros-stix2 fontset requires a unicode engine. Defaulting to CMR fonts} \RequirePackage[T1]{fontenc} \RequirePackage{bm} \else - \typeout{^^JTeX Gyre Heros (sans serif) text font with STIX2 math font and Inconsolata monospaced font.^^J} + \ClassNoteNoLine{\ClassName}{TeX Gyre Heros (sans serif) text font with STIX2 math font and Inconsolata monospaced font} % \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex index 57cf26f915..41b2f561df 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex @@ -1,7 +1,7 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-libertine.tex}[2023/09/12 v1.02 Load Libertine and related fonts] +\ProvidesFile{mitthesis-libertine.tex}[2024/06/28 v1.03 Load Libertine and related fonts] %% Linux Libertine (serif) text font with newtxmath[libertine] (pdftex) or Libertinus (unicode) math font % @@ -10,7 +10,7 @@ % install these as system fonts on your computer % \ifpdftex - \typeout{^^JLoading newtx-libertine text and math fonts with Insolata typewriter font^^J} + \ClassNoteNoLine{\ClassName}{Loading newtx-libertine text and math fonts with Insolata typewriter font} \RequirePackage[lining,semibold]{libertine} \RequirePackage[T1]{fontenc} \RequirePackage[varqu,varl]{inconsolata}% typewriter @@ -18,7 +18,7 @@ \RequirePackage[libertine,vvarbb]{newtxmath} \RequirePackage{bm}% load after all math to give access to bold math \else - \typeout{^^JLoading Linux Libertine (serif) text font with Libertinus math font^^J} + \ClassNoteNoLine{\ClassName}{Loading Linux Libertine (serif) text font with Libertinus math font} % \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex index 6466c36929..e18c72fd92 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex @@ -1,11 +1,11 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-lucida.tex}[2023/09/12 v1.02 Load Lucida fonts] +\ProvidesFile{mitthesis-lucida.tex}[2024/06/28 v1.03 Load Lucida fonts] %% Lucida Bright and Lucida Bright Math fonts (available from the TeX Users Group) -\typeout{^^JLucida Bright and Lucida Bright Math fonts^^J} +\ClassNoteNoLine{\ClassName}{Lucida Bright and Lucida Bright Math fonts} \ifpdftex \RequirePackage[LY1]{fontenc} diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex index a599af35e2..b76428f383 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex @@ -1,20 +1,24 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/09/12 v1.02 Load newtx sans-serif text and regular math fonts] +\ProvidesFile{mitthesis-newtx-sans-text.tex}[2024/06/68 v1.04 Load newtx sans-serif text and regular math fonts] %% newtx package with sans-serif text (Helvetica-like text with Times-like math) % \ifpdftex + \ClassNoteNoLine{\ClassName}{Loading newtx sans-serif text and newtx serif math fonts} \RequirePackage[T1]{fontenc} \RequirePackage[subscriptcorrection,varvw,helvratio=0.91,defaultsups]{newtx}% upint for upright integrals - \renewcommand{\familydefault}{\sfdefault}% use sans for main text + \AtEndPreamble{% added to accommodate v1.731 of newtx, 2023/11/03 + \renewcommand{\familydefault}{\sfdefault}% use sans for main text +% \renewcommand{\rmdefault}{\sfdefault}% uses sans for \textrm{}, if that's desired. + } % these two commands enable hyphenation of the typewriter font - https://tex.stackexchange.com/a/204421/119566 % \input{t1ntxtt.fd} % \DeclareFontFamily{\encodingdefault}{\ttdefault}{\hyphenchar\font=`\-} % \RequirePackage{bm}% bold math \else - \ClassWarning{mitnewthesis}{The newtx font set requires pdflatex. Defaulting to LMR fonts} + \ClassWarning{\ClassName}{The newtx font set requires pdflatex. Defaulting to LMR fonts} \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math. % Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case. diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex index cc43427055..b1541bbd05 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex @@ -1,17 +1,17 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-newtx.tex}[2023/09/12 v1.03 Load newtx text and math fonts] +\ProvidesFile{mitthesis-newtx.tex}[2024/06/28 v1.04 Load newtx text and math fonts] \ifpdftex - \typeout{^^JLoading newtx fonts with inconsolata typewriter^^J} + \ClassNoteNoLine{\ClassName}{Loading newtx fonts with inconsolata typewriter} \RequirePackage[T1]{fontenc} \RequirePackage[subscriptcorrection,varvw,helvratio=0.91]{newtx}% stix2, upint \RequirePackage[varl,varqu,hyphenate,mono]{inconsolata}% sans typewriter font; mono = fixed word spacing, hyphenate = allow hyphenation \RequirePackage{bm} \let\textsuperscript\textsu% newtx changes the default superiors font; this is needed to get commas aligned in sequential footnotes \else - \ClassWarning{mitnewthesis}{The newtx font set requires pdflatex. Defaulting to LMR fonts} + \ClassWarning{\ClassName}{The newtx font set requires pdflatex. Defaulting to LMR fonts} \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math. % Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case. diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex index de3983fe4e..c178ff233f 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex @@ -1,7 +1,7 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-stix2.tex}[2023/09/12 v1.03 Load STIX Two text and math fonts] +\ProvidesFile{mitthesis-stix2.tex}[2024/06/28 v1.04 Load STIX Two text and math fonts] %% STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font % @@ -12,11 +12,11 @@ % Install these as system fonts on your computer % \ifpdftex - \ClassWarning{mitnewthesis}{The stix2 fontset requires a unicode engine. Defaulting to CMR fonts.} + \ClassWarning{\ClassName}{The stix2 fontset requires a unicode engine. Defaulting to CMR fonts.} \RequirePackage[T1]{fontenc} \RequirePackage{bm} \else - \typeout{^^JLoading STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font.^^J} + \ClassNoteNoLine{\ClassName}{Loading STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font} % \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex index 1e65724cc0..ed2abc1655 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex @@ -1,7 +1,7 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-termes-stix2.tex}[2023/09/12 v1.03 Load TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font] +\ProvidesFile{mitthesis-termes-stix2.tex}[2024/10/28 v1.04 Load TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font] %% TeX Gyre Termes text font and Heros sans serif font with STIX2 math font and Inconsolata monospaced font % @@ -12,11 +12,11 @@ % Install these as system fonts on your computer % \ifpdftex - \ClassWarning{mitnewthesis}{The termes-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.} + \ClassWarning{\ClassName}{The termes-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.} \RequirePackage[T1]{fontenc} \RequirePackage{bm} \else - \typeout{^^JLoading TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font.^^J} + \ClassNoteNoLine{\ClassName}{Loading TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font} % \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex index 64fffb9264..fd1e15bab8 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex @@ -1,7 +1,7 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-termes.tex}[2023/09/12 v1.03 Load TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font] +\ProvidesFile{mitthesis-termes.tex}[2024/06/28 v1.04 Load TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font] %% TeX Gyre Termes (Times-like) text font with Termes math font and Heros sans serif font and Cursor monospaced font % @@ -9,11 +9,11 @@ % install these as system fonts on your computer % \ifpdftex - \ClassWarning{mitnewthesis}{The termes fontset requires a unicode engine. Defaulting to CMR fonts.} + \ClassWarning{\ClassName}{The termes fontset requires a unicode engine. Defaulting to CMR fonts.} \RequirePackage[T1]{fontenc} \RequirePackage{bm} \else - \typeout{^^JLoading TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font^^J} + \ClassNoteNoLine{\ClassName}{Loading TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font} \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math % unicode-math loads the fontspec package diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/mitthesis-sample.bib b/macros/latex/contrib/mitthesis/MIT-thesis-template/mitthesis-sample.bib index 1131bed50d..98ba37532e 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/mitthesis-sample.bib +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/mitthesis-sample.bib @@ -1,6 +1,6 @@ %% Sample bibliography file for mitthesis.cls %% -%% Revised: 12 September 2023 +%% Revised: 01 August 2024 %% Copyright John H. Lienhard, MIT %% Offered under the MIT license: https://ctan.org/license/mit @@ -322,4 +322,14 @@ address = {San Francisco, CA}, month = sep, } + +@book{baehr1998, + author ={H. D. Baehr and K. Stephan}, + title = {Heat and Mass Transfer}, + publisher = {Springer-Verlag}, + address = {Berlin}, + year = {1998}, + isbn = {3-540-63695-1}, +} +
\ No newline at end of file diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex index 2a612d88a1..1d9184e973 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex @@ -1,14 +1,14 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mydesign.tex}[2023/10/11 v1.03 Typographic design options for thesis] +\ProvidesFile{mydesign.tex}[2024/06/28 v1.04 Typographic design options for thesis] %%%%%%%%%% Color support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Color package: xcolor. %% Change this if you prefer something else -\usepackage[hyperref,dvipsnames,svgnames,x11names]{xcolor} +\usepackage[dvipsnames,svgnames,x11names]{xcolor} %% can add option [table] to xcolor to use color in tables (see xcolor documentation) @@ -57,7 +57,7 @@ \titleformat{\subsection}{\mathversion{bold}\normalfont\large\bfseries}{\thesubsection}{1em}{} \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{} -% ==> NOT every font includes a bold math version, so you may need to use other math macros in the headings to get bold math <== +% ==> NOT every font includes a bold math version, so you may need other math macros in the headings to get bold math <== %%%%%%%%% Change page margins %%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/macros/latex/contrib/mitthesis/README.md b/macros/latex/contrib/mitthesis/README.md index 9ead4e57e0..b1242ebdcb 100644 --- a/macros/latex/contrib/mitthesis/README.md +++ b/macros/latex/contrib/mitthesis/README.md @@ -1,11 +1,11 @@ #mitthesis --- A LaTeX template for an MIT thesis# - v1.11 dated 2023/11/02 + v1.15 dated 2024/08/31 ####Overview#### This class provides a LaTeX template to format an MIT thesis according to - the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2023): + the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2024): [https://libraries.mit.edu/distinctive-collections/thesis-specs/](https://libraries.mit.edu/distinctive-collections/thesis-specs/) @@ -26,8 +26,10 @@ abstract.tex -- put your abstract in this file acknowledgments.tex -- put your acknowledgments in this file biosketch.tex -- put your biosketch in this file (optional) - chapter1.tex -- put your first chapter in this file (etc.) - appendixa.tex -- put your first appendix in this file (etc.) + chapter1.tex -- sample first chapter + committee_members.tex -- sample thesis committee members page (optional) + appendixa.tex -- sample appendix with code listing + appendixb.tex -- sample appendix with multipage table mitthesis-sample.bib -- a sample bibliography file with many examples mydesign.tex -- an optional file to load packages for document design fontsets/ -- a subdirectory of input files that load optional fonts @@ -54,8 +56,39 @@ ####Change log#### + v1.15 (31 August 2024) + - add an example for the longtable package (App. B) + - add sample Thesis Committee page (optional) + - load microtype package, enable tracking for capitalized strings (degree name[s], institution name) + - fix typo in MIT-Thesis.tex + - edit documentation + - edit pdfauthor string to separator authors with semicolon, not comma (per Dublin Core recommendation) + - define \\@author and \\@title in case needed + + v1.14 (19 July 2024) + - add backward compatibility code for \\text\_titlecase\_all:n + - adjust supervisor and acceptor titles used on sample cover pages + - format J/psi as \\symbfit in sample chapter 1 and regenerate font samples + - edit documentation + + v1.13 (03 July 2024) + - same as v1.12, except now includes the correct documentation + + v1.12 (02 July 2024) + - add logic for one degree issued by two departments + - fix missing space in abstract block for multiple departments + - adjust second department layout on title and abstract pages + - table of contents revised + - revise documentation + - switch default citation style to numeric (from IEEE). Provide examples for IEEE and author/year styles. + - add \\AtEndPreamble{..} to mitthesis-newtx-sans-text.tex to accommodate v1.731 of newtx + - in chapter1.tex, replace \\text by \\textrm; fix nested link in section heading + - remove obsolete hyperref option from xcolor + - minor changes to log notes of fontset files + - code clean up + v1.11 (02 November 2023) - - Revise all skips on cover page to better group material while allowing for glue compression as content increases; increase font size of author name; provide user macros for control cover page spacing and author name font. + - revise all skips on cover page to better group material while allowing for glue compression as content increases; increase font size of author name; provide user macros for control cover page spacing and author name font. - use \\mdseries for linenumbers in all cases, rather than using the locally active series - remove \\raggedright in favor of \\bibsetup for bibliography in MIT-Thesis.tex - add backward compatibility for alt tag of \\includegraphics for pre-2021/11/15 distributions, add alt tag in chapter1.tex diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf Binary files differindex 304d89113b..159f037a4d 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf Binary files differindex 737603f89c..8b4d3e0942 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf Binary files differnew file mode 100644 index 0000000000..e7e2f13e88 --- /dev/null +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf Binary files differindex 7ab9882820..1adb097a70 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf Binary files differindex 8950c7ed3c..0617a275f8 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf Binary files differindex 61a2b63115..7e4300d5b6 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf Binary files differindex c9ccbd8a9a..299acda338 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex new file mode 100644 index 0000000000..6c1f5c3982 --- /dev/null +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex @@ -0,0 +1,123 @@ +% !TEX encoding = UTF-8 Unicode +% !BIB TS-program = biber +% !BIB program = biber + +% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit +% Version 1.02, 2024/07/08 + +% Documentation: https://ctan.org/pkg/mitthesis + +%% Don't modify the \DocumentMetadata command unless you know what it does. +%% If this command throws an "undefined" error, your latex system is out of date: try commenting this command out. +\DocumentMetadata +{ + pdfstandard = a-2b, + pdfversion = 1.7, + lang = en-US, +% debug = {xmp-export}, % output xmpi file to directly examine metadata +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[]{mitthesis} +% +% option [twoside] gives facing-page behavior for printing; omitting it will eliminate even-numbered blank pages. +% option [lineno] provides line numbers, as for editing +% option [mydesign] loads titlesec, enumitem, caption, subcaption - you may edit the mydesign.tex file as you like it. +% option [fontset] is a keyvalue which can be: +% pdftex or unicode engines: defaultfonts, libertine, lucida +% pdftex only: fira-newtxsf, newtx, newtx-sans-text +% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the latex font". +% You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. +% If you are using multiple languages, load the babel package in your fontset file, before the fonts. + + +%%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Most of the document metadata is created automatically. +% The following items should be adjusted to match your work. <================= !!!!!!!!!! + +\hypersetup{% + pdfsubject={Template for writing MIT theses with the mitthesis class}, + % Change this to briefly state topic of your thesis +% + pdfkeywords={Massachusetts Institute of Technology, MIT}, + % Add keywords that will help search engines and libraries to find your work. + % Includes the name[s] of the author[s] + % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) +% + pdfurl={}, + % If you have a url for the thesis, put it here. Otherwise delete this. + % (MIT Libraries will put your thesis in DSPACE with a persistent url after you submit it.) +% + pdfcontactemail={}, + % You can put a [permanent] email address into the metadata, if you like. + % Otherwise delete this. +% + pdfauthortitle={}, + % If you have a title, you can include it here. +} + + +%%%%%%%%%%%%%% End preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{document} + + +%%% edit the following commands to match your thesis %%%%%%%%%% + +\title{The Atomic Theory as Applied To Gases, with Some Experiments on the Viscosity of Air} + +% \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... +% Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted + +% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. + +\Author{Silas W. Holman}{Department of Nuclear Science and Engineering}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] +%\Author{Luisa HernĂ¡ndez}{Department of Research}%[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] + +% For one degree issued by two departments, leave the degree argument blank for the second degree {}. +\Degree{Master of Science in Computational Nuclear Materials}{Department of Nuclear Science and Engineering} +\Degree{}{Center for Computational Science and Engineering} + +% If there is more than one supervisor, use the \Supervisor command for each. +\Supervisor{Edward C. Pickering}{Professor of Nuclear Science and Engineering} +%\Supervisor{Secunda Castor}{Professor of Research} +%\Supervisor{Quintus Castor}{Professor of Log Dams} + +% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) +% If more than one department, use more than once +% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}. +\Acceptor{Primus Castor}{Professor and Graduate Officer}{Department of Nuclear Science and Engineering} +\Acceptor{Tertius Castor}{Professor and Graduate Officer}{Center for Computational Science and Engineering} +%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering} + + +% Usage: \DegreeDate{Month}{year} +% Valid degree months are September, February, or June. +\DegreeDate{June}{1876} + +% Date that final thesis is submitted to department +\ThesisDate{May 18, 1876} + +%%%%%% Choose whether to have a CREATIVE COMMONS License %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% If you are using a cc license, put details of your cc license here. +% Omit this command if you are not using a cc license. +% +\CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% Titlepage +\maketitle + +% The abstract environment creates all the required headers and footnote. +% You only need to add the text of the abstract itself in the file abstract.tex +\begin{abstract} + \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment +\end{abstract} + +\end{document} diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex index 6334a228ae..f8ebb1b965 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex @@ -85,8 +85,7 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +\Supervisor{Secunda Castor}{Professor of Mechanical Engineering} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex index e5e2618b69..a757806b01 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex @@ -2,7 +2,7 @@ % !BIB TS-program = biber % !BIB program = biber -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation: https://ctan.org/pkg/mitthesis @@ -75,7 +75,7 @@ % note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. \Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] +\Author{Luisa HernĂ¡ndez}{Department of Physics}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -85,20 +85,11 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once % If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}. -%\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Graduate Officer, Department of Physics} \Acceptor{Quintus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} % Usage: \DegreeDate{Month}{year} % Valid degree months are September, February, or June. diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex index 5e004fe134..57a957b6ba 100644 --- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex @@ -2,8 +2,8 @@ % !BIB TS-program = biber % !BIB program = biber -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit -% Version 1.01, 2023/10/27 +% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit +% Version 1.02, 2024/07/08 % Documentation: https://ctan.org/pkg/mitthesis @@ -81,20 +81,17 @@ % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. \Degree{Master of Science in Physics}{Department of Physics} -%\Degree{Master of Science in Physics}{} \Degree{Master of Science in Mechanical Engineering}{Department of Mechanical Engineering} % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +\Supervisor{Secunda Castor}{Professor of of Mechanical Engineering} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once % If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}. \Acceptor{Primus Castor}{Professor and Graduate Officer, Department of Physics}{} \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering} % In this example, several steps have been taken to make the content fit on the title page! The \Acceptors have been confined to two % lines in the above commands, the signature block font size is reduced, the skips are tightened, the author names use normal font size, diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh new file mode 100755 index 0000000000..da23571eff --- /dev/null +++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh @@ -0,0 +1,31 @@ +#! /bin/bash + +# first run + +for i in *.tex; + do + if [ "$i" != "abstract.tex" ] ; then + pdflatex $i; + fi; + done + +# second run + +for i in *.tex; + do + if [ "$i" != "abstract.tex" ] ; then + pdflatex $i; + fi; + done + +# clean up + +mkdir pdffiles +mv *.pdf pdffiles +rm *.aux +rm *.gz +rm *.log + + + + diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf Binary files differindex e55782bbb4..ef50423842 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf Binary files differindex 2d802b2a0e..ab8796fe83 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf Binary files differindex 09a93e218b..888046a1d8 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf Binary files differindex 45b6d25430..ab8fa1531f 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf Binary files differindex 383bbfd3a9..e81c210952 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf Binary files differindex 3c8fc160ba..5bd3928957 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf Binary files differindex 142d3afc0d..2ccbde4b1d 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf Binary files differindex 46b54f1a07..d13e8a05c4 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf Binary files differindex e4306cb237..5601e9541a 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf Binary files differindex 93e1db4400..0451bdf880 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf +++ b/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex index 8b34293ed2..33fa1e5d3a 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex @@ -1,12 +1,12 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber +% !BIB program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +16,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +41,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +78,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +112,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +125,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +151,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +177,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +191,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +217,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex index d428bcadf1..c574f2bf8c 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex @@ -1,12 +1,12 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber +% !BIB program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +16,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=fira-newtxsf]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=fira-newtxsf]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +41,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +78,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +112,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +125,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +151,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +177,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +191,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +217,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex index 1ae057c0cd..8d39d55b8a 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex @@ -1,12 +1,12 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber +% !BIB program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +16,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=heros-stix2]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=heros-stix2]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +41,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +78,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +112,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +125,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +151,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +177,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +191,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +217,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex index 8fa97df9b0..eb0798989e 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex @@ -1,12 +1,12 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber +% !BIB program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +16,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=libertine]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=libertine]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +41,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +78,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +112,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +125,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +151,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +177,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +191,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +217,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex index 1af3c90754..9c7284cd7c 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex @@ -1,12 +1,12 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber +% !BIB program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +16,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=lucida]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=lucida]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +41,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +78,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +112,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +125,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +151,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +177,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +191,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +217,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex index 87ad88c57e..11edff3cdc 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex @@ -1,12 +1,12 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber +% !BIB program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +16,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=newtx-sans-text]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=newtx-sans-text]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +41,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +78,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +112,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +125,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +151,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +177,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +191,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +217,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex index eb96cc7892..d755977cb5 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex @@ -1,12 +1,11 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +15,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=newtx]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=newtx]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +40,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +77,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +111,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +124,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +150,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +176,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +190,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +216,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt index c4d5c782c1..18b95f79ec 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt @@ -6,9 +6,16 @@ These font sample files call the following additional files as inputs: abstract.tex acknowledgments.tex appendixa.tex +appendixb.tex biography.tex chapter1.tex +committee_members.tex mitthesis-sample.bib mydesign.tex All of those files are in the directory mitthesis/MIT-thesis-template. + +You should also copy the fontsets directory (and mitthesis.cls) into this folder. + +Run as % ./compile-font-samples.sh + diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex index ffc9657186..aabac07cda 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex @@ -1,12 +1,12 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber +% !BIB program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +16,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=stix2]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=stix2]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +41,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +78,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +112,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +125,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +151,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +177,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +191,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +217,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex index 29bb0e05cf..3b17a9c4cd 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex @@ -1,12 +1,11 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +15,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=termes-stix2]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=termes-stix2]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +40,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +77,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +111,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +124,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +150,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +176,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +190,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +216,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex index fb2f11a35d..6733f96f13 100644 --- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex @@ -1,12 +1,11 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.06, 2023/08/28 +% Version: 1.15, 2024/08/31 % -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,19 +15,21 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[fontset=termes]{mitthesis} %,fontset=libertine ,fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[fontset=termes]{mitthesis}% fontset=newtx, fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +40,32 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) + \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + % syntax: d{x.y} where x is max number of digits before decimal and y is max number after. + +% Package for multipage table in Appendix B. +\usepackage{longtable}% typeset multi-page tables (https://ctan.org/pkg/longtable) + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + + +%% Package for improved typography + +\usepackage{microtype}% typographic fine-tuning, used in sample thesis committee page, but also acting globally on the text + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,19 +77,29 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" -\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} -%% These two commands enable line breaks in long URLs in the bibliography (delete if you don't want that) -\setcounter{biburllcpenalty}{7000} -\setcounter{biburlucpenalty}{8000} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE +%% to avoid split urls and stretched white space, you can set the bibliography ragged-right: +%\appto{\bibsetup}{\raggedright} + +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf + +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,19 +111,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -103,18 +124,18 @@ %% to change the line separation, the most attractive results will be obtained by changing the %% leading in proportion to the the current font size, rather than just doubling the space. -%% The setspace package provides a tool for changing line separation (use thesetwo here) +%% The setspace package provides a tool for changing line separation. Use these two commands here: % % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +150,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -155,11 +176,11 @@ % \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... % Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted -% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. +% note on names: most of the following names are made up; Silas Holman was a physics professor at MIT in the 19th century. -\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -%\Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] -%\Author{Thurston Howell III}{Department of Economics} +\Author{Silas W. Holman}{Department of Physics} +% \Author{Luisa HernĂ¡ndez}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020] +% \Author{Thurston Howell III}{Department of Economics}[MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -169,22 +190,19 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} +% \Supervisor{Secunda Castor}{Professor of Research} +% \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor SmĂ©agol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** -\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} +\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \\ \> Third title} +% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. +% \Acceptor{Primus Castor}{Professor and Undergraduate Officer, Department of Physics}{} % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June. +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department @@ -198,63 +216,98 @@ % \CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} % + +%%%%%%% Solutions for overflowing titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If your title page is overflowing (from too many names, degrees, etc.): +% +% (a) you can reduce the 12pt and 18pt skips between various blocks to 6pt with this command: +% +% \Tighten +% +% (b) you can scale down the Signature block at the bottom with this command: +% +% \SignatureBlockSize{\small} %or this one \SignatureBlockSize{\footnotesize} +% +% (c) you can put the acceptor name and title onto two lines, rather than three like this: +% +% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} +% +% (d) you can change the font size of the author name[s] with +% +% \AuthorNameSize{\normalsize} +% +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch + +% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you +% can use this command to squash all of the vertical glue (stretchy space) with this command: +% +% \Squash +% +% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically +% when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Titlepage +%%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/dev/latex2e.html#g_t_005cinclude-_0026-_005cincludeonly +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% The abstract environment creates all the required headers and footnote. -% You only need to add the text of the abstract itself in the file abstract.tex +% This page is optional. Edit the file committee_members.tex +\include{committee_members} + +% The abstract environment creates all the required headings and footers. +% You only need to the text of the abstract in the file abstract.tex \begin{abstract} - \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment + \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments.tex} - -\include{biography.tex}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% If you want to use "double spacing", you can start here... +%% If you want to use "double spacing", you should start here... -\include{chapter1.tex} -%\include{chapter2.tex} -%\include{chapter3.tex} -%\include{chapter4.tex} + \include{chapter1}% .tex extension is presumed +% \include{chapter2} +%\include{chapter3} +%\include{chapter4} %%% Appendicies of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix -\include{appendixa.tex} +\include{appendixa} +\include{appendixb} +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 %%%% Option for natbib %%%%%%%%%%%%% + %% use an appropriate style (.bst) and your own .bib file[s] %\bibliographystyle{plainnat} diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh new file mode 100755 index 0000000000..16b0d5bc48 --- /dev/null +++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh @@ -0,0 +1,77 @@ +#! /bin/bash + +# Default fonts +pdflatex Defaultfonts +biber Defaultfonts +pdflatex Defaultfonts +pdflatex Defaultfonts + +# Fira_Newtxsf +pdflatex Fira_Newtxsf +biber Fira_Newtxsf +pdflatex Fira_Newtxsf +pdflatex Fira_Newtxsf + +# Libertine +pdflatex Libertine +biber Libertine +pdflatex Libertine +pdflatex Libertine + +# Lucida +pdflatex Lucida +biber Lucida +pdflatex Lucida +pdflatex Lucida + +# Newtx-sans-text +pdflatex Newtx-sans-text +biber Newtx-sans-text +pdflatex Newtx-sans-text +pdflatex Newtx-sans-text + +# Newtx +pdflatex Newtx +biber Newtx +pdflatex Newtx +pdflatex Newtx + +# Heros-Stix2 +lualatex Heros-Stix2 +biber Heros-Stix2 +lualatex Heros-Stix2 +lualatex Heros-Stix2 + +# Stix2 +lualatex Stix2 +biber Stix2 +lualatex Stix2 +lualatex Stix2 + +# Termes-stix2 +lualatex Termes-stix2 +biber Termes-stix2 +lualatex Termes-stix2 +lualatex Termes-stix2 + + +# Termes +lualatex Termes +biber Termes +lualatex Termes +lualatex Termes + + +# clean up + +mkdir pdffiles +mv *.pdf pdffiles +rm *.aux +rm *.bbl +rm *.bcf +rm *.blg +rm *.log +rm *.lot +rm *.lof +rm *.toc +rm *.xml diff --git a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf Binary files differindex 611f9c69ac..69af5643ce 100644 --- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf +++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf diff --git a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex index 2b434f49a7..dc0dd3ed8a 100644 --- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex +++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex @@ -1,13 +1,14 @@ % !TEX TS-program = lualatex % !TEX encoding = UTF-8 Unicode -% Version date: 02 November 2023 +% Version date: 31 August 2024 \DocumentMetadata { - pdfstandard = a-2b,%a-3u,%a-4,% - pdfversion = 1.7, %2.0, + pdfstandard = a-4, + pdfversion = 2.0, lang = en-US, +% testphase = {phase-III, table, firstaid, math, title}, % debug = {xmp-export}, % note that subject entries are all fine in dc format of outputted xmpi file. } @@ -16,13 +17,16 @@ \documentclass[11pt]{article} \usepackage[letterpaper,margin=1in,footskip=0.5in]{geometry} -\usepackage{metalogo} + \usepackage{hologo} \newcommand*\pdfTeX{\hologo{pdfTeX}} +\newcommand*\LuaLaTeX{\hologo{LuaLaTeX}} \usepackage[x11names,svgnames,dvipsnames,table]{xcolor} \usepackage{luacolor} % load AFTER xcolor +\usepackage{mathtools} + \usepackage[en-US]{datetime2} %% change default date format \makeatletter \newcommand{\daymonthyeardate}{% @@ -32,41 +36,6 @@ \usepackage{booktabs} -%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline). -%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref -%%% errors when macros are in section titles. -\let\svsection\section -\RenewDocumentCommand{\section}{s o m}{% - \IfBooleanTF {#1} - {\svsection*{#3}\phantomsection% - {\IfNoValueTF {#2} - {\addcontentsline{toc}{section}{#3}} - {\addcontentsline{toc}{section}{#2}}% removed trailing space 2020/02/28 - }% - }% - {\IfNoValueTF {#2} - {\svsection{#3}} - {\svsection[#2]{#3}}% - }% -} - -%%% Create an optional argument for unnumbered SUBsections and set pdf bookmark (thru \addcontentsline). -%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref -%%% errors when macros are in section titles. -\let\svsubsection\subsection -\RenewDocumentCommand{\subsection}{s o m}{% - \IfBooleanTF {#1} - {\svsubsection*{#3}\phantomsection% - {\IfNoValueTF {#2} - {\addcontentsline{toc}{subsection}{#3}} - {\addcontentsline{toc}{subsection}{#2}} - }% - }% - {\IfNoValueTF {#2} - {\svsubsection{#3}} - {\svssubection[#2]{#3}}% - }% -} %%%%%%%%% Set up text and math fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -116,30 +85,28 @@ \usepackage[psdextra]{hyperref} -\hypersetup{% - unicode,% -% pdftex,% - pdfborder={0 0 0},% - bookmarksnumbered=true,% - bookmarksopen=true,% - bookmarksopenlevel=2,% +\hypersetup{ + pdfborder={0 0 0}, + bookmarksnumbered=true, + bookmarksopen=true, + bookmarksopenlevel=2, colorlinks=true, linkcolor=blue, citecolor=blue, urlcolor=violet, filecolor=red, -% anchorcolor=yellow,% not all pdf viewers recognize this field (Firefox does) + anchorcolor=yellow,% not all pdf viewers recognize this field (Firefox does) % colorscheme=phelype,% overrides link, cite, url, file colors with a preset scheme, through \DocumentMetadata pdfpagelayout=SinglePage, - pdfdisplaydoctitle=true,% + pdfdisplaydoctitle=true, pdfstartview=Fit, pdfmetalang={en}, - pdftitle={Documentation for the MIT thesis template},% - pdfkeywords={John Lienhard, Massachusetts Institute of Technology, MIT, thesis, dissertation, template, latex},% - pdfnewwindow=true,% + pdftitle={Documentation for the MIT thesis template}, + pdfkeywords={John Lienhard, Massachusetts Institute of Technology, MIT, thesis, dissertation, template, latex}, + pdfnewwindow=true, pdfauthor={John H. Lienhard}, pdfauthortitle={Professor of Mechanical Engineering}, - pdfcaptionwriter={{John H. Lienhard, V}}, %{\xmpquote{John H. Lienhard\xmpcomma\ V}}, + pdfcaptionwriter={{John H. Lienhard, V}}, pdfurl={https://lienhard.mit.edu}, pdfcontactemail={lienhard@mit.edu}, pdfcontactaddress={77 Massachusetts Avenue, Room 3-166}, @@ -158,43 +125,38 @@ \cs_if_exist:NTF \pdfmeta_xmp_add:n {\pdfmeta_xmp_add:n{<xmpRights:Marked>True</xmpRights:Marked>}}{} \ExplSyntaxOff -\urlstyle{same} % this changes font for \url to the current text font, but it is not recognized by \href. -\RequirePackage{bookmark}% improves handling of pdf bookmarks +\urlstyle{same}% this changes font for \url to the current text font, but it is not recognized by \href. -%\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code - -%%%%%%% A nomenclature environment, if needed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%% A nomenclature environment, if needed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \providecommand{\nomname}{Nomenclature} \newlength\nomenwidth \newlength\savitemsep \makeatletter +% nomenclature entries \NewDocumentCommand\entry{m m}{% - \ifblank{#2}{% - \ClassWarning{\ClassName}{The command \protect\entry requires two arguments. To obtain a subheading, use \protect\EntryHeading} - \itemsep3\p@ plus 1\p@ minus 1\p@% - \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000% - }{% - \item[#1\hfill]#2% - \@itempenalty=-\@lowpenalty% - }% + \item[#1\hfill]#2% + \@itempenalty=-\@lowpenalty } -% A separate command command for nomenclature subheadings +% nomenclature subheadings \NewDocumentCommand\EntryHeading{m}{% - \itemsep3\p@ plus 1\p@ minus 1\p@% - \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000% + \itemsep3\p@ plus 1\p@ minus 1\p@ + \goodbreak\item[\itshape#1\hfill]\mbox{}% mbox added for tagged pdf 2023/10/11 + \setlength{\itemsep}{\savitemsep}\@itempenalty=1000 } \makeatother % % Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns. % Second optional argument can be used to rename the environment, e.g., to List of Symbols. +% Third optional argument selects section-level or chapter-level style for the nomenclature list. +%\newcounter{dummy}% for tagging code \NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname} O{section}}{% \setlength\columnsep{2em} \setlength{\nomenwidth}{#1} - \csname #3\endcsname *{#2}% this level will probably vary amongst users! add to toc, as well. -% \phantomsection\addcontentsline{toc}{#3}{#2}% removed for this example. + \csname #3\endcsname *{#2}% this level will vary amongst users! +% \refstepcounter{dummy}\addcontentsline{toc}{#3}{#2}% omit contentsline for this document! \raggedright \begin{list}{}{% \setlength{\itemsep}{0pt}% @@ -203,7 +165,7 @@ \setlength{\labelwidth}{\nomenwidth}% \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% - \setlength\savitemsep\itemsep% + \setlength{\savitemsep}{\itemsep}% }% }{\end{list}\ignorespacesafterend} @@ -211,110 +173,121 @@ %%%%%%%%%%%%% End preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\title{The MIT thesis template} -\author{John H. Lienhard \\ Department of Mechanical Engineering \\ Massachusetts Institute of Technology} -\date{\daymonthyeardate} +\renewcommand\abstractname{SUMMARY} \begin{document} -\maketitle +\begingroup + \centering + \LARGE The MIT thesis template\\[1em] + \large + John H. Lienhard \\ Department of Mechanical Engineering \\ Massachusetts Institute of Technology + \\[1em] + \daymonthyeardate\\[1em] +\endgroup -\section*{THE MIT THESIS TEMPLATE} -This template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of fonts, and it is compatible with either pdfTeX or unicode engines such as luaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template. +\phantomsection\pdfbookmark[1]{\abstractname}{summary} +\begin{abstract} +This \LaTeX\ class formats theses according to the requirements of the MIT Libraries. The template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of typefaces, and it is compatible with either pdfTeX or unicode engines such as LuaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template. This document provides instructions for installation and use of the template. +\end{abstract} -\subsection*{Background} +\tableofcontents + +\section{BACKGROUND} The original MIT Thesis template was written \LaTeX\ 2.09 by Stephen Gildea in the late 1980s (in CTAN, \href{https://mirrors.ctan.org/obsolete/macros/latex209/contrib/mitthesis/mitthesis.sty}{here}). That template was edited by many later students. -LaTeX has changed greatly since the original MIT thesis template was written. \LaTeX\ 2.09 was replaced by \LaTeXe\ in 1994. New engines were developed, particularly pdfTeX during the 1990s and Unicode-aware engines in the decades that followed. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the LaTeX kernel began in 2018. Over the years, the MIT Libraries have changed the required format several times, especially as electronic thesis submission has become the norm. The original template served MIT well; but by the early 2020s, it was substantially out of date. That situation motivated the creation of a new template. +LaTeX has changed greatly since the original MIT thesis template was written. \LaTeX\ 2.09 was replaced by \LaTeXe\ in 1994. New engines were developed, particularly pdfTeX during the 1990s and Unicode-aware engines in the decades that followed. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the LaTeX kernel began in 2018. Over the years, the MIT Libraries changed the required format several times, especially as electronic thesis submission became the norm. The original template served MIT well; but by the early 2020s, it was substantially out of date. That situation motivated the creation of a new template. This new MIT thesis template was developed in 2023 at the request of the MIT Libraries. The title and abstract pages strictly follow the current \href{https://libraries.mit.edu/distinctive-collections/thesis-specs/}{requirements of the Libraries}. The underlying code is entirely new, with extensive use of \texttt{expl3} syntax. -\subsection*{System requirements} +\section{SYSTEM REQUIREMENTS AND INSTALLATION} The new \texttt{mitthesis} class uses the features of \LaTeX\ as of 2022, with limited backward compatibility. An up-to-date \LaTeX\ system is therefore necessary when using this template. -\LaTeX\ is a free, open source system. The entire system is distributed through the \TeX\ Live platform (\url{https://www.tug.org/texlive/}), including the basic format, packages, and user interfaces. The system operates on Windows, MacOS, and Unix/Linux. \TeX\ Live is formally updated each year in the spring, and the associated utility package allows users download the most current codes more frequently if they desire. (At the time of this writing, the commercial platform Overleaf.com provides similar functionality.) +\LaTeX\ is a free, open source system. The entire system is distributed through the \TeX\ Live platform (\url{https://www.tug.org/texlive/}), including the basic format, packages, and user interfaces. The system operates on Windows, MacOS, and Unix/Linux. \TeX\ Live is formally updated each year in the spring, and the associated utility package allows users to download the most current codes more frequently if they desire. (At the time of this writing, the commercial platform Overleaf.com provides a similar functionality.) If you are missing a package or documentation, you may obtain it at no cost from CTAN (\href{http://ctan.org}{ctan.org}). -\subsection*{\LaTeX\ engine} -The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of lua code in your \texttt{.tex} file. - -\subsection*{Downloading the template} +\subsection{Downloading the template} The files needed for preparing your thesis are in the CTAN repository: \url{https://ctan.org/pkg/mitthesis}. Copy the subdirectory \texttt{MIT-thesis-template} onto your system. That directory contains files you can modify into your own thesis. -If \texttt{mitthesis.cls} is installed in your system (e.g., if you use an up-to-date version of \TeX\ Live), you are all set. If not, copy the file \texttt{mitthesis.cls} into your working directory. If you plan to use fonts other than the default fonts, ensure that the subdirectory \texttt{fontsets} is present in your working directory. +If the most current version of \texttt{mitthesis.cls} is installed in your system (e.g., if you use an up-to-date version of \TeX\ Live), you are all set. If not, copy the file \texttt{mitthesis.cls} into your working directory. If you plan to use fonts other than the default fonts, ensure that the subdirectory \texttt{fontsets} is present in your working directory. -\subsection*{File structure} +\subsection{File structure} The new MIT thesis template consists of: \texttt{mitthesis.cls}; a root file \texttt{MIT-Thesis.tex}; a file to load the abstract, \texttt{abstract.tex}; a file for design options, \texttt{mydesign.tex}; and an optional file to change the fonts (see the subdirectory, \texttt{fontset}). You should change the name of the root file to something more descriptive of your own work (e.g., \texttt{JohnsThesis.tex}, \texttt{MagnumOpusScientiae.tex},\ldots). In addition, files must be loaded for acknowledgments, an optional biosketch, chapters, optional appendices, and bibliography. -\subsection*{Bibliography} -You may generate your bibliography using either \texttt{biblatex/biber} or \texttt{natbib/bibtex}. The template is set up for \texttt{biblatex} by default, rather than the older, less flexible \texttt{natbib}. +\subsection{\LaTeX\ engine} +The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of Lua code in your \texttt{.tex} file. With Lua code, you can automate plotting, table generation, and other numerical computations. -\subsection*{PDF/A compatibility} -PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{..}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX, the \texttt{mitthesis} class will fall back to loading the \texttt{hyperxmp} package to support pdf metadata, but PDF/A compliance will require post-processing (for example, by using the PreFlight function of Adobe Acrobat). An up-to-date \LaTeX\ installation is preferred. +\subsection{PDF/A compliance} +PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{pdfstandard = a-2b}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX, +PDF/A compliance will require post-processing (for example, by using the PreFlight function of Adobe Acrobat). Current \LaTeX\ development (ca.~2024) is working toward fully \textit{accessible} PDF/A out of the box (e.g., PDF/A-2a). Unicode compliance (e.g., PDF/A-2u) depends greatly on your fonts and figures. -Current \LaTeX\ development (ca.~2023) is working toward fully \textit{accessible} PDF/A out of the box (e.g., PDF/A-2a). Unicode compliance (e.g., PDF/A-2u) depends greatly on your fonts and figures. -\section*{INFORMATION YOU NEED TO COMPLETE} -Various fields and commands must be changed to your own information in the preamble of \texttt{MIT-Thesis.tex} and immediately after the \verb|\begin{document}| command. This information includes the title, author, degree and other essential information. With the comments in \texttt{MIT-Thesis.tex}, this step should be self-explanatory. Nevertheless some comments follow. +\section{SETTING UP TITLE PAGE, ABSTRACT, AND BIBLIOGRAPHY} +Various fields and commands must be changed to your own information in the preamble of \texttt{MIT-Thesis.tex} and immediately after the \verb|\begin{document}| command. This information includes the title, author, degree and other essential information. With the comments in \texttt{MIT-Thesis.tex}, this step should be self-explanatory. Nevertheless, some explanation follows. -In the \verb|\hypersetup{..}| command, change the sample file to match your own information (e.g., keywords, subject, etc.). These commands generate metadata that are incorporated into the pdf file. -The commands that define the title page are as follow. -\begin{itemize} +\begin{enumerate} +\item In the \verb|\hypersetup{..}| command, change the sample file to match your own information (e.g., keywords, subject, etc.). These commands generate metadata that are incorporated into the pdf file. + \item \verb|\title{the title of your thesis}| \item \verb|\Author{author full name}{author department}[1st PREVIOUS degree][2nd...| \linebreak Note that third, fourth, fifth, and sixth arguments are optional [..] and may be omitted. Use once for each author. -\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis. If the thesis satisfies two degrees from one department, leave the department argument blank for the \textit{second} degree: \verb|\Degree{2nd degree name}{}| +\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis. + +If two departments jointly issue a single degree, leave the degree name blank for the \textit{second} degree: +\verb|\Degree{}{2nd department name}|. +If the thesis satisfies two degrees from one department, leave the department argument blank for +the \textit{second} degree: \verb|\Degree{2nd degree name}{}|. -\item \verb|\Supervisor{supervisor name}{supervisor title}|. Use once for each supervisor. +If you wish to cause a line break in a very long degree name, you can insert \verb|\\| at an appropriate point. +Department names should not break across lines. For example: +\begin{quote} +\verb|\Degree{Doctor of Philosophy \\ in \\ Electrical Engineering and Computer|\linebreak +\hbox{}\qquad\verb|Science}{Department of Electrical Engineering and Computer Science}| +\end{quote} + +\item \verb|\Supervisor{supervisor name}{supervisor title}|. Use once for each supervisor. See \S\ref{sec:6.3} if your supervisor has more than one title. \item \verb|\Acceptor{acceptor name}{acceptor title}{thesis related position}|. Professor who accepts theses for your department (e.g., the Graduate Officer). Use once for each department. \item \verb|\DegreeDate{Month}{year}|. Date degree is awarded (February, May, June, or September). \item \verb|\ThesisDate{date}|. Date that your final thesis is submitted to the department. -\end{itemize} +\end{enumerate} -\subsection*{Copyright license} +\subsection{Copyright license} If you wish to make your thesis available under a Creative Commons License, issue the following command between \verb|\begin{document}| and \verb|\maketitle|: \verb|\CClicense{license type}{license url}|. For example, \vskip 5pt \noindent\quad\verb|\CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/}|. -\subsection*{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can using some or all of the following techniques. The commands must be given before \verb|\maketitle|. -\begin{enumerate} - \item Reduce the 12pt and 18pt skips between the various blocks of text to 6pt with this command: - \vskip 5pt - \noindent\verb|\Tighten| - \item Reduce the font size in the signature block with this command: - \vskip 5pt - \noindent\verb|\SignatureBlockSize{\small}| - \item Put the acceptor name and title onto two lines, rather than three, by putting the acceptor's position into the 2\textsuperscript{nd} argument and leaving the 3\textsuperscript{rd} argument blank: - \vskip 5pt - {\small\noindent\verb|\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}|} - \item Reduce the font size of the the author name[s] from \verb|\large| to \verb|\normalsize| with this command: - \vskip 5pt - \noindent\verb|\AuthorNameSize{\normalsize}| - \item Omit previous degrees from the title page, instead mentioning them in the biographical sketch. -\end{enumerate} +\subsection{Bibliography} +You may generate your bibliography using either \texttt{biblatex/biber} or \texttt{natbib/bibtex}. The template is set up for \texttt{biblatex} by default, rather than the older, less flexible \texttt{natbib}. The \texttt{biblatex} package is very powerful, and you can customize most aspects the reference list and citations to suit your needs. See the documentation for details: \hrefurl{https://ctan.org/pkg/biblatex}{ctan.org/pkg/biblatex}. -Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you -can use this command to squash the vertical glue (\TeX's stretchy space): - \vskip 5pt - \quad\verb|\Squash| - \vskip 5pt -\noindent This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically when the page is too full. +The style of citations and references can be set in your \texttt{.tex} file. For numerical citations of references (e.g., [1]), you can do +\vskip 5pt +\verb|\usepackage[style=ext-numeric-comp,giveninits=true,sorting=none]{biblatex}| +\vskip 5pt +\noindent For IEEE style citations and references, you might do +\vskip 5pt +\verb| \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}| +\vskip 5pt +\noindent For author/year style (Smith, 2024), you might do +\vskip 5pt +\verb| \usepackage[style=authoryear, maxbibnames=10]{biblatex} | +\vskip 5pt +\noindent In the author/year style, \verb|\cite{..}| commands do not automatically produce parentheses. Instead, you can do +\verb|\parencite{..}| to get ``(Author, year).'' -\section*{PACKAGE OPTIONS} -Package options may be specified for \verb|\documentclass[..]{mitthesis}|. These options are described in Table~\ref{tab:1} and the subsections that follow. +\section{CLASS OPTIONS} +Class options may be specified for \verb|\documentclass[..]{mitthesis}|. These options are described in Table~\ref{tab:1} and the subsections that follow. \begin{table}[b] \caption{Options to the document class\label{tab:1}} @@ -323,7 +296,7 @@ Package options may be specified for \verb|\documentclass[..]{mitthesis}|. These \small \begin{tabular}{>{\ttfamily}l<{} >{\raggedright\arraybackslash}p{42em} } \toprule -\textrm{Package option} & Effect \\ +\textrm{Class option} & Effect \\ \midrule fontset & is a keyvalue, \texttt{fontset = <\textit{name}>}, which selects the set of fonts used for the thesis. See description below. \\ lineno & this option loads the \texttt{\hrefurl{https://ctan.org/pkg/lineno}{lineno}} package, which provides line numbers, as for editing. The \texttt{\hrefurl{https://ctan.org/pkg/lineno}{lineno}} package provides additional commands to control line numbering. \\ @@ -334,17 +307,16 @@ twoside & gives facing-page behavior for two-sided printing; omitting it will e \end{tabular}}% \end{table} -\subsection*{Font loading} -By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ fonts, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts. +\subsection{Font loading} +By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ typeface, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts. -Ten fontsets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named. +Ten font sets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named. For unicode engines, you must have the relevant fonts installed as system fonts on your computer. -Among the predefined fonts, Termes and NewTX are serifed fonts similar to the digital font Times New Roman. STIX Two is more similar to the original metal-type Times font. Linux Libertine is a serif font inspired by 19\textsuperscript{th} century book type. Lucida is a serifed font designed for high legibility at small size or on low resolution devices. This font is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text fonts similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX font. Fira is a humanist sans-serif text font designed in association with the Firefox browser. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ font---is a Didone font, with high contrast between thick and thin elements. +Among the predefined font sets, Termes and NewTX are serifed typefaces similar to the digital typeface Times New Roman. STIX Two is more similar to the original metal-type Times typeface. Linux Libertine is a serif typeface inspired by 19\textsuperscript{th} century book type. Lucida is a serifed typeface designed for high legibility at small size or on low resolution devices. Lucida is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text typefaces similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX fonts. Fira is a humanist sans-serif text typeface designed in conjunction with the Firefox operating system. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ typeface---is a Didone typeface, with high contrast between thick and thin elements. +% STIX Two, Termes, and LMR do not include a separate bold math font. -You may also place your own fontset file, say \texttt{Myfontset.tex}, in your working directory, and load it with - -\vskip10pt -\hfill\verb|\documentclass[fontset=Myfontset]{mitthesis}|\hfill\hbox{} +You may also place your own font-set file, say \texttt{Myfontset.tex}, in your working directory, and load it with: +\verb|\documentclass[fontset=Myfontset]{mitthesis}|. \begin{table}[t] \caption{Predefined font sets\label{tab:2}} @@ -362,7 +334,7 @@ default & yes & yes & serif & serif & CM \& LM fonts are included in \TeX\ libertine & yes & yes & serif & serif & in \TeX\ Live for \pdfTeX. For unicode, OpenType text fonts freely available here \linebreak \url{https://sourceforge.net/projects/linuxlibertine/}\linebreak and the math font here \linebreak \url{https://github.com/alerque/libertinus} \\ -lucida & yes & yes & serif & serif & the lucida fonts are available from the \TeX\ User's Group, +lucida & yes & yes & serif & serif & the Lucida fonts are available from the \TeX\ User's Group, \url{https://tug.org/store/lucida} \\[2em] heros-stix2 & no & yes & sans & serif & \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} \linebreak\url{https://github.com/stipub/stixfonts} \linebreak fonts are free \\ stix2 & no & yes & serif & serif & \url{https://github.com/stipub/stixfonts}, fonts are free\\ @@ -374,20 +346,67 @@ termes-stix2 & no & yes & serif & serif & \url{http://www.gust.org.pl/projects/ \end{tabular}}% \end{table} -\subsection*{Design options} +\subsection{Design options} The thesis will follow the default styles of the \LaTeX\ report class for sections headings, captions, and lists. If you prefer different styles you can use the class option [mydesign] which loads the file \texttt{mydesign.tex}. -With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, that change the margins, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file. +With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can change the margins with \verb|\newgeometry{..}| from the \texttt{\hrefurl{https://ctan.org/pkg/geometry}{geometry}} package. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file. Hyperlink colors and pdf bookmark or viewing options from the \texttt{hyperref} package can be changed by using \verb|\hypersetup{ .. }| in the preamble or using \verb|\AtBeginDocument{ \hypersetup{ .. } }| in the \texttt{mydesign.tex} file. -\subsection*{Single-sided vs.\ double-sided layout} +\subsection{Single-sided vs.\ double-sided layout} The sample template uses the option \texttt{[twosided]}, which starts major sections (abstract, table of contents, chapters, etc.) on odd-numbered pages. This arrangement is suitable for two-sided printing, but can lead to empty even-numbered pages. If you do not wish to have this behavior, omit that option. By default, even and odd page margins are the same; this can be changed in \texttt{mydesign.tex} if necessary. -\begin{table}[t] +\subsection{Additional commands} +The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed. + +\subsection{Nomenclature} +An optional nomenclature environment is provided by the class. This environment can support either chapter-by-chapter nomenclature (at the section level) or a single nomenclature for the entire thesis (at the chapter level). The environment has three optional arguments: [1] adjust space between symbol and definition; [2] name (heading) of the nomenclature list; and [3] level, which can be ``chapter'' or ``section'' depending on whether you +have one nomenclature list for whole thesis or one for each chapter (the default is section). + +For example, the following code +\begin{center} +\begin{minipage}{0.85\textwidth} +\begin{verbatim} +\begin{nomenclature}[2em][Nomenclature for Chapter 1][section] +\EntryHeading{Roman letters} +\entry{$\mathcal{C}$}{material curve} +\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]} +\EntryHeading{Greek letters} +\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]} +\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]} +\end{nomenclature} +\end{verbatim} +\end{minipage} +\end{center} +produces the nomenclature list below +\begin{center} +\begin{minipage}{0.8\textwidth} +\begin{nomenclature}[2em][Nomenclature for Chapter 1][section] +\EntryHeading{Roman letters} +\entry{$\mathcal{C}$}{material curve} +\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]} +\EntryHeading{Greek letters} +\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]} +\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]} +\end{nomenclature} +\end{minipage} +\end{center} +%% \cramped is from the mathtools package, and moves the superscript a bit lower + +\section{PACKAGES FOR MATH, CHEMISTRY, CODE, TABLES, AND MORE} +The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1 + +Specialized packages for many disciplines can be found in \hrefurl{https://ctan.org}{CTAN}. These include subjects like \hrefurl{https://ctan.org/topic/chemistry}{chemistry}, \hrefurl{https://ctan.org/topic/linguistic}{linguistics}, and \hrefurl{https://ctan.org/topic/physics}{physics}. As examples of such packages, the sample thesis template uses the package \texttt{\hrefurl{https://ctan.org/pkg/mhchem}{mhchem}} to set chemical equations and the package \texttt{\hrefurl{https://ctan.org/pkg/listings}{listings}} to list computer code. + +Several packages focus on table and tabular environments. The \texttt{\hrefurl{https://ctan.org/pkg/booktabs}{booktabs}} package, use in the sample thesis template, produces better quality horizontal lines (called \textit{rules}) for separating material in tables. The \texttt{\hrefurl{https://ctan.org/pkg/array}{array}} package (also used) provides additional options for column formats in tabular environments, the \texttt{\hrefurl{https://ctan.org/pkg/dcolumn}{dcolumn}} package aligns columns of numbers on the decimal separator, and the \texttt{\hrefurl{https://ctan.org/pkg/longtable}{longtable}} package (also used) formats multipage tables with automatic page breaking. + +When selecting a package to use, check that it is currently maintained (with relatively recent updates), and compare it to other packages that perform similar functions. Some packages are better than others, and some obsolete packages remain online. + +The packages called by \texttt{mitthesis} are listed in Table~\ref{tab:3} on page~\pageref{tab:3}. + +\begin{table} \caption{External packages used. For documentation, visit CTAN, \url{https://ctan.org}. Alternatively, if you have \hrefurl{https://www.tug.org/texlive/}{\TeX\ Live} installed, you can open a terminal window and type \texttt{\%\ texdoc package-name}.\label{tab:3}} -\vskip5pt -\centering{\small% +\centering{\footnotesize% \setlength\extrarowheight{3pt} \begin{tabular*}{\textwidth}{>{\ttfamily}l<{}@{\extracolsep{\fill}}p{18em} p{22em} } \\[-5pt] @@ -395,25 +414,30 @@ The sample template uses the option \texttt{[twosided]}, which starts major sect Package & Class & User \\ \midrule bm & defines commands to access bold math symbols (loaded for default fonts) & with \pdfTeX, the command \verb|\bm{..}| produces a bold math symbol \\ -bookmarks& is loaded automatically under the new pdf-management system & customize pdf bookmarks \\ +bookmark & is loaded automatically under the new pdf-management system & customize pdf bookmarks \\ doi & support for hyperlinking DOIs & hyperlink a doi number: \verb|\doi{..}| \\ etoolbox & extend or modify other macros & can use in preamble if needed \\ -iftex & check which \LaTeX\ engine is running& macros to check which engine, e.g., \verb|\ifpdftex| \\ geometry & set page size and margins & can use \verb|\newgeometry| in \texttt{mydesign.tex}\\ graphicsx& support for inserting images & use to include graphics\\ hyperref & support for hyperlinks and metadata & must complete setup in preamble\\ -mathtools& loads and extends \texttt{amsmath} & \textbf{many useful math macros available}. See documentation for \texttt{amsmath} and \texttt{mathtools} \\[0.7em] +iftex & check which \LaTeX\ engine is running& macros to check which engine, e.g., \verb|\ifpdftex| \\ +mathtools& loads and extends \texttt{amsmath} & \textbf{many useful math macros available}. See documentation for \texttt{amsmath} and \texttt{mathtools} \\ \midrule hyperxmp & fallback if no \verb|\DocumentMetadata{..}|& ---\\ kvoptions& key values for systems pre 2022/11/01 & ---\\ -xparse & for systems older than 2020/10/01 & macros to define new commands\\[0.7em] +xparse & for systems older than 2020/10/01 & macros to define new commands\\ \midrule -lineno & loaded if class option is given & keyvalue \texttt{lineno} will give line numbers; \texttt{lineno} package has additional commands that control line numbering\\[3em] +lineno & loaded if class option is given & keyvalue \texttt{lineno} will give line numbers; \texttt{lineno} package adds commands to control numbering\\ \midrule caption & also loaded by \texttt{mydesign.tex} & support for caption styling \\ subcaption & also loaded by \texttt{mydesign.tex} & support for subfigures within figures \\ titlesec & also loaded by \texttt{mydesign.tex} & support for styling section headings \\ xcolor & also loaded by \texttt{mydesign.tex} & support for colors, including colored fonts \\[0.7em] +array & --- & additional options for formatting table columns \\ +booktabs & --- & better quality tables, with additional commands \\ +dcolumn & --- & align number columns on selectable separators \\ +longtable & --- & multipage tables with automatic page breaking \\ +microtype & --- & typographical refinements: character protrusion, font expansion, letter spacing (tracking), etc. \\ \midrule babel & --- & if you use multiple languages, load \texttt{babel} in a fontset file before loading fonts \\ biblatex & --- & sample template uses this bibliography tool. Change to \texttt{natbib} if you prefer\\ @@ -428,75 +452,72 @@ unicode-math & --- & load in a fontset file if using a unicode engine\\ \end{tabular*}}% \end{table} -\subsection*{Additional commands} -The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed. - - -\subsection*{Nomenclature} -An optional nomenclature environment is provided by the class. This environment can support either chapter-by-chapter nomenclature (at the section level) or a single nomenclature for the entire thesis (at the chapter level). The environment has three optional arguments: [1] adjust space between symbol and definition; [2] name (heading) of the nomenclature list; and [3] level, which can be ``chapter'' or ``section'' depending on whether you -have one nomenclature list for whole thesis or one for each chapter (the default is section). +\section{TROUBLESHOOTING AND MODIFICATIONS} +\subsection{Listing thesis committee members or using a signature page} +Listing committee members (with or without signatures) is not required under MIT's thesis specifications. Only the thesis supervisor should appear on the title page, not a list of committee members. However, some departments may require a separate committee or signature page. That page can be inserted by the author between the title and abstract pages. Check with your department about this page and any associated formatting requirements. -For example, the following code -\begin{center} -\begin{minipage}{0.8\textwidth} -\begin{verbatim} -\begin{nomenclature}[2em][Nomenclature for Chapter 1][section] -\EntryHeading{Roman letters} -\entry{$\mathcal{C}$}{material curve} -\EntryHeading{Greek letters} -\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]} -\end{nomenclature} -\end{verbatim} -\end{minipage} -\end{center} -produces the nomenclature list below -\begin{center} -\begin{minipage}{0.8\textwidth} -\begin{nomenclature}[2em][Nomenclature for Chapter 1][section] -\EntryHeading{Roman letters} -\entry{$\mathcal{C}$}{material curve} -%\entry{$\mathbf{u}$}{velocity [m s$^{-1}$]} -\EntryHeading{Greek letters} -\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]} -%\entry{$\rho$}{mass density [kg m$^{-3}$]} -\end{nomenclature} -\end{minipage} -\end{center} +\subsection{Dealing with multiple titles in the signature block}\label{sec:6.3} +When a thesis supervisor has multiple titles (which will not fit on one line), you can obtain a line break with proper horizontal spacing by doing + \vskip 5pt + \quad\verb|\Supervisor{name}{first title and \\ \> second title}| + \vskip 5pt +\noindent The same trick works in the \verb|\Acceptor| command. +\textbf{\TeX hackers note:} The signature block is typeset as a \LaTeX\ \texttt{tabbing} environment. -\section*{PACKAGES FOR MATH, CHEMISTRY, CODE LISTINGS, AND MORE} -The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1 +\subsection{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can use some or all of the following techniques. The commands must be given before \verb|\maketitle|. +\begin{enumerate} + \item Reduce the 12 pt and 18 pt skips between the various blocks of text to 6 pt with this command: + \vskip 5pt + \noindent\verb|\Tighten| + \item Reduce the font size in the signature block with this command: + \vskip 5pt + \noindent\verb|\SignatureBlockSize{\small}| + \item Put the acceptor name and title onto two lines, rather than three, by putting the acceptor's position into the 2\textsuperscript{nd} argument and leaving the 3\textsuperscript{rd} argument blank: + \vskip 5pt + {\small\noindent\verb|\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}|} + \item Reduce the font size of the the author name[s] from \verb|\large| to \verb|\normalsize| with this command: + \vskip 5pt + \noindent\verb|\AuthorNameSize{\normalsize}| + \item Omit previous degrees from the title page, instead mentioning them in the biographical sketch. +\end{enumerate} -Specialized packages for many disciplines can be found in \hrefurl{https://ctan.org}{CTAN}. These include subjects like \hrefurl{https://ctan.org/topic/chemistry}{chemistry}, \hrefurl{https://ctan.org/topic/linguistic}{linguistics}, and \hrefurl{https://ctan.org/topic/physics}{physics}. As examples of such packages, the sample thesis template uses the package \texttt{\hrefurl{https://ctan.org/pkg/mhchem}{mhchem}} to set chemical equations and the package \texttt{\hrefurl{https://ctan.org/pkg/listings}{listings}} to list computer code. -When selecting a package to use, check that it is currently maintained (with relatively recent updates), and compare it to other packages that perform similar functions. Some packages are better than others, and some obsolete packages remain online. +\subsection{Push title page text toward top} If you prefer to keep the text toward the top of the page with most white space at the bottom, you +can use this command to squash the vertical glue (\TeX's stretchy space): + \vskip 5pt + \quad\verb|\Squash| + \vskip 5pt +\noindent This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically when the page is too full. -The packages called by \texttt{mitthesis} are listed in Table~\ref{tab:3} on page~\pageref{tab:3}. +\subsection{Changing paragraph separation} +If you prefer to denote paragraph breaks by vertical space rather than indentation, you can try the \texttt{parskip} package: \hrefurl{https://ctan.org/pkg/parskip}{ctan.org/pkg/parskip}. See that package's documentation for details. -\section*{USE OUTSIDE MIT} -If you wish to adapt this template for use at a different institution, you can put the following commands in your preamble. +\subsection{Use outside MIT} +To adapt this template for use at a different institution, you can put the following commands in your preamble. \begin{itemize} -\item Use \verb|\Institution{Your Institution}| to change MIT to your own institution on the title page. %{\small\textit{New with v1.06.}} +\item Use \verb|\Institution{Your Institution}| to change MIT to your own institution on the title page. \item Use \verb|\maketitle*| (in place of \verb|\maketitle|) to drop the MIT copyright permission statement \item If your institution issues degrees in months other than February, May, June, or September, you can still put those months into the -\verb|\DegreeDate| command. To suppress the resulting error message, put \verb|\SuppressMonthError| before \verb|\maketitle*|. %\newline{\small\textit{New with v1.11.}} +\verb|\DegreeDate| command. To suppress the resulting error message, put \verb|\SuppressMonthError| before \verb|\maketitle*|. -\item Omitting \verb|\Acceptor| commands will drop the ``Accepted by:'' field. To suppress the resultant error message, put \verb|\SuppressAcceptorError| before \verb|\maketitle*|. %\newline{\small\textit{New with v1.06.}} +\item Omitting \verb|\Acceptor| commands will drop the ``Accepted by:'' field. To suppress the resultant error message, put \verb|\SuppressAcceptorError| before \verb|\maketitle*|. + +\item To change ``Thesis Supervisor'' to something else use \verb|\SupervisorDesignation{..}|. \end{itemize} Please do not remove the license/copyright text from the sources files --- this code took me some time write! -\section*{RESOURCES FOR \LaTeX} +\section[RESOURCES FOR LATEX]{RESOURCES FOR \LaTeX} \LaTeX\ documentation is easy to find online. A few useful resources, among many, are these: \begin{description} \item[\LaTeX\ Wikibook.] \url{https://en.wikibooks.org/wiki/LaTeX}. An online tutorial book. \item[\LaTeX 2e: An unofficial reference manual.] \url{https://latexref.xyz/dev/latex2e.html}. A comprehensive explanation of each \LaTeX\ command, from the \TeX\ User's Group. \item[\TeX\ Stack-Exchange.]\ \url{https://tex.stackexchange.com/}. More than 250,000 answered questions, and you can ask your own! -\item[ChatGPT.] At the time of this writing, ChatGPT, a chatbot based on a large language model, could both answer some \LaTeX-related questions and write acceptable \LaTeX\ and expl3 code. +\item[ChatGPT.] At the time of this writing, ChatGPT, a chatbot based on a large language model, could sometimes accurately answer \LaTeX-related questions or write acceptable \LaTeX\ and expl3 code. \end{description} - \vskip 30pt \centering{\color{Red3}\Large\textbf{\textit{Good luck with your thesis and your thesis defense!}} diff --git a/macros/latex/contrib/mitthesis/mitthesis.cls b/macros/latex/contrib/mitthesis/mitthesis.cls index b48703d745..0a142d30ae 100644 --- a/macros/latex/contrib/mitthesis/mitthesis.cls +++ b/macros/latex/contrib/mitthesis/mitthesis.cls @@ -4,11 +4,11 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% This file provides the mitthesis LaTeX class for formatting theses according to -%% MIT Libraries' requirements as of 2023. +%% MIT Libraries' requirements as of 2024. %% %% This file's version and date: - \def\versionno{1.11} - \def\versiondate{2023/11/02\space} + \def\versionno{1.15} + \def\versiondate{2024/08/31\space} %% %% Author: John H. Lienhard, V %% Department of Mechanical Engineering @@ -25,7 +25,7 @@ %% %% LICENSE: %% -%% Copyright (c) 2023 John H. Lienhard +%% Copyright (c) 2024 John H. Lienhard %% %% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and %% associated documentation files (the "Software"), to deal in the Software without restriction, @@ -57,34 +57,24 @@ \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01 \providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01 -\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15 +\providecommand\IfPDFManagementActiveTF{\@secondoftwo}% \If... added to latex 2021/07/23 +\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If... added to latex 2021/11/15 +\providecommand\ClassNoteNoLine[2]{\typeout{^^JClass Note #1: #2.^^J}}% log & terminal note... added to latex 2021/11/15 \IfFormatAtLeastTF{2020/10/01}{% - \typeout{^^JYour LaTeX format is dated \fmtversion. LaTeX distributions from 2022/11/01 or later are strongly recommended for best results^^J} + \ClassNoteNoLine{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions from 2022/11/01 or later are strongly recommended for best results} }{% \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2022/11/01 or later are strongly recommended for this class. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now...}% } -% check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp) +% check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp and bookmark packages after loading hyperref) \newif\ifmit@pdfmanagement -\ExplSyntaxOn - \msg_new:nnn { \ClassName } { loading_hyperxmp } { pdfmanagement\ is\ not\ active.\ Will\ load\ hyperxmp\ instead. } - % As of 2021/07/23 we could instead use \IfPDFManagementActiveTF{true code}{false code} - \IfFormatAtLeastTF{2020/10/01}{ - \bool_if:nTF - { - \bool_lazy_and_p:nn - { \cs_if_exist_p:N \pdfmanagement_if_active_p: } - { \pdfmanagement_if_active_p: } - } - { \mit@pdfmanagementtrue } - { \mit@pdfmanagementfalse - \msg_warning:nn { \ClassName } { loading_hyperxmp } - } - }{ \mit@pdfmanagementfalse - \msg_warning:nn { \ClassName } { loading_hyperxmp } - } -\ExplSyntaxOff +\IfPDFManagementActiveTF{ + \mit@pdfmanagementtrue +}{ + \mit@pdfmanagementfalse + \ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead} +} % Enable pre-2020/10 formats to access essential macros later moved into LaTeX kernel \ifdefined\NewDocumentCommand\else @@ -99,6 +89,7 @@ \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax} } } +% Most compatibility commands will be dropped as time goes by ... %%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -163,19 +154,41 @@ %%%%%%%%%%%%% Patch table of contents, list of figures, and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% We'd like these sections to have pdf bookmarks and to have the two lists appear in the table of contents and have +% pdf bookmarks. This is not automatic for \chapter*, which is the format of toc, lof, and lot. + \RequirePackage{etoolbox}% provides \patchcmd -% We'd like these sections to have pdf bookmarks and to have the two lists appear in the table of contents +\patchcmd{\tableofcontents}{\contentsname}{\pdfbookmark[0]{Table of Contents}{toc}\contentsname}{}{} % placement matters. + +%% Temporary accommodation of latex tagging. Rework once tagging structures have been finalized by LaTeX3 team. +%% No guarantee that this hack is hierarchically correct. +%% Current latex-lab places tags around \@schapter, which is harder to deal with here. +\providecommand*\MakeLinkTarget{\@gobbletwo} + +\patchcmd{\listoffigures}{\chapter*{\listfigurename}}{\chapter*{\phantomsection\listfigurename}\MakeLinkTarget[chapter]{}\addcontentsline{toc}{frontmatter}{\listfigurename}}{}{} +\patchcmd{\listoftables}{\chapter*{\listtablename}}{\chapter*{\phantomsection\listtablename}\MakeLinkTarget[chapter]{}\addcontentsline{toc}{frontmatter}{\listtablename}}{}{} -\patchcmd{\tableofcontents}{\@starttoc{toc}}{\pdfbookmark[0]{Table of Contents}{toc}\@starttoc{toc}}{}{} -\patchcmd{\listoffigures}{\chapter*{\listfigurename}}{\chapter*{\listfigurename}\addcontentsline{toc}{chapter}{\listfigurename}}{}{} -\patchcmd{\listoftables}{\chapter*{\listtablename}}{\chapter*{\listtablename}\addcontentsline{toc}{chapter}{\listtablename}}{}{} +\NewCommandCopy\l@frontmatter\l@chapter +\NewCommandCopy\l@backmatter\l@chapter +\providecommand*{\toclevel@frontmatter}{0}% prevent warning, see hyperref manual Sec. 13.3 +\providecommand*{\toclevel@backmatter}{0} + +%% if you want different formatting for front/back matter, change here (cf. report.cls). +\patchcmd{\l@frontmatter}{\bfseries}{\itshape}{}{} +\patchcmd{\l@frontmatter}{\nobreak\hfil}{\upshape\nobreak\hfil}{}{} +\patchcmd{\l@frontmatter}{1.0em}{3pt}{}{} +\patchcmd{\l@backmatter}{\bfseries}{\itshape}{}{} +\patchcmd{\l@backmatter}{\nobreak\hfil}{\upshape\nobreak\hfil}{}{} %%%%%%%%%%%%% Geometry, mathtools, graphics, design, fonts, hyperrefs, bookmarks, footnotes %%%%%%%%%%%%%%%%%%% -%\RequirePackage[letterpaper,top=1in,bottom=0.97136in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.47136in]{geometry} % bottom margin allows 45\baselineskip in \textheight -\RequirePackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.5in,heightrounded]{geometry} % 44\baselineskip = \texteheight - \topskip = 650.0pt - 12pt with rounded height +%\RequirePackage[letterpaper,top=1in,bottom=0.97136in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.47136in]{geometry} +% bottom margin allows 45\baselineskip in \textheight + +\RequirePackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.5in,heightrounded]{geometry} +% 44\baselineskip = \texteheight - \topskip = 650.0pt - 12pt with rounded height \RequirePackage{mathtools}% loads and extends amsmath; must load before hyperref and unicode-math @@ -198,16 +211,17 @@ https://ctan.org/tex-archive/macros/latex/contrib/mitthesis/MIT-thesis-template.}% }% \else - \RequirePackage[hyperref,dvipsnames,svgnames,x11names]{xcolor} + \RequirePackage[dvipsnames,svgnames,x11names]{xcolor} % \RequirePackage{caption,subcaption} % \RequirePackage{titlesec} % these titlesec commands just automate the bold math in some headings (rest follows default styles) % NOT every font includes a bold math version, so you may need to use other math macros in the headings to get bold math <== - \titleformat{\section}{\mathversion{bold}\normalfont\Large\bfseries}{\thesection }{1em}{} + % Predefined fontsets for which bold math exists are: CMR, Fira, Libertinus, Lucida, newtx + \titleformat{\section}{\mathversion{bold}\normalfont\Large\bfseries}{\thesection}{1em}{} \titleformat{\subsection}{\mathversion{bold}\normalfont\large\bfseries}{\thesubsection}{1em}{} - \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{} + \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{} % \AtBeginDocument{ \hypersetup{ @@ -226,21 +240,21 @@ \RequirePackage{iftex}[2019/11/07]% provides \ifpdftex, etc. -\typeout{^^JFontset key is \mit@fontset.^^J} +\ClassNoteNoLine{\ClassName}{Fontset key is \mit@fontset} \IfFileExists{fontsets/\ClassName-\mit@fontset.tex}{% 2023/07/03 \input{fontsets/\ClassName-\mit@fontset.tex} }{% - \ClassWarning{\ClassName}{^^JFontset file \ClassName-\mit@fontset.tex or subdirectory fontsets not found, will look for \mit@fontset.tex in your working directory.} + \ClassWarning{\ClassName}{Fontset file \ClassName-\mit@fontset.tex or subdirectory fontsets not found, will look for \mit@fontset.tex in your working directory} \IfFileExists{\mit@fontset.tex}{% 2023/08/30 \input{\mit@fontset.tex} }{ - \ClassWarning{\ClassName}{^^JFontset file \mit@fontset.tex not found, using default fonts. You may need to place the fontset file into your working directory.} + \ClassWarning{\ClassName}{Fontset file \mit@fontset.tex not found, using default fonts. You may need to place the fontset file into your working directory} \ifpdftex - \typeout{^^JLoading Computer Modern text and math fonts (default for pdftex).^^J} + \ClassNoteNoLine{\ClassName}{Loading Computer Modern text and math fonts (default for pdftex)} \RequirePackage[T1]{fontenc} \RequirePackage{bm} \else - \typeout{^^JLoading Latin Modern text and math fonts (default for unicode engines).^^J} + \ClassNoteNoLine{\ClassName}{Loading Latin Modern text and math fonts (default for unicode engines)} \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math. % Unicode-math loads fontspec package, but default fonts are not selected by fontspec in this case. @@ -251,15 +265,18 @@ %%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage[psdextra]{hyperref} -% the new pdf-management scheme loads the bookmarks package internally. % authors should use hypersetup to set details, in root .tex file \urlstyle{same} % this changes font for \url to the current text font -\providecommand\hrefurl[2]{\href{#1}{#2}}% in case \DocumentMetadata has not been loaded \RequirePackage{doi} % create macro for hyperlinking doi numbers +%% In case \DocumentMetadata was not loaded +\providecommand\hrefurl[2]{\href{#1}{#2}} + +% pdfmanagement loads bookmarks package internally \ifmit@pdfmanagement\else \RequirePackage{hyperxmp} + \RequirePackage{bookmark} \fi % the user can alter these choices in the preamble, or by @@ -284,12 +301,14 @@ %%%%%%%%%%%% PDF bookmark strings %%%%%%%%%%%%%%%% -%%% Since \bm may be useful in headings, use this fix to reduce frequency with which alternate -%%% bookmark strings must be given with commands such as \section{ \texorpdfstring{texstring}{pdfstring} } +%%% By early 2024, \pdfstring removes all robust commands from bookmarks, so that such commands +%%% don't cause errors; the following pdfstringdisables serve to suppress warnings. + +%% \bm may be useful in headings, but let's disable in the associated bookmarks \pdfstringdefDisableCommands{% \def\bm#1#{\relax}% } -%%% Let's disable \( and \) in pdf bookmarks +%% Let's disable \( and \) in pdf bookmarks \pdfstringdefDisableCommands{% \def\({\relax}% \def\){\relax}% @@ -312,10 +331,22 @@ \def\footnote#1{}% } +%%% Here's a more cumbersome removal of the warning for $ (math shift) in pdfbookmarks. +%%% Not implementing this by default, since novice authors may benefit from the warning. :-) +%%% https://tex.stackexchange.com/a/620360/119566 +%\let\oldHyPsd@CatcodeWarning\HyPsd@CatcodeWarning +%\renewcommand{\HyPsd@CatcodeWarning}[1]{% +% \ifnum\pdfstrcmp{#1}{math shift}=0 % If 'math shift' is present, do nothing +% \else +% \oldHyPsd@CatcodeWarning{#1}% % else, keep usual warning. +% \fi +%} \ExplSyntaxOn %\debug_on:n {all} +\prop_gput:Nnn \g_msg_module_type_prop { \ClassName } { Class } + %%%%%%%%%% Commas between successive footnotes %%% \cs_new:Npn \__mitthesis_NoteComma:n { \peek_meaning:NT \footnote {\textsuperscript{\mdseries,}} } @@ -327,6 +358,10 @@ %%%%%%%%%%%% MACROS FOR HANDLING TITLE AND ABSTRACT PAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\AtBeginDocument{ + \providecommand{\textls}[2][]{#2}% in case microtype is not loaded +} + %%%%%%%%%% Degree Date Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \tl_new:N \g__dd_month_tl @@ -346,11 +381,10 @@ } \msg_new:nnnn { \ClassName } { wrong_month } {The\ degree\ month\ must\ be\ one\ of\ February,\ May,\ June,\ or\ September.} {You\ cannot\ use\ #1\ as\ the\ degree\ month.} -\cs_generate_variant:Nn \text_titlecase:n {o,V} \NewDocumentCommand\DegreeDate{mm}{% {month}{year} \__dd_setdates:nn {#1}{#2} - \cs_new:Npn \DegreeMonth { \text_titlecase:V { \g__dd_month_tl } } - \cs_new:Npn \DegreeYear { \text_titlecase:V { \g__dd_year_tl } } + \cs_new:Npn \DegreeMonth { \text_titlecase_first:n { \text_lowercase:n \g__dd_month_tl } } + \cs_new:Npn \DegreeYear { \text_expand:n { \g__dd_year_tl } }% edited 2024/06/24 } \msg_new:nnnn { \ClassName } { no_degree_date } {Missing\ degree\ date!}{ You\ MUST\ issue\ the\ \DegreeDate{month}{year}\ command\ between\ \string\begin{document}\ and\ \string\maketitle.} @@ -420,11 +454,11 @@ \int_incr:N \l__author_autcrcnt_int \int_while_do:nNnn { \l__author_autcrcnt_int } < { \g_author_authorcnt_int } { - \tl_gput_right:Nx \g__author_ca_tl {,\ \seq_item:cn { g_author_name_seq } { \l__author_autcrcnt_int } } + \tl_gput_right:Nx \g__author_ca_tl {,~\seq_item:cn { g_author_name_seq } { \l__author_autcrcnt_int } } \int_incr:N \l__author_autcrcnt_int } \int_compare:nNnT { \l__author_autcrcnt_int } = { \g_author_authorcnt_int } { - \tl_gput_right:Nx \g__author_ca_tl {\ and\ \seq_item:cn { g_author_name_seq } { \l__author_autcrcnt_int } } + \tl_gput_right:Nx \g__author_ca_tl {~and~\seq_item:cn { g_author_name_seq } { \l__author_autcrcnt_int } } } \tl_set:Nn \l_tmpa_tl {\tl_item:Nn \g__author_ca_tl {-1} }% get last token \str_case_e:nnT @@ -432,6 +466,7 @@ { {.}{} } { \__copyright_remove_period:N { \g__author_ca_tl } }% remove last token if it is a period \__author_pdfcopyrightauthor: + \cs_gset:Npe \@author { \tl_use:N \g__author_ca_tl }% 2024/08/06 } \cs_new:Nn \__copyright_remove_period:N { @@ -444,11 +479,11 @@ \int_until_do:nNnn { \l_tmpa_int } = { \g_author_authorcnt_int } { \int_incr:N \l_tmpa_int - \tl_gput_right:Nx \g__author_pdfca_tl {,\ { \seq_item:cn { g_author_name_seq } { \l_tmpa_int } } } - } + \tl_gput_right:Nx \g__author_pdfca_tl {;\ { \seq_item:cn { g_author_name_seq } { \l_tmpa_int } } } + % changed comma to semicolon for consistency with Dublin Core metadata format, 2024/08/30 + } } - \tl_new:N \g__author_namesize_tl \tl_gset:Nn \g__author_namesize_tl { \large } \cs_new:Nn \__author_block: { @@ -516,7 +551,6 @@ \seq_new:N \g_supervisor_title_seq \int_gzero_new:N \g_supervisor_supervisorcnt_int - \NewDocumentCommand\Supervisor{mm}{ \tl_if_blank:nTF{#1}{ \msg_error:nn { \ClassName } { blank_supervisor } @@ -535,11 +569,27 @@ \cs_new_protected:Nn \__supervisor_data_add:nn { \int_gincr:N \g_supervisor_supervisorcnt_int - \seq_gput_right:cx { g_supervisor_name_seq } { \tl_trim_spaces:n {#1} } + \seq_gput_right:cx { g_supervisor_name_seq } { \tl_trim_spaces:n {#1} } \seq_gput_right:cx { g_supervisor_title_seq } { \tl_trim_spaces:n {#2} } } - +\tl_new:N \g_titlepage_supervisor_designation_tl +\tl_new:N \g_abstract_supervisor_designation_tl +\tl_gset:Nn \g_titlepage_supervisor_designation_tl {Thesis\ Supervisor} +\tl_gset:Nn \g_abstract_supervisor_designation_tl {Thesis\ supervisor}% style from MIT Libraries + +% If for some reason you need to change "Thesis Supervisor" to a different string (say, "Doctoral Advisor") +% This construction removes leading and trailing spaces and lowercases the string. +\NewDocumentCommand\SupervisorDesignation{ m } { + \tl_gset:Nn \g_titlepage_supervisor_designation_tl + { \cs_if_exist:NTF \text_titlecase_all:n % not def'd until 2023/07/08 + { \text_titlecase_all:n { \text_lowercase:n { \tl_trim_spaces:n {#1} } } } + { \tl_trim_spaces:n {#1} } + } + \tl_gset:Nn \g_abstract_supervisor_designation_tl + { \text_titlecase_first:n { \text_lowercase:n { \tl_trim_spaces:n {#1} } } } + } + \cs_new:Nn \__supervisor_abstractblock: { \int_zero_new:N \l__supervisor_supervisorno_int \int_incr:N \l__supervisor_supervisorno_int @@ -549,11 +599,13 @@ \msg_error:nn { \ClassName } { no_supervisor } } {\int_until_do:nNnn { \l__supervisor_supervisorno_int } = { \g_supervisor_supervisorcnt_int } { - Thesis\ supervisor:\space \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par + \g_abstract_supervisor_designation_tl :\space + \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par Title:\space \seq_item:cn { g_supervisor_title_seq } { \l__supervisor_supervisorno_int }\par\medskip \int_incr:N \l__supervisor_supervisorno_int } - Thesis\ supervisor:\space \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par + \g_abstract_supervisor_designation_tl :\space + \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par Title:\space \seq_item:cn { g_supervisor_title_seq } { \l__supervisor_supervisorno_int }\ignorespaces } } @@ -593,8 +645,8 @@ { Missing\ acceptor\ department,\ check\ for\ blank\ in\ \Acceptor{name}{department}{title}\ command. }{ You\ MUST\ provide\ the\ acceptor's\ department\ using\ the\ \Acceptor{name}{department}{title}\ command.} \msg_new:nnn { \ClassName } { blank_acceptor_title } - { Missing\ acceptor\ title\ (blank\ in\ \Acceptor{name}{department}{title}\ command).\ Perhaps\ you\ are\ trying\ to\ save\ vertical\ space?\ - You\ can\ put\ the\ acceptor\ title\ into\ department\ field\ instead.\ For\ consistency,\ I\ will\ omit\ titles\ of\ ALL\ acceptors.} + { Missing\ acceptor\ title\ (blank\ in\ \Acceptor{name}{department}{title}\ command).\space Perhaps\ you\ are\ trying\ to\ save\ vertical\ space?\space + You\ can\ put\ the\ acceptor\ title\ into\ department\ field\ instead.\space For\ consistency,\ I\ will\ omit\ titles\ of\ ALL\ acceptors.} \cs_new_protected:Nn \__acceptor_data_add:nnn { @@ -607,36 +659,56 @@ %%%%%%%%%% End Acceptor Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%% Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% extensive edits 2024/06/25 \seq_new:N \g_degree_name_seq \seq_new:N \g_degree_department_seq \int_gzero_new:N \g_degree_degreecnt_int -\int_gzero_new:N \g__degree_degreeflag_int +\int_gzero_new:N \g_degree_deptcnt_int \NewDocumentCommand\Degree{mm} { - \tl_if_blank:nTF {#1} { - \msg_error:nn { \ClassName } { blank_degree } - }{ - \__degree_data_add:nn { #1 } { #2 } - } - \tl_if_blank:nT {#2} { - \int_gset_eq:NN \g__degree_degreeflag_int \g_degree_degreecnt_int - \msg_warning:nnx { \ClassName } { blank_degree_dep } { \int_to_arabic:n { \g__degree_degreeflag_int } } - \tl_if_blank:nT {#1} { \int_gincr:N \g__degree_degreeflag_int }% in case both are blank - } + \int_compare:nNnTF { \g_degree_deptcnt_int } = {0} { + \tl_if_blank:nTF {#1} { + \msg_error:nn { \ClassName } { no_degree_name } + }{ + \__degree_data_add:nn { #1 } { #2 } + \int_gincr:N \g_degree_degreecnt_int + } + \tl_if_blank:nT {#2} { + \msg_error:nn { \ClassName } { no_degree_dep } + }{ + \int_gincr:N \g_degree_deptcnt_int + } + }{ + \tl_if_blank:nTF {#1} { + \msg_warning:nn { \ClassName } { blank_degree } + }{ + \__degree_data_add:nn { #1 } { #2 } + \int_gincr:N \g_degree_degreecnt_int + } + \tl_if_blank:nTF {#2} { + \msg_warning:nn { \ClassName } { blank_degree_dep } + }{ + \int_gincr:N \g_degree_deptcnt_int + \tl_if_blank:nT {#1} { % in case department is blank + \__degree_data_add:nn { #1 } { #2 } + } + } + } } + \cs_new_protected:Nn \__degree_data_add:nn { - \int_gincr:N \g_degree_degreecnt_int \seq_gput_right:cx { g_degree_name_seq } { \tl_trim_spaces:n {#1} } \seq_gput_right:cx { g_degree_department_seq } { \tl_trim_spaces:n {#2} } } -\msg_new:nnnn { \ClassName } { blank_degree } {Missing\ degree\ name,\ check\ for\ blank\ in\ \Degree\ command.} - {You\ MUST\ provide\ a\ degree\ name\ using\ the\ \Degree{name}{department}\ command.} -\msg_new:nnnn { \ClassName } { blank_degree_dep } {Missing\ degree\ department\ for\ Degree\ command\ number\ - #1.\ Will\ treat\ as\ a\ duplicate\ of\ previous\ department.}{} +\msg_new:nnnn { \ClassName } { no_degree_name } {Missing\ degree\ name,\ check\ for\ blank\ in\ \Degree\ command.} + {You\ MUST\ provide\ at\ least\ one\ degree\ name\ using\ the\ \Degree{name}{department}\ command.} +\msg_new:nnnn { \ClassName } { no_degree_dep } {Missing\ degree\ department\ for\ Degree\ command.} + {You\ MUST\ provide\ at\ least\ one\ department\ name\ using\ the\ \Degree{name}{department}\ command.} +\msg_new:nnnn { \ClassName } { blank_degree } {Missing\ degree\ name\ in\ second\ Degree\ command.\ Will\ treat\ as\ two\ departments\ issuing\ one\ degree.}{} +\msg_new:nnnn { \ClassName } { blank_degree_dep } {Missing\ degree\ department\ in\ second\ \ Degree\ command.\ Will\ treat\ as\ one\ department\ issuing\ two\ degrees.}{} \int_zero_new:N \l__degree_degreeno_int \int_zero_new:N \l__degree_departmentno_int @@ -651,25 +723,23 @@ \int_incr:N \l__degree_departmentno_int \cs_new:Nx \__degree_prevdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } } \cs_new:Nn \__degree_currdept: {} - \mbox {Submitted\ to\ the\ } \mbox {\__degree_prevdept:} - \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_degreecnt_int } { +% \mbox {Submitted\ to\ the\ } \mbox {\__degree_prevdept:} + {Submitted\ to\ the\ \__degree_prevdept:} + \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_deptcnt_int } { \int_incr:N \l__degree_departmentno_int \cs_set:Nx \__degree_currdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } } - \int_compare:nNnTF { \l__degree_departmentno_int } = {\g__degree_degreeflag_int } { \scan_stop: } - { - \mbox {\ and\ the}\linebreak - \mbox {\__degree_currdept: } - } - } + \mbox {\ and}\linebreak + \mbox {the\ \__degree_currdept: } + } \linebreak \mbox {in\ partial\ fulfillment\ of\ the\ requirements\ for\ the\ \int_compare:nNnTF { \g_degree_degreecnt_int } > {1} {degrees} {degree} \ of} - \par%\medskip, removed 2023/10/25 to work better with four block layout of title page + \par \int_until_do:nNnn { \l__degree_degreeno_int } = { \g_degree_degreecnt_int } { - \text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}\par and\par + \textls[60]{\text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}}\par and\par \int_incr:N \l__degree_degreeno_int } - \text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}\par + \textls[60]{\text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}}\par } \msg_new:nnnn { \ClassName } { no_degree } { Missing\ degree!\ You\ must\ issue\ the\ \Degree{name}{department}\ command. }{ @@ -681,25 +751,23 @@ \int_set:Nn \l__degree_departmentno_int {1} \cs_set:Nx \__degree_prevdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } } \cs_set:Nn \__degree_currdept: {} - \mbox {Submitted\ to\ the\ }\mbox{\__degree_prevdept:} - \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_degreecnt_int } { - \int_incr:N \l__degree_departmentno_int +% \mbox {Submitted\ to\ the\ }\mbox {\__degree_prevdept:} % changed 2024/4/20 + {Submitted\ to\ the\ \__degree_prevdept:} + \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_deptcnt_int } { + \int_incr:N \l__degree_departmentno_int \cs_set:Nx \__degree_currdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } } - \int_compare:nNnTF { \g__degree_degreeflag_int } = { \g_degree_degreecnt_int } { \scan_stop: } - { - \mbox {\ and\ the}\linebreak - \mbox { \__degree_currdept: } - } - } + \mbox {\ and}\linebreak + \mbox {the\ \__degree_currdept: } + } \linebreak \mbox{on\ \g_dd_thesisdate_tl\ in\ partial\ fulfillment\ of\ the\ requirements\ for\ the\ \int_compare:nNnTF { \g_degree_degreecnt_int } > {1} {degrees} {degree} \ of} \par\medskip \int_until_do:nNnn { \l__degree_degreeno_int } = { \g_degree_degreecnt_int } { - \text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}\par and\par + \textls[60]{\text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}}\par and\par \int_incr:N \l__degree_degreeno_int } - \text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}\par\medskip + \textls[60]{\text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}}\par\medskip } %%%%%%%%%% End Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -749,7 +817,8 @@ \int_do_while:nNnn { \g__signature_supno_int } < { \g_supervisor_supervisorcnt_int } { \int_gincr:N \g__signature_supno_int Certified\ by: \> \seq_item:cn { g_supervisor_name_seq } { \g__signature_supno_int } \\ - \> \seq_item:cn { g_supervisor_title_seq } { \g__signature_supno_int },\ Thesis\ Supervisor\\[1em] + \> \seq_item:cn { g_supervisor_title_seq } { \g__signature_supno_int },\ + \g_titlepage_supervisor_designation_tl \\[1em] } \int_compare:nNnF { \g_acceptor_acceptorcnt_int } = {0} { \int_do_while:nNnn { \g__signature_accno_int } < { \g_acceptor_acceptorcnt_int } { @@ -835,6 +904,7 @@ \RenewDocumentCommand{\title}{m} { \__mitthesis_title:n { #1 } + \cs_gset:Npe \@title { \tl_use:N \g_mitthesis_title_tl } % 2024/08/06 \hypersetup{ pdftitle={\g_mitthesis_title_tl}, } @@ -883,12 +953,12 @@ \tl_gset:Nn \g_copyright_copyrightlicencse_tl {This\ work\ is\ licensed\ under\ a\ \mbox{\g_copyright_cclicensetext_tl}\ license.\par\g_copyright_mitpermission_tl} \tl_gset:Nn \g_copyright_pdfrightstext_tl - {This\ work\ is\ licensed\ under\ a\ \g_copyright_ccname_tl\ license.\ \g_copyright_mitpermission_tl} + {This\ work\ is\ licensed\ under\ a\ \g_copyright_ccname_tl\ license.\space \g_copyright_mitpermission_tl} }{ \tl_gset:Nn \g_copyright_copyrightlicencse_tl {All\ rights\ reserved. \par\g_copyright_mitpermission_tl} \tl_gset:Nn \g_copyright_pdfrightstext_tl - {All\ rights\ reserved.\ \g_copyright_mitpermission_tl} + {All\ rights\ reserved.\space \g_copyright_mitpermission_tl} } \int_compare:nNnTF {\g_author_authorcnt_int} > {1} { @@ -908,14 +978,16 @@ {\centering \vbox_to_ht:nn { \vsize }% to prevent signature block from breaking across page { \setlength{\parskip}{7.5pt plus 1pt minus 1pt}% edited all vertical space on this page 2023/10/25 - \setlength{\parindent}{0pt} - {\Large\textbf{\g_mitthesis_title_tl}\phantomsection\addcontentsline{toc}{chapter}{Title\ page}\par} % revise for tagging in future - \__titlepage_blockskip:nn {12}{1.5}% new idea + \setlength{\parindent}{0pt}\pdfbookmark[0]{Title\ page}{titlepage} + {\Large\textbf{\g_mitthesis_title_tl} + %\phantomsection\addcontentsline{toc}{chapter}{Title\ page} + \par} + \__titlepage_blockskip:nn {12}{1.5} \__author_block: \__titlepage_blockskip:nn {12}{1.5} \__degree_block: - at\ the\par - \text_uppercase:n { \g_titlepage_institution_name_tl }\par + at~the\par + \textls[60]{\text_uppercase:n { \g_titlepage_institution_name_tl }}\par \DegreeMonth\ \DegreeYear\par \__titlepage_blockskip:nn {12}{2} \copyright\space\DegreeYear\space\CopyrightAuthor\@.\c_space_token \g_copyright_copyrightlicencse_tl % \@. in case name ends with III, IV, V,... @@ -925,7 +997,7 @@ } } \hypersetup{ - pdfcopyright={Copyright\ \DegreeYear\ by\ \CopyrightAuthor.\ \g_copyright_pdfrightstext_tl}, + pdfcopyright={Copyright\ \DegreeYear\ by\ \CopyrightAuthor.\space \g_copyright_pdfrightstext_tl}, pdfauthor={\g__author_pdfca_tl}, pdfcaptionwriter = {\g__author_pdfca_tl}, } @@ -937,14 +1009,17 @@ %%%%%%%%%% Abstract page Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% to change abstract name, follow either of these approaches in your preamble: +% to change abstract name (e.g., to "Summary"), follow either approach in your preamble: % \RenewExpandableDocumentCommand\abstractname{}{Summary} % \renewcommand\abstractname{Summary} \RenewDocumentEnvironment{abstract}{+b}{ \newpage \begin{center} - {\large{\textbf{\g_mitthesis_title_tl}}\phantomsection\addcontentsline{toc}{chapter}{\abstractname}\par} % revise for tagging as LaTeX evolves further + \pdfbookmark[0]{Abstract}{abstract} + {\large{\textbf{\g_mitthesis_title_tl}} + %\phantomsection\addcontentsline{toc}{chapter}{\abstractname} + \par} \setlength{\parskip}{0.5\baselineskip plus 2pt minus 2pt} \__author_abstractblock: \par @@ -992,11 +1067,12 @@ % Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns. % Second optional argument can be used to rename the environment, e.g., to List of Symbols. % Third optional argument selects section-level or chapter-level style for the nomenclature list. +\newcounter{dummy}% for tagging code \NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname} O{section}}{% \setlength\columnsep{2em} \setlength{\nomenwidth}{#1} \csname #3\endcsname *{#2}% this level will vary amongst users! - \phantomsection\addcontentsline{toc}{#3}{#2}% tagged pdf may not capture both of these ... 2023/10/18 + \refstepcounter{dummy}\addcontentsline{toc}{#3}{#2}% \refstepcounter is a hack until tagging code evolves more \raggedright \begin{list}{}{% \setlength{\itemsep}{0pt}% |