Ich habe eine sehr einfache benutzerdefinierte Umgebung für Hausaufgaben definiert, die im Wesentlichen nur aus Folgendem besteht, enumerate
jedoch ohne Einrückungen:
\newcounter{hwprob}
\newenvironment{hwprob}{\refstepcounter{hwprob} \textbf{\thehwprob.} ~ }{}
Wenn ich enumerate
darin eine tatsächliche Umgebung öffne hwprob
, passiert Folgendes:
\begin{hwprob}
\begin{enumerate}
\item Some text.
\item Some other text.
\end{enumerate}
\end{hwprob}
Ich bin mir nicht sicher, warum der erste Punkt 1. nicht in der gleichen Zeile beginnt wie1.Ich habe versucht, die Tilde zu entfernen, aber ohne Erfolg. Was mich verwirrt, ist, dass ich weiß, dass bei Verwendung enumerate
innerhalb der proof
Umgebung das erste Element in derselben Zeile steht wieNachweisen., mit der richtigen Einrückung und allem.
Wie kann ich das Problem beheben? Ist dies eine Folge meiner Definition hwprob
oder liegt es an der Natur von enumerate
?
Antwort1
Hier ist der „Wie“-Teil: Definieren Sie es hwprob
als Listenumgebung und fügen Sie automatisch \item
am Anfang ein ein hwprob
.
\documentclass{article}
\usepackage{enumitem}
\newlist{hwprob}{enumerate}{1}
\setlist[hwprob]{label=\textbf{\arabic*.}, first*=\item}
\begin{document}
\begin{hwprob}
\begin{enumerate}
\item Some text.
\item Some other text.
\end{enumerate}
\end{hwprob}
\end{document}
Was den „Warum“-Teil angeht, vermute ich, dass es etwas damit zu tun hat \trivlist
(vielleicht mit \parshape
), der gemeinsamen Basis, die sowohl von Listen- als auch von Theoremumgebungen verwendet wird.
Antwort2
Die Formatierung, die Sie erreichen möchten (das erste Element der enumerate
Liste soll in der aktuellen Zeile beginnen und nicht nach einem Zeilenumbruch), erfolgt, wenn die Umgebung innerhalb einer oder enumerate
mehrerer LaTeX- Umgebungen gestartet wird.list
trivlist
Um Ihr Formatierungsziel zu erreichen, schlage ich vor, dass Sie das Paket enumitem laden und dessen Makros verwenden, \newlist
um \setlist
eine maßgeschneiderte, enumerate-ähnliche Listenumgebung namens zu erstellen hwprob
.
\documentclass{article}
\usepackage{enumitem}
\newlist{hwprob}{enumerate}{1}
\setlist[hwprob,1]{label=\bfseries\arabic*.,left=0pt}
\begin{document}
\begin{hwprob}
\item
\begin{enumerate}
\item Some text.
\item Some other text.
\end{enumerate}
\end{hwprob}
\end{document}