向那些了不起的人致敬,
我想你会理解我与 MWE 所面临的悲惨问题:
\documentclass{article}
\input{tikz}
\begin{document}
\begin{tikzpicture}
\draw [->,>=latex] (-.5,0) -- (5.5,0);
\draw [->,>=latex] (0,-.5) -- (0,5.5);
\foreach \x in {0,1,2,...,5}
{
\foreach \y [evaluate = \y as \s using {(\x+\y)*(\x+\y+1)/2+\y}] in {0,1,...,5}
{
\draw (\x,\y) node{$\s$};
} ;
} ;
\end{tikzpicture}
\end{document}
得出以下结论:
你们中最敏锐的人可能已经认出了康托多项式的例证。
如您所见,“评估”的结果以浮点显示,如果您能告诉我如何消除它,我将非常高兴和感激。
提前向大家表示感谢!
答案1
默认行为\pgfmathprintnumber
给出整数结果
\draw (\x,\y) node{$\pgfmathprintnumber{\s}$};
笔记:
我用 它替换了
\input
使用\usepackage{}
LaTeX 导入包的通常方法。我消除了额外的,
;
因为这些导致Missing character: There is no ; in font nullfont!
代码:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [->,>=latex] (-.5,0) -- (5.5,0);
\draw [->,>=latex] (0,-.5) -- (0,5.5);
\foreach \x in {0,1,2,...,5}
{
\foreach \y [evaluate = \y as \s using {(\x+\y)*(\x+\y+1)/2+\y}] in {0,1,...,5}
{
\draw (\x,\y) node{$\pgfmathprintnumber{\s}$};
}
}
\end{tikzpicture}
\end{document}