Как аннотировать рисунок Chemfig с помощью кругов и линий?

Как аннотировать рисунок Chemfig с помощью кругов и линий?

Я хочу нарисовать круги поверх молекулы chemfig, а затем соединить эти круги с элементами в таблице выше. Я дошел до этого:

\documentclass{memoir}
\usepackage{tikz}
\usepackage{chemfig}

\begin{document}
\begin{figure}
\begin{tikzpicture}[node distance=0]
    \node (foo){};
    \node (a)  [draw,minimum height=0.5cm,minimum width = 0.7cm, above of = foo, node distance = 60 pt, xshift=0cm, ]{$1$};
    \node (b)  [draw,minimum height=0.5cm,minimum width = 0.7cm, right of = a, xshift=0.7cm]{$1$};
    \node (c)  [draw,minimum height=0.5cm,minimum width = 0.7cm, right of = a, xshift=1.4cm]{$1$};
    \node (d)  [draw,minimum height=0.5cm,minimum width = 0.7cm, right of = a, xshift=2.1cm]{$0$};
    \node [above of = a, node distance = 12pt] {\small$C$};
    \node [above of = b, node distance = 12pt] {\small$O$};
    \node [above of = c, node distance = 12pt] {\small$OH$};
    \node [above of = d, node distance = 12pt] {\small$N$};

    \setatomsep{2.5em}
    \chemfig[below of = a]{H-C(-[:90]H)(-[:-90]H)-C(-[:-90]H)(-[:90]H)-O-[:60]H} 

    \draw (-0.3,0.5) circle (0.8cm);
    \draw (-0.3,0.5) -- (c);
\end{tikzpicture}
\end{figure}

\end{document}

По какой-то причине у меня возникли проблемы с тем, чтобы линия прошла в нужное место, но мне также интересно, нужно ли мне угадывать, где пройдут мои круги, или есть какой-то хороший способ выяснить местоположение атомов Chemfig?

Вот как выглядит мой текущий материал, а также грубый рисунок красным цветом, поясняющий, что еще я хотел сделать, но не успел:

введите описание изображения здесь

решение1

Я смог рисовать, используя \chemmove, remember pictureи @{}синтаксис для именования атомов и связей.

\documentclass[varwidth,border=50]{standalone}
\usepackage{tikz}
\usepackage{chemfig}

\begin{document}
\begin{tikzpicture}[remember picture, node distance=0]
    \node (foo){};
    \node (a)  [draw,minimum height=0.5cm,minimum width = 0.7cm, above of = foo, node distance = 60 pt, xshift=0cm, ]{$1$};
    \node (b)  [draw,minimum height=0.5cm,minimum width = 0.7cm, right of = a, xshift=0.7cm]{$1$};
    \node (c)  [draw,minimum height=0.5cm,minimum width = 0.7cm, right of = a, xshift=1.4cm]{$1$};
    \node (d)  [draw,minimum height=0.5cm,minimum width = 0.7cm, right of = a, xshift=2.1cm]{$0$};
    \node [above of = a, node distance = 12pt] {\small$C$};
    \node [above of = b, node distance = 12pt] {\small$O$};
    \node [above of = c, node distance = 12pt] {\small$OH$};
    \node [above of = d, node distance = 12pt] {\small$N$};
\end{tikzpicture}
\vspace{-7mm}

\setatomsep{2.5em}
\chemfig[remember picture]{H-@{c1}C(-[:90]H)(-[:-90]H)-@{c2}C(-[:-90]H)(-[:90]H)-@{o}O-[@{oh,.5}:60]H}
\chemmove{
  \draw[-latex,shorten >=.4em, red, very thick]
    (a) edge[bend right] (c1) (c1.center) circle(.7em)
    (a) edge[bend left=1em] (c2) (c2.center) circle(.7em)
    (b.south) edge[bend left=2em] (o) (o.center) circle(.7em)
    (c.south) edge[shorten >=2.1em,bend left=3em,in=170] (oh) (oh.center) circle(2.14em);
}

\end{document}

введите описание изображения здесь

Связанный контент