(9) 反応機構 その6: 特定の箇所を通過する矢印
2025-05-02
本稿は chemfig v1.66 をもとにしています。
いくつかの反応では、矢印を特定の箇所を通過させたい場合があります。
これは例えば以下のようにすると描けます。
\schemestart
\chemfig{Li-[@{sb}]@{me}Me}
\arrow{->[\chemfig{@{h}H^+}]}
\chemfig{Me-H} \+ \chemfig{Li^+}
%
\chemmove{
\draw[red] (sb) .. controls +(-90:5mm) and +(-135:5mm) .. (me.center)
.. controls +( 45:3mm) and +( 180:5mm) .. (h);
}
\schemestop
ここで \chemmove
の中身は、 sb
から me.center
を経由して h
への矢印を描く、という意味です
(セミコロンの位置に注意して下さい)。
ポイントは (me.center)
とその前後の制御点を一直線上に置くことです。
ここでは (me.center)
の直前の制御点の角度 $-135$ と直後の制御点の角度 $45$ の間に $45 - (-135) = 180$ の関係があります。
制御点の角度をこの関係を満たさないようなものに変更すると、その点においてなめらかではなくなります。
\schemestart
\chemfig{Li-[@{sb}]@{me}{\color{black!20}Me}}
\arrow{->[\chemfig{@{h}H^+}]}
\chemfig{Me-H} \+ \chemfig{Li^+}
%
\chemmove{
\draw[red] (sb) .. controls +(-90:5mm) and +(-90:5mm) .. (me.center)
.. controls +( 0:3mm) and +(180:5mm) .. (h);
}
\schemestop
ここでは本題とは関係ないので意図的に shorten を使っていませんが、 \draw
のオプションを [red]
から
[shorten <=2pt,shorten >=3pt,red]
などに変更すると、ちょっとだけ見栄えが良くなるかもしれません (以下も同様)。
こんな感じの描き方もできます。 $\ce{H+}$ の場所を変えたこと以外は、本質的には最初の例と同じです。
\schemestart
\chemfig{Li-[@{sb}]@{me}Me-[:45,,,,draw=none]@{h}H^+}
\arrow(.mid east--.mid west)
\chemfig{Me-H} \+ \chemfig{Li^+}
%
\chemmove{
\draw[red] (sb) .. controls +(-90:5mm) and +(-135:2mm) .. (me.center)
.. controls +( 45:2mm) and +(-135:3mm) .. (h);
}
\schemestop
空の原子を通過させたい場合も同様に書くことができます。
\setchemfig{arrow label sep=8pt, atom sep=2em}
\schemestart
\chemfig{*6(-(-OMe)=*6(---(=O)-@{CX}(-[@{sbH}:60]@{H}H)(-[:120]H)-)-=(-O|Me)-=)}
\arrow{->[\chemfig{Li-[@{sb}]@{C}~}]}[,2]
\chemfig{*6(-(-OMe)=*6(---(=O)-\charge{30:2mm=$\ominus$}{}(-[:90]H)-)-=(-O|Me)-=)}
%
\chemmove{
\draw[red] (sb) .. controls +(-90:3mm) and +(-90:3mm) .. (C)
.. controls +(90:10mm) and +( 0:9mm) .. (H);
%
\draw (sbH) .. controls +(0:3mm) and +(0:5mm) .. (CX);
}
\schemestop
\setchemfig{arrow label sep=8pt, atom sep=2em}
\schemestart
\chemfig{(-[3]Ph)=[@{db}0]@{C}}
\arrow(.base east--.base west){->[\chemfig{@{H}H-[@{sb}]@{Br}Br}][$-$\chemfig{@{BrM}Br^\ominus}]}
\chemfig{@{p}\charge{-135:1mm=$\oplus$}{}(-[3]Ph)-[0]}
\arrow(.base east--.base west)
\chemfig{(-[3]Ph)(-[5]Br)-}
%
\chemmove{
\draw[red] (db) .. controls +(-75:5mm) and +(-65:4mm) .. (C)
.. controls +(115:6mm) and +(155:8mm) .. (H);
%
\draw (sb) .. controls +(90:5mm) and +(105:5mm) .. (Br);
%
\draw[shorten <=5pt,shorten >=8pt]
(BrM.35) .. controls +(-90:5mm) and +(-135:10mm) .. (p);
}
\schemestop