是否可以使用节点作为锚点?

是否可以使用节点作为锚点?

我正在尝试重新创造相当复杂的反应方案使用 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,这就是为什么我认为我必须做以下舞蹈的原因:

  1. 放置cys节点,以便ori1节点得到定义:

    \node (cys) at (0,0) {\chemfig{-[@{ori1,0}2]S-H}};
    
  2. 移动cys到其新的(固定)位置,锚定在ori1的坐标处(这是我不知道的步骤)。

这样够清楚了吗?如果不够清楚,那么我今晚会试着添加一张图片。

相关内容