Falsche Textbreite nach Wrapfigure

Falsche Textbreite nach Wrapfigure

Ich habe ein Bild mit eingefügt wrapfigureund alles ist in Ordnung - das Problem ist, dass in meiner nächsten Formelumgebung die Formel völlig falsch ist! Mir scheint, dass die Breite, die ich in der Umgebung einstelle, wrapfigureauch die Formel beeinflusst. Wie kann ich die Breite wieder auf Standard zurücksetzen?

Hier ist mein Code:

\documentclass{book}
\usepackage{graphicx}
\usepackage{amsthm}
\usepackage{wrapfig}
\usepackage{mdframed}

\newtheoremstyle{mystyle}{}{}{}{}{}{}{0.5em}{}
\theoremstyle{mystyle}
\newmdtheoremenv{formel}{Formel}

\begin{document}
\begin{wrapfigure}{l}{8cm}
  \includegraphics[scale=0.48]{example-image-a}
\end{wrapfigure}
text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text
\begin{formel}[Formel]
$1+1=2$
\end{formel}
\end{document}

Der Textumbruch um die Zahl ist also ok, aber die Breite der Formel ist falsch. Mir scheint, dass diese auf ‚s textwidtheingestellt ist , was zu einer falschen Anzeige führt.wrapfiguretextwidth

Antwort1

Um das Handbuch deswickelfigPaket, Seite 1:

Sie dürfen wrapfigurein keiner Listenumgebung oder unmittelbar davor oder danach ein a angeben. Es ist in Ordnung, einer Liste zu folgen, wenn \pardazwischen eine Leerzeile ( ) steht.

[...]

\linewidthwird nun innerhalb des umbrochenen Textes angepasst, da es aber immer nur für ganze Absätze gleichzeitig gesetzt werden kann, bleibt es nach dem Umbruch mit dem falschen Wert bestehen, bis der Absatz fertig ist.

Und auf Seite 2:

Aus ästhetischen Gründen sollte nur einfacher Text um die Abbildung herumlaufen. Abschnittsüberschriften und große Gleichungen sehen schlecht aus; Listen sind schlecht, wenn die Abbildung links steht. (All dies funktioniert einwandfrei, es sieht nur nicht besonders gut aus.) Kleine Gleichungen sehen gut aus.

Also: Setzen Sie ein \parvor \begin{formel}:

\documentclass{book}
\usepackage{graphicx}
\usepackage{amsthm}
\usepackage{wrapfig}
\usepackage{mdframed}

\newtheoremstyle{mystyle}{}{}{}{}{}{}{0.5em}{}
\theoremstyle{mystyle}
\newmdtheoremenv{formel}{Formel}

%\usepackage{picins}

\begin{document}
\begin{wrapfigure}{l}{8cm}
  \includegraphics[scale=0.48]{example-image-a}
\end{wrapfigure}
text 
\par
\makeatletter
\loop
\ifnum\c@WF@wrappedlines>3
\hspace*{1sp}\newline
\advance\c@WF@wrappedlines by -1
\repeat
\makeatother
\par
\begin{formel}[Formel]
$1+1=2$
\end{formel}
\end{document}

Wenn der umzubrechende Text zu kurz ist, wird die Formel natürlich in den umzubrechenden Text eingefügt, wo sie die geringere Breite hat. (Und ein zusätzliches \usepackage{picins}wird benötigt, da die Formel sonst „über“ das Bild gedruckt wird.) Die Verwendung \c@WF@wrappedlinesdes Wrapfig-Pakets und das automatische Einfügen der entsprechenden Anzahl von Leerzeilen behebt dieses Problem.

Antwort2

Schließen Sie das wrapfigin ein ein minipage. Normalerweise

\begin{minipage}
\begin{wrapfig}
...
\end{wrapfig}
...text... to be wrapped
\end{minipage}
..more text which should be normal

verwandte Informationen