如何将图形(用 wrapfig 放置)提升到与段落顶部齐平?

如何将图形(用 wrapfig 放置)提升到与段落顶部齐平?

我正在使用该wrapfig包放置一个带有文本环绕的图形。这是一个最小示例,下面是输出相关部分的屏幕截图:

\documentclass{book}

\usepackage{graphicx}
\usepackage{wrapfig}

\begin{document}

\begin{center}
\textbf{\Large Lorem ipsum}
\end{center}
\vspace{18pt}

\begin{wrapfigure}[15]{r}{0in}
\includegraphics[width=0.4\textwidth]{TestImage.jpg}
\end{wrapfigure}

Lorem ipsum ... ridiculus mus.

\end{document}

在此处输入图片描述

看看这个输出,我不喜欢图形从第一段顶部往下放置的方式。有什么最小的解决方案可以提高图形的高度,使图像的顶部边缘与本段顶部齐平?

需要澄清几点:我不需要自动找到段落顶部的解决方案——如果我能将图像提升一个手动输入的长度,那就没问题了。另外,我可以对每张图片进行手动调整;如果不方便的话,没有必要对所有此类图像进行更改。

答案1

您可以设置\intextsep

\documentclass{book}

\usepackage{graphicx}
\usepackage{wrapfig}
\setlength\intextsep{0pt}
\begin{document}

\begin{center}
\textbf{\Large Lorem ipsum}
\end{center}
\vspace{18pt}

\begin{wrapfigure}[15]{r}{0in}
\includegraphics[width=0.4\textwidth]{example-image-duck}
\end{wrapfigure}

Lorem ipsum ... ridiculus mus.

\end{document}

一个更手动的替代方法是修剪图形。通过调整值,您可以上下移动图形:

\documentclass{book}

\usepackage{graphicx}
\usepackage{wrapfig}
\begin{document}

\begin{center}
\textbf{\Large Lorem ipsum}
\end{center}
\vspace{18pt}

\begin{wrapfigure}[15]{r}{0in}
\includegraphics[width=0.4\textwidth,trim=0pt 0pt 0pt 30pt]{example-image-duck}
\end{wrapfigure}

Lorem ipsum ... ridiculus mus.

\end{document}

答案2

由于您没有添加标题,因此使用\InsertBoxR来自纯 TeX 宏包的命令更简单insbox。此命令接受 2 个强制参数:插入对象之前未触及的行数和对象本身,以及 1 个可选参数 - 补充缩短行数,以防 TeX 对必须缩短的行数计算错误。

在下面的代码中,图像甚至多于第一行(使用负的第一个参数),并且我使用了负的可选参数,因此图像下方没有空白。

\documentclass{book}

\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage[svgnames]{xcolor}
\usepackage{lipsum}
\input{insbox}
\makeatletter\@InsertBoxMargin =3mm\makeatother

\begin{document}

\begin{center}
\textbf{\Large Lorem ipsum}
\end{center}
\vspace{18pt}

\InsertBoxR{-1}{{\color{YellowGreen}\rule{0.35\textwidth}{0.3\textheight}}}[-2]
\lipsum

\end{document} 

在此处输入图片描述

相关内容