2

我有一张 tikz 图片,里面有一个圆形节点,里面有一个数字。我希望这个数字随幻灯片而变化,但大小固定。(-> 不要把圈子弄乱)。

这个不工作,圆圈变大,好像它必须容纳所有 3 个数字。

\tikz[baseline]
\node [fill=blue!20,draw,circle,anchor=base] (node1)
{
    \only<1-3>{3} \only<4-6>{8} \only<7->{11.5}
};

这里幻灯片 1-3 上的值为 3,幻灯片 4-6 上的值为 8,否则为 7。

4

2 回答 2

4

我观察到以下情况:

  • \only{} 之间的空格总是被渲染(\only,当不活动时,是一个“零宽度字符”;TeX 不会丢弃字符之间的空格)
  • 使用“text width=...”明确设置文本的宽度。这隐含地将内容放入迷你页面。
  • 请注意,“基线”属性不再按预期工作。
  • “文本居中”确保在内容不完全是“文本宽度”的情况下对齐
  • “叠印”环境只会自动确定内容的高度,而不是宽度。

总而言之,这对我有用(我试过了):

\tikz[baseline]
\node [fill=blue!20,draw,circle,anchor=base,text width=4ex,text centered,inner sep=0] (node1)
{
    \only<1-3>{3}\only<4-6>{8}\only<7->{11.5}
};

编辑:这适用于正确的基线:

\tikz[baseline=(node1.base)]
    \node [fill=blue!20,draw,circle] (node1)
    {
        \begin{minipage}{4ex}
            \centering
            \only<1-3>{3}\only<4-6>{8}\only<7->{11.5}
        \end{minipage}
    };
于 2010-02-06T12:50:03.457 回答
1

有几种方法可以做到这一点:

  • 您可以使用“覆盖”环境来计算所需的最大尺寸。
  • 你可以使用 \makebox[width]{ }。
  • 或者简单地使用节点上的“最小宽度”和“最小高度”选项。
  • ...
于 2010-02-06T11:40:44.667 回答