LaTeX で回転レベル図を描くにはどうすればいいですか?

LaTeX で回転レベル図を描くにはどうすればいいですか?

下の美しい図は量子数とJそして興味深いパラメータであるレイ非対称性パラメータは、特定の分子の3次元慣性モーメントに関係しています。言い換えれば、同じタイプの回転遷移について、エネルギーが分子は、長球形(ラグビーボールのような形)から回転楕円体、そし​​て最終的には扁平形(フリスビーのような形)へと変化します。

LaTeX で表現しようとしているのですが、ラベルが適切に表示されません。何かアイデアがあれば、ぜひ教えてください。

以下に私の MWE を示します (putianyi888 が投稿したリンクからインスピレーションを得ました)

\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.callouts}
\tikzset{
    level/.style = {
        ultra thick,
        blue,
    },
    connect/.style = {
        dashed,
        red
    },
    notice/.style = {
        draw,
        rectangle callout,
        callout relative pointer={#1}
    },
    label/.style = {
        text width=2cm
    }
}
\begin{document}
    \begin{tikzpicture}



\draw[level](2,0) -- node[above] {left} (3,0); \draw[connect](3,0) -- (7,0); \draw[level](7,0) -- (8,0);

\draw[level](2,2) -- (3,2); \draw[connect](3,2) -- node[below](7,3); \draw[level](7,3) -- (8,3); \draw[connect](3,2) -- (7,1); \draw[level](7,1) -- (8,1);


\end{tikzpicture}
\end{document}

答え1

マクロ内にノードを配置し\draw、左または右に移動することができます。この方法で、ノードを適切に配置できます。たとえば、次のようになります。

\documentclass[tikz]{standalone}
\tikzset{
    level/.style = {
        ultra thick,
        blue,
    },
    connect/.style = {
        dashed,
        red
    },
    label/.style = {
        align=center,
        text width=3em,
        text depth=0pt, 
    },
    labela/.style = {
        label,
        xshift=-2.5em
    },
    labelb/.style = {
        labela,
        xshift=1.5em
    },
    labelc/.style = {
        label,
        xshift=1.25em
    },
    labeld/.style = {
        label,
        xshift=1em
    },
    labele/.style = {
        labeld,
        xshift=1.5em
    }
}

\begin{document}
\begin{tikzpicture}

\draw[level](2,0) node[labela] {$3$} node[labelb] {$2$} -- ++(1,0); 
\draw[level](2,2) node[labela] {$3$} node[labelb] {$3$} -- ++(1,0); 

\draw[level](7,0) -- ++(1,0) node[labelc] {$3_{21}$} ;
\draw[level](7,3) -- ++(1,0) node[labelc] {$3_{30}$} ; 
\draw[level](7,1) -- ++(1,0) node[labelc] {$3_{31}$} ;

\draw[level](12,4) -- ++(1,0) node[labeld] {$3$} node[labele] {$0$} ;
\draw[level](12,3) -- ++(1,0) node[labeld] {$3$} node[labele] {$1$} ;

\draw[connect](3,0) -- (7,0); 
\draw[connect](3,2) -- (7,3); 
\draw[connect](3,2) -- (7,1); 
\draw[connect](8,3) -- (12,4); 
\draw[connect](8,1) -- (12,3); 
\draw[connect](8,0) -- (12,3); 

\node[labela] at (2,-1) {$J$};
\node[labelb] at (2,-1) {$K_{a}$};
\node[labelc] at (8,-1) {$J_{K_{a}K_{c}}$};
\node[labeld] at (13,-1) {$J$};
\node[labele] at (13,-1) {$K_{c}$};

\node at (2.5,-1.5) {$(a)$};
\node at (7.5,-1.5) {$(b)$};
\node at (12.5,-1.5) {$(c)$};

\end{tikzpicture}
\end{document}

結果:

ここに画像の説明を入力してください

答え2

このスレッドを確認しましたか?TeX によるエネルギー準位図

コメントするには評判が足りないので、回答として載せておきます。

関連情報