
Incluí uma foto wrapfigure
e 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 wrapfigure
ambiente 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 textwidth
está 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
wrapfigure
em 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.[...]
\linewidth
agora é 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 \par
antes \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@wrappedlines
do pacote wrapfig e a inserção automática do número apropriado de linhas vazias corrigem isso.
Responder2
Coloque o wrapfig
em um arquivo minipage
. Normalmente
\begin{minipage}
\begin{wrapfig}
...
\end{wrapfig}
...text... to be wrapped
\end{minipage}
..more text which should be normal