![chemfig 패키지로 채권 위치를 이동하는 방법은 무엇입니까?](https://rvso.com/image/286994/chemfig%20%ED%8C%A8%ED%82%A4%EC%A7%80%EB%A1%9C%20%EC%B1%84%EA%B6%8C%20%EC%9C%84%EC%B9%98%EB%A5%BC%20%EC%9D%B4%EB%8F%99%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
chemfig
이 코드를 사용하여 패키지 로 화학 구조를 생성합니다 .
\documentclass[12pt,a4paper]{standalone}
\usepackage{chemfig}
\begin{document}
\setatomsep{2.5em}
\chemfig{B(-[:35]N*5(=(-*6(=-=(-OH)-(-NO_2)=-))-=(-Ph)-(=N?[o])-))(-[:145]N*5(-?[o]=(-Ph)-=(-*6(=-=(-O-[7]-[1](=[:65]O)(-[:15]NH(-{(CH_2CH_2O)_nH})))-=-))-))(<[:225]F)(<:[:-45]F)}
\end{document}
chemfig
나는 빨간색으로 교차된 연결이 어떻게 이루어지는지 만족스럽지 않습니다 . 두 번째 원자가 아니라 N
첫 번째 원자 에서 결합이 이루어져야 합니다 .C
이 문제를 방지하려면 코드를 어떻게 변경해야 합니까?
답변1
{(}
또 다른 아이디어는 다음과 같습니다. 중괄호( 및 ) 사이에 각 괄호를 배치하면 {)}
원자처럼 처리되며(예: C
or H
) 결합의 선택적 인수를 사용하여 결합이 도착하는 위치를 결정할 수 있습니다.
<bond>[<angle>,<length factor>,<departure atom>,<arrival atom>,<TikZ options>]
여기서 <departure atom>
와 <는 arrival atom>
각각 결합이 시작되거나 끝나야 하는 원자의 위치 번호입니다.
귀하의 경우 다음 조각(나머지 MWE는 변경되지 않음)
-[,,,2]{(}CH_2CH_2O{)}_nH
준다
답변2
다음과 같이 할 수 있습니다:
\documentclass[12pt,a4paper]{standalone}
\usepackage{chemfig}
\newcommand\setpolymerdelim[2]{\def\delimleft{#1}\def\delimright{#2}}
\def\makebraces[#1,#2]#3#4#5{%
\edef\delimhalfdim{\the\dimexpr(#1+#2)/2}%
\edef\delimvshift{\the\dimexpr(#1-#2)/2}%
\chemmove{%
\node[at=(#4),yshift=(\delimvshift)]
{$\left\delimleft\vrule height\delimhalfdim depth\delimhalfdim
width0pt\right.$};%
\node[at=(#5),yshift=(\delimvshift)]
{$\left.\vrule height\delimhalfdim depth\delimhalfdim
width0pt\right\delimright_{\rlap{$\scriptstyle#3$}}$};}}
\begin{document}
\setpolymerdelim()
\setatomsep{2.5em}
\chemfig{B(-[:35]N*5(=(-*6(=-=(-OH)-(-NO_2)=-))-=(-Ph)-(=N?[o])-))(-[:145]N*5(-?[o]=(-Ph)-=(-*6(=-=(-O-[:-45]-[:10](=[:65]O)(-[:-15]NH(-[@{op,.85}:1]CH_2CH_2O-[@{cl,0.15}:0,.7]H)(-[5,0.5,,,white])))-=-))-))(<[:225]F)(<:[:-45]F)}
\makebraces[5pt,5pt]{\!n}{op}{cl}
\end{document}