chemfig에서 5-링을 2개의 6-링에 연결

chemfig에서 5-링을 2개의 6-링에 연결
\chemfig{*6(-(*5(---))-(*6(------))----)}

나에게 다음을 제공합니다 :

이렇게 연결하려면 어떻게 해야 하나요? 여기에 이미지 설명을 입력하세요


편집: 모든 제안 덕분에 다음과 같은 결과를 얻었습니다.

\documentclass{article}
 usepackage{chemfig}
\begin{document}
\chemfig{[:30]*6(-([:6,1.0705]*5(-=-))-(*6(------))----)}
\end{document}

이는 다음을 생성합니다.

여기에 이미지 설명을 입력하세요

설명:
이 구조는 두 개의 정육각형과 세 개의 정오각형으로 구성되어 있으며, 오각형의 변은 1.0705배로 확대되어 두 끝이 육각형의 꼭지점과 일치하게 됩니다. 이 접근 방식은 이중 결합을 고리의 일부로 간주하고 그 자체로 적절하게 그린다는 장점이 있습니다.
확대 계수는 "반 오각형"의 두 끝 사이의 너비를 육각형의 꼭지점 사이의 너비와 동일하게 설정하는 방정식을 푸는 데서 비롯됩니다.

2 cos(30도) l = l' + 2 sin(18도) l'

여기서 l은 육각형 변의 길이이고 l'은 미지수, 즉 오각형 변의 길이입니다. l = 1인 l'에 대해 풀면 다음과 같습니다.

(2 cos(30도))/(1 + 2 sin(18도)) = 1.0705

회전은 구조와 관련된 각도에 대한 일부 합과 차이로 계산되어야 합니다. 간결하게 하기 위해 6도 각도는 18 + 18 - 30도라고 가정하겠습니다.

답변1

모서리가 5개와 6개인 링의 경우 각도가 다릅니다. 따라서 각도를 수동으로 지정해야 합니다. 정규/대칭 구조를 사용한 삼각 계산은 각도를 제공합니다.

\documentclass{article}
\usepackage{chemfig}
\begin{document}
\pgfmathsetmacro\angleA{-acos((sqrt(3)-1)/2)+30}
\pgfmathsetmacro\angleB{-\angleA + 30}
\chemfig{*6(-(-[::\angleA]-[::\angleB]?)-(*6(-?-----))----)}
\end{document}

결과

계산을 위해 라벨이 붙은 원자가 있는 버전:

\chemfig{*6(-A(-[::\angleA]B-[::\angleB]C?)-E(*6(-D?-----))----)}

라벨이 지정됨

계산:

  1. AD의 길이는 다음과 같이 계산됩니다.부비동의 법칙각도가 120°이고 30°를 두 번 곱한 삼각형 ADE의 그림입니다. AE와 DE의 길이는 결합 길이입니다.

  2. F는 선 AD에 대한 B의 직교 투영입니다. 그러면 직교삼각형 ABF가 있습니다. AF의 길이는 AD에서 결합 길이를 빼고 그 결과를 2로 나누어 계산할 수 있습니다.

  3. 각도 FAB가 계산됩니다(직각 삼각형 참조).직각삼각형 정의) -30°와 비교하면 A를 향한 결합 방향입니다. 결과는 매크로에 저장됩니다 \angleA.

  4. 두 번째 상대 각도 \angleB각도는 절대 각도 0°를 제공하도록 계산됩니다.

결과:

\angleA: -38.529°
\angleB:  68.529°

이중 경계

하단에는 여전히 이중 경계가 적용되어 작동합니다.

\pgfmathsetmacro\angleA{-acos((sqrt(3)-1)/2)+30}
\pgfmathsetmacro\angleB{-\angleA + 30}
\chemfig{*6(-(-[::\angleA]=[::\angleB]?)-(*6(-?-----))----)}

이중 바인딩 결과

답변2

여기서 문제는 명령이 *<n>(<code>)정다각형에 대한 것이며 그리려는 5원 고리가 정다각형일 수 없다는 것입니다(상단 원자 주위의 각도는 이미 120도에 고정되어 있습니다).

내 솔루션은 시행착오 중 하나이지만, 더 우아한 다른 솔루션이 나오면 여기에 다시 게시하겠습니다.

같은 바닥

암호

\documentclass{article}
\usepackage{chemfig}

\begin{document}
\chemfig{*6(-(-[::-42]=^[::72,1.11]?)-(*6(-?-----))----)}
\end{document}

아이디어:

  • 정다각형의 일반적인 각도는 108도입니다. 12시 위치에서 시계 방향으로 가면 수정된 다각형의 각도는 120, 102, 108, 108, 102입니다. 이미 상단에 120도가 있으므로 양쪽에 추가로 -12도를 펼쳐 102를 만듭니다. 각각.
  • 이상한 각도 때문에 맨 아래 결합의 길이를 늘려야 했습니다 [::72,1.11].
  • 두 가지 방법은 ?결합이 올바르게 결합되었는지 확인하고 맨 아래 결합에서 발생하는 길이 오류를 보완합니다.

편집하다

육각형과 길이가 동일한 하단 결합을 사용하는 대체 솔루션입니다. 오각형 모양을 유지하려면 기하학에서 다음과 같이 두 개의 측면 결합을 늘려야 합니다.

길게

\chemfig{*6(-(-[::-42,1.18]=^[::72]?)-(*6(-?-----))----)}

개인적으로는 이게 더 못생겼던 것 같아요.:-p

보정

글쎄요, 깜짝 놀랐어요. 그것~이다변은 동일하지만 내각은 같지 않은 오각형을 가질 수 있습니다.정오각형. @Heiko의 방법은 결정적으로 더 좋습니다. 답변/코드는 정오각형을 생성합니다.

답변3

Heiko가 계산한 각도를 사용한 완벽한 대칭에도 불구하고 나는 뭉툭한 피롤(A)을 별로 좋아하지 않으며 Troy가 말한 것처럼 확대된 결합은 별로 도움이 되지 않습니다. 오각형 내부를 살펴보세요.

내 생각은 불규칙한 육각형이 정오각형이 아닌 대칭 등변형보다 덜 눈에 띌 수 있다는 것입니다. 그래서 다음과 같이 시도했습니다.

(B) 두 벤젠 고리의 6개 각도 중 5개 각도를 줄여서 피롤 고리와 공유하는 결합이 더 짧아지고 오각형의 뭉툭한 측면이 약간 줄어듭니다. 그러나 위쪽 각도가 108도보다 멀기 때문에 여전히 정오각형은 아닙니다. 추가 면책 조항: (a) 삼각법 계산은 수학 전문가에게 맡겼으므로 대칭은 완벽하지 않습니다(즉, 각도는 대략적인 추측으로 결정되었습니다). (b) 이 접근법은 사용 *6(...)*5(...)링을 피하므로 이중 결합이 더 나빠 보입니다.

(다) *6(...)` 벤젠고리 1개와 2개만 사용하여 진정한 정오각형을 만들려고 했으나 *5(...), 오각형 모양에 맞게 변형되었으므로 불규칙 육각형이다. 분자가 약간 회전하면 불규칙한 고리를 감지하기가 어렵습니다. 그러나 여기에 표시된 것처럼 완벽한 수직선이 없기 때문에 이를 더욱 분명하게 보여줍니다.

(D) (C)와 비슷하지만 다른 방식입니다(결과도 약간 다릅니다).

IMHO 이 경우에는 좋은 해결책이 없습니다. 가장 덜 나쁜 옵션이 무엇인지는 귀하에게 달려 있습니다.

음

\documentclass{article}
\usepackage{chemfig}
\begin{document}
\setatomsep{20pt}\footnotesize
\chemname{\chemfig{*6(?[a]=
(-[::-38.529]=^[::68.529]?[c])
-*6(-?[c]=-=?[b])=?[b]-=?[a])}}{ --- A --- }
\chemname{\chemfig{[:90](?[a]?[c]=^
(-[::-60.5]=_[::-60.5]-[::-60.5]=_[::-60.5]?[a]?[b])-[::60.5]=^[::60.5]-[::60.5]=^[::60.5]?[c](-[::-44.4]=^[::72]?[b]))}}{ --- B --- } 
\chemname{\chemfig{*6([::0]?[a]=
*5([::6]-=-?[d,2]-?[c,2]-)
-[,,,,,draw=none]*6([::-0]-[,,,,,draw=none]=[,,,,,draw=none]?[d,2]-=?[b])-[,,,,,draw=none]?[b]?[c,2]-=?[a])}}{--- C --- }
\chemname{\chemfig{*6([::6]=*5(-=--(=^[,.95]?[a]))-*6([::-12]-=-=?[a])=[,,,,,draw=none]-[,,,,,draw=none]?[a]=-)}}{--- D --- }

\chemfig{*6(?[a]=
(-[::-38.529]\chembelow{N}{H}-[::68.529]?[c])
-*6(-?[c]=-=?[b])=?[b]-=?[a])}
\chemfig{[:90](?[a]?[c]=^(-[::-61]=_[::-61]-[::-61]=_[::-61]?[a]?[b])-[::61]=^[::61]-[::61]=^[::61]?[c](-[::-48]\chembelow{N}{H}
-[::74,,1]-[::74]))} 
\chemfig{*6([::0]?[a]=
*5([::6]-\chembelow{N}{H}--?[d,2]-?[c,2]-)
-[,,,,,draw=none]*6([::-2]-[,,,,,draw=none]=[,,,,,draw=none]?[d,2]-=?[b])-[,,,,,draw=none]?[b]?[c,2]-=?[a])}
{\chemfig{*6([::6]=*5(-\chembelow{N}{H}---(=^[,.95]?[a]))-*6([::-12]-=-=?[a])=[,,,,,draw=none]-[,,,,,draw=none]?[a]=-)}

\end{document}

답변4

글쎄, 각도가 서로 맞지 않습니다. 따라서 링 구문을 사용할 수 없습니다. 대신 다음과 같이 그릴 수 있습니다.

\chemfig{*6(-(-X?)-(*6(-(-?)-----))----)}

물음표는 두 개의 6원 고리에서 나온 두 가지를 연결합니다.

여기에 이미지 설명을 입력하세요

관련 정보