我正在写一些讲义,想在其中添加一些练习提示。为此,我使用了包xsim
并为 创建一个新环境hint
。
有时我还需要调用一些注释某些行的函数。
但是当我comment
在我的hint
环境中使用环境时,我收到一条错误消息:Argument of \xComment has an extra }. <inserted text> \par l.57 \end{hint} Runaway argument?
我遇到了同样的问题,使用默认exercise
环境,但没有可用的错误消息。 (所以我不认为问题出在我的环境定义上)。
以下是 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
我该如何解决这个问题?