feat: rework author section of titlepage
Build'n check / run-ci-linux (push) Has been skipped Details

This commit is contained in:
Sven Vogel 2024-11-29 18:26:01 +01:00
parent 6c235907c2
commit 793e31c87a
3 changed files with 60 additions and 84 deletions

View File

@ -25,15 +25,7 @@
campus: "Eppelheim"
),
supervisor-signature: false,
authors: (
(
name: "Sven Vogel",
course: "TINF19IT1",
company: "ABB AG",
supervisor: "Benny Goodman",
matriculation-number: 123456789
)
),
authors: ((),()),
// information about thesis
thesis: (
title: "Unofficial ABB/DHBW Typst template",
@ -95,6 +87,7 @@
if type(val) == array {
// ignore checking arraay
base.insert(key, update_val)
} else if type(val) == dictionary and type(update_val) == dictionary {
base.insert(key, deep-insert-checked(val, update_val))
} else if val == none or type(val) == type(update_val) {

View File

@ -49,9 +49,17 @@
// faculty
#pad()[
#if text.lang == "de" [
aus dem Studiengang #config.university.program | #config.university.faculty
aus dem Studiengang #config.university.program
] else if text.lang == "en" [
from the course of studies #config.university.program | #config.university.faculty
from the course of studies #config.university.program
] else [
#context panic("no translation for language: ", text.lang)
]
#if text.lang == "de" [
an der Fakultät #config.university.faculty
] else if text.lang == "en" [
at the faculty of #config.university.faculty
] else [
#context panic("no translation for language: ", text.lang)
]
@ -68,14 +76,19 @@
]
#config.university.name
#linebreak()
#if text.lang == "de" [
in
] else if text.lang == "en" [
in
] else [
#context panic("no translation for language: ", text.lang)
]
#config.university.campus
]
#pad(top: 1em)[
#pad(top: 1.5em)[
#let names = ()
#for author in config.authors {
names.push(author.name)
}
#if text.lang == "de" [
von
] else if text.lang == "en" [
@ -83,70 +96,33 @@
] else [
#context panic("no translation for language: ", text.lang)
]
#set text(size: 16pt)
#grid(columns: 1, row-gutter: 1em, ..names)
#v(1.5em)
#let rows = int(config.authors.len() / 3 + 0.5)
#for i in range(0, rows) {
let cols = calc.min(config.authors.len() - i * 3, 3)
grid(columns: cols, column-gutter: 1.5em, ..config.authors.slice(i * 3, i * 3 + cols).map(author =>
grid(columns: 1, row-gutter: 1em,
text(size: 1.25em, author.name),
text(size: 1em, author.company),
text(size: 1em, author.contact),
[
#str(author.matriculation-number),
#author.course
]
)))
}
]
#pad(top: 1em)[
#set align(bottom)
#pad(top: 1.5em)[
#thesis.timeframe
]
#set align(bottom + left)
#if text.lang == "de" [
#grid(
columns: 2,
column-gutter: 1cm,
row-gutter: 0.5cm,
align: top + left,
stroke: none,
[Matrikelnummer, Kurs:],
par(
leading: 0.5em,
for author in config.authors {
str(author.matriculation-number) + ", " + author.course
linebreak()
},
),
[Betrieb, Betreuer:],
par(
leading: 0.5em,
for author in config.authors {
author.company + ", " + author.supervisor
linebreak()
},
),
)
] else if text.lang == "en" [
#grid(
columns: 2,
column-gutter: 1cm,
row-gutter: 0.5cm,
align: top + left,
stroke: none,
[Student ID, Course:],
par(
leading: 0.5em,
for author in config.authors {
str(author.matriculation-number) + ", " + author.course
linebreak()
},
),
[Company, Supervisor:],
par(
leading: 0.5em,
for author in config.authors {
author.company + ", " + author.supervisor
linebreak()
},
),
)
] else [
#context panic("no translation for language: ", text.lang)
]
#if config.supervisor-signature {
align(
bottom,

View File

@ -6,16 +6,23 @@
lang: "de",
region: "de",
draft: false,
author: (
authors: (
(
name: "Sven Vogel",
course: "TINF19IT1",
company: none,
supervisor: "Benny Goodman",
matriculation-number: 123456789,
contact: "sven.vogel123@web.de"
),
(
name: "Sven Vogel",
semester: 4,
program: "Informationtechnology",
course: "TINF19IT1",
faculty: "Technik",
university: "DHBW Mannheim",
company: "ABB AG",
supervisor: "Benny Goodman",
matriculation-number: 123456789,
contact: "sven.vogel123@web.de"
)
),
thesis: (
title: "Unofficial ABB/DHBW Typst template",