Compare commits
No commits in common. "ba72a81c78da3bcbd64377574c6391dd78eea975" and "415fafc7f41766deab29e4c2f7896a14c56d4d58" have entirely different histories.
ba72a81c78
...
415fafc7f4
34
src/conf.typ
34
src/conf.typ
|
@ -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)
|
||||||
|
|
|
@ -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,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")
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Reference in New Issue