Largura do texto errada após wrapfigure

Largura do texto errada após wrapfigure

Incluí uma foto wrapfiguree está tudo bem - o problema é que no meu próximo ambiente de fórmula, a fórmula está totalmente errada! Parece-me que a largura que defini no wrapfigureambiente também afeta a fórmula. Como posso definir a largura novamente para o padrão?

Aqui está o meu código:

\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}

Portanto, a quebra do texto em torno da figura está OK, mas a largura da fórmula está errada. Parece-me que textwidthestá definido como wrapfigure's textwidth, o que resulta em uma exibição incorreta.

Responder1

Para citar o manual dowrapfigpacote, página 1:

Você não deve especificar a wrapfigureem nenhum tipo de ambiente de lista ou imediatamente antes ou imediatamente depois de um. Não há problema em seguir uma lista se houver uma linha em branco ( \par) entre elas.

[...]

\linewidthagora é ajustado dentro do texto quebrado, mas como só pode ser definido para parágrafos inteiros de cada vez, ele persistirá com o valor errado após a quebra automática, até que o parágrafo seja finalizado.

E na página 2:

Por razões estéticas, apenas texto simples deve envolver a figura. Os títulos das seções e as grandes equações parecem ruins; as listas são ruins se a figura estiver à esquerda. (Todas elas funcionam corretamente, mas não parecem muito boas.) Equações pequenas parecem boas.

Assim: Coloque um \parantes \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}

Se o texto a ser quebrado for muito curto, a fórmula será colocada no texto quebrado, onde tem largura menor, é claro. (E \usepackage{picins}é necessário um adicional, caso contrário a fórmula será impressa "sobre" a imagem.) O uso \c@WF@wrappedlinesdo pacote wrapfig e a inserção automática do número apropriado de linhas vazias corrigem isso.

Responder2

Coloque o wrapfigem um arquivo minipage. Normalmente

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

informação relacionada