Перейти к содержимому
Форум химиков на XuMuK.ru
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

peterwin

Система отображения химических формул easyChem

Рекомендуемые сообщения

Уважаемые химики! Хочу предложить вашему вниманию систему для отображения химических формул для HTML-документов.

Полную информацию можно получить на сайте http://www.easychem.org/ru.

Дело в том, что сам я не химик, но в качестве хобби иногда читаю кое-какие статьи в интернете. И мне показалось, что в большинстве из них есть проблемы с оформлением формул. Очевидно, это не вина авторов, а отсутствие качественного технического решения.

Я решил попробовать устранить эту проблему, чтобы облегчить работу авторов статей.

Система easyChem позволяет описывать формулы в текстовом виде, а затем библиотека отображает их так, как должны выглядеть эти формулы.

Вот краткий список возможностей:

  • линейные (в строчку) формулы веществ и даже уравнения реакций;
  • структурные формулы, отображаемые графически (можно посмотреть примеры: http://www.easychem.org/ru/struct-demo);
  • ионы, степени окисления, изотопы, комментарии, выделение цветом и другое;
  • автоматическое вычисление молекулярной массы и получение брутто-формул;
  • отрисовка таблицы Менделеева.

Я постарался сделать систему как можно более простой.

Для использования нужен только браузер и библиотека easyChem (в виде js-файла). Для работы системы не требуется обращение к интернету (решение полностью клиентское). Вес библиотеки около 40 КБ.

Система бесплатная, если используется для целей науки и образования.

В данный момент выпущена бета-версия. В ней есть ещё кое-какие недоработки, но пользоваться уже можно.

Если у Вы найдете какие-то ошибки или неточности, либо появятся вопросы или пожелания, то пишите в этой теме. Или мне на почту peterwin@yandex.ru

Поделиться сообщением


Ссылка на сообщение

Уже давно существует запись формул в виде SMILE и InChI . Зачем придумывать велосипед ;)

Да, я смотрел эти системы, прежде чем изобретать велосипед. Мне показалось, что они имеют ряд существенных недостатков.

А именно:

  1. Формулу, описанную SMILES или InChI нельзя вставить в документ и увидеть готовый результат. Необходимо пользоваться молекулярным редактором, а результат использовать в виде картинки или SVG-файла. А это гораздо менее удобно (имхо конечно), чем просто набрать текст в статье. Особенно, если нужно что-то быстро поправить.
  2. Обе эти системы не позволяют описать формулу в том виде, в котором хотелось бы. Попробуйте ввести хотя бы H2SO4. Они сами решают, в каком порядке будут выведены все элементы формулы. Ни о каких комментариях или цветовых выделениях там нет речи. В easyChem можно одну и ту же формулу изобразить слева направо или сверху вниз. В общем, автор имеет полную свободу действий.
  3. Возможно тут я могу быть не прав, но мне показалось, что для овладения этими системами нужно приложить значительные усилия. По крайней мере, я так и не смог понять принцип нумерации узлов в InChI. А в easyChem можно воспроизвести достаточно сложные структуры, опираясь только на их визуальное представление. Мне кажется, это будет доступно даже школьникам.

В общем, я так понял, что SMILES и (особенно) InChI нужны для однозначного формализованного представления веществ. То есть, ориентированы на использование системами обработки данных, а не людьми.

easyChem разработана для другого - чтобы формулы можно было легко вставлять в публикации. И так же легко редактировать, при необходимости. Без специальных редакторов и промежуточных картинок.

Поделиться сообщением


Ссылка на сообщение

Если кому-либо потребуется включить в html-документ таблицу Менделеева, предлагаю воспользоваться сервисом генерации:

http://www.easychem.org/ru/mentab-gen

 

Там есть возможность выбрать форму таблицы (стандартная, широкая или короткая), расцветку элементов по категориям, вывод легенды и другие опции.

В результате генерируется html-код, который можно скопировать и вставить в свой документ.

Есть автоматический перевод на 12 языков. Это может быть полезно, если материал будет публиковаться на международных площадках.

 

А здесь представлено описание и несколько полезных примеров:

http://www.easychem.org/ru/mentab

 

Один из примеров - интерактивная маленькая таблица, как в википедии в статьях, связанных с описанием химических элементов.

 

Это первый сервис из запланированных. Сейчас тестирую систему уравнивания коэффициентов химических реакций.

Поделиться сообщением


Ссылка на сообщение

Круто! :ay:

это ж сколько надо было света солнечного не видеть чтоб такое наваять?.. :blink:

Поделиться сообщением


Ссылка на сообщение

Система действительно интересная - в плане того что можно действительно быстро сделать html-страничку, скажем, для органика.

 

Однако, почти весь мир перешел на XymTeX

http://en.wikipedia.org/wiki/XyMTeX

http://xymtex.com/fujitas3/xymtex/indexe.html

 

Система позволяет готовить химические публикации типографского качества (для чего она (система) и используется):

http://xymtex.com/fujitas3/xymtex/xym500/xympdf/xymtx500.pdf

 

Так же как и сам LaTeX система расширяемая и программируемая.

Поделиться сообщением


Ссылка на сообщение
Круто! :ay: это ж сколько надо было света солнечного не видеть чтоб такое наваять?.. :blink:

Ну не так уж много на самом деле... Можно считать, что это у меня хобби.

Идея пришла в сентябре. Где-то месяц думал, смотрел что уже есть на эту тему.

Потом месяца два в свободное время писал скрипт.

И вот сейчас сайтом занимаюсь. Это конечно больше всего времени занимает.

Поделиться сообщением


Ссылка на сообщение

Спасибо за ссылки.

LaTex - система конечно давно себя зарекомендовала и имеет массу приверженцев.

Я смотрел ту страницу по XyMTeX, что в википедии, ещё до того, как начал изобретать свой велосипед. Но мне показалось, что эта система слишком сложна.

Вот, как описывается цветная формула на XyMTeX:

{\red \bzdrv{1=={\blue OH};4=={\green NO$_{2}$}}}

А вот то же самое на easyChem:

$color(blue)OH$color(red)|\||`/`\`|/`/|0\|$color(green)NH2

 

Демонстрационная ссылка

По размеру текста разница не велика. Зато в XyMTeX нужно не только знать правила, но и помнить много специфичной информации. Например, что бензол - \bzdrv, а другие конструкции имеют свои названия. И не только названия, но и нумерацию узлов. Так что без предварительного изучения желаемую формулу описать будет не просто.

В моем варианте достаточно знать, что цвет задаётся конструкцией $color, а связи обозначаются палочками. К тому же, текстовая запись транслируется в структуру, из которой можно получить массу, брутто-формулу и ещё много чего...

В общем, я не претендую на то, чтобы вытеснить XyMTeX. Потому что типографское качество - это серьёзно.

Но если провести аналогию с растровыми форматами, то там для типографских нужд используются TIFF или PSD. А чтобы вывести аватар на форуме гораздо полезнее GIF или JPEG.

Так что я надеюсь, что мой вариант может занять ту же нишу, что и GIF.

Изменено пользователем peterwin

Поделиться сообщением


Ссылка на сообщение

Зато в XyMTeX нужно не только знать правила, но и помнить много специфичной информации. Например, что бензол - \bzdrv, а другие конструкции имеют свои названия. И не только названия, но и нумерацию узлов. Так что без предварительного изучения желаемую формулу описать будет не просто.

В моем варианте достаточно знать, что цвет задаётся конструкцией $color, а связи обозначаются палочками. К тому же, текстовая запись транслируется в структуру, из которой можно получить массу, брутто-формулу и ещё много чего...

В общем, я не претендую на то, чтобы вытеснить XyMTeX.

 

Конечно, для каждой задачи - свои средства.

Для быстрого создания химических html-страниц, ваша система безусловно проще и быстрее.

Для написания книг, учебников и статей по органике - XyMTeX.

 

Неоспоримый плюс easChem - возможность простого рисования очень сложных структур (с водородной связью и пр.), рисование которых мышкой в WYSIWYG редакторах займет куда больше времени.

 

Очень важная особенность XyMTeX - можно один раз запрограммировать большую молекулу(фрагмент) в виде короткой команды, а потом ее много раз использовать. Было бы удобно где нибудь в голове сделать обозначение, скажем

\my_molecule=H_(A45)C<_(A135)H>_(L1.2,N2)C<_(A-45)H>_(A45)H

А потом по тексту вместо длинной формулы писать просто макрокоманду. Это позволит использовать систему для более легкого создания больших документов, или электронных учебных пособий.

 

Так же, на мой взгляд, очень расширила бы использование системы генерация выходного векторного файла svg как такового Тем паче, что система так и работает )) (гораздо удобнее скачать готовый файл, чем "хачть" исходники)

 

И еще, на мой взгляд не хватает "pdf" в документации, хотя бы минимального. Понятно почему его нет :)

Возможно, количество "топорной работы" по доработке полуфабриката html2latex можно будет снизить с помощью svg2ps, а потом эти ps-ки напрямую импортировать в latex-овский исходник.

Изменено пользователем Wergilius

Поделиться сообщением


Ссылка на сообщение

Было бы удобно где нибудь в голове сделать обозначение, скажем

\my_molecule=H_(A45)C<_(A135)H>_(L1.2,N2)C<_(A-45)H>_(A45)H

А потом по тексту вместо длинной формулы писать просто макрокоманду. Это позволит использовать систему для более легкого создания больших документов, или электронных учебных пособий.

 

Так же, на мой взгляд, очень расширила бы использование системы генерация выходного векторного файла svg как такового Тем паче, что система так и работает )) (гораздо удобнее скачать готовый файл, чем "хачть" исходники)

 

И еще, на мой взгляд не хватает "pdf" в документации, хотя бы минимального. Понятно почему его нет :)

Возможно, количество "топорной работы" по доработке полуфабриката html2latex можно будет снизить с помощью svg2ps, а потом эти ps-ки напрямую импортировать в latex-овский исходник.

Большое спасибо за конструктивные предложения.

Я думал насчёт макрокоманд, но мне показалось, что это избыточный функционал. Но раз есть такое пожелание, то пожалуй можно и сделать.

 

Генерацию в SVG я уже сделал, хотя пока особо не анонсировал. Она работает и ей можно пользоваться. На странице тестового стенда в самом низу есть кнопка "Генерировать SVG". При нажатии выдаётся исходник SVG и изображение (для браузеров, поддерживающих inline-SVG).

В принципе, есть потенциальная возможность генерировать любой текстовый векторный формат. В планах было заняться DXF, но можно заняться и ps.

Да в общем, можно было бы даже сделать экспорт в формате XyMTeX. Просто не знаю, насколько такой функционал будет востребован.

А документация там сейчас вообще в экспериментальном виде :)

Не хочет делаться так же быстро и просто, как программная часть. Особенно английский вариант тяжко даётся.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×