who can fix babel-french incompatibility with crossreftools

Murray Eisenberg murrayeisenberg at gmail.com
Sun Oct 13 21:30:42 CEST 2019


David,

Never mind: it seems that inserting that code once after I load crossreftools avoids the errors.

Thank you so much! I dreaded having to poke into crossreftools and patch command after command.

Would you mind posting this workaround as an answer to this?

	https://tex.stackexchange.com/questions/510591/babel-and-crossreftools-incompatibility/510641#510641



> On 13 Oct2019, at 3:24 PM, Murray Eisenberg <murrayeisenberg at gmail.com> wrote:
> 
> Is that a one-place code addition I need to make, or is it something I need to use to patch each and every command in crossreftools that uses the csname…endcsname construction?
> 
> [I _said_, in effect, that I’m nearly clueless so far as pure TeX is concerned(.I can get around OK with LaTeX constructs.)]
> 
>> On 13 Oct2019, at 1:38 PM, David Carlisle <d.p.carlisle at gmail.com> wrote:
>> 
>> On Sun, 13 Oct 2019 at 18:28, Zdenek Wagner <zdenek.wagner at gmail.com> wrote:
>>> 
>>> Hi,
>>> 
>>> you have to patch all macros where you need a colon with category 12,
>>> for instance:
>> 
>> 
>> I think it's better just to make the active : definition safe in
>> \label (by making it safe in a csname)
>> 
>> \let\zzz\active at prefix
>> \def\active at prefix{\ifincsname\expandafter\string\else\expandafter\zzz\fi}
>> 
>> should make all babel shorthand characters be protected by \string in
>> such constructs.
>> 
>> David
>> 
>> 
>>> 
>>> \let\origlabel\label
>>> \def\label{\begingroup\catcode`\:12\inactivelabel}
>>> \def\inactivelabel#1{\endgroup\origlabel{#1}}
>>> 
>>> This is a general problem with babel and nobody is able to fix all
>>> packages with all languages. If you are not forced to use babel,
>>> consider switching to XeLaTeX and polyglossia. You will not have so
>>> many problems.
>>> 
>>> Zdeněk Wagner
>>> http://ttsm.icpf.cas.cz/team/wagner.shtml
>>> http://icebearsoft.euweb.cz
>>> 
>>> ne 13. 10. 2019 v 17:38 odesílatel Murray Eisenberg
>>> <murrayeisenberg at gmail.com> napsal:
>>>> 
>>>> Because babel-french makes the colon (:) an active character, the functions in the crossreftools cause errors with \label when the argument of \label includes a colon. See:
>>>> 
>>>> https://tex.stackexchange.com/questions/511030/another-babel-french-incompatibility-with-crossreftools
>>>> 
>>>> https://tex.stackexchange.com/questions/510591/babel-and-crossreftools-incompatibility/510641#510641
>>>> 
>>>> Who can fix this? (I am unqualified: the TeX in crossreftools is well beyond my very rudimentary knowledge of pure TeX.)
>>>> 
>>>> The package maintainer is Christian Hupfer, but according to his tex.stackexchange.com profile, he has stopped reading tex.stackexchange and “returned to the Black Forest."
>>>> ---
>>>> Murray Eisenberg murrayeisenberg at gmail.com
>>>> 503 King Farm Blvd #101 Home (240)-246-7240
>>>> Rockville, MD 20850-6667 Mobile (413)-427-5334
>>>> 
>>>> 
>>> 
> 
> ---
> Murray Eisenberg			murrayeisenberg at gmail.com
> 503 King Farm Blvd #101	Home (240)-246-7240
> Rockville, MD 20850-6667	Mobile (413)-427-5334
> 
> 

---
Murray Eisenberg			murrayeisenberg at gmail.com
503 King Farm Blvd #101	Home (240)-246-7240
Rockville, MD 20850-6667	Mobile (413)-427-5334





More information about the tex-live mailing list