Compare commits

..

No commits in common. "8bb795d45768db51f8544974ea024b017c258b56" and "57cd8d63a8fd7869dc75bc92d5439f5924ea2cb1" have entirely different histories.

2 changed files with 22 additions and 39 deletions

View File

@ -7,64 +7,46 @@
[Typst.app]: https://typst.app [Typst.app]: https://typst.app
[vscode]: https://code.visualstudio.com [vscode]: https://code.visualstudio.com
[vscodium]: https://vscodium.com [vscodium]: https://vscodium.com
[homebrew]: https://brew.sh
# Mark's Handout Library # Mark's Handout Library
This is a collection of math circle handouts that I (and many others) have written. \ This is a collection of math circle handouts that I (and many others) have written. \
They are used regularly at the [ORMC]. They are used regularly at the [ORMC].
For more information, visit [betalupi.com/handouts]. \ For more information, visit [betalupi.com/handouts]. \
The latest version of each handout is available at that page. The latest version of each handout is available at that page.
## License
## License
Unless otherwise stated, all documents in this repository are licensed under [CC BY-NC-SA 4.0]. \ Unless otherwise stated, all documents in this repository are licensed under [CC BY-NC-SA 4.0]. \
Each document has its own authors. See `meta.toml` in each project directory for details. Each document has its own authors. See `meta.toml` in each project directory for details.
By submitting or editing a handout in this repository, you agree to release it under this license. By submitting or editing a handout in this repository, you agree to release it under this license.
## 🛠️ Contributing
## 🛠️ Contributing
If you want to use one of these handouts for a class, see [`betalupi.com/handouts`](https://betalupi.com/handouts). \ If you want to use one of these handouts for a class, see [`betalupi.com/handouts`](https://betalupi.com/handouts). \
You only need to read this section if you want to edit these handouts. You only need to read this section if you want to edit these handouts.
### Setup Use git to clone this repository, then open the root folder in [vscode] or [vscodium]. \
We use the [latex-workshop] and [tinymist] extensions to write these handouts, install them before continuing. \
[`./vscode/settings.json`](./vscode/settings.json) will automatically configure them to work with this repository.
- All handouts are in [`./src`](./src) \
Every handout is stored in its own directory, even if it only consists of one file. \
Handouts are organized by group (see [betalupi.com/handouts] for details).
Use git to clone this repository, then open the root folder in [vscode] or [vscodium]. - Packages are stored in [`./lib`](./lib) \
You shouldn't need to modify any library files, but you may want to read them to see how they work. \
We use the [latex-workshop] and [tinymist] extensions. Install them before continuing. - [`./tools`](./tools) contains build scripts, [`./.github`](./.github) configures automation. \
[`./vscode/settings.json`](./vscode/settings.json) will automatically configure them to work with this repository. \ You can ignore everything in these directories.
You may need to install texlive and typst:
- On macos, use [homebrew]: \
`brew install texlive typst typstyle`
- On Windows, I don't know. Might write instructions later.
- If you use Linux, you'll figure it out.
### Editing
This repository is organized as follows:
- All handouts are in [`./src`](./src). \
Every handout is stored in its own directory, even if it only consists of one file. \
Handouts are organized by group (see [betalupi.com/handouts] for details).
- Packages are stored in [`./lib`](./lib) \
You shouldn't need to modify any library files, but you may want to read them to see how they work.
- [`./tools`](./tools) contains build scripts, [`./.github`](./.github) configures automation. \
You can ignore everything in these directories.
All handouts in this repository are based on `ormc_handout.cls` or `handout@0.1.0`.
- If you're using Typst (preferred), read [`docs-typst.md`](./docs-typst.md)
- If you're still using LaTeX, read [`docs-latex.md`](./docs-latex.md).
All handouts in this repository are based on `ormc_handout.cls` or `handout@0.1.0`. \
If you're using LaTeX, read [`docs-latex.md`](./docs-latex.md). \
If you're using Typst (preferred), read [`docs-typst.md`](./docs-typst.md)
### Metadata ### Metadata
Every handout directory should contain a file called `meta.toml` with the following contents: Every handout directory should contain a file called `meta.toml` with the following contents:
```toml ```toml
# This is a sample `meta.toml`. # This is a sample `meta.toml`.
# A copy of this file should exist in every handout directory. # A copy of this file should exist in every handout directory.
@ -87,13 +69,12 @@ handout = true
solutions = true solutions = true
``` ```
## 💾 Out-of-band compilation
## 💾 Out-of-band compilation
If you want to compile these handouts _without_ this repository (e.g, on [Overleaf] or [Typst.app]), do the following: \ If you want to compile these handouts _without_ this repository (e.g, on [Overleaf] or [Typst.app]), do the following: \
_(I do not recommend this. The default toolchain makes it easier to share improvements to these handouts.)_ _(I do not recommend this. The default toolchain makes it easier to share improvements to these handouts.)_
### For LaTeX: ### For LaTeX:
1. Get the handout's directory (i.e, download the whole repo as a zip and extract the folder you want.) 1. Get the handout's directory (i.e, download the whole repo as a zip and extract the folder you want.)
2. Download [`./resources/ormc_handout.cls`](./resources/ormc_handout.cls) 2. Download [`./resources/ormc_handout.cls`](./resources/ormc_handout.cls)
3. Put this `ormc_handout.cls` in the same directory as the handout. 3. Put this `ormc_handout.cls` in the same directory as the handout.
@ -114,15 +95,17 @@ with
... ...
]{ormc_handout} ]{ormc_handout}
``` ```
5. Make a new overleaf project with the resulting directory. 5. Make a new overleaf project with the resulting directory.
6. **Do not use pdflatex**, it misbehaves with `ormc_handout`. Tell Overleaf to use XeLaTeX. 6. **Do not use pdflatex**, it misbehaves with `ormc_handout`. Tell Overleaf to use XeLaTeX.
### For Typst:
### For Typst:
Out-of-band typst compilation isn't supported. Clone the repository and use vscode. \ Out-of-band typst compilation isn't supported. Clone the repository and use vscode. \
This is because typst can't import packages from a relative path. This is because typst can't import packages from a relative path.
If you _really_ want it, standalone typst compilation _is_ possible. \ If you _really_ want it, standalone typst compilation _is_ possible. \
Follow the LaTeX instructions, but fix `handout@0.1.0` instead of `ormc_handout`. \ Follow the LaTeX instructions, but fix `handout@0.1.0` instead of `ormc_handout`. \
You'll figure it out. You'll figure it out.