## LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

#### View:

 Message: [ First | Previous | Next | Last ] By Topic: [ First | Previous | Next | Last ] By Author: [ First | Previous | Next | Last ] Font: Proportional Font

Subject:

Re: Modules

From:

Date:

Tue, 30 Jun 1998 15:17:27 +0200

Content-Type:

text/plain

Parts/Attachments:

 text/plain (40 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 to:   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 "/bar" where     \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                   * Home Page:                   * AMS member listing: `