mirror of
https://github.com/kristoferssolo/Mafia-the-Game-Description.git
synced 2025-10-21 19:50:35 +00:00
158 lines
3.2 KiB
Plaintext
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
|
|
}
|