LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Mailing list for the LaTeX3 project <[log in to unmask]>
Hans Aberg <[log in to unmask]>
Tue, 30 Jun 1998 15:17:27 +0200
Mailing list for the LaTeX3 project <[log in to unmask]>
text/plain (41 lines)
At 12:31 +0100 98/06/30, David Carlisle wrote:
>> So instead of e.g. \chk_var_or_const:N we have \chk/var_or_const:N.
>> Again: / _ : all have catcode 11.
>Perhaps allowing _ as the separator and for use within the final names
>is not ideal, although looking at your example above / looks too `hard'
>a break to me, I can read \chk_var_or_const:N as one token but \chk/
>looks too split off. Perhaps another idea would be to use _ as now, but
>not use it within the final name, as in \chk_VarOrConst:N.

  The main thing is of course keeping the module and word separator signs
different. But otherwise, I think it is mainly a question of getting used

  The variation \chk/var_or_const:N probably looks difficult to people
spending nearly all their time programming in TeX and not other languages,
but I think that this use of "_" is difficult to accept for say a
mathematician also only using TeX but which never programs in computer
languages where underscore is often used as a word separator within a name.

  There is a programming subtlety though, which is quite convenient, namely
the difference between
\@nameuse{\foo/bar}  % Call the expansion of the name "foo/bar"
\@nameuse{\foo /bar} % Call the expansion of the name "foo" appended with
    \def\@nameuse#1{\csname #1\endcsname}
as in LaTeX.

  So one can make use of this subtlety when programming, and the fact that
"/" breaks off then after a while becomes appreciative.

  But another common module separator would be :, but that is already
occupied. One could change the argument spec separator to ., so that names
soul look like \foo:bar.n or something.

  Hans Aberg
                  * Email: Hans Aberg <mailto:[log in to unmask]>
                  * Home Page: <>
                  * AMS member listing: <>