Очень удобно использовать 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 вывод отличается: пробела после !!
химической формулы нет, но есть пробел после нее.