bug-texinfo
[Top][All Lists]
Advanced

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

Re: [bug #46083] DeclareUnicodeCharacter breaks if used twice for same c


From: Gavin Smith
Subject: Re: [bug #46083] DeclareUnicodeCharacter breaks if used twice for same character
Date: Thu, 1 Oct 2015 09:23:51 +0100

On 30 September 2015 at 20:19, Oliver Heimlich <address@hidden> wrote:
> I have a manual for a free software package, which is written in utf-8
> encoding. Export to text/info/html works as expected, but I have to add the
> following to be able to export it to pdf:
>
>
> @tex
> \DeclareUnicodeCharacter{00A0}{\ }
> … several other characters …
> @end tex

If you want extra Unicode characters, I'd guess it's better to write
to the list than add them yourself. Of course you have the right to do
so, but don't expect it to work in other versions. In general the same
applies if you use or redefine any control sequence that isn't
documented. As long as there aren't hundreds of extra characters, I
don't see why they couldn't be added.

> This has worked for me for a while, but it breaks on later Texinfo versions
> with the following error:
>
>
> /path/to/octave-interval/octave-interval/doc/manual.t2d/pdf/xtr/manual.texinfo:8:
> Internal error, already defined: 00A0.
>    \DeclareUnicodeCharacter ..., already defined: #1}
>                                                      \fi \expandafter
> \globalle...
>    l.8 \DeclareUnicodeCharacter{00A0}{\ }
>
>
> As far as I have found out, there have been the following relevant changes to
> TexInfo in the meantime: (1) The character 00A0 has been declared globally,
> which is great, and (2) commit 6086 has introduced error checking, which
> forbids re-declarations for the same character.

Well the error checking was there for a reason - because we had a
duplicate definition by mistake.

I suppose if you are in the game of using undocumented Texinfo macros,
why not copy the definition of \DeclareUnicodeCharacter that doesn't
check for duplicate definitions from the older version and enclose it
in a @tex block (possibly adding a \global before some definitions).
Don't expect that to be stable either, though.

Another idea is just to copy the version of texinfo.tex you've hacked
against into the same directory as your manual source files, so it
will get used instead.



reply via email to

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