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,輸出是不同的,後面沒有空格!!,但化學式後面仍然有空格。

在此輸入影像描述

相關內容