我正在尝试重新创造相当复杂的反应方案使用 chemfig 和 TikZ。为此,我想将几个氨基酸侧链定位在特定位置。
我想要做的是使用这些侧链的“起源”作为定位分子的锚点:
但是,我无法使用普通锚点,因为原点坐标会根据分子的边界框而变化。此外,chemfig 手册指出,只有当分子实际放置在 时,才会计算原点坐标\chemfig
。
因此,我考虑使用 chemfig 的@
语法将一个节点(称为ori
)放置在原点,并将 chemfig 分子移动到该节点,并使用ori1
/ori2
节点作为锚点:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
Cysteine side chain
\begin{tikzpicture}
\node[draw,anchor=south west] (cys) at (0,0) {\chemfig{-[@{ori1,0}2]S-H}};
% ??? movement code ???
\end{tikzpicture}
Cysteine side chain, deprotonated
\begin{tikzpicture}
\node[draw, anchor=south west] (cys_deprot) at (0, 0) {\chemfig{-[@{ori2,0}2]S|^{-}}};
% ??? movement code ???
\end{tikzpicture}
\end{document}
但是,据我阅读 TikZ 手册所了解,无法使用其他节点作为锚点。有没有什么方法可以实现这一点?
编辑澄清:
我们只讨论第一个结构,另一个仅用于比较。我想使用图片中的项目符号(节点ori1
)作为矩形(节点)的锚点cys
。但是,ori1
直到实际放置时才知道的坐标cys
,这就是为什么我认为我必须做以下舞蹈的原因:
放置
cys
节点,以便ori1
节点得到定义:\node (cys) at (0,0) {\chemfig{-[@{ori1,0}2]S-H}};
移动
cys
到其新的(固定)位置,锚定在ori1
的坐标处(这是我不知道的步骤)。
这样够清楚了吗?如果不够清楚,那么我今晚会试着添加一张图片。