PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : environment unterbricht wrapfigure



sfiedl
22-03-2010, 00:08
Hallo,

ich versuche, ein Environment für eine Art Infobox zu definieren, die am äußeren Rand angezeigt werden und vom Text umflossen werden soll. Mit wrapfigure funktioniert das zwar, aber nur, bis ich das ganze mit einem neuen environment verallgemeinern möchte.
Sobald ich die wrapfigure-Umgebung in das newenvironment platziere, wird der Inhalt der wrapfigure nicht mehr umflossen angezeigt, sondern nach einem Umbruch, gerade so, als ob newenvironment das Umfließen abbrechen würde.

Jetzt der Code:
PDFs sind beigefügt.

Das hier funktioniert:


\documentclass[a4paper,10pt]{article}

\usepackage{wrapfig}
\usepackage{lipsum}

\begin{document}

\begin{wrapfigure}{o}[3cm]{6cm}
Testbox: \\
\textit{\lipsum[4]}
\end{wrapfigure}
\lipsum[10]

\end{document}


Das hier funktioniert nicht mehr:


\documentclass[a4paper,10pt]{article}

\usepackage{wrapfig}
\usepackage{lipsum}

\begin{document}

\newenvironment{infobox}[1]{%
\begin{wrapfigure}{o}[3cm]{6cm}%
#1: \\
\textit\bgroup%
}{
\egroup%
\end{wrapfigure}%
}

\begin{infobox}{Testbox}
\lipsum[4]
\end{infobox}%
\lipsum[10]

\end{document}


Wie kann ich es also hinbekommen, die wrapfigure-Umgebung per newenvironment einzubinden?

Vielen Dank & viele Grüße
sfied

u_fischer
22-03-2010, 09:07
\documentclass[a4paper,10pt]{article}

\usepackage{wrapfig}
\usepackage{lipsum}

\newcommand\infobox[1]{%
\wrapfigure{o}[3cm]{6cm}%
#1: \\\itshape%
}

\def\endinfobox{\endwrapfigure}


\begin{document}
\begin{wrapfigure}{o}[3cm]{6cm}
Testbox: \\
\itshape\lipsum[4]
\end{wrapfigure}
\lipsum[10]
\lipsum[10]

\begin{infobox}{Testbox}
\lipsum[4]%
\end{infobox}
\lipsum[10]
\lipsum[10]

\end{document}

sfiedl
22-03-2010, 16:34
Herzlichen Dank, funktioniert wunderbar.

Weiß jemand, warum es mit \newcommand funktioniert und mit \newenvironment nicht?
Was macht denn \newenvironment noch, ohne, dass ich es weiß?

Viele Grüße
sfiedl

u_fischer
22-03-2010, 17:52
\newenvironment erzeugt u.a. eine Gruppe.

"If you put a wrapfigure in a parbox or a minipage, or any other type
of grouping, the text wrapping should end before the group does."

Schon simple Klammern erzeugen dein Problem:


\documentclass[a4paper,10pt]{article}

\usepackage{wrapfig}
\usepackage{lipsum}

\begin{document}

{\begin{wrapfigure}{o}[3cm]{6cm}
Testbox: \\
\textit{\lipsum[4]}
\end{wrapfigure}}
\lipsum[10]

\end{document}

sfiedl
23-03-2010, 11:32
Ah, verstehe. Danke nochmal.