如何在 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 ,输出有所不同,后面没有空格!!,但化学式后面仍然有空格。

在此处输入图片描述

相关内容