答案1
\documentclass{article}
\usepackage{modiagram}
\usetikzlibrary{positioning}
\newcommand{\annotation}[3][Cl]{\draw[<-,shorten >=5pt, latex-, thick] (#2.-90) -- ++ (0,-0.75) node {\bfseries #1};\node[above=-12pt of #2] {#3};}
\newcommand{\orbitaltitle}[2]{\node[above=5pt of #1] {\bfseries #2};}
\begin{document}
\begin{modiagram}[style=square]
\AO[A](0pt){p}{0;pair, pair,pair}
\AO[B](60pt){s}{0;up}
\AO[C](80pt){s}{0;up}
\orbitaltitle{Az}{3d\textsuperscript{8}}
\AO[D](120pt){s}{0;}
\annotation{D}{:}
\orbitaltitle{D}{4s}
\AO[E](160pt){p}{0;, ,}
\annotation{Ex}{:}
\annotation{Ey}{:}
\annotation{Ez}{:}
\orbitaltitle{Ey}{4p}
\end{modiagram}
\end{document}
这是一个修改后的版本,其中一组轨道之间没有水平间隙:
\documentclass{article}
\usepackage{modiagram}
\usetikzlibrary{positioning}
\newcommand{\annotation}[3][Cl]{\draw[<-,shorten >=5pt, latex-, thick] (#2.-90) -- ++ (0,-0.75) node {\bfseries #1};\node[above=-12pt of #2] {#3};}
\newcommand{\orbitaltitle}[2]{\node[above=5pt of #1] {\bfseries #2};}
\begin{document}
\begin{modiagram}[style=square]
\AO[A1](0pt){s}{0;pair}
\AO[A2](12pt){s}{0;pair}
\AO[A3](24pt){s}{0;pair}
\AO[A4](36pt){s}{0;up}
\AO[A5](48pt){s}{0;up}
\orbitaltitle{A3}{3d\textsuperscript{8}}
\AO[B](100pt){s}{0;}
\annotation{B}{:}
\orbitaltitle{B}{4s}
\AO[C1](148pt){s}{0;}
\AO[C2](160pt){s}{0;}
\AO[C3](172pt){s}{0;}
\annotation{C1}{:}
\annotation{C2}{:}
\annotation{C3}{:}
\orbitaltitle{C2}{4p}
\end{modiagram}
\end{document}
答案2
看起来答案是“是”,你可以在 Latex 中写出这个键图。问题是找到最适合你的那个。
我建议扫描 ctan.org,也许最好通过google
,像这样:ctan valence bond
。也可以切换到图像搜索,有时它可以更好地缩小您要查找的内容。
如果你直接在 CTAN 上搜索化学,可能会有点不知所措:https://ctan.org/topic/chemistry?lang=en。
在 CTAN 上搜索bond
直接会产生 bondgraph 包,它可能提供您想要的内容:请检查其文档。https://ctan.org/pkg/bondgraph或者债券图:https://ctan.org/pkg/bondgraphs。
将上面的 google 搜索词扩展ctan latex valence bond electrons
为 chemfig,https://mirror.marwan.ma/ctan/macros/generic/chemfig/chemfig-en.pdf。它看起来可能很复杂,但对我来说,它提供了你所需要的构建模块。
如果这一切看起来太多了,你仍然可以回到包装tikz
并直接绘制它。或者你使用一个旧的布局技巧,使用table
定位并隐藏其所有规则......这可能不是最好的方法。
从战术角度来看,最好从一个糟糕的解决方案开始,例如,即使是丑陋呈现的纯文本,也只需继续,然后再用更好的表示形式替换。
PS:还可以尝试在标签搜索中输入“chem”...它可能会给您进一步的提示。