当使用'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}