以下代码…
\documentclass[border=2mm]{standalone}
\usepackage{chemfig}
\usepackage{chemformula}
\begin{document}
\schemestart
\chemname{\chemfig{Ca^{2+}}}{Calcium ion}
\+
\chemname{\chemfig{O(-[:30,0.7]H)-[:150](=[:90]O)-[:210](=[:-90]O)-[:150]O-[:-150,0.7]H}}{Oxalic Acid, \ch{H2C2O4}}
\arrow{->}
\chemname{\chemfig{Ca}}{Calcium}
\+
\chemname{\chemfig{O^{-}-[:150](=[:90]O)-[:210](=[:-90]O)-[:150]O^{-}}}{Oxalate, \ch{C2O4}}
\schemestop
\end{document}
...结果如下:
这里有三个问题。首先,出于某种原因,“钙离子”的标签与其他标签不一致,尽管它的标签与后面的三个分子的标签完全相同。
第二个问题是,我的文档页面standalone
太小,无法容纳相同的标签。在我看来,奇怪的是,页面大小考虑了垂直方向的标签,但没有考虑水平方向的标签。
第三个也是最后一个问题是,等式左边的第一个加号“不关心”$C^{2+}$ 下面的标签。但问题是:我不想解决这个问题完全。事实上,就等式的右侧而言,我认为这是一件非常巧妙的事情,它节省了画布上的一些空间,同时又不会太杂乱。让我恼火的是左侧,因为标签“钙离子”比“钙”长,所以在我看来,加号太近会使方案太拥挤。
我之所以在一个问题中提到上述三个问题,是因为我确信它们都可以使用相同的解决方案来解决。这肯定类似于将标签放在chemname
某个会推开其他周围物体的盒子里。我只是不知道该命令是什么,也不知道如何将其输入到搜索引擎中。
答案1
使用“chemnameinit”来调整分子名称。
不要使用 O^{-},使用 \charge 命令。注意到 O^{-} 和键之间的空格了吗?
要增加边框,请使用边框选项。由于名称是在构建分子后输入的,因此有时会出现问题。
\documentclass[border=6mm]{standalone}
\usepackage{chemfig}
\usepackage{chemformula}
\begin{document}
\chemnameinit{\chemfig{O(-[:30]H)-[:150](=[:90]O)-[:210](=[:-90]O)-[:150]O-[:-150]H}}
\schemestart
\chemname{\chemfig{Ca^{2+}}}{Calcium ion}
\+
\chemname{\chemfig{O(-[:30]H)-[:150](=[:90]O)-[:210](=[:-90]O)-[:150]O-[:-150]H}}{Oxalic Acid, \ch{H2C2O4}}
\arrow{->}
\chemname{\chemfig{Ca}}{Calcium}
\+
\chemname{\chemfig{\charge{30=-}{O}-[:150](=[:90]O)-[:210](=[:-90]O)-[:150]\charge{30=-}{O}}}{Oxalate, \ch{C2O4}}
\schemestop
\end{document}