Initial commit
This commit is contained in:
137
dhsn.typ
Normal file
137
dhsn.typ
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
#let statement(location) = context [
|
||||||
|
#pagebreak()
|
||||||
|
#set heading(numbering: none)
|
||||||
|
= Eidesstattliche Erklärung
|
||||||
|
|
||||||
|
Ich erkläre an Eides statt, dass ich die vorliegende Arbeit
|
||||||
|
selbständig und ohne unerlaubte fremde Hilfe angefertigt, andere als
|
||||||
|
die angegebenen Quellen und Hilfsmittel nicht benutzt habe. Die aus
|
||||||
|
fremden Quellen direkt oder indirekt übernommenen Stellen sind als
|
||||||
|
solche kenntlich gemacht.\
|
||||||
|
Die Zustimmung des Partnerunternehmens in der Praxis zur Verwen-
|
||||||
|
dung betrieblicher Unterlagen habe ich eingeholt.\
|
||||||
|
Die Arbeit wurde bisher in gleicher oder ähnlicher Form keiner anderen
|
||||||
|
Prüfungsbehörde vorgelegt und auch nicht veröffentlicht.
|
||||||
|
|
||||||
|
#v(1.5cm)
|
||||||
|
#grid(
|
||||||
|
columns: (50%, 50%),
|
||||||
|
column-gutter: 1cm,
|
||||||
|
row-gutter: 10pt,
|
||||||
|
[#location, #datetime.today().display("[day].[month].[year]")], align(bottom, line(length: 6cm, stroke: 0.75pt)),
|
||||||
|
[Ort, Abgabetermin], [Unterschrift des Verfassers],
|
||||||
|
)
|
||||||
|
]
|
||||||
|
#let dhsn(
|
||||||
|
topic: "Thema der Arbeit",
|
||||||
|
subtitle: [Art der Arbeit],
|
||||||
|
group: "0XY99-0",
|
||||||
|
company-data: [Praxispartner GmbH \ 01234 Stadt],
|
||||||
|
author: "Maxi Musterfrau",
|
||||||
|
location: "Dresden",
|
||||||
|
consultants: (
|
||||||
|
(
|
||||||
|
gender: "M",
|
||||||
|
name: "Person Eins",
|
||||||
|
),
|
||||||
|
(
|
||||||
|
gender: "F",
|
||||||
|
name: "Person Zwei",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
assignment-date: datetime.today(),
|
||||||
|
submission-date: datetime.today(),
|
||||||
|
bib: none,
|
||||||
|
body,
|
||||||
|
) = {
|
||||||
|
show figure.where(kind: table): set figure(kind: raw, supplement: "Anhang")
|
||||||
|
show figure.where(kind: raw): set figure(supplement: "Anhang")
|
||||||
|
set heading(numbering: (..nums) => nums.pos().map(str).join("."))
|
||||||
|
|
||||||
|
set bibliography(style: "springer-basic-author-date", title: "Literaturverzeichnis")
|
||||||
|
set cite(form: "prose")
|
||||||
|
set text(size: 12pt, lang: "de", region: "de")
|
||||||
|
set par(justify: true)
|
||||||
|
set page(
|
||||||
|
margin: (
|
||||||
|
top: 2cm,
|
||||||
|
bottom: 2cm,
|
||||||
|
left: 3cm,
|
||||||
|
right: 3cm,
|
||||||
|
),
|
||||||
|
footer: context [
|
||||||
|
#align(right)[#counter(page).display()]
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
context [
|
||||||
|
#set page(footer: none)
|
||||||
|
#set text(size: 14pt)
|
||||||
|
#show heading.where(level: 1): it => {
|
||||||
|
set text(size: 24pt)
|
||||||
|
block(it.body)
|
||||||
|
}
|
||||||
|
#grid(
|
||||||
|
columns: (50%, 50%),
|
||||||
|
gutter: 5pt,
|
||||||
|
align(left + bottom)[Duale Hochschule Sachsen\
|
||||||
|
Staatliche Studienakademie Dresden\
|
||||||
|
#group],
|
||||||
|
align(right + bottom)[_Praxispartner:_\ #company-data],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#align(center + horizon)[
|
||||||
|
#block(width: 15cm, [#heading(level: 1, outlined: false, numbering: none)[#topic]
|
||||||
|
#v(1.5cm)
|
||||||
|
#subtitle
|
||||||
|
#v(1.5cm)
|
||||||
|
eingereicht von:\
|
||||||
|
#author])
|
||||||
|
]
|
||||||
|
#align(bottom)[
|
||||||
|
#for c in consultants {
|
||||||
|
if (c.keys().contains("gender") == false) {
|
||||||
|
[Gutachter/in: ]
|
||||||
|
} else if (c.gender == "M") {
|
||||||
|
[Gutachter: ]
|
||||||
|
} else if (c.gender == "F") {
|
||||||
|
[Gutachterin: ]
|
||||||
|
}
|
||||||
|
c.name
|
||||||
|
linebreak()
|
||||||
|
}
|
||||||
|
#v(1cm)
|
||||||
|
Tag der Themenübergabe: #assignment-date.display("[day].[month].[year]")
|
||||||
|
|
||||||
|
Tag der Einreichung: #submission-date.display("[day].[month].[year]")
|
||||||
|
#v(3cm)
|
||||||
|
]
|
||||||
|
#pagebreak()
|
||||||
|
]
|
||||||
|
set page(numbering: (..nums) => numbering("I", counter(page).get().at(0)))
|
||||||
|
outline(indent: 0%)
|
||||||
|
pagebreak()
|
||||||
|
{
|
||||||
|
show heading: none
|
||||||
|
heading(numbering: none)[Abbildungsverzeichnis]
|
||||||
|
}
|
||||||
|
outline(title: "Abbildungsverzeichnis", target: figure.where(kind: image))
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
show heading: none
|
||||||
|
heading(numbering: none)[Anhangverzeichnis]
|
||||||
|
}
|
||||||
|
outline(title: "Anhangverzeichnis", target: figure.where(kind: table).or(figure.where(kind: raw)))
|
||||||
|
pagebreak()
|
||||||
|
counter(page).update(1)
|
||||||
|
set page(numbering: (..nums) => numbering("1", counter(page).get().at(0)))
|
||||||
|
|
||||||
|
body
|
||||||
|
|
||||||
|
bib
|
||||||
|
|
||||||
|
statement(location)
|
||||||
|
}
|
||||||
|
|
||||||
52
example/paper.typ
Normal file
52
example/paper.typ
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#import "../dhsn.typ": dhsn
|
||||||
|
|
||||||
|
#show: dhsn.with(
|
||||||
|
bib: bibliography("sources.yml"),
|
||||||
|
assignment-date: datetime(year: 2025, month: 7, day: 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
= Kapitel 1
|
||||||
|
Im Fließtext kann ich auf #ref(<data>) verweisen.
|
||||||
|
|
||||||
|
== Definition
|
||||||
|
|
||||||
|
Leider muss ich auf das tolle Buch verweisen #footnote[Vgl. @makeityourself, S. 10]
|
||||||
|
|
||||||
|
Google #footnote[Vgl. @google]
|
||||||
|
|
||||||
|
Hier ist eine Komplizierte Formel:
|
||||||
|
$ I(t) = (d Q(t)) / (d t) $
|
||||||
|
|
||||||
|
...aber es geht noch schlimmer:
|
||||||
|
|
||||||
|
$ arrow(F_L) &= q dot arrow(v) times arrow(B) \
|
||||||
|
|arrow(F_L)| &= q |arrow(v)| dot |arrow(B)| dot sin(phi)
|
||||||
|
$
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
#set heading(numbering: "A")
|
||||||
|
#counter(heading).update(0)
|
||||||
|
= Anhang
|
||||||
|
|
||||||
|
#grid(
|
||||||
|
columns: (50%, 50%),
|
||||||
|
align: bottom,
|
||||||
|
figure(
|
||||||
|
```go
|
||||||
|
import fmt
|
||||||
|
func main() {
|
||||||
|
fmt.Println("Hallo Welt")
|
||||||
|
}
|
||||||
|
```,
|
||||||
|
caption: "Beispiel-Programm in golang",
|
||||||
|
),
|
||||||
|
[#figure(
|
||||||
|
table(
|
||||||
|
columns: 2,
|
||||||
|
"A", $overline("A")$,
|
||||||
|
"0", "1",
|
||||||
|
"1", "0",
|
||||||
|
),
|
||||||
|
caption: "Beispieldaten",
|
||||||
|
)<data>],
|
||||||
|
)
|
||||||
13
example/sources.yml
Normal file
13
example/sources.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
google:
|
||||||
|
type: web
|
||||||
|
author: Google LLC
|
||||||
|
date: 2025
|
||||||
|
url:
|
||||||
|
value: https://google.com
|
||||||
|
date: 2025-06-23
|
||||||
|
|
||||||
|
makeityourself:
|
||||||
|
type: book
|
||||||
|
author: NODE
|
||||||
|
date: 2025
|
||||||
|
title: Make It Yourself - 100 Useful Things to Make
|
||||||
Reference in New Issue
Block a user