
나는 두 뉴클레오티드 사이의 수소 결합을 설명하려고 노력하고 있습니다. 그러나 chemfig는 하나를 다른 하나 아래에 배치합니다. 수평으로 인접하게 배치하려면 어떻게 해야 합니까?
\documentclass[11pt,letterpaper]{article}
\usepackage{chemfig}
\begin{document}
\chemfig{N*6([:270](-sugar)-=(-)-(=O@{d})-NH@{b}-(=O)-)}{Thymine}
\chemfig[shift={(3,2)}]{[:90]N*6(-*5(-N(-sugar)-=N-)=-(-NH_2@{a})=N@{c}-=)}{Adenine}
\chemmove{ \draw[,,,,,dash pattern=on 2pt off 2pt] (a)--(b); \draw[,,,,,dash pattern=on 2pt off 2pt] (c)--(d); }
\end{document}
답변1
분자를 나란히 배치하는 데 사용할 수 있는 한 가지 방법은 명령을 사용하는 것입니다 \chemname{<molecule>}{<name>}
. 이는 분자 자체 아래에 분자 이름을 배치하는 추가 효과도 있습니다.
그 외에도 그림이 더 좋아 보이도록 약간의 변경을 했습니다.
[shift={(0,-2.5)}]
대신 두 분자의 적절한 수직 정렬을 위해 사용됩니다 .- 노드 배치를 다음으로 옮겼습니다.~ 전에코드에서와 같이 원자 뒤가 아닌 원자 자체입니다.
chemfig
패키지 문서 에서 다음 구문을 확인하세요a node on an atom using the syntax “@{<name>}” immediately before the relevant atom
. 이렇게 하면 화살표가 올바른 위치에서 시작하고 끝나게 됩니다. - 대신에 고리에 대한 결합이 H가 아닌 N 원자에 붙어 있다고 가정하기 때문에 변경했습니다
NH2
.H2N
(내 화학은 약간 녹슬었습니다..:p
)
\documentclass[11pt,letterpaper]{article}
\usepackage{chemfig}
\begin{document}
\chemname{%
\chemfig{N*6([:270](-sugar)-=(-)-(=@{d}O)-N(-@{b}H)-(=O)-)}
}{Thymine}
\qquad
\chemname{%
\chemfig[shift={(0,-2.5)}]{[:90]N*6(-*5(-N(-sugar)-=N-)=-(-@{a}H_2 N)=@{c}N-=)}
}{Adenine}
\chemmove{%
\draw[dash pattern=on 2pt off 2pt] (a)--(b);
\draw[dash pattern=on 2pt off 2pt] (c)--(d);
}
\end{document}
추신. H 본딩을 위해 어떤 화살표가 어디로 가야할지 잘 모르겠습니다. 적합하다고 생각되는 대로 수정하세요.
답변2
고마워요 트로이. 그게 성공했어요. 실제로 나는 H-결합이 잘못된 위치(서로 교차)를 가리키고 있다는 것을 깨달았습니다. 여기에 업데이트가 있습니다.
\documentclass[11pt,letterpaper]{article}
\usepackage{chemfig}
\begin{document}
\chemname{%
\chemfig{
N*6([:0](-sugar)-(=O)-N(-@{b}H)-(=@{d}O)-(-)=-)
}
}{Thymine}
\qquad
\chemname{%
\chemfig[shift={(-0.5,-1.25)}]{
[:90]N*6(-*5(-N(-sugar)-=N-)=-(-@{a}H_2 N)=@{c}N-=)
}
}{Adenine}
\chemmove{%
\draw[-,dash pattern=on 2pt off 2pt] (a)--(d);
\draw[-,dash pattern=on 2pt off 2pt] (c)--(b);
}
\end{document}