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は文字間のスペースを破棄しません)
  • 「textwidth=...」を使用して、テキストの幅を明示的に設定します。これにより、コンテンツが暗黙的にミニページに配置されます。
  • 「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}
    };
于 2010-02-06T12:50:03.457 に答える
1

これを行うには、いくつかの方法があります。

  • 必要な最大サイズを計算する「オーバーレイ」環境を使用できます。
  • \ makebox[width]{}を使用できます。
  • または、ノードで「最小幅」および「最小高さ」オプションを使用するだけです。
  • ..。
于 2010-02-06T11:40:44.667 に答える