看起来,类varwidth
的选项standalone
限制了输出宽度。问题出现在以下示例中:
\documentclass[10pt,crop,varwidth]{standalone}
\usepackage{tikz}
\begin{document}%
\begin{tikzpicture}
\pgfsetlinewidth{0.3cm}
\path[draw=red] (0,0) -- (0,400pt) -- (400pt,400pt) -- (400pt,0) -- cycle;
\end{tikzpicture}
\begin{tikzpicture}
\pgfsetlinewidth{0.3cm}
\path[draw=red] (0,0) -- (0,200pt) -- (200pt,200pt) -- (200pt,0) -- cycle;
\end{tikzpicture}
\end{document}
上述代码生成一个 458x821pxl 的图像,右侧有较大的方形切口:
删除该varwidth
选项将导致生成一个 824x543px 的图像,其中两个正方形显示正确:
我想将多个对象上下放置,这就是我varwidth
首先使用该选项的原因。不幸的是,我预期的宽度 510pt 对于 varwidth 来说太大了。所以我的问题是:有没有办法扩大设置的限制?如果没有,有没有其他方法可以在不使用的情况varwidth
下将对象上下放置?standalone
varwidth
答案1
选项varwidth=<length>
(长度可选,默认为\linewidth
)将内容包装到{varwidth}{<length>}
环境中(来自varwidth
包)。此环境类似于{minipage}{<length>}
,但如果内容小于 ,则会水平缩小到内容<length>
。这是您看到的效果。这不是错误。
该varwidth
选项适用于需要段落的内容,因此在 使用的受限水平模式下不起作用standalone
。对于tikzpicture
来说,它不是必需的,也不推荐。
针对您的示例,解决方案是简单地选择更宽的宽度。使用varwidth=\maxdimen
或类似的高值应该可以做到这一点。(我没有使用\maxdimen
默认宽度,因为如果结果框由于某种原因比内容略宽,有时会导致错误,从而导致尺寸值过大。此外,宽的段落\maxdimen
看起来相当奇怪!)