<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6158999380322649405</id><updated>2011-07-30T19:33:28.417-07:00</updated><category term='Maxima'/><category term='Emacs'/><category term='AUCTeX'/><category term='EMaxima'/><category term='Word'/><category term='Scheme'/><category term='LaTeX'/><category term='ecb'/><category term='muCommander'/><category term='Aspell'/><title type='text'>Kostafey's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-882825887347017579</id><published>2009-10-07T00:13:00.000-07:00</published><updated>2009-10-07T02:00:16.612-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='muCommander'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Компоновка CLASSPATH с помощью emacs и muCommander</title><content type='html'>Вообще, CLASSPATH имеет по сути отношение к настоящей заметке как французское полусладкое к физике жидкости, но идея возникла именно в тот момент когда я в очередной раз компоновал CLASSPATH. На самом же деле объединением строк случается пользоваться не только и столько для этого. CLASSPATH - штука капризная. Бывает не любит пробелы или русские буквы в путях. А бывает этот фокус работает "на ура". Конечно, традиционно стараешься этого избежать. Тем не менее, иногда необходимо сформировать строку, в которой должна быть записана "пачка", "jar-ников". Иногда, этот процесс приходится повторять... Иногда и не раз...&lt;br /&gt; Хочется этот процесс автоматизировать. Искать специализированные решения - несколько дико.&lt;br /&gt; В качестве файлового менеджера я использую  &lt;a href="http://www.mucommander.com/"&gt;muCommander&lt;/a&gt;. Он реализует минимально необходимый набор функций файлового менеджера, не пытаясь стать системой по управлению ОС (аля TotalCommander), но и не столь аскетичен как dired (хотя, возможно, и менее гибок). Кроме того, cross-platform (java), распространяется под GPL. Настройка muCommander для того, чтобы emacs стал редактором по умолчанию, выглядит следующим образом:&lt;br /&gt;В ~\.mucommander\preferences.xml указывается&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nxml-element-local-name"&gt;editor&lt;/span&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="nxml-tag-delimiter"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nxml-element-local-name"&gt;use_custom&lt;/span&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nxml-text"&gt;true&lt;/span&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nxml-tag-slash"&gt;/&lt;/span&gt;&lt;span class="nxml-element-local-name"&gt;use_custom&lt;/span&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="nxml-tag-delimiter"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nxml-element-local-name"&gt;custom_command&lt;/span&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nxml-text"&gt;emacsclientw.exe -n &lt;/span&gt;&lt;span class="nxml-entity-ref-delimiter"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nxml-entity-ref-name"&gt;quot&lt;/span&gt;&lt;span class="nxml-entity-ref-delimiter"&gt;;&lt;/span&gt;&lt;span class="nxml-text"&gt;$f&lt;/span&gt;&lt;span class="nxml-entity-ref-delimiter"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nxml-entity-ref-name"&gt;quot&lt;/span&gt;&lt;span class="nxml-entity-ref-delimiter"&gt;;&lt;/span&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nxml-tag-slash"&gt;/&lt;/span&gt;&lt;span class="nxml-element-local-name"&gt;custom_command&lt;/span&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nxml-tag-slash"&gt;/&lt;/span&gt;&lt;span class="nxml-element-local-name"&gt;editor&lt;/span&gt;&lt;span class="nxml-tag-delimiter"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt; Возвращаемся к CLASSPATH. Находясь в директории библиотеки, например C:\JavaLib\axis\ нажимаем (ключи я описал в стиле emacs, но все это, конечно, выполняется в muCommander):&lt;br /&gt; C-a&lt;br /&gt; M-S-c&lt;br /&gt;Это приведет к тому, что пути к файлам будут скопированы в буфер обмена. Переходим в некоторый буфер emacs, например,temp. Вставляем содержимое буфера обмена (C-v или C-y в зависимости от настроек). Его содержимое принимает следующий вид, например:&lt;br /&gt;&lt;pre&gt;&lt;span class="src"&gt;C:\JavaLib\axis\axis-ant.jar&lt;br /&gt;C:\JavaLib\axis\axis.jar&lt;br /&gt;C:\JavaLib\axis\commons-discovery-0.2.jar&lt;br /&gt;C:\JavaLib\axis\commons-logging-1.0.4.jar&lt;br /&gt;C:\JavaLib\axis\jaxrpc.jar&lt;br /&gt;C:\JavaLib\axis\log4j-1.2.8.jar&lt;br /&gt;C:\JavaLib\axis\saaj.jar&lt;br /&gt;C:\JavaLib\axis\wsdl4j-1.5.1.jar&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Подобным образом дополняем список из библиотек других директорий.&lt;br /&gt;Ниже предлагается ряд функций. Может, это и не очень существенная разработка :), но для меня частота их использования конкурирует разьве только что с к командами движения курсора.&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;=============================================================================&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;Join lines&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;=============================================================================&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;circle-processing&lt;/span&gt; (arg function)&lt;br /&gt;  &lt;span class="doc"&gt;"Circle call 'function' 'arg' times, default - once"&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span class="keyword"&gt;progn&lt;/span&gt;&lt;br /&gt;    (&lt;span class="keyword"&gt;if&lt;/span&gt; arg&lt;br /&gt;        (setq times arg)&lt;br /&gt;      (setq times 1)) &lt;br /&gt;    (&lt;span class="keyword"&gt;let&lt;/span&gt; (counter)&lt;br /&gt;      (&lt;span class="keyword"&gt;dotimes&lt;/span&gt; (counter times)&lt;br /&gt;        (apply function nil)))))&lt;br /&gt;&lt;br /&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;join-next-line-space&lt;/span&gt; ()&lt;br /&gt;  &lt;span class="doc"&gt;"Joins next line with current with a space between them"&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;    (&lt;span class="keyword"&gt;progn&lt;/span&gt;&lt;br /&gt;      (end-of-line)&lt;br /&gt;      (next-line)&lt;br /&gt;      (join-line)))&lt;br /&gt;&lt;br /&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;join-next-line&lt;/span&gt; ()&lt;br /&gt;  &lt;span class="doc"&gt;"Joins next line with current without space between them"&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span class="keyword"&gt;progn&lt;/span&gt;&lt;br /&gt;      (join-next-line-space)&lt;br /&gt;      (delete-char 1)))&lt;br /&gt;&lt;br /&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;join-next-line-semicolon&lt;/span&gt; ()&lt;br /&gt;  &lt;span class="doc"&gt;"Joins next line with current with semicolon between them"&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span class="keyword"&gt;progn&lt;/span&gt;&lt;br /&gt;      (join-next-line)&lt;br /&gt;      (insert &lt;span class="string"&gt;";"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;join-next-line-space-n&lt;/span&gt; (&lt;span class="type"&gt;&amp;amp;optional&lt;/span&gt; arg)&lt;br /&gt;  &lt;span class="doc"&gt;"Joins number of next lines with current with a space between them"&lt;/span&gt;&lt;br /&gt;  (interactive &lt;span class="string"&gt;"P"&lt;/span&gt;)&lt;br /&gt;(circle-processing arg 'join-next-line-space))&lt;br /&gt;(global-set-key &lt;span class="string"&gt;"\C-j"&lt;/span&gt; 'join-next-line-space-n)&lt;br /&gt;&lt;br /&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;join-next-line-n&lt;/span&gt; (&lt;span class="type"&gt;&amp;amp;optional&lt;/span&gt; arg)&lt;br /&gt;  &lt;span class="doc"&gt;"Joins number of  next lines with current without space between them"&lt;/span&gt;&lt;br /&gt;  (interactive &lt;span class="string"&gt;"P"&lt;/span&gt;)&lt;br /&gt;(circle-processing arg 'join-next-line))&lt;br /&gt;(global-set-key &lt;span class="string"&gt;"\C-cj"&lt;/span&gt; 'join-next-line-n)&lt;br /&gt;&lt;br /&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;join-next-line-semicolon-n&lt;/span&gt; (&lt;span class="type"&gt;&amp;amp;optional&lt;/span&gt; arg)&lt;br /&gt;  &lt;span class="doc"&gt;"Joins number of  next lines with current with semicolon between them"&lt;/span&gt;&lt;br /&gt;  (interactive &lt;span class="string"&gt;"P"&lt;/span&gt;)&lt;br /&gt;(circle-processing arg 'join-next-line-semicolon))&lt;br /&gt;(global-set-key &lt;span class="string"&gt;"\C-c\C-j"&lt;/span&gt; 'join-next-line-semicolon-n)&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Так, точка в начале буфера. &lt;br /&gt;M-&amp;lt;число строк&amp;gt; C-c C-j (join-next-line-semicolon-n). &lt;br /&gt;CLASSPATH готов.&lt;br /&gt;Обратная задача - преобразование из строки в список удобный для чтения. Вставив строку CLASSPATH в буфер набираем:&lt;br /&gt;M-x replace-string ; &amp;lt;RET&amp;gt; ; C-q &amp;lt;RET&amp;gt; &amp;lt;RET&amp;gt;&lt;br /&gt;К сожалению, перевод строки и/или возврат каретки будет представлен в буфере символом ^M вместо собственно начала новой строки. Но скопировав этот фрагмент из emacs, текст представляется в том виде, в котором изначально и ожидалось.&lt;br /&gt;&lt;br /&gt;P.S. При поддержке emacs@conference.jabber.ru :)&lt;br /&gt;P.P.S. Комментарии приветствуются, прежде всего, по стилю написания на elisp (можно ли что-то упростить, унифицировать, etc).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-882825887347017579?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/882825887347017579/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/10/classpath-emacs-mucommander.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/882825887347017579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/882825887347017579'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/10/classpath-emacs-mucommander.html' title='Компоновка CLASSPATH с помощью emacs и muCommander'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-1609674331036199179</id><published>2009-09-26T10:31:00.000-07:00</published><updated>2009-09-26T11:07:51.631-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ecb'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Ограничения размера буфера для imenu</title><content type='html'>Сегодня обнаружил, что содержимое LaTeX-документа в окне методов ecb вдруг перестало автоматически перестраиваться по сохранению. Долго пытался понять что ж такого наизменял в .emacs, чтобы это перестало работать. На всякий пожарный попробовал старые конфиги, переустановил последовательно ecb, emacs, мир... :)&lt;br /&gt;&lt;br /&gt;Но долго сказка сказывается, да скоро проблема решается:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;Imenu auto-rescan is disabled in buffers larger than this size (in bytes).&lt;br /&gt;&lt;/span&gt;(setq imenu-auto-rescan-maxout 600000)&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-1609674331036199179?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/1609674331036199179/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/09/imenu.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/1609674331036199179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/1609674331036199179'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/09/imenu.html' title='Ограничения размера буфера для imenu'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-9084179781758312590</id><published>2009-07-28T05:39:00.000-07:00</published><updated>2009-07-28T06:26:04.770-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aspell'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Emacs, Aspell и одновременное использование словарей.</title><content type='html'>Недавно задался вопросом как осуществлять проверку правописания для буфера, в котором есть как русские, так и английские слова.&lt;br /&gt;На &lt;a href="http://www.linux.org.ru/view-message.jsp?msgid=3892853"&gt;ЛОРе&lt;/a&gt; подсказали &lt;a href="http://pastebin.ca/679988"&gt;решение&lt;/a&gt;, которое показалось мне вполне приемлемым. Привожу его в том виде, в котором оно осталось в моем .emacs (т.е. почти без изменений):&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;=============================================================================&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;Настройка проверки правописания Ispell&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;flyspell&lt;/span&gt;)&lt;br /&gt;(&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;ispell&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(setq&lt;br /&gt;&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;i like aspel, and you?&lt;br /&gt;&lt;/span&gt; ispell-program-name &lt;span class="string"&gt;"aspell"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;my dictionary-alist, using for redefinition russian dictionary&lt;br /&gt;&lt;/span&gt; ispell-dictionary-alist&lt;br /&gt;'((&lt;span class="string"&gt;"english"&lt;/span&gt;                       &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;English&lt;br /&gt;&lt;/span&gt;    &lt;span class="string"&gt;"[a-zA-Z]"&lt;/span&gt;&lt;br /&gt; &lt;span class="string"&gt;"[&lt;/span&gt;&lt;span class="string"&gt;&lt;span class="negation-char"&gt;^&lt;/span&gt;&lt;/span&gt;&lt;span class="string"&gt;a-zA-Z]"&lt;/span&gt;&lt;br /&gt; &lt;span class="string"&gt;"[']"&lt;/span&gt;&lt;br /&gt; nil&lt;br /&gt; (&lt;span class="string"&gt;"-d"&lt;/span&gt; &lt;span class="string"&gt;"en"&lt;/span&gt;)&lt;br /&gt; nil iso-8859-1)&lt;br /&gt;(&lt;span class="string"&gt;"russian"&lt;/span&gt;                       &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;Russian&lt;br /&gt;&lt;/span&gt;    &lt;span class="string"&gt;"[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]"&lt;/span&gt;&lt;br /&gt; &lt;span class="string"&gt;"[&lt;/span&gt;&lt;span class="string"&gt;&lt;span class="negation-char"&gt;^&lt;/span&gt;&lt;/span&gt;&lt;span class="string"&gt;АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]"&lt;/span&gt;&lt;br /&gt; &lt;span class="string"&gt;"[-]"&lt;/span&gt;&lt;br /&gt; nil&lt;br /&gt; (&lt;span class="string"&gt;"-C"&lt;/span&gt; &lt;span class="string"&gt;"-d"&lt;/span&gt; &lt;span class="string"&gt;"ru"&lt;/span&gt;)&lt;br /&gt; nil utf-8)&lt;br /&gt;(nil                             &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;Default&lt;br /&gt;&lt;/span&gt;    &lt;span class="string"&gt;"[A-Za-z]"&lt;/span&gt;&lt;br /&gt; &lt;span class="string"&gt;"[&lt;/span&gt;&lt;span class="string"&gt;&lt;span class="negation-char"&gt;^&lt;/span&gt;&lt;/span&gt;&lt;span class="string"&gt;A-Za-z]"&lt;/span&gt;&lt;br /&gt; &lt;span class="string"&gt;"[']"&lt;/span&gt;&lt;br /&gt; nil&lt;br /&gt; (&lt;span class="string"&gt;"-C"&lt;/span&gt;)&lt;br /&gt; nil iso-8859-1))&lt;br /&gt;&lt;br /&gt;ispell-russian-dictionary &lt;span class="string"&gt;"russian"&lt;/span&gt;&lt;br /&gt;ispell-english-dictionary &lt;span class="string"&gt;"english"&lt;/span&gt;&lt;br /&gt;flyspell-default-dictionary ispell-russian-dictionary&lt;br /&gt;ispell-dictionary ispell-english-dictionary&lt;br /&gt;ispell-local-dictionary ispell-russian-dictionary&lt;br /&gt;ispell-extra-args '(&lt;span class="string"&gt;"--sug-mode=ultra"&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;flyspell-russian&lt;/span&gt; ()&lt;br /&gt;(interactive)&lt;br /&gt;(flyspell-mode t)&lt;br /&gt;(ispell-change-dictionary ispell-russian-dictionary)&lt;br /&gt;(flyspell-buffer)&lt;br /&gt;(message &lt;span class="string"&gt;"Russian dictionary - Spell Checking completed."&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;English&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;flyspell-english&lt;/span&gt; ()&lt;br /&gt;(interactive)&lt;br /&gt;(flyspell-mode t)&lt;br /&gt;(ispell-change-dictionary ispell-english-dictionary)&lt;br /&gt;(flyspell-buffer)&lt;br /&gt;(message &lt;span class="string"&gt;"English dictionary - Spell Checking completed."&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;(setq ispell-highlight-face (quote flyspell-incorrect))&lt;br /&gt;(setq ispell-have-new-look t)&lt;br /&gt;(setq ispell-enable-tex-parser t)&lt;br /&gt;(add-hook 'text-mode-hook 'flyspell-mode)&lt;br /&gt;(setq flyspell-delay 1)&lt;br /&gt;(setq flyspell-always-use-popup t)&lt;br /&gt;&lt;br /&gt;(global-set-key [f1] 'ispell-word)&lt;br /&gt;(global-set-key [f7] 'ispell-buffer)&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;проверить орфографию в текущем буфере&lt;br /&gt;&lt;/span&gt;(global-set-key [f8] 'ispell-region)&lt;br /&gt;(global-set-key [f9] 'auto-fill-mode)&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;вкл/выкл автозаполнения&lt;br /&gt;&lt;/span&gt;(global-set-key [f10] 'flyspell-english)&lt;br /&gt;(global-set-key [f11] 'flyspell-russian)&lt;br /&gt;(global-set-key [f12] 'flyspell-mode)&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;вкл/выкл проверки орфографии "на ходу"&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;============================================================================&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;P.S. упражняемся c htmlize.el&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-9084179781758312590?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/9084179781758312590/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/07/emacs-aspell.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/9084179781758312590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/9084179781758312590'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/07/emacs-aspell.html' title='Emacs, Aspell и одновременное использование словарей.'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-2453845497264676640</id><published>2009-07-06T15:18:00.000-07:00</published><updated>2009-07-08T14:42:50.610-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scheme'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>MIT/GNU Scheme и Emacs</title><content type='html'>Вот интересно, кому пришла в голову мысль что Linux сложнее Windows?&lt;br /&gt;&lt;br /&gt;На днях разгребал архивы закаченных файлов и среди прочего были обнаружены несколько статей&lt;br /&gt;&lt;strike&gt;о пользе бега и вреде курения&lt;/strike&gt; о пользе лиспа и вреде java.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.nestor.minsk.by/sr/2003/07/30710.html"&gt;http://www.nestor.minsk.by/sr/2003/07/30710.html&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://local.joelonsoftware.com/wiki/Опасности_обучения_на_Java"&gt;http://local.joelonsoftware.com/wiki/Опасности_обучения_на_Java&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://local.joelonsoftware.com/wiki/А_ваш_язык_программирования_так_может%3F"&gt;http://local.joelonsoftware.com/wiki/А_ваш_язык_программирования_так_может%3Fa&lt;/a&gt;&lt;/ol&gt;&lt;br /&gt;Сложно не заинтересоваться.&lt;br /&gt;&lt;br /&gt;В то же время, неподалеку была обнаружена книжка Харольд Абельсон, Джеральд Джей Сассман Структура и интерпретация компьютерных программ. Английский вариант:&lt;a href="http://mitpress.mit.edu/sicp/"&gt;http://mitpress.mit.edu/sicp/full-text/book/book.html&lt;/a&gt;. Книжка, вообще говоря, и не совсем про лисп, но примеры на Scheme. Хороший способ совместить приятное с полезным.&lt;br /&gt;&lt;br /&gt;В чем же дело? Нам нужна реализация той самой Scheme, на которой написаны примеры в книжке. Вот она: &lt;a href="http://mitpress.mit.edu/sicp/scheme/index.html"&gt;http://mitpress.mit.edu/sicp/scheme/index.html&lt;/a&gt; Скачиваем, устанавливаем заботливо собранный и для пользователей Windows бинарник &lt;a href="http://www.gnu.org/software/mit-scheme/"&gt;http://www.gnu.org/software/mit-scheme/&lt;/a&gt;. Там же рядом PDF - версии документации. После установки, конечно, прописываем C:\Program Files\MIT-GNU Scheme\bin\ в PATH.&lt;br /&gt;&lt;br /&gt;Конечно, это все теперь нужно прикрутить к Emacs (а как же без этого?!). Тут все уже написано: &lt;a href="http://xtalk.msk.su/~ott/ru/writings/emacs-devenv/EmacsScheme.html#xscheme."&gt;http://xtalk.msk.su/~ott/ru/writings/emacs-devenv/EmacsScheme.html#xscheme.&lt;/a&gt;. Итак, нам нужен Xscheme. Он входит в стандартный комплект Emacs, конечно, можно взять и версию &lt;a href="http://www.gnu.org/software/mit-scheme/"&gt;http://www.gnu.org/software/mit-scheme/&lt;/a&gt;, но она едва ли новее. Выглядит не сложно. Нужно лишь запустить процесс Scheme. В самом приложении (Scheme.exe) про существование Windows не очень в курсе, т.к. путь поиска по band-файла all.com по умолчанию \scheme\lib. Кхм, ладно смотрим документацию. Решение: использовать переменную окружения MITSCHEME_LIBRARY_PATH со значением, например C:\Program Files\MIT-GNU Scheme\lib.&lt;br /&gt;&lt;br /&gt;Наконец, M-x start-scheme успешно запущен. Но в созданном буфере scheme никакого процесса scheme нет, хотя некая консоль в соседнем окне запустилась. Возвращаемся на &lt;a href="http://www.gnu.org/software/mit-scheme/"&gt;http://www.gnu.org/software/mit-scheme/&lt;/a&gt; (прикидывая, оформить это как вопрос или уж сразу баг-репорт, в конце-концов, кому придет в голову тестировать все это в Windows?:)). А там, тем временем, относительно использования xscheme и emacs черным по белому написано: &lt;strong&gt;This doesn't work on Windows or OS/2&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Ладно, все же в комплекте MIT/GNU Scheme идет emacs-подобный редактор Edwin. Но разве Windows проще Linux?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-2453845497264676640?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/2453845497264676640/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/07/mitgnu-scheme-emacs.html#comment-form' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/2453845497264676640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/2453845497264676640'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/07/mitgnu-scheme-emacs.html' title='MIT/GNU Scheme и Emacs'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-1636147840711139364</id><published>2009-07-02T10:21:00.000-07:00</published><updated>2009-07-02T12:59:52.917-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Word'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><title type='text'>Взаимодействие с MS Word</title><content type='html'>Возможно, кто-то захочет спросить WTF MS Word? (что такое MS Word?) И в шутку и в серьез. Что тут можно ответить? Я и сам не знаю что такое MS Word, но при этом активно использую... пока еще приходится.&lt;br /&gt;Собственно, решение давно найдено: &lt;a href="http://dxdy.ru/topic183.html"&gt;http://dxdy.ru/topic183.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Все что требуется это установить MathType (я использовал версию 6.0c). Далее в меню MathType Установки выбрать Установки Трансляторов. В открывшемся окне в меню "Tpaнcлятop:" выбрать один из TeX-трансляторов (например "TeX -- AMS-LateX")&lt;br /&gt;&lt;br /&gt;Галочек напротив "Bключaть имя тpaнcлятopa в пepeвoд" и "Bключaть дaнныe MathType в пepeвoд" быть не должно. Все, теперь можно копировать LaTeX - формулу в окно редактора MathType, получая редактируемую формулу Word и наоборот, можно копировать формулу из MathType и получать LaTeX - формулу в текстовом виде.&lt;br /&gt;&lt;br /&gt;Единственный недостаток - невозможность работы с русскими буквами в формулах. Их необходимо будет дописывать вручную.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-1636147840711139364?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/1636147840711139364/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/07/ms-word.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/1636147840711139364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/1636147840711139364'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/07/ms-word.html' title='Взаимодействие с MS Word'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-2852211995048013690</id><published>2009-07-02T07:31:00.001-07:00</published><updated>2009-07-06T15:40:33.762-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EMaxima'/><category scheme='http://www.blogger.com/atom/ns#' term='AUCTeX'/><category scheme='http://www.blogger.com/atom/ns#' term='Maxima'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><category scheme='http://www.blogger.com/atom/ns#' term='ecb'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Пример символьных преобразований в EMaxima</title><content type='html'>Подробное описание использования интерфейсов интерактивной и пакетной работы с Maxima, а также интерфейса EMaxima приведено в документации Jay Belanger Maxima and Emacs. Найти ее можно в установленной версии Maxima, например,&lt;br /&gt;C:\Program Files\Maxima-5.18.1\share\maxima\5.18.1\doc\EMaximaIntro.ps&lt;br /&gt;&lt;br /&gt;Приведу наиболее часто используемые ключи:&lt;br /&gt;C-c C-o  Создание стандартной ячейки.&lt;br /&gt;C-c +  Переход к следующей ячейке.&lt;br /&gt;C-c -  Переход к предыдущей ячейке.&lt;br /&gt;C-c C-u c Обновить (выполнить) текущую ячейку. Результат - в текстовом формате.&lt;br /&gt;C-c C-u C Обновить (выполнить) текущую ячейку. Результат - в формате TeX.&lt;br /&gt;C-c C-d  Очистить вывод, генерируемый Maxima для данной ячейки.&lt;br /&gt;&lt;br /&gt;Пришло время рассмотрения более серьезного примера использования EMaxima. Для его описания понадобится ввести еще несколько новых понятий, каждое из которых рассмотрим отдельно на простых примерах. Прежде всего, необходимо упомянуть ссылки на другие ячейки.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Ссылки на другие ячейки&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Помечаем одну из ячеек, например [filename:definef]. Другая ячейка должна быть также помечена тем же filename, но с уникальной меткой ячейки. Добавялем ссылку &amp;#60;filename:definef&amp;#62;. Ткаим образом, вместо ссылки будет выполнена ячейка с этой меткой. Результат ее работы - также будет отображен в вызывающей ячейке. Таким образом, при вычислении ячейки filename:optional сначала переменной x будет присвоено значение 3, затем выражение в вызывающей ячейке будет вычислено с учетом этого значения.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\begin{maxima}[filename:optional]&lt;br /&gt;&amp;#60;filename:definef&amp;#62;&lt;br /&gt;x^2;&lt;br /&gt;\maximaoutput*&lt;br /&gt;\m  9 \\&lt;br /&gt;\end{maxima}&lt;br /&gt;&lt;br /&gt;\begin{maxima}[filename:definef]&lt;br /&gt;x:3$%$&lt;br /&gt;\end{maxima}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Использование $%$ - это предложенный в заметке &lt;a href="http://kostafey.blogspot.com/2009/05/emaxima.html"&gt;Графики в EMaxima&lt;/a&gt;&lt;br&gt; способ подавления вывода Maxima в LaTeX-окружении.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Использование произвольных символов при обозначении переменных&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Такие символы как a, b, c, x, y, z... не всегда оказываются достаточными для обозначения переменных. Что если нам требуется использовать символы греческого алфавита с подстрочными и надстрочными символами индексами и т.д.? В LaTeX имеются все необходимые средства для работы с ними, но Maxima ничего такого не предоставляет, а корректировать вручную генерируемые формулы слишком непроизводительно, кроме того, велика вероятность случайной ошибки. Ответ на этот вопрос, как ни странно, находится в FAQ Maxima:&lt;a href="http://maxima.sourceforge.net/ru/faq.html#TeXOutput0"&gt;http://maxima.sourceforge.net/ru/faq.html#TeXOutput0&lt;/a&gt;.&lt;br /&gt;Тогда для того чтобы возвести экспоненту в переменную лямбда с подстрочным символом гамма &lt;img alt="e^{\lambda_{\gamma}}" src=http://www.texify.com/img/%5CLARGE%5C%21e%5E%7B%5Clambda_%7B%5Cgamma%7D%7D.gif align=center border=0&gt; необходимо:&lt;br /&gt;&lt;br /&gt;Создать файл vars.lisp где-нибудь неподалеку от редактируемого tex-файла, и записать в нем:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;(defprop $lambda_gamma "\\lambda_{\\gamma}" texword)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Тем самым мы ассоциируем обозначение lambda_gamma с его TeX-овым представлением \lambda_{\gamma}&lt;br /&gt;Теперь записываем в ячейке:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\begin{maxima}&lt;br /&gt;load("vars.lisp")$%$&lt;br /&gt;exp(lambda_gamma);&lt;br /&gt;\end{maxima}&lt;/span&gt;&lt;br /&gt;Вычисляем C-c C-u C. Результат &lt;br /&gt;\m  e^{\lambda_{\gamma}} \\&lt;br /&gt;т.е. как раз &lt;img alt="e^{\lambda_{\gamma}}" src=http://www.texify.com/img/%5CLARGE%5C%21e%5E%7B%5Clambda_%7B%5Cgamma%7D%7D.gif align=center border=0&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Скрытые элементы текста&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Довольно часто бывает удобно иметь некую ячейку, в которой помимо загрузки обозначений переменных выполняются другие инициализирующие действия, которые актуальны для ряда других ячеек. Однако, в результирующем pdf-додкументе нам ее иметь совсем не обязательно. Такие ячейки следует обозначать звездочкой:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\begin{maxima*}&lt;br /&gt;\end{maxima*}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Однако, эту ключевую ячейку также приходится довольно часто редактировать. Можно осуществлять навигацию по ячейкам, но когда их число велико это долго; можно использовать штатные средства Emacs, такие как закладки, но нельзя забывать, что мы используем такое мощное средство как ecb. Значит нам необходим элемент документа, который бы отображался в окне навигации по методам, но при этом отсутствовал в результирующем документе. Ответ был подсмотрен тут &lt;a href="http://forum.ru-board.com/topic.cgi?forum=5&amp;topic=30211"&gt;http://forum.ru-board.com/topic.cgi?forum=5&amp;topic=30211&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;%Многострочный комментарий&lt;br /&gt;\newcommand{\hidden}[1]{}&lt;br /&gt;...&lt;br /&gt;\begin{document}&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;\hidden{&lt;br /&gt;\section{Инициализация}}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Комплексный пример&lt;/h2&gt;&lt;br /&gt;Попросим Maxima решить для нас несложный интеграл и выдать результат в виде, пригодном для использования в результирующем документе.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;%-*-EMaxima-*-&lt;br /&gt;\documentclass[russian, ucthesis ,14pt, oneside]{article}&lt;br /&gt;\usepackage{mathtext}%Использование русского текста в формулах&lt;br /&gt;\usepackage[T2A]{fontenc}&lt;br /&gt;\usepackage[cp1251]{inputenc}&lt;br /&gt;\usepackage[russian]{babel} &lt;br /&gt;\usepackage{geometry}&lt;br /&gt;\geometry{verbose,a4paper}&lt;br /&gt;\pagestyle{plain}&lt;br /&gt;\usepackage{emaxima} %Позволяет использование EMaxima&lt;br /&gt;\usepackage{pdfcolmk} %Позволяет использование EMaxima для pdf&lt;br /&gt;&lt;br /&gt;\usepackage{amsmath} %для набора мат. формул&lt;br /&gt;\usepackage{mathrsfs} %дополнительные математические шрифты&lt;br /&gt;&lt;br /&gt;%Многосторочный комментарий&lt;br /&gt;\newcommand{\hidden}[1]{}&lt;br /&gt;&lt;br /&gt;\begin{document}&lt;br /&gt;&lt;br /&gt;\fontsize{12pt}{12pt}&lt;br /&gt;\selectfont&lt;br /&gt;&lt;br /&gt;\hidden{&lt;br /&gt;\section{Инициализация}}&lt;br /&gt;\begin{maxima*}[filename:definef]&lt;br /&gt;load("vars.lisp")$%$&lt;br /&gt;\end{maxima*}&lt;br /&gt;&lt;br /&gt;\begin{maxima*}[filename:optional]&lt;br /&gt;&amp;#60;filename:definef&amp;#62;&lt;br /&gt;'integrate(exp(lambda_gamma*x), x, 0, t);&lt;br /&gt;integrate(exp(lambda_gamma*x), x, 0, t);&lt;br /&gt;\end{maxima*}&lt;br /&gt;&lt;br /&gt;\end{document}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Результат вычислений ячейки с меткой filename:optional&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\m  \int_{0}^{t}{e^{\lambda_{\gamma}\,x}\;dx}\big. \\&lt;br /&gt;\m  {{e^{\lambda_{\gamma}\,t}}\over{\lambda_{\gamma}}}-{{1}\over{\lambda_{\gamma}}} \\&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Осталось вынести его из окружения Maxima и внести минимальные корректировки:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$$&lt;br /&gt;\int_{0}^{t}{e^{\lambda_{\gamma}\,x}\;dx}\big. \\ =&lt;br /&gt;{{e^{\lambda_{\gamma}\,t}}\over{\lambda_{\gamma}}}-{{1}\over{\lambda_{\gamma}}} \\&lt;br /&gt;$$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Результат:&lt;br /&gt;&lt;img alt="\int_{0}^{t}{e^{\lambda_{\gamma}\,x}\;dx} ={{e^{\lambda_{\gamma}\,t}}\over{\lambda_{\gamma}}}-{{1}\over{\lambda_{\gamma}}} \\" src=http://www.texify.com/img/%5CLARGE%5C%21%5Cint_%7B0%7D%5E%7Bt%7D%7Be%5E%7B%5Clambda_%7B%5Cgamma%7D%5C%2Cx%7D%5C%3Bdx%7D%20%3D%7B%7Be%5E%7B%5Clambda_%7B%5Cgamma%7D%5C%2Ct%7D%7D%5Cover%7B%5Clambda_%7B%5Cgamma%7D%7D%7D-%7B%7B1%7D%5Cover%7B%5Clambda_%7B%5Cgamma%7D%7D%7D%20%5C%5C.gif align=center border=0&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-2852211995048013690?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/2852211995048013690/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/07/emaxima_02.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/2852211995048013690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/2852211995048013690'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/07/emaxima_02.html' title='Пример символьных преобразований в EMaxima'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-7708580395130994983</id><published>2009-07-02T05:27:00.000-07:00</published><updated>2009-07-02T13:06:35.479-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EMaxima'/><category scheme='http://www.blogger.com/atom/ns#' term='AUCTeX'/><category scheme='http://www.blogger.com/atom/ns#' term='Maxima'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Пример использования EMaxima</title><content type='html'>Создаем файл example1.tex, открываем его в emacs.&lt;br /&gt;Содержимое простейшего emaxima - шаблона может иметь вид:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;%-*-EMaxima-*-&lt;br /&gt;\documentclass[russian, ucthesis ,14pt, oneside]{article}&lt;br /&gt;\usepackage{mathtext}%Использование русского текста в формулах&lt;br /&gt;\usepackage[T2A]{fontenc}&lt;br /&gt;\usepackage[cp1251]{inputenc}&lt;br /&gt;\usepackage[russian]{babel} &lt;br /&gt;\usepackage{geometry}&lt;br /&gt;\geometry{verbose,a4paper}&lt;br /&gt;\pagestyle{plain}&lt;br /&gt;\usepackage{emaxima} %Позволяет использование EMaxima&lt;br /&gt;\usepackage{pdfcolmk} %Позволяет использование EMaxima для pdf&lt;br /&gt;&lt;br /&gt;\usepackage{amsmath} %для набора мат. формул&lt;br /&gt;\usepackage{mathrsfs} %дополнительные математические шрифты&lt;br /&gt;&lt;br /&gt;\begin{document}&lt;br /&gt;Hellow Word!&lt;br /&gt;Проверка русского текста.&lt;br /&gt;\end{document}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Компилируем документ выполнив C-c C-c. В случае, если потребуется повторная компиляция (из-за изменения соответствия содержания расположению секций) emacs сообщит об этом. Повторный вызов C-c C-c приведет к открытию скомпилированного example1.pdf в просмотрщике по умолчанию.&lt;br /&gt;&lt;br /&gt;В дальнейшем предполагаем, что шапка документа имеет именно такой вид, если специально не оговорено иное.&lt;br /&gt;Добавим ячейку emaxima. Находясь между строками&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\begin{document}&lt;br /&gt;&lt;br /&gt;\end{document}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;наберем C-c C-o. Появится новая ячейка:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\begin{document}&lt;br /&gt;\begin{maxima}[]&lt;br /&gt;&lt;br /&gt;\end{maxima}&lt;br /&gt;\end{document}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Попробуем выполнить одно из сложнейших вычислений: наберем 2+2;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\begin{document}&lt;br /&gt;\begin{maxima}[]&lt;br /&gt;2+2;&lt;br /&gt;\end{maxima}&lt;br /&gt;\end{document}&lt;/span&gt;&lt;br /&gt;Затем, наберем C-c C-u C (т.е. Ctrl-c Ctrl-u Shift-c). Через несколько мгновений документ примет вид:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\begin{document}&lt;br /&gt;\begin{maxima}[]&lt;br /&gt;2+2;&lt;br /&gt;\maximaoutput*&lt;br /&gt;\m  4 \\&lt;br /&gt;\end{maxima}&lt;br /&gt;\end{document}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ответ Maxima - 4. Что ж, не поспоришь. Но скомпилировать документ на этот раз не удастся C-c C-c:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;! Font T2A/cmtt/m/n/10=latt1000 at 10.0pt not loadable: Metric (TFM) file not found.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;По умолчанию EMaxima output имеет размер шрифта 10.0pt, а этот размер не поддерживается шрифтом по умолчанию.&lt;br /&gt;Для нас 10.0pt все равно мелковато, зададим размер шрифта немного побольше:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\begin{document}&lt;br /&gt;\fontsize{12pt}{12pt}&lt;br /&gt;\selectfont&lt;br /&gt;&lt;br /&gt;\begin{maxima}[]&lt;br /&gt;2+2;&lt;br /&gt;\maximaoutput*&lt;br /&gt;\m  4 \\&lt;br /&gt;\end{maxima}&lt;br /&gt;\end{document}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Теперь выполнив C-c C-c дважды можно увидеть результат вычислений в более наглядном виде.&lt;br /&gt;Другой путь решения проблемы - менять не размер шрифта, а сам шрифт, например, дописав в шапке документа:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;\usepackage{times}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Хотя, мне такой шрифт не очень нравится. С интересом выслушаю альтернативные решения.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-7708580395130994983?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/7708580395130994983/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/07/emaxima.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/7708580395130994983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/7708580395130994983'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/07/emaxima.html' title='Пример использования EMaxima'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-3348808524658297757</id><published>2009-05-21T17:32:00.000-07:00</published><updated>2009-07-28T15:12:54.374-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EMaxima'/><category scheme='http://www.blogger.com/atom/ns#' term='AUCTeX'/><category scheme='http://www.blogger.com/atom/ns#' term='Maxima'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><category scheme='http://www.blogger.com/atom/ns#' term='ecb'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Настройка рабочего окружения EMaxima,  или как подружить Emacs, Maxima, EMaxuma, AUCTeX, LaTeX, ecb с Пользователем.</title><content type='html'>&lt;div style="text-indent: 10%;"&gt;- Я не умею, - признался я. - Не умею летать.&lt;/div&gt;&lt;div style="text-indent: 10%;"&gt;- А вы пробовали? - спросил человек, делая плавный поворот влево. Он, по всей видимости, наслаждался полетом.&lt;/div&gt;&lt;div style="text-indent: 10%;"&gt;- Нет, не пробовал. Но мне кажется, что я не умею.&lt;/div&gt;&lt;div style="text-indent: 10%;"&gt;Человек покачал головой, и все тело его при этом также покачивалось.&lt;/div&gt;&lt;div style="text-indent: 10%;"&gt;- Мне не хочется вас убеждать, - сказал он. - Маршрут у меня сегодня легкий. Могли бы попробовать. Вы не представляете, как это хорошо!&lt;/div&gt;&lt;div style="text-indent: 10%;"&gt;- Представляю, - сказал я. - Это, наверное, полезно?&lt;/div&gt;&lt;div style="text-indent: 10%;"&gt;- Нет ничего более бесполезного! - заявил человек...&lt;/div&gt;&lt;br /&gt;&lt;div align="right"&gt;Александр Житинский. Искушение.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Взявшись за всякое дело хорошо бы заручиться ответом на ряд вопросов. &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Зачем? Зачем все это нужно? Тут сложно подобрать правильный ответ. Пусть каждый его сам себе выберет. Я использовал эту связку при подготовки части материалов для статьи, впрочем одних средств LaTeX с избытком хватает для подготовки не только что целой статьи, но и диссертации.&lt;br /&gt;&lt;li&gt;Для кого? Для любого, кому может потребоваться подготовка материалов математического характера, но по каким-либо причинам не устраивают используемые средства. Я просто буду считать, что эти заметки делаются не зря, если от них будет польза хоть для одного человека.&lt;br /&gt;&lt;li&gt;А что в анонсе? Автоматизация символьных преобразований, представление результатов в наглядном виде, взаимодействие с Word, использование текстовых форматов, впрочем всего не пересказать. Тут скорее так: кто знает что это такое и зачем нужно - объяснять излишне, кто не знает - объяснять бесполезно.&lt;/ol&gt;&lt;br /&gt;Сразу оговорюсь, что не являюсь знатоком ни одной из перечисленных выше программ/систем/пакетов расширений/&lt;вписать свое&gt;. Однако, так как найти в сети такого комплексного обзора не получилось, попытаюсь привести то, что собрать все же удалось.&lt;br /&gt;&lt;br /&gt;Все пассы по вызову дождя были выполнены в ОС Windows XP SP2. Впрочем, к моменту завершения выведения жизнеспособного плодовитого поколения горных хвостосвистящих раков, обязуюсь непременно описать как этого же достичь в одном из Linux-ов (впрочем, как раз у линуксоидов с этим проблем возникнуть не должно).&lt;br /&gt;&lt;br /&gt;Итак, в путь!&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Maxima&lt;/h2&gt;&lt;br /&gt;Система компьютерной алгебры Maxima. Официальный сайт:&lt;br /&gt;&lt;a href="http://maxima.sourceforge.net/"&gt;http://maxima.sourceforge.net/&lt;/a&gt;&lt;br /&gt;Вся необходимая документация и/или ссылки на нее присутствует там же:&lt;br /&gt;&lt;a href="http://maxima.sourceforge.net/ru/documentation.html"&gt;http://maxima.sourceforge.net/ru/documentation.html&lt;/a&gt;&lt;br /&gt;Скачиваем последнюю версию, устанавливаем.&lt;br /&gt;Необходимо убедиться, что путь к файлу maxima.bat прописан в переменной PATH. Если не так - исправить (в моем случае это C:\Program Files\Maxima-5.18.1\bin\).&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;LaTeX&lt;/h2&gt;&lt;br /&gt;LaTeX, наиболее популярный набор макрорасширений TeX. Я использовал дистрибутив TeXLive. Официальный сайт:&lt;br /&gt;&lt;a href="http://www.tug.org/texlive/"&gt;http://www.tug.org/texlive/&lt;/a&gt;&lt;br /&gt;Хорошая подборка ссылок на разнообразную документацию по LaTeX и не только приводится на:&lt;br /&gt;&lt;a href="http://forum.ru-board.com/topic.cgi?forum=5&amp;topic=30211"&gt;http://forum.ru-board.com/topic.cgi?forum=5&amp;topic=30211&lt;/a&gt;&lt;br /&gt;Скачиваем iso-образ дистрибутива, прожигаем DVD, устанавливаем. Для Windows, как правило, припасен графический инсталлятор.&lt;br /&gt;Необходимо убедиться, что путь к файлу pdflatex.exe прописан в переменной PATH. Если не так - исправить (в моем случае это C:\TeXLive2007\bin\win32\).&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;emacs&lt;/h2&gt;&lt;br /&gt;Развитый, самодокументированный, настраиваемый, расширяемый экранный редактор реального времени Emacs. Нет нужды комментировать последнюю строчку, таких комментариев уже было сделано предостаточно.&lt;br /&gt;Официальный сайт:&lt;br /&gt;&lt;a href="http://www.gnu.org/software/emacs/"&gt;http://www.gnu.org/software/emacs/&lt;/a&gt;&lt;br /&gt;Подборка хорошей документации для Emacs - тема отдельного обсуждения. Пока приведу лишь следующую ссылку:&lt;br /&gt;&lt;a href="http://www.emacs.uniyar.ac.ru/"&gt;http://www.emacs.uniyar.ac.ru/&lt;/a&gt;&lt;br /&gt;Для Emacs выбор используемой версии - задача не столь тривиальная, как в случае с обозначенными выше программными пакетами. Итак, существуют 3 основные сборки Emacs для Windows:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;официальная сборка emacs 22.3 для платформы win32 http://www.gnu.org/software/emacs/&lt;br /&gt;&lt;li&gt;emacs 23, собранный из cvs (который, в свою очередь, подразделяется на пропатченный и непропатченный) http://ourcomments.org/Emacs/EmacsW32.html&lt;br /&gt;&lt;li&gt;ntemacs находящийся по адресу http://ntemacs.sourceforge.net/&lt;/ol&gt;&lt;br /&gt;Первая представляет собой официальную и наиболее стабильную, в то же время, наименее требовательную к ресурсам и быстродействию сборку, применимую для разнопланового использования.&lt;br /&gt;Вторая содержит в себе все последние доработки и исправления. Пропатченная версия, кроме того, имеет наименьшие глюки при скроллинге русского текста (подробнее об этом в дальнейщих заметках), а кроме того, там удобно реализованы server и client.&lt;br /&gt;Третья является официальной версией, используемый для тестирования imaxima под Windows (подробнее об imaxima будет сказано ниже).&lt;br /&gt;&lt;br /&gt;В конечном итоге, я остановился на официальной версии emacs 22.3, впрочем наставать на правильности этого решения не следует.&lt;br /&gt;Процесс установки ограничен простой распаковкой архива и выполнением файла addpm.exe, расположенного в директории bin.&lt;br /&gt;&lt;br /&gt;Конфигурация emacs - процесс перманентный, здесь я не буду приводить весь процесс настройки, все необходимые корректировки будем обговаривать по ходу добавления тех или иных пакетов расширений. Собственно файл конфигурации находится:&lt;br /&gt;C:\Documents and Settings\{user name}\Application Data\.emacs&lt;br /&gt;если его там нет, то необходимо такой фал добавить. Пакеты расширений в принципе могут находиться где угодно. Для определенности будем использовать:&lt;br /&gt;C:\Documents and Settings\{user name}\Application Data\.emacs.d\&lt;br /&gt;&lt;br /&gt;Моя версия конфигурации имеет в основе конфигурацию, взятую с &lt;a href="http://www.emacs.uniyar.ac.ru/"&gt;http://www.emacs.uniyar.ac.ru/&lt;/a&gt;. Она доступна в googlecode, Mercural-репозитарии. Получить ее можно, выполнив команду&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;hg clone http://kostafey-emacs-config.googlecode.com/hg/ kostafey-emacs-config&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;AUCTeX&lt;/h2&gt;&lt;br /&gt;Всесторонняя, настраиваемая интегрированная среда для редактирования файлов TeX/LaTeX/ConTeXt/Texinfo используя Emacs или XEmacs. &lt;br /&gt;Официальный сайт:&lt;br /&gt;&lt;a href="http://www.gnu.org/software/auctex/"&gt;http://www.gnu.org/software/auctex/&lt;/a&gt;&lt;br /&gt;Статья по работе с пакетом:&lt;br /&gt;&lt;a href="http://xtalk.msk.su/~ott/ru/writings/emacs-tex/AUCTeX.html"&gt;http://xtalk.msk.su/~ott/ru/writings/emacs-tex/AUCTeX.html&lt;/a&gt;&lt;br /&gt;При установке я просто распаковал архив пекета auctex-11.85-e22.3-msw.zip в директорию, в которой установлен собственно emacs, благо структура директорий у них совпадает. Конфигурация emacs для AucTeX добросовестно скопирована с &lt;a href="http://www.emacs.uniyar.ac.ru/"&gt;http://www.emacs.uniyar.ac.ru/&lt;/a&gt;&lt;br /&gt;Данные строчки должны быть добавлены в .emacs:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;&lt;span class="comment-delimiter"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&amp;#1053;&amp;#1072;&amp;#1089;&amp;#1090;&amp;#1088;&amp;#1086;&amp;#1081;&amp;#1082;&amp;#1080; AucTeX&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;tex-mik&lt;/span&gt;)&lt;br /&gt;(add-hook 'LaTeX-mode-hook 'LaTeX-install-toolbar)&lt;br /&gt;(setq TeX-parse-self t)             &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;Enable parse on load.&lt;br /&gt;&lt;/span&gt;(setq TeX-auto-save t)              &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;Enable parse on save.&lt;br /&gt;&lt;/span&gt;(setq-default TeX-master nil)       &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;Query for master file.&lt;br /&gt;&lt;/span&gt;(setq TeX-PDF-mode t)&lt;br /&gt;(setq TeX-interactive-mode t)&lt;br /&gt;(setq TeX-source-specials-mode 1)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&amp;#1084;&amp;#1086;&amp;#1076;&amp;#1080;&amp;#1092;&amp;#1080;&amp;#1094;&amp;#1080;&amp;#1088;&amp;#1091;&amp;#1077;&amp;#1084; &amp;#1084;&amp;#1077;&amp;#1085;&amp;#1102;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;; &lt;/span&gt;&lt;span class="comment"&gt;some more menu entries in the command list:&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;; &lt;/span&gt;&lt;span class="comment"&gt;see tex-mik.el from package auctex: %v is defined in tex-mik.el&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;; &lt;/span&gt;&lt;span class="comment"&gt;other variables are defined in tex.el from auctex&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;; &lt;/span&gt;&lt;span class="comment"&gt;the meaning of some auctex-varibles:&lt;br /&gt;&lt;/span&gt;        &lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;symbols defined in tex.el and tex-mik.el:&lt;br /&gt;&lt;/span&gt;        &lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;%b name slave tex-file  %t name master tex-file   &lt;br /&gt;&lt;/span&gt;        &lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;%d dvi-file  %f ps-file &lt;br /&gt;&lt;/span&gt;        &lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;%l "latex --src-specials"&lt;br /&gt;&lt;/span&gt;        &lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;%n line number  %p printcommand  %q "lpq"  &lt;br /&gt;&lt;/span&gt;        &lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;%r (TeX-style-check TeX-print-style)&lt;br /&gt;&lt;/span&gt;        &lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;%s master-file-name without extention&lt;br /&gt;&lt;/span&gt;        &lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;%v yap command view line&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;eval-after-load&lt;/span&gt; &lt;span class="string"&gt;"tex"&lt;/span&gt;&lt;br /&gt;  '(&lt;span class="keyword"&gt;progn&lt;/span&gt;&lt;br /&gt;     (add-to-list 'TeX-command-list&lt;br /&gt;          (list &lt;span class="string"&gt;"-&amp;gt;PS landscape for pdf"&lt;/span&gt;&lt;br /&gt;            &lt;span class="string"&gt;"dvips %d -N0 -Ppdf -G0 -T 297mm,210mm -o %f "&lt;/span&gt; &lt;br /&gt;            'TeX-run-command nil t))&lt;br /&gt;     (add-to-list 'TeX-command-list&lt;br /&gt;          (list &lt;span class="string"&gt;"All Texify run-viewer"&lt;/span&gt;&lt;br /&gt;            &lt;span class="string"&gt;"texify --tex-opt=--src --run-viewer --clean %s.tex"&lt;/span&gt;&lt;br /&gt;            'TeX-run-command nil t))))&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&amp;#1053;&amp;#1072;&amp;#1089;&amp;#1090;&amp;#1088;&amp;#1086;&amp;#1081;&amp;#1082;&amp;#1080; PreviewLatex&lt;br /&gt;&lt;/span&gt;(load &lt;span class="string"&gt;"preview-latex.el"&lt;/span&gt; nil t t) &lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;h2&gt;ecb&lt;/h2&gt;&lt;br /&gt;ecb - Emacs Code Browser. Пакет расширений для Emacs, используемый для повышения удобства навигации по редактируемым файлам.&lt;br /&gt;Официальный сайт:&lt;br /&gt;&lt;a href="http://ecb.sourceforge.net/"&gt;http://ecb.sourceforge.net/&lt;/a&gt;&lt;br /&gt;Данный пакет имеет зависимость от другого - cedet.&lt;br /&gt;cedet - Collection of Emacs Development Environment Tools&lt;br /&gt;Официальный сайт:&lt;br /&gt;&lt;a href="http://cedet.sourceforge.net/"&gt;http://cedet.sourceforge.net/&lt;/a&gt;&lt;br /&gt;Скачиваем данные пакеты и распаковываем (в моем случае это cedet-1.0pre6 и ecb-2.40) в директорию &lt;br /&gt;C:\Documents and Settings\{user name}\Application Data\.emacs.d\&lt;br /&gt;&lt;br /&gt;Прописываем добавленные пакеты в .emacs. Конфигурация пакетов может иметь вид:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;Cedet&lt;br /&gt;&lt;/span&gt;(setq semantic-load-turn-useful-things-on t)&lt;br /&gt;(load-file &lt;span class="string"&gt;"~/.emacs.d/cedet-1.0pre6/common/cedet.el"&lt;/span&gt;)&lt;br /&gt;(global-set-key [?\C- ] 'semantic-ia-complete-symbol)&lt;br /&gt;&lt;br /&gt;(&lt;span class="keyword"&gt;defun&lt;/span&gt; &lt;span class="function-name"&gt;my-semantic-hook&lt;/span&gt; ()&lt;br /&gt;  (semantic-tag-folding-mode 1))&lt;br /&gt;(add-hook 'semantic-init-hooks 'my-semantic-hook)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;ECB&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"~/.emacs.d/ecb-2.40/"&lt;/span&gt;) &lt;br /&gt;(&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;ecb&lt;/span&gt;)&lt;br /&gt;(global-set-key (kbd &lt;span class="string"&gt;"\e\el"&lt;/span&gt;) 'ecb-toggle-ecb-windows)&lt;br /&gt;(global-set-key (kbd &lt;span class="string"&gt;"C-x C-a"&lt;/span&gt;) 'ecb-activate)&lt;br /&gt;(global-set-key (kbd &lt;span class="string"&gt;"C-x C-q"&lt;/span&gt;) 'ecb-deactivate)&lt;br /&gt;(global-set-key &lt;span class="string"&gt;"\M-m"&lt;/span&gt; 'ecb-goto-window-methods)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&amp;#1055;&amp;#1077;&amp;#1088;&amp;#1077;&amp;#1079;&amp;#1072;&amp;#1075;&amp;#1088;&amp;#1091;&amp;#1079;&amp;#1082;&amp;#1072; &amp;#1086;&amp;#1082;&amp;#1085;&amp;#1072; &amp;#1084;&amp;#1077;&amp;#1090;&amp;#1086;&amp;#1076;&amp;#1086;&amp;#1074; &amp;#1087;&amp;#1086;&amp;#1089;&amp;#1083;&amp;#1077; &amp;#1082;&amp;#1072;&amp;#1078;&amp;#1076;&amp;#1086;&amp;#1075;&amp;#1086; &amp;#1089;&amp;#1086;&amp;#1093;&amp;#1088;&amp;#1072;&amp;#1085;&amp;#1077;&amp;#1085;&amp;#1080;&amp;#1103;&lt;br /&gt;&lt;/span&gt;(setq imenu-auto-rescan 1)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;-----------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&amp;#1044;&amp;#1083;&amp;#1080;&amp;#1085;&amp;#1085;&amp;#1099;&amp;#1077; &amp;#1089;&amp;#1090;&amp;#1088;&amp;#1086;&amp;#1082;&amp;#1080; &amp;#1074;&amp;#1089;&amp;#1077;&amp;#1075;&amp;#1076;&amp;#1072; &amp;#1088;&amp;#1072;&amp;#1079;&amp;#1073;&amp;#1080;&amp;#1074;&amp;#1072;&amp;#1090;&amp;#1100; &amp;#1087;&amp;#1088;&amp;#1080; &amp;#1086;&amp;#1090;&amp;#1086;&amp;#1073;&amp;#1088;&amp;#1072;&amp;#1078;&amp;#1077;&amp;#1085;&amp;#1080;&amp;#1080;&lt;br /&gt;&lt;/span&gt;(setq truncate-lines nil)&lt;br /&gt;(setq truncate-partial-width-windows nil)&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Кроме того, для удобства использования ecb в раздел custom-set-variables .emacs необходимо вписать:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;(custom-set-variables&lt;br /&gt; ...&lt;br /&gt; '(ecb-auto-activate t)&lt;br /&gt; '(ecb-options-version &lt;span class="string"&gt;"2.40"&lt;/span&gt;)&lt;br /&gt; '(ecb-primary-secondary-mouse-buttons (quote mouse-1--C-mouse-1))&lt;br /&gt; '(ecb-source-path (quote (&lt;span class="string"&gt;"c:"&lt;/span&gt;)))&lt;br /&gt; '(ecb-tar-setup (quote cons))&lt;br /&gt; '(ecb-tip-of-the-day nil)&lt;br /&gt; ...&lt;br /&gt;  '(speedbar-tag-split-minimum-length 200)&lt;br /&gt; ...&lt;br /&gt;)&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;h2&gt;Интерфейсы Maxima, предоставляемые Emacs&lt;/h2&gt;&lt;br /&gt;Более подробно об интерфейсах Maxima рассказано в статье Тихона Тарнавского &lt;a href="http://maxima.sourceforge.net/ru/maxima-tarnavsky-2.html"&gt;http://maxima.sourceforge.net/ru/maxima-tarnavsky-2.html&lt;/a&gt;. Здесь пойдет речь лишь об интерфейсах Maxima, предоставляемых Emacs:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;maxima - интерактивный режим, аналогичен консольной версии Maxima или интерфейсу Xmaxima. Кроме того, через него осуществляется взаимодействие с процессом Maxima в интерфейсе maxima-mode.&lt;br /&gt;&lt;li&gt;maxima-mode - пакетный режим, аналогично обработке файлов Maxima. Удобство режима залючается в том, что на выполнение можно отправлять как весь файл (или буфер) так и отдельную его часть или одну строку. При первом вызове порождается процесс Maxima, взаимодействие с которым осуществляется через описанный выше интерфейс.&lt;br /&gt;&lt;li&gt;imaxima - интерактивный режим, аналогичен режиму maxima за исключением того, что вывод осуществляется не в текстовом, а в графическом виде, навроде интерфейса wxMaxima.&lt;br /&gt;&lt;li&gt;emaxima - интерфейс, реализуемый внутри LaTeX - документа.&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;maxima и maxima-mode&lt;/h3&gt;&lt;br /&gt;Подключение первых двух интерфейсов осуществляется стандартным образом. Файлы расширений Emacs предоставляются самой системой Maxima, необходимо лишь правильно указать путь к ним. Кроме того, необходимо, чтобы режим maxima-mode включался автоматически при редактировании *.mxm - файлов. Добавляем в .emacs:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#1055;&amp;#1086;&amp;#1076;&amp;#1082;&amp;#1083;&amp;#1102;&amp;#1095;&amp;#1072;&amp;#1077;&amp;#1084; Maxima&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#1091;&amp;#1082;&amp;#1072;&amp;#1079;&amp;#1099;&amp;#1074;&amp;#1072;&amp;#1077;&amp;#1084; &amp;#1075;&amp;#1076;&amp;#1077; &amp;#1073;&amp;#1091;&amp;#1076;&amp;#1091;&amp;#1090; &amp;#1083;&amp;#1077;&amp;#1078;&amp;#1072;&amp;#1090;&amp;#1100; &amp;#1092;&amp;#1072;&amp;#1081;&amp;#1083;&amp;#1099; &amp;#1088;&amp;#1072;&amp;#1089;&amp;#1096;&amp;#1080;&amp;#1088;&amp;#1077;&amp;#1085;&amp;#1080;&amp;#1081;&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"c:/Program Files/Maxima-5.18.1/share/maxima/5.18.1/emacs/"&lt;/span&gt;)&lt;br /&gt;(autoload 'maxima &lt;span class="string"&gt;"maxima"&lt;/span&gt; &lt;span class="doc"&gt;"Maxima interaction"&lt;/span&gt; t)&lt;br /&gt;(autoload 'maxima-mode &lt;span class="string"&gt;"maxima"&lt;/span&gt; &lt;span class="doc"&gt;"Maxima mode"&lt;/span&gt; t)&lt;br /&gt;(setq auto-mode-alist (cons '(&lt;span class="string"&gt;"\\.mxm"&lt;/span&gt; . maxima-mode) auto-mode-alist))&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Команды maxima-mode:&lt;br /&gt;C-c C-C - выполнить строку&lt;br /&gt;C-c C-r - выполнить выделенный блок&lt;br /&gt;C-c C-b - выполнить буфер (т.е. файл)&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;imaxima&lt;/h3&gt;&lt;br /&gt;Описание настройки интерфейса находится на сайте разработчика &lt;a href="http://members3.jcom.home.ne.jp/imaxima/Site/Easy_Install_on_Windows_XP___Vista.html"&gt;http://members3.jcom.home.ne.jp/imaxima/Site/Easy_Install_on_Windows_XP___Vista.html&lt;/a&gt;, новая версия сайта, по-видимому будет здесь &lt;a href="http://sites.google.com/site/imaximaimath/download-and-install/easy-install-on-windows-xp"&gt;http://sites.google.com/site/imaximaimath/download-and-install/easy-install-on-windows-xp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ниже приведу фрагмент перевода этого описания плюс некоторые специфические особенности настройки imaxima для TeXLive в Windows.&lt;br /&gt;&lt;h4&gt;LaTeX (MiKTeX или TeXLive)&lt;/h4&gt; Согласно инструкциям необходимо установить MiKTeX 2.7 в путь по умолчанию. Можно использовать и TeXLive дистрибутив LaTeX, но для этого необходимо выполнить еще несколько действий. Будем считать, что TeXLive уже успешно установлен (подробнее об этом - в начале заметки).&lt;br /&gt;&lt;br /&gt;Теперь необходимо установить пакет mh. Его можно скачать с CTAN (файл mh.tar.lzma),&lt;br /&gt;(&lt;a href="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=mh"&gt;http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=mh&lt;/a&gt;)&lt;br /&gt;затем распаковать архив (файлы *.sty) в соответствующие директории, в которых располагаюся эти файлы в вашей установленной верси TeXLive.&lt;br /&gt;Затем, запускаем на выполнение команду texhash ~/texmf&lt;br /&gt;&lt;br /&gt;Правильность ручной установки пакета mh может быть проверена командой &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;kpsewhich breqn.sty&lt;/span&gt;&lt;br /&gt;которая вернет путь к файлу breqn.sty.&lt;br /&gt;Она находится в директории&lt;br /&gt; {TeXLive installation directory}\bin\win32\kpsewhich.exe&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;GPL Ghostscript&lt;/h4&gt;&lt;br /&gt;Прежде всего, необходимо удалить установленные более ранние версии GhostScript. Он может быть уже установлен и не отдельно, а в составе другого приложения, например PDFCreator.&lt;br /&gt;Заходим на &lt;a href="http://www.cs.wisc.edu/~ghost/"&gt;http://www.cs.wisc.edu/~ghost/&lt;/a&gt; скачиваем последнюю версию Ghostscript (в моем случае это 8.63), собранную для Windows. Ссылка для скачивания &lt;a href="http://prdownloads.sourceforge.net/ghostscript/"&gt;http://prdownloads.sourceforge.net/ghostscript/&lt;/a&gt;. Устанавливаем gs863w32.exe, установка должна быть произведена в путь по умолчанию.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Maxima&lt;/h4&gt; Она у нас также уже установлена.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;NTEmacs 23&lt;/h4&gt; Тут следовало бы написать "внимание" с 3 восклицательными знаками, т.к. именно версия, взятая из &lt;a href="http://ntemacs.sourceforge.net/"&gt;http://ntemacs.sourceforge.net/&lt;/a&gt; используется для тестирования imaxima под Windows. Впрочем, с imaxima прекрасно работают и последние версии других сборок Emacs. Однако, в случае обнаружения ошибок, прежде чем клепать гневные баг-репорты разработчику imaxima, следует выполнить тестирование именно в NTEmacs.&lt;br /&gt;&lt;br /&gt;Открываем файл setup-imaxima-imath.el. Строки&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;(&lt;span class="keyword"&gt;defvar&lt;/span&gt; &lt;span class="variable-name"&gt;*imaxima-miktex-bin-dir*&lt;/span&gt;&lt;br /&gt;   (file-name-directory (car (file-expand-wildcards &lt;span class="string"&gt;"c:/Program Files/MiKTeX*/miktex/bin/latex.exe"&lt;/span&gt;)))&lt;br /&gt;   &lt;span class="doc"&gt;"MiKTeX bin directory, added to exec-path"&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;должны быть соответствующим образом откорректированы:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;(&lt;span class="keyword"&gt;defvar&lt;/span&gt; &lt;span class="variable-name"&gt;*imaxima-miktex-bin-dir*&lt;/span&gt;&lt;br /&gt;  (file-name-directory (car (file-expand-wildcards &lt;span class="string"&gt;"c:/{TeXLive installation directory}/bin/win32/latex.exe"&lt;/span&gt;)))&lt;br /&gt;  &lt;span class="doc"&gt;"MiKTeX bin directory, added to exec-path"&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Создаем директорию&lt;br /&gt;c:\Windows\tmp&lt;br /&gt;&lt;br /&gt;Добавляем следуюшие строчки в файл .emacs:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;(load &lt;span class="string"&gt;"c:/Program Files/Maxima-5.17.0/share/maxima/5.17.0/emacs/setup-imaxima-imath.el"&lt;/span&gt;)&lt;br /&gt;(setq imaxima-tmp-dir &lt;span class="string"&gt;"C:\\Windows\\tmp"&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Запускаем emacs. M-x imaxima [Ret]. Набираем, например, что-то вроде:&lt;br /&gt;(%i1) x^2; [Ret]&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;emaxima&lt;/h3&gt;&lt;br /&gt;Настройка emaxima теперь сводится лишь к указанию в файле .emacs:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;(autoload 'emaxima-mode &lt;span class="string"&gt;"emaxima"&lt;/span&gt; &lt;span class="doc"&gt;"EMaxima"&lt;/span&gt; t)&lt;br /&gt;(add-hook 'emaxima-mode-hook 'emaxima-mark-file-as-emaxima)&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Все!&lt;br /&gt;&lt;br /&gt;Таким образом, настройка всех режимов может быть прописана в виде:&lt;br /&gt;&lt;blockquote&gt;&lt;div class="src"&gt;&lt;pre&gt;&lt;span class="comment-delimiter"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#1053;&amp;#1072;&amp;#1089;&amp;#1090;&amp;#1088;&amp;#1086;&amp;#1081;&amp;#1082;&amp;#1072; Maxima&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(load &lt;span class="string"&gt;"c:/Program Files/Maxima-5.18.1/share/maxima/5.18.1/emacs/setup-imaxima-imath.el"&lt;/span&gt;)&lt;br /&gt;(setq imaxima-tmp-dir &lt;span class="string"&gt;"C:\\Windows\\tmp"&lt;/span&gt;)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#1055;&amp;#1086;&amp;#1076;&amp;#1082;&amp;#1083;&amp;#1102;&amp;#1095;&amp;#1072;&amp;#1077;&amp;#1084; Maxima&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#1091;&amp;#1082;&amp;#1072;&amp;#1079;&amp;#1099;&amp;#1074;&amp;#1072;&amp;#1077;&amp;#1084; &amp;#1075;&amp;#1076;&amp;#1077; &amp;#1073;&amp;#1091;&amp;#1076;&amp;#1091;&amp;#1090; &amp;#1083;&amp;#1077;&amp;#1078;&amp;#1072;&amp;#1090;&amp;#1100; &amp;#1092;&amp;#1072;&amp;#1081;&amp;#1083;&amp;#1099; &amp;#1088;&amp;#1072;&amp;#1089;&amp;#1096;&amp;#1080;&amp;#1088;&amp;#1077;&amp;#1085;&amp;#1080;&amp;#1081;&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"c:/Program Files/Maxima-5.18.1/share/maxima/5.18.1/emacs/"&lt;/span&gt;)&lt;br /&gt;(autoload 'maxima &lt;span class="string"&gt;"maxima"&lt;/span&gt; &lt;span class="doc"&gt;"Maxima interaction"&lt;/span&gt; t)&lt;br /&gt;(autoload 'maxima-mode &lt;span class="string"&gt;"maxima"&lt;/span&gt; &lt;span class="doc"&gt;"Maxima mode"&lt;/span&gt; t)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;C-c C-C - &amp;#1074;&amp;#1099;&amp;#1087;&amp;#1086;&amp;#1083;&amp;#1085;&amp;#1080;&amp;#1090;&amp;#1100; &amp;#1089;&amp;#1090;&amp;#1088;&amp;#1086;&amp;#1082;&amp;#1091;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;C-c C-r - &amp;#1074;&amp;#1099;&amp;#1087;&amp;#1086;&amp;#1083;&amp;#1085;&amp;#1080;&amp;#1090;&amp;#1100; &amp;#1074;&amp;#1099;&amp;#1076;&amp;#1077;&amp;#1083;&amp;#1077;&amp;#1085;&amp;#1085;&amp;#1099;&amp;#1081; &amp;#1073;&amp;#1083;&amp;#1086;&amp;#1082;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;C-c C-b - &amp;#1074;&amp;#1099;&amp;#1087;&amp;#1086;&amp;#1083;&amp;#1085;&amp;#1080;&amp;#1090;&amp;#1100; &amp;#1073;&amp;#1091;&amp;#1092;&amp;#1077;&amp;#1088; (&amp;#1090;.&amp;#1077;. &amp;#1092;&amp;#1072;&amp;#1081;&amp;#1083;)&lt;br /&gt;&lt;/span&gt;(setq auto-mode-alist (cons '(&lt;span class="string"&gt;"\\.mxm"&lt;/span&gt; .  maxima-mode) auto-mode-alist))&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;M-X emaxima-mode&lt;br /&gt;&lt;/span&gt;(autoload 'emaxima-mode &lt;span class="string"&gt;"emaxima"&lt;/span&gt; &lt;span class="doc"&gt;"EMaxima"&lt;/span&gt; t)&lt;br /&gt;(add-hook 'emaxima-mode-hook 'emaxima-mark-file-as-emaxima)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-3348808524658297757?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/3348808524658297757/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/05/emaxima-emacs-maxima-emaxuma-auctex_3152.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/3348808524658297757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/3348808524658297757'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/05/emaxima-emacs-maxima-emaxuma-auctex_3152.html' title='Настройка рабочего окружения EMaxima,  или как подружить Emacs, Maxima, EMaxuma, AUCTeX, LaTeX, ecb с Пользователем.'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-1267138988377788180</id><published>2009-05-21T03:29:00.000-07:00</published><updated>2009-05-21T16:02:03.820-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EMaxima'/><category scheme='http://www.blogger.com/atom/ns#' term='Maxima'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><category scheme='http://www.blogger.com/atom/ns#' term='ecb'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Заметки о работе с ecb</title><content type='html'>Наличие окна с названиями секций и подсекций с возможностью перехода к выбранной - очень удобная возможность. Ключи по умолчанию довольно длинные. Можно использовать следующую привязку:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;(global-set-key "\M-m" 'ecb-goto-window-methods)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Выбрав нужную секцию, переходим к ее редактированию нажатием [RET].&lt;br /&gt;&lt;br /&gt;Построение того, что называется "окно методов" (window-methods), в нашем случае - содержание LaTeX - документа осуществляется внешними по отношению к ecb средствами, поэтому для корректировки содержания при каждом сохранении необходимо указать:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;;Перезагрузка окна методов после каждого сохранения&lt;br /&gt;(setq imenu-auto-rescan 1)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Кроме того, установка ecb отменяет установленные по умолчанию переносы строк, которые не помещаются в окне редактора, на новую строку. Т.к. EMaxima может генерировать довольно длинные TeX - формулы в строку это бывает довольно неудобно. Для того чтобы вернуть перенос строк, нужно теперь указать это явно:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;;Длинные строки всегда разбивать&lt;br /&gt;(setq truncate-lines nil)&lt;br /&gt;(setq truncate-partial-width-windows nil)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-1267138988377788180?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/1267138988377788180/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/05/ecb.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/1267138988377788180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/1267138988377788180'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/05/ecb.html' title='Заметки о работе с ecb'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-3640848399112138986</id><published>2009-05-16T16:10:00.000-07:00</published><updated>2009-05-21T03:50:36.322-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EMaxima'/><category scheme='http://www.blogger.com/atom/ns#' term='Maxima'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><category scheme='http://www.blogger.com/atom/ns#' term='Emacs'/><title type='text'>Графики в EMaxima</title><content type='html'>Что же необходимо для того чтобы уметь удобный способ добавления графиков?&lt;br /&gt;&lt;br /&gt;Если используется &lt;span style="font-family: courier new;"&gt;pdflatex&lt;/span&gt;, то лучше не применять формат eps. Необходимо использовать png (или подобный графический формат). В случае использования &lt;span style="font-family: courier new;"&gt;latex&lt;/span&gt; все с точностью до наоборот.&lt;br /&gt;&lt;br /&gt;Примеры из документации к Maxima:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;plot2d (sin(x), [x, 0, 2*%pi], [psfile, "sin.eps"])$&lt;br /&gt;plot2d (sin(x), [x, 0, 2*%pi], [gnuplot_term, png], [gnuplot_out_file, "sin.png"])$&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Неприятность заключается в том, что знак "$" - есть начало (или конец) формулы в tex. Соответственно, подсветкой синтаксиса AUCTeX он именно так и воспринимается, сбивая с толку. Достаточно замкнуть формулу еще одним значком "$". Но то что формула для tex, для Maxima - ввод, который должен быть непустым. Достаточно вставить значение последнего вывода, которое, очевидно, будет пустым "%".&lt;br /&gt;&lt;br /&gt;Имя файла с рисунком желательно писать лишь однажды, чтобы в случае необходимости его изменения не приходилось вносить правки во всем файле. Для этого используем текстовую переменную.&lt;br /&gt;&lt;br /&gt;Функция Maxima &lt;span style="font-family: courier new;"&gt;print()&lt;/span&gt; вставляет пробелы между выводимыми фрагментами строки, поэтому воспользуемся конкатенацией.&lt;br /&gt;&lt;br /&gt;Кроме того, если промежуточные действия Maxima в результирующем файле не нужны, то достаточно в объявлении ячейки EMaxima вставить звездочки "*".&lt;br /&gt;&lt;br /&gt;В результате ячейка может иметь вид:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;\begin{maxima*}&lt;br /&gt;OutFile : "img/graph.png"$%$&lt;br /&gt;plot2d (sin(x), [x, 0, 2*%pi], [gnuplot_term, png], [gnuplot_out_file, OutFile])$%$&lt;br /&gt;print(concat("\\includegraphics[width=15cm]{",OutFile,"}"))$%$&lt;br /&gt;\end{maxima*}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;После вычисления данной ячейки (C-c C-u c) в директорию img (данная директория к этому моменту должна существовать), находящийся в той же директории, что и редактируемый файл будет выведен график функции, а в редактируемый файл выведется инструкция для tex по добавлению рисунка, для использования которого достаточно вынести его из окружения ячейки EMaxima:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;\includegraphics[width=15cm]{img/graph.png} &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-3640848399112138986?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/3640848399112138986/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/05/emaxima.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/3640848399112138986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/3640848399112138986'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/05/emaxima.html' title='Графики в EMaxima'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6158999380322649405.post-3562136017347892698</id><published>2009-05-15T14:20:00.001-07:00</published><updated>2009-07-02T13:03:03.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EMaxima'/><category scheme='http://www.blogger.com/atom/ns#' term='Maxima'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><title type='text'>Открытие блога</title><content type='html'>Применив к организму i+1 порцию Позитивно Интенсифицирующего Водосодержащего Отупителя было принято решение об открытии блога.&lt;br /&gt;&lt;br /&gt;Не всегда можно заставить Maxima представлять результат&lt;br /&gt;в том виде, в котором ожидается.&lt;br /&gt;&lt;br /&gt;Так, исходное выражение в Maxima:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(1 - exp(-((lambda_xi_1 + lambda_xi_2))*t))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ожидаем:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;\left(1-e^{-\left(\lambda_{\xi_2}+\lambda_{\xi_1}\right)\,t}\right)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="\left(1-e^{-\left(\lambda_{\xi_2}+\lambda_{\xi_1}\right)\,t}\right)" src="http://www.texify.com/img/%5CLARGE%5C%21%5Cleft%281-e%5E%7B-%5Cleft%28%5Clambda_%7B%5Cxi_2%7D%2B%5Clambda_%7B%5Cxi_1%7D%5Cright%29%5C%2Ct%7D%5Cright%29.gif" align="center" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Однако, на выходе имеем:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;\left(1-e^{\left(-\lambda_{\xi_2}-\lambda_{\xi_1}\right)\,t}\right)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="\left(1-e^{\left(-\lambda_{\xi_2}-\lambda_{\xi_1}\right)\,t}\right)" src="http://www.texify.com/img/%5CLARGE%5C%21%5Cleft%281-e%5E%7B%5Cleft%28-%5Clambda_%7B%5Cxi_2%7D-%5Clambda_%7B%5Cxi_1%7D%5Cright%29%5C%2Ct%7D%5Cright%29.gif" align="center" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Попробовав привести к желаемому, например через&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ratsimp(1 - exp(-((lambda_xi_1 + lambda_xi_2))*t))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Получим:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e^ {- \left(\lambda_{\xi_2}+\lambda_{\xi_1}\right)\,t }\,\left(e^{\left(\lambda_{\xi_2}+\lambda_{\xi_1}\right)\,t}-1\right)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="e^ {- \left(\lambda_{\xi_2}+\lambda_{\xi_1}\right)\,t }\,\left(e^{\left(\lambda_{\xi_2}+\lambda_{\xi_1}\right)\,t}-1\right)" src="http://www.texify.com/img/%5CLARGE%5C%21e%5E%20%7B-%20%5Cleft%28%5Clambda_%7B%5Cxi_2%7D%2B%5Clambda_%7B%5Cxi_1%7D%5Cright%29%5C%2Ct%20%7D%5C%2C%5Cleft%28e%5E%7B%5Cleft%28%5Clambda_%7B%5Cxi_2%7D%2B%5Clambda_%7B%5Cxi_1%7D%5Cright%29%5C%2Ct%7D-1%5Cright%29.gif" align="center" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Другие функции не приведут к ожидаемому виду.&lt;br /&gt;Использование знака " ' " который отменяет вычисления&lt;br /&gt;также не помогает.&lt;br /&gt;&lt;br /&gt;В этом случае, генерируемую формулу приходится&lt;br /&gt;редактировать вручную...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6158999380322649405-3562136017347892698?l=kostafey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kostafey.blogspot.com/feeds/3562136017347892698/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://kostafey.blogspot.com/2009/05/blog-post.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/3562136017347892698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6158999380322649405/posts/default/3562136017347892698'/><link rel='alternate' type='text/html' href='http://kostafey.blogspot.com/2009/05/blog-post.html' title='Открытие блога'/><author><name>Kostafey</name><uri>http://www.blogger.com/profile/14975242423333810114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_F_SYen3H1CY/SlZ-ZVNKn5I/AAAAAAAAAAM/5z9ePj473YY/S220/Kostafey.PNG'/></author><thr:total>1</thr:total></entry></feed>
