So entfernen Sie das Leerzeichen nach einer chemischen Formel in einer MHChem-Umgebung

So entfernen Sie das Leerzeichen nach einer chemischen Formel in einer MHChem-Umgebung

Es ist sehr praktisch, um mhchemchemische Formeln zu setzen. Es funktioniert sehr gut in englischer Sprache, aber in chinesischer Sprache (ctex) folgt auf jede chemische Formel ein Leerzeichen, was den Text unschön macht. Wie kann man dieses kleine (aber scheinbar nicht so triviale) Problem lösen? Danke.

Ich meine Folgendes:

\usepackage[version=4]{mhchem}
There is no space after \ce{HNO3} in English environment. 
如果是在中文的环境中\ce{HNO3}会有一个空格。

Das Ergebnis lautet:

Bildbeschreibung hier eingeben

Antwort1

Bildbeschreibung hier eingeben

Das Leerzeichen scheint durch den ctex-Code beim Wechsel von der lateinischen Schrift zur chinesischen Schrift hinzugefügt zu werden. Das Obige wurde mit xelatex generiert. Beachten Sie, dass das Leerzeichen auch hinzugefügt wird, nachdem !!ein Leerzeichen eingefügt wurde \mbox{}, um es zu unterdrücken, wie in der letzten Zeile gezeigt.

\documentclass{article}
\usepackage[UTF8]{ctex}
\usepackage[version=4]{mhchem}
\begin{document}

\showoutput
(\ce{HNO3})


AA \ce{HNO3} BB

中\ce{HNO3}会

中\ce{HNO3}!!会

中\ce{HNO3}\mbox{}会

\end{document}

Bei Xetex scheint das Leerzeichen im \XeTeXinterchartoksCode hinzugefügt zu sein, und bei Luatex ist die Ausgabe anders, ohne Leerzeichen, !!aber dennoch mit Leerzeichen nach der chemischen Formel.

Bildbeschreibung hier eingeben

verwandte Informationen