Chemfig jest pakietem umożliwiającym rysowanie dwuwymiarowych struktur chemicznych. Jest alternatywą dla pakietu ochem. Zaletą pakietu chemfig jest to, iż korzysta on pakietu tikz do rysowania grafiki, a nie języka Perl jak pakiet ochem. Aby użyć chemfig w sowim dokumencie, należy w preambule załadować pakiet:

\usepackage{chemfig}

Podstawy

edytuj

Podstawową komendą używaną w tym pakiecie jest \chemfig{}:

\chemfig{<atom1><bond type>[<angle>,<coeff>,<tikz code>]<atom2>}

<angle> jest określeniem kąta pomiędzy atomami. Występują trzy typy kątów: absolute, relative, oraz predefined. Kąty typuabsolute pozwalają na wyrysowanie wiązania pod konkretnym kątem (od 0 do 360°) i reprezentowane są przez komendę [:<absolute angle>]. Kąty typu relative określa się komendą [::<relative angle>], które wstawia linię o podanym nachyleniu w stosunku do poprzedniego wiązania. Ostatnim typem jest predefined, który określają liczby całkowite od 1-7 określające kąty co 45°. Poniżej przedstawiono przykłądowy kod tego typu kątów.

\chemfig{(-[:0,1.5,,,draw=none]\scriptstyle\color{red}0)
(-[1]1)(-[:45,1.5,,,draw=none]\scriptstyle\color{red}45)
(-[2]2)(-[:90,1.5,,,draw=none]\scriptstyle\color{red}90)
(-[3]3)(-[:135,1.5,,,draw=none]\scriptstyle\color{red}135)
(-[4]4)(-[:180,1.5,,,draw=none]\scriptstyle\color{red}180)
(-[5]5)(-[:225,1.5,,,draw=none]\scriptstyle\color{red}225)
(-[6]6)(-[:270,1.5,,,draw=none]\scriptstyle\color{red}270)
(-[7]7)(-[:315,1.5,,,draw=none]\scriptstyle\color{red}315)
-0}
 

<bond type> określa rodzaj wiązania pomiędzy <atom1> a <atom2>. Występuje dziewięć typów wiązań:

\chemfig{A-B}\\
\chemfig{A=B}\\
\chemfig{A~B}\\
\chemfig{A>B}\\
\chemfig{A<B}\\
\chemfig{A>:B}\\
\chemfig{A<:B}\\
\chemfig{A>|B}\\
\chemfig{A<|B}\\
 

<coeff> określa czynnik, zwiększający długość wiązania.

<tikz code> wprowadza dodatkowe opcje dotyczące koloru lub stylu wiązania.

Wzór strukturalny metanu można otrzymać w następujący sposób:

\chemfig{C(-[:0]H)(-[:90]H)(-[:180]H)(-[:270]H)}
 

Budowa bardziej skomplikowanych związków polega na zagnieżdżaniu.

Wzory szkieletowe

edytuj

Wzory szkieletowe można otrzymać w następujący sposób:

\chemfig{-[:30]-[:-30]-[:30]}
 
\chemfig{-[:30]=[:-30]-[:30]}
 


Pierścienie

edytuj

Pierścienie powstają przez użycie składni<atom>*<n>(kod), gdzie "n" jest liczbą boków pierścienia, a "kod" oznacza poszczególne atomy w pierścieniu wraz z wiązaniami.

\chemfig{A*6(-B-C-D-E-F-)}
 
\chemfig{A*5(-B-C-D-E-)}
 
\chemfig{*6(=-=-=-)}
 
\chemfig{**5(------)}
 


Wzór Lewisa

edytuj

Wzory Lewisa można utworzyć przez użycie komendy:

\lewis{<electron angle><electron>,<atom>}

wewnątrz komendy \chemfig{}.


Jako przykład rozpatrzmy jon octanowy:

\chemfig{-(-[1]O^{-})=[7]O}
 


Komendy chemfig opierają się na matematyce, dlatego znaki jonów muszą być dodawane w nawiasach.

Znak jonu może być także wpisany w okrąg przez użycie komend \oplus i \ominus:

\chemfig{-(-[1]O^{\ominus})=[7]O}
 

Alternatywnym rozwiązaniem jest wstawienie znaku jonu nad atom przez użycie \chemabove{}{}:

\chemfig{-\chemabove{N}{\scriptstyle\oplus}(=[1]O)-[7]O^{\ominus}}
 


Struktury rezonansowe i ładunki formalne

edytuj

Struktury rezonansowe wymagają kilku komend matematycznych:

% zobacz rozdział "Matematyka zaawansowana" aby zrozumieć użycie \left i \right
% w preambule dodaj:
%	\usepackage{mathtools}	% \Longleftrightarrow
$\left\{\chemfig{O-N(=[:60]O)-[:300]O}\right\}
\Longleftrightarrow 
\left\{\chemfig{O=N(-[:60]O)-[:300]O}\right\} 
\Longleftrightarrow 
\left\{\chemfig{O-N(-[:60]O)=[:300]O}\right\}$


Reakcje chemiczne

edytuj

Reakcje chemiczne można tworzyć w następujący sposób:

\chemrel[<arg1>][<arg2>]{<arrow code>}
\chemsign+	% produces a +

W komendzie \chemrel{}, <arg1> i <arg2> oznaczają tekst nad i pod strzałką reakcji.

Cztery typy strzałek reakcji chemicznych przedstawiono poniżej.

A\chemrel{->}B\par 
A\chemrel{<-}B\par 
A\chemrel{<->}B\par 
A\chemrel{<>}B
 

Nazewnictwo związków chemicznych

edytuj

Związki chemiczne można nazywać używając komendy:

\chemname[<dim>]{\chemfig{<code of the molecule>}}{<nazwa>}

<dim> określa wolną przestrzeń między dołem obrazka a górną krawędzią nazwy związku (<nazwa>). Standardowo wysokość ta wynosi 1.5ex.

<name> określa nazwę, jaką użytkownik chce nadać związkowi.

\chemname{\chemfig{R-C(-[:-30]OH)=[:30]O}}{Kwas karboksylowy} 
\chemsign{+} 
\chemname{\chemfig{R’OH}}{Alkohol} 
\chemrel{->} 
\chemname{\chemfig{R-C(-[:-30]OR’)=[:30]O}}{Ester} 
\chemsign{+} 
\chemname{\chemfig{H_2O}}{Woda}
 

W reakcji powyżej nazwy związków chemicznych są umieszczone o 1.5ex poniżej pierwszego związku chemicznego. Dzieje się tak, ponieważ kwas karboksylowy posiada dolną krawędź najniżej z wszystkich związków. Inaczej reakcja będzie wyglądać, jeśli zamienimy kolejność i jako pierwszy umieścimy alkohol.

\chemname{\chemfig{R’OH}}{Alcohol} 
\chemsign{+} 
\chemname{\chemfig{R-C(-[:-30]OH)=[:30]O}}{Carboxylic acid} 
\chemrel{->} 
\chemname{\chemfig{R-C(-[:-30]OR’)=[:30]O}}{Ester} 
\chemsign{+} 
\chemname{\chemfig{H_2O}}{Water}

Zmiany te mogą być usunięte poprzez zdefiniowanie związku, który ma dolną krawędź najniżej, poprzez użycie komendy \chemnameinit{} przed komendę dotyczącą danego związku. Przykład poniżej.

\chemnameinit{\chemfig{R-C(-[:-30]OH)=[:30]O}} 
\chemname{\chemfig{R’OH}}{Alcohol} 
\chemsign{+} 
\chemname{\chemfig{R-C(-[:-30]OH)=[:30]O}}{Carboxylic acid} 
\chemrel{->} 
\chemname{\chemfig{R-C(-[:-30]OR’)=[:30]O}}{Ester} 
\chemsign{+} 
\chemname{\chemfig{H_2O}}{Water} 
\chemnameinit{}

Dodatkowo wpisanie \\w nazwie spowoduje złamanie linii, pozwalając nazwie zająć więcej niż jedną linię.

Zaawansowana grafika chemiczna

edytuj

Dla bardziej skomplikowanych struktur chemicznych, zaleca się skorzystanie z instrukcji chemfig, gdzie przedstawiono szczegółowy opis pakietu. (Link w języku angielskim)

Przypisy