Я пишу несколько лекционных заметок, в которые хочу добавить несколько подсказок для упражнений. Для этого я использую пакет 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
Как я могу решить эту проблему?