![Chemfigs 的移动标签](https://linux22.com/image/391433/Chemfigs%20%E7%9A%84%E7%A7%BB%E5%8A%A8%E6%A0%87%E7%AD%BE.png)
如何修改或调整标签的垂直和水平对齐?如果我在所需标签之前或之后添加空格,我可以进行水平调整。但是,我无法弄清楚垂直调整。有办法吗?请告诉我,谢谢。
\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}