我试图让带有 chemfig 图案的图形适合我的列。我无法使用 scalebox 缩放整个图形,因为使用 \chemname{} 设置的文本也会缩放。
\setatomsep{1.2em}
\setbondoffset{0.1em} % 'Margin Width'
\setarrowdefault{,0.6,}
\definesubmol{hydroxy}[HO]{OH}
\definesubmol{foo}{
-[::180,2,,,dash pattern=on 2pt off 2pt]O
-[::60]
=[::-60]
-[::60](-[::-60]R)
=[::60]
-[::60](-[::-60]!{hydroxy})
=[::60](
-[::-60]O
-[::60,1.5,,,dash pattern=on 2pt off 2pt]
)
-[::60]
}
\definesubmol{bar}{
-[::180,2,,,draw=none]!{hydroxy}
-[::60]
=[::-60]
-[::60](-[::-60]R)
=[::60]
-[::60](-[::-60]!{hydroxy})
=[::60](
-[::-60]!{hydroxy}
)
-[::60]
}
\schemestart
\chemname{
\chemfig[][scale=.5]{
Fe
(!{foo})
([::120]!{bar})
([::240]!{bar})
}
}{Mono}
\arrow{<=>[pH]}
\chemname{
\chemfig[][scale=.5]{
Fe
(!{foo})
([::120]!{foo})
([::240]!{bar})
}
}{Bis}
\arrow{<=>[pH]}
\chemname{
\chemfig[][scale=.5]{
Fe
(!{foo})
([::120]!{foo})
([::240]!{foo})
}
}{Tris}
\schemestop
我想减少箭头两侧的间距,以便留下更多空间来缩放分子,或者为“pH”文本腾出更多空间。
答案1
我设法利用 clemens 的评论和 chemfig 手册的一些帮助来做到这一点。
我添加了以下几行:
\setcompoundsep{1.5em}
\setarrowoffset{1pt}
结果如下:
\setatomsep{1.2em}
\setbondoffset{0.1em}
\setcompoundsep{1.5em}
\setarrowoffset{1pt}
\definesubmol{hydroxy}[HO]{OH}
\definesubmol{foo}{
-[::180,2,,,dash pattern=on 2pt off 2pt]O
-[::60]
=[::-60]
-[::60](-[::-60]R)
=[::60]
-[::60](-[::-60]!{hydroxy})
=[::60](
-[::-60]O
-[::60,1.5,,,dash pattern=on 2pt off 2pt]
)
-[::60]
}
\definesubmol{bar}{
-[::180,2,,,draw=none]!{hydroxy}
-[::60]
=[::-60]
-[::60](-[::-60]R)
=[::60]
-[::60](-[::-60]!{hydroxy})
=[::60](
-[::-60]!{hydroxy}
)
-[::60]
}
\schemestart
\chemname{
\chemfig[][scale=.6]{
Fe
(!{foo})
([::120]!{bar})
([::240]!{bar})
}
}{Mono}
\arrow{<=>[pH]}
\chemname{
\chemfig[][scale=.6]{
Fe
(!{foo})
([::120]!{foo})
([::240]!{bar})
}
}{Bis}
\arrow{<=>[pH]}
\chemname{
\chemfig[][scale=.6]{
Fe
(!{foo})
([::120]!{foo})
([::240]!{foo})
}
}{Tris}
\schemestop