![使包装图适合内容](https://linux22.com/image/362171/%E4%BD%BF%E5%8C%85%E8%A3%85%E5%9B%BE%E9%80%82%E5%90%88%E5%86%85%E5%AE%B9.png)
定义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。