我创建了一个具有特定尺寸和文本的图形,所以我不想缩放它。
我希望文本在它周围浮动,因此我使用\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}