mhchem 方程中的旧式数字

mhchem 方程中的旧式数字

我在我的文档中使用 Lucida 字体,在文本中使用其旧式数字,在数学模式中使用其衬线数字。

但是,如何才能获得化学方程式中的直线图形呢mhchem

下面是一些示例代码(我使用 或 进行latex编译pdflatex

\documentclass{article}

\usepackage[paperwidth=90mm, paperheight=20mm, left=10pt, top=20pt]{geometry}%

\usepackage[romanfamily=bright-osf,stdmathdigits=true,scale=.9]{lucimatx}

\usepackage{mhchem}

\begin{document}
Chemical formula: \ce{2 H2O -> 2H2 + O2}
\end{document}

这就是我得到的 旧式数字 这就是我想要的 没有旧式数字

我已经尝试过了

{\fontfamily{hlh}\selectfont \ce{2 H2O -> 2H2 + O2}}

但如果方程式变得更复杂,格式就会变得混乱

我找到了有同样问题的相关条目,但这个人使用luatex文本数字(旧式数字)和 mhchem

答案1

我无法测试这一点,因为我没有购买 Lucidia 字体,但可以使用mhchem我创建的手册:

\documentclass{minimal}
\usepackage[paperwidth=90mm, paperheight=20mm, left=10pt, top=20pt]{geometry}
\usepackage[romanfamily=bright-osf,stdmathdigits=true,scale=.9]{lucimatx}
\usepackage{mhchem}

\mhchemoptions{textfontcommand=\fontfamily{hlh}\selectfont}
\mhchemoptions{mathfontcommand=\fontfamily{hlh}\selectfont\text}

\begin{document}
Chemical formula: \ce{2 H2O -> 2H2 + O2}
\end{document}

答案2

mhchem 使用活动字体。因此,如果您在文本模式下书写,您将获得旧式数字,而在数学模式下您将获得直线数字:

\documentclass{article}
\usepackage[osf]{mathpazo}
\usepackage{mhchem}

\begin{document}

\ce{2H2O -> 2H2 + O2} \qquad $\ce{2H2O -> 2H2 + O2}$

\end{document}

输出将是:

在此处输入图片描述

相关内容