では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}