(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