Обрамление Maxima
5.1.4 Работа с Maxima из Emacs
Универсальный редактор Emacs также может использоваться в качестве front-end к Maxima. Для этого предусмотрено несколько режимов: maxima-mode, EMaxima и iMaxima.
Основной режим работы с Maxima в Emacs — maxima-mode. Этот режим запускается клавиатурной комбинацией M-x-maxima-mode (обычно нажатием alt-M-alt-x и после появления подсказки — набор maxima). Этот режим несколько аскетичен (похож на xMaxima), но достаточно удобен. Общий вид рабочего окна для данного режима представлен на рис. 5.13. На этом же рисунке видно меню навигации по текущей сессии, позволяющее показывать необходимый участок сессии, сохранять часть результатов в протокол, повторять ввод уже использовавшихся в данной сессии команд и т.п.
Графики в рабочую книгу, открытую в Emacs, не встраиваются. Сохранение копии рисунка должно выполняться средствами gnuplot или openmath.
Интерфейс EMaxima — скорее не самостоятельный режим, а надстройка над режимом , которая наверняка понравится тем, кто использует Emacs для редактирования -документов. В отличие от режима Maxima, который предназначен для обычного изолированного запуска полноценной Maxima-сессии, здесь речь идет о возможности вставлять отдельные команды Maxima и, естественно, результаты их вычислений, прямо в редактируемый документ. Запуск режима осуществляется командой EMaxima-mode (M-x emaxima).
В простейшем случае с использованием EMaxima можно создать ячейку Maxima комбинацией C-c C-o ("open cell"), ввести в ней любую команду или набор команд Maxima в текстовой нотации и получить результат вычисления этой команды либо в обычном текстовом виде нажатием C-c C-u c, либо в -виде с помощью C-c C-u C (т. е. Ctrl-c Ctrl-u Shift-c). Здесь "u c" происходит от "update cell"; а смежные команды, генерирующие вывод в простой текстовой форме и в форме , всегда привязаны в EMaxima к одинаковым строчной и заглавной буквам соответственно. Пример работы с EMaxima представлен на рис. 5.14, где показаны результаты создание ячейки с Maxima-кодом и результаты дополнения ячейки (команды можно выбирать из меню EMaxima в верхней части рабочего окна).
Использовать интерфейс EMaxima удобно при создании объёмных документов в математического характера, которые предполагают включение результатов символьных вычислений.
Последний Emacs-интерфейс к Maxima — iMaxima — отличается от остальных самостоятельным (а не посредством -документа, как в EMaxima) графическим представлением математических формул. Собственно, именно для этого он и создан, и его отличие от Maxima-mode заключается именно в возможности графического отображения -кода, генерируемого Maxima.
Этот режим можно настроить таким образом, чтобы внутри него запускался режим Maxima (т. е. Maxima-Emacs), и пользоваться всеми командами последнего и их клавиатурными привязками. Т.е. фактически режим iMaxima в таком варианте можно рассматривать как графический интерфейс уже над Maxima-Emacs; именно это может добавить дополнительной привлекательности последнему. В отличие от всех рассмотренных выше интерфейсов, iMaxima — сторонний проект, разрабатываемый отдельно. Для его установки необходимо дополнительно установить пакет breqn, отвечающий за перенос строк в математических формулах в формате . Инструкцию по установке самой iMaxima и breqn можно найти на сайте проекта.