chemfig 图形的近似边界框

chemfig 图形的近似边界框

如果我想让 LaTeX 自动为下图创建一个近似边界框,我可以使用 chemfig 包的某些内置功能吗?还是我需要用纯 TeX 编写代码,或者我可以使用 pgf 包来完成?

在此处输入图片描述

使用以下代码手动完成此操作非常简单:

$\chemfig{[,0.65]@{1}CH_3@{2}CH_2@{3}CH_2@{4}CH@{9}CH_2@{10}CH_2@{11}C@{12}H_3(-[:90,,7]@{5}CH_2@{6}CH_2@{7}C@{8}H_3)}$
\chemmove{
    \path[-,draw] ([xshift=-4pt]1.north) -- (2.north) -- (3.north) -- ([xshift=-4pt]4.north) --
    ([xshift=-4pt]5.north) -- (6.north) -- (7.north) -- ([xshift=7pt]8.north)
    -- ([xshift=7pt]8.south) -- (7.south) -- (6.south) -- (9.north) -- (10.north)
    -- (11.north) -- ([xshift=8pt]12.north) -- ([xshift=8pt]12.south) -- 
    (11.south) -- (10.south) -- (9.south) -- (4.south)-- (3.south) -- (2.south) -- 
    ([xshift=-4pt]1.south) -- cycle;
}

这使

在此处输入图片描述

但我想知道是否有办法挂入 chemfig 的内部并让 TeX 或 pgf 自动计算出边界框,并且可能将其“返回”为列表。

谢谢!

编辑:我知道理论上如何做这样的事情。我可以编写一个宏来迭代 chemfig 参数,即 [,0.65]CH_3CH_2CH_2CHCH_2CH_2CH_3(-[:90,,7]CH_2CH_2CH_3),在每个原子前放置一个 @ 符号,将每个节点的每个角的位置(北、南、东、西等)存储在一个变量中,然后应用一个简单的(理论上)算法来找到结构的多边形边界,这些节点充当二维平面上的点,但我希望避免这种情况。

相关内容