PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Itemize-Umgebung in der Proof-Umgebung - vertikale Abstände



mechanicus
15-04-2009, 23:23
Hallo,

habe mal wieder ein Frage. (Vielleicht gibt es auch ein Paket was das kann, aber ich kenne es nicht)

Bevor ich das Problem schildere, das MB:

\documentclass[12pt,ngerman]{article}
\usepackage{babel}
\usepackage{amsmath,amsthm,ragged2e}
\parindent0pt
\makeatletter
\def\endmytrivlist{%
\if@inlabel
\leavevmode
\global \@inlabelfalse
\fi
\if@newlist
\@noitemerr
\global \@newlistfalse
\fi
\ifhmode\mbox{}
\else
\@inmatherr{\end{\@currenvir}}%
\fi
\if@noparlist \else
\ifdim\lastskip >\z@
\@tempskipa\lastskip \vskip -\lastskip
\advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
\vskip\@tempskipa
\fi
\@endparenv
\fi
}
\def\endproof{\popQED\endmytrivlist\@endpefalse}
\newenvironment{myitemize}{%
\list{\labelitemi}{}}%
{\global \advance \@listdepth \m@ne \endmytrivlist\vskip -\lastskip\vskip-\baselineskip}
\makeatother

\begin{document}
\begin{proof}Der Beweis
\begin{itemize}
\item Test
\item Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{itemize}
\end{proof}
\begin{proof}Der Beweis
\begin{itemize}
\item Test
\item Test Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{itemize}
\end{proof}
\begin{proof}Der Beweis
\begin{myitemize}
\item Test
\item Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{myitemize}
\end{proof}
\begin{proof}Der Beweis
\begin{myitemize}
\item Test
\item Test Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{myitemize}
\end{proof}
\begin{proof}Der Beweis
\begin{myitemize}
\item Test
\item Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{myitemize}
\end{proof}
\begin{proof}Der Beweis
Test Test Test Test Test Test Test Test Test Test
\end{proof}

\end{document}

So habe es geschafft, mir eine eigene itemize-Umgebung für die Beweisumgebung zu bauen. Wir ihr aus dem MB seht, sind die ersten zwei Umgebungen Standard. Die nächsten zwei, erfüllen das, was ich brauche. Als Referenz dienen die letzten beiden proof-Umgebungen.

Meine Frage: Ich kann doch nicht der erste mit diesem Problem sein. Gibt es denn kein Paket bzw kein besseres Workaround? Würde mich über Resonanz freuen.

Gruß
Marco

voss
16-04-2009, 20:54
Meine Frage: Ich kann doch nicht der erste mit diesem Problem sein. Gibt es denn kein Paket bzw kein besseres Workaround? Würde mich über Resonanz freuen.


du kannst auch gleich \enditemize umdefinieren.

\documentclass[12pt,ngerman]{article}
\usepackage{babel}
\usepackage{amsmath,amsthm,ragged2e}
\parindent0pt
\makeatletter
\def\enditemize{\global\advance\@listdepth\m@ne
\hspace{1em} \vskip-\lastskip\vskip-\baselineskip}
\makeatother

\begin{document}

\rule{\linewidth}{1pt}
\begin{proof}Der Beweis
\begin{itemize}
\item Test
\item Test Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{itemize}
\end{proof}
\begin{proof}Der Beweis
\begin{itemize}
\item Test
\item Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{itemize}
\end{proof}
\begin{proof}Der Beweis
\begin{itemize}
\item Test
\item Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{itemize}
\end{proof}

\end{document}


Formal ist das aber nicht korrekt, das proof-Symbol müsste schon nach der itemize-
Umgebung kommen.

Herbert

mechanicus
16-04-2009, 21:09
Formal ist das aber nicht korrekt, das proof-Symbol müsste schon nach der itemize-
Umgebung kommen.

Das wollte die Lektorin eines bestimmten Verlages nicht glauben :cool: . Ich denke, die Sorgen kennst du.

Gruß
Marco