Compare commits
3 Commits
415fafc7f4
...
ba72a81c78
Author | SHA1 | Date |
---|---|---|
Sven Vogel | ba72a81c78 | |
Sven Vogel | a796f5ecfb | |
Sven Vogel | 9b90660353 |
34
src/conf.typ
34
src/conf.typ
|
@ -18,16 +18,28 @@
|
||||||
// Adds preleminarry note page and watermark
|
// Adds preleminarry note page and watermark
|
||||||
draft: true,
|
draft: true,
|
||||||
// information about author(s)
|
// information about author(s)
|
||||||
author: (
|
university: (
|
||||||
name: "Sven Vogel",
|
|
||||||
semester: 4,
|
|
||||||
program: "Informationtechnology",
|
program: "Informationtechnology",
|
||||||
course: "TINF19IT1",
|
|
||||||
faculty: "Technik",
|
faculty: "Technik",
|
||||||
university: "DHBW Mannheim",
|
name: "dualen Hochschule Baden-Württemberg",
|
||||||
company: "ABB AG",
|
campus: "Eppelheim"
|
||||||
supervisor: "Benny Goodman",
|
),
|
||||||
matriculation-number: 123456789),
|
authors: (
|
||||||
|
(
|
||||||
|
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",
|
||||||
|
@ -47,7 +59,7 @@
|
||||||
header: (
|
header: (
|
||||||
content-padding: 1.5em,
|
content-padding: 1.5em,
|
||||||
underline-top-padding: 0pt,
|
underline-top-padding: 0pt,
|
||||||
logo-height: 3em,
|
logo-height: 5em,
|
||||||
logo-image: "res/ABB.svg"),
|
logo-image: "res/ABB.svg"),
|
||||||
footer: (
|
footer: (
|
||||||
content-padding: 1.5em),
|
content-padding: 1.5em),
|
||||||
|
@ -87,7 +99,9 @@
|
||||||
if key in update {
|
if key in update {
|
||||||
let update_val = update.at(key)
|
let update_val = update.at(key)
|
||||||
|
|
||||||
if type(val) == dictionary and type(update_val) == dictionary {
|
if type(val) == array {
|
||||||
|
// 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)
|
||||||
|
|
|
@ -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,
|
||||||
)
|
)
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
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")
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
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")
|
||||||
|
|
|
@ -10,7 +10,25 @@
|
||||||
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)
|
||||||
|
|
||||||
|
@ -31,13 +49,9 @@
|
||||||
// faculty
|
// faculty
|
||||||
#pad()[
|
#pad()[
|
||||||
#if text.lang == "de" [
|
#if text.lang == "de" [
|
||||||
Praxisphase des #author.semester Semesters an der Fakultät für #author.faculty
|
aus dem Studiengang #config.university.program | #config.university.faculty
|
||||||
#linebreak()
|
|
||||||
im Studiengang #author.program
|
|
||||||
] else if text.lang == "en" [
|
] else if text.lang == "en" [
|
||||||
Practical phase of the #author.semester semester at the Faculty of #author.faculty
|
from the course of studies #config.university.program | #config.university.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)
|
||||||
]
|
]
|
||||||
|
@ -52,41 +66,82 @@
|
||||||
] else [
|
] else [
|
||||||
#context panic("no translation for language: ", text.lang)
|
#context panic("no translation for language: ", text.lang)
|
||||||
]
|
]
|
||||||
|
#config.university.name
|
||||||
#linebreak()
|
#linebreak()
|
||||||
#author.university
|
#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
|
||||||
]
|
]
|
||||||
|
|
||||||
#set align(bottom + left)
|
#set align(bottom + left)
|
||||||
|
|
||||||
#if text.lang == "de" [
|
#if text.lang == "de" [
|
||||||
#table(
|
#grid(
|
||||||
columns: 2,
|
columns: 2,
|
||||||
column-gutter: 1cm,
|
column-gutter: 1cm,
|
||||||
align: left,
|
row-gutter: 0.5cm,
|
||||||
|
align: top + left,
|
||||||
stroke: none,
|
stroke: none,
|
||||||
[*Verfasser:*], author.name,
|
[Matrikelnummer, Kurs:],
|
||||||
[*Bearbeitungszeitraum:*], thesis.timeframe,
|
par(
|
||||||
[*Matrikelnummer, Kurs:*],
|
leading: 0.5em,
|
||||||
str(author.matriculation-number) + ", " + author.course,
|
for author in config.authors {
|
||||||
|
str(author.matriculation-number) + ", " + author.course
|
||||||
|
linebreak()
|
||||||
|
},
|
||||||
|
),
|
||||||
|
|
||||||
[*Ausbildungsbetrieb:*], author.company,
|
[Betrieb, Betreuer:],
|
||||||
[*Betrieblicher Betreuer:*], author.supervisor,
|
par(
|
||||||
[*Abgabedatum:*], thesis.submission-date,
|
leading: 0.5em,
|
||||||
|
for author in config.authors {
|
||||||
|
author.company + ", " + author.supervisor
|
||||||
|
linebreak()
|
||||||
|
},
|
||||||
|
),
|
||||||
)
|
)
|
||||||
] else if text.lang == "en" [
|
] else if text.lang == "en" [
|
||||||
#table(
|
#grid(
|
||||||
columns: 2,
|
columns: 2,
|
||||||
column-gutter: 1cm,
|
column-gutter: 1cm,
|
||||||
align: left,
|
row-gutter: 0.5cm,
|
||||||
|
align: top + left,
|
||||||
stroke: none,
|
stroke: none,
|
||||||
[*Author:*], author.name,
|
[Student ID, Course:],
|
||||||
[*Editing period:*], thesis.timeframe,
|
par(
|
||||||
[*Matriculation number, course:*],
|
leading: 0.5em,
|
||||||
str(author.matriculation-number) + ", " + author.course,
|
for author in config.authors {
|
||||||
|
str(author.matriculation-number) + ", " + author.course
|
||||||
|
linebreak()
|
||||||
|
},
|
||||||
|
),
|
||||||
|
|
||||||
[*Training company:*], author.company,
|
[Company, Supervisor:],
|
||||||
[*Company supervisor:*], author.supervisor,
|
par(
|
||||||
[*Submission date:*], thesis.submission-date,
|
leading: 0.5em,
|
||||||
|
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)
|
||||||
|
|
|
@ -294,19 +294,7 @@
|
||||||
let current-page = here().page()
|
let current-page = here().page()
|
||||||
|
|
||||||
if current-page == 1 {
|
if current-page == 1 {
|
||||||
// logo of ABB and DHBW
|
// logo moved to content
|
||||||
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()
|
||||||
|
|
Loading…
Reference in New Issue