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
|
#import "@preview/codelst:1.0.0": sourcefile
#let hlfile(filename) = sourcefile(read(filename), file: filename)
#let apply(body) = {
let body-font-settings = (font: "Nunito Sans 10pt", size: 12pt, stretch: 75%)
// let body-font-settings = (font: "Hanken Grotesk", size: 12pt, stretch: 75%)
let page-margin = (left: 0.75in, right: 0.25in, top: 0.5in, bottom: 0.25in)
let margin = (left: 0.75in, right: 0.25in, top: 2em, bottom: 2em)
let page-frame-thickness = 1.5pt
set page(
margin: (..page-margin, bottom: margin.bottom + 2em),
numbering: "1",
background: align(top + start, pad(..margin, rect(width: 100%, height: 100%, stroke: page-frame-thickness + gray))),
footer: locate(loc => align(center, move(dy: -margin.bottom + 1em, text(..body-font-settings, size: 9pt, counter(page).display(loc.page-numbering())))))
)
show: block.with(breakable: true, width: 100%, inset: page-frame-thickness + 1em)
set text(..body-font-settings)
let code-color = rgb("#f4f4f4")
// show raw: set text(font: "CommitMono", size: 1.1em)
// show raw: set text(font: "Source Code Pro", size: 1.1em)
show raw: set text(font: "Iosevka Fixed", size: 10pt)
show raw.where(block: false): box.with(
fill: code-color,
inset: (x: 3pt, y: 0pt),
outset: (y: 3pt),
radius: 2pt,
)
show raw.where(block: true): block.with(
fill: code-color,
inset: 10pt,
radius: 4pt,
width: 100%,
)
show raw.where(block: true): it => align(left, it)
set raw(theme: "vendor/gr.tmTheme")
set list(marker: ([--]))
set par(leading: 0.6em)
body
}
#let assignment(number, description) = align(center, [
= #text(weight: 600, [Assignment #number])
== #text(weight: 500, [Program description:]) #text(weight: 400, description)
])
#let objective(body) = align(center, [*Objective*: #body])
#let oset(kind) = block(spacing: 0.6em, [===== #h(1em) #kind])
#let scos(n, obody) = {
[=== Source Code]
hlfile("/code/a" + str(n) + ".php")
[=== Output]
obody
}
|