![chemfig 图形的近似边界框](https://linux22.com/image/436769/chemfig%20%E5%9B%BE%E5%BD%A2%E7%9A%84%E8%BF%91%E4%BC%BC%E8%BE%B9%E7%95%8C%E6%A1%86.png)
如果我想让 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),在每个原子前放置一个 @ 符号,将每个节点的每个角的位置(北、南、东、西等)存储在一个变量中,然后应用一个简单的(理论上)算法来找到结构的多边形边界,这些节点充当二维平面上的点,但我希望避免这种情况。