以下代码绘制了10个节点,标签从0到9。
\documentclass[a4paper,10pt,landscape]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \i in {0,...,9}{
\node (i) at (\i, \i) {\i} ;
}
\end{tikzpicture}
\end{document}
相反,我希望节点标记为从a
到j
。
是否有一个函数,给定一个整数 n,返回字母表中的第 n 个字母?我希望我的循环如下:
\foreach \i in {0,...,9}{
\node (i) at (\i, \i) {\someMagicalFunction{\i}} ;
}
答案1
一种可能性是:
\documentclass[a4paper,10pt,landscape]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach [count=\i] \j in {a,b,...,j}{
\node (\i) at (\i, \i) {\j} ;
}
\end{tikzpicture}
\end{document}
percussealphalph
在评论中提到了该包,它的\alphalph
功能正是您想要的。请注意,它\alphalph{0}
不会产生任何输出。
\documentclass{standalone}
\usepackage{tikz}
\usepackage{alphalph}
\begin{document}
\begin{tikzpicture}[scale=0.2]
\foreach \i in {1,...,100}{
\node (\i) at (\i, \i) {\alphalph{\i}} ;
}
\end{tikzpicture}
\end{document}
答案2
这将是我的第一次尝试,使用计数器(不需要额外的包):
\documentclass[a4paper,10pt,landscape]{article}
\usepackage{tikz}
\newcounter{cnti}
\begin{document}
\begin{tikzpicture}
\foreach \i in {0,...,9}{
\setcounter{cnti}{\i}\addtocounter{cnti}{1}
\node (i) at (\i, \i) {\alph{cnti}} ;
}
\end{tikzpicture}
\end{document}