练习包:对齐练习标题、练习、答案标题和答案

练习包:对齐练习标题、练习、答案标题和答案

我正在使用练习包排版练习。我希望我的自定义练习标题、自定义答案标题以及练习和答案正文都左对齐。它对于答案环境很有效,但对于练习部分则不太适用。

\documentclass[a4paper]{article}
\usepackage{exercise}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{amsmath}
\usepackage{amsthm} 
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=2cm,right=2.5cm,top=2.5cm,bottom=2cm]{geometry}
\numberwithin{equation}{Exercise}


\renewcommand{\ExerciseHeader}{\par\noindent\textsf{\textbf{
        Aufgabe \ExerciseHeaderNB} (\ExerciseHeaderTitle)
}\smallskip\newline}
%\ExerciseHeaderDifficulty
\renewcommand{\AnswerHeader}{\flushright \textbf{\textsf{Lösung
            \ExerciseHeaderNB}         }\ExerciseHeaderOrigin\smallskip\newline}

\renewcommand{\ExerciseHeaderTitle}{\ExerciseTitle}
\setlength{\ExerciseSkipBefore}{0\baselineskip}

\begin{document}

\begin{Exercise}[label = wdsw, title = Widerstandswürfel , difficulty =      2]
Gegeben ist ein Würfel, wobei jede der Kanten einen Widerstand von $R = 1~\mathrm{\Omega}$ hat.\\
Wie groß ist der Widerstand entlang einer Raumdiagonale?
\end{Exercise}
\begin{Answer}[ref=wdsw]
Wir wollen den Widerstand zwischen den Punkten $X$ und $Y$ bestimmen,   also entlang der Raumdiagonale (siehe Abb. \ref{fig:wdsws1}). Weil die Raumdiagonale eine Symmetrieachse ist, sollte das Problem symmetrisch sein, und deswegen eine recht einfache Lösung haben.\\
\end{Answer}

答案1

这个答案分为两部分:

  • 重新定义宏\ExerciseHeader和之后\AnswerHeader,标题的缩进等于文本的通常缩进。您可以使用以下命令将其设置为零:

    \setlength\parindent{0pt}
    
  • 在包的代码中,主体开头exercise有一个硬编码。要中和它,您可以重新定义:\hspace{.66em}Exercise\AtBeginExercise

    \renewcommand{\AtBeginExercise}{\hspace{-0.66em}}
    

因此,您关于样式的完整标题部分Exercise可能Answer看起来像这样:

\setlength\parindent{0pt}

\renewcommand{\DifficultyMarker}{}
\renewcommand{\ExerciseName}{Aufgabe}
\renewcommand{\AnswerName}{Lösung}

\renewcommand{\ExerciseHeader}{\large\textbf{\ExerciseName~\ExerciseHeaderNB} (\ExerciseTitle)\smallskip\newline}
\renewcommand{\AtBeginExercise}{\hspace{-0.66em}}

\renewcommand{\AnswerHeader}{\large\textbf{\AnswerName~\ExerciseHeaderNB}\smallskip\newline}

\setlength\AnswerSkipBefore{1em}

在此处输入图片描述


更新:你可能是对的,练习标题前的空间仍然太多,而且我不确定练习正文前面的空间是否足够。因此,通过将“Aufgabe”更改为“Hausaufgabe”,将“Gegeben ist ein Würfel”更改为“Es ist ein Würfel gegeben”(在左侧有直线,以便更容易比较缩进),我发现这种配置让我满意:

\setlength\parindent{0pt}

\renewcommand{\DifficultyMarker}{}
\renewcommand{\ExerciseName}{Hausaufgabe}
\renewcommand{\AnswerName}{Lösung}

\newcommand{\AtBeginExerciseHeader}{\hspace{-0.2pt}}
\renewcommand{\ExerciseHeader}{\AtBeginExerciseHeader\large\textbf{\ExerciseName~\ExerciseHeaderNB} (\ExerciseTitle)\newline}
\renewcommand{\AtBeginExercise}{\hspace{-8.7pt}}

\renewcommand{\AnswerHeader}{\large\textbf{\AnswerName~\ExerciseHeaderNB}\smallskip\newline}

\setlength\AnswerSkipBefore{1em}

在此处输入图片描述

相关内容