Chemfigs 的移动标签

Chemfigs 的移动标签

如何修改或调整标签的垂直和水平对齐?如果我在所需标签之前或之后添加空格,我可以进行水平调整。但是,我无法弄清楚垂直调整。有办法吗?请告诉我,谢谢。

\usepackage{chemfig,chemmacros}
\chemsetup{modules=all}
\begin{document}
\chemname{\setbondoffset{0pt}
  \chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
  \chemfig{
    {\orbital{s}}
    -[:30]
    (-[:-30]\orbital{s})
}}{ $A_1$} \hspace{1cm} \chemname{\setbondoffset{0pt}
  \chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    p/color = blue!50, 
    p/scale = 1.3 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
  \chemfig{
    {\orbital[phase=-]{s}}
    -[:30]
    (-[:-30]\orbital{s})
}}{$B_2$ too long of a name interfere with image}

\end{document}

此外,有没有办法让该标签相对于图像居中?有没有办法让第二行最左边的图像与其他图像对齐?

在此处输入图片描述

\usepackage{chemfig,chemmacros}
\chemsetup{modules=all}
\begin{document}

\noindent Matching the above orbitals with the valence orbitals from C, we obtain the following series of ``molecular" orbitals:


\[\chemname[0.5cm]{\setbondoffset{0pt}
  \chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
  \chemfig{
    {\orbital{s}}
    -[:30]
           {\orbital[scale=2]{s}}
    (-[:-30]\orbital{s})
}}{$a_1$} \hspace{2cm} \chemname[0.5cm]{\setbondoffset{0pt}
  \chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    p/color = blue!50, 
    p/scale = 1.2 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
  \chemfig{
    {\orbital[phase=-]{s}}
    -[:30]
           {\orbital[angle=180,phase=-]{p}}
    (-[:-30]\orbital{s})
}}{$b_1$} \hspace{2cm} \chemname[0.5cm]{\setbondoffset{0pt}
  \chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    p/color = blue!50, 
    p/scale = 1.3 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
  \chemfig{
    {\orbital{s}}
    -[:30]
           {\orbital[angle=90,phase=-,scale=1.2]{p}}
    (-[:-30]\orbital{s})
}}{$a_1$}\]

\vspace{2cm}

\[\chemname[0.5cm]{\setbondoffset{0pt}
  \chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    p/color = blue!50,
    p/scale = 1.2 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
  \chemfig{
    -[:-20]{\orbital[angle=90]{p}}
    (-[:-150])
}}{$b_2$} \hspace{2cm} \chemname[0.5cm]{\setbondoffset{0pt}
  \chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    p/color = blue!50, 
    p/scale = 1.2 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
  \chemfig{
    {\orbital{s}}
    -[:30]
           {\orbital[angle=90]{p}}
    (-[:-30]\orbital{s})
}}{$a_1$} \hspace{2cm} \chemname[0.5cm]{\setbondoffset{0pt}
  \chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    p/color = blue!50, 
    p/scale = 1.2 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
  \chemfig{
    {\orbital[phase=-]{s}}
    -[:30]
           {\orbital[angle=180]{p}}
    (-[:-30]\orbital{s})
}}{$b_1$}\]
\end{document}

答案1

不同 chemfig 的垂直排列取决于您开始绘制分子的点。此点被视为分子排列的基线。对于您的情况,您可以使用较低的 CH3 基团而不是较高的 CH3 基团作为起点来修复排列:

\documentclass{article}
\usepackage{chemfig,chemmacros}
\chemsetup{modules=all}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}

\begin{document}

\noindent Matching the above orbitals with the valence orbitals from C, we obtain the following series of ``molecular" orbitals. Please note that I have used the `\chemsetup` command before the first `\chemname` command. This way you only need it once.



\chemsetup[orbital]{
    overlay ,
    opacity = .75 ,
    p/color = blue!50, 
    p/scale = 1.2 ,
    s/color = blue!50 ,
    s/scale = 1.6
  }
\setbondoffset{0pt}
\vspace{2cm}
\chemname[0.5cm]{
  \chemfig{
    -[:30]{\orbital[angle=90]{p}}
    (-[:150])
}}{$b_2$} \hspace{2cm} \chemname[0.5cm]{
  \chemfig{
    {\orbital{s}}
    -[:30]
           {\orbital[angle=90]{p}}
    (-[:-30]\orbital{s})
}}{$a_1$} \hspace{2cm} 
\chemname[0.5cm]{
  \chemfig{
    {\orbital[phase=-]{s}}
    -[:30]
           {\orbital[angle=180]{p}}
    (-[:-30]\orbital{s})
}}{$b_1$}
\end{document}

在此处输入图片描述

但是,文本在相应的图像下仍然没有真正水平居中。因此,我建议使用表格,以便更精确地控制图像和图形的位置:

\documentclass{article}
\usepackage{chemfig,chemmacros}
\chemsetup{modules=all}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}

\begin{document}

\noindent Matching the above orbitals with the valence orbitals from C, we obtain the following series of ``molecular" orbitals:

\setbondoffset{0pt}
\noindent\begin{tabular}{*{3}{C{0.333\textwidth-2\tabcolsep}}}
  \\[0.5cm]
  \chemfig{
    {\orbital{s}}
    -[:30]
           {\orbital[scale=2]{s}}
    (-[:-30]\orbital{s})
} &
  \chemfig{
    {\orbital[phase=-]{s}}
    -[:30]
           {\orbital[angle=180,phase=-]{p}}
    (-[:-30]\orbital{s})
} &
  \chemfig{
    {\orbital{s}}
    -[:30]
           {\orbital[angle=90,phase=-,scale=1.2]{p}}
    (-[:-30]\orbital{s})
} \\[0.5cm]
$a_1$ & $b_1$ & $a_1$ \\[1cm]
  \chemfig{
    -[:30]{\orbital[angle=90]{p}}
    (-[:150])
} & 
  \chemfig{
    {\orbital{s}}
    -[:30]
           {\orbital[angle=90]{p}}
    (-[:-30]\orbital{s})
} &
  \chemfig{
    {\orbital[phase=-]{s}}
    -[:30]
           {\orbital[angle=180]{p}}
    (-[:-30]\orbital{s})
}\\[0.5cm]
$b_2$ & $a_1$ & $b_1$ \\[1cm]
\end{tabular}
\end{document}

在此处输入图片描述

相关内容