Mafia-the-Game-Description/layout.typ
Kristofers Solo b9630e00df release
2024-01-18 22:50:20 +02:00

158 lines
3.2 KiB
Plaintext

#import "@preview/i-figured:0.1.0"
#import "@preview/big-todo:0.2.0": *
#import "@preview/tablex:0.0.6": tablex
#let indent = 1cm
#let indent-par(body) = par(h(indent) + body)
#let project(
university: "",
faculty: "",
title: [],
authors: (),
advisor: "",
date: "",
body
) = {
set document(author: authors)
set page(
margin: (left: 30mm, right: 20mm, top: 20mm, bottom: 20mm),
number-align: center,
paper: "a4"
)
set text(
//font: "New Computer Modern",
font: "CMU",
size: 12pt,
hyphenate: auto,
lang: "lv",
region: "LV"
)
show raw: set text(font: "New Computer Modern Mono")
show math.equation: set text(weight: 400)
// Formatting for regular text
set par(
justify: true,
leading: 1.5em,
first-line-indent: indent,
)
show par: set block(spacing: 1.5em) // Set 1.5em gap between paragraphs
show heading: set block(spacing: 1.5em)
set terms(separator: [ -- ])
// Headings
set heading(numbering: "1.1.")
show heading: it => {
if it.level == 1 {
// pagebreak(weak: true)
text(14pt, align(center, upper(it)))
} else {
it
}
}
/* Title page config start */
align(
center,
upper(
text(
size: 16pt,
[
#university\
#faculty
]
)
))
v(1fr)
align(
center,
text(20pt, weight: "bold", title)
)
v(1fr)
// Author information
align(right, [
#if authors.len() > 1 {
text(weight: "bold", "Darba autori:")
} else {
text(weight: "bold", "Darba autors:")
}\
#authors.join("\n")
#v(2em)
#if advisor != "" {
text(weight: "bold", "Darba vadītājs:\n")
advisor
}
])
v(0.5fr)
align(center,
upper(text(date))
)
/* Title page config end */
// WARNING: removove before sending
// todo_outline
/* --- Figure/Table conf start --- */
show heading: i-figured.reset-counters
show figure: i-figured.show-figure.with(numbering: "1.1.")
show figure.where(kind: "i-figured-table"): set block(breakable: true)
show figure.where(kind: "i-figured-table"): set figure.caption(position: top)
show figure: set par(justify: false) // disable justify for figures (tables)
show figure.caption: it => {
if it.kind == "i-figured-table" {
align(end, emph(it.counter.display(it.numbering) + " tabula ") + text(weight: "bold", it.body))
} else if it.kind == "i-figured-image" {
align(start, emph(it.counter.display(it.numbering) + " att. ") + text(weight: "bold", it.body))
} else {
it
}
}
set ref(supplement: it => {}) // disable default reference suppliments
/* --- Figure/Table conf end --- */
set list(marker: ([•], [--], [\*], [·]))
set enum(numbering: "1aiA)") // TODO: make the same style as LaTeX: 1. | (a) | i. | A.
// Abstract
include "abstract.typ"
/* ToC config start */
// Uppercase 1st level headings in ToC
show outline.entry.where(level: 1): it => {
upper(it)
}
pagebreak()
outline(depth: 3, indent: 1cm, title: text(size: 14pt, "SATURS"))
/* ToC config end */
// Start page numering
set page(numbering: "1", number-align: center)
// Main bdy.
body
}