如何在数学模式 \ce 命令(XeLaTeX)中方便地使用文本模式括号?

如何在数学模式 \ce 命令(XeLaTeX)中方便地使用文本模式括号?

我正在准备一篇论文以供发表,出版商要求在文本模式下使用带有旧式数字的字体。这导致我在使用该\ce命令时使用旧式数字。没问题,我只需重新定义\ce它,使其自动处于数学模式,如下所示:

\documentclass{article}

\usepackage{mathspec}
\makeatletter % undo the wrong changes made by mathspec
\let\RequirePackage\original@RequirePackage
\let\usepackage\RequirePackage
\makeatother

\setmainfont{Constantia}
\setmathsfont(Digits){TeX Gyre Termes}
\setmathsfont(Latin){Constantia}
\setmathrm{Constantia}

\usepackage[version=4]{mhchem}
%All uses of \ce are in math mode:
\let\oldce\ce
\renewcommand{\ce}[1]{\ensuremath{\oldce{#1}}}

\begin{document}
\oldce{[Co^{II}(NCS)6]^4-}\ce{[Co^{II}(NCS)6]^4-}
\end{document}

这样我就得到了正确的数字,并且还得到了正确的减号作为奖励,但是现在括号与文本模式下的括号不匹配:

相同化学式的两个版本,每个版本都含有所需元素,但各自都有不理想的性质。

有没有办法用文本模式括号替换这些数学模式括号?也许基于这个答案

答案1

为什么不改变 mhchem 使用的文本字体呢,例如:

\documentclass{article}

\usepackage{fontspec}
\setmainfont{Constantia}
\newfontfamily\cefamily{Constantia}[Numbers=Lining,Ligatures=TeX]
\usepackage[version=4]{mhchem}
\begin{document}

\ce{[Co^{II}(NCS)6]^{123456789}-}

\mhchemoptions{textfontcommand=\cefamily}

\ce{[Co^{II}(NCS)6]^{123456789}-}
\end{document}

在此处输入图片描述

相关内容