Wie kann man mit xsim
dem Standardstil den Abstand zwischen der Übung und der Anzahl der Punkte anpassen?
Wenn ich die horizontalen Ränder meines Dokuments manuell ändere (mit geometry
), dann liegt die Punktanzahl tatsächlich außerhalb des Druckbereichs. Wie kann ich das beheben?
MWE:
\documentclass{article}
\usepackage{xsim}
\usepackage{geometry}
\geometry{hmargin=1in}
\begin{document}
\begin{exercise}[points = {10}]
Write.
\end{exercise}
\end{document}
gibt:
Antwort1
Der Standardstil ist wie folgt definiert:
\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}%
}%
}%
}
{}
Wie Sie sehen, ist der Übungstitel als gesetzt \subsection*
. Wenn Punkte angegeben sind, werden sie mit einem gesetzt \marginpar
. Dies bedeutet, dass die Position der Punkte durch die Abmessungen des Dokuments (Textbreite, Randparsep, …) gesteuert wird. Meiner Meinung nach besteht Ihr Problem eher darin, dass es \rule{1.2cm}{1pt}
für Ihren Rand zu breit ist oder dass die Punkte hinter statt unter der Linie geschrieben sind.
Eine Möglichkeit:
\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}