Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| caee726e6b | |||
| d0de6c74cc | |||
| a61caea508 |
474
dhsn.typ
474
dhsn.typ
@@ -1,242 +1,232 @@
|
||||
#import "@preview/acrostiche:0.7.0": *
|
||||
|
||||
#let statement(location, submission-date, gender) = context [
|
||||
#pagebreak()
|
||||
#set heading(numbering: none)
|
||||
#set page(footer: none, 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 Verwendung 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(
|
||||
column-gutter: 1cm,
|
||||
columns: (50%, 50%),
|
||||
row-gutter: 10pt,
|
||||
[#location, #submission-date.display("[day].[month].[year]")], align(bottom, line(length: 6cm, stroke: 0.75pt)),
|
||||
[],
|
||||
(
|
||||
if gender == none {
|
||||
[Unterschrift des Verfassers]
|
||||
} else if (gender == "M") {
|
||||
[Unterschrift des Verfassers]
|
||||
} else if (gender == "F") {
|
||||
[Unterschrift der Verfasserin]
|
||||
}
|
||||
),
|
||||
)
|
||||
|
||||
]
|
||||
#let addendum(supplement: "Anhang", body) = {
|
||||
pagebreak()
|
||||
counter(heading).update(0)
|
||||
set heading(numbering: none)
|
||||
context if query(selector(figure).after(here())).len() > 0 {
|
||||
{
|
||||
show regex("[\n,;.]? *Quelle:.*"): none
|
||||
show ref: none
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Anhangverzeichnis]
|
||||
}
|
||||
outline(title: "Anhangverzeichnis", target: selector(figure).after(here()))
|
||||
pagebreak()
|
||||
}
|
||||
set figure(kind: raw, supplement: "Anhang")
|
||||
counter(figure.where(kind: raw)).update(0)
|
||||
|
||||
[= #supplement <dhsn.addendum>]
|
||||
body
|
||||
pagebreak()
|
||||
} else {
|
||||
body
|
||||
}
|
||||
}
|
||||
#let dhsn(
|
||||
topic: "Thema der Arbeit",
|
||||
subtitle: [Art der Arbeit],
|
||||
group: "0XY99-0",
|
||||
company-data: [Praxispartner GmbH \ 01234 Stadt],
|
||||
author: "Maxi Musterfrau",
|
||||
author_gender: none,
|
||||
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")
|
||||
set heading(numbering: (..nums) => nums.pos().map(str).join("."))
|
||||
|
||||
set bibliography(style: "harvard-cite-them-right", title: "Literaturverzeichnis")
|
||||
set document(
|
||||
title: topic,
|
||||
author: author,
|
||||
description: [#subtitle],
|
||||
date: submission-date,
|
||||
)
|
||||
set cite(form: "prose")
|
||||
show cite: c => {
|
||||
show "ohne Datum": "o.D."
|
||||
show regex("ohne Datum \D\)"): it => {
|
||||
show ")": "])"
|
||||
show "ohne Datum ": "o.D.["
|
||||
it
|
||||
}
|
||||
c
|
||||
}
|
||||
set text(size: 12pt, lang: "de", region: "de")
|
||||
set par(justify: true, leading: 1.2em)
|
||||
show heading: set block(below: 1.2em)
|
||||
show figure: set par(leading: 0.8em)
|
||||
show figure.caption: set text(size: 10pt)
|
||||
show table: set par(leading: 0.8em)
|
||||
show raw: it => {
|
||||
if (it.lines.first().count > 1) {
|
||||
set par(leading: 1em)
|
||||
it
|
||||
} else {
|
||||
it
|
||||
}
|
||||
}
|
||||
set page(
|
||||
margin: (
|
||||
top: 2cm,
|
||||
bottom: 2cm,
|
||||
left: 3cm,
|
||||
right: 2cm,
|
||||
),
|
||||
footer: context [
|
||||
#align(right)[#counter(page).display()]
|
||||
],
|
||||
)
|
||||
|
||||
context [
|
||||
#set page(footer: none, margin: (left: 2cm))
|
||||
#set text(size: 14pt)
|
||||
#set par(leading: (1 / 1.2) * 1em)
|
||||
#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)))
|
||||
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Inhaltsverzeichnis]
|
||||
}
|
||||
outline(indent: 0%)
|
||||
|
||||
pagebreak()
|
||||
|
||||
context {
|
||||
show regex("[\n,;.]? *Quelle:.*"): none
|
||||
show ref: none
|
||||
if query(selector(figure.where(kind: image).before(<dhsn.addendum>))).len() > 0 {
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Abbildungsverzeichnis]
|
||||
}
|
||||
|
||||
outline(title: "Abbildungsverzeichnis", target: selector(figure.where(kind: image)).before(<dhsn.addendum>))
|
||||
}
|
||||
if query(selector(figure.where(kind: table)).before(<dhsn.addendum>)).len() > 0 {
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Tabellenverzeichnis]
|
||||
}
|
||||
outline(title: "Tabellenverzeichnis", target: selector(figure.where(kind: table)).before(<dhsn.addendum>))
|
||||
}
|
||||
if (
|
||||
query(selector(figure.where(kind: table).or(figure.where(kind: table))).before(<dhsn.addendum>)).len() > 0
|
||||
) {
|
||||
pagebreak()
|
||||
counter(footnote).update(0)
|
||||
}
|
||||
}
|
||||
|
||||
context {
|
||||
if (_acronyms.final() != none and _acronyms.final().len() > 0) {
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Abkürzungsverzeichnis]
|
||||
}
|
||||
print-index(title: "Abkürzungsverzeichnis", row-gutter: 1.2em)
|
||||
pagebreak()
|
||||
}
|
||||
}
|
||||
counter(page).update(1)
|
||||
set page(numbering: (..nums) => numbering("1", counter(page).get().at(0)))
|
||||
|
||||
body
|
||||
{
|
||||
show "ohne Datum": "o.D."
|
||||
show regex("ohne Datum \D\)"): it => {
|
||||
show ")": "])"
|
||||
show "ohne Datum ": "o.D.["
|
||||
it
|
||||
}
|
||||
show regex(`Zugegriffen\: \d+`.text): it => {
|
||||
let day = str.replace(it.text, "Zugegriffen: ", "")
|
||||
"Abgerufen am " + day + "."
|
||||
}
|
||||
bib
|
||||
}
|
||||
statement(location, submission-date, author_gender)
|
||||
}
|
||||
|
||||
#import "@preview/acrostiche:0.7.0": *
|
||||
|
||||
#let statement(location, submission-date, gender) = context [
|
||||
#pagebreak()
|
||||
#set heading(numbering: none)
|
||||
#set page(footer: none, 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 Verwendung 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(
|
||||
column-gutter: 1cm,
|
||||
columns: (50%, 50%),
|
||||
row-gutter: 10pt,
|
||||
[#location, #submission-date.display("[day].[month].[year]")], [],
|
||||
[],
|
||||
(
|
||||
if gender == none {
|
||||
[Unterschrift des Verfassers]
|
||||
} else if (gender == "M") {
|
||||
[Unterschrift des Verfassers]
|
||||
} else if (gender == "F") {
|
||||
[Unterschrift der Verfasserin]
|
||||
}
|
||||
),
|
||||
)
|
||||
|
||||
]
|
||||
#let addendum(supplement: "Anhang", body) = {
|
||||
pagebreak()
|
||||
counter(heading).update(0)
|
||||
set heading(numbering: none)
|
||||
context if query(selector(figure).after(here())).len() > 0 {
|
||||
{
|
||||
show regex("(\. ).+"): none
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Anhangverzeichnis]
|
||||
}
|
||||
outline(title: "Anhangverzeichnis", target: selector(figure).after(here()))
|
||||
pagebreak()
|
||||
}
|
||||
set figure(kind: raw, supplement: "Anhang")
|
||||
counter(figure.where(kind: raw)).update(0)
|
||||
|
||||
[= #supplement <dhsn.addendum>]
|
||||
body
|
||||
pagebreak()
|
||||
} else {
|
||||
body
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#let dhsn(
|
||||
topic: "Thema der Arbeit",
|
||||
subtitle: [Art der Arbeit],
|
||||
group: "0XY99-0",
|
||||
company-data: [Praxispartner GmbH \ 01234 Stadt],
|
||||
author: "Maxi Musterfrau",
|
||||
author_gender: none,
|
||||
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")
|
||||
set heading(numbering: (..nums) => nums.pos().map(str).join("."))
|
||||
|
||||
set bibliography(style: "ieee", title: "Literaturverzeichnis")
|
||||
set document(
|
||||
title: topic,
|
||||
author: author,
|
||||
description: [#subtitle],
|
||||
date: submission-date,
|
||||
)
|
||||
/*set cite(form: "prose")
|
||||
show cite: c => {
|
||||
show "ohne Datum": "o.D."
|
||||
show regex("ohne Datum \D\)"): it => {
|
||||
show ")": "])"
|
||||
show "ohne Datum ": "o.D.["
|
||||
it
|
||||
}
|
||||
c
|
||||
}*/
|
||||
set text(size: 12pt, lang: "de", region: "de")
|
||||
set par(justify: true, leading: 1.2em)
|
||||
show heading: set block(below: 1.2em)
|
||||
show figure: set par(leading: 0.8em)
|
||||
show figure.caption: set text(size: 10pt)
|
||||
show table: set par(leading: 0.8em)
|
||||
show raw: it => {
|
||||
if (it.lines.first().count > 1) {
|
||||
set par(leading: 1em)
|
||||
it
|
||||
} else {
|
||||
it
|
||||
}
|
||||
}
|
||||
set page(
|
||||
margin: (
|
||||
top: 2cm,
|
||||
bottom: 2cm,
|
||||
left: 3cm,
|
||||
right: 2cm,
|
||||
),
|
||||
footer: context [
|
||||
#align(right)[#counter(page).display()]
|
||||
],
|
||||
)
|
||||
|
||||
context [
|
||||
#set page(footer: none, margin: (left: 2cm))
|
||||
#set text(size: 14pt)
|
||||
#set par(leading: (1 / 1.2) * 1em)
|
||||
#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)))
|
||||
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Inhaltsverzeichnis]
|
||||
}
|
||||
outline(indent: 0%)
|
||||
|
||||
pagebreak()
|
||||
|
||||
context {
|
||||
show regex("(\. ).+"): none
|
||||
show ref: none
|
||||
if query(selector(figure.where(kind: image).before(<dhsn.addendum>))).len() > 0 {
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Abbildungsverzeichnis]
|
||||
}
|
||||
|
||||
outline(title: "Abbildungsverzeichnis", target: selector(figure.where(kind: image)).before(<dhsn.addendum>))
|
||||
}
|
||||
if query(selector(figure.where(kind: table)).before(<dhsn.addendum>)).len() > 0 {
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Tabellenverzeichnis]
|
||||
}
|
||||
outline(title: "Tabellenverzeichnis", target: selector(figure.where(kind: table)).before(<dhsn.addendum>))
|
||||
}
|
||||
if (
|
||||
query(selector(figure.where(kind: table).or(figure.where(kind: table))).before(<dhsn.addendum>)).len() > 0
|
||||
) {
|
||||
pagebreak()
|
||||
counter(footnote).update(0)
|
||||
}
|
||||
}
|
||||
|
||||
context {
|
||||
if (_acronyms.final() != none and _acronyms.final().len() > 0) {
|
||||
{
|
||||
show heading: none
|
||||
heading(numbering: none)[Abkürzungsverzeichnis]
|
||||
}
|
||||
print-index(title: "Abkürzungsverzeichnis", row-gutter: 1.2em)
|
||||
pagebreak()
|
||||
}
|
||||
}
|
||||
counter(page).update(1)
|
||||
set page(numbering: (..nums) => numbering("1", counter(page).get().at(0)))
|
||||
|
||||
body
|
||||
bib
|
||||
statement(location, submission-date, author_gender)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user