2025-09-05 00:29:59 +02:00
|
|
|
// SPDX-FileCopyrightText: 2025 Gero Beckmann <orangerot@orangerot.dev>
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2025-09-10 14:36:12 +02:00
|
|
|
#let event(name: "", semester: "", did_attend: "") = (
|
|
|
|
strong(name), semester, did_attend
|
2025-09-09 13:18:10 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
#let exam-report(
|
2025-08-25 09:16:07 +02:00
|
|
|
lecture: "", // Fach
|
|
|
|
date: datetime(year: 0, month: 1, day: 1), // Prüfungsdatum
|
|
|
|
examiner: "", // PrüferIn (Prof)
|
|
|
|
assistant: "", // BeisitzerIn
|
|
|
|
did_pass: none, // Bestanden? true || false
|
|
|
|
exam_duration: duration(minutes: 0), // Prüfungsdauer
|
2025-09-09 13:18:10 +02:00
|
|
|
attendance: (
|
|
|
|
/* Veranstaltung, Jahr, regelmäßig besucht? */
|
2025-09-10 14:36:12 +02:00
|
|
|
event(name: "Vorlesung", semester: "", did_attend: ""),
|
|
|
|
event(name: "Übung", semester: "", did_attend: ""),
|
|
|
|
event(name: "Tutorium", semester: "", did_attend: ""),
|
2025-08-25 09:16:07 +02:00
|
|
|
),
|
|
|
|
preparation_time: [
|
2025-09-10 15:25:19 +02:00
|
|
|
// Wie lange und wie hast Du Dich alleine bzw. mit anderen vorbereitet?
|
2025-08-25 09:16:07 +02:00
|
|
|
],
|
|
|
|
agreements: [
|
|
|
|
// Fanden vor der Prüfung Absprachen zu Form oder Inhalt statt? Wurden sie eingehalten?
|
|
|
|
],
|
|
|
|
preparations: [
|
|
|
|
// Welche Tips zur Vorbereitung kannst Du geben?
|
|
|
|
],
|
|
|
|
examiner_behavior: [
|
|
|
|
// Wie war der Prüfungsstil des Prüfers / der Prüferin?
|
|
|
|
],
|
|
|
|
examinee_behavior: [
|
2025-09-10 15:25:19 +02:00
|
|
|
// Kannst Du Ratschläge für das Verhalten in der Prüfung geben?
|
2025-08-25 09:16:07 +02:00
|
|
|
],
|
|
|
|
doc
|
|
|
|
) = [
|
2025-09-07 10:28:58 +02:00
|
|
|
#let checkbox(checked: false) = if (checked) {$times.square$} else {$square$}
|
2025-08-25 09:16:07 +02:00
|
|
|
|
2025-09-07 10:28:58 +02:00
|
|
|
#show <date>: if date.year() > 0 {date.display("[day].[month].[year]")}
|
|
|
|
#show <examiner>: examiner
|
|
|
|
#show <assistant>: assistant
|
|
|
|
#show <exam_duration>: if exam_duration.minutes() > 0 [#exam_duration.minutes()]
|
|
|
|
#show <preparation_time>: preparation_time
|
|
|
|
#show <agreements>: agreements
|
|
|
|
#show <preparations>: preparations
|
|
|
|
#show <examinee_behavior>: examinee_behavior
|
|
|
|
#show <examiner_behavior>: examiner_behavior
|
|
|
|
#show <did_pass>: [
|
|
|
|
*Bestanden?
|
|
|
|
#checkbox(checked: did_pass == true) Ja /
|
|
|
|
#checkbox(checked: did_pass == false) Nein*
|
|
|
|
]
|
|
|
|
#show <lecture>: it => if lecture.len() > 0 {
|
|
|
|
box[#checkbox(checked: true) #lecture]
|
|
|
|
} else {it}
|
|
|
|
#show <attendance>: it => {
|
|
|
|
let g = it.fields()
|
|
|
|
let _ = g.remove("children")
|
|
|
|
let _ = g.remove("label")
|
|
|
|
table(..g,
|
|
|
|
..it.fields().children.at(0).children,
|
2025-09-09 13:18:10 +02:00
|
|
|
..(attendance + 3*(event(),)).slice(0,3).flatten()
|
2025-08-25 09:16:07 +02:00
|
|
|
)
|
2025-09-07 10:28:58 +02:00
|
|
|
}
|
2025-08-25 09:16:07 +02:00
|
|
|
|
2025-09-08 20:28:12 +02:00
|
|
|
#include "muendliche-nachpruefung.typ"
|
2025-08-25 09:16:07 +02:00
|
|
|
|
|
|
|
#doc
|
|
|
|
]
|
|
|
|
|