Protect \inputencoding in i18npreamble

as it might end up in a moving argument (\lstlistlistingname in book
classes).

See https://marc.info/?l=lyx-devel&m=172812937932740
This commit is contained in:
Juergen Spitzmueller 2024-10-06 16:23:05 +02:00
parent f048b2eeed
commit a16e4b206a

View File

@ -2040,7 +2040,9 @@ docstring const i18npreamble(docstring const & templ, Language const * lang,
else if (ascii_fallback)
translated = to_ascii(testenc->latexString(name).first);
else
translated = "\\inputencoding{" + texenc + "}"
// We need to \protect this as it can end up in a moving argument
// (\lstlistlistingname in book classes goes to \@mkboth via \contentsname)
translated = "\\protect\\inputencoding{" + texenc + "}"
+ s1 + langenc + s2 + to_utf8(name)
+ s1 + bufenc + s2;
preamble = subst(preamble, sub.str(), translated);