[WIP] Verbesserte Punktetabellen
Seit Version `3.13` ist es ja bequem möglich, Punktetabellen für Examen zu erstellen. Leider ist diese Funktionalität noch sehr eingeschränkt, da lediglich `\thetask{}` sowie die Gesamtpunktzahl einer Aufgabe gespeichert werden, und Subtasks gar nicht berücksichtigt werden.
Deswegen hab ich mich mal daran gesetzt, diese Funktionalität deutlich zu erweitern. Bei meiner Implementierung werden die folgenden Eigenschaften jedes Tasks gespeichert:
- Titel
- `\thetask{}`
- `\value{task}`
- `\taskformat{}`
- credit
- points
- pointsauto (boolean)
- solution (boolean)
- subtasks
Für Subtasks wird jeweils bis auf Solution und Pointsauto auch alles gespeichert. Dadurch sind neben den Standarttabellen auch komplexere Punktetabellen mit mehreren Aufgabengruppen und gleichen Aufgabennummern möglich, wie zum Beispiel:

```latex
% Relevante Zeile im Aux-File (Testexample.aux)
\ptxcd@LoadTaskProperties {1={title={Normaler Titel},thetask={1},taskformat={G1{}},credit={},pointsauto={false},points={1},solution={false},},2={title={\texorpdfstring {\textmd {Fancy} Title \texttt {Font} \Huge Style\underline {s}}{Fancy Title Font Styles}},thetask={2},taskformat={G2{}},credit={},pointsauto={false},points={3},solution={false},},3={subtasks={1={title={\texorpdfstring {\Lenny }{( ͡° ͜ʖ ͡°)}},credit={},points={3},thesubtask={a)},subtaskformat={a)\hskip .5em\relax },},2={title={ein Subtasktitel},credit={},points={3},thesubtask={b)},subtaskformat={b)\hskip .5em\relax },},},title={Task mit Subtasks},thetask={3},taskformat={G3{}},credit={},pointsauto={true},points={6},solution={false},},4={title={Ganze Zahlen I},thetask={1},taskformat={H1{}},credit={},pointsauto={false},points={1},solution={false},},5={subtasks={1={title={Ganzzahladdition auf \texorpdfstring {$\mathbb {N}$}{N}},credit={},points={2},thesubtask={a)},subtaskformat={a)\hskip .5em\relax },},2={title={\texttt {Endspurt}},credit={},points={4},thesubtask={b)},subtaskformat={b)\hskip .5em\relax },},},title={Ganze Zahlen II},thetask={2},taskformat={H2{}},credit={},pointsauto={true},points={6},solution={false},},}
```
[Improved-Grading-Tables-example.zip](https://github.com/tudace/tuda_latex_templates/files/6579791/Improved-Grading-Tables-example.zip)
Die Implementierung ist allerdings noch nicht ganz fertig:
- Da die Implementierung ursprünglich für meine [Erweiterung der tudaexercise](https://github.com/Rdeisenroth/Rubos-TUDA-Template) gedacht war, sind die Variablennamen noch nicht angepasst.
- Commands wie `\getTaskProperty{}` sind nicht Expandable, das ist vorallem für das rechnen mit Punktzahlen lästig
- Aktuell wird `\value{task}`(bzw `\value{subtask}`) als eindeutige ID jeder Übung verwendet, d.h. sollte der counter zurückgesetzt werden, werden auch die Properties überschrieben
Würde mich auf jeden Fall über ne Rückmeldung freuen :D
合并状态:未合并 关闭于 2025-01-19 5 条评论