On Sat, Sep 24, 2022 at 2:07 AM Patrice Dumas <[email protected]> wrote:

> On Tue, Sep 20, 2022 at 04:31:08PM -0700, Raymond Toy wrote:
> > Is it possible to customize what @var does (for info files) without
> > redefining @var?
> > Maxima redefines @var to
> >
> > @macro var {expr}
> > <\expr\>
> > @end macro
>
> This is not recommended, and could even be forbidden, in my opinion, to
> redefine existing Texinfo @-commands.


That puts the maxima docs in a precarious position.  I don't know the full
history but someone wanted @var{foo}) to be <foo> instead of FOO.  It's
been that way for quite some time now.

>
>
> > This breaks things like
> >
> > @table @var
> >
> > So I'm curious if there's some way to customize @var without defining it.
>
> There is @definfoenclose, but it is deprecated.  I just tested that it
> leads to a warning, but otherwise formats the output as you expected,
> I think.
>

This works fine.  I used @definfoenclose var,<,> and @var{foo} now produces
<FOO> instead of <foo>.  Perhaps that's ok to whoever redefined @var.  He
also suggested using

@table @asis
@item @var{foo}

AFAIK, there was only once case for @table @var which was quickly changed
to @table @code, which is good enough for me, even if it's not really quite
right.

However, we're kind of stuck if you disallow redefining @var and also
deprecate and remove @definfoenclose.

>
> As a side note, this is documented:
>
>    The '@table' command works with other commands besides those
>  explicitly mentioned here.  However, you can only use predefined Texinfo
>  commands that take an argument in braces.  You cannot reliably use a new
>  command defined with '@macro', although an '@alias' (for a suitable
>  predefined command) is acceptable.
>
> It does not seems to me to be a good thing to accept @-commands defined
> by @macro as @table argument, for two reasons
> * it would not be possible to know if the command should be expanded
>   immediatly like macro defined command usually are, or be expanded later
> * the use of commands in argument to @table to format table @item is
>   done during conversion, and not during parsing, at wihch time
>   @-commands defined by @macro have all been expanded.
>
> --
> Pat
>


-- 
Ray

Reply via email to