
Следующий код рисует 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}
percusse упоминает alphalph
пакет в комментарии, и он \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}