[tex-eplain] \optionalarg delimitation

Rodolfo Medina rodolfo.medina at gmail.com
Fri May 15 19:28:41 CEST 2009


On Fri, May 15, 2009 at 01:11:20PM +0100, Rodolfo Medina wrote:

Rodolfo Medina <rodolfo.medina at gmail.com> writes:

> How can I delimit an \@optionalarg?  E.g., suppose I want a space after it.
> In the following example:
>
> [...]
>
>> , if I don't delimit the \@optionalarg with a space after it, an extra
>> undesired horizontal glue is added between `Mary!' and `John'.



Oleg Katsitadze <olegkat at gmail.com> writes:

> Your first space comes from here:
>
>>   \else Hallo, \@optionalarg!
>                                ^
>
> Your second space comes from here:
>
>> \myhallo[Mary]
>                 ^
>
> Solution:
>
>>   \else Hallo, \@optionalarg!%


Thanks for your help.

The problem is, that in a certain macro I have something similar to:

\input /home/rodolfo/macros/eplain-3.2

\catcode`@=\letter
\def\myhallo{%
  \@getoptionalarg\@myhallo}

\def\@myhallo{%
  \ifx\@optionalarg\empty Hallo,
  \else Hallo, \bgroup\definexref{\@optionalarg!}{}{}\egroup
  \fi
}

Hallo, Mary

\myhallo[i]%
Mary

\bye

.  From the above example you can see that the only way to avoid a plus-space
after `\myhallo' seems to put a `%' after it: \myhallo[i]%.

This is uncomfortable.  That's why I was asking about delimitation.

Any other ideas?

Thanks again
Rodolfo



More information about the tex-eplain mailing list