Seltsamer LuaLaTeX-Fehler mit Noto CJK und Babel Onchar=IDS-Schriftarten

Seltsamer LuaLaTeX-Fehler mit Noto CJK und Babel Onchar=IDS-Schriftarten

Ich konvertiere ein mehrsprachiges Projekt in LuaLaTeX, als bei einem chemfigBefehl ein seltsamer Fehler auftritt:

! LaTeX Error: Command \rmfamily invalid in math mode.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.13     \chemfig{\charge{135:4pt={+}}{H}-{F}}

Beim Zerlegen des Codes scheint es, dass die Konfiguration babelmit onchar=ids fontsund das Ziehen des Codes NotoSerifCJK-VFdie Ursachen des Problems sind (die Schriftdatei wird heruntergeladenHier, die „Variable OTCs – TTF“). Ich vermute, chemfigdass dies wahrscheinlich nicht Teil des Problems ist, aber ich konnte es nirgendwo anders reproduzieren.

Minimales Fehlerbeispiel:

\documentclass{article}
% Loading chemfig before, between, or after the babel stuff does not change the error
\usepackage{chemfig}

\usepackage[main=english]{babel}
% Either of these two lines,
\babelprovide[import,onchar=ids fonts]{chinese}
\babelprovide[onchar=ids fonts]{french}
% combined with this line,  will cause the error
\babelfont[chinese]{rm}[Path=./assets/fonts/]{NotoSerifCJK-VFttf.ttc} % make sure file name has only one dot

\begin{document}
    \chemfig{\charge{135:4pt={+}}{H}-{F}}
\end{document}

Antwort1

Es scheint sich um einen Fehler in zu handeln babel. Versuchen Sie den folgenden Hack in der Präambel:

\makeatletter
\let\bblorg@mapselect\bbl@mapselect
\def\bbl@mapselect{\ifmmode\else\bblorg@mapselect\fi}
\makeatother

Aber ich muss das noch etwas genauer untersuchen.

verwandte Informationen