texlive[61918] Master: latex-for-undergraduates (6feb22)

commits+karl at tug.org commits+karl at tug.org
Sun Feb 6 22:13:18 CET 2022


Revision: 61918
          http://tug.org/svn/texlive?view=revision&revision=61918
Author:   karl
Date:     2022-02-06 22:13:18 +0100 (Sun, 06 Feb 2022)
Log Message:
-----------
latex-for-undergraduates (6feb22)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.tex
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/README.md
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.pdf
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.tex
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros.sty
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/M33_figure.jpeg
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/compiling.png
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/creatingDocument.png
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/directories.png
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/marketplace.png
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl1.png
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl2crop.png
    trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/whiteboard.jpeg
    trunk/Master/tlpkg/tlpsrc/latex-for-undergraduates.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.tex	2022-02-06 21:13:18 UTC (rev 61918)
@@ -0,0 +1,812 @@
+\documentclass{article} 		% see Section 1.3
+% See lines 11-22 of alounsburymacros.sty for a different/better way of including packages. 
+% I leave these here merely to point out the sections where I use these
+% packages. 
+\usepackage{amsfonts, amsmath, amssymb, amsthm}	% math symbols, environments, etc. 
+\usepackage{graphicx, float} 	% for inserting pictures
+	\graphicspath{{images/}} 		% set the path from which LaTeX pulls images
+\usepackage{mathrsfs} 			% see Theorem 1, Section 3.1
+\usepackage{kbordermatrix} 		% see Section 3.2.4
+	\renewcommand{\kbldelim}{(} % left delimiter, default is [
+	\renewcommand{\kbrdelim}{)} % right delimiter, default is ]
+\usepackage{units, xcolor} 		% see Section 5
+\usepackage{fancyvrb} 			% see Section 5.4
+\usepackage{verse}				% see Section 5.5
+\usepackage{alounsburymacros}		% includes macros from alounsburymacros.sty
+% ignore this stuff------------
+\usepackage{footnote}
+	\makesavenoteenv{tabular}
+\usepackage{hyperref}
+\hypersetup{
+	colorlinks=true,
+	linkcolor=blue,
+	urlcolor=blue,
+}
+%------------------------------
+
+\newcommand{\sddots}{\rotatebox{-30}{$\ddots$}} % see Section 3.2.4
+
+\begin{document}
+\begin{titlepage}
+	\title{\bfseries \LaTeX\ for Undergraduates\footnote{
+			Throughout this paper, there are some commands from the accompanying \texttt{alounsburymacros} package, but I'm going to forgo further reference to \texttt{alounsburymacros.sty}. If you use a command from this tutorial in another document and it says the command is undefined, you probably need to install \texttt{alounsburymacros} and include it in the preamble. 
+		}
+	}
+	\author{Andrew Lounsbury}
+	\date{February 5, 2022}
+	\maketitle
+	
+	\vspace{1.5in}
+	To put a title on a simple homework assignment, you only need lines \texttt{31}-\texttt{37} in the code (\texttt{LaTeX\_for\_Undergraduates.tex}) instead of an entire \texttt{titlepage}, but you don't necessarily have to use this method. You can put the title, your name, and the date on the paper however you'd like. \\
+
+	As you read this, use the keyboard shortcut Ctrl + F to search for specific things in the code so that you can compare the code precisely to what's being printed. 
+\end{titlepage}
+
+\tableofcontents
+
+\newpage
+\section{Setting Up} \label{sec:setting-up}
+\subsection{MiKTeX} \label{subsec:miktex}
+Click \href{https://miktex.org/download}{here} to download MiKTeX. Install it to the default directory. When it asks if MiKTeX should install packages on the fly, say \textbf{yes}.
+
+\subsection{\LaTeX\ Editors: Visual Studio Code} \label{subsec:editors}
+I recommend Visual Studio Code for Windows users and (maybe) Mac users.\footnote{
+	If you can't or don't want to use VS Code, see \href{https://en.wikipedia.org/wiki/Comparison_of_TeX_editors}{here} and \href{https://tex.stackexchange.com/questions/339/latex-editors-ides}{here}.
+} 
+To download the User Installer for VS Code, click \href{https://code.visualstudio.com/download}{here}. When it gives the option to add the ``Open with Code'' action to file and directory context menus, \textbf{check both} boxes. \par
+Open \texttt{LaTeX\_for\_Undergraduates.tex} in VS Code. With the \includegraphics[scale=0.06]{marketplace.png} button on the left sidebar, install the following:
+\begin{enumerate}
+	\item[]
+	LaTeX Workshop
+
+	\item[]
+	Code Spell Checker
+
+	\item[]
+	Notepad++ keymap
+\end{enumerate}
+
+Initially, there is a wide scrollbar that shows a zoomed-out image of your code. You can toggle this under \texttt{View -> Show Minimap}. \par
+Click the gear in the bottom left, select \texttt{Settings}
+, and change the following:\footnote{
+	There is a button at the top right that opens a \texttt{json} file with all overridden settings. 
+}
+\begin{center}
+	\begin{tabular}{|l|l|}
+		\hline
+		Editor: Word Wrap & \textbf{on} \\ \hline
+		Auto Find in Selection & \textbf{multiline} \\ \hline
+		LaTeX Workshop $>$ Message $>$ Error: Show & \textbf{uncheck} the box \\ \hline
+		Workbench: Startup Editor & \textbf{none} \\ \hline
+	\end{tabular}
+\end{center}
+
+Try building the file with the green button in the top-right. \par
+Windows users may receive an error in the bottom left regarding a file \texttt{perl.exe} from a programming language called \textbf{Perl}. 
+Click \href{https://www.perl.org/get.html}{here} to download Perl. There is a choice between \textit{Strawberry Perl} and \textit{ActiveState Perl}. A Stack Exchange page said that ActiveState Perl is better for beginners, so it's probably fine to download that one. \par
+Now, you may need to add the path to your Perl installation to the Path variable. If so, search your computer for the option to edit your \textit{Environment Variables} in your \textit{System Properties}. Select \texttt{Environment Variables...} Under \textit{System variables}, select \textbf{Path} and click \texttt{Edit...}. 
+\begin{center}
+	\includegraphics[width=0.765\textwidth]{perl1.png}
+\end{center}
+Add the path to your Perl installation with the \texttt{New} button on the right:
+\begin{center}
+	\includegraphics[width=0.765\textwidth]{perl2crop.png}
+\end{center}
+Try building the file again to ensure everything works properly.\footnote{
+	Producing the result of \LaTeX\ code is generally referred to as ``building the file,'' but I will occasionally refer to this as ``compiling the file.'' I mean the former by the latter. 
+} 
+It will likely take longer than usual because it has to install the necessary packages and generate the auxiliary files for the first time and because this is an eighteen-page document. Be sure to press the button in the top right with the magnifying glass to open the \texttt{pdf} and see the result of the compilation. 
+
+\subsection{Creating a Document in VS Code} \label{subsec:creating-document}
+Create new files and open files under \texttt{File}. Regarding the three buttons \includegraphics[scale=0.08]{compiling.png} in the top-right corner, the play button on the left builds the file, the middle button with the magnifying glass displays the \texttt{pdf}, and the button on the right splits the editor so that you can open multiple files or open a duplicate view of the same file.\footnote{
+	I've noticed that when I close my laptop with a \texttt{pdf} open, that \texttt{pdf} will no longer update when I rebuild. Closing and reopening the \texttt{pdf} seems to consistently fix this. 
+} 
+Note, however, that LaTeX Workshop has a setting that builds your code every time you save. \par
+View error messages by clicking the icons in the bottom-left corner. 
+\begin{center}
+	\includegraphics[width=0.6\textwidth]{creatingDocument.png}
+\end{center}
+
+The font size \texttt{[12pt]} is optional and may be set to sizes other than \texttt{12}. The \href{https://ctan.org/pkg/article}{\texttt{article}} class is for regular documents.\footnote{
+	The \href{https://ctan.org/pkg/beamer}{\texttt{beamer}} class allows us to make presentation slides and posters in \LaTeX. 
+}
+The preamble is everything between \texttt{\textbackslash documentclass\{article\}} and \texttt{\textbackslash begin\{document\}}, in other words, your margins and text dimensions,\footnote{
+	An alternative method of setting these values is \texttt{\textbackslash setlength\{\textbackslash lengthname\}\{}\opt{dimension}\texttt{\}}. 
+} 
+which are optional, and your packages. \p
+Regarding the content of the document, writing in \LaTeX\ can generally be summarized as (1) typing regular text, (2) typing math with \texttt{\$\dots\$}, (3) displaying math with \verb$\[...\]$, and (4) learning commands and environments as you need them. Any text contained in \verb$\begin{$\opt{env-name}\verb$}...\end{$\opt{env-name}\verb$}$ is in the \opt{env-name} environment. 
+
+\subsection{Keyboard Shortcuts in VS Code} \label{subsec:shortcuts}
+Remember to make ample use of the following shortcuts. 
+
+\begin{center}
+	\begin{tabular}{|c||l||l|}
+		\hline
+		\textbf{Source}\footnote{
+			VSC = VS Code; LW = \LaTeX\ Workshop; N++ = Notepad++ keymap \p
+			\cby{\textbf{NOTE}}: These \LaTeX\ Workshop shortcuts must be added in the shortcut menu. 
+		} & \textbf{Shortcut} & \textbf{Action} \\ \hline\hline
+		VSC & Ctrl + A & highlight all \\ \hline
+		N++ & Ctrl + D & duplicate \\ \hline
+		LW & Ctrl + E & select current environment \\ \hline
+		VSC & Ctrl + F \& Ctrl + H & search \& replace \\ \hline
+		LW & Ctrl + K & kill compiler process \\ \hline
+		N++ & Ctrl + Q & toggle comments \\ \hline
+		LW & Ctrl + T & toggle between \texttt{\textbackslash[\dots\textbackslash]} and \\
+		& & the \texttt{equation*} environment \\ \hline
+		LW & Ctrl + W & wrap in environment \\ \hline
+		VSC & Ctrl + Z \& Ctrl + Y & undo \& redo (even autocompletion) \\ \hline
+		VSC & Double Click & highlight string \\ \hline
+		VSC & Highlight + Delimiter & wrap in \texttt{\{}\dots\texttt{\}}, \texttt{(}\dots\texttt{)}, \texttt{[}\dots\texttt{]}, \texttt{\$}\dots\texttt{\$} \\ \hline
+		VSC & Shift + Click & highlight everything between the \\ 
+		& 			  & text cursor and your mouse cursor \\ \hline
+		VSC & Tab \& Shift + Tab & tab/untab multiple lines; \\
+		& 				   & next/previous argument in a macro \\ \hline
+		VSC & Tab or Enter & autocomplete suggested text \\ \hline
+		VSC & Shift + Enter & prevent an autocompletion \\ \hline
+	\end{tabular}
+\end{center}
+
+These save lots of time. If your editor doesn't have them, you may want to look through your settings and add these shortcuts or change them if they're different from what you want them to be. In VS Code, you can view your keyboard shortcuts in the settings at the bottom-left.\footnote{
+	There is a button at the top right in the shortcuts menu that opens the \texttt{json} file with all overridden shortcuts. 
+}
+
+\subsubsection{Autocompletion} \label{subsubsec:autocompletion}
+VS Code allows us to autocomplete any string of regular text provided the string has already been typed into the document once. It doesn't give the option to autocomplete ``Nullstellensatz'' in this document because we haven't typed it yet, but if we type ``Nullstellensatz'' again, it gives us the option. \par
+For commands, autocompletion doesn't trigger in new, unsaved files nor for commands that haven't already been typed \textit{and saved} into the document once. Upon typing \verb$\msum$ for the first time, we don't have the option to autocomplete it and successively enter its arguments, but upon adding the three \verb${...}$ to the first instance, saving the document, and typing \verb$\msum$ a second time, we can press Tab and VS Code automatically types \verb$\msum{$\rule[-0.5ex]{1pt}{2.5ex}\verb$}{}{}$ with the braces ready and the text cursor inside the first set of braces. 
+
+\section{Text} \label{sec:text}
+Regular text is said to be in paragraph mode. 
+\subsection{Formatting Text} \label{subsec:formatting-text}
+Comment things out with \texttt{\%}.\footnote{
+	There is a \texttt{comment} environment in the \texttt{verbatim} package for creating block comments. The benefit of this is that we can minimize environments in VS Code so that we don't have to constantly scroll through code we're not reading. We could otherwise highlight the multiple lines we want to comment out and press Ctrl + Q (or an equivalent shortcut). 
+} \par
+% This sentence is not in the pdf. 
+Create a new line without indentation using \verb$\\$. \\
+Create a new paragraph with indentation either with \verb$\par$ or by leaving an empty line in the code.\footnote{
+	See lines \texttt{26}-\texttt{31} of \texttt{alounsburymacros.sty} for a way to fix indentation of \texttt{\textbackslash par} and empty lines in \texttt{enumerate} and \texttt{itemize} environments. 
+} \par
+An empty line with a 
+%
+comment symbol will not create a new line. See code. 
+
+\noindent
+We can stop the indentation on an empty line like this.\footnote{
+	We wouldn't use \texttt{\textbackslash par} unless we specifically wanted the indentation.
+}
+
+It's good to use these in such a way that makes your code look similar to what's being printed. Using \verb$\\$ along with an empty line will create an empty line in both your code and your document. \\
+
+\noindent
+This will produce \underline{underlined} text. \\
+This will produce \textit{italicized} text. \\
+This will produce \textbf{boldface} text. \\
+This will produce \textsc{small caps} text. \\
+This will produce \texttt{typewriter (teletype)} font. \\
+This will reproduce \verb%whatever's between the $'s% in \texttt{teletype} font.\footnote{
+	Various characters will work in place of the \texttt{\%}. For instance, the \texttt{\%}'s on line \texttt{186} can be replaced with \texttt{\$}'s or even the characters \texttt{0} through \texttt{9}, \texttt{[}, or \texttt{)}. 
+} \\
+
+Changing the $\langle\textit{font-size}\rangle$ option in \verb%\documentclass[%$\langle\textit{font-size}\rangle$\verb%]{article}% will affect the way the following sizes work. For instance, \verb$[12pt]$ makes \verb$\huge$ and \verb$\Huge$ appear the same. \\
+
+\noindent
+English is not a {\tiny finite state language}. \\
+English is not a {\footnotesize finite state language}. \\
+English is not a {\small finite state language}. \\
+English is not a finite state language. \\
+English is not a {\large finite state language}. \\
+English is not a {\Large finite state language}. \\
+English is not a {\LARGE finite state language}. \\
+English is not a {\huge finite state language}. \\
+English is not a {\Huge finite state language}. 
+
+\begin{center}
+	This is centered.
+\end{center}
+%
+\begin{flushleft}
+	This is left-justified.
+\end{flushleft}
+%
+\begin{flushright}
+	This is right-justified.
+\end{flushright}
+%
+You can insert horizontal space \hspace{1in} like this, or 
+insert vertical space 
+\vspace{0.25in} \\
+like this. 
+
+\subsection{Lists} \label{subsec:lists}
+\begin{enumerate}
+	\item[1.]
+	This is \texttt{enumerate}.\footnote{
+		The \href{https://ctan.org/pkg/enumitem}{\texttt{enumitem}} package provides additional functionality for \texttt{enumerate}.
+	}
+	
+	\item[label \#2]
+	Though it numbers items automatically, it's good to label the items so that you can tell the difference between all the \verb$\item$'s in your code. Note that you can change the labels with brackets. 
+	
+	\item[3.]
+	\begin{enumerate}
+		\item% a
+		Once-nested \texttt{enumerate} environment 
+		
+		\item% b
+			\begin{enumerate}
+				\item% i
+				Twice-nested
+				
+				\item% ii
+				\begin{enumerate}
+					\item% A
+					Thrice-nested
+					
+					\item% B
+					This is the maximum number of times you can nest them. 
+				\end{enumerate}
+			\end{enumerate}
+
+	\end{enumerate}
+\end{enumerate}
+
+\begin{itemize}
+	\item
+	This is \texttt{itemize}. 
+	\item% dot
+	Good labeling for \texttt{itemize} might be ``dot'', ``dash'', ``star'', ``point,'' but the utility of this depends on whether you put \texttt{\textbackslash item} on its own line or the same line as your text. 
+	
+	\item% dot
+	\begin{itemize}
+		\item% dash
+		Once-nested \texttt{itemize} environment 
+		
+		\item% dash
+			\begin{itemize}
+				\item% star
+				Twice-nested
+				
+				\item% star
+				\begin{itemize}
+					\item % point
+					Thrice-nested
+					
+					\item% point
+					This is the maximum number of times you can nest them. 
+					
+				\end{itemize}
+			\end{itemize}
+	\end{itemize}
+\end{itemize}
+
+\begin{tabular}{|l||c||r|}
+	\hline
+	There is also & the \texttt{tabular} & environment. \\ \hline\hline
+	It's like an & array without & math mode. \\ \hline
+	Each column alignment & must be & indicated. \\ \hline
+	\texttt{l} = left-justified & & \\ \hline
+	& \texttt{c} = centered & \\ \hline
+	& & \texttt{r} = right-justified \\ \hline
+\end{tabular}
+
+\newpage
+\section{Math} \label{sec:math}
+Mathematical text is said to be in math mode. 
+\subsection{Formatting Math} \label{subsec:formatting-math}
+$Math mode is italicized by default$. \\
+This will produce $\text{regular text with whitespace.}$ \\
+This will produce $\textbf{bold text with whitespace.}$ \\
+This will produce $\textit{italicized text with whitespace.}$ \\
+This will produce $\textsc{small caps text with whitespace.}$ \\
+This will produce $\mathbf{boldface math without whitespace}$.\footnote{
+	See Notation \ref{notation:bold} for a possible alternative.
+} \\
+This will produce $\mathrm{roman (nonitalicized\ serif\ font) text without whitespace}$. 
+
+\begin{theorem*}[Commands \& Trouble-Shooting]
+	Regarding \LaTeX\ commands, there is plenty of information at your disposal on the internet. You will likely be able to solve most of the problems you encounter and find commands and packages you need by searching for them on the internet. 
+\end{theorem*}
+\begin{proof}
+	Search for a list of commands such as \href{https://oeis.org/wiki/List_of_LaTeX_mathematical_symbols}{this} or \href{http://tug.ctan.org/info/symbols/comprehensive/symbols-a4.pdf}{this}. Search for a package that suites your needs. Search for the error your compiler is giving. Stack Exchange, Overleaf, and Wikibooks are fantastic resources. \par
+	Under the \LaTeX\ menu on the left sidebar in VS Code, there are two Snippet panels with a myriad of symbols to browse through. Relying on these menus is ill-advised, but being aware of them may still be worthwhile. Here are just a few commands worth noting: 
+	\begin{enumerate}
+		\item[1.]
+		$\sin\theta_1 = \cos\theta_2 = \max\{0,1\} = \min\{1,2\} = 3 \bmod 2 = \sqrt[4]{1} = \pm 1$
+
+		\item[2.]
+		$\exists \ell \in \cap_{i=1}^n A_i$ such that $f \circ g(\ell) = \gcd(7,\ell) = \mathrm{lcm}(7,\ell) = 10 = \underbrace{1 + \cdots + 1}_{10 \tms}$
+
+		\item[3.]
+		\begin{enumerate}
+			\item% a 
+			$\dim V = \mathrm{rank}(T) + \dim\Null(T)$, where $T \in \mathcal{L}(V,W)$
+
+			\item% b
+			$|\mathcal{P}(S)| = 2^{|S|}$
+		\end{enumerate}
+
+		\item[4.]
+		$\mathscr{L}\{f(t - a)\mathscr{U}(t - a)\}=e^{-as}F(s)$ % mathrsfs package
+
+		\item[5.]
+		$\mseti{x_n}{n}{1} \subset \R$ is such that $\inf x_n \le \sup x_n$ and $\liminf x_n \le \limsup x_n$. \qedhere % forcing the \qedsymbol to appear in the display
+	\end{enumerate}
+\end{proof}
+
+\begin{notation}
+	\texttt{\{\dots\}} are required around subscripts and superscripts with more than one character (except for commands such as $\infty$, greek letters, etc.)  
+\end{notation}
+
+\begin{claim*}
+	The statement $x_m^{n+1} +     x_{m+1}^n     \approx 2^\pi \not< 8 \le 2^\infty$ is 
+	\begin{enumerate}
+		\item
+			in inline math mode and 
+		\item
+			has none of the extra white-space from the code. 
+	\end{enumerate}
+\end{claim*}
+\begin{proof}[Proof of (1)]
+	Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
+	\renewcommand{\qedsymbol}{}
+\end{proof}
+\begin{proof}[Proof of (2)]
+	Note that we temporarily changed the \verb$\qedsymbol$ in the previous \texttt{proof} environment so that it wouldn't show up twice. Also, note that we can change the title of any environment with brackets. 
+\end{proof}
+
+\begin{proposition*}[Display-Math Mode]
+	The summation
+	\[
+		\sum_{i=1}^n i^2 = \f{n(n+1)(2n+1)}{6} \in \Theta(n^3)
+	\]
+	is in display-math mode. Note that the first letters of commands for capital Greek letters are capitalized and that there are some lowercase Greek letters with variations whose commands begin with \textnormal{\texttt{var}}, such as $\varphi$ and $\varepsilon$. 
+\end{proposition*}
+\begin{proof}
+	Omitted
+\end{proof}
+
+\begin{corollary*}[\texttt{equation} \& \texttt{multline}]
+	Let $I \subseteq \ring$ be an ideal, where $k$ is an algebraically closed field. Then, 
+	\begin{equation} \label{eq:null}
+		\IV{I} = \sqrt{I},
+	\end{equation}
+	and 
+	\begin{multline} \label{eq:fx}
+		f_x = 3x^2y^4 + 6xy^5 + 3y^6 - 8x^3y^2 - 18x^2y^3 - 12xy^4 - 2y^5 \\
+		+ 5x^4 + 12x^3y + 9x^2y^2 + 2xy^3
+	\end{multline}
+	Equations (\ref{eq:null}) and (\ref{eq:fx}) are respectively in the \textnormal{\texttt{equation}} and \textnormal{\texttt{multline}} environments, which number single lines of display-math. The \textnormal{\texttt{multline}} environment is useful for splitting single lines. 
+\end{corollary*}
+\begin{proof}
+	Omitted
+\end{proof}
+
+\begin{notation}[Extensible Block Delimiters] \label{notation:extensible}
+	The commands \verb$\left$ and \verb$\right$ resize the succeeding character to fit whatever's between them. The null delimiters \verb$\left.$ and \verb$\right.$ respectively leave the left and right character blank, but there must be both a \verb$\left$\opt{something} and a \verb$\right$\opt{something}. Note that we can create extensible angle brackets with \verb$\left<$ and \verb$\right>$: 
+	\[
+		\left<\f{x}{2},\f{y}{2}\right> = 
+		\set*{h_1\left(\f{x}{2}\right) + h_2\left(\f{y}{2}\right) \Mid h_1,h_2 \in \ring}. 
+	\]
+\end{notation}
+
+\begin{notation}[Punctuation]
+	When display-math mode ends a phrase, the punctuation \textit{must} be inside the display. For instance, it is true that 
+	\[
+		(0,1) = \bigcup_{n=2}^\infty \mpar{0 + \f{1}{n}, 1 - \f{1}{n}} \neq \varnothing, 
+	\]
+	but it may be true that $\gamma \in \Q$ or that $\gamma \notin \Q$. Hence, we may write $\gamma \stackrel{?}\in \Q$. 
+\end{notation}
+
+\begin{notation}[Readability]
+	Separate long strings of equalities over several lines of code. It's better to write 
+	\begin{verbatim}
+		15
+		= 10 + 5
+		= 3 + 7 + 5
+		= 1 + 2 + 3 + 4 + 5
+	\end{verbatim}
+rather than 
+\begin{verbatim}
+	15 = 10 + 5 = 3 + 7 + 5 = 1 + 2 + 3 + 4 + 5
+\end{verbatim}
+Also, \verb${$ and \verb$}$ don't have to appear on the same line. For example, 
+\begin{Verbatim}
+\mbrack{
+	\mpar{
+		\f{e^x + e^{-x}}{2}
+	}
+	\mpar{
+		\f{e^x - e^{-x}}{2}
+	}
+}
+\end{Verbatim}
+makes it much easier to see where everything is. 
+\end{notation}
+
+\begin{notation}[Such That]
+	There are two ways to say ``such that''	in a set definition. If $I,J \subseteq \ring$ are ideals, where $k$ is an algebraically closed field, then 
+	\[
+		\sqrt{I} = \{f \in \ring : f^m \in I \fs m \in \N\}, 
+	\]
+	and 
+	\[
+		I:J = \{f \in \ring \mid fg \in I \fa g \in J\}.\footnote{
+			This is not the $\vert$ character on your keyboard. It's \texttt{\textbackslash mid}. Also, note the use of \texttt{\textbackslash set} and the extensible \texttt{\textbackslash Mid} in Notation \ref{notation:extensible}. 
+		}
+	\]
+\end{notation}
+
+\begin{notation}[Forcing Display-Math]
+	Various notations get scrunched up in inline math: 
+	$\sum_{i=1}^n$, 
+	$\prod_{i=1}^n$, 
+	$\bigcap_{i=1}^n$, 
+	$\bigcup_{i=1}^n$, 
+	$\lim_{n \to \infty}$, 
+	$\sup_n (b_n)$, 
+	$\int_a^b$, 
+	$\max_n\{\delta_n\}$, etc. \par
+	We can often override this by putting \texttt{\textbackslash limits}
+	after each command.
+	So, we can write 
+	$\sum\limits_{i=1}^n$, 
+	$\prod\limits_{i=1}^n$, 
+	$\bigcap\limits_{i=1}^n$, 
+	$\bigcup\limits_{i=1}^n$, 
+	$\lim\limits_{n \to \infty}$,  
+	$\sup\limits_n(b_n)$, 
+	$\max\limits_n\{\delta_n\}$. \par
+	Integrals can be put in \verb$\displaystyle$: $\dint{a}{b}$, but \verb$\limits$ does provide an alternative way of writing them: $\int\limits_a^b$. \par
+	This is not necessary when these are being displayed, except for \verb$\int\limits$. 
+	\[
+		\sum_{i=1}^n,~ 
+		\prod_{i=1}^n,~ 
+		\bigcap_{i=1}^n,~ 
+		\bigcup_{i=1}^n,~
+		\lim_{n \to \infty},~
+		\sup_n(b_n),~
+		\max_n\{\delta_n\},~
+		\int_a^b, \et
+		 \int\limits_a^b
+	\]
+\end{notation}
+
+\begin{notation}[Bold Math Symbols] \label{notation:bold}
+	In math mode, mathematical symbols will not be affected by \verb$\mathbf{}$, as in $\mathbf{\sin\pi \notin \{1, 2, 3\}}$. To remedy this, use \verb$\boldsymbol{}$ as in $\boldsymbol{\sin\pi \notin \{1, 2, 3\}}$. \par
+	When nesting block delimiters inside of each other, it is often beneficial to use an abbreviation of \verb$\boldsymbol$ to bold the outer delimiters. For instance, $g^{-1}\bs((c,d)\bs)$ is a little better than $g^{-1}((c,d))$. 
+\end{notation}
+
+\subsection{Displaying Multiple Lines of Math} \label{subsec:multiple-lines}
+There are several ways to display multiple lines of math. Some environments have predefined numbering. Add a \texttt{*} when you \texttt{begin} and \texttt{end} the environment to remove numbering. Note that \verb$\\$ creates a new row. 
+
+\subsubsection{\texttt{gather}} \label{subsubsec:gather}
+The \texttt{gather} environment is like a multiline \texttt{center} environment that is in math mode by default. Let $V_1,\dots,V_n \subseteq k^n$ be varieties, where $k$ is an algebraically closed field. Then, 
+\begin{gather}
+	\varnothing \subseteq V_1 \subseteq \cdots \subseteq V_n \\
+	\Rightarrow \mathbf{I}(\varnothing) \supseteq \mathbf{I}(V_1) \supseteq \cdots \supseteq \mathbf{I}(V_n) \\
+	\text{(toggle individual line numbers with \texttt{\textbackslash notag})} \notag \\
+	\Rightarrow \mathbf{V}(\mathbf{I}(\varnothing)) \subseteq \mathbf{V}(\mathbf{I}(V_1)) \subseteq \cdots \subseteq \mathbf{V}(\mathbf{I}(V_n)) \\
+	\Rightarrow \varnothing = \ol{\varnothing} \subseteq \ol{V_1} \subseteq \cdots \subseteq \ol{V_n}. 
+\end{gather}
+\begin{notation}[Dots]
+	The command \verb$\ldots$ produces ellipses at the bottom of the line, and \verb$\cdots$ produces ellipses in the middle of the line. \par
+	The command \verb$\dots$ is supposed to be able to tell the difference between cases that require lower dots and cases that require center dots. There are a few instances where it doesn't get it right, but I tend to use both \verb$\cdots$ and \verb$\dots$. See \S\ref{subsubsec:matrices} for an example of when \verb$\dots$ doesn't work properly. \par
+	Both \verb$\ldots$ and \verb$\dots$ work in paragraph and math mode, but \verb$\cdots$ only works in math mode. 
+\end{notation}
+
+\subsubsection{\texttt{align} \& \texttt{alignat}
+} \label{subsubsec:align}
+The \texttt{align} and \texttt{alignat} environments are in math mode by default. 
+In the \texttt{align} environment, \texttt{\&} indicates an alignment.
+\begin{align*}
+	f'(x) = \int f''(x)\dx % extra space before dx
+	= \iint f'''(x)\dx dx 
+	= \iiint f^{(4)}(x)\dx dxdx
+	&= \f{d}{dx} f(x) \\
+	&= \f{d^2}{dx^2} \int f(x)\dx \\
+	&= \f{\del}{\del x} f(x)\dx
+\end{align*}
+\begin{align*}
+	A &= \{x \in S \mid n_a(x) \ge 1\} &\ol A &= \{x \in S \mid n_a(x) = 0\} \\
+	B &= \{x \in S \mid n_b(x) \ge 2\} &\ol B &= \{x \in S \mid n_b(x) < 2\}
+\end{align*}
+In the \texttt{alignat} environment, the number of alignments must be indicated, and every alignment past the first requires two \texttt{\&}'s. 
+\begin{alignat*}{2}
+	|\ol{A_1} \cap \ol{A_2}| 
+	&= |S| &&- |A_1| - |A_2| \\
+	& 	   &&+ |A_1 \cap A_2| \\
+	&= 10  &&- 1 - 2 \\
+	& 	   &&+ 3 \\
+	&= 10
+\end{alignat*}
+
+\subsubsection{\texttt{array}} \label{subsubsec:array}
+Math mode must be specified for arrays. \\
+\texttt{l} = left-justified
+\[
+	\begin{array}{l} 
+		(\forall r > 0)(\exists q \neq p)[q \in B(p,r) \cap E] \\
+		\Rightarrow p \in E'
+	\end{array}
+\]
+\texttt{c} = centered
+\[
+	\begin{array}{c}
+		(\forall r > 0)(\exists q \neq p)[q \in B(p,r) \cap E] \\
+		\Rightarrow p \in E'
+	\end{array}
+\]
+\texttt{r} = right-justified
+\[
+	\begin{array}{r}
+		(\forall r > 0)(\exists q \neq p)[q \in B(p,r) \cap E] \\
+		\Rightarrow p \in E'
+	\end{array}
+\]
+Arrays may also be used to display charts in math mode, and can be nested inside other arrays. For example, the Invisible Hand game $G_1$ and the Prisoner's Dilemma $G_2$ are two arrays inside of another array. 
+\[
+	\begin{array}{lr}
+		\begin{array}{|c||c|c|}
+			\hline
+			G_1 & A & B \\ \hline\hline
+			A & \mathbf{8},\mathbf{8} & \mathbf{6},6 \\ \hline
+			B & 6,\mathbf{6} & 2,2 \\ \hline
+		\end{array}
+		&
+		\begin{array}{|c||c|c|}
+			\hline
+			G_2 & A & B \\ \hline\hline
+			A & 3,3 & 1, \mathbf{5} \\ \hline
+			B & \mathbf{5},1 & \mathbf{2},\mathbf{2} \\ \hline
+		\end{array}
+	\end{array}
+\]
+
+\subsubsection{Matrices} \label{subsubsec:matrices}
+Math mode must be specified for matrices. 
+\begin{gather*}
+	\begin{bmatrix}
+		2 & 2 \\
+		0 & 1
+	\end{bmatrix}
+	\xrightarrow{r_1 \mapsto \f{1}{2}r_1} % stretches the arrow to fit what's on it
+	\begin{bmatrix}
+		1 & 1 \\
+		0 & 1
+	\end{bmatrix}
+	\xrightarrow{r_1 \mapsto -r_2 + r_1}
+	\begin{bmatrix}
+		1 & 0 \\
+		0 & 1
+	\end{bmatrix}
+	\\
+	\begin{pmatrix}
+		2 & 2 \\
+		0 & 1
+	\end{pmatrix}
+	\sim
+	\begin{pmatrix}
+		1 & 1 \\
+		0 & 1
+	\end{pmatrix}
+	\sim
+	\begin{pmatrix}
+		1 & 0 \\
+		0 & 1
+	\end{pmatrix}
+	\\
+	\begin{vmatrix}
+		a & b \\
+		c & d
+	\end{vmatrix}
+	= ad-bc
+\end{gather*}
+
+Use the \texttt{array} environment to separate rows and columns in a matrix. 
+\[
+	[A \mid I_2] = 
+	\left[
+		\begin{array}{cc|cc}
+			1 & 2 & 1 & 0 \\
+			3 & 4 & 0 & 1
+		\end{array}
+	\right]
+	\qquad
+	\left[
+		\begin{array}{c|c}
+			a & b \\ \hline
+			c & d
+		\end{array}
+	\right]
+\]
+
+Use $\cdots$, $\vdots$, and $\ddots$ to apostrophize matrix entries. Note that I made a command that rotates $\ddots$ to my liking and that \verb$\dots$ doesn't know that it should be displaying \verb$\cdots$. 
+\[
+	\begin{bmatrix}
+		\sigma_1 & 0 & \dots & & \cdots & 0 & \dots & 0 \\
+		0 & \ddots & & & & \vdots & & \vdots \\
+		\vdots & & \sigma_r & & & & \sddots &  \\
+		0 & & & 0 & & \vdots & & \vdots \\
+		0 & 0 & \dots & & \ddots & 0 & \dots & 0 
+	\end{bmatrix}
+\]
+
+The \texttt{kbordermatrix} package displays matrices with row and column labels. Set the delimiters \verb$\kbldelim$ and \verb$\kbrdelim$ in the preamble. See line \texttt{12}. 
+\[
+	\kbordermatrix
+	{
+		  & a & b \\
+		a & 1 & 0 \\
+		b & 0 & 1 \\
+	}
+\]
+
+\subsubsection{\texttt{cases}} \label{subsubsec:cases}
+\begin{definition*}
+	Let $X$ be an infinite set. Then, $d:X \times X \to \{0,1\}$ defined by 
+	\[
+		d(p,q) = 
+		\begin{cases}
+			1, & p \neq q \\
+			0, & p = q
+		\end{cases}
+	\]
+	is formatted with the \texttt{cases} environment, which requires math mode. Either $(p,q) \mapsto 0$ or $(p,q) \mapsto 1 \fa (p,q) \in X \times X$, and $d(p,q) = 0 \iff p = q$. 
+\end{definition*}
+
+\subsection{Escape Sequences and White-space in Math Mode} \label{subsec:escape}
+Use \verb$\$ to insert characters that would otherwise be used in \LaTeX\ syntax. Some examples are \_, \%, \#, \$, \{, \}, and similarly, \verb$\lbrack$ and \verb$\rbrack$. \par
+Additionally, there are various ways to insert a space in math mode (but some of these may also be used in paragraph mode.) 
+\newpage
+\[
+	\begin{array}{||l||c||c||}
+	\hline \text{\texttt{\textbackslash !} (negative thin)} & \phi(x) \!\forall x & \rightarrow\!\leftarrow \\ \hline\hline
+	\text{(normal)} & \phi(x) \forall x & \rightarrow\leftarrow \\ \hline\hline
+	\texttt{\textbackslash ,} & \phi(x)\,\forall x & \rightarrow\,\leftarrow \\ \hline
+	\text{\textbackslash :} & \phi(x)\:\forall x & \rightarrow\:\leftarrow \\ \hline
+	\texttt{\textbackslash ;} & \phi(x)\;\forall x & \rightarrow\;\leftarrow \\ \hline
+	\text{\texttt{\textbackslash} (slash space)} & \phi(x)\ \forall x & \rightarrow \ \leftarrow\\ \hline
+	\sim \text{ (tilde)} & \phi(x)~\forall x & \rightarrow~\leftarrow \\ \hline
+	\texttt{\textbackslash quad} & \phi(x) \quad \forall x & \rightarrow \quad \leftarrow \\ \hline
+	\texttt{\textbackslash qquad} & \phi(x) \qquad \forall x & \rightarrow \qquad \leftarrow \\ \hline
+	\end{array}
+\]
+Tildes are an example of unbreakable space, meaning the adjacent strings won't be separated over line breaks.\footnote{
+	Note that, for unknown reasons, the two tildes above didn't produce the same space, so tildes are perhaps unreliable. 
+} 
+E.g.,\\
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string1~string2 \par
+Rather than printing \hspace*{\fill} string1 \\
+string2, \\
+it keeps the two strings on the same line. If we remove the space between the last dash and string1, both strings will move to the previous line. This could be useful for keeping inline mathematical statements together; it may sometimes be difficult to read a formula broken up over two lines. \par
+Tildes are unbreakable in math mode and in paragraph mode. Some other options here are only unbreakable in paragraph mode; e.g., (\verb$\,$), (\verb$\:$), and (\verb$\;$). 
+
+\section{Macros} \label{sec:macros}
+The command \verb$\newcommand{\macroname}{$\opt{definition}\verb$}$ creates a macro instruction invoked with \verb$\macroname$ that inserts the \opt{definition} wherever \verb$\macroname$ appears.\footnote{
+	The \opt{definition} can either be written on one line for potentially faster compile times or left in a readable format, but compile times won't be much faster in the former case since \LaTeX\ Workshop keeps auxiliary files. The first compilation is long, but subsequent compilations are quick because most of the compilation is already done. Hence, saving memory by reducing the number of tokens isn't very important since most of those tokens aren't recompiled. In the latter case, it's good practice to put a \texttt{\%} at the end of most lines to prevent whitespace created by \texttt{EOL} (end of line) characters. BTW: 2 \texttt{EOL} = empty line in code = \texttt{\textbackslash par}. 
+} 
+The command \verb$\newcommand*{\macroname}[n]{$\opt{definition}\verb$}$\footnote{
+	The \texttt{*} creates a ``short'' command that invokes error messages if the \opt{definition} is broken up over paragraphs (\texttt{\textbackslash par} or an empty line). The utility here is that this will also make your compiler tell you the line number if you leave an opening brace unclosed. 
+}
+is invoked with \texttt{n} arguments $\mathit{\langle a_1 \rangle,\dots,\langle a_n \rangle}$ as $\mathtt{\texttt{\textbackslash} macroname\{\langle\mathit{a_1}\rangle\} \cdots \{\langle\mathit{a_n}\rangle\}}$. 
+In the \opt{definition}, \texttt{\#i} indicates where the \texttt{i}-th argument \opt{$a_i$} will be placed, and \verb$\hfill$ inserts white-space until a space---the space in a matrix entry, for instance---is filled. 
+\pagebreak
+\[
+	\begin{array}{c|c|c|c|c}
+		\fivevec{1}{2}{333}{44500}{5} &
+		\threevecc{9}{77}{3008} &
+		\fourrowvec{a}{b}{c}{d} &
+		\fivetuple{1}{2}{3}{4}{5} &
+		\ntuple{a}{n} \\
+		 & & & & \\ \hline
+		 & & & & \\
+		\twobytwo{a}{b}{c}{d} &
+		\threebythree
+		{1}{2}{3}
+		{4}{5}{6}
+		{7}{8}{9} &
+		\threebythreev
+		{1}{0}{0}
+		{0}{1}{0}
+		{0}{0}{1} &
+		\augthree{u_1}{u_2}{u_3} &
+		\fourvectorchline{v_1^T}{v_2^T}{v_3^T}{v_4^T}
+	\end{array}
+\]
+
+In general, it's good to reduce the number of keys you have to press as much as possible; however, VS Code's autocompletion already allows us to avoid typing many things. Thus, the benefit of shortening some commands with macros may merely be that it makes our code more concise, but this depends on personal preference. For instance, you may not care whether your code is populated with the few extra letters in \verb$\frac$ as opposed to the one in \verb$\f$. 
+
+\subsection{Troubleshooting with \texttt{\textbackslash end\{document\}}} \label{subsec:errors}
+One way to locate elusive errors is to put an \verb$\end{document}$ right in the middle of the document. If the error goes away, it was in the portion of the document you cut off. Move the command up or down and repeat until you've found the error. In such a scenario it helps to have a command \verb$\ed$ to do this testing. 
+
+\section{Packages} \label{sec:packages}
+Packages provide commands for doing various typesetting tasks. For example, the \href{https://ctan.org/pkg/units}{\texttt{units}} package allows us to write $\nicefrac{a}{b}$ instead of $\frac{a}{b}$, the \href{https://ctan.org/pkg/xcolor}{\texttt{xcolor}} package allows us to \colorbox{yellow}{highlight} things, the \href{https://ctan.org/pkg/cancel}{\texttt{cancel}} package allows us to cancel terms in formulas: $x + \cancel{c} - \cancel{c} = x$, and the \href{https://tex.stackexchange.com/questions/320605/how-to-print-in-white-text-over-black-background}{\texttt{pagecolor}} package is very useful for removing the glare of the white pages. MiKTeX can install packages so that we don't have to deal with \texttt{sty} (style) files. It should do this automatically.\footnote{
+	In other words, it should do this ``on the fly.'' \par
+	If not, once you've downloaded a package from \href{https://ctan.org/}{CTAN}, it should contain some \texttt{sty} files, in which case you should follow the steps laid out it \S\ref{subsec:installing-packages}. \par
+	If instead of \texttt{sty} files there are \texttt{ins} (installation) files, you must run those \texttt{ins} files to produce the required \texttt{sty} files. The simplest way to do this is to open the \texttt{ins} file in your editor and compile it as you would a \texttt{tex} file. \par
+	When all else fails, the makeshift way to use a package is to copy its \texttt{sty} files directly to the folder containing your \texttt{tex} file. 
+}
+
+\subsection{Creating and Manually Installing Packages} \label{subsec:installing-packages}
+Macros should be written in a separate file and added to the beginning of your document. The most prudent way to do this is to create a package by giving it the \texttt{.sty} file extension and putting these two lines at the beginning: \\
+
+\verb$\NeedsTeXFormat{LaTeX2e}$ \par
+\verb$\ProvidesPackage{$\opt{package-name}\verb$}$ \\
+
+Create a folder named \opt{package-name} containing the file. In MiKTeX Console, go to \texttt{Settings -> Directories}.\footnote{
+	MiKTeX creates a file \texttt{miktex-console.lock} under \texttt{C:\textbackslash Users\textbackslash$<$user\_name$>$} that prevents MiKTeX Console from opening initially. Simply delete this file and this problem shouldn't persist. 
+}
+Select the \textbf{Install} directory and open it with the square button.
+\begin{center}
+	\includegraphics[width=0.7\textwidth]{directories}
+\end{center}
+On macOS, this directory will be 
+\begin{verbatim}
+	/Users/<user_name>/Library/Application Support/MiKTeX/texmfs/install
+\end{verbatim}
+Then, place the \opt{package-name} folder under \texttt{tex -> latex}, and under \texttt{Tasks} on the menubar, select \textbf{Refresh file name database}. You should now be able to use commands from \opt{package-name} in any \texttt{tex} file without having to put the \texttt{sty} file in the same location. \p
+It would be wise to pin the file or folder containing your commands to VS Code's icon and the File Explorer icon on your taskbar for easy access. 
+
+\subsection{Images: \texttt{graphicx}} \label{subsec:images}
+A picture of black writing on a whiteboard with the \textbf{shadows}, \textbf{contrast}, and \textbf{brightness} maximized, the \textbf{saturation} minimized, and possibly some other settings adjusted as needed---such as increasing the \textbf{brilliance} or slightly increasing the \textbf{exposure}---often gives an image whose white background nearly matches the white page and whose black writing nearly matches the black print. 
+\begin{center}
+	\includegraphics[scale=0.1]{whiteboard}
+\end{center}
+Use the \texttt{center} environment or \verb$\centering$ if it's in a \texttt{figure} environment.\footnote{
+	For subfigures, consider using the \texttt{subfigure} environment from the \texttt{subcaption} package. 
+}\textsuperscript{,}\footnote{
+	The option \texttt{[h]} stands for ``here'' and indicates that we want the figure to be placed exactly where it is in the code. Sometimes this is not enough, and stronger options are required. Ordered by strength, these are \texttt{[h] $<$ [!h] $<$ [H]}, where \texttt{H} comes from the \texttt{float} package.
+}
+\begin{figure}[H]
+	\centering
+	\includegraphics[width=0.75\textwidth]{M33_figure}
+	\caption{M33}
+\end{figure}
+\noindent
+Set the path to the folder with your images with \verb$\graphicspath{{$\opt{path}\verb$}}$. \\
+The file extensions of the images aren't required. \\
+The \texttt{graphicx} package allows us to easily size images with \texttt{scale}, \texttt{width}, or \texttt{height}. Compare the options of the two images above. 
+
+\subsection{Diagrams: PGF/Ti\textit{k}Z} \label{subsec:graphics}
+The \texttt{pgf} and \texttt{tikz} packages provide a very complex set of commands to draw shapes, graphs, and intricate diagrams straight into the document. 
+You will probably never need to use them, but as before, your best resource for learning PGF/Ti\textit{k}Z is the internet, so look for a some tutorials that might be helpful such as \href{https://www.overleaf.com/learn/latex/LaTeX_Graphics_using_TikZ:_A_Tutorial_for_Beginners_(Part_1)%E2%80%94Basic_Drawing}{this}. \par
+Many packages and Ti\textit{k}Z libraries build off of Ti\textit{k}Z so that we can use it for specific tasks without doing all the work. For examples, there are the \href{https://ctan.org/pkg/forest}{\texttt{forest}}, \href{https://ctan.org/pkg/chessboard?lang=en}{\texttt{chessboard}}, and \href{https://ctan.org/pkg/tikzducks}{\texttt{tikzducks}} packages. \par
+Note that in the \LaTeX\ menu on the left sidebar in VS Code, under the same Snippet panels mentioned in \S\ref{subsec:formatting-math}, there are Ti\textit{k}Z panels that offer the opportunity to play around with various features from PGF/Ti\textit{k}Z. 
+
+\subsubsection{Chemistry and Physics in \LaTeX} \label{subsubsec:chemistry}
+It may perhaps be worth mentioning that there are ways of typesetting other diagrams from the natural sciences in \LaTeX. \\
+Click \href{https://en.wikibooks.org/wiki/LaTeX/Chemical_Graphics}{here} for \textbf{general info} on chemical graphics. \\
+Click \href{https://tex.stackexchange.com/questions/145838/typesetting-chemical-formulas}{here} for more info on typesetting \textbf{chemical formulas}. \\
+Click \href{https://www.overleaf.com/learn/latex/chemistry_formulae}{here} for more info on typesetting \textbf{structural formulas}. \\
+Click \href{https://www.overleaf.com/learn/latex/Molecular%20orbital%20diagrams}{here} for info on typesetting \textbf{molecular orbital diagrams}. \\
+Click \href{https://www.overleaf.com/learn/latex/Feynman_diagrams}{here} for info on typesetting \textbf{Feynman diagrams}. 
+
+\subsection{Algorithms and Code in \LaTeX} \label{subsec:algorithms}
+The \texttt{verbatim} environment prints your code onto the document exactly how it appears in the editor, but it doesn't include tabs. To remedy this, use either the \texttt{Verbatim} environment in the \href{https://ctan.org/pkg/fancyvrb}{\texttt{fancyvrb}} package or the \texttt{verbatimtab} environment in the \href{https://ctan.org/pkg/moreverb}{\texttt{moreverb}} package. Both produce the same result: 
+\begin{Verbatim}
+SumArrayElements(A[1..n])
+num <- 0
+FOR i <- 1 to n DO
+	num <- num + A[i]
+end FOR
+RETURN num 
+\end{Verbatim}
+However, there are better options from other packages shown \href{https://en.wikibooks.org/wiki/LaTeX/Algorithms}{here} and \href{https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings}{here}. 
+
+\subsection{Poetry in \LaTeX} \label{subsec:poetry}
+The \href{https://ctan.org/pkg/verse}{\texttt{verse}} package allows us to typeset poetry in \LaTeX. 
+\poemtitle*{yep} % * prevents this from being in the table of contents
+    \settowidth{\versewidth}{stanza 1}
+    \begin{verse}[\versewidth]
+        stanza 1, \\
+        a few words, \\
+        some new \\
+        lines
+
+        stanza 2 \\
+        a few more, \\
+        assonance almost \\
+        rhymes
+    \end{verse}
+    \attrib{Andrew Lounsbury \\ April 28, 2021}
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/LaTeX_for_Undergraduates.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/README.md	2022-02-06 21:13:18 UTC (rev 61918)
@@ -0,0 +1,8 @@
+# LaTeX for Undergraduates
+## Author: Andrew Lounsbury, alounsbury8 at gmail.com
+## Version 1.0
+## 2022/02/05
+## License: Public Domain
+## Author's Note
+
+My general intention in writing this tutorial was to include only the things that would be most useful for undergraduate students whose studies involve lots of mathematics and who may want to start writing their assignments in LaTeX. I did not intend for it to be packed with every piece of information one could possibly find; that's what books and the internet are for. Everything in *LaTeX for Undergraduates* and the `alounsburymacros` package is either something I used in my four years as an undergraduate student or something useful that I found while writing this and thought was worth including. 
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.pdf	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.pdf	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.tex	2022-02-06 21:13:18 UTC (rev 61918)
@@ -0,0 +1,181 @@
+\documentclass[12pt]{article}
+\usepackage{alounsburymacros, fancyvrb, hyperref}
+\hypersetup{
+    colorlinks=true,
+    linkcolor=blue,
+    urlcolor=blue
+}
+
+\newcommand{\notAMathOperator}{\mathrm{sin}}
+\DeclareMathOperator{\aMathOperator}{sin}
+
+\begin{document}
+    \title{The \texttt{alounsburymacros} package}
+    \author{1.0 \ 2022/02/05}
+    \date{Andrew Lounsbury}
+    \maketitle
+
+    \section{Description}
+    This package serves as a set of examples of user-defined \LaTeX\ commands. Everything here is something that I used or experimented with during my time as an undergraduate student. Some of the commands may not be useful at all. The primary purpose of most commands in this package is to reduce the amount of typing required. 
+
+    \section{Writing Your Own Commands}
+    If you're reading this, you're presumably an undergraduate student who might be interested in using \LaTeX. In general, I think the best way to start using \LaTeX\ and then form a habit of it is to start early and to learn things little by little. \p
+    That being said, one of the most useful things you can do is to write commands that make things easier. I would recommend accumulating these commands in one file (package) as you go along, similarly to what I've done here with \texttt{alounsburymacros}. 
+    \begin{example*}
+        In Advanced Calculus, I found that I was having to type $\mathscr{R}(\alpha)$ (\texttt{\textbackslash mathscr\{R\}(\textbackslash alpha)}) over and over again. So, I wrote the command 
+        \begin{verbatim}
+            \newcommand{\ara}{\mathscr{R}(\alpha)}
+        \end{verbatim}
+        to avoid this. `\texttt{ar}' is an onomatopoeic rendition of the letter `R' spoken aloud, and the second `\texttt{a}' stands for ``alpha.'' You have to get creative with naming these things. 
+    \end{example*}
+    
+    \section{Some Actual Documentation}
+    Some of this information is similar to the formalities you might see in the documentation of other packages. \p
+    I'm not going to take the time to document every command I've made in \texttt{alounsburymacros}; however, I've made many comments throughout \texttt{alounsburymacros.sty}, If you want to get an idea of what's included in the package, just open the \texttt{sty} file in your editor read through those comments. 
+
+    \subsection{License}
+    This software is contributed to the public domain. In other words, I don't care what you do with it. Add things to it, remove things from it, copy things from it to your own set of macros, distribute it, whatever. 
+
+    \subsection{Acknowledgements}
+    Most of the \texttt{LINEAR ALGEBRA} section and perhaps a few commands elsewhere were provided to me in my freshman year by Dr.\ R.\ Ablamowicz, emeritus. 
+
+    \subsection{Dependencies}
+    The \texttt{alounsburymacros} package loads 
+    \href{https://ctan.org/pkg/forloop}{\texttt{forloop}}, 
+    \href{https://ctan.org/pkg/mathrsfs}{\texttt{mathrsfs}}, 
+    \href{https://ctan.org/pkg/mathtools}{\texttt{mathtools}}, 
+    \href{https://ctan.org/pkg/nicefrac}{\texttt{nicefrac}}, 
+    \href{https://ctan.org/pkg/xcolor}{\texttt{xcolor}}, 
+    \href{https://ctan.org/pkg/amsmath}{\texttt{amsmath}}, 
+    \href{https://ctan.org/pkg/amsfonts}{\texttt{amsfonts}}, 
+    \href{https://ctan.org/pkg/amsfonts}{\texttt{amssymb}}, 
+    \href{https://ctan.org/pkg/amsthm}{\texttt{amsthm}}, 
+    \href{https://ctan.org/pkg/cancel}{\texttt{cancel}}, 
+    \href{https://ctan.org/pkg/calligra}{\texttt{calligra}}, 
+    \href{https://ctan.org/pkg/enumitem}{\texttt{enumitem}}, 
+    \href{https://ctan.org/pkg/fancyvrb}{\texttt{fancyvrb}}, 
+    \href{https://ctan.org/pkg/graphicx}{\texttt{graphicx}}, 
+    \href{https://ctan.org/pkg/pagecolor}{\texttt{pagecolor}},  
+    \href{https://ctan.org/pkg/pifont}{\texttt{pifont}},  
+    \href{https://ctan.org/pkg/suppose}{\texttt{suppose}},  
+    \href{https://ctan.org/pkg/totcount}{\texttt{totcount}},  
+    \href{https://ctan.org/pkg/upgreek}{\texttt{upgreek}},  
+    \href{https://ctan.org/pkg/verbatim}{\texttt{verbatim}},  
+    \href{https://ctan.org/pkg/verse}{\texttt{verse}}, and 
+    \href{https://ctan.org/pkg/fontenc}{\texttt{fontenc}}.
+    Most packages will rely on nowhere near as many packages as this. It only loads this many because \texttt{alounsburymacros} is essentially my personal preamble file, so I put whatever I wanted there. \p
+    These dependencies may require or include other packages. For instance, the \href{https://ctan.org/pkg/nicefrac}{\texttt{nicefrac}} package includes the \href{https://ctan.org/pkg/units}{\texttt{units}} package. If you require one of these packages to be loaded with some option, consider loading it yourself before the \texttt{alounsburymacros} package or use, e.g., 
+    \begin{Verbatim}
+        \PassOptionsToPackage{tight}{units}
+    \end{Verbatim}
+
+    \subsection{Option \texttt{b}}
+    Using the \texttt{alounsburymacros} package with the option \texttt{b}:
+    \begin{center}
+        \fbox{\texttt{\textbackslash usepackage[b]\{alounsburymacros\}}}
+    \end{center}
+    will use the \href{https://ctan.org/pkg/pagecolor}{\texttt{pagecolor}} package to set the page color to black and the text color to white. 
+
+    \subsection{Commands using \texttt{mathtools}}
+    The commands \texttt{\textbackslash Mid} and \texttt{\textbackslash set} are respectively renamed from the commands \texttt{\textbackslash given} and \texttt{\textbackslash Set} from page 27 of the \href{https://ctan.org/pkg/mathtools}{\texttt{mathtools}} package documentation as follows: 
+    \begin{verbatim}
+        % just to make sure it exists
+        \providecommand\Mid{}
+        % can be useful to refer to this outside \set
+        \newcommand\SetSymbol[1][]{%
+            \nonscript\:#1\vert%
+            \allowbreak%
+            \nonscript\:%
+            \mathopen{}%
+        }
+        \DeclarePairedDelimiterX{\set}[1]\{\}{%
+            \renewcommand\Mid{\SetSymbol[\delimsize]}%
+            #1%
+        }
+    \end{verbatim}
+    The command \texttt{\textbackslash set} is invoked as \texttt{\textbackslash set\{}$\langle$\textit{argument}$\rangle$\texttt{\}}: 
+    \[
+        2\Z = \set{x \in \Z \mid x \bmod 2 = 0}, 
+    \]
+    but adding a \texttt{*} makes everything extensible, in which case we use \texttt{\textbackslash Mid} rather than \texttt{\textbackslash mid}: 
+    \[
+        \Q = \set*{\f{x}{y} \Mid x,y \in \Z}. 
+    \]
+
+    \subsection{Proof Environments with the Technique Specified}
+    This package contains proof environments with the technique specified in the title of the proof. I had to create supplementary environments with \verb$\newtheorem{...}{...}$ in order to make the actual environments that have Q.E.D. symbols with \verb$\newenvironment{...}{...}$. In other words, use 
+    \begin{Verbatim}
+    \begin{pfco}
+        ...
+    \end{pfco}
+    \end{Verbatim}
+    rather than 
+    \begin{Verbatim}
+    \begin{pfcombinatorial}
+        ...
+    \end{pfcombinatorial}
+    \end{Verbatim}
+    \begin{pfco}
+        The Q.E.D. symbols in these environments function the same way that they do in the regular \texttt{proof} environment. 
+    \end{pfco}
+    \begin{pfi}
+        We can even push the Q.E.D. symbol into a display that ends the proof: 
+        \[
+            \vf\vec{e_j} = \msumi{i}{1} \mdel{f_i}{x_j}\vec{u}_j. \qedhere
+        \]
+    \end{pfi}
+
+    \subsection{For Whom it May Interest}
+    There are a couple of things in \texttt{alounsburymacros} that you may never use but may be curious about. 
+    \subsubsection{Conditionals}
+    At the end of \texttt{alounsburymacros.sty} there are some experimental commands for typing ditto marks:\dit. They are underdeveloped and not very useful, but I'm leaving them as an example of the more dynamic things we can do with \LaTeX, such as for-from-to loops, for-each-in loops, while loops, etc. \p
+    One applications of conditionals is in drawing with Ti\textit{k}Z. For examples of \verb$\foreach$, refer to \href{https://stuff.mit.edu/afs/athena/contrib/tex-contrib/beamer/pgf-1.01/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse15.html}{this page}. \p
+    Assuming I haven't changed it since writing this, I've also used the conditional \verb$\ifnum$ \dots \verb$\fi$ in my \href{https://ctan.org/pkg/suppose}{\texttt{suppose}} package. 
+
+    \subsubsection{\texttt{\textbackslash mspace\{\dots\}}}
+    The command \verb$\mspace{...}$\footnote{
+        I believe \texttt{\textbackslash mspace\{\dots\}} is either short for ``\texttt{mu} space'' or short for ``math space,'' but I'm not sure which. 
+    }
+    is a more precise way of inserting horizontal space in math mode. It accepts rational values of the unit \texttt{mu}. The conversion is \\
+    
+    \noindent
+    18 \texttt{mu} = 1 \verb$\quad$ = 1 \texttt{em} = the width of `M' in the current font. 
+    \begin{gather*}
+        x \mspace{18mu} y \\
+        x \quad y \\
+        xMy
+    \end{gather*}
+    1 \verb$\qquad$ is the width of `MM'.
+    \begin{gather*}
+        x \mspace{36mu} y \\
+        x \qquad y \\
+        xMMy
+    \end{gather*}
+    Other spaces are defined to be a certain number of \texttt{mu}. \\
+    For instance, the thin space \verb$\,$ is 3 \texttt{mu}: 
+    \begin{gather*}
+        x \mspace{3mu} y \\
+        x\,y
+    \end{gather*}
+    The thick space \verb$\;$ is 6 \texttt{mu}: \\
+    \begin{gather*}
+        x \mspace{6mu} y \\
+        x\;y
+    \end{gather*}
+    The negative thin space \verb$\!$ is $-3$ \texttt{mu}:
+    \begin{gather*}
+        x \mspace{-3mu} y \\
+        x\!y
+    \end{gather*}
+    Another typesetting unit is \texttt{ex}, or x-height, which is the height of the lowercase `x' character: \rule{1pt}{1ex}x. 
+
+    \subsection{\texttt{\textbackslash DeclareMathOperator\{\dots\}\{\dots\}}}
+    Commands line $\sin, \max, \sup$ are defined as math operators with the command \verb$\DeclareMathOperator{\commandname}{$\opt{text}\verb$}$. It displays \opt{text} in the \texttt{mathrm} font and places a space after \opt{text} if a delimiter does not immediately follow, which, for instance, is how we write $\sin$ by hand when we omit the parentheses. \p
+    Compare the following commands that are defined at the beginning of this document: 
+    \[
+        \begin{array}{c|c}
+            \texttt{\textbackslash DeclareMathOperator\{\dots\}\{\dots\}} & \texttt{\textbackslash newcommand\{\dots\}\{\dots\}} \\ \hline
+            \aMathOperator\pi & \notAMathOperator\pi         
+        \end{array}
+    \]
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros.sty	2022-02-06 21:13:18 UTC (rev 61918)
@@ -0,0 +1,633 @@
+% alounsburymacros.sty	 1.0   2022/02/05
+% Andrew Lounsbury
+
+% This file was not generated from source code. 
+% This software is contributed to the public domain.  
+
+% Marking this file as a package
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{alounsburymacros}[2022/02/05 1.0 miscellaneous commands]
+
+% This allows commands that use things from these packages to work even if we 
+% haven't put them in \usepackage{} in the preamble. 
+\RequirePackage{forloop, mathrsfs, mathtools, nicefrac, xcolor}
+% Otherwise, we could list packages we often use to avoid having to include them 
+% in the preamble of our tex files. 
+%===================================================================================%
+% In other words, the use of \usepackage{} for packages other than alounsburymacros %
+% at the beginning of LaTeX_for_Undergraduates.tex is merely there for the sake of 	%
+% example.    																		%
+%===================================================================================%
+\RequirePackage{amsmath, amsfonts, amssymb, amsthm, cancel, calligra, enumitem, fancyvrb, graphicx, pagecolor, pifont, suppose, totcount, upgreek, verbatim, verse}
+\RequirePackage{fontenc}
+\PassOptionsToPackage{T1}{fontenc}
+
+% GENERAL COMMANDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% From enumitem package
+% Fixing indentation in enumerate and itemize environments
+\setlist{  
+	listparindent=\parindent,
+	parsep=0pt,
+}
+
+% For <...> arguments in LaTeX_for_Undergraduates.tex
+\newcommand*{\opt}[1]{$\langle$\textit{#1}$\rangle$}
+
+% Troubleshooting
+\newcommand{\ee}{\end{enumerate}}
+\newcommand{\ed}{\end{document}}
+
+% LaTeX Workshop autocompletes \par to \paragraph{}, which gets annoying. 
+\newcommand{\p}{\par}
+
+% Horizontal separator with option to add label
+\newcommand*{\hl}[1][\unskip]{%
+	\noindent\textbf{#1} \\%
+	\makebox{%
+		\rule[1.5ex]{0.75\paperwidth}{0.8pt}%
+	}%
+}
+
+% \renewcommand overrides a command that has already been defined. 
+% In the proof environment, \qedsymbol defaults to a white square. 
+% I prefer a black square, so I change it here. 
+\renewcommand{\qedsymbol}{$\blacksquare$}
+% but these allow me to easily change it to other things
+\newcommand{\whiteqed}{\renewcommand{\qedsymbol}{$\square$}}
+\newcommand{\noqed}{\renewcommand{\qedsymbol}{}}
+
+% Environments -----------------------------------------------------------------
+% Creating \begin{...} \end{...} environments with a few defaults provided by 
+% \newtheorem
+% * removes numbering
+% The first {} contains the name of the environment. 
+% The second {} contains what will be displayed. 
+\newtheorem{claim}{Claim} 	% numbered
+\newtheorem*{claim*}{Claim} % not numbered
+\newtheorem*{conjecture*}{Conjecture}
+\newtheorem{corollary}{Corollary}
+\newtheorem*{corollary*}{Corollary}
+\newtheorem{lemma}{Lemma}
+\newtheorem*{lemma*}{Lemma}
+\newtheorem{note}{Note}
+\newtheorem{problem}{Problem}
+\newtheorem{proposition}{Proposition}
+\newtheorem*{proposition*}{Proposition}
+\newtheorem{theorem}{Theorem}
+\newtheorem*{theorem*}{Theorem}
+
+\theoremstyle{definition} 	% removes italics from the following
+\newtheorem{case}{Case}
+\newtheorem{counterexample}{Counterexample}
+\newtheorem*{counterexample*}{Counterexample}
+\newtheorem{definition}{Definition}
+\newtheorem*{definition*}{Definition}
+\newtheorem{example}{Example}
+\newtheorem*{example*}{Example}
+\newtheorem{nonexample}{Non-Example}
+\newtheorem*{nonexample*}{Non-Example}
+\newtheorem*{fact*}{Fact}
+\newtheorem{notation}{Notation}
+\newtheorem*{notation*}{Notation}
+\theoremstyle{remark}		% italicized title, upright text
+\newtheorem{remark}{Remark}
+\newtheorem*{remark*}{Remark}
+
+% Don't use these \newtheorem environments. 
+% Use the \newenvironment's below. 
+\newtheorem*{pfcases}{Proof by Cases}
+\newtheorem*{pfcontradiction}{Proof by Contradiction}
+\newtheorem*{pfcombinatorial}{Proof (Combinatorial)}
+\newtheorem*{pfcontrapositive}{Proof by Contrapositive}
+\newtheorem*{pfdirect}{Proof (Direct)}
+\newtheorem*{pfinduction}{Proof by Induction}
+% Proof environments with the technique specified
+\newenvironment*{pfca}
+	{\pushQED{\qed}\pfcases}
+	{\popQED\endpfcases}
+\newenvironment*{pfcd}
+	{\pushQED{\qed}\pfcontradiction}
+	{\popQED\endpfcontradiction}
+\newenvironment*{pfco}
+	{\pushQED{\qed}\pfcombinatorial}
+	{\popQED\endpfcombinatorial}
+\newenvironment*{pfcp}
+	{\pushQED{\qed}\pfcontrapositive}
+	{\popQED\endpfcontrapositive}
+\newenvironment*{pfd}
+	{\pushQED{\qed}\proof}
+	{\popQED\endpfdirect}
+\newenvironment*{pfi}
+	{\pushQED{\qed}\pfinduction}
+	{\popQED\endpfinduction}
+
+% Color-coded environments
+\definecolor{darkpastelgreen}{rgb}{0.01, 0.75, 0.24}
+\definecolor{ballblue}{rgb}{0.13, 0.67, 0.8}
+
+\theoremstyle{plain} % adds italics to the following
+\newtheorem*{cconjecture*}{\colorbox{orange}{Conjecture}}
+\newtheorem{ccorollary}{\colorbox{orange}{Corollary}}
+\newtheorem*{ccorollary*}{\colorbox{orange}{Corollary}}
+\newtheorem{clemma}{\colorbox{orange}{Lemma}}
+\newtheorem*{clemma*}{\colorbox{orange}{Lemma}}
+\newtheorem{cnote}{\colorbox{blue}{Note}}
+\newtheorem{cproposition}{\colorbox{pink}{Proposition}}
+\newtheorem*{cproposition*}{\colorbox{pink}{Proposition}}
+\newtheorem{ctheorem}{\colorbox{pink}{Theorem}}
+\newtheorem*{ctheorem*}{\colorbox{pink}{Theorem}}
+
+\theoremstyle{definition} % removes italics from the following
+\newtheorem{ccase}{Case}
+\newtheorem*{cfact*}{\colorbox{cyan}{Fact}}
+\newtheorem{cexample}{\colorbox{darkpastelgreen}{Example}}
+\newtheorem*{cexample*}{\colorbox{darkpastelgreen}{Example}}
+\newtheorem{cnonexample}{\colorbox{darkpastelgreen}{Non-Example}}
+\newtheorem*{cnonexample*}{\colorbox{red}{Non-Example}}
+\newtheorem*{cremark*}{\colorbox{cyan}{Remark}}
+%-----------------------------------------------------------------
+
+% For inductive proofs and recursive definitions
+\newcommand{\bc}{\textbf{\underline{Base case}: }}
+\newcommand{\ind}{\textbf{\underline{Induction step}: }}
+\newcommand{\basis}{\textbf{\underline{Basis}: }}
+\newcommand{\rec}{\textbf{\underline{Recursive step}: }}
+
+% Ways to avoid \text{} in display-math
+\newcommand{\as}{\text{ as}\ }
+\newcommand{\bec}{\text{ because}\ }
+\newcommand{\but}{\text{ but}\ }
+\newcommand{\const}{\text{ const}\ }
+\newcommand{\countable}{\text{ countable}\ }
+\newcommand{\each}{\text{ each}\ }
+\newcommand{\et}{\text{ and}\ }
+\newcommand{\for}{\text{ for}\ }
+\newcommand{\some}{\text{ some}\ }
+\newcommand{\fs}{\text{ for some}\ }
+\newcommand{\on}{\text{ on}\ }
+\newcommand{\ona}{\text{ on a}\ }
+\newcommand{\ow}{\text{o/w}\ }			% otherwise
+\newcommand{\st}{\text{s.t.}\ }			% such that
+\newcommand{\mst}{\text{ s.t.}\ }		% math such that
+\newcommand{\ou}{\text{ or}\ }
+\renewcommand{\over}{\text{ over}\ }
+\newcommand{\so}{\text{ so}\ }
+\newcommand{\tms}{\text{ times}\ } 		% for \underbrace{...}_{n times}
+\newcommand{\undef}{\text{undef.}\ }
+\newcommand{\with}{\text{ with}\ }
+\newcommand{\where}{\text{ where}\ }
+\newcommand{\wrt}{\text{ with respect to}\ }
+
+% Things to stack on =, <, \le, etc. 
+\newcommand{\lh}{\stackrel{\text{\tiny L'H}}}	% L'Hôpital's Rule
+\newcommand{\pf}{\stackrel{\text{\tiny PF}}}	% Pascal's Formula
+\newcommand{\ti}{\stackrel{\text{\tiny TI}}}	% Triangle Inequality
+\newcommand{\one}{\stackrel{\text{\tiny \ensuremath{(1)}}}}
+\newcommand{\two}{\stackrel{\text{\tiny \ensuremath{(2)}}}}
+\newcommand{\three}{\stackrel{\text{\tiny \ensuremath{(3)}}}}
+
+% Black-board bold
+\newcommand{\C}{\mathbb{C}} 	% complex numbers
+\newcommand{\F}{\mathbf{F}}		% bold F
+\newcommand{\N}{\mathbb{N}} 	% natural numbers
+\newcommand{\bP}{\mathbb{P}}
+\newcommand{\Q}{\mathbb{Q}} 	% etc.
+\newcommand{\R}{\mathbb{R}}
+\newcommand{\W}{\mathbb{W}}
+\newcommand{\Z}{\mathbb{Z}}
+
+% Miscellaneous
+\newcommand{\bs}{\boldsymbol}
+\newcommand{\f}{\frac}			% \f{numerator}{denominator}
+\newcommand{\inv}{^{-1}}
+\newcommand*{\lcm}[1]{\mathrm{lcm}\left\{#1\right\}}	% least common multiple
+\newcommand{\mbf}{\mathbf} 								% math bold face
+\newcommand*{\ol}[1]{\overline{#1}}
+\newcommand*{\ttt}[1]{\texttt{#1}}
+\newcommand*{\ul}[1]{\underline{#1}}
+\newcommand{\vn}{\varnothing}
+\newcommand{\wt}{\widetilde}
+
+% My notations
+\newcommand*{\msum}[3]{\sum\limits_{#1=#2}^{#3}} 		% my sum
+\newcommand*{\mprod}[3]{\prod\limits_{#1=#2}^{#3}}		% my prod
+\newcommand*{\mcap}[3]{\cap_{#1=#2}^{#3}}				% etc.
+\newcommand*{\mcup}[3]{\cup_{#1=#2}^{#3}}
+\newcommand*{\mbcap}[3]{\bigcap\limits_{#1=#2}^{#3}}
+\newcommand*{\mbcup}[3]{\bigcup\limits_{#1=#2}^{#3}}
+\newcommand*{\mset}[4]{\left\{#1\right\}_{#2=#3}^{#4}}
+% Default infinity for the upper bounds
+\newcommand*{\msumi}[2]{\msum{#1}{#2}{\infty}}
+\newcommand*{\mprodi}[2]{\mprod{#1}{#2}{\infty}}
+\newcommand*{\mcapi}[2]{\mcap{#1}{#2}{\infty}}
+\newcommand*{\mcupi}[2]{\mcup{#1}{#2}{\infty}}
+\newcommand*{\mbcapi}[2]{\mbcap{#1}{#2}{\infty}}
+\newcommand*{\mbcupi}[2]{\mbcup{#1}{#2}{\infty}}
+\newcommand*{\mseti}[3]{\mset{#1}{#2}{#3}{\infty}}
+
+\newcommand{\bcup}{\bigcup\limits}
+\newcommand{\bcap}{\bigcap\limits}
+\newcommand{\Int}{\int\limits}
+\newcommand{\Prod}{\prod\limits}
+\newcommand{\Sum}{\sum\limits}
+
+% Package-specific
+\newcommand{\nf}{\nicefrac} 				% nicefrac
+\newcommand{\cmark}{\ding{51}\ }				% pifont
+\newcommand{\xmark}{\ding{55}\ }
+\newcommand*{\cb}[2]{\colorbox{#1}{#2}} 	% xcolor
+\newcommand*{\cbr}[1]{\colorbox{red}{#1}}
+\newcommand{\cbg}{\cb{darkpastelgreen}}
+\newcommand*{\cby}[1]{\colorbox{yellow}{#1}}
+\newcommand*{\tc}[2]{\textcolor{#1}{#2}}
+\newcommand*{\tcb}[1]{\textcolor{blue}{#1}}
+\newcommand{\tcg}{\tc{darkpastelgreen}}
+\newcommand*{\tcr}[1]{\textcolor{red}{#1}}
+% math mode
+\newcommand*{\mcb}[2]{\colorbox{#1}{$#2$}}
+\newcommand*{\mcbb}[1]{\colorbox{blue}{$#1$}}
+\newcommand*{\mcbr}[1]{\colorbox{red}{$#1$}}
+\newcommand*{\mcby}[1]{\colorbox{yellow}{$#1$}}
+\newcommand*{\mtc}[2]{\textcolor{#1}{$#2$}}
+\newcommand*{\mtcb}[1]{\textcolor{blue}{$#1$}}
+\newcommand*{\mtcr}[1]{\textcolor{red}{$#1$}}
+\DeclareOption{b}{ 
+	\pagecolor{black}
+	\color{white}
+}
+\DeclareOption*{\PackageWarning{alounsburymacros}{Unknown '\CurrentOption'}}
+\ProcessOptions\relax
+
+%--------------------------------------------------------------------------
+% Polish notation for responsive block delimiters
+\newcommand*{\abs}[1]{\left\lvert#1\right\rvert}		% absolute value
+\newcommand*{\ceil}[1]{\left\lceil#1\right\rceil}		% ceiling
+\newcommand*{\floor}[1]{\left\lfloor#1\right\rfloor}	% floor
+\newcommand*{\mang}[1]{\left<#1\right>} 				% my angle bracket
+\newcommand*{\mbrack}[1]{\left[#1\right]}				% my bracket
+\newcommand*{\mpar}[1]{\left(#1\right)}					% my parentheses
+\newcommand*{\norm}[1]{\left\lVert#1\right\rVert}		% norm
+
+\newcommand*{\bpar}[1]{\boldsymbol(#1\boldsymbol)}
+
+% \Mid is a very useful extensible \mid from the mathtools documentation 
+% (originally \given)
+% just to make sure it exists
+\providecommand\Mid{}
+% can be useful to refer to this outside \set
+\newcommand\SetSymbol[1][]{%
+	\nonscript\:#1\vert%
+	\allowbreak%
+	\nonscript\:%
+	\mathopen{}%
+}
+\DeclarePairedDelimiterX{\set}[1]\{\}{%
+	\renewcommand\Mid{\SetSymbol[\delimsize]}%
+	#1%
+}
+%-------------------------------------------------------------------------
+
+% ALGEBRA
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\renewcommand{\O}{\mathcal{O}}
+
+% ALGEBRAIC GEOMETRY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\V}{\mathbf{V}}
+\newcommand{\I}{\mathbf{I}}
+\newcommand{\Va}{\V_a}
+\newcommand{\Ia}{\I_a}
+\newcommand*{\VaI}[1]{\V_a(\I(#1))}
+\newcommand*{\IaV}[1]{\I_a(\V(#1))}
+\newcommand*{\VI}[1]{\V(\I(#1))}
+\newcommand*{\IV}[1]{\I(\V(#1))}
+
+% Polynomial rings
+\newcommand{\kx}{k[x]}
+\newcommand{\ky}{k[y]}
+\newcommand{\kz}{k[z]}
+\newcommand{\kxy}{k[x,y]}
+\newcommand{\kxz}{k[x,z]}
+\newcommand{\kyz}{k[y,z]}
+\newcommand{\kxyz}{k[x,y,z]}
+\newcommand{\ring}{k[x_1,\dots,x_n]}
+\newcommand{\ringz}{k[x_0,\dots,x_n]}
+\newcommand{\Izero}{\left<x_0,\dots,x_n\right>}
+
+% Polynomial rings over projective space
+\newcommand*{\pring}[2]{\bP^{#1}(#2)}
+\newcommand{\ptwok}{\bP^2(k)}
+\newcommand{\pnk}{\bP^n(k)}
+\newcommand{\por}{\bP^1(\R)}
+\newcommand{\ptwor}{\bP^2(\R)}
+\newcommand{\pthr}{\bP^3(\R)}
+\newcommand{\pnr}{\bP^n(\R)}
+
+\newcommand{\gln}{\mathrm{GL}(n,k)}
+\DeclareMathOperator{\lm}{LM}		% leading monomial
+\DeclareMathOperator{\lt}{LT}		% leading term
+\DeclareMathOperator{\lc}{LC}		% leading coefficient
+\DeclareMathOperator{\md}{multideg}	% degree for multivariate polynomial
+
+% CALCULUS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\A}{\mathcal{A}}			% an algebra of functions
+\newcommand{\va}{\scalebox{1.5}{$a$}} 	% variation of \A
+\newcommand{\ab}{[a,b]}
+\newcommand{\ar}{\mathscr{R}}
+\newcommand{\ara}{\mathscr{R}(\alpha)}
+\newcommand{\arr}{\mathcal{R}}
+\newcommand{\B}{\mathcal{B}}
+\DeclareMathOperator{\bd}{\mathrm{bd}}
+\newcommand{\bdd}{bounded\ }
+\DeclareMathOperator{\diam}{diam}
+\newcommand{\E}{\mathcal{E}}
+\newcommand{\ef}{\mathscr{F}}
+\DeclareMathOperator{\ext}{\mathrm{ext}}
+\newcommand{\fsc}{finite subcover\ }
+\DeclareMathOperator{\intr}{\mathrm{int}}
+\renewcommand{\L}{\mathscr{L}}
+\newcommand{\M}{\mathfrak{M}}
+\newcommand{\nbd}{neighborhood\ }
+\newcommand{\U}{\mathscr{U}}
+\newcommand{\oo}{[0,1]}
+\newcommand{\seq}{(x_n)_{n=1}^\infty}
+\newcommand{\seqf}{\bs(f_n(x)\bs)_{n=1}^\infty}
+\newcommand{\spc}{(X,\tau)}
+
+\newcommand{\duh}{Let $(X,d)$ be a metric space. }
+
+% Linear algebra
+\newcommand{\boldf}{\bs{\mathrm{f}}}
+\newcommand{\Cdot}{\bs{\cdot}}
+\newcommand*{\mvec}[1]{\bs{\mathrm{#1}}}	% my vector
+\newcommand{\e}{\bs{\mathrm{e}}}
+\newcommand{\h}{\bs{\mathrm{h}}}
+\newcommand{\x}{\bs{\mathrm{x}}}
+\newcommand{\y}{\bs{\mathrm{y}}}
+\newcommand{\z}{\bs{\mathrm{z}}}
+\newcommand{\vf}{\vec{f}}
+\newcommand{\vfp}{\vec{f'}}
+\newcommand{\vphi}{\vec{\phi}}
+
+% Greek letters
+\renewcommand{\a}{\alpha}
+\renewcommand{\b}{\beta}
+\newcommand{\D}{\Delta}
+\newcommand{\Da}{\Delta\alpha}
+\newcommand{\Dx}{\Delta x}
+\newcommand{\ve}{\varepsilon}
+\newcommand{\vp}{\varphi}
+\newcommand{\vr}{\varrho}
+
+% Limits
+\newcommand*{\mlim}[1]{\lim\limits_{#1}} 	% my limit
+\newcommand{\Lim}{\lim\limits}
+\newcommand{\Limsup}{\limsup\limits}
+\newcommand{\Liminf}{\liminf\limits}
+\newcommand{\limi}{\ul{\Lim}\ } 			% alternative liminf
+\newcommand{\lims}{\ol\Lim\ } 				% alternative limsup
+\newcommand{\Max}{\max\limits}
+\newcommand{\Min}{\min\limits}
+
+\newcommand{\Inf}{\inf\limits}
+\newcommand{\Sup}{\sup\limits}
+\newcommand*{\minf}[1]{\Inf_{#1}}
+\newcommand*{\msup}[1]{\Sup_{#1}}
+
+\newcommand*{\mto}[2]{#1\to#2} 				% my to
+\newcommand*{\mtoi}[1]{\mto{#1}{\infty}}
+\newcommand{\nti}{\mtoi{n}}
+\newcommand{\ttx}{\mto{t}{x}}
+\newcommand{\xti}{\mtoi{x}}
+
+\newcommand{\pto}{\xrightarrow{\text{\tiny PW}}} 	% pointwise convergence
+\newcommand{\uto}{\xrightarrow{\text{unif}}} 		% uniform convergence
+
+% Derivatives
+\newcommand*{\dif}[1]{\,d#1}
+\newcommand{\da}{\,d\alpha}
+\newcommand{\dx}{\,dx}
+\newcommand{\dy}{\,dy}
+\newcommand{\dz}{\,dz}
+\newcommand{\dxy}{\,dxdy}
+\newcommand{\dxz}{\,dxdz}
+\newcommand{\dyz}{\,dydz}
+\newcommand{\dxyz}{\,dxdydz}
+\newcommand{\dt}{\,dt}
+\newcommand{\du}{\,du}
+\newcommand{\dv}{\,dv}
+
+\newcommand*{\dd}[2]{\f{d#1}{d#2}}
+\newcommand*{\mdd}[2]{\f{d^{#1}}{d#2^{#1}}}
+\newcommand{\ddx}{\f{d}{dx}}
+\newcommand{\ddy}{\f{d}{dy}}
+\newcommand{\ddz}{\f{d}{dz}}
+\newcommand{\del}{\partial}
+\newcommand*{\mdel}[2]{\f{\partial#1}{\partial#2}}
+\newcommand*{\delx}[1]{\f{\partial#1}{\parial x}}
+\newcommand*{\dely}[1]{\f{\partial#1}{\partial y}}
+\newcommand*{\delz}[1]{\f{\partial#1}{\partial z}}
+\newcommand{\Del}{\nabla}
+
+% Integrals
+\newcommand*{\mint}[2]{\int\limits_{#1}^{#2}} 		% my integral
+\newcommand{\mab}{\mint{a}{b}}
+\newcommand*{\lint}[2]{\mint{\underline{#1}}{#2}} 	% lower Rieman integral
+\newcommand{\lab}{\lint{a}{b}}
+\newcommand*{\uint}[2]{\mint{#1}{\ol{#2}}} 			% upper
+\newcommand{\uab}{\uint{a}{b}}
+
+\newcommand*{\dint}[2]{\displaystyle\int_{#1}^{#2}} % display integral (no \limits)
+\newcommand{\dab}{\dint{a}{b}}
+\newcommand*{\dlint}[2]{\dint{\underline{#1}}{#2}}
+\newcommand{\dlab}{\dlint{a}{b}}
+\newcommand*{\duint}[2]{\dint{#1}{\ol{#2}}}
+\newcommand{\duab}{\duint{a}{b}}
+
+\newcommand*{\Lint}[2]{\int\limits_{\underline{#1}}^{#2}}
+\newcommand{\Lab}{\Lint{a}{b}}
+\newcommand*{\Uint}[2]{\int\limits_{#1}^{\ol{#2}}}
+\newcommand{\Uab}{\Uint{a}{b}}
+
+% Default upper bound of infinity
+\newcommand*{\dinti}[1]{\dint{#1}{\infty}} 		% display integral (no \limits)
+\newcommand*{\minti}[1]{\mint{#1}{\infty}}
+
+\newcommand{\pint}{\mint{0}{1}} 				% probability integral
+\newcommand{\piint}{\mint{0}{1}\mint{0}{1}}
+\newcommand{\piiint}{\mint{0}{1}\mint{0}{1}\mint{0}{1}}
+\newcommand{\dpint}{\dint{0}{1}}
+\newcommand{\dpiint}{\dint{0}{1}\dint{0}{1}}
+\newcommand{\dpiiint}{\dint{0}{1}\dint{0}{1}\dint{0}{1}}
+
+% GEOMETRY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\ang}{\measuredangle}
+\newcommand{\dg}{^\circ}
+\newcommand{\lin}[1]{\overleftrightarrow{#1}}
+\newcommand{\ray}[1]{\overrightarrow{#1}}
+\newcommand{\seg}[1]{\overline{#1}}
+\newcommand{\sq}{\square}
+\newcommand{\tr}[1]{\triangle{#1}}
+
+% LINEAR ALGEBRA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\Ell}{\mathcal{L}}
+\newcommand{\Pol}{\mathcal{P}}
+\DeclareMathOperator{\Col}{\mathrm{Col}}
+\DeclareMathOperator{\Null}{Null}
+\DeclareMathOperator{\rank}{\mathrm{rank}}
+\DeclareMathOperator{\Row}{\mathrm{Row}}
+\DeclareMathOperator{\spn}{\mathrm{span}}
+% row vectors
+\newcommand*{\onevec}[1]{\left[\begin{matrix}\hfill#1\end{matrix}\right]}
+\newcommand*{\twovec}[2]{\left[\begin{matrix}\hfill#1\\\hfill#2\end{matrix}\right]}
+\newcommand*{\threevec}[3]{\left[\begin{matrix}\hfill#1\\\hfill#2\\\hfill#3\end{matrix}\right]}
+\newcommand*{\fourvec}[4]{\left[\begin{array}{c}#1\\#2\\#3\\#4\end{array}\right]}
+\newcommand*{\fivevec}[5]{\left[\begin{matrix}\hfill#1\\\hfill#2\\\hfill#3\\\hfill#4\\\hfill#5\end{matrix}\right]}
+\newcommand*{\twovecex}[2]{\left[\begin{matrix}\hfill#1\\[0.5ex]\hfill#2\end{matrix}\right]}
+\newcommand*{\threevecex}[3]{\left[\begin{matrix}\hfill#1\\[0.5ex]\hfill#2\\[0.5ex]\hfill#3\end{matrix}\right]}
+\newcommand*{\fourvecex}[4]{\left[\begin{matrix}\hfill#1\\[0.5ex]\hfill#2\\[0.5ex]\hfill#3\\[0.5ex]\hfill#4\end{matrix}\right]}
+% centered column vectors
+\newcommand*{\onevecc}[1]{\left[\begin{matrix}#1\end{matrix}\right]}
+\newcommand*{\twovecc}[2]{\left[\begin{matrix}#1\\#2\end{matrix}\right]}
+\newcommand*{\threevecc}[3]{\left[\begin{matrix}#1\\#2\\#3\end{matrix}\right]}
+\newcommand*{\fourvecc}[4]{\left[\begin{matrix}#1\\#2\\#3\\#4\end{matrix}\right]}
+\newcommand*{\fivevecc}[5]{\left[\begin{matrix}#1\\#2\\#3\\#4\\#5\end{matrix}\right]}
+\newcommand*{\threeveccex}[3]{\left[\begin{matrix}#1\\[0.5ex]#2\\[0.5ex]#3\end{matrix}\right]}
+\newcommand*{\fourveccex}[4]{\left[\begin{matrix}#1\\[0.5ex]#2\\[0.5ex]#3\\[0.5ex]#4\end{matrix}\right]}
+% row vectors
+\newcommand*{\onerowvec}[1]{\left[\begin{matrix}\hfill#1\end{matrix}\right]}
+\newcommand*{\tworowvec}[2]{\left[\begin{matrix}\hfill#1&\hfill#2\end{matrix}\right]}
+\newcommand*{\threerowvec}[3]{\left[\begin{matrix}\hfill#1&\hfill#2&\hfill#3\end{matrix}\right]}
+\newcommand*{\fourrowvec}[4]{\left[\begin{matrix}\hfill#1&\hfill#2&\hfill#3&\hfill#4\end{matrix}\right]}
+\newcommand*{\fiverowvec}[5]{\left[\begin{matrix}\hfill#1&\hfill#2&\hfill#3&\hfill#4&\hfill#5\end{matrix}\right]}
+% n-tuples
+\newcommand*{\onetuple}[1]{(#1)}
+\newcommand*{\twotuple}[2]{(#1,#2)}
+\newcommand*{\threetuple}[3]{(#1,#2,#3)}
+\newcommand*{\fourtuple}[4]{(#1,#2,#3,#4)}
+\newcommand*{\fivetuple}[5]{(#1,#2,#3,#4,#5)}
+\newcommand*{\ntuple}[2]{(#1_1,\ldots,#1_#2)}
+\newcommand*{\listz}[2]{#1_0,\ldots,#1_#2}
+\newcommand*{\listo}[2]{#1_1,\ldots,#1_#2}
+% square numeric matrices
+\newcommand*{\onebyone}[1]{\left[\begin{matrix}\hfill#1\end{matrix}\right]}
+\newcommand*{\twobytwo}[4]{\left[\begin{matrix}\hfill#1&\hfill#2\\\hfill#3&\hfill#4\end{matrix}\right]}
+\newcommand*{\threebythree}[9]{\left[\begin{matrix}\hfill#1&\hfill#2&\hfill#3\\\hfill#4&\hfill#5&\hfill#6\\\hfill#7&\hfill#8&\hfill#9\end{matrix}\right]}
+% square numeric determinants
+\newcommand*{\onebyonev}[1]{\begin{vmatrix}#1\end{vmatrix}}
+\newcommand*{\twobytwov}[4]{\begin{vmatrix}#1&#2\\#3&#4\end{vmatrix}}
+\newcommand*{\threebythreev}[9]{\begin{vmatrix}#1&#2&#3\\#4&#5&#6\\#7&#8&#9\end{vmatrix}}
+% augmented matrices
+\newcommand*{\augmented}[2]{\left[#1\mid#2\right]}
+\newcommand*{\augtwo}[2]{\left[\begin{array}{r|r}#1&#2\end{array}\right]}
+% \newcommand*{\augtwo}[2]{\left[#1\mid#2\right]}
+\newcommand*{\augthree}[3]{\left[\begin{array}{r|r|r}#1&#2&#3\end{array}\right]}
+\newcommand*{\augfour}[4]{\left[\begin{array}{r|r|r|r}#1&#2&#3&#4\end{array}\right]}
+%--------------------------------------------------------------------------
+% column vectors with row separation
+\newcommand*{\fourvectorchline}[4]{\left[\begin{array}{ccc}&#1&\\[0.5ex]\hline&#2&\\[0.5ex]\hline&#3&\\[0.5ex]\hline&#4\end{array}\right]}
+
+% LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% contradiction
+\newcommand{\contra}{\ensuremath{\rightarrow\mspace{-2.5mu}\leftarrow}}
+\newcommand{\ex}{\exists}
+\newcommand{\fall}{\forall}
+\newcommand{\fa}{\,\forall}
+% forward implication
+\newcommand{\fim}{%
+	\mbox{
+		$\bs(%
+			\mspace{-10.5mu}%
+				\bs\implies%
+			\mspace{-12mu}%
+		\bs)$\ %
+	}
+}
+% backward implication
+\newcommand{\bim}{\mbox{$\bs(\mspace{-12mu}\bs\impliedby\mspace{-10.5mu}\bs)$\ }}
+% forward inclusion
+\newcommand{\fsub}{$\bs(\mspace{-5mu}\bs\subseteq\mspace{-5mu}\bs)$\ }
+% backward inclusion
+\newcommand{\bsub}{$\bs(\mspace{-5mu}\bs\supseteq\mspace{-5mu}\bs)$\ }
+\newcommand{\sland}{\;\land\;} 		% space logical and
+\newcommand{\slor}{\,\lor\, }		% space logical or
+\newcommand{\tf}{\therefore\,}		% I sometimes prefer a little space after this. 
+
+\newcommand{\bij}{\longleftrightarrow}	% bijection
+\newcommand{\varbij}{\hookrightarrow\hspace{-8pt}\rightarrow}
+\newcommand{\inj}{\rightarrowtail}		% one-to-one
+\newcommand{\varinj}{\hookrightarrow}
+\newcommand{\onto}{\twoheadrightarrow}
+\newcommand{\Ra}{\Rightarrow}		% short implies
+\newcommand{\ra}{\rightarrow}		% alternate implication
+
+\newcommand*{\mneg}[1][1]{			% my (alternative) negation
+	\mspace{-5mu}% 
+	\setcounter{i}{0}%
+	\forloop{i}{0}{\value{i}<#1}%
+	{%
+		\sim%
+	}%
+	\mspace{-5mu}%
+}
+\newcommand{\n}{\neg}				% negation
+\newcommand{\s}{\sim\mspace{-5mu}}	% alternative negation
+\newcommand{\vd}{\vdash}			% proves
+\newcommand{\proves}{\vd}
+\newcommand{\vdd}{\vDash}			% satisfies
+\newcommand{\satisfies}{\vdd}
+
+\newcommand{\nec}{\scalebox{0.75}{$\square$}}		% necessarily
+\newcommand{\poss}{\scalebox{1.25}{$\diamond$}}		% possibly
+
+\newcommand{\fA}{\mathfrak{A}}
+\newcommand{\fB}{\mathfrak{B}}
+\newcommand{\fN}{\mathfrak{N}}
+\newcommand{\is}{\text{ is\ }}
+\newcommand{\isnt}{\text{ is not\ }}
+\newcommand{\IFF}{\text{ iff\ }}
+\newcommand{\sbar}{\ol{s}}
+
+% PDE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\dtau}{\,d\tau}
+
+% Ditto marks
+%====================================================================================
+% ditto
+\newcommand{\dit}{%
+	\quad\scalebox{0.75}{\ensuremath{\prime\prime}}\quad%
+}
+\newcommand{\ditt}{\dit\dit}
+\newcommand{\dittt}{\ditt\dit}
+\newcommand{\ditttt}{\ditt\ditt}
+% sparse ditto
+\newcommand{\sdit}{\qquad\scalebox{0.75}{\ensuremath{\prime\prime}}\qquad}
+\newcommand{\sditt}{\sdit\sdit}
+\newcommand{\sdittt}{\sditt\sdit}
+\newcommand{\sditttt}{\sditt\sditt}
+% dense ditto
+\newcommand{\ddit}{$\mspace{9mu}$\scalebox{0.75}{\ensuremath{\prime\prime}}$\mspace{9mu}$}
+\newcommand{\dditt}{\ddit\ddit}
+\newcommand{\ddittt}{\dditt\ddit}
+\newcommand{\dditttt}{\dditt\dditt}
+
+% For loops
+\newcounter{i}
+\newcommand*{\mdit}[1][1]{% my ditto; invoked as \mdit[n] for n ditto marks
+	\forloop{i}{0}{\value{i} < #1}%
+	{%
+		\dit%
+	}%
+}
+% my sparse ditto
+\newcommand*{\msdit}[1][1]{\forloop{i}{0}{\value{i}<#1}{\sdit}}
+% my dense ditto
+\newcommand*{\mddit}[1][1]{\forloop{i}{0}{\value{i}<#1}{\ddit}}
+
+% VERSE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\attrib}[1]{\nopagebreak{\raggedleft\footnotesize#1\par}\ }
+
+\newcommand{\dinkus}{%
+	\begin{center}%
+		\textbf{***}\vspace{-0.25cm}%
+	\end{center}%
+}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/alounsburymacros.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/M33_figure.jpeg
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/M33_figure.jpeg
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/M33_figure.jpeg	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/M33_figure.jpeg	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/M33_figure.jpeg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/compiling.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/compiling.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/compiling.png	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/compiling.png	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/compiling.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/creatingDocument.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/creatingDocument.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/creatingDocument.png	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/creatingDocument.png	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/creatingDocument.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/directories.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/directories.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/directories.png	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/directories.png	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/directories.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/marketplace.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/marketplace.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/marketplace.png	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/marketplace.png	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/marketplace.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl1.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl1.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl1.png	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl1.png	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl1.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl2crop.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl2crop.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl2crop.png	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl2crop.png	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/perl2crop.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/whiteboard.jpeg
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/whiteboard.jpeg
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/whiteboard.jpeg	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/whiteboard.jpeg	2022-02-06 21:13:18 UTC (rev 61918)

Property changes on: trunk/Master/texmf-dist/doc/latex/latex-for-undergraduates/images/whiteboard.jpeg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-02-06 21:13:18 UTC (rev 61918)
@@ -446,7 +446,8 @@
     lapdf lastpackage lastpage
     latex latex-amsmath-dev latex-base-dev
     latex-brochure
-    latex-course latex-doc-ptr latex-firstaid-dev latex-fonts
+    latex-course latex-doc-ptr latex-firstaid-dev
+    latex-fonts latex-for-undergraduates
     latex-git-log latex-graphics-companion latex-graphics-dev latex-lab-dev
     latex-make latex-mr latex-notes-zh-cn
     latex-papersize latex-refsheet

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2022-02-06 21:13:18 UTC (rev 61918)
@@ -2075,6 +2075,7 @@
  'latex-brochure',	'NULL', # keep doc together
  'latex-course',	'NULL', # keep doc together
  'latex-doc-ptr',	'NULL', # keep doc together
+ 'latex-for-undergraduates', 'NULL', # keep doc together
  'latex-referenz',	'NULL', # keep doc together
  'latex-veryshortguide','NULL', # keep doc together
  'latex4wp',    	'NULL', # keep doc together

Modified: trunk/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc	2022-02-06 21:11:32 UTC (rev 61917)
+++ trunk/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc	2022-02-06 21:13:18 UTC (rev 61918)
@@ -31,6 +31,7 @@
 depend latex-brochure
 depend latex-course
 depend latex-doc-ptr
+depend latex-for-undergraduates
 depend latex-graphics-companion
 depend latex-refsheet
 depend latex-veryshortguide

Added: trunk/Master/tlpkg/tlpsrc/latex-for-undergraduates.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.