TikZ でノードの演算を実行するにはどうすればよいでしょうか?

TikZ でノードの演算を実行するにはどうすればよいでしょうか?

ボックスの配列があり、TikZ を使用してすばやく番号を付けたいと考えています。次のようなものを使用することを考えました。

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[font=\tiny]
  \foreach \x in {0,...,4}
    \foreach \y in {0,...,4}
      \draw (\x*2-.5,\y*2-.5) rectangle (\x*2+.5,\y*2+.5) node[midway] {\x+1+5*\y};
\end{tikzpicture}

\end{document}

ただし、ノード ノードは現在、例のようになっています。TikZを に0+1+5*2変換する方法はありますか?0+1+5*211

答え1

まず の値を計算し\x+1+5*\y、その結果をノードのコンテンツとして使用する必要があります。

\documentclass[tikz, margin=3mm]{standalone}

\begin{document}
    \begin{tikzpicture}
\foreach \x in {0,...,4}
    \foreach \y in {0,...,4}
    \pgfmathtruncatemacro{\xy}{\x+1+5*\y} % macro which calculate value of \x+1+5*\y
        \draw (\x*8-1,\y*8+1) rectangle (\x*8+1,\y*8-1) node[midway] {\xy};
    \end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

ライブラリの使用についてはpgfmath(デフォルトでロードされます)の章を参照してください。数学およびオブジェクト指向エンジン、ドキュメントの1010ページtikz(4.1.4aバージョン)、特定のセクション94.1 式の解析1012ページにあります。

答え2

1 cm私が正しく理解していれば、幅が で互いに区切られた正方形のボックスのテーブルを作成したいということですね1 cm

nodesを で使用できます。オプションを使用すると、デフォルトで のアウトラインが(ここでは正方形)として描画されます。minimum size1cmdrawrectangle

\documentclass[tikz,border=5mm]{standalone}

\begin{document}

\begin{tikzpicture}[font=\tiny]
  \foreach \x in {0,...,4}{
    \foreach \y [evaluate =\y as \xy using int(\x+1+5*\y)]in {0,...,4}
      \node[draw,minimum size=1cm] at (2*\x,2*\y) {\xy};
      }

\end{tikzpicture}
\end{document}

スクリーンショット

関連情報