를 사용 하면 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, …)에 의해 제어된다는 것을 의미합니다. IMHO 귀하의 문제는 오히려 \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}