The alternative is to use Roman numerals, for which a package is available. I am using the LaTeX catchfile package and the \input{} command to associate a title in a set of TITLE files with \section{} commands in a set of DOCUMENT files.

I would like to have a file of catchfile definitions, with records such as:

\CatchFileDef{\t-001}{title-001.tex}{}

\CatchFileDef{\t-002}{title-002.tex}{}

\CatchFileDef{\t-003}{title-003.tex}{}

But LaTeX does not allow numerical labels such as "\title-003".

Roman numerals are workable:

\CatchFileDef{\ti}{title-001.tex}{}

\CatchFileDef{\tii}{title-002.tex}{}

\CatchFileDef{\tiii}{title-003.tex}{}

but are ugly in comparison with:

\CatchFileDef{\tzerozeroone}{title-001.tex}{}

\CatchFileDef{\tzerozerotwo}{title-002.tex}{}

\CatchFileDef{\tzerozerothree}{title-003.tex}{}
2

There are 2 best solutions below

5
On

On possibility to convert digits into their corresponding words is the numspell package:

\documentclass{article}

\usepackage{numspell}
\usepackage{pgffor}

\begin{document}

\foreach \x in {0,...,9}{
\foreach \y in {0,...,9}{
\foreach \z in {0,...,9}{

\x\y\z : \numspell{\x}\numspell{\y}\numspell{\z}

}}}

\end{document}

enter image description here

0
On

In an hour or two, using Emacs, I created a look up table which solved the problem. The English spelling of Arabic numerals appears to be less prone to error than is the use of Roman numerals.