Compare commits

...

7 Commits

Author SHA1 Message Date
16ab666f74 Bump acrostiche to v0.7.0 2026-03-04 21:29:18 +01:00
7bc2ba0c33 backport addendum-index fix 2026-02-24 08:06:21 +01:00
78966cecde backport/update dependencies 2026-02-12 08:01:12 +01:00
5c09e20dc6 Add supplement for addendum 2025-09-11 16:53:41 +02:00
5cd21dd2cf Fix Outline Styles when using Figure sources 2025-09-10 08:35:21 +02:00
f77021aa57 Add #show: addendum
Add #show: addendum before your addendum to insert an addendum-outline and correct formatting
2025-09-09 13:34:31 +02:00
add3eff5a6 Modify outlines
Please tag your "Addendum"-Heading with <dhsn.addendum> and use #addendum-outline() before your addendum!
2025-09-09 11:48:40 +02:00

View File

@@ -1,4 +1,4 @@
#import "@preview/acrostiche:0.6.0": * #import "@preview/acrostiche:0.7.0": *
#let statement(location, submission-date, gender) = context [ #let statement(location, submission-date, gender) = context [
#pagebreak() #pagebreak()
@@ -20,8 +20,7 @@
column-gutter: 1cm, column-gutter: 1cm,
columns: (50%, 50%), columns: (50%, 50%),
row-gutter: 10pt, row-gutter: 10pt,
[#location, #submission-date.display("[day].[month].[year]")], [#location, #submission-date.display("[day].[month].[year]")], align(bottom, line(length: 6cm, stroke: 0.75pt)),
align(bottom, line(length: 6cm, stroke: 0.75pt)),
[], [],
( (
if gender == none { if gender == none {
@@ -35,6 +34,31 @@
) )
] ]
#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( #let dhsn(
topic: "Thema der Arbeit", topic: "Thema der Arbeit",
subtitle: [Art der Arbeit], subtitle: [Art der Arbeit],
@@ -59,10 +83,15 @@
body, body,
) = { ) = {
// show figure.where(kind: table): set figure(kind: raw, supplement: "Anhang") // 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 heading(numbering: (..nums) => nums.pos().map(str).join("."))
set bibliography(style: "harvard-cite-them-right", title: "Literaturverzeichnis") set bibliography(style: "harvard-cite-them-right", title: "Literaturverzeichnis")
set document(
title: topic,
author: author,
description: [#subtitle],
date: submission-date,
)
set cite(form: "prose") set cite(form: "prose")
show cite: c => { show cite: c => {
show "ohne Datum": "o.D." show "ohne Datum": "o.D."
@@ -77,6 +106,7 @@
set par(justify: true, leading: 1.2em) set par(justify: true, leading: 1.2em)
show heading: set block(below: 1.2em) show heading: set block(below: 1.2em)
show figure: set par(leading: 0.8em) show figure: set par(leading: 0.8em)
show figure.caption: set text(size: 10pt)
show table: set par(leading: 0.8em) show table: set par(leading: 0.8em)
show raw: it => { show raw: it => {
if (it.lines.first().count > 1) { if (it.lines.first().count > 1) {
@@ -155,43 +185,38 @@
pagebreak() pagebreak()
context { context {
if query(figure.where(kind: image)).len() > 0 { show regex("[\n,;.]? *Quelle:.*"): none
show ref: none
if query(selector(figure.where(kind: image).before(<dhsn.addendum>))).len() > 0 {
{ {
show heading: none show heading: none
heading(numbering: none)[Abbildungsverzeichnis] heading(numbering: none)[Abbildungsverzeichnis]
} }
outline(title: "Abbildungsverzeichnis", target: figure.where(kind: image))
pagebreak() outline(title: "Abbildungsverzeichnis", target: selector(figure.where(kind: image)).before(<dhsn.addendum>))
} }
} if query(selector(figure.where(kind: table)).before(<dhsn.addendum>)).len() > 0 {
context {
if query(figure.where(kind: raw)).len() > 0 {
{
show heading: none
heading(numbering: none)[Anhangsverzeichnis]
}
outline(title: "Anhangsverzeichnis", target: figure.where(kind: raw))
pagebreak()
}
}
context {
if query(figure.where(kind: table)).len() > 0 {
{ {
show heading: none show heading: none
heading(numbering: none)[Tabellenverzeichnis] heading(numbering: none)[Tabellenverzeichnis]
} }
outline(title: "Tabellenverzeichnis", target: figure.where(kind: table)) 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() pagebreak()
counter(footnote).update(0)
} }
} }
context { context {
if (acros.get() != none and acros.get().len() > 0) { if (_acronyms.final() != none and _acronyms.final().len() > 0) {
{ {
show heading: none show heading: none
heading(numbering: none)[Abkürzungsverzeichnis] heading(numbering: none)[Abkürzungsverzeichnis]
} }
print-index(title: "Abkürzungsverzeichnis", row-gutter: 0.5em) print-index(title: "Abkürzungsverzeichnis", row-gutter: 1.2em)
pagebreak() pagebreak()
} }
} }