1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#let raster(
paper: "a4",
grid: 6mm,
show-grid: false,
body: 11pt,
scale-base: 1.2,
rest,
) = {
let scale(l) = body * calc.pow(scale-base, 4 - l)
let gridsize(l) = (
size: scale(l),
top-edge: calc.ceil(scale(l).mm() / grid.mm()) * grid,
);
set page(
paper: paper,
margin: (
inside: grid * 6,
rest: grid * 4,
),
);
set page(
background: rect(
width: 100%,
height: 100%,
fill: tiling(size: (grid, grid), {
place(line(start: (0%, 0%), end: (100%, 0%), stroke: 2pt + rgb("#ccc")));
place(line(start: (0%, 0%), end: (0%, 100%), stroke: 2pt + rgb("#ccc")));
}),
),
) if show-grid;
set text(
font: "TeX Gyre Schola",
..gridsize(4)
);
set par(
justify: true,
leading: 0pt,
spacing: 0pt,
first-line-indent: grid,
);
set block(
above: grid,
below: 0pt,
);
set heading(
numbering: "1.1",
);
show heading: it => block(
above: grid,
below: 0pt,
text(
baseline: grid / -4,
..gridsize(it.level),
)[
#counter(heading).display()
#sym.dot
#it.body
]
);
rest
}
|