
我正在嘗試為 TikZ 中的棋盤遊戲 Go 繪製圖表。為了在後續版本中重複使用棋盤位置,我需要一種方法來儲存當前棋盤位置。我從中學到了這個問題我的兩個選項正在使用\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