Как убрать пробел после химической формулы в среде mhchem

Как убрать пробел после химической формулы в среде mhchem

Очень удобно использовать mhchemдля набора химических формул. Он отлично работает в английском письме, но при использовании китайского (ctex) каждая химическая формула заканчивается пробелом, что делает текст некрасивым. Как решить эту маленькую (но, казалось бы, не такую ​​уж и тривиальную) проблему? Спасибо.

Вот что я имею в виду.

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

Что дает результат:

введите описание изображения здесь

решение1

введите описание изображения здесь

Пробел, похоже, добавляется кодом ctex при переключении с латинского на китайский. Вышеприведенный код сгенерирован с помощью xelatex. Обратите внимание, что пробел также добавляется после !!размещения пустого символа, \mbox{}который, похоже, подавляет его, как показано в последней строке.

\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}

при использовании xetex в код, по-видимому, добавляется пробел \XeTeXinterchartoks, а при использовании luatex вывод отличается: пробела после !!химической формулы нет, но есть пробел после нее.

введите описание изображения здесь

Связанный контент