# LaTeX documentation All LaTeX handouts are based on [`ormc_handout.cls`](./lib/tex/ormc_handout.cls). \ This class is based on `article.cls`, and should work with most LaTeX packages. The best way to start a new document is to make a copy of an existing one. - [Advanced/Cryptography](./src/Advanced/Cryptography) is a good example of a simple handout. - [Advanced/DFAs](./src/Advanced/DFAs) is a good example of a handout with graphs. - [Advanced/Geometric Optimization](./src/Advanced/Geometric%20Optimization) is a good example of a handout with geometry. ## Notes - Compile your handouts with XeLaTeX. \ `pdflatex` is known to misbehave with `ormc_handout.cls`. \ This will happen by default if you use vscode. \ If you use Overleaf, you'll have to configure it manually (see document settings). ## Document Options Document options are passed to `\documentclass`, as follows: ```latex \documentclass[ % Show solutions is `solutions` is provided, % hide them if `nosolutions` is provided. % % You should set only ONE of these flags at a time. % Solutions are shown by default. % All handouts are stored with `solutions` enabled. solutions, nosolutions, % Enable this option if you need more space on the handout's first page. % We use a long warning by default. shortwarning, % If present, hide page numbers. % This should only be used for single-page handouts % (e.g, warm-ups) nopagenumber ]{ormc_handout} ``` Use `geometry` to change margins and page dimensions. US letter is the default. ## Utilities - `\say{text}`: Puts text in quotes, handling details like period spacing. Courtesy of `dirtytalk`. - `\note[Type]{text}`: Makes a note. - `\hint{text}`: Shorthand for `\note[Hint]{text}` ## Sections The usual LaTeX title-customization techniques *WILL NOT WORK* with this class. \ Don't even try to load `titlesec`. `ormc_handout.cls` supports two levels of sections: - `\section`, for large parts of the handout - `\definition`, `\theorem`, `\proposition`, `\example`, `\remark`, `\problem`, and `\problempart` All these macros have the following syntax: `\problem{title}<label>` - `title` is the problem's title, and may be empty. - `label` is the problem's label. This is optional. \ If a label is provided, this section may be referenced with `\ref{label}`. Examples: - `\problem{}` - `\problem{Bonus}` - `\problem{}<gcd>`, which may be referenced with `\ref{gcd}` Do **not** use `\begin{problem} ... \end{problem}`. \ Sections are macros, not environments. ## Environments: - `\begin{solution}`: A fancy red for solutions to problems. \ This is hidden if the `nosolutions` is provided. - `\begin{instrutornote}`: A fancy blue box for instructor notes. \ This is hidden if the `nosolutions` is provided. - `\begin{examplesolution}`: A fancy gray for sample solutions. \ This is never hidden. All the above environments break across pages and may safely be nested. Each of these environments also provides the `\linehack` macro, which draws a line across the box. \ This is useful for, say, solutions to multipart problems.