Anpassen der Ränder für Punkte im Rand mit xsim

Anpassen der Ränder für Punkte im Rand mit xsim

Wie kann man mit xsimdem 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:

Bildbeschreibung hier eingeben

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}

Bildbeschreibung hier eingeben

verwandte Informationen