\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \ii in {0,1,...,5} {
\foreach \jj in {0,1,...,4} {
\node at ({\ii+\jj*0.5}, {-\jj*0.8}) {$(\ii,\jj)$};
}
}
\end{tikzpicture}
\end{document}用最简单的方式,或者定义两个函数
\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}[
declare function={
px(\i,\j) = \i + \j*0.5; % x 坐标
py(\i,\j) = -\j*0.8; % y 坐标
}
]
\foreach \i in {0,...,5}
\foreach \j in {0,...,4}
\node at (px(\i,\j), py(\i,\j)) {$(\i,\j)$};
\end{tikzpicture}
\end{document}非要一次返回一对坐标,用command方式,但不推荐
\documentclass[tikz,border=10pt]{standalone}
\newcommand\labelpos[2]{#1+#2*0.5, -#2*0.8} % 👈 一次返回 x,y
\begin{document}
\begin{tikzpicture}
\foreach \i in {0,...,5}
\foreach \j in {0,...,4}
\node at (\labelpos{\i}{\j}) {$(\i,\j)$}; % 👈 完美可用
\end{tikzpicture}
\end{document}
问 tikz 利用函数简化坐标表达式