Compare commits

..

No commits in common. "ba72a81c78da3bcbd64377574c6391dd78eea975" and "415fafc7f41766deab29e4c2f7896a14c56d4d58" have entirely different histories.

6 changed files with 52 additions and 107 deletions

View File

@ -18,28 +18,16 @@
// Adds preleminarry note page and watermark // Adds preleminarry note page and watermark
draft: true, draft: true,
// information about author(s) // information about author(s)
university: ( author: (
name: "Sven Vogel",
semester: 4,
program: "Informationtechnology", program: "Informationtechnology",
course: "TINF19IT1",
faculty: "Technik", faculty: "Technik",
name: "dualen Hochschule Baden-Württemberg", university: "DHBW Mannheim",
campus: "Eppelheim" company: "ABB AG",
), supervisor: "Benny Goodman",
authors: ( matriculation-number: 123456789),
(
name: "Sven Vogel",
course: "TINF19IT1",
company: "ABB AG",
supervisor: "Benny Goodman",
matriculation-number: 123456789
),
(
name: "Kurt Jammer",
course: "TINF24AI2",
company: "Siemens",
supervisor: "Henry Badman",
matriculation-number: 478568763
),
),
// information about thesis // information about thesis
thesis: ( thesis: (
title: "Unofficial ABB/DHBW Typst template", title: "Unofficial ABB/DHBW Typst template",
@ -59,7 +47,7 @@
header: ( header: (
content-padding: 1.5em, content-padding: 1.5em,
underline-top-padding: 0pt, underline-top-padding: 0pt,
logo-height: 5em, logo-height: 3em,
logo-image: "res/ABB.svg"), logo-image: "res/ABB.svg"),
footer: ( footer: (
content-padding: 1.5em), content-padding: 1.5em),
@ -99,9 +87,7 @@
if key in update { if key in update {
let update_val = update.at(key) let update_val = update.at(key)
if type(val) == array { if type(val) == dictionary and type(update_val) == dictionary {
// ignore checking arraay
} 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) {
base.insert(key, update_val) base.insert(key, update_val)

View File

@ -71,7 +71,7 @@
// set document properties // set document properties
#set document( #set document(
// author: config.author.name, author: config.author.name,
keywords: config.thesis.keywords, keywords: config.thesis.keywords,
title: config.thesis.title, title: config.thesis.title,
) )

View File

@ -12,6 +12,7 @@
pagebreak(weak: true) pagebreak(weak: true)
let thesis = config.thesis let thesis = config.thesis
let author = config.author
if text.lang == "de" [ if text.lang == "de" [
#heading(level: 1, "Sperrvermerk") #heading(level: 1, "Sperrvermerk")

View File

@ -12,6 +12,7 @@
pagebreak(weak: true) pagebreak(weak: true)
let thesis = config.thesis let thesis = config.thesis
let author = config.author
if text.lang == "de" [ if text.lang == "de" [
#heading("Selbständigkeitserklärung") #heading("Selbständigkeitserklärung")

View File

@ -10,25 +10,7 @@
context [ context [
#let thesis = config.thesis #let thesis = config.thesis
#let author = config.author
// logo of ABB and DHBW
#v(-config.style.header.content-padding)
#grid(
// set width of columns
// we need two, so make both half the page width
columns: (50%, 50%),
// left align logo of ABB
if config.style.header.logo-image == none {
// error
} else if config.style.header.logo-image.len() > 0 {
align(left, image(config.style.header.logo-image, height: config.style.header.logo-height))
} else {
align(left, image("../res/DHBW.svg", height: config.style.header.logo-height))
},
// right align logo of DHBW
if config.style.header.logo-image.len() > 0 {
align(right, image("../res/DHBW.svg", height: config.style.header.logo-height))
})
#set align(center) #set align(center)
@ -49,9 +31,13 @@
// faculty // faculty
#pad()[ #pad()[
#if text.lang == "de" [ #if text.lang == "de" [
aus dem Studiengang #config.university.program | #config.university.faculty Praxisphase des #author.semester Semesters an der Fakultät für #author.faculty
#linebreak()
im Studiengang #author.program
] else if text.lang == "en" [ ] else if text.lang == "en" [
from the course of studies #config.university.program | #config.university.faculty Practical phase of the #author.semester semester at the Faculty of #author.faculty
#linebreak()
in the degree program #author.program
] else [ ] else [
#context panic("no translation for language: ", text.lang) #context panic("no translation for language: ", text.lang)
] ]
@ -66,82 +52,41 @@
] else [ ] else [
#context panic("no translation for language: ", text.lang) #context panic("no translation for language: ", text.lang)
] ]
#config.university.name
#linebreak() #linebreak()
#config.university.campus #author.university
]
#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
] ]
#set align(bottom + left) #set align(bottom + left)
#if text.lang == "de" [ #if text.lang == "de" [
#grid( #table(
columns: 2, columns: 2,
column-gutter: 1cm, column-gutter: 1cm,
row-gutter: 0.5cm, align: left,
align: top + left,
stroke: none, stroke: none,
[Matrikelnummer, Kurs:], [*Verfasser:*], author.name,
par( [*Bearbeitungszeitraum:*], thesis.timeframe,
leading: 0.5em, [*Matrikelnummer, Kurs:*],
for author in config.authors { str(author.matriculation-number) + ", " + author.course,
str(author.matriculation-number) + ", " + author.course
linebreak()
},
),
[Betrieb, Betreuer:], [*Ausbildungsbetrieb:*], author.company,
par( [*Betrieblicher Betreuer:*], author.supervisor,
leading: 0.5em, [*Abgabedatum:*], thesis.submission-date,
for author in config.authors {
author.company + ", " + author.supervisor
linebreak()
},
),
) )
] else if text.lang == "en" [ ] else if text.lang == "en" [
#grid( #table(
columns: 2, columns: 2,
column-gutter: 1cm, column-gutter: 1cm,
row-gutter: 0.5cm, align: left,
align: top + left,
stroke: none, stroke: none,
[Student ID, Course:], [*Author:*], author.name,
par( [*Editing period:*], thesis.timeframe,
leading: 0.5em, [*Matriculation number, course:*],
for author in config.authors { str(author.matriculation-number) + ", " + author.course,
str(author.matriculation-number) + ", " + author.course
linebreak()
},
),
[Company, Supervisor:], [*Training company:*], author.company,
par( [*Company supervisor:*], author.supervisor,
leading: 0.5em, [*Submission date:*], thesis.submission-date,
for author in config.authors {
author.company + ", " + author.supervisor
linebreak()
},
),
) )
] else [ ] else [
#context panic("no translation for language: ", text.lang) #context panic("no translation for language: ", text.lang)

View File

@ -294,7 +294,19 @@
let current-page = here().page() let current-page = here().page()
if current-page == 1 { if current-page == 1 {
// logo moved to content // logo of ABB and DHBW
grid(
// set width of columns
// we need two, so make both half the page width
columns: (50%, 50%),
// left align logo of ABB
if style.header.logo-image == none {
[]
} else if style.header.logo-image.len() > 0 {
align(left, image(style.header.logo-image, height: style.header.logo-height))
},
// right align logo of DHBW
align(right, image("res/DHBW.svg", height: style.header.logo-height)))
} else if query(<end-of-content>) } else if query(<end-of-content>)
.first() .first()