Сюй Шилинь
- 1 year ago
- 0
- 0
X ϒ M T e X (ранее — ChemTeX )— пакет для TeX , который позволяет рисовать химические формулы с помощью специфичной разметки текста.
Слово 'chemestry' происходит от арабского слово 'alchemy', которое восходит корнями к греческому . «XyM» в названии пакета берётся именно из греческого слова.
Произносится XyMTeX как «khymtekh», где «kh» читается как русское «х» или английское «k», а «y» близко к немецкому «ü».
XyMTeX был разработан R. T. Haas, K. C. O’Kane и M. Ramek как расширение для макропакета LaTeX . Первый релиз был осуществлён в 1993 году для LaTeX 2.09. Ранние версии (до версии 3.00) базировались на графическом окружении LaTeX и на функционале пакета epic , которые позволяли пользователю возможность рисовать простые схемы. Эта версия была совместима с оригинальным LaTeX и генерировала .dvi-файлы, которые потом можно было преобразовать в .pdf используя конвертер dvipdfm(x).
Сейчас такой тип компилирования называется TEX/LATEX-compatible mode .
Следующее поколение версия (до 4.06) базировалось на функционале пакета PSTricks. Сейчас такой способ работы называется PostScript-compatible mode :
С другой стороны, стоит отметить, что старый метод работы никуда не исчез, а продолжает поддерживаться и по сей день.
Последние версии (до 5.01) базируются на функционале пакета pdf, который соответствует dvi-to-pdf конвертации. Данный метод работы называется PDF-compatible mode и используется в текущей версии XyMTeX.
Изначально большой проблемой для XyMTeX являлось ограничение на количество аргументов функции: вызвать функцию более, чем с девятью аргументами, было невозможно в принципе, тогда как на практике для более-менее сложных химических соединений требовалось более двадцати аргументов. Аргументы были плохо специфицированы
Данный код компилируется в структуру на рисунке.
\documentclass{letter}
\usepackage{epic,carom}
\pagestyle{empty}
\begin{document}
\begin{picture}(1000,500)
\put(0,0){\steroid[d]{3D==O;{{10}}==\lmoiety{H$_{3}$C};{{13}}==\lmoiety{H$_{3}$C};{{11}}==HO}}
\put(684,606){\sixunitv{}{2D==O;1==OH}{cdef}}
\end{picture}
\end{document}