![Chemfig 在子图环境中未对齐](https://linux22.com/image/353874/Chemfig%20%E5%9C%A8%E5%AD%90%E5%9B%BE%E7%8E%AF%E5%A2%83%E4%B8%AD%E6%9C%AA%E5%AF%B9%E9%BD%90.png)
我不知道如何正确对齐以下两个用 chemfig 编写的分子。两个结构都与[t]
以下选项对齐\begin{subfigure}
。第二个结构与顶部未对齐。似乎它使用两个结构的起点(在两种情况下都是结构左边界的最高边缘)进行对齐。
是否有可能在结构周围定义一个隐形的盒子或以某种不同的方式解决这个问题?
这是我的代码:
\documentclass[a4paper]{scrartcl}
\usepackage{chemfig}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{caption}
\begin{document}
\begin{figure}[htbp]
\centering
\begin{subfigure}[t]{0.5\textwidth}
\centering
\chemfig[][scale=0.6]{CH_3-[6]-[:-30]O-[6]*6(-=-(-[6]S(=[4]O)(=[0]O)-[6]N*6(---N(-[6]CH_3)---))=-(-[:30]*6(=N-(*5(-(-[::-54]-[::-60]-[::60]CH_3)=N-N(-[::-54]CH_3)--))=-(=[2]O)-HN-[,,2]))=)}
\caption{structure 1}
\end{subfigure}%
\hfill
\begin{subfigure}[t]{0.5\textwidth}
\centering
\scalebox{1}{
\chemfig[][scale=0.6]{*6(=(-[6]O-[::60]-[6]CH_3)-(-[::-60](*6(-[,,1,2]HN-(=[6]O)-*5(-N(-[::-54]CH_3)-N=(-[::-54]-[::60]-[::-60]CH_3)--)=-N=)))=-=-)}}
\caption{structure 2}
\end{subfigure}
\caption{xyz
\label{fig:xyz}
}
\end{figure}
\end{document}
输出:
答案1
好的,明白了。我在这里找到了一种方法:http://latex.org/forum/viewtopic.php?f=45&t=23024
我通过给 tikz 一个单独的基线解决了这个问题
\chemfig[baseline=(mybase.north)][...]{...}
右上角 CH3 处的基线定义:
...[::-60]@{mybase}CH_3...
因此修正后的代码为:
\documentclass[a4paper]{scrartcl}
\usepackage{chemfig}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{caption}
\begin{document}
\begin{figure}[htbp]
\centering
\begin{subfigure}[t]{0.5\textwidth}
\centering
\chemfig[][scale=0.6]{CH_3-[6]-[:-30]O-[6]*6(-=-(-[6]S(=[4]O)(=[0]O)-[6]N*6(---N(-[6]CH_3)---))=-(-[:30]*6(=N-(*5(-(-[::-54]-[::-60]-[::60]CH_3)=N-N(-[::-54]CH_3)--))=-(=[2]O)-HN-[,,2]))=)}
\caption{structure 1}
\end{subfigure}%
\hfill
\begin{subfigure}[t]{0.5\textwidth}
\centering
\scalebox{1}{
\chemfig[baseline=(mybase.north)][scale=0.6]{*6(=(-[6]O-[::60]-[6]CH_3)-(-[::-60](*6(-[,,1,2]HN-(=[6]O)-*5(-N(-[::-54]CH_3)-N=(-[::-54]-[::60]-[::-60]@{mybase}CH_3)--)=-N=)))=-=-)}}
\caption{structure 2}
\end{subfigure}
\caption{xyz
\label{fig:xyz}
}
\end{figure}
\end{document}
其结果是: