独立:varwidth 选项限制输出宽度吗?

独立:varwidth 选项限制输出宽度吗?

看起来,类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下将对象上下放置?standalonevarwidth

答案1

选项varwidth=<length>(长度可选,默认为\linewidth)将内容包装到{varwidth}{<length>}环境中(来自varwidth包)。此环境类似于{minipage}{<length>},但如果内容小于 ,则会水平缩小到内容<length>。这是您看到的效果。这不是错误。

varwidth选项适用于需要段落的内容,因此在 使用的受限水平模式下不起作用standalone。对于tikzpicture来说,它不是必需的,也不推荐。

针对您的示例,解决方案是简单地选择更宽的宽度。使用varwidth=\maxdimen或类似的高值应该可以做到这一点。(我没有使用\maxdimen默认宽度,因为如果结果框由于某种原因比内容略宽,有时会导致错误,从而导致尺寸值过大。此外,宽的段落\maxdimen看起来相当奇怪!)

相关内容