dhbw-abb-typst-template/src/pages/titlepage.typ

137 lines
3.5 KiB
Plaintext
Raw Normal View History

// .--------------------------------------------------------------------------.
// | Titlepage |
// '--------------------------------------------------------------------------'
// Author: Sven Vogel
// Edited: 28.06.2024
// License: MIT
2024-06-27 13:57:04 +00:00
2024-08-12 16:09:14 +00:00
#let new_title_page(config) = (
context [
#let thesis = config.thesis
#set align(center)
// title
#v(2cm)
2024-09-27 15:43:58 +00:00
#par(justify: false, leading: 1.5em)[
#text(size: 2em, weight: "bold", hyphenate: false, thesis.title)
#linebreak()
// subtitle
#text(size: 2em, weight: "light", thesis.subtitle)
]
2024-08-12 16:09:14 +00:00
2024-09-27 15:43:58 +00:00
#set align(center + horizon)
2024-08-12 16:09:14 +00:00
// type of paper
2024-09-27 15:43:58 +00:00
#text(size: 1.5em, weight: "medium", thesis.kind)
2024-08-12 16:09:14 +00:00
// faculty
2024-09-27 15:43:58 +00:00
#pad()[
2024-08-12 16:09:14 +00:00
#if text.lang == "de" [
2024-11-19 10:14:04 +00:00
aus dem Studiengang #config.university.program | #config.university.faculty
2024-08-12 16:09:14 +00:00
] else if text.lang == "en" [
2024-11-19 10:14:04 +00:00
from the course of studies #config.university.program | #config.university.faculty
2024-08-12 16:09:14 +00:00
] else [
#context panic("no translation for language: ", text.lang)
]
]
2024-06-27 13:57:04 +00:00
2024-08-12 16:09:14 +00:00
// university
2024-09-27 15:43:58 +00:00
#pad()[
2024-08-12 16:09:14 +00:00
#if text.lang == "de" [
an der
] else if text.lang == "en" [
at
] else [
#context panic("no translation for language: ", text.lang)
]
2024-11-19 10:14:04 +00:00
#config.university.name
2024-06-27 13:57:04 +00:00
#linebreak()
2024-11-19 10:14:04 +00:00
#config.university.campus
]
#pad(top: 1em)[
#let names = ()
#for author in config.authors {
names.push(author.name)
}
#if text.lang == "de" [
von
] else if text.lang == "en" [
by
] else [
#context panic("no translation for language: ", text.lang)
]
#set text(size: 16pt)
#grid(columns: 1, row-gutter: 1em, ..names)
]
#pad(top: 1em)[
#thesis.timeframe
2024-06-27 13:57:04 +00:00
]
2024-09-27 15:43:58 +00:00
#set align(bottom + left)
2024-08-12 16:09:14 +00:00
2024-06-28 09:54:30 +00:00
#if text.lang == "de" [
2024-11-19 10:14:04 +00:00
#grid(
2024-08-12 16:09:14 +00:00
columns: 2,
column-gutter: 1cm,
2024-11-19 10:14:04 +00:00
row-gutter: 0.5cm,
align: top + left,
2024-08-12 16:09:14 +00:00
stroke: none,
2024-11-19 10:14:04 +00:00
[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()
}),
2024-08-12 16:09:14 +00:00
)
2024-06-28 09:54:30 +00:00
] else if text.lang == "en" [
2024-11-19 10:14:04 +00:00
#grid(
2024-08-12 16:09:14 +00:00
columns: 2,
column-gutter: 1cm,
2024-11-19 10:14:04 +00:00
row-gutter: 0.5cm,
align: top + left,
2024-08-12 16:09:14 +00:00
stroke: none,
2024-11-19 10:14:04 +00:00
[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()
}),
2024-08-12 16:09:14 +00:00
)
2024-06-27 13:57:04 +00:00
] else [
2024-06-28 09:54:30 +00:00
#context panic("no translation for language: ", text.lang)
2024-06-27 13:57:04 +00:00
]
2024-08-12 16:09:14 +00:00
#align(
bottom,
grid(
2024-06-27 13:57:04 +00:00
// set width of columns
// we need two, so make both half the page width
columns: (60%, 40%),
2024-06-28 09:54:30 +00:00
align(left, if text.lang == "de" [
2024-06-27 13:57:04 +00:00
Unterschrift des betrieblichen Betreuers
2024-06-28 09:54:30 +00:00
] else if text.lang == "en" [
2024-06-27 13:57:04 +00:00
Signature of the company supervisor
] else [
2024-06-28 09:54:30 +00:00
#context panic("no translation for language: ", text.lang)
2024-06-27 13:57:04 +00:00
]
),
2024-08-12 16:09:14 +00:00
align(right, {line(length: 6cm)})),
)
2024-06-27 13:57:04 +00:00
2024-08-12 16:09:14 +00:00
#counter(page).update(0)
]
)