-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Verbesserte Punktetabellen #316
base: main
Are you sure you want to change the base?
Conversation
Ich gucks mir an, grundsätzlich hatte ich mich damals bewusst dagegen entschieden die subtasks einzeln auszugeben, weil der Mehrwert einer Übersicht ja meistens ist, dass sie übersichtlich bleibt. Aber ich gucks mir durch und weiß das Engagement definitiv zu schätzen. Ich werde wahrscheinlich aber erst zum Wochenende dazu kommen. |
Ich habs durchgesehen und jetzt auch noch etwas drüber nachgedacht, und irgendwie bin ich mir nicht ganz sicher, ob man pauschal alle Werte speichern sollte, so oder so wäre es sinnvoller bei einer property-list zu bleiben und die zwischenzuspeichern, und dort nur die einträge einzutragen, die tatsächlich inhalt haben. Ich würde mal die Struktur von meiner Seite anlegen, weil ich glaube das geht schneller als den Vorschlag zu reduzieren. Wir können dann gerne mal darüber sprechen, wieso ich die Implementierung so für umständlich halte. |
bb78061
to
530b3e3
Compare
Ich weiß… ist ewig her … irgendwie gab es keine Zeit dafür und da das ja eine Feature Ergänzung ist, die nicht unter Pflege fällt, hab ich einfach zu wenig Freizeit. Es ist jetzt so, dass |
Alles gut, ich hab den PR damals mit 4 Monaten LaTeX-Erfahrung gemacht um expl3 zu lernen, heute würde ich das definitiv auch anders lösen xD Ich denke auch nicht dass man die erweiterten Metadaten der Tasks/Subtasks unbedingt braucht für den standart-usecase.
|
Ah gut -> Es fehlt aktuell wenn ich das richtig überblicke nur, dass der iterator über alle subtasks mit läuft. Da muss ich intern noch zwei kleinigkeiten ändern, aber das kommt dann im nächsten release auch. Ein Bugfix soll nur heute noch raus, da schaff ich das gerade nicht vorher. |
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:
\thetask{}
\value{task}
\taskformat{}
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:
% 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
Die Implementierung ist allerdings noch nicht ganz fertig:
\getTaskProperty{}
sind nicht Expandable, das ist vorallem für das rechnen mit Punktzahlen lästig\value{task}
(bzw\value{subtask}
) als eindeutige ID jeder Übung verwendet, d.h. sollte der counter zurückgesetzt werden, werden auch die Properties überschriebenWürde mich auf jeden Fall über ne Rückmeldung freuen :D