![在 chemfig 中将 5 环连接到两个 6 环](https://linux22.com/image/353127/%E5%9C%A8%20chemfig%20%E4%B8%AD%E5%B0%86%205%20%E7%8E%AF%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%B8%A4%E4%B8%AA%206%20%E7%8E%AF.png)
\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
五角环和六角环的角度不同。因此,需要手动指定角度。使用规则/对称结构的三角计算得出角度:
\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?-----))----)}
计算:
AD的长度是通过计算窦律三角形ADE 的角为 120°,角为 2 倍 30°。AE 和 DE 的长度即为键长。
F是B在直线AD上的正交投影,则有正交三角形ABF,AF的长度可以用AD减去键长再除以2得到。
计算角度 FAB(直角三角形,见直角三角形定义) 并与 -30°(键向 A 的方向)进行比较。结果存储在宏中
\angleA
。计算第二个相对角度,
\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(...)
环,因此双键看起来更糟。
(C) 尝试仅使用一个和两个 *6(...)` 苯环制作真正的正五边形 *5(...)
,但经过修改以适应五边形形状,因此它们是不规则的六边形。随着分子的某些旋转,我很难检测到不规则的环,但正如这里所示,缺乏完美的垂直线使这一点更加明显。
(D) 与 (C) 类似,但方式不同(结果也有点不同)。
恕我直言,在这种情况下没有好的解决方案,最不坏的选择取决于你。
\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}