
Ich möchte --- mithilfe des exercise
Pakets --- Listen mit Übungen unter Verwendung der Umgebung erstellen ExerciseList
. Die Ausgabe soll wie im folgenden Beispiel aussehen.
Die Übungen sollen wie dargestellt eingerückt werden, mit der Nummer nach links, wie in einer gewöhnlichen Listenumgebung. Ist das innerhalb des exercise
Pakets realisierbar?
BEARBEITEN:Um @cfr zu gefallen, veröffentliche ich hiermit meine eigenen Versuche, dieses Problem zu lösen. Der Code stürzt schmerzhaft ab:
\documentclass[openright,book]{memoir}
%Dansk sprog:
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\usepackage[T1]{fontenc}
\renewcommand{\danishhyphenmins}{22}
%\OnehalfSpacing %hvis der oenskes halvanden linjeafstand
%Pakker
\usepackage[noDcommand]{kpfonts} % the kpfonts font
\usepackage{%
amsmath,graphicx,enumerate,amstext,geometry,array,xfrac,bm,mathtools,siunitx,
%tikz, pgfplots
etoolbox, xparse, %til subexc
fixltx2e, %fikser et par bugs i LaTeX-kernen
microtype, %smaa fiks, der goer tekst lettere at laese
varioref,
}
\usepackage{exercise}
\renewcommand\ExerciseListName{} % I don't want any word like "exercise" anywhere
\renewcommand\ExerciseHeaderTitle{\Exercisetitle}
\renewcommand{\ExerciseListHeader}{\ExerciseHeaderDifficulty%
\item[\ExerciseHeaderNB]\ExerciseHeaderTitle\ %
\ExerciseHeaderOrigin\ignorespaces}
\renewenvironment{ExerciseList}{\enumerate[1]\beginExerciseListEnv}{\endExerciseListEnv\endenumerate}
\begin{document}
\begin{ExerciseList}
\Exercise What is this?
\Exercise What is that
\Question What in the world?
\subQuestion What is this?
\ExeText We define $x = y$.
\end{ExerciseList}
\end{document}
Antwort1
Da in den Kommentaren eine exsheets
Lösung für ein solches Layout begrüßt wurde, ist sie hier ... die Verwendung unterscheidet sich jedoch erheblich vom exercise
Paket ...
Die Lösung besteht aus mehreren Schritten:
addmargin
Umschließen Sie die Umgebung von KOMA-Scriptquestion
mithilfe vonetoolbox
's\AtBeginEnvironment
und\AtEndEnvironment
. Dadurch werden die Fragentexte um den angegebenen Rand eingerückt (3em
im Beispiel unten). Dieaddmargin
Umgebung wird vomscrextend
Paket bereitgestellt und kann daher auch mit anderen Klassen verwendet werden.Deklarieren Sie eine neue Überschrifteninstanz, die von
margin-nr
der imexsheets
Handbuch beschriebenen Instanz inspiriert ist und denselben Rand verwendet, der von deraddmargin
Umgebung festgelegt wurde (3em
im Beispiel unten), um die Fragennummer ausgerichtet am Textrand zu platzieren.Richten Sie
exsheets
die Verwendung der neuen Instanz ein und fügen Sie einige Optionen für die Abschnittsnummerierung hinzu.
So sieht das Dokument aus dem folgenden Code aus:
\documentclass{article}
\usepackage{scrextend}% not needed with a KOMA-Script class, provides the
% `addmargin' environment
\usepackage[load-headings]{exsheets}
\DeclareInstance{exsheets-heading}{mylist}{default}{
runin = true ,
attach = {
main[l,vc]number[l,vc](-3em,0pt) ; % 3em = indent of question body
main[r,vc]points[l,vc](\linewidth+\marginparsep,0pt)
}
}
\SetupExSheets{
headings = mylist , % use the new headings instance
headings-format = \normalfont ,
counter-format = se.qu ,
counter-within = section
}
\usepackage{etoolbox}
% 3em = indent of question body :
\AtBeginEnvironment{question}{\addmargin[3em]{0em}}
\AtEndEnvironment{question}{\endaddmargin}
\usepackage{lipsum}
\begin{document}
\setcounter{section}{10}
\section*{Exercises}
\subsection*{Exercises to section \thesection}
\begin{question}
\lipsum[4]
\end{question}
\begin{question}
\lipsum[6]
\end{question}
\begin{question}
\lipsum[10]
\end{question}
\end{document}