我对根据 IUPAC 输出的加成化合物有疑问。像 CuSO4·5H2O 这样的化合物在点和公式之间不应该有空格 [1,第 56 页]:
IR-4.2.4(形式)加成化合物的公式
加成化合物和可以正式视为加成化合物的化合物(包括笼状物和复盐)的化学式采用特殊格式。成分的比例用阿拉伯数字表示在成分化学式之前,成分化学式之间用中心点隔开。
我如何在反应方程式中做到这一点?
\documentclass[12pt]{article}
\usepackage[german]{babel}
\usepackage{chemmacros}
\begin{document}
\ch{CuSO4 -> [][5 H2O] CuSO4*5H2O}
\end{document}
不适用于方程式。对于简单公式,可以使用以下方法删除空格:
\ch{CuSO4}$\cdot$\ch{5H2O}
是否有可能像 IUPAC 推荐的那样获得整个事物?
参考
- IUPAC。无机化学命名法,IUPAC 建议 2005(《红皮书》)第 1 版;Connelly, NG、Damhus, T.、Hartshorn, RM、Hutton, AT 编;RSC 出版社:英国剑桥,2005.国际标准书号 978-0-85404-438-2。
答案1
首先:在输入中留出更多空格。手册\ch
中描述了的详细语法chemformula
。特别是化学计量因子和公式需要用空格包围(箭头的可选参数也是如此),即使它们是水合物等较大公式的一部分。这在手册的第 6.1 节中显示chemformula
:
您的示例的正确语法如下:
\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage{chemmacros}
\begin{document}
\ch{CuSO4 ->[ 5 H2O ] CuSO4 * 5 H2O}
\end{document}
如果您现在想调整点周围的空间,您可以将选项设置adduct-space
为适合您的值。IUPAC红色的书确实,两个点周围都没有空格和化合物和化学计量因子之间没有空格,这意味着adduct-space
和都stoich-space
需要设置为0pt
才能获得相同的输出:
\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage{chemmacros}
\chemsetup{
formula = chemformula ,
chemformula/adduct-space = 0pt ,
chemformula/stoich-space = 0pt
}
\begin{document}
\ch{CuSO4 ->[ 5 H2O ] CuSO4 * 5 H2O}
\end{document}
不过,我并不确信红色的书在这里提出印刷建议,因为本章仅描述了命名加成化合物。绿皮书另一方面,有很多排版建议。虽然没有明确提到,但做使用空格将化合物与化学计量因子分开,这意味着空格实际上做遵循 IUPAC 建议。
还请注意,你应该离开不箭头和其参数之间的空格。输入的排版结果清楚地显示了这一点:
\ch{CuSO4 -> [][5 H20] CuSO4*5H2O}