bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Tagging system for Texinfo


From: Gavin Smith
Subject: Tagging system for Texinfo
Date: Mon, 15 Aug 2022 00:25:00 +0100

On Fri, Aug 12, 2022 at 12:17:17PM -0700, Raymond Toy wrote:
> > It's possible that Texinfo should have more support for this kind of
> > thing (and API documentation in general) although I am not sure what
> > to suggest.  It looks like you are doing a pretty good job as it is
> > with the page.
> >
> > As there is already an index entry being created by the @def*
> > command produces the definition block, as at
> >
> > https://maxima.common-lisp.dev/docs/maxima_211.html#index-mat_005ffunction
> >
> > ideally, the extra @ctindex wouldn't need to be in there and the
> > package name could be included in the @def* command.  Something on the
> >
> 
> Unfortunately this doesn't quite work.  Functions can be in more than one
> category.  For example, bessel_j is in both the Special Functions category
> and the Bessel Functions category.

Yes, I remember this was discussed before.

https://lists.gnu.org/archive/html/help-texinfo/2021-12/msg00012.html

I've added it to the TODO file but don't know if/when/how it can be
implemented.

I'm imagining some syntax like

    @def bessel_j (@var{v}, @var{z}) @tag{Function} @tag{Bessel Functions}@
                                     @tag{Special Functions}
    The Bessel function of the first kind...
    @end def

This could be output as something looking like

    bessel_j (v, z)          [Function] [Bessel Functions] [Special Functions]

        The Bessel function of the first kind...

The "category" of definitions becomes a tag, so "@deffn {Func} foo" becomes
equivalent to "@def foo @tag{Func}.

Several questions come to mind (there may not be easy answers to these):

* Would the tagging system be an extension of the index system or
ancillary to it?
* Do we format pages listing tags like index pages?
* Do we have tag pages just for HTML output, or do we do something for
TeX/PDF/other formats as well?
* How easily could we implement "keyword" arguments like @tag{}?  We already
have @sortas{} for index entries - could we implement keyword arguments as
part of a unified scheme?  (I remember whitespace handling around @sortas
was awkward.)
* Is this even worth implementing, would Maxima use it, and what other
projects would be likely to use it?
* Is tagging just for @def-like commands or can other things get tagged
as well?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]