Merge branch 'main' into ci/autogen-banner
Build'n check / run-ci-linux (push) Has been skipped Details
Build'n check / run-ci-linux (pull_request) Successful in 2m40s Details

This commit is contained in:
Sven Vogel 2024-11-30 17:27:18 +00:00
commit 4195eea663
6 changed files with 78 additions and 105 deletions

View File

@ -3,16 +3,16 @@
// https://brand.abb/portal/en/branding-principles/basic-brand-elements/color // https://brand.abb/portal/en/branding-principles/basic-brand-elements/color
// ABB branding colors // ABB branding colors
#let ABB-RED = cmyk(0%, 100%, 95%, 0%) #let ABB-RED = rgb(255, 0, 13)
#let ABB-BLACK = cmyk(0%, 0%, 0%, 100%) #let ABB-BLACK = rgb(0, 0, 0)
#let ABB-GRAY-01 = cmyk(0%, 0%, 0%, 90%) #let ABB-GRAY-01 = rgb(25, 25, 25)
#let ABB-GRAY-02 = cmyk(0%, 0%, 0%, 75%) #let ABB-GRAY-02 = rgb(64, 64, 64)
#let ABB-GRAY-03 = cmyk(0%, 0%, 0%, 55%) #let ABB-GRAY-03 = rgb(115, 115, 115)
#let ABB-GRAY-04 = cmyk(0%, 0%, 0%, 35%) #let ABB-GRAY-04 = rgb(166, 166, 166)
#let ABB-GRAY-05 = cmyk(0%, 0%, 0%, 15%) #let ABB-GRAY-05 = rgb(217, 217, 217)
#let ABB-GRAY-06 = cmyk(0%, 0%, 0%, 5%) #let ABB-GRAY-06 = rgb(242, 242, 242)
#let ABB-WHITE = cmyk(0%, 0%, 0%, 0%) #let ABB-WHITE = rgb(255, 255, 255)
// ABB branding functinal colors // ABB branding functinal colors
#let ABB-BLUE = cmyk(100%, 53%, 2%, 16%) #let ABB-BLUE = rgb(0, 101, 210)
#let ABB-GREEN = cmyk(91%, 4%, 100%, 25%) #let ABB-GREEN = rgb(17, 184, 0)
#let ABB-YELLOW = cmyk(0%, 9%, 100%, 0%) #let ABB-YELLOW = rgb(255, 232, 0)

View File

@ -25,22 +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
),
(
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",
@ -102,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) {

View File

@ -47,7 +47,7 @@
if text.lang == "de" [ if text.lang == "de" [
handelt es sich _nicht_ um die fertige Fassung. Das Dokument kann Inhaltliche-, Grammatikalische- sowie Format-Fehler enthalten. Das Dokument ist im Rahmen der Aufgabenstellung von Seiten der #university.name nicht zur Bewertung freigegeben und ein anderer Verwendungszweck als eine Vorschau ist nicht gestattet. handelt es sich _nicht_ um die fertige Fassung. Das Dokument kann Inhaltliche-, Grammatikalische- sowie Format-Fehler enthalten. Das Dokument ist im Rahmen der Aufgabenstellung von Seiten der #university.name nicht zur Bewertung freigegeben und ein anderer Verwendungszweck als eine Vorschau ist nicht gestattet.
] else if text.lang == "en" [ ] else if text.lang == "en" [
is not the final version. The document may contain errors in content, grammar and formatting. The document may not be released for evaluation to #university.name as part of the assignment, and any use other than a preview is not permitted. is not the final version. The document may contain errors in content, grammar and formatting. The document may not be released for evaluation to #config.university.name as part of the assignment, and any use other than a preview is not permitted.
] ]
} }
) )

View File

@ -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,37 @@
] 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,

View File

@ -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",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "dhbw-abb-typst-template" name = "dhbw-abb-typst-template"
version = "0.5.4" version = "0.6.0"
entrypoint = "src/template.typ" entrypoint = "src/template.typ"
authors = ["Sven Vogel <sven.vogel1@de.abb.com>"] authors = ["Sven Vogel <sven.vogel1@de.abb.com>"]
license = "MIT" license = "MIT"