feat: rework author section of titlepage
Build'n check / run-ci-linux (push) Has been skipped
Details
Build'n check / run-ci-linux (push) Has been skipped
Details
This commit is contained in:
parent
6c235907c2
commit
793e31c87a
11
src/conf.typ
11
src/conf.typ
|
@ -25,15 +25,7 @@
|
||||||
campus: "Eppelheim"
|
campus: "Eppelheim"
|
||||||
),
|
),
|
||||||
supervisor-signature: false,
|
supervisor-signature: false,
|
||||||
authors: (
|
authors: ((),()),
|
||||||
(
|
|
||||||
name: "Sven Vogel",
|
|
||||||
course: "TINF19IT1",
|
|
||||||
company: "ABB AG",
|
|
||||||
supervisor: "Benny Goodman",
|
|
||||||
matriculation-number: 123456789
|
|
||||||
)
|
|
||||||
),
|
|
||||||
// information about thesis
|
// information about thesis
|
||||||
thesis: (
|
thesis: (
|
||||||
title: "Unofficial ABB/DHBW Typst template",
|
title: "Unofficial ABB/DHBW Typst template",
|
||||||
|
@ -95,6 +87,7 @@
|
||||||
|
|
||||||
if type(val) == array {
|
if type(val) == array {
|
||||||
// ignore checking arraay
|
// ignore checking arraay
|
||||||
|
base.insert(key, update_val)
|
||||||
} else if type(val) == dictionary and type(update_val) == dictionary {
|
} else if type(val) == dictionary and type(update_val) == dictionary {
|
||||||
base.insert(key, deep-insert-checked(val, update_val))
|
base.insert(key, deep-insert-checked(val, update_val))
|
||||||
} else if val == none or type(val) == type(update_val) {
|
} else if val == none or type(val) == type(update_val) {
|
||||||
|
|
|
@ -49,9 +49,17 @@
|
||||||
// faculty
|
// faculty
|
||||||
#pad()[
|
#pad()[
|
||||||
#if text.lang == "de" [
|
#if text.lang == "de" [
|
||||||
aus dem Studiengang #config.university.program | #config.university.faculty
|
aus dem Studiengang #config.university.program
|
||||||
] else if text.lang == "en" [
|
] 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 [
|
] else [
|
||||||
#context panic("no translation for language: ", text.lang)
|
#context panic("no translation for language: ", text.lang)
|
||||||
]
|
]
|
||||||
|
@ -68,14 +76,19 @@
|
||||||
]
|
]
|
||||||
#config.university.name
|
#config.university.name
|
||||||
#linebreak()
|
#linebreak()
|
||||||
|
#if text.lang == "de" [
|
||||||
|
in
|
||||||
|
] else if text.lang == "en" [
|
||||||
|
in
|
||||||
|
] else [
|
||||||
|
#context panic("no translation for language: ", text.lang)
|
||||||
|
]
|
||||||
#config.university.campus
|
#config.university.campus
|
||||||
]
|
]
|
||||||
|
|
||||||
#pad(top: 1em)[
|
#pad(top: 1.5em)[
|
||||||
#let names = ()
|
#let names = ()
|
||||||
#for author in config.authors {
|
|
||||||
names.push(author.name)
|
|
||||||
}
|
|
||||||
#if text.lang == "de" [
|
#if text.lang == "de" [
|
||||||
von
|
von
|
||||||
] else if text.lang == "en" [
|
] else if text.lang == "en" [
|
||||||
|
@ -83,70 +96,33 @@
|
||||||
] else [
|
] else [
|
||||||
#context panic("no translation for language: ", text.lang)
|
#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
|
#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 {
|
#if config.supervisor-signature {
|
||||||
align(
|
align(
|
||||||
bottom,
|
bottom,
|
||||||
|
|
|
@ -6,16 +6,23 @@
|
||||||
lang: "de",
|
lang: "de",
|
||||||
region: "de",
|
region: "de",
|
||||||
draft: false,
|
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",
|
name: "Sven Vogel",
|
||||||
semester: 4,
|
|
||||||
program: "Informationtechnology",
|
|
||||||
course: "TINF19IT1",
|
course: "TINF19IT1",
|
||||||
faculty: "Technik",
|
|
||||||
university: "DHBW Mannheim",
|
|
||||||
company: "ABB AG",
|
company: "ABB AG",
|
||||||
supervisor: "Benny Goodman",
|
supervisor: "Benny Goodman",
|
||||||
matriculation-number: 123456789,
|
matriculation-number: 123456789,
|
||||||
|
contact: "sven.vogel123@web.de"
|
||||||
|
)
|
||||||
),
|
),
|
||||||
thesis: (
|
thesis: (
|
||||||
title: "Unofficial ABB/DHBW Typst template",
|
title: "Unofficial ABB/DHBW Typst template",
|
||||||
|
|
Loading…
Reference in New Issue