[texhax] "@" : vowel or glottal stop ? (was : Some puzzling TeX)

Heiko Oberdiek heiko.oberdiek at googlemail.com
Sat Feb 19 15:40:13 CET 2011


On Sat, Feb 19, 2011 at 01:14:45PM +0000, Philip Taylor (Webmaster, Ret'd) wrote:

> Heiko Oberdiek wrote:
> >On Sat, Feb 19, 2011 at 10:37:16AM +0000, Philip Taylor (Webmaster, Ret'd) wrote:
> >
> >>I have never understood (and continue to fail to understand)
> >>why, when Don made it quite clear in Plain.TeX that "@" is a
> >>vowel, Leslie and his followers insist on treating it as
> >>a glottal stop.  Why one earth did they use the horribly
> >>ugly :
> >>
> >>	\@firstofone
> >
> >Because it's easy to read?
> 
> "read" as in "comprehend", or "read" as in "mentally verbalise" ?
> To be honest, I find it neither : its ugliness just jars.

It's a matter of taste.

> >>instead of the far more intuitive and elegant :
> >>
> >>	\first at fone
> >
> >What's "fone"?
> 
> I don't see "fone", I see "slash first @f one".
> 
> >There is \@ne, thus it must be \firstof at ne? Or
> >\f at rstofone, or \firstofon@, or ...?
> 
> No "must", but a definite "could".

That's the problem. If I remember "first of one" I wouldn't
know for sure where the "@" is replaced. The use of "@" is
clear for "\@firstofone", "@" is added at the beginning.
But the other naming scheme allows up to four positions:
  \f at rstofone
  \first at fone
  \firstof at ne
  \firstofon@

At least the last one can be excluded, if only spoken vowels count.
But this makes the rule even worse for the non-English speaking world.

Thus my summary is:
* If there are only few macros, the rule of vowel- at -exchange
  I can accept it as funny (elegant or whatever) for a language
  that is the mother language.
* But software grows, soon there are more than just a few macros.
  Then a clear and easy naming scheme makes life (reading, maintainance
  or whatever) much easier.
* For code that is read by people with different mother languages,
  English is a good choice, but there shouldn't be language trickery.

Yours sincerely
  Heiko Oberdiek


More information about the texhax mailing list