Mark 185768a7bd
Some checks failed
Lints / typos (push) Successful in 22s
Build and deploy / build (push) Has been cancelled
Added tropical handout
2025-01-21 14:11:52 -08:00

70 lines
1.2 KiB
Typst

#import "@preview/cetz:0.3.1"
#import "handout.typ": *
// Shorthand, we'll be using these a lot.
#let tp = sym.plus.circle
#let tm = sym.times.circle
#let graphgrid(inner_content) = {
align(
center,
box(
inset: 3mm,
cetz.canvas({
import cetz.draw: *
let x = 5.25
grid(
(0, 0), (x, x), step: 0.75,
stroke: luma(100) + 0.3mm
)
if (inner_content != none) {
inner_content
}
mark((0, x + 0.5), (0, x + 1), symbol: ">", fill: black, scale: 1)
mark((x + 0.5, 0), (x + 1, 0), symbol: ">", fill: black, scale: 1)
line(
(0, x + 0.25),
(0, 0),
(x + 0.25, 0),
stroke: 0.75mm + black,
)
}),
),
)
}
/// Adds extra padding to an equation.
/// Used as follows:
///
/// #eqmbox($
/// f(x) = -2(x #tp 2)(x #tp 8)
/// $)
///
/// Note that there are newlines between the $ and content,
/// this gives us display math (which is what we want when using this macro)
#let eqnbox(eqn) = {
align(
center,
box(
inset: 3mm,
eqn,
),
)
}
#let dotline(a, b) = {
cetz.draw.line(
a,
b,
stroke: (
dash: "dashed",
thickness: 0.5mm,
paint: ored,
),
)
}