handouts/README.md

156 lines
5.5 KiB
Markdown
Raw Normal View History

2022-11-15 11:40:53 -08:00
# ORMC Handouts
2023-05-29 18:57:01 -07:00
This repository contains all the handouts I've written for the [ORMC](https://circles.math.ucla.edu/circles/). \
2023-10-10 22:20:22 -07:00
You can find the latest PDFs [here](https://static.betalupi.com/ormc).
2022-11-15 11:40:53 -08:00
2023-05-29 18:57:01 -07:00
**For my students:** Handouts will appear here a few days before class. Please don't look at them (or their solutions) beforehand, that spoils all the fun!
**For everyone else:** If you are not affiliated with the ORMC, ask for permission before using these.
2022-11-15 11:40:53 -08:00
2023-02-25 23:32:02 -08:00
2023-05-29 19:04:07 -07:00
## 📦 Contents
2022-11-15 11:40:53 -08:00
Handouts are sorted by the class they're for:
- [`./Intermediate`](./Intermediate/): Grades 5 - 9
- [`./Advanced`](./Advanced): Grades 9 - 12
2023-01-12 10:30:53 -08:00
Grade levels are estimates.
2023-02-25 23:32:02 -08:00
2023-05-29 19:04:07 -07:00
## 🛠️ Building these Handouts
2023-02-25 23:32:02 -08:00
2023-10-10 22:20:22 -07:00
Automatic builds are [here](https://static.betalupi.com/ormc), if you just want the PDFs.
2023-02-25 23:32:02 -08:00
2023-05-29 18:57:01 -07:00
If you want to edit these files, you'll need to download a custom document class. \
To compile one handout, do the following:
1. Download the handout's directory (i.e, download the whole repo as a zip and extract the folder you want.)
1. Download [`./resources/ormc_handout.cls`](./resources/ormc_handout.cls)
2. Put this class in the same directory as the handout.
2023-01-12 10:30:53 -08:00
3. Fix the include path at the top of the handout.
Usually, you'll need to replace
```latex
\documentclass[
2023-03-26 20:00:06 -07:00
...
2025-01-21 18:35:58 -08:00
]{../../../lib/tex/ormc_handout}
2023-01-12 10:30:53 -08:00
```
with
```latex
\documentclass[
2023-03-26 20:00:06 -07:00
...
2023-01-12 10:30:53 -08:00
]{ormc_handout}
```
2023-05-29 18:57:01 -07:00
These documents should work with any LaTeX engine. \
However, try changing your engine to LuaLaTeX if something breaks.
---------------------------------------------------------------------------
2023-05-29 19:04:07 -07:00
# 📜 Class Documentation
2023-05-29 18:57:01 -07:00
2023-05-29 21:52:54 -07:00
The class `ormc_handout` is based on `article.cls`, and should work with most LaTeX packages. It has everything you need and nothing you don't; it looks pretty and it is optimized for greyscale printing.
If you find something broken, please tell me so I may try to fix it.
2023-05-29 18:57:01 -07:00
2023-05-29 19:04:07 -07:00
## 🎏 Arguments
2023-05-29 18:57:01 -07:00
These are passed to `\documentclass`, as follows:
```latex
2023-05-29 21:52:54 -07:00
% Documentclass argument example
2023-05-29 18:57:01 -07:00
\documentclass[
nosolutions,
shortwarning
]{ormc_handout}
```
- `10pt`, `11pt`, `12pt`:\
Default: `10pt`. Sets font size.
- `pagenumber`, `nopagenumber`:\
Default: `pagenumber`. Shows or hides page numbers.
- `solutions`, `nosolutions`:\
Default: `solutions`\
If `nosolutions` is passed, `solution` and `instructornote` environments are hidden.
- `showwarning`, `hidewarning`:\
Default: `showwarning`. Shows or hides instructor handout warning.
- `shortwarning`, `longwarning`:\
Default: `longwarning`. Sets instructor handout warning type.
- `multinumbering`, `singlenumbering`:\
Default: `multinumbering`\
How problems, theorems, etc should be numbered. If `mulitnumbering` is passed, problems, theorems, etc will be numbered independently. If `singlenumbering` is passed, one global counter will be used. (I think `singlenumering` is better, it makes the handout easier to navigate.)
Use `geometry` to change page lengths. Letter paper is the default.
2023-05-29 19:04:07 -07:00
## 🪖 Commands & More:
2023-05-29 18:57:01 -07:00
`ormc_handout` automatically includes `tcolorbox`, `xcolor`, `tikz`, `amsmath`, `amssymb`. \
It also includes a few other packages that are used internally and shouldn't have an effect on most workflows.
2023-05-29 19:01:26 -07:00
### **Basics:**
2023-05-29 18:57:01 -07:00
- `\say{text}`: Puts text in quotes, handling details like period spacing. Courtesy of `dirtytalk`.
- `\tab`: Typewriter-style tabs every `1cm`. Courtesy of `tabto`.
2023-12-09 18:20:39 -08:00
- `\maketitle`: Makes a title. This is never placed on a separate page.
2023-05-29 18:57:01 -07:00
- Set title data with the following commands:\
`\title{text}`, `\subtitle{text}`, `\uptitlel{text}`, `\uptitler{text}`\
`\uptitlel` and `\uptitler` are optional, but usually come together.
- `\note[Type]{text}`: Makes a note.
- `\hint{text}`: Shorthand for `\note[Hint]{text}`
2023-05-29 19:01:26 -07:00
### **Sectioning:**
2023-05-29 18:57:01 -07:00
The usual LaTeX title-customization techniques *WILL NOT WORK* with this class.\
Don't even try to load `titlesec`.
- `\section{title}<label>`: Creates a section with an optional label.\
You do not need to include the angle brackets.\
If you do, you can reference this section with `\ref{label}`.
- `\definition{title}<label>`: Makes a definition. Works just like `\section`.
- `\proposition{title}<label>`: Makes a proposition. Works just like `\section`.
- `\theorem{title}<label>`: Makes a theorem. Works just like `\section`.
- `\example{title}<label>`: Makes an example. Works just like `\section`.
- `\problem{title}<label>`: Makes a problem. Works just like `\section`.
- `\problempart{title}<label>`: Makes a problem part. Works just like `\section`.\
As the name implies, this command should only be used to make subparts of `\problems`.\
This command may be removed in the future.
- `\generic{title}<label>`: Makes a generic section. Works just like `\section`.\
Avoid using this if you can. \
Generic sections have no counter, and are usually used to get text to look the same as a section title. \
This command may be removed in the future.
2023-05-29 19:01:26 -07:00
### **Environments:**
2023-05-29 18:57:01 -07:00
- `\begin{solution}`: A fancy `tcolorbox` for solutions to problems. \
This is hidden if the `nosolutions` flag is passed.
- `\begin{instrutornote}`: A fancy `tcolorbox` for instructor notes. \
This is hidden if the `nosolutions` flag is passed.
- `\begin{examplesolution}`: A fancy `tcolorbox` for sample solutions. \
This is never hidden.
2023-05-29 19:01:26 -07:00
All the above environments break across pages and may be safely nested.
Each also has a special command `\linehack`, which draws a line across the box.\
Use `\linehack` instead of `tcolorbox` sections. `tcolorbox` only lets you have two, while `\linehack` gives you as many as you want.