chemformula:转义输入不被视为转义输入

chemformula:转义输入不被视为转义输入

当使用'foo'"foo"为了向 chemformula 提供不应被视为化学式一部分的输入时\ch{},数字仍被排版为下标。代码

\documentclass[fontsize=12pt,paper=a4]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{chemformula}
\begin{document}
\ch{Pd(0)L4} \ch{Pd'(0)'L4} \ch{Pd"(0)"L4} \ch{Pd$(0)$L4} \ch{Pd\textrm{(0)}L4} \ch{Pd(}0\ch{)L4} 
\end{document}

使用最新的 MiKTeX 发行版(pdflatex)进行编译时给出以下内容:

在此处输入图片描述

如您所见,只有调用最后一个肮脏的解决方法\ch{Pd(}0\ch{)L4}才能得到所需的输出。我还尝试通过在数学模式中输入 0 来欺骗 chemformula,但也没有用。

答案1

您必须在转义序列前后添加一个空格,无论是在文本模式还是在数学模式中。例如

\ch{Pd '(0)' L4}

代替

\ch{Pd'(0)'L4}

梅威瑟:

\documentclass[fontsize=12pt,paper=a4]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{chemformula}
\begin{document}
\ch{Pd(0)L4} \ch{Pd '(0)' L4} \ch{Pd "(0)" L4} \ch{Pd $(0)$ L4} \ch{Pd\textrm{(0)}L4} \ch{Pd(}0\ch{)L4}
\end{document} 

输出

在此处输入图片描述

正如 cgnieder 所注意到的,在数学模式下会插入一些空格。要删除它,请设置

\setchemformula{math-space=0em}

在全球范围内,或者在本地进行

\ch[math-space=0em]{Pd $(0)$ L4}

相关内容