
Ich habe ein Bild mit eingefügt wrapfigure
und 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, wrapfigure
auch 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 textwidth
eingestellt ist , was zu einer falschen Anzeige führt.wrapfigure
textwidth
Antwort1
Um das Handbuch deswickelfigPaket, Seite 1:
Sie dürfen
wrapfigure
in keiner Listenumgebung oder unmittelbar davor oder danach ein a angeben. Es ist in Ordnung, einer Liste zu folgen, wenn\par
dazwischen eine Leerzeile ( ) steht.[...]
\linewidth
wird 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 \par
vor \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@wrappedlines
des Wrapfig-Pakets und das automatische Einfügen der entsprechenden Anzahl von Leerzeilen behebt dieses Problem.
Antwort2
Schließen Sie das wrapfig
in ein ein minipage
. Normalerweise
\begin{minipage}
\begin{wrapfig}
...
\end{wrapfig}
...text... to be wrapped
\end{minipage}
..more text which should be normal