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/ ). \
You can find the latest PDFs [here ](https://nc.betalupi.com/s/ormc-handouts ).
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
2022-11-15 11:40:53 -08:00
## Contents
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 18:57:01 -07:00
## Building these Handouts
2023-02-25 23:32:02 -08:00
2023-05-29 18:57:01 -07:00
Automatic builds are [here ](https://nc.betalupi.com/s/ormc-handouts ), 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
...
2023-01-12 10:30:53 -08:00
]{../../resources/ormc_handout}
```
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:01:26 -07:00
# Class Documentation
2023-05-29 18:57:01 -07:00
2023-05-29 19:01:26 -07:00
The class `ormc_handout` is based on `article.cls` , and should work with most packages.\
2023-05-29 18:57:01 -07:00
If something breaks, tell me so I may try to fix it.
## Arguments
These are passed to `\documentclass` , as follows:
```latex
\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.
## Commands & More:
`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` .
- `\maketitle` : Makes a title. This is never placed on a seperate page.
- 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.