我最近发现了 modiagram 包,它很有帮助,问题是它只支持最多“p”个轨道,而我需要“d”,我设法通过移动 \AO 来做到这一点,问题是不断思考试图管理正确的分离和一切是令人筋疲力尽的,所以我想起了 tikz 如何使用定位库来设置节点的相对位置,有没有办法让我们将 \AO 设置为 d 轨道,通过相互参考来引用第一个和其余轨道的位置?
这是一个具体的例子:
% before begin document:
%
% \usepackage{modiagram} % Molecular orbital diagram
% \setmodiagram{names, labels, labels-fs=\tiny, AO-width=6mm}
\begin{modiagram}
% left
\AO( 5.0mm){s}[label=$x^2$-$y^2$] { 0; }
\AO(12.5mm){s}[label=$yz\phantom{^0}$] { 0; }
\AO(20.0mm){s}[label=$z^2$] { 0; }
\AO(27.5mm){s}[label=$xz\phantom{^0}$] { 0; }
\AO(35.0mm){s}[label=$xy\phantom{^0}$] { 0; }
\node at (20.0mm, -1)
{\tiny Ausencia de campo exterior};
% middle
\AO(50.0mm){s}{1; }
\AO(57.5mm){s}{1; }
\AO(65.0mm){s}{1; }
\AO(72.5mm){s}{1; }
\AO(80.0mm){s}{1; }
\node at (65.0mm,-1)
{\tiny Campo Esférico};
% right below
\AO( 95.0mm){s}[label=$yz$]{ .4; }
\AO(102.5mm){s}[label=$xz$]{ .4; }
\AO(110.0mm){s}[label=$xy$]{ .4; }
% right above
\AO(102.5mm){s}[label=$x^2$-$y^2$] {1.6; }
\AO(110.0mm){s}[label=$z^2$] {1.6; }
\node at (102.5mm, -1)
{\tiny Campo Octaédrico};
\draw[<->]
(90mm,1.6)
-- node[left]{\tiny $0.6\,\Delta_{\text{oct}}$}
(90mm,1.0);
\draw[<->]
(90mm,1.0)
-- node[left]{\tiny $0.4\,\Delta_{\text{oct}}$}
(90mm,0.4);
\draw[<->]
(120mm,1.6) node[left]{\tiny e\textsubscript{g}}
-- node[right]{\tiny $\Delta_{\text{oct}}$}
(120mm,0.4) node[left]{\tiny t\textsubscript{2g}};
\connect{AO5 & AO6, AO10 & AO11, AO10 & AO14}
\EnergyAxis
\node at (0,1)[above, rotate=90]{\tiny Energia};
\end{modiagram}
我想要的是这样的
\begin{modiagram}
%[names, labels, labels-fs=\tiny, AO-width=6mm]
% left
\AO( 5.0mm){s}[label=$x^2$-$y^2$] { 0; }
\AO(right=of AO1){s}[label=$yz\phantom{^0}$] { 0; }
\AO(right=of AO2){s}[label=$z^2$] { 0; }
\AO(right=of AO3){s}[label=$xz\phantom{^0}$] { 0; }
\AO(right=of AO4){s}[label=$xy\phantom{^0}$] { 0; }
.
.
.
.
关于如何做类似的事情有什么建议吗?