XSIMでエクササイズカウンターをリセットする方法

XSIMでエクササイズカウンターをリセットする方法

同じ演習タイプ内で演習カウンターをリセットするにはどうすればよいですか。質問バンクを作成し、コレクション オプションを使用したいので、異なる演習タイプを作成したくありません。MWE と必要な出力を添付しました。私は初心者ですが、誰かが XSIM を使用して私のコードを改善してくれるなら、喜んで応じます。

私のMWE

\documentclass[a4paper,12pt]{article}
\usepackage{xsim}
\usepackage{tasks}


\settasks{
label = (\theexercise\arabic*) ,
label-width = 5ex,
item-indent=6ex
}

\DeclareExerciseType{question}{
  exercise-env = question ,
  solution-env = answer ,
  exercise-name = Question ,
  solution-name = Answer ,
  exercise-template = item ,
  solution-template = solution ,
%   exercise/the-counter = \arabic{exercise}. ,
  counter = exercise, % shares a counter with the `exercise' type
}

\DeclareExerciseEnvironmentTemplate{item}
  {\item[\GetExerciseProperty{counter}]
  \GetExercisePropertyT{points}
    {%
    \marginpar
      {%
      \par\vspace{2.5ex plus .2ex}
      [\printgoal{\PropertyValue}]%
      }%
    }%
  }%
  {}

     
  \DeclareExerciseEnvironmentTemplate{solution}
  {\item[\GetExerciseProperty{counter}]}
  {}


\newenvironment{questions}
   {\itemize}
   {\enditemize}

   \newenvironment{answers}
   {\itemize}
   {\enditemize}

\usepackage{lipsum}
    


\xsimsetup{
    exercise/the-counter = \arabic{exercise}.,
    % exercise/within = section,
    % answer/print = true,
}

\begin{document}

\section*{Section A}

\begin{questions}

  \begin{question}[points=4]
    \lipsum[66]
  \end{question}
  \begin{answer}
    \lipsum[66]
  \end{answer}

  \begin{question}
    Answer the following questions.
    \begin{tasks}
      \task \lipsum[75]
      \task question.
    \end{tasks}
  \end{question}

  \begin{question}
    \lipsum[66]
  \end{question}
  \begin{answer}
    \lipsum[75]
  \end{answer}



\end{questions}

\section*{Section B}


\begin{questions}

  \begin{question}[points=4]
    \lipsum[66]
  \end{question}
  \begin{answer}
    \lipsum[66]
  \end{answer}

  \begin{question}
    Answer the following questions.
    \begin{tasks}
      \task \lipsum[75]
      \task question.
    \end{tasks}
  \end{question}

  \begin{question}
    \lipsum[66]
  \end{question}
  \begin{answer}
    \lipsum[75]
  \end{answer}


\end{questions}



% \begin{answers}
%   \item[] \printsolutions
% \end{answers}

\end{document}

必要な出力:

ここに画像の説明を入力してください

答え1

ユーザーカボハコメントで解決策への正しい方向性を示しました。

within=sectionに設定を追加した後は、先頭に数字セクションが表示されないようにコマンド\DeclareExerciseTypeを再定義するだけです。これは、\sectionタイトルパッケージは写真の通りです。

\sectionこのソリューションでは、スター付きバージョンではなく、 コマンドを使用します\section*

したがって、このコードでは:

\documentclass[a4paper,12pt]{article}
\usepackage{xsim}
\usepackage{tasks}

\settasks{
label = (\theexercise\arabic*) ,
label-width = 5ex,
item-indent=6ex
}

\DeclareExerciseType{question}{
  exercise-env = question ,
  solution-env = answer ,
  exercise-name = Question ,
  solution-name = Answer ,
  exercise-template = item ,
  solution-template = solution ,
%   exercise/the-counter = \arabic{exercise}. ,
  counter = exercise, % shares a counter with the `exercise' type
  within=section %% ADDED via comment by "cabohah"
}

\DeclareExerciseEnvironmentTemplate{item}
  {\item[\GetExerciseProperty{counter}]
  \GetExercisePropertyT{points}
    {%
    \marginpar
      {%
      \par\vspace{2.5ex plus .2ex}
      [\printgoal{\PropertyValue}]%
      }%
    }%
  }%
  {}

     
  \DeclareExerciseEnvironmentTemplate{solution}
  {\item[\GetExerciseProperty{counter}]}
  {}


\newenvironment{questions}
   {\itemize}
   {\enditemize}

   \newenvironment{answers}
   {\itemize}
   {\enditemize}

\usepackage{lipsum}
    
\xsimsetup{
    exercise/the-counter = \arabic{exercise}.,
    %exercise/within = section,
    % answer/print = true,
}

% Modifying the \section command
\usepackage{titlesec}
\titleformat{\section}[hang]%
{}%
{}%
{0pt}%
{\Large\textbf}%

\begin{document}

\section{Section A}

\begin{questions}

  \begin{question}[points=4]
    \lipsum[66]
  \end{question}
  \begin{answer}
    \lipsum[66]
  \end{answer}

  \begin{question}
    Answer the following questions.
    \begin{tasks}
      \task \lipsum[75]
      \task question.
    \end{tasks}
  \end{question}

  \begin{question}
    \lipsum[66]
  \end{question}
  \begin{answer}
    \lipsum[75]
  \end{answer}

\end{questions}


\section{Section B}

\begin{questions}

  \begin{question}[points=4]
    \lipsum[66]
  \end{question}
  \begin{answer}
    \lipsum[66]
  \end{answer}

  \begin{question}
    Answer the following questions.
    \begin{tasks}
      \task \lipsum[75]
      \task question.
    \end{tasks}
  \end{question}

  \begin{question}
    \lipsum[66]
  \end{question}
  \begin{answer}
    \lipsum[75]
  \end{answer}

\end{questions}

\end{document}

次の結果が得られます:

ここに画像の説明を入力してください

関連情報