facharbeit/docs/template.typ
2026-04-03 17:04:04 +02:00

57 lines
1.3 KiB
Typst

#let conf(
title: "Titel der Facharbeit",
authors: ("Vorname Nachname",),
teacher: none,
due_date: none,
abstract: none,
doc,
) = [
#set text(
font: "New Computer Modern",
lang: "de",
size: 10pt
)
#set par(justify: true, leading: 0.65em)
#set heading(numbering: "1.")
// Title + author block (arXiv-like)
#set align(center)
#v(1.2cm)
#block(width: 70%)[
#set align(center)
#text(17pt, weight: "bold", [#title])
#v(0.2cm)
#text(12pt, [#authors.join(", ")])
#if teacher != none or due_date != none {
v(0.3cm)
set text(size: 9pt)
let meta = (
if teacher != none { [Betreuung: #teacher] } else { none },
if due_date != none { [Abgabetermin: #due_date] } else { none },
).filter(x => x != none)
text(meta.join(" · "))
set text(size: 10pt)
}
#v(0.3cm)
#if abstract != none and abstract != "" {
set align(center)
text(11pt, weight: "bold", [Abstract])
v(0cm)
set align(center)
set text(size: 9.5pt)
abstract
set text(size: 10pt)
}
]
// Inhaltsverzeichnis on a new page, then continue without page break
#pagebreak()
#set align(left)
#heading(level: 1, numbering: none, outlined: false)[Inhaltsverzeichnis]
#outline()
// Document body
#pagebreak()
#doc
]