### Update Februar 2021 ###
Meine ursprüngliche Antwort hat mit einem aktuellen `xsim` eigentlich keine Gültigkeit mehr. Hauptsächlich gilt sie nicht mehr, weil „goal“-Eigenschaften inzwischen grundsätzlich berechnet werden, um auch Punkte, die mit `\addpoints` vergeben werden korrekt zur Summe aufzuaddieren.
Mit einem kleinen Umweg kann man die Eingabe bei `points=...` allerdings wieder erhalten: indem man eine zweite Eigenschaft definiert, die keine „goal“-Eigenschaft ist, und die dann ein Alias der `points` wird:
\DeclareExerciseProperty{subpoints}
\DeclareExercisePropertyAlias{subpoints}{points}
Dieser Ansatz ist allerdings nicht mit oben erwähnten `\addpoints` kombinierbar.
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{xsim}
\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}
\begin{exercise}[points=2+2+2]
Diese Aufgabe soll drei Unteraufgaben haben, welche jeweils 2 Punkte bringen.
\end{exercise}
\begin{exercise}[points=4]
Diese Aufgabe bringt nur 4 Punkte.
\end{exercise}
\end{document}
[![alt text][1]][1]
### ursprüngliche Antwort ###
Das machst Du quasi absichtlich, indem Du
\GetExercisePropertyT{points}{ %
(\printgoal{\PropertyValue}%
\IfExerciseGoalSingularTF{points}
{ \XSIMtranslate{point}}
{ \XSIMtranslate{points}}%
)}%
verwendest. `\printgoal` verwendet intern nämlich `\ExerciseGoalValuePrint` und das berechnet den Wert.
Wenn Du statt dessen einfach `\printgoal` weglässt, wird die Eingabe einfach so verwendet:
\GetExercisePropertyT{points}{ %
($\PropertyValue$%
\IfExerciseGoalSingularTF{points}
{\,\XSIMtranslate{point}}
{\,\XSIMtranslate{points}}%
)}%
Mit
$\PropertyValue = \text{\points{\PropertyValue}}$
bekommst Du auch die Addition (`\text` benötigt `amsmath` oder `amstext`).
----------
Übrigens, Deine ursprüngliche Variante bekommst Du auch, indem Du einfach `\points{\PropertyValue}` verwendest. Die Definitionen von `\printgoal` und `\points` lauten nämlich:
\NewDocumentCommand \printgoal {m} {\ExerciseGoalValuePrint{#1}{}{}}
\NewDocumentCommand \points {m} {%
\ExerciseGoalValuePrint{#1}{\,\XSIMtranslate{point}}{\,\XSIMtranslate{points}}%
}
Wenn nur gelegentlich Punkte durch `+` getrennt eingegeben werden, dann kann man auch darauf testen. Das richtige Werkzeug ist schnell definiert:
\ExplSyntaxOn
\NewDocumentCommand \XSIMifinstrTF {mmmm}
{ \tl_if_in:onTF {#1} {#2} {#3} {#4} }
\ExplSyntaxOff
Dann kann man das so einsetzen:
\GetExercisePropertyT{points}
{%
\XSIMifinstrTF{\PropertyValue}{+}
{$\PropertyValue = {}$}{}%
\points{\PropertyValue}%
}%}%
[1]: https://texwelt.de/upfiles/test_511.png