当使用wrapfig
环境后跟列表时,列表第一项的文本将环绕图形。因此,对于wrapfig
具有左侧位置的,此文本从图形的右侧开始,并且当图形结束时,从页面的开头开始。
但是列表第二项的文本与页面的左边距很大,好像图形仍然存在(但实际上不存在)。如何使列表中的后续元素从页面的左边缘开始?
wrapfig 文档禁止将 wrapfig 环境“立即”放在列表环境之后或之前,但这里有一个段落和一些文本(所以不是立即的)
wrapfig
同一文档甚至说跟随\par
如果两者之间有换行符(),则为列表环境。
但没有提到wrapfig
其次是列表,如下所示(除了禁止紧随其后)
平均能量损失:
\documentclass{article}
\usepackage{mwe} % for blindtext and example-image-a in example
\usepackage{wrapfig}
\usepackage{blindtext}
\begin{document}
\begin{wrapfigure}{l}{0.5\textwidth}
\centering
\includegraphics[width=.98\linewidth]{example-image-a}
\caption{A caption}
\end{wrapfigure}
List:
\begin{itemize}
\item \blindtext
\item \blindtext
\end{itemize}
\end{document}
行为图片:
答案1
您可以通过将列表一分为二并使用包resume*
的选项enumitem
(第二个列表使用与第一个列表相同的参数)来解决您的问题。 键管理一个小的垂直校正before=
。 不要忘记在列表的两个部分之间插入一个空白行。
\documentclass{article}
\usepackage{mwe} % for blindtext and example-image-a in example
\usepackage{wrapfig}
\usepackage{blindtext}
\usepackage{enumitem}
\begin{document}
\begin{wrapfigure}[12]{l}{0.5\textwidth}
\centering
\includegraphics[width=.98\linewidth]{example-image-a}
\caption{A caption}
\end{wrapfigure}
List:
\begin{itemize}
\item A first short item
\item A second short item
\item \blindtext
\end{itemize}
\begin{itemize}[resume, before = \vspace*{-\dimexpr\topsep+\partopsep\relax}]
\item \blindtext
\item \blindtext
\end{itemize}
\end{document}