使包装图适合内容

使包装图适合内容

定义wrapfigure(或者minipage)的时候需要指定figure的宽度,这个宽度有可能是由里面的图片决定的吗?

为了 MWE,我将使用 tikzpicture。我想要改变图像的比例,因为我的图像在文档中被多次使用,但有不同的变化,并且它应该始终具有相同的比例。

\documentclass{article}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage[justification=centering]{caption}
\begin{document}
\begin{wrapfigure}{r}{5cm}
    \centering
    \begin{tikzpicture}
        \draw (0,0)circle (2);
    \end{tikzpicture}
    \captionof{figure}{A circle}
\end{wrapfigure}
\lipsum[1]
\end{document}

这看起来很糟糕: 第一次尝试

添加后\centering有所改善,但左右两侧的间距仍然太大。

我想要这样的输出:

好输出

(这是使用4cm宽度创建的,但我想要猜测图像的大小 - 圆形的话比较容易,如果图像比较复杂的话就比较难)

总而言之,是否有一个选项可以使包装图形(或任何环境,如迷你页面)的宽度适合图像,而无需重新缩放图像,也不必猜测尺寸?

编辑:不是重复的我是否真的必须指定两次包裹图形的宽度?,因为在这种情况下,作者知道图像的宽度,因此可以指定它,但我没有。

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage[justification=centering]{caption}
\begin{document}
\sbox{0}{%
\begin{tikzpicture}
        \draw (0,0)circle (2);
    \end{tikzpicture}%
}
\begin{wrapfigure}{r}{\wd0}
    \centering
     \usebox{0}%
    \captionof{figure}{A circle}
\end{wrapfigure}
\lipsum[1]
\end{document}

答案2

文档的第 2 部分对此进行了说明wrapfig,其中指出

如果将宽度指定为零 (0pt),则图形的实际宽度将决定环绕宽度。下面的内容\caption应具有与图形相同的宽度,但可能会失败;使用标题时指定宽度更安全。

建议:rtfm。

相关内容