[texhax] Can I do it more simple (building .sty)?
Uwe Lück
uwe.lueck at web.de
Wed Jun 24 18:32:36 CEST 2009
(answer/question mix:)
At 13:26 24.06.09, wawan wrote:
>I build .sty having a lot of newcommand like below, can I do it more simple
>
>\newcommand{\ha}{{\char10}}
>\newcommand{\hE}{{\char17}{\ha}}
>\newcommand{\he}{{\ha}{\char15}}
>\newcommand{\ho}{{\char17}{\ha}{\char20}}
>\newcommand{\hu}{{\ha}{\char23}}
>\newcommand{\hi}{{\ha}{\char25}}
This looks fine, congratulations!
You asked about \def earlier, by which you could replace the former with
\def\ha{{\char10}}
This is shorter, but \newcommand saves you from mistakes -- just to answer
your earlier question.
You might do
\newcommand{\NC}{\newcommand}
\NC{\ha}{{\char}}
etc. to save space, then you could type several definitions in one code line.
I wonder about the extra *braces* in the definitions, this is not my field
of expertise.
(Hope *real wizards* see this!)
The braces are useful here when another number follows.
But you could use octal or hexadecimal notation,
\newcommand{\ha}{\char'012}
or
\newcommand{\ha}{\char"0A}
would overcome the parsing problem I alluded to; it may even be more
helpful with font tables.
Another possibility is
\chardef\ha="0F
which, however, doesn't do the check that \newcommand does.
(It is more efficient regarding memory.)
On p. 356 of the TeXbook there are some things with \chardef, some with
\def, some with extra braces, I don't know why. I find it somewhat
difficult to find the corresponding things in LaTeX.
What language are you implementing? This might be really interesting.
Best,
Uwe.
More information about the texhax
mailing list