Write IP Bericht

This commit is contained in:
Marius Drechsler 2025-05-30 17:01:04 +02:00
commit 1ef5c20317
Signed by: marius
GPG key ID: 56D4131BA3104777
39 changed files with 2040 additions and 0 deletions

3
template/colour.typ Normal file
View file

@ -0,0 +1,3 @@
#let tum_blue = rgb(0, 101, 189)
#let tum_white = rgb(255, 255, 255)
#let tum_black = rgb(0, 0, 0)

156
template/conf.typ Normal file
View file

@ -0,0 +1,156 @@
#import "cover.typ": cover_page
#import "title.typ": title_page
#import "contents.typ": contents_page
#let conf(
title: "",
author: "",
chair: "",
school: "",
degree: "",
examiner: "",
supervisor: "",
submitted: "",
doc
) = {
cover_page(
title: title,
author: author,
chair: chair,
school: school
)
title_page(
title: title,
author: author,
chair: chair,
school: school,
degree: degree,
examiner: examiner,
supervisor: supervisor,
submitted: submitted
)
set document(title: title, author: author)
/*
set heading(numbering: "1.")
show heading: it => locate(loc => {
let levels = counter(heading).at(loc)
set text(font: "TUM Neue Helvetica")
if it.level == 1 [
#if levels.at(0) != 1 {
pagebreak(to: "odd")
}
#set text(size: 24pt)
#if levels.at(0) != 0 {
numbering("1", levels.at(0))
}
#it.body
#v(1em, weak: true)
] else if it.level == 2 [
#set text(size: 16pt)
#v(1em)
#numbering("1.1", levels.at(0), levels.at(1))
#it.body
#v(1em, weak: true)
] else if it.level == 3 [
#set text(size: 16pt)
#v(1em, weak: true)
#numbering("1.1.1", levels.at(0), levels.at(1), levels.at(2))
#it.body
#v(1em, weak: true)
] else [
#set text(size: 12pt)
#v(1em, weak: true)
#it.body
#v(1em, weak: true)
]
})
*/
contents_page()
// This section defines the heading numberins and stylings for different heading levels
// Kind of a hack but works.
// TODO needs some refactoring
set heading(numbering: "1.")
show heading: it => [
#v(1em)
#text(
size: 12pt,
font: "TUM Neue Helvetica",
it.body
)
#v(1em, weak:true)
]
show heading.where(
level: 1
): it => [
#pagebreak()
#v(1em)
#text(
size: 24pt,
font: "TUM Neue Helvetica",
//[#context counter(heading).display() ] + it.body,
[#context{
if counter(heading).get().at(0) == 0 [
#it.body
] else [
#counter(heading).display() #it.body
]
}]
)
#v(1em, weak: true)
]
show heading.where(
level: 3
): it => [
#v(1em)
#text(
size: 16pt,
font: "TUM Neue Helvetica",
[#context counter(heading).display() ] + it.body
)
#v(1em, weak:true)
]
show heading.where(
level: 2
): it => [
#v(1em)
#text(
size: 16pt,
font: "TUM Neue Helvetica",
context[#counter(heading).display() ] + it.body
)
#v(1em, weak: true)
]
set page(
paper: "a4",
margin: (
top: 3cm,
bottom: 3cm,
x: 2cm,
),
numbering: "1",
header: [],
//footer: []
)
set par(justify: true)
set align(left)
set text(
lang: "de",
// font: "Times New Roman",
size: 12pt
)
doc
}

28
template/contents.typ Normal file
View file

@ -0,0 +1,28 @@
#import "colour.typ": *
#let contents_page() = {
set text(font: "TUM Neue Helvetica", lang: "de")
// Override the heading function to not make the Contents page affected by heading numbering 0
show heading.where(
level: 1
): it => [
#v(1em)
#text(
size: 24pt,
font: "TUM Neue Helvetica",
it.body
)
#v(1em, weak: true)
]
show outline.entry.where(
level: 1
): it => {
v(1em)
strong(it)
}
outline(indent: auto)
}

43
template/cover.typ Normal file
View file

@ -0,0 +1,43 @@
#import "colour.typ": *
#let cover_page(
title: "",
author: "",
chair: "",
school: ""
) = {
page(
paper: "a4",
margin: (
top: 3cm,
bottom: 1cm,
x: 1cm,
),
header: [
#grid(
columns: (1fr, 1fr),
rows: (auto),
text(
fill: tum_blue,
size: 8pt,
font: "TUM Neue Helvetica",
[#chair \ #school \ Technische Universität München]
),
align(bottom + right, image("resources/TUM_Logo_blau.svg", height: 50%))
)
],
footer: []
)[
#v(1cm)
#align(top + left)[#text(font: "TUM Neue Helvetica", size: 24pt, [*#title*])]
#v(3cm)
#text(font: "TUM Neue Helvetica", fill: tum_blue, size: 17pt, [*#author*])
#align(bottom + right)[#image("resources/TUM_Tower.png", width: 60%)]
]
pagebreak()
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" id="Ebene_1" x="0px" y="0px" width="408.16" height="212.46684" viewBox="-16.014 -31 408.16 212.46684" enable-background="new -16.014 -31 149 114" xml:space="preserve" sodipodi:docname="TUM_Web_Logo_blau.svg" inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata id="metadata13"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title>TUM_Web_Logo_blau</dc:title></cc:Work></rdf:RDF></metadata><defs id="defs11"/><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920" inkscape:window-height="986" id="namedview9" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom="1.754386" inkscape:cx="124.61021" inkscape:cy="115.2546" inkscape:window-x="-11" inkscape:window-y="-11" inkscape:window-maximized="1" inkscape:current-layer="Ebene_1"/>
<title id="title2">TUM_Web_Logo_blau</title>
<desc id="desc4">TUM</desc>
<path fill="#3070b3" d="m 140.54052,-31 v 173.32822 h 44.72985 V -31 H 392.146 V 181.46685 H 353.00738 V 8.138629 H 308.2775 V 181.46685 H 269.13887 V 8.138629 H 224.40902 V 181.46685 H 101.4019 V 8.138629 H 62.26327 V 181.46685 H 23.12462 V 8.138629 H -16.014 V -31 Z" id="path6" style="stroke-width:5.59123"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

67
template/title.typ Normal file
View file

@ -0,0 +1,67 @@
#import "colour.typ": *
#let title_page(
title: "",
author: "",
chair: "",
school: "",
degree: "",
examiner: "",
supervisor: "",
submitted: ""
) = {
page(
paper: "a4",
margin: (
top: 5cm,
bottom: 3cm,
x: 2cm,
),
header: [
#grid(
columns: (1fr, 1fr),
rows: (auto),
text(
fill: tum_blue,
size: 8pt,
font: "TUM Neue Helvetica",
[#chair \ #school \ Technische Universität München]
),
align(bottom + right, image("resources/TUM_Logo_blau.svg", height: 30%))
)
],
footer: []
)[
#set text(
font: "TUM Neue Helvetica",
size: 10pt
)
#v(1cm)
#set align(top + left)
#text(size: 24pt, [*#title*])
#v(3cm)
#text(fill: tum_blue, size: 17pt, [*#author*])
#v(3cm)
Bericht zur Ableistung der
#v(1em)
*#degree*
#v(1em)
an der #school der Technischen Universität München.
#v(3cm)
*Prüfer:*\ #examiner
#v(0em)
*Betreuer:*\ #supervisor
#v(0em)
*Eingereicht am:*\ Munich, #submitted
]
pagebreak()
}