Ich habe heute auf texlive 2021 aktualisiert und will die Änderungen an xsim (mein Stand war bisher noch auf 2019) in eine Vorlage einarbeiten. Dabei tritt das Problem auf, dass einmal "fertige" Aufgaben bei weiteren Durchläufen nicht geändert werden können, ohne die erzeugten Dateien zu löschen. Konkret an folgendem Minimalbeispiel:

\documentclass{article}
\usepackage{xsim}

\DeclareExerciseCollection{test}

\xsimsetup{
  collect
}

\collectexercises{test}
\begin{exercise}[points=1]
Aufgabe 1.
\end{exercise}

\begin{exercise}[points=2]
Aufgabe 2.
\end{exercise}


\begin{exercise}[points=3]
Aufgabe 3. %Mehr Aufgabentext.
\end{exercise}

%\begin{exercise}[points=4]
%Aufgabe 4.
%\end{exercise}

\collectexercisesstop{test}

\begin{document}

\gradingtable

\printcollection{test}

\end{document}

Nach zwei Durchläufen erhalte ich ein Dokument mit 3 Aufgaben und ausgefüllter Punktetabelle. Will ich anschließend aber in Aufgabe 3 zusätzlich noch "Mehr Aufgabentext" haben, wird dieser bei einem weiteren (bzw. beliebig vielen) Durchläufen nicht angezeigt. Auch Änderungen von Punkten werden nicht berücksichtigt. Auch wenn ich eine weitere, neue Aufgabe hinzufüge, wird diese zwar nach zwei Durchläufen aufgeführt und in der Punktetabelle berücksichtigt, Änderungen an den anderen Aufgaben werden aber auch dann nicht übernommen. Auch bei der Verwendung von [use-aux] [clear-aux], [no-files], [use-files] als Paketoption in allen möglichen sinnvollen Kombination bleibt dieses Verhalten bestehen.

Löschen der .aux-Datei führt dann letztendlich dazu, dass alles neu und mit Änderungen korrekt übernommen wird, das will ich aber wenn möglich nicht bei jeder Änderung machen müssen. Übersehe ich eine Einstellung oder ist das ein (bekanntes) Problem?

Edit: vorgreifend auf ein anderes Problem was ich gerade noch habe und welches möglicherweise hier mit zusammenhängt: ich werde im Anschluss wie hier die Punkte als einzelne Summanden anzeigen lassen. Wenn ich nun die Collection hinter \begin{document} setze, kompiliere und anschließend einen weiteren Summanden bei einer Aufgabe einfüge, dann wird zwar die Punktsumme korrekt neu berechnet, der eingefügte Summand aber nicht dargestellt.

\documentclass{article}
\usepackage{xsim}

\DeclareExerciseCollection{test}

\xsimsetup{
  collect
}

\DeclareExerciseProperty{subpoints}
\DeclareExercisePropertyAlias{subpoints}{points}

\DeclareExerciseEnvironmentTemplate{custom}{%
  \subsection*{\XSIMmixedcase{\GetExerciseName}~\GetExerciseProperty{counter}%
    \GetExercisePropertyT{points}{%
      \quad
      \textnormal{%
        \XSIMifeqF{\GetExerciseProperty{subpoints}}{\PropertyValue}
          {$\GetExerciseProperty{subpoints} ={}$}%
        $\printgoal{\PropertyValue}$%
      }%
    }%
  }%
}{\par}

\xsimsetup{exercise/template=custom}

\begin{document}

\collectexercises{test}
\begin{exercise}[points=1+2+3]
Aufgabe 1. 
\end{exercise}

\begin{exercise}[points=2]
Aufgabe 2.
\end{exercise}

\begin{exercise}[points=3]
Aufgabe 3. Mehr Aufgabentext. Und noch mehr Text.
\end{exercise}

\gradingtable

\printcollection{test}

\end{document}

Dieses Beispiel liefert mir 3 Aufgaben mit einer Gesamtpunktzahl von 11. Wenn ich nun z.B. in Aufgabe einen weiteren Summanden "+1" einfüge, wird die neue Punktsumme korrekt als 7 bzw. 12 berechnet, aber der zusätzliche Summand wird nicht angezeigt.

Wenn das nichts mit dem eigentlichen Problem zu tun hat, kann ich das gerne wieder entfernen, da es sich um fehlerhafte Aktualisierung des Aufgabentextes handelt, habe ich es aber vorerst einmal hier hinzugefügt.

Edit zu Ulrikes erstem Kommentar: Verschieben der Collection hinter \begin{document} wie von Ulrike vorgeschlagen hat unerwünschte Auswirkungen auf die Punktetabelle:

\documentclass{article}
\usepackage{xsim}

\DeclareExerciseCollection{test}

\xsimsetup{
  collect
}

\begin{document}

\collectexercises{test}
\begin{exercise}[points=1]
Aufgabe 1.
\end{exercise}

\begin{exercise}[points=2]
Aufgabe 2.
\end{exercise}


\begin{exercise}[points=3]
Aufgabe 3. %Mehr Aufgabentext.
\end{exercise}

%\begin{exercise}[points=4]
%Aufgabe 4.
%\end{exercise}

\collectexercisesstop{test}

\gradingtable

\printcollection{test}

\end{document}

gefragt 09 Jul, 17:20

Hirshy's gravatar image

Hirshy
7112843
Akzeptiert-Rate: 0%

bearbeitet 09 Jul, 21:18

verschiebe die exercise hinter \begin{document}.

(09 Jul, 19:11) Ulrike Fischer

@Ulrike Fischer habe ich gerade versucht, das hat aber leider unerwünschte Auswirkungen auf die Punktetabelle, in welcher die einzelnen Aufgaben dann nicht mehr angezeigt werden.

(09 Jul, 21:02) Hirshy

@Ulrike Fischer ich habe deinen Vorschlag zur einfacheren Ansicht oben einmal umgesetzt. Außerdem habe ich gerade ein weiteres Problem ergänzt, welches möglicherweise mit meiner Fragestellung zusammenhängt (falls nicht, kann ich das natürlich wieder entfernen und anschließend als neue Frage einstellen)

(09 Jul, 21:19) Hirshy
Das erste sein, diese Frage zu beantworten!
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×16

gestellte Frage: 09 Jul, 17:20

Frage wurde gesehen: 273 Mal

zuletzt geändert: 09 Jul, 21:19