xsim でマージン内のポイントのマージンを調整する

xsim でマージン内のポイントのマージンを調整する

ではxsim、デフォルトのスタイルを使用して、演習とポイント数の間のスペースをどのように調整できますか?

ドキュメントの水平余白を手動で変更すると ( を使用geometry)、ポイント数が実際には印刷領域外になります。これを修正するにはどうすればよいでしょうか?

MWE:

\documentclass{article}
\usepackage{xsim}
\usepackage{geometry}
\geometry{hmargin=1in}
\begin{document}
    \begin{exercise}[points = {10}]
        Write.
    \end{exercise}
\end{document}

与える:

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

答え1

デフォルトのスタイルは次のように定義されます。

\DeclareExerciseEnvironmentTemplate{default}{%
  \subsection*
    {%
      \XSIMmixedcase{\GetExerciseName}\nobreakspace
      \GetExerciseProperty{counter}%
      \IfInsideSolutionF
        {%
          \GetExercisePropertyT{subtitle}
            { {\normalfont\itshape\PropertyValue}}%
        }%
    }
  \GetExercisePropertyT{points}
    {%
      \marginpar
        {%
          \IfInsideSolutionF{\rule{1.2cm}{1pt}\slash}%
          \printgoal{\PropertyValue}
          \GetExercisePropertyT{bonus-points}{~(+\printgoal{\PropertyValue})}%
          ~\XSIMtranslate {point-abbr}%
        }%
    }%
}
{}

ご覧のとおり、演習のタイトルは としてタイプセットされています\subsection*。ポイントが指定されている場合は、 でタイプセットされます\marginpar。つまり、ポイントの位置はドキュメントの寸法 (textwidth、marginparsep、…) によって制御されます。私の意見では、問題はむしろ が\rule{1.2cm}{1pt}マージンに対して広すぎるか、ポイントがルールの下ではなく後ろに書かれていることです。

一つの可能​​性:

\documentclass{article}

\usepackage{geometry}
\geometry{
  hmargin = 1in ,
  showframe
}

\usepackage{xsim}
\xsimsetup{
  exercise/template = custom
}


\DeclareExerciseEnvironmentTemplate{custom}{%
  \subsection*
    {%
      \XSIMmixedcase{\GetExerciseName}\nobreakspace
      \GetExerciseProperty{counter}%
      \IfInsideSolutionF
        {%
          \GetExercisePropertyT{subtitle}
            { {\normalfont\itshape\PropertyValue}}%
        }%
    }
  \GetExercisePropertyT{points}
    {%
      \marginpar
        {%
          \IfInsideSolutionF{\rule{1.2cm}{1pt}/\\}% <<<< NEW
          \printgoal{\PropertyValue}
          \GetExercisePropertyT{bonus-points}{~(+\printgoal{\PropertyValue})}%
          ~\XSIMtranslate {point-abbr}%
        }%
    }%
}
{}



\begin{document}

\begin{exercise}[points = 10]
  Write.
\end{exercise}

\end{document}

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

関連情報