TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
\newcommand name cannot include numbers, e.g., \Mycomand123

I'm trying something that I thought would be simple

\def\test2{Hello again}

Since I cannot control the naming I need to do some hacks.

\catcode30 = 11
\catcode31 = 11
\catcode32 = 11

which works for 0 and 1 but not for 2

I have also tried the \catcode´1 etc with the same result.

I get a missing number treated as zero.

If anybody has any ideas on why or another solution to include numbers in the naming of defines it would be much appreciated

share|improve this question

marked as duplicate by egreg, Claudio Fiandrino, lockstep, Martin Schröder, Thorsten Jan 2 '13 at 14:26

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

It would be useful to know a bit more about the use case here: it's possible to make numerals into 'letters', but will always be very awkward. – Joseph Wright Jan 2 '13 at 13:21
\def\testA{...} \def\testB{...} \def\testC{...} – Nicholas Hamilton Jan 2 '13 at 13:54
my plan is to change em back. at the end of the def page, and also convert when needed. – Rasmus Jan 2 '13 at 14:28
up vote 2 down vote accepted

For the original question:

  1. Number 0, 1, 2 are 48, 49, 50 (decimal) in ASCII, not 30, 31, 32 (hexadecimal).

  2. \catcode`1 should work, but not \catcode´1.

  3. Save number 11 for later use, or use other tricks to access origin numbers. e.g. \def\x{\catcode...} \x

Anyway, it's usually not a good idea to change the catcodes of numbers.

share|improve this answer
I know its no a good idea, but it is the only solution that i can find since i cannot change the name! – Rasmus Jan 2 '13 at 14:25
\catcode`1 works but not for 2 or 3 etc – Rasmus Jan 2 '13 at 14:28
the assignments for 2 3 etc don't work as having made 1 a letter it is no longer a number so can not be used to generate 11. – David Carlisle Jan 2 '13 at 16:44
ohh that right.. thanks – Rasmus Jan 3 '13 at 8:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.