나는 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}
어떤 이유로 선을 올바른 위치로 이동하는 데 어려움이 있지만 원이 이렇게 어디로 가는지 추측해야 하는지 아니면 화학 무화과 원자의 위치를 알아낼 수 있는 좋은 방법이 있는지 궁금합니다.
이것은 내 현재 작업의 모습이며, 내가 더 하고 싶었지만 실제로는 수행하지 못한 작업을 설명하는 빨간색의 조잡한 그림입니다.
답변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}