Ich schreibe gerade ein Vorlesungsskript, in das ich einige Hinweise für Übungen einbauen möchte. Dazu verwende ich das Paket xsim
und erstelle eine neue Umgebung für hint
.
Und manchmal muss ich auch einige Funktionen aufrufen, die einige Zeilen kommentieren.
Aber wenn ich eine comment
Umgebung innerhalb meiner hint
Umgebung verwende, erhalte ich eine Fehlermeldung: Argument of \xComment has an extra }. <inserted text> \par l.57 \end{hint} Runaway argument?
Ich habe das gleiche Problem, als ich die Standardumgebung verwendet habe exercise
, aber ohne brauchbare Fehlermeldung. (Ich glaube also nicht, dass das Problem von meiner Umgebungsdefinition herrührt.)
Hier ist ein MWE:
\documentclass{article}
\usepackage{comment}
\usepackage{xsim}
\DeclareExerciseProperty{hint}
\ExplSyntaxOn
\bool_new:N \l_xsim_hint_bool
\keys_define:nn {xsim}
{ hint/print .bool_set:N = \l_xsim_hint_bool }
\NewDocumentEnvironment{hint}{+b}
{%
\tl_set:NV \ExerciseType \g_xsim_exercise_type_tl
\tl_set:NV \ExerciseID \g_xsim_exercise_id_tl
\SetExerciseProperty {hint} {#1}
\bool_if:NT \l_xsim_hint_bool
{
\par\medskip
\underline{\itshape Hint \nobreakspace \GetExerciseProperty{counter}}\,:\nobreakspace
{#1}
}
}
{}
\ExplSyntaxOff
%% description list for hints
\newcommand\printhints{%
\begin{description}
\ForEachUsedExerciseByType{%
\GetExercisePropertyT{hint}
{\item[Hint ##3]####1}%
}%
\end{description}
}
%% Declare to print hint
\xsimsetup{
hint/print = true
}
\begin{document}
\begin{comment}
no problem
\end{comment}
\begin{hint}
Let us remark that $a+b=0$.
\begin{comment}
problem
\end{comment}
\end{hint}
% \begin{exercise}
% Let us remark that $a+b=0$.
% \begin{comment}
% problem
% \end{comment}
% \end{exercise}
\end{document}
%EoF
Wie könnte ich dieses Problem lösen?