From a0164fb8c031db6772086fb9a1cc7c5d9bdbb844 Mon Sep 17 00:00:00 2001
From: Lars Frost <larsf@fsmpi.rwth-aachen.de>
Date: Mon, 18 Nov 2024 13:44:32 +0100
Subject: [PATCH] Show tasks counter

---
 materials/global.typ | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/materials/global.typ b/materials/global.typ
index 7f32698..35333e6 100644
--- a/materials/global.typ
+++ b/materials/global.typ
@@ -31,6 +31,8 @@
   )
 ]
 
+#let tc = counter("task")
+
 #let info(content) = gitbox("icons/Info_steel_blue.svg")[
   *Info*:
   #content
@@ -39,15 +41,27 @@
   *Verständnisfrage*:
   #content
 ]
+
+#let update-task-counter() = context {
+    let heading-value = counter(heading).get()
+    let task-heading-value = tc.get()
+    if heading-value.at(0) > task-heading-value.at(0) {
+      tc.update((heading-value.at(0), 0))
+    }
+    tc.step(level: 2)
+}
+
 #let task(content) = gitbox("icons/Task.svg")[
-  *Aufgabe*:
+  #update-task-counter()
+  *Aufgabe #context tc.display()*:
   #content
 ]
 #let optional-task(content) = gitbox("icons/OptionalTask.svg")[
-  *Aufgabe (optional)*:
+  #update-task-counter()
+  *Aufgabe #context tc.display() (optional)*:
   #content
 ]
 #let warning(content) = box(stroke: color.rgb("FEC601"), gitbox("icons/Warning.svg")[
   *Warnung*:
   #content
-])
\ No newline at end of file
+])
-- 
GitLab