tabularray の動きを追いかけただけで、解決には至っていませんが 。。。
texdoc tabularray で示される p26 「3.6 Counters and Lengths」を参考に 各セルに以下のデバッグコードを組み込み動きを追ってみました。
\message{Cell[\arabic{rownum}][\arabic{colnum}]=(\the\value{kkk})}
動きとしては、表全体を2回スキャンし各回毎一つのセルを3回評価しているようです。
提示されたデータですと1回目の表全体プリスキャンで \ka は 3 行で各行 3回評価されるので 、初期値 1 に 3x3=9 カウントアップされ 10 になっています。
実際の表示のためにもう一度スキャンが行われるのですが、各セル毎3回目評価されますが、 そのうち2回目のものをレンダリングに使われるようで最初のセルには 11 が表示されるようです。 この時 kkk は 13 になってしまっています。
1回目のプリスキャンは恐らく列幅などを自動計算するためのものだと思います。 「Overfull \hbox...」の警告は、プリスキャンで決定した幅が、実際表示するときに 数値桁数が変わってしまったためと思われます。
PS 「3.6 Counters and Lengths」のrownum やcolnum変数で解決できると良いのですが。
tabularrayのドキュメントの「5.3 Library counter」に以下のような記述がありますね。
You need to load
counter
library with\UseTblrLibrary{counter}
, if you want to modify some LaTeX counters insidetabularray
tables.
tabularray
テーブル内でLaTeXカウンターを変更したい場合は、\UseTblrLibrary{counter}
を使用してcounter
ライブラリをロードする必要があります。
解決して何よりです。
もう少し先の Chapter 5 Use Some Libraries まで調べればよかったと反省。
改めて texdoc tabularray で表示される pdf の原稿 TEXMFDIST/doc/latex/tabularray/tabularray.tex を見ると
\UseTblrLibrary{amsmath,booktabs,counter,diagbox,siunitx,varwidth}
と書いてありますね。用途にもよりますが、tabularray を使う場合このように全部利用した方がよさそうですね。
Chapter 5 Use Some Libraries を読むと、今まで苦労して表を書いてきたのが嘘のように見やすくかけますね。 例えば \hline を各行に書かなくても横罫線を引くとか、太い罫線、斜め線、小数点合わせ?とかとか。
また、tabularray.sty や tabularray.pdf を「NewTableCommand」で検索すると細かな設定ができそうで、今後の「表」はこれに移行しようかと思案し始めています。