如何获得一个固定大小的数字,取决于乳胶beamer / tikz中的幻灯片?

时间:2010-01-28 18:21:14

标签: latex beamer tikz

我有一个带有圆形节点的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。

2 个答案:

答案 0 :(得分:3)

我观察到以下内容:

  • \ only {}之间的空格总是呈现(\只有,当不活动时,是“零宽度字符”; TeX不会丢弃字符之间的空格)
  • 使用“text width = ...”显式设置文本的宽度。这隐含地将内容放入小型设备中。
  • 请注意,“baseline”属性不再按预期工作。
  • “以文字为中心”确保内容不完全是“文字宽度”
  • 的情况下的对齐方式
  • “叠印”环境仅自动确定内容的高度,而不是宽度。

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

\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}
    };

答案 1 :(得分:1)

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

  • 您可以使用“覆盖”环境来计算所需的最大尺寸。
  • 您可以使用\ makebox [width] {}。
  • 或者只是在节点上使用“最小宽度”和“最小高度”选项。
  • ...