
Возможности, добавленные в версию 1.0
Описание возможностей, доступных в новых версиях CharChem
Версия 1.0 - Первая версия CharChemCharChem - новая система, которая разработана для замены устаревшей easyChem. Естественно, в CharChem поддерживаются все функции прежней системы. Но добавились и новые возможности. СкобкиСистема easyChem позволяла использовать скобки для очень простых случаев. Например, таких: K3[Fe(CN)6]Описывать химические связи внутри скобок было невозможно. Но с версии 1.0 такая возможность появилась. Вот несколько примеров:
$ver(1.0)H3C(C=O)CH3
Cl/[\\<|Cl>]10/\Cl
$ver(1.0)--[O-/=\<`//`-`\\>-C<`|CH3><|CH3>-/=\<`//`-`\\>-O-C<`||O>]'n'--
$ver(1.0)$slope(45)HO`|@:Q()/<`|CH2OH>-O\<`/w<|OH>_(A180,w2)<_(y-.8)OH>`\ww>@()_(A60)O_(A-60)(@Q()_(A60)O<_(y1.4,N0){}>)'300-600'_(A-60)@Q()|OH
$ver(1.0)[H|N^+<`/H><_(A75,w+)H><\dH>]3^+_(x3.5,N0)[P<`||O><`/O`^-><_(A75,w+)O^-><_(A20,d+)O^->]^3-
Радикалы
Изначально существовала возможность описывать абстрактные молекулы, например {R}-OH:
{R}-OH.
{Me}2C=CH-{Ph} <-> H3C\C<`/H3C>=CH-/=\`//`-`\\
Но для таких формул неправильно вычислялись такие свойства, как молекулярная масса или брутто-формула. Теперь эта проблема решена. Существует список радикалов, которые автоматически разпознаются из описаний абстрактных узлов. Краткие описания связейРассмотрим несколько описаний, где используется горизонтальная химическая связь, которая определяется знаком минус:
Третья формула отличается от остальных тем, что горизонтальная связь является мягкой, как и в случае CH3-CH2-OH. Но в данном случае нужна обычная связь. Раньше вместо кратких описаний пришлось бы использовать более сложные конструкции, как в четвёртом столбце. Но теперь двойной минус позволяет указать, что связь не должна быть мягкой. Другой проблемой кратких связей было использование суффиксов. Рассмотрим ряд конструкций. Сверху приводится описание, которое требовалось в версиях ниже 1.0. В нижнем ряду - новый вариант.
Другими словами, если Кроме того в версии 1.0, суффиксы стали доступны для полиномиальных связей _p и _q. Распределённые связи
До версии 1.0 можно было изобразить распределённую связь лишь при помощи конструкции /\</>|`/`\`|_o
Теперь стала доступна новая конструкция
Сложные стили связейДля отображения ароматических связей можно использовать универсальное описание с параметром S|: (Style), где указан стиль двух линий. Одна сплошная, другая - прерывистая. _(A90,S|:)_(A30,S|:)_(A-30,S|:)_(A-90,S|:) _(A90,S|:)_(A30,S|:)_(A-30,S|:)_(A-90,S|:)
Параметр
Здесь заглавная латинская буква I означает жирную линию. Изогнутые связи
В версии 1.0 можно использовать связи, изображаемые кривыми линиями.
Для этого используются промежуточные точки.
Изогнутая связь рисуется при помощи кубической кривой Безье. Поэтому для неё нужны две промежуточные точки.
Для их описания используется конструкция
На первой картинке результат, полученный из описания.
На второй картинке показаны промежуточные точки a и b соответственно.
На третьей - схематические линии, показывающие порядок следования промежуточных точек.
Выравнивание двойных связей
Посмотрим на типичную формулу бензола, полученную из описания /\\|`//`\`||
Мы видим, что у двойных связей внутренняя линия короче, чем внешняя. Это сделано для улучшения внешнего вида формулы. Причём, система автоматически определила, что в данном случае нужно применить выравнивание вправо (относительно направления связи). Этим процессом можно управлять при помощи функции $dblAlign или при помощи параметров универсальных описаний связей.
Первая формула совпадает с автоматическим вариантом, т.к. в ней указано выравнивание вправо при помощи $dblAlign(R).
Вторая формула имеет выравнивание по центру. Так выглядели формулы в easyChem.
Для третьей формулы указано выравнивание влево.
А в четвёртой формуле мы видим все три вида выравнивания.
Это достигается уже не функциями $dblAlign, а универсальными описаниями с параметрами N2r, N2m и N2L соответственно.
А далее можно видеть использование суффиксов r, m и L в параметре S (style).
Изотопы
В easyChem была введена функция $M, позволяющая указать атомную массу для изотопов.
Теперь добавилась функция $nM, которая выводит ещё и атомный номер. ЗарядыПоявилась возможность вывести окружность вокруг заряда простым добавлением маленькой буквы o: H3C\<|wNH3`^+o>/`|O|\O^-o
H3C\<|wNH3`^+o>/`|O|\O^-o
Гидраты, сольваты и аддукты
В ранних версиях знак * должен был отделяться пробелом от описания молекулы.
Такое ограничение не позволяло описать гидраты в виде одного реагента, что иногда создавало некоторые проблемы.
|