[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [help-texinfo] No index in PDF manual
From: |
Gavin Smith |
Subject: |
Re: [help-texinfo] No index in PDF manual |
Date: |
Wed, 3 Apr 2019 09:41:35 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Apr 02, 2019 at 04:51:37PM -0600, Karl Berry wrote:
> Anyway, the answer is, until your mail to me of a couple days ago, I
> copied texinfo.tex from git into gnulib. As has been done since CVS repo
> days. Now I am no longer doing that, and the gnulib texinfo.tex will
> not be updated again until you tell me it should.
>
> [...]
>
> I can change gnulib to update only from the releases on ftp.gnu.org.
> I guess I may as well go ahead and make that the rule now? -k
That seems to me to be a good idea.
> A new release of Texinfo can only help, but it won't be a full solution.
> In practice, texinfo.tex is updated asynchronously from all else,
> sometimes by years. In either direction.
>
> How about this: in the new texi2dvi, pass something like \let\txidxat1
> on the command line to TeX. Then, if that control sequence is defined,
> the new texinfo.tex writes the idx files with @ chars. Otherwise it
> continues to use the \ chars.
>
> Admittedly it's ugly on several levels, but at least then I think there
> would be a chance for people to use the new texinfo.tex with the old
> texi2dvi, and vice versa.
This could work I suppose, although it would make texinfo.tex more
complicated than it was, rather than simpler. I will experiment.
The conditional would have to be added in a non-intrusive way to
the sources, as there would be no prospect that it could be removed any
time soon (until new versions of texi2dvi become prevalent).
There are many cases to consider, such as the use of backslashes (or
at signs) in the text of index entries, or macros. I can't be confident
that there wouldn't be an error somewhere. Using @ in index files is
intended to reduce the likelihood of subtle bugs.
At least omitting the index makes the problem clear, instead of some TeX
error message being output when the user tries to run TeX, or incorrect
text being output (which would be especially bad if the index was
printed). We could output more information about how to upgrade
texi2dvi where the index should be, and make the warning message that is
output with \message more obvious.
I've had another idea: add a conditional like \txiindexbackslash to use
backslash as the escape character, and refer to this in the note where
the index should be. Then the user would at least have the choice of
trying to typeset the index with their version of texi2dvi
(using 'texi2dvi -t @set\ txiindexbackslash'), even if
upgrading texi2dvi or running texindex by hand would be better options.