我想在 enumerate 环境中使用 wrapfigure。例如,
\documentclass{article}
\usepackage{multicol, lipsum, graphicx, wrapfig}
\usepackage{enumitem}
\setlist{leftmargin=*}
\begin{document}
\begin{multicols}{2}
\lipsum[1-4]
\lipsum[5][1-6]
\begin{itemize}
\begin{minipage}[t]{\linewidth}
\begin{wrapfigure}{r}{60pt}
\includegraphics[width=60pt, height=30pt]{example-image}
\end{wrapfigure}
\item \lipsum[5][7]
\begin{itemize}
\item \lipsum[5][8-9]
\end{itemize}
\end{minipage}
\begin{itemize}
\item \lipsum[5][10]
\end{itemize}
\begin{minipage}[t]{\linewidth}
\begin{wrapfigure}{r}{50pt}
\includegraphics[width=50pt, height=10pt]{example-image}
\end{wrapfigure}
\item \lipsum[5][11-16]
\end{minipage}
\item \lipsum[5][17-18]
\end{itemize}
\lipsum[5][19-]
\lipsum[6-7]
\lipsum[1]
\end{multicols}\clearpage
\begin{multicols}{2}
\lipsum[1-4]
\lipsum[5][1-6]
\begin{itemize}
\item \lipsum[5][7]
\begin{itemize}
\item \lipsum[5][8-9]
\item \lipsum[5][10]
\end{itemize}
\item \lipsum[5][11-16]
\item \lipsum[5][17-18]
\end{itemize}
\lipsum[5][19-]
\lipsum[6-7]
\lipsum[1]
\end{multicols}
\end{document}
(参见这里) 但是,似乎 minipage 影响(放大)了 itemize 环境顶部和底部的跳转:
有没有什么办法可以减少这些多余的分隔,而不用逐个修改它们(例如通过 \vspace)?
答案1
首先,minipage
应该放在后面\item
。第一个wrapfig
是通过简单地减小文本宽度来替换的。第二个wrapfig
是通过\hangindent
与图像重叠来替换的。
为了更精细的垂直放置,请使用\raisebox
而不是valign
。
\documentclass{article}
\usepackage[export]{adjustbox}% for [valign=...]
\usepackage{multicol, lipsum, graphicx, wrapfig}
\usepackage{enumitem}
\setlist{leftmargin=*}
\begin{document}
\begin{multicols}{2}
\lipsum[1-4]
\lipsum[5][1-6]
\begin{itemize}
\item \lipsum[5][7]
\begin{itemize}
\item \begin{minipage}[t]{\dimexpr \linewidth-60pt-\columnsep}
\lipsum[5][8-9]
\end{minipage}\hfill\includegraphics[width=60pt, height=30pt,valign=t]{example-image}
\item \begin{minipage}[t]{\linewidth}
\hangindent=-\dimexpr 50pt+\columnsep\relax
\hangafter=-2
\lipsum[5][10]
\end{minipage}\llap{\includegraphics[width=50pt, height=10pt, valign=t]{example-image}}
\end{itemize}
\item \lipsum[5][11-16]
\item \lipsum[5][17-18]
\end{itemize}
\lipsum[5][19-]
\lipsum[6-7]
\lipsum[1]
\end{multicols}\clearpage
\begin{multicols}{2}
\lipsum[1-4]
\lipsum[5][1-6]
\begin{itemize}
\item \lipsum[5][7]
\begin{itemize}
\item \lipsum[5][8-9]
\item \lipsum[5][10]
\end{itemize}
\item \lipsum[5][11-16]
\item \lipsum[5][17-18]
\end{itemize}
\lipsum[5][19-]
\lipsum[6-7]
\lipsum[1]
\end{multicols}
\end{document}