
Я пытаюсь нарисовать диаграммы для настольной игры Go в 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