
私はボードゲームの囲碁の図をTikZで描こうとしています。ボードの位置を後続のバリエーションで再利用するには、現在のボードの位置を保存する方法が必要です。この質問私のオプションのうち 2 つは\csname
...\endcsname
またはを使用することですpgfkeys
。とにかく他の用途に pgfkeys を使用しているので、私の質問は次のとおりです。
pgfkeys を使用して 2 次元配列を実装するにはどうすればよいですか?
を使わない解決策はpgfkeys
、それが悪い考えだと思うなら、私は受け入れます。しかし、expl3
私の最終目標の 1 つは Plain TeX、LaTeX、ConTeXt と互換性があることなので (TikZ と同じように)、私は を使いたくありません。
答え1
pgfkeys を優先しましたが、他の理由で pgf をロードしている場合でも、ここではやり過ぎだと思います。
これにより、
A1 is black and B14 is white
プレーンテキストから
\def\setpos#1#2#3{\expandafter\def\csname GO-#1-#2-\endcsname{#3}}
\def\getpos#1#2{\csname GO-#1-#2-\endcsname}
\setpos{A}{1}{black}
\setpos{B}{14}{white}
\immediate\write20{A1 is \getpos{A}{1} and B14 is \getpos{B}{14}}
\bye