Интеграция химических формул и реакций в LaTeX, пакет chemfig
Зачем нужен chemfig и как его подключить
Набор химических структур в научных статьях, дипломах и отчетах по лабораторным
работам часто вызывает
сложности. Пакет chemfig — это мощный инструмент на
базе графического движка
TikZ, позволяющий создавать векторные структурные формулы
органических и неорганических
веществ прямо в коде документа.
Используя редактор химических формул latex онлайн в Labkeeper, вам не нужно вручную экспортировать растровые изображения из внешних программ вроде ChemDraw — векторная графика собирается вместе с документом и сохраняет качество при печати.
Для подключения пакета добавьте в преамбулу:
\usepackage{chemfig}
% atom sep — расстояние между атомами, bond offset — зазор до линии.
% Толщину линии задаёт bond style.
\setchemfig{atom sep=2em, bond offset=1pt}
Базовый синтаксис связей и углов
Формула создается командой \chemfig{...}. Связи между
атомами обозначаются
специальными символами:
| Тип связи | Символ в chemfig | Описание |
|---|---|---|
| Одинарная | - |
Стандартная ковалентная связь |
| Двойная | = |
Двойная связь |
| Тройная | ~ |
Тройная связь |
| Клиновидная (вперед) | > |
Стереохимическая связь над плоскостью |
| Клиновидная (обратная) | < |
Тот же клин, направленный в обратную сторону |
| Штриховая | >: или <: |
Стереохимическая связь за плоскостью |
| Полый клин | >| |
Клин без заливки |
Направление связи задается абсолютным или относительным углом с
помощью двоеточия
[:угол] (в градусах от 0 до 360 против часовой
стрелки):
% Молекула воды H2O с углом связей:
\chemfig{H-[:30]O-[:-30]H}
% Молекула этанола CH3-CH2-OH:
\chemfig{H_3C-CH_2-OH}
Разветвленные цепи и функциональные группы
Для создания ответвлений используются круглые скобки
(...). Внутри скобок
описывается боковая цепочка с указанием направления связи:
% Изобутан с боковой метильной группой:
\chemfig{H_3C-CH(-[:90]CH_3)-CH_3}
% Аминокислота аланин:
\chemfig{H_2N-CH(-[:90]CH_3)-C(=[:45]O)-[:-45]OH}
[:30], [:-30], [:90],
[:-90], что дает
классическую зигзагообразную углеродную цепочку.
Циклические молекулы и бензольное кольцо
Для циклов используется синтаксис *N(...), где N — число
вершин многоугольника.
Для бензола применяется встроенная конструкция
*6(=-=-=-) или кольцо внутри
шестиугольника:
% Бензол с чередующимися двойными связями:
\chemfig{*6(=-=-=-)}
% Толуол (метилбензол):
\chemfig{*6(=-=-(-CH_3)=-)}
% Аспирин (ацетилсалициловая кислота):
\chemfig{*6(-=-(-C(=[1]O)-[7]OH)=(-O-[1]C(=[3]O)-[7]CH_3)-=)}
Схемы химических реакций и стрелки
В пакете chemfig схемы реакций составляются с помощью макроса
\schemestart ... \schemestop и стрелок
\arrow{->[над][под]}:
\schemestart
\chemfig{CH_4} \+ \chemfig{2 O_2}
\arrow{->[$\Delta t$][катализатор]}
\chemfig{CO_2} \+ \chemfig{2 H_2O}
\schemestop
Поддерживаются различные виды стрелок: равновесные
\arrow{<=>}, обратимые
с разной скоростью \arrow{<->>}, а также
вертикальные и разветвленные
переходы. Для описания кинетики и термодинамических уравнений
реакций используйте выравнивание формул в amsmath, а
для набора молярных
концентраций и температурных условий — пакет размерностей
siunitx.
Электронные пары и механизмы реакций
Для органической химии критически важно отображение неподеленных
электронных пар и
перемещения электронов. Команда \charge и модуль
\chemmove
позволяют рисовать электронные пары и изогнутые стрелки атаки
нуклеофила. Узлы, к которым
ведёт стрелка, получают имена через @{имя}:
% Неподелённая пара у азота, узлы N и H получают имена:
\chemfig{@{N}\charge{90=\:}{N}(-[:210]@{H}H)(-[:330]H)-H}
% Смещение электронной плотности от N к H:
\chemmove{\draw[->,red,shorten <=2pt,shorten >=2pt] (N) to[bend left=30] (H);}
Практические советы и пакет chemfig онлайн примеры
Совместное использование с mhchem
Для простых брутто-формул (например,
\ce{H2SO4} или
\ce{Fe^{3+}}) быстрее использовать пакет
mhchem, а
chemfig применять для пространственных
структур.
Подготовка статей для международных журналов
При оформлении химических публикаций для журналов издательств Elsevier, Springer или Wiley используйте шаблон статьи для Scopus и Web of Science.
Масштабирование сложных молекул
Если макромолекула не помещается в колонку, отрегулируйте
параметр
atom sep=1.5em или оберните структуру в
блок
\scalebox{0.8}{\chemfig{...}}.