看见这个帖子,我正在寻找一种好的字母编号解决方案。在我看来,编号的显示方式取决于数字的最大值。
- 如果 MAX = 26,那么字母编号必须是
a, b, c, ..., z
。 - 如果 MAX = 26^2,那么 alpha 编号必须是
aa, ab, ac, ..., az, ba, bb, bc, ..., bz, ..., za, zb, zc, ..., zz
。 - 如果 MAX = 26^n,则字母编号必须相似,但有 n 个字母而不是 2 个。
如何通过使用一个命令和一个常数来指示用于字母编号的字母数量 n 来获得此功能?
答案1
\documentclass{article}
\usepackage{expl3,xparse}
\ExplSyntaxOn
\DeclareDocumentCommand {\alphanumbering} { O{3} m } {
\exp_last_unbraced:Nf \use_none:n {
\int_to_alph:n {
\exp_args:Nf \int_from_alph:n { \prg_replicate:nn {#1} {z} }
+ #2 } } }
\ExplSyntaxOff
\begin{document}
\alphanumbering{1}, \alphanumbering{2}, \ldots{}, \alphanumbering{26},
\alphanumbering{27}, \ldots{}, \alphanumbering{2*26},
\ldots{}, \alphanumbering{26*26}, \ldots{}, \alphanumbering{26*26*26},
\alphanumbering{26*26*26+1}.
\alphanumbering[6]{12345}
\end{document}