Skip to content

Fails to parse / binding required for ltxcmds.sty #905

Description

@bfirsh

I am writing a binding for icml2017.sty. When naively trying to use InputDefinitions('icml2017', type => 'sty', noltxml => 1), it fails when trying to load ltxcmds.sty:

(Processing definitions /app/local/icml2017/icml2017.sty...
(Loading /usr/local/share/perl/5.24.1/LaTeXML/Package/fancyhdr.sty.ltxml... 0.00 sec)
(Loading /usr/local/share/perl/5.24.1/LaTeXML/Package/color.sty.ltxml... 0.01 sec)
(Processing definitions /usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty...
(Processing definitions /usr/share/texlive/texmf-dist/tex/generic/oberdiek/atbegshi.sty...
(Processing definitions /usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty... 0.06 sec)
(Processing definitions /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty... 0.11 sec)
Error:latex:\GenericError LaTeX Error: Command \ already defined. Or name \end... illegal, see p.192 of the manual
	at /usr/share/texlive/texmf-dist/tex/generic/oberdiek/atbegshi.sty; line 188 col 47
	See the LaTeX manual or LaTeX Companion for explanation.
	In Core::Definition::Primitive[\GenericE... from LaTeX.pool.ltxml line 4192
	 <= Core::Stomach[@0x560c1d12b8e8] <= Core::Gullet[@0x560c1d12a9d0] <= Core::Definition::Constructor[\Requir... <= ...
File /usr/local/share/perl/5.24.1/LaTeXML/Package/icml2017.sty.ltxml had an error:

Fatal:unexpected:<endgroup> Attempt to pop last locked stack frame
	at /usr/share/texlive/texmf-dist/tex/generic/oberdiek/atbegshi.sty; line 188 col 47
	In Core::Stomach[@0x560c1d12b8e8] at /usr/share/texlive/texmf-dist/tex/generic/oberdiek/atbegshi.sty; line 188 col 47
	 <= Core::Definition::Primitive[End] <= Core::Stomach[@0x560c1d12b8e8] <= Core::Gullet[@0x560c1d12a9d0] <= Core::Definition::Constructor[\Requir... <= Core::Stomach[@0x560c1d12b8e8] <= Core::Gullet[@0x560c1d12a9d0] <= Core::Definition::Constructor[\Requir... <= Core::Stomach[@0x560c1d12b8e8] <= Core::Gullet[@0x560c1d12a9d0] <= Core::Definition::Constructor[\usepac... <= Core::Stomach[@0x560c1d12b8e8]
1 error; 1 fatal error

Just to better understand your process for supporting this sort of thing... Presumably the ideal situation is that ltxcmds.sty.ltxml would use InputDefinitions('ltxcmds', type => 'sty', noltxml => 1) and override things that need overriding.

But, in the meantime, a ltxcmds.sty.ltxml could be written that doesn't use InputDefinitions(...) to get round the fact it doesn't parse.

Does that sound about right?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions