Using lacheck on LaTeX3 styles

Zdenek Wagner zdenek.wagner at
Thu Mar 10 00:14:21 CET 2022

I think that the problem of LaTeX3 is that the \catcode of an
underscore is set to 11 (letter). If you just remove a check of
unwanted spaces, you create a risk of unwanted spaces remained
undetected. The proper solution is to add the underscore to the list
of letters. If I understand LaTeX3 styles, \my_macro is a valid
control sequence and TeX is then in a mode of gobbling spaces. If
lacheck is unaware of the underscore being a letter, then \my_macro
means that the control sequence is \my, it is followed by an
underscore with the \catcode as defined in math followed by letters
macro (\catcode 11) and all following spaces are collapsed to a single
space (see The TeXbook, Chapter 7, How TeX reads what you write).

Zdeněk Wagner

st 9. 3. 2022 v 23:36 odesílatel Karl Berry <karl at> napsal:
>     Therefore I’d like to suggest, to test for the keyword
>     `\ProvidesExplPackage’, to switch of this test/warnings.
> Sounds sensible, but it's not something I want to take on
> implementing. If you or someone else can provide a patch, great.
> --thanks, karl.

More information about the tex-live mailing list.