LINUX.ORG.RU

Раскладка при наборе формул в AUCTeX в Emacs

 , ,


0

5

Здравствуйте,

Я использую AUCTeX в Emacs. Очень неудобно переключать раскладку клавиатуры с русского на английский для набора формул. Есть ли способ сделать так, чтобы русские буквы в пределах формулы (т.е. между $...$ или \(...\)) автоматически набирались, как английские?

Похожая идея реализована в форуме mathhelpplanet.com. Там при наборе сообщения русские буквы внутри тегов [math]...[/math] переводятся в английкие и переключение раскладки не требуется. В Emacs'е я использую его собственное переключение с помощью Ctrl+\ (toggle-input-method), а не системное переключение раскладки. Я знаю, что в AUCTeX есть функция texmathp, которая определяет, находится ли курсор внутри формулы. Может быть, можно использовать её?

Спасибо.

Речь идет об изменении на каком этапе? Ввод текста? Тогда можно задействовать переменную after-change-functions. После компиляции? Когда?

iVS ★★★★★
()
Ответ на: комментарий от iVS

Да, во время ввода текста. Предположим, я печатаю: «Рассмотрим формулу \(\)», затем ставлю курсор между скобками и начинаю печатать \forall русскими буквами, т.е. \ащкфдд. Я хочу, чтобы в тексте появилось именно \forall.

Во-первых, неужели этого никто еще не сделал? Я не против попробовать написать сам, но я на знаю, какие функции есть в emacs'е и как это сделать грамотно. Переменная after-change-functions, наверное, будет полезной. Как определить, была ли последняя команда нажатием буквы а не, скажем, С-x что-нибудь? Может, использовать post-self-insert-hook?

emakarov
() автор топика
Ответ на: комментарий от emakarov

Во-первых, неужели этого никто еще не сделал?

1) Далеко не все на территории России пишут статьи в LaTeX; 2) далеко не все пишут статьи на русском; 3) и уж совсем малый процент из них использует Emacs.

Как определить, была ли последняя команда нажатием буквы а не, скажем, С-x что-нибудь?

Читать хелп по after-change-functions, C-x содержимое буфера не меняет — это событие данным хуком не отлавливается.

Может, использовать post-self-insert-hook?

Да, думаю, так еще лучше.

iVS ★★★★★
()
Последнее исправление: iVS (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.