我正在尝试写出一个公式,但无法让它发挥作用chemmacros
我想要的是 2,2'-bpy,带有撇号和连字符。我得到的是 2.2"-"bpy,带有句号和连字符周围的引号(使用连字符有点烦人,因为我从未见过我需要它作为公式中的键而不是连字符。所以你必须把它放在引号中。你必须在第二个 2 后添加一个空格,这样它们就不会变成下标。)
MWE,下面给出了正在发生的事情的示例。
\documentclass{article}
\usepackage{chemmacros}
\chemsetup{formula=chemformula, %use chemformula instead of say, mhchem
}
\begin{document}
\ch{(UO2)2( 2, 2 \chemprime "-" bpy)(CH3CO2)(O)(OH)}
\ch{UO2 "-" H2O2 "-" K2CO3}
\end{document}
答案1
宏后空格被忽略这就是为什么
\ch{(UO2)2( 2, 2 \chemprime "-" bpy)(CH3CO2)(O)(OH)}
chemformula
看到以下输入(按出现顺序):
(UO2)2(
解释为公式2,
解释为化学计量因子2
解释为化学计量因子\chemprime "-"
解释为公式bpy)(CH3CO2)(O)(OH)
解释为公式
在化学计量因子中,小数可以用逗号或点输入,但输出(选项decimal-marker
)始终是一个点。化学计量因子在输出(选项)中后面有一个空格stoich-space
。化合物内部"
不会被删除。
自从2,2'-联吡啶从逻辑上讲,它更像是一种化学物质姓名比公式我会逃避整个事情——这可以防止数字被排版为下标,防止逗号和破折号的转换:
\ch{(UO2)2( "2,2\chemprime-bpy" )(CH3CO2)(O)(OH)}
甚至
\ch{(UO2)2( "\iupac{2,2'-bpy}" )(CH3CO2)(O)(OH)}
完整示例:
\documentclass{article}
\usepackage{chemmacros}
\chemsetup{
formula=chemformula, %use chemformula instead of say, mhchem
}
\begin{document}
\ch{(UO2)2( 2, 2 \chemprime "-" bpy)(CH3CO2)(O)(OH)} \par
\ch{(UO2)2( "2,2\chemprime-bpy" )(CH3CO2)(O)(OH)} \par
\ch{(UO2)2( "\iupac{2,2'-bpy}" )(CH3CO2)(O)(OH)}
\end{document}