文字环绕图形而不改变其大小

文字环绕图形而不改变其大小

我创建了一个具有特定尺寸和文本的图形,所以我不想缩放它。

我希望文本在它周围浮动,因此我使用\wrapfigure需要指定宽度的文本,我希望从插入的图像中获取该宽度(\includegraphics)。

答案1

将图像框起来,然后使用框的宽度wrapfigure

\documentclass{article}  
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{lipsum}

\newsavebox\mybox
\savebox\mybox{\includegraphics[height=5cm]{example-image-a}}

\begin{document}

\begin{wrapfigure}{r}{\wd\mybox}
\usebox\mybox
\caption{a test figure}
\end{wrapfigure}
\lipsum[1-2]

\end{document}

结果:

在此处输入图片描述

如果您要多次使用它,也许您可​​以定义一个环境来简化代码:

\documentclass{article}  
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{xparse}
\usepackage{lipsum}

\newsavebox\mybox

%Syntax:
%\begin{Wrapfigure}[<lines>]{<position>}[<overhang>]{<image file>}[<options for image>]
%\caption{description}
%\label{...}
%\end{Wrapfigure}

\NewDocumentEnvironment{Wrapfigure}{O{}mO{0pt}mO{}}
  {%
    \savebox\mybox{\includegraphics[#5]{#4}}
    \wrapfigure[#1]{#2}[#3]{\wd\mybox}
    \usebox\mybox
  }
  {\endwrapfigure}

\begin{document}

\begin{Wrapfigure}{r}{example-image-a}[height=4cm]
\caption{a test figure}
\end{Wrapfigure}
\lipsum[1]

\begin{Wrapfigure}[11]{l}[30pt]{example-image-a}[height=3cm]
\caption{a test figure}
\end{Wrapfigure}
\lipsum[1]

\end{document}

在此处输入图片描述

相关内容