Как рисовать диаграммы уровней вращения в LaTeX?

Как рисовать диаграммы уровней вращения в LaTeX?

Великолепная картинка ниже демонстрирует связь между квантовым числомДж.и интересный параметр - параметр асимметрии луча - который связывает трехмерные моменты инерции данной молекулы. Другими словами, для одного и того же типа вращательного перехода, как энергия изменяется сформамолекулы, поскольку она переходит от вытянутой формы (формы мяча для регби) к сфероиду и, наконец, к сплющенной (форме, напоминающей фрисби).

Я пытаюсь изобразить это в 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

У меня недостаточно репутации, чтобы комментировать, поэтому я ставлю это в качестве ответа.

Связанный контент