我正在尝试在 TikZ 中绘制棋盘游戏围棋的图表。为了在后续变体中重复使用棋盘位置,我需要一种方法来存储当前棋盘位置。我从这个问题我的两个选项是使用\csname
...\endcsname
或pgfkeys
。由于我正在使用 pgfkeys 做其他事情,所以我的问题是:
如何使用 pgfkeys 实现二维数组?
如果您认为这是一个坏主意,我愿意接受不使用的解决方案pgfkeys
。但是我更愿意不使用expl3
,因为我的最终目标之一是兼容 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