Subject: | |
From: | |
Reply To: | |
Date: | Mon, 3 Mar 1997 20:04:41 +0100 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
>> I just made a definition command that can produce commands
>> having optional arguments
>
>You can not do this for commands that are to appear `mid word' without
>breaking TeX's ligatures. You can not have *any* non expandable
>command there. Even \relax which does `nothing' is too much. Compare
>
>ff with f\relax f
>
>So as Frank mentioned, `shortref' definitions are very constrained in
>what they can have in their definition. They can not use \def or \let
>or \futurelet or pretty much anything else that you normally would use
>for parsing. they are more or less restricted to using
>\if\noexpand#1?
>...
>
>or
>\expandafter\ifx\csname #1-xxx\endcsname\?
>...
>
>
>Well you can have optional arguments, perhaps by looking for [ with
>these methods, but you could not use the normal \@ifnextchar mechanisms.
But, continuing this theme of non-deterministic parsing, have you tried
picking up say a whole word in advance, then doing some parsing of it
(expanding all macros in it, and replacing it with a word where TeX might
regonize it.
More explicitly, one would type say
<foo\a bar>
Then the "<" would pick up the whole "foo\a bar>", expanding the \a,
finally returning "foobar". Would it be possible to recognize a ligature
"ob" by this method? (The example is otherwise entirely hypothetical.)
Hans Aberg
|
|
|