ループ内のアンカーに保存されたディメンションを使用できません

ループ内のアンカーに保存されたディメンションを使用できません

次のような問題があります:\pgfdeclareshape保存されたディメンションに次のコードがあります:

\saveddimen{\long@sal}{
  \pgf@x=\pgfkeysvalueof{/tikz/longitud salidas}\unidad@medicion
  \advance\pgf@x\y@colect
}

次に、次のように使用してみます。

\foreach \n in {1,...,7}{
  \xdef\doanchor{
    \noexpand\anchor{o\n}{
      \@tempdima=2\x@colect % \sep@sal
      \divide\@tempdima\pgfkeysvalueof{/tikz/salidas}
      \noexpand\pgfpoint{
        -\x@colect + 0.5\@tempdima + (\n-1)*\@tempdima
      }{\long@sal}
    }
  }
  \doanchor
}

次のエラーが発生します:! Undefined control sequence.

問題は によるものだ\long@salと思います。誰か助けてくれませんか?

答え1

結局、解決策は簡単です。\newdimen\long@salbeforeを含めて\pfgdeclareshape、適切に動作します。

関連情報