Przykładowe mechanizmy w chemfig: mechanizmy wieloetapowe, zakrzywione strzałki i haczyki rodnikowe

Opublikowano: 17 paź 2026 · Autor: Scidart Academy · Czas czytania: ~11 min
Kod chemfig \chemmove w ciemnym panelu kodu obok rodnika chloru odrywającego wodór od metanu, narysowanego trzema strzałkami-haczykami
Mechanizmy wieloetapowe i rodnikowe z zakrzywionymi strzałkami i haczykami, narysowane w MolDraw i wyeksportowane jako chemfig.

Krótka odpowiedź: poniżej znajduje się pięć kompletnych mechanizmów zapisanych w chemfig: dwie rodnikowe reakcje łańcuchowe narysowane jednoelektronowymi haczykami i trzy mechanizmy polarne narysowane dwuelektronowymi zakrzywionymi strzałkami. Każdy z nich to plik .tex, który możesz pobrać i skompilować w pdflatex (uruchom dwa razy). Aby któryś zmienić, wklej plik na płótno MolDraw, edytuj go myszą i wybierz Download → chemfig (.tex).

Pięć przykładów

Rodnikowe chlorowanie metanuInicjacja, dwa etapy propagacji i terminacja, pod nagłówkami etapów. Homoliza, haczyki spotykające się w nowym wiązaniu. radical-chlorination-of-methane.tex
Addycja HBr wbrew regule MarkownikowaEfekt nadtlenkowy w czterech etapach: homoliza nadtlenku, powstanie atomu bromu, addycja do propenu i oderwanie H. Kropki rodnikowe na węglach we wzorze szkieletowym. anti-markovnikov-hbr-addition.tex
Addycja aldolowa katalizowana zasadąTworzenie enolanu (równowaga), tworzenie wiązania C–C i protonowanie. Strzałki od ładunków i wiązań π. base-catalysed-aldol-addition.tex
Dehydratacja E1 tert-butanoluJeden schemat łamany na cztery rzędy, z warunkami nad każdą strzałką i karbokationem. e1-dehydration-of-tert-butanol.tex
Bromowanie benzenuSubstytucja elektrofilowa w pierścieniu aromatycznym przez kompleks σ, z katalizatorem nad strzałką. bromination-of-benzene.tex

Każdy etap poniżej ma trzy części: kod chemfig (użyj przycisku Copy), PDF, który pdflatex tworzy z tego kodu, i rysunek, który MolDraw tworzy po wklejeniu tego samego kodu. Oba obrazy powstają dokładnie z pokazanego kodu, więc możesz sprawdzić, że wklejenie daje układ, odstępy i zakrzywione strzałki z PDF.

Aby opisać chemię zamiast rysunku, zapisz mechanizm w MolScript: indywidua jako SMILES i jeden wiersz na każdą zakrzywioną strzałkę. MolDraw rozmieści go i może podać ten sam kod chemfig.

Jak zapisuje się zakrzywione strzałki w chemfig

chemfig rysuje strzałki między atomami za pomocą TikZ, w trzech krokach:

  1. Nazwij końce. Umieść @{a1} przed atomem lub wewnątrz opcji wiązania (-[@{b1}:0]), aby nadać mu nazwę.
  2. Rysuj w \chemmove. Po schemacie \chemmove{ \draw[…] (a1) to[bend left=50] (a2); } rysuje strzałkę od jednej nazwy do drugiej.
  3. Kompiluj dwa razy. chemfig zapisuje pozycje nazwanych atomów w pierwszym przebiegu i używa ich w drugim.

Przykłady stosują następujące zasady, zgodne z wyglądem strzałek na płótnie MolDraw:

Dwa elektronyPełny grot: -{Stealth[length=4pt,inset=1.5pt]}.
Jeden elektronHaczyk, czyli połowa grota: -{Straight Barb[left,length=4pt]}. [left] lub [right] zostawia tylko zadzior po zewnętrznej stronie krzywej.
Gdzie zaczyna się ogonNa wolnej parze, ładunku ujemnym, kropce rodnikowej lub w środku wiązania, które oddaje elektrony. [shift={(…em,…em)}] przesuwa ogon ze środka atomu w to miejsce.
Gdzie zatrzymuje się grotTuż przed atomem, który przyjmuje elektrony, albo między dwoma atomami, gdy powstaje nowe wiązanie.
Skala\setchemfig{atom sep=2.5em, …} ustala długość wiązania. Każde shift w em jest mierzone względem niej, więc kopiując kod, zachowaj ten wiersz.
Krzywiznabend left / bend right z kątem oraz looseness dla głębokich krzywych. Kąt jest liczony względem linii między końcami, więc krzywa zachowuje kształt, nawet jeśli chemfig rozmieści schemat inaczej niż płótno.

Wszystkie pięć plików ładuje te same dwa wiersze, które są potrzebne także wtedy, gdy kopiujesz kod do własnego dokumentu:

\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}

1. Rodnikowe chlorowanie metanu

Standardowy pierwszy przykład rodnikowej reakcji łańcuchowej, w czterech etapach:

  • Inicjacja: światło rozrywa wiązanie Cl–Cl równomiernie (homoliza). Z wiązania wychodzą dwa haczyki, po jednym do każdego chloru.
  • Propagacja 1: atom chloru odrywa wodór od metanu. Jeden elektron z Cl• i jeden z wiązania C–H tworzą nowe wiązanie H–Cl; drugi elektron C–H zostaje na węglu jako rodnik metylowy.
  • Propagacja 2: rodnik metylowy odrywa atom chloru od Cl2 i oddaje Cl•, który rozpoczyna cykl od nowa.
  • Terminacja: dwa rodniki łączą się w parę, tutaj CH3• i Cl•.
Pobierz radical-chlorination-of-methane.tex

Każdy etap to osobny blok \schemestart … \schemestop. Etap terminacji pokazuje część najtrudniejszą do napisania ręcznie: dwa haczyki, które spotykają się w środku tworzonego wiązania.

Inicjacja

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{@{a1}Cl-[@{b1}:0]@{a2}Cl}
  \arrow{->[h$\nu$]}
  \chemfig{\charge{90=\.}{Cl}}
  \+
  \chemfig{\charge{90=\.}{Cl}}
\schemestop
\chemmove{
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(0.25em,-0.27em)}]b1) to[bend left=77,looseness=1.4] ([shift={(0.23em,-0.63em)}]a1);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(-0.25em,0.27em)}]b1) to[bend left=77,looseness=1.4] ([shift={(-0.23em,0.63em)}]a2);
}
chemfig, skompilowany w pdflatex
Rodnikowe chlorowanie metanu, Inicjacja: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Rodnikowe chlorowanie metanu, Inicjacja: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Propagacja 1: oderwanie wodoru

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{@{a1}\charge{90=\.}{Cl}}
  \+
  \chemfig{@{a2}H-[@{b1}:0]@{a3}CH_3}
  \arrow{->}
  \chemfig{HCl}
  \+
  \chemfig{\charge{90=\.}{C}H_3}
\schemestop
\chemmove{
  \path (a2) -- (a1) coordinate[pos=0.5] (m1);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(0em,1.71em)}]a1) to[bend left=65,looseness=1.2] ([shift={(0em,1.64em)}]m1);
  \path (a2) -- (a1) coordinate[pos=0.5] (m2);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(0em,-0.33em)}]b1) to[bend left=57,looseness=1.1] ([shift={(0em,-1.64em)}]m2);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(-0.45em,0.33em)}]b1) to[bend left=65,looseness=1.2] ([shift={(-0.83em,0.78em)}]a3);
}
chemfig, skompilowany w pdflatex
Rodnikowe chlorowanie metanu, Propagacja 1: oderwanie wodoru: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Rodnikowe chlorowanie metanu, Propagacja 1: oderwanie wodoru: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Propagacja 2: przeniesienie chloru

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{@{a1}\charge{90=\.}{C}H_3}
  \+
  \chemfig{@{a2}Cl-[@{b1}:0]@{a3}Cl}
  \arrow{->}
  \chemfig{H_3C-[:0]Cl}
  \+
  \chemfig{\charge{90=\.}{Cl}}
\schemestop
\chemmove{
  \path (a2) -- (a1) coordinate[pos=0.5] (m1);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(-0.55em,1.36em)}]a1) to[bend left=57,looseness=1.1] ([shift={(0em,0.87em)}]m1);
  \path (a2) -- (a1) coordinate[pos=0.5] (m2);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(0em,-0.27em)}]b1) to[bend left=57,looseness=1.1] ([shift={(0em,-0.87em)}]m2);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(-0.45em,0.27em)}]b1) to[bend left=77,looseness=1.4] ([shift={(-0.23em,0.63em)}]a3);
}
chemfig, skompilowany w pdflatex
Rodnikowe chlorowanie metanu, Propagacja 2: przeniesienie chloru: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Rodnikowe chlorowanie metanu, Propagacja 2: przeniesienie chloru: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Terminacja

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{@{a1}\charge{90=\.}{C}H_3}
  \+
  \chemfig{@{a2}\charge{90=\.}{Cl}}
  \arrow{->}
  \chemfig{H_3C-[:0]Cl}
\schemestop
\chemmove{
  \path (a2) -- (a1) coordinate[pos=0.58] (m1);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(-0.55em,1.36em)}]a1) to[bend left=57,looseness=1.1] ([shift={(0em,0em)}]m1);
  \path (a1) -- (a2) coordinate[pos=0.5] (m2);
  \draw[-{Straight Barb[right,length=4pt]}]([shift={(0em,1.37em)}]a2) to[bend right=57,looseness=1.1] ([shift={(0em,1.31em)}]m2);
}
chemfig, skompilowany w pdflatex
Rodnikowe chlorowanie metanu, Terminacja: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Rodnikowe chlorowanie metanu, Terminacja: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

W kodzie terminacji wiersze \path … coordinate tworzą punkt między dwoma rodnikami. Ponieważ jest to ułamek odległości między nimi, haczyki nadal spotykają się w szczelinie, nawet jeśli zmienisz + sep left lub długość wiązania. Stałe przesunięcie od jednego atomu chybiłoby szczeliny, gdy tylko zmienią się odstępy.

Kropki rodnikowe są zapisane jako \charge{90=\.}{Cl}: pojedynczy elektron pod kątem 90°, nad atomem. Dla CH3• kropka trafia na węgiel, \charge{90=\.}{C}H_3, a nie na całą grupę.

2. Addycja HBr wbrew regule Markownikowa (efekt nadtlenkowy)

W obecności nadtlenku HBr przyłącza się do propenu „odwrotnie”: brom trafia na skrajny węgiel. Powodem jest to, że łańcuch przenosi Br•, który przyłącza się tam, gdzie pozostawia trwalszy rodnik drugorzędowy.

  • Inicjacja 1: nadtlenek di-tert-butylu rozpada się na słabym wiązaniu O–O.
  • Inicjacja 2: rodnik tert-butoksylowy odrywa H od HBr i uwalnia Br•.
  • Propagacja 1: Br• przyłącza się do końca CH2 wiązania C=C. Jeden elektron π przechodzi do nowego wiązania C–Br, a drugi zostaje na środkowym węglu.
  • Propagacja 2: ten rodnik drugorzędowy odrywa H od HBr, daje 1-bromopropan i ponownie tworzy Br•.
Pobierz anti-markovnikov-hbr-addition.tex

Inicjacja: homoliza nadtlenku

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{-[:23](-[:-69]@{a2}O-[@{b1}:-3]@{a1}O-[:-52](-[:43])(-[:-75])-[:-161])(-[:47])-[:133]}
  \arrow{->[h$\nu$ or $\Delta$]}[,1.3]
  \chemfig{\charge{90=\.}{O}-[:-12](-[:-36])(-[:82])-[:-122]}
  \+
  \chemfig{\charge{90=\.}{O}-[:-12](-[:-36])(-[:82])-[:-122]}
\schemestop
\chemmove{
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(-0.24em,0.28em)}]b1) to[bend left=77,looseness=1.4] ([shift={(-0.23em,0.62em)}]a1);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(0.24em,-0.28em)}]b1) to[bend left=77,looseness=1.4] ([shift={(0.23em,-0.62em)}]a2);
}
chemfig, skompilowany w pdflatex
Addycja HBr wbrew regule Markownikowa, Inicjacja: homoliza nadtlenku: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Addycja HBr wbrew regule Markownikowa, Inicjacja: homoliza nadtlenku: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Inicjacja: powstanie atomu bromu

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{@{a1}\charge{90=\.}{O}-[:-12](-[:-36])(-[:82]@{a3})-[:-122]}
  \+
  \chemfig{@{a2}H-[@{b1}:0,0.8]@{a4}Br}
  \arrow{->}
  \chemfig{HO-[:-12](-[:-36])(-[:82])-[:-122]}
  \+
  \chemfig{\charge{90=\.}{Br}}
\schemestop
\chemmove{
  \path (a2) -- (a3) coordinate[pos=0.7] (m1);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(0em,1.36em)}]a1) to[bend left=65,looseness=1.2] ([shift={(-0.08em,-0.19em)}]m1);
  \path (a2) -- (a1) coordinate[pos=0.5] (m2);
  \draw[-{Straight Barb[right,length=4pt]}]([shift={(0em,0.27em)}]b1) to[bend right=57,looseness=1.1] ([shift={(0em,0em)}]m2);
  \draw[-{Straight Barb[right,length=4pt]}]([shift={(-0.36em,-0.27em)}]b1) to[bend right=77,looseness=1.4] ([shift={(-0.11em,-0.63em)}]a4);
}
chemfig, skompilowany w pdflatex
Addycja HBr wbrew regule Markownikowa, Inicjacja: powstanie atomu bromu: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Addycja HBr wbrew regule Markownikowa, Inicjacja: powstanie atomu bromu: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Propagacja 1: Br• przyłącza się do mniej podstawionego węgla

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{@{a1}\charge{90=\.}{Br}}
  \+
  \chemfig{@{a2}=[@{b1}:0]@{a3}-[:-60]}
  \arrow{->}
  \chemfig{-[:0]\charge{90=\.}{}-[:-60]-[:0]Br}
\schemestop
\chemmove{
  \path (a2) -- (a1) coordinate[pos=0.5] (m1);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(0em,1.37em)}]a1) to[bend left=65,looseness=1.2] ([shift={(-0.12em,0.87em)}]m1);
  \path (a2) -- (a1) coordinate[pos=0.5] (m2);
  \draw[-{Straight Barb[right,length=4pt]}]([shift={(0em,0.48em)}]b1) to[bend right=57,looseness=1.1] ([shift={(-0.12em,0.87em)}]m2);
  \draw[-{Straight Barb[right,length=4pt]}]([shift={(-0.45em,-0.48em)}]b1) to[bend right=65,looseness=1.2] ([shift={(-0.44em,-0.53em)}]a3);
}
chemfig, skompilowany w pdflatex
Addycja HBr wbrew regule Markownikowa, Propagacja 1: Br• przyłącza się do mniej podstawionego węgla: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Addycja HBr wbrew regule Markownikowa, Propagacja 1: Br• przyłącza się do mniej podstawionego węgla: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Propagacja 2: oderwanie wodoru od HBr

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{-[:0]@{a1}\charge{90=\.}{}-[:-60]-[:0]Br}
  \+
  \chemfig{@{a2}H-[@{b1}:0,0.8]@{a3}Br}
  \arrow{->}
  \chemfig{-[:0]-[:-60]-[:0]Br}
  \+
  \chemfig{\charge{90=\.}{Br}}
\schemestop
\chemmove{
  \path (a2) -- (a1) coordinate[pos=0.58] (m1);
  \draw[-{Straight Barb[left,length=4pt]}]([shift={(0em,1.36em)}]a1) to[bend left=57,looseness=1.1] ([shift={(0em,0em)}]m1);
  \path (a2) -- (a1) coordinate[pos=0.5] (m2);
  \draw[-{Straight Barb[right,length=4pt]}]([shift={(0em,0.27em)}]b1) to[bend right=57,looseness=1.1] ([shift={(0.05em,0.43em)}]m2);
  \draw[-{Straight Barb[right,length=4pt]}]([shift={(-0.36em,-0.27em)}]b1) to[bend right=77,looseness=1.4] ([shift={(-0.11em,-0.63em)}]a3);
}
chemfig, skompilowany w pdflatex
Addycja HBr wbrew regule Markownikowa, Propagacja 2: oderwanie wodoru od HBr: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Addycja HBr wbrew regule Markownikowa, Propagacja 2: oderwanie wodoru od HBr: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Rodnik w propagacji 2 znajduje się na węglu we wzorze szkieletowym, który nie ma litery, do której można by przyczepić kropkę. chemfig radzi sobie z tym przez \charge{90=\.}{}: \charge na pustym atomie, więc wiązania nadal spotykają się w wierzchołku.

Haczyk może zaczynać się zarówno na wiązaniu, jak i na kropce. W propagacji 1 strzałki zaczynają się na wiązaniu C=C, nazwanym przez =[@{b3}:0].

3. Addycja aldolowa katalizowana zasadą

Mechanizm polarny ze strzałkami dwuelektronowymi, w trzech etapach:

  1. Jon wodorotlenkowy odrywa α-wodór od acetonu, dając enolan. Ten etap jest równowagowy (\arrow{<=>}).
  2. Węgiel enolanu atakuje węgiel karbonylowy aldehydu octowego, a elektrony π C=O przesuwają się na tlen.
  3. Alkoholan pobiera proton od wody, dając β-hydroksyketon i ponownie jon wodorotlenkowy.
Pobierz base-catalysed-aldol-addition.tex

1. Tworzenie enolanu

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{@{a1}HO^{-}}
  \+
  \chemfig{-[:0](-[:-60]@{a3}-[@{b1}:0,0.8]@{a2}H)=[:60]O}
  \arrow{<=>}
  \chemfig{-[:0](-[:-60]\charge{300:4pt=$\scriptstyle-$}{})=[:60]O}
  \+
  \chemfig{H_2O}
\schemestop
\chemmove{
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(1.88em,0em)}]a1) to[bend right=47] ([shift={(-0.69em,-0.4em)}]a2);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.2em,0.27em)}]b1) to[bend right=65,looseness=1.2] ([shift={(0.17em,0.47em)}]a3);
}
chemfig, skompilowany w pdflatex
Addycja aldolowa katalizowana zasadą, 1. Tworzenie enolanu: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Addycja aldolowa katalizowana zasadą, 1. Tworzenie enolanu: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

2. Addycja nukleofilowa do aldehydu

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{-[:0](-[:-60]@{a1}\charge{300:4pt=$\scriptstyle-$}{})=[:60]O}
  \+
  \chemfig{@{a3}O=[@{b1}:60]@{a2}-[:0]}
  \arrow{->}
  \chemfig{O=[:0](-[:-60])-[:60]-[:0](-[:60])-[:-60]O^{-}}
\schemestop
\chemmove{
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.39em,1.07em)}]a1) to[bend left=57,looseness=1.1] ([shift={(-0.65em,0.38em)}]a2);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.64em,0.15em)}]b1) to[bend left=77,looseness=1.4] ([shift={(0.64em,0em)}]a3);
}
chemfig, skompilowany w pdflatex
Addycja aldolowa katalizowana zasadą, 2. Addycja nukleofilowa do aldehydu: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Addycja aldolowa katalizowana zasadą, 2. Addycja nukleofilowa do aldehydu: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

3. Protonowanie alkoholanu

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{O=[:0](-[:-60])-[:60]-[:0](-[:60])-[:-60]@{a1}O^{-}}
  \+
  \chemfig{@{a3}HO-[@{b1}:90,0.8,2]@{a2}H}
  \arrow{->}
  \chemfig{O=[:0](-[:-60])-[:60]-[:0](-[:60])-[:-60]OH}
  \+
  \chemfig{HO^{-}}
\schemestop
\chemmove{
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.62em,1.07em)}]a1) to[bend left=40] ([shift={(-0.72em,0.26em)}]a2);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.27em,0.36em)}]b1) to[bend left=77,looseness=1.4] ([shift={(1.01em,0.11em)}]a3);
}
chemfig, skompilowany w pdflatex
Addycja aldolowa katalizowana zasadą, 3. Protonowanie alkoholanu: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Addycja aldolowa katalizowana zasadą, 3. Protonowanie alkoholanu: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Każda strzałka ma tu pełny grot. Każdy etap ma dwie strzałki: jedna tworzy wiązanie, a druga je zrywa i przenosi jego elektrony na atom. Ten drugi rodzaj zaczyna się na wiązaniu (b1) i kończy na atomie.

Ładunek ujemny enolanu znajduje się na węglu we wzorze szkieletowym. Zapisuje się go tak samo jak rodnik w przykładzie 2, przez \charge na pustym atomie, więc wiązanie nie jest skracane wokół etykiety „−”.

4. Dehydratacja E1 tert-butanolu: jeden schemat w kilku rzędach

Pierwsze trzy przykłady umieszczają każdy etap pod osobnym nagłówkiem. Cały mechanizm możesz też narysować jako jeden ciągły schemat łamany na nowe rzędy, jak w wielu podręcznikach:

  1. Grupa OH pobiera proton od H3O+.
  2. Woda odchodzi i powstaje kation tert-butylowy. To etap najwolniejszy.
  3. Woda odrywa proton od węgla sąsiadującego z C+, a elektrony C–H tworzą wiązanie C=C 2-metylopropenu.
Pobierz e1-dehydration-of-tert-butanol.tex

W chemfig każdy rząd to osobny schemat, który zaczyna się od swojej strzałki, więc warunki pozostają przy strzałce, do której należą:

Cały schemat

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
{\centering \textbf{Acid-catalysed dehydration of tert-butanol (E1)}\par}
\par\bigskip
\vspace{0.9em}
\schemestart
  \chemfig{@{a1}H\charge{90=\:,-90=\:}{O}-[:-12](-[:-36])(-[:82])-[:-122]}
  \+
  \chemfig{@{a3}H_2O^{+}-[@{b1}:90,0.8,2]@{a2}H}
\schemestop
\par\bigskip
\schemestart
  \arrow{->[protonation]}[,1.6]
  \chemfig{@{a4}H_2O^{+}-[@{b2}:-12](-[:-36])(-[:82])-[:-122]}
  \+
  \chemfig{H_2O}
\schemestop
\par\bigskip
\schemestart
  \arrow{->[$-$H$_{2}$O][slow]}
  \chemfig{-[:0]\charge{120:4pt=$\scriptstyle+$}{}(-[@{b4}:-60]-[@{b3}:0,0.8]@{a6}H)-[:60]}
  \+
  \chemfig{@{a5}H_2\charge{90=\:,-90=\:}{O}}
\schemestop
\par\vspace{1.2em}
\par\bigskip
\schemestart
  \arrow{->[$-$H$^{+}$]}
  \chemfig{-[:0](=[:-60])-[:60]}
  \+
  \chemfig{H_3O^{+}}
\schemestop
\chemmove{
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.37em,1.21em)}]a1) to[bend left=40] ([shift={(-0.67em,0.56em)}]a2);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.27em,0.36em)}]b1) to[bend left=77,looseness=1.4] ([shift={(1.19em,0.11em)}]a3);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.19em,-0.31em)}]b2) to[bend left=77,looseness=1.4] ([shift={(0.66em,-0.63em)}]a4);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.55em,-1.21em)}]a5) to[bend left=47] ([shift={(0.69em,-0.4em)}]a6);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0em,0.27em)}]b3) to[bend right=77,looseness=1.4] ([shift={(0.08em,0.33em)}]b4);
}
chemfig, skompilowany w pdflatex
Dehydratacja E1 tert-butanolu, Cały schemat: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Dehydratacja E1 tert-butanolu, Cały schemat: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Dwa szczegóły warte skopiowania:

  • [,1.6] wydłuża strzałkę 1,6 raza względem normalnej długości, więc słowo protonation mieści się nad nią, zamiast wchodzić na następną strukturę.
  • Karbokation to \charge{120:4pt=$\scriptstyle+$}{}: mały „+” 4 pt od wierzchołka, w największej szczelinie między wiązaniami.

5. Elektrofilowe bromowanie benzenu

Elektrony π benzenu atakują brom (aktywowany przez FeBr3), dając kompleks σ. Następnie jon bromkowy odrywa proton od węgla sp3, a elektrony C–H odtwarzają pierścień aromatyczny.

Pobierz bromination-of-benzene.tex

1. Atak na brom (kompleks σ)

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{?[a]-[:90]=_[@{b1}:30]-[:-30]=_[:-90]-[:-150]?[a,{=_}]}
  \+
  \chemfig{@{a1}Br-[@{b2}:0]@{a2}Br}
  \arrow{->[FeBr$_{3}$]}[,1.1]
  \chemfig{?[a]=_[:90]-[:30](-[:90]Br)-[:-30]\charge{30:4pt=$\scriptstyle+$}{}-[:-90]=_[:-150]?[a]}
  \+
  \chemfig{Br^{-}}
\schemestop
\chemmove{
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(-0.13em,0.23em)}]b1) to[bend left=74,looseness=1.34] ([shift={(-0.13em,0.73em)}]a1);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(-0.25em,-0.27em)}]b2) to[bend right=77,looseness=1.4] ([shift={(-0.23em,-0.63em)}]a2);
}
chemfig, skompilowany w pdflatex
Bromowanie benzenu, 1. Atak na brom (kompleks σ): ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Bromowanie benzenu, 1. Atak na brom (kompleks σ): ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

2. Utrata H⁺ odtwarza pierścień

\setchemfig{atom sep=2.5em, + sep left=0.7em, + sep right=0.7em, compound sep=4em, arrow offset=6pt}
\schemestart
  \chemfig{?[a]=_[:90]-[:30](-[:90]Br)(-[@{b2}:-30]\charge{30:4pt=$\scriptstyle+$}{}-[:-90]=_[:-150]?[a])-[@{b1}:30,0.8]@{a2}H}
  \+
  \chemfig{@{a1}Br^{-}}
  \arrow{->}
  \chemfig{?[a]-[:90]=_[:30](-[:90]Br)-[:-30]=_[:-90]-[:-150]?[a,{=_}]}
  \+
  \chemfig{HBr}
\schemestop
\chemmove{
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(-1.55em,0em)}]a1) to[bend right=51] ([shift={(0.73em,0.13em)}]a2);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(-0.04em,-0.33em)}]b1) to[bend left=51] ([shift={(0.51em,-0.02em)}]b2);
}
chemfig, skompilowany w pdflatex
Bromowanie benzenu, 2. Utrata H⁺ odtwarza pierścień: ten kod chemfig skompilowany w pdflatex
MolDraw, po wklejeniu tego samego kodu
Bromowanie benzenu, 2. Utrata H⁺ odtwarza pierścień: ten sam kod chemfig wklejony do MolDraw, z tym samym układem i zakrzywionymi strzałkami

Pierścienie są zapisane z kątami bezwzględnymi wiązań i haczykami (?[a]) zamiast *6(…), więc każdy pierścień ma dokładnie taką orientację jak na płótnie, a każde wiązanie pierścienia może mieć nazwę @{…} dla strzałki. Indeks dolny w FeBr3 wpisuje się w MolDraw jako FeBr₃, a eksportuje jako FeBr$_{3}$.

Stwórz własny mechanizm

  1. Narysuj indywidua i strzałki reakcji w edytorze MolDraw albo zacznij od jednego z tych plików: otwórz go, skopiuj wszystko i wklej na płótno przez Ctrl+V.
  2. Wybierz narzędzie zakrzywionej strzałki. Przeciągnij od wolnej pary, ładunku, kropki rodnikowej lub wiązania do atomu lub wiązania, które przyjmuje elektrony. Dla etapów jednoelektronowych wybierz Fishhook (1e⁻) w opcjach strzałki.
  3. Dodaj nagłówki etapów narzędziem tekstu, nad każdym rzędem.
  4. Wybierz Download → chemfig (.tex) albo Copy as chemfig (LaTeX), aby wkleić kod do własnego dokumentu.
  5. Skompiluj dwa razy.

Możesz też poprosić asystenta AI w edytorze, na przykład: „Narysuj rodnikowe bromowanie toluenu w pozycji benzylowej ze strzałkami-haczykami, z inicjacją, propagacją i terminacją pod nagłówkami.” Asystent narysuje etapy na płótnie, a Ty możesz je wyeksportować w ten sam sposób.

Gdy wklejasz chemfig z powrotem, MolDraw odczytuje, na którym atomie lub wiązaniu zaczyna się i kończy każda strzałka \chemmove, czy ma pełny grot, czy jest haczykiem, w którą stronę wygina się jej bend i jak głęboka jest krzywa. Grot kończący się w punkcie \path … coordinate między dwoma atomami staje się strzałką tworzącą wiązanie, więc haczyki znów spotykają się w szczelinie. Odstępy pochodzą z \setchemfig (atom sep, compound sep, + sep left/right, arrow offset), a tekst i linie są rysowane szeryfową czcionką podobną do LaTeX-owej, cienką linią chemfig. MolDraw nadal dopasowuje każdą strzałkę do własnych reguł, więc ręcznie napisane \draw nie musi być idealne.

Ręczne poprawianie wyeksportowanego kodu

  • Płytsza lub głębsza krzywa: zmień kąt wygięcia (bend left=40 zamiast 57) albo usuń looseness.
  • Krzywa po drugiej stronie: zamień bend left i bend right. W przypadku haczyka zamień też [left] i [right] w grocie, aby zadzior pozostał na zewnątrz.
  • Przesunięcie ogona lub grota: edytuj shift w em. (0em,1em) to 1 em nad środkiem atomu.
  • Miejsce spotkania haczyków: zmień pos=0.58. 0.5 to dokładnie połowa odległości między dwoma atomami.
  • Miejsce nad rzędem: \vspace{…em} przed każdym schematem zostawia miejsce na strzałki wyginające się w górę. Zwiększ je, jeśli strzałka dotyka nagłówka.

Pytania i odpowiedzi

Jak narysować strzałkę-haczyk w chemfig?

Nazwij oba końce przez @{…} i narysuj strzałkę w \chemmove z połówkowym grotem: \draw[-{Straight Barb[left,length=4pt]}] (a1) to[bend left=50] (a2); Użyj [left] lub [right], aby zadzior znalazł się po zewnętrznej stronie krzywej. Załaduj bibliotekę TikZ arrows.meta.

Jak sprawić, by dwa haczyki spotkały się w środku nowego wiązania?

Utwórz punkt między dwoma atomami przez \path (a1) -- (a2) coordinate[pos=0.5] (m1); wewnątrz \chemmove, a potem zakończ oba haczyki w (m1). Punkt przesuwa się razem z atomami, niezależnie od tego, jak chemfig rozmieści schemat.

Jak umieścić kropkę rodnikową na węglu we wzorze szkieletowym w chemfig?

Użyj \charge na pustym atomie: \charge{90=\.}{}. Wiązania nadal spotykają się w wierzchołku, a kropka znajduje się nad nim. Dla atomu z etykietą napisz \charge{90=\.}{Cl}.

Dlaczego zakrzywione strzałki są w złym miejscu w moim PDF?

\chemmove używa pozycji zapisanych w pierwszym przebiegu LaTeX. Skompiluj plik drugi raz.

Czy mogę edytować te przykłady?

Tak. Otwórz plik .tex, skopiuj jego zawartość i wklej ją na płótno MolDraw. Zmień struktury lub strzałki myszą, a potem ponownie pobierz chemfig (.tex).

Czy przykłady są darmowe?

Tak. Używaj ich w notatkach, zestawach zadań, pracach dyplomowych i artykułach.

Powiązane poradniki

Ostatnia aktualizacja: