在 tikz 循環中產生字母表中的第 n 個字母

在 tikz 循環中產生字母表中的第 n 個字母

以下程式碼繪製 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}

相反,我希望將節點標記為從aj

是否有一個函數,給定一個整數 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}

相關內容