emacs ispell разрывает латексные кавычки

Моя команда emacs «ispell», которая запускает hunspell, ломается, когда попадает в цитируемые разделы в моем латексном буфере emacs (я использую AucTEX). С моим предыдущим дистрибутивом emacs/Linux такой проблемы не было. Пример:

as you like to say, vbfs ``You won't know what to do with yourself.''

Запуск M-x ispell правильно помечает vbfs. Однако,

as you like to say, ``You won't know what to do with yourself.'' vbfs

Никаких ошибок не регистрирует. Кроме того, как только он попадает в эту цитируемую часть текста, кажется, что он пропускает оставшуюся часть документа. Что может быть причиной этого? Для справки, вот моя переменная ispell-tex-skip-alists:

((("\\\\addcontentsline" ispell-tex-arg-end 2)
  ("\\\\add\\(tocontents\\|vspace\\)" ispell-tex-arg-end)
  ("\\\\\\([aA]lph\\|arabic\\)" ispell-tex-arg-end)
  ("\\\\bibliographystyle" ispell-tex-arg-end)
  ("\\\\makebox" ispell-tex-arg-end 0)
  ("\\\\e?psfig" ispell-tex-arg-end)
  ("\\\\document\\(class\\|style\\)" . "\\\\begin[  \n]*{[  \n]*document[   \n]*}"))
 (("\\(figure\\|table\\)\\*?" ispell-tex-arg-end 0)
  ("list" ispell-tex-arg-end 2)
  ("program" . "\\\\end[    \n]*{[  \n]*program[    \n]*}")
  ("verbatim\\*?" . "\\\\end[   \n]*{[  \n]*verbatim\\*?[   \n]*}")))

Запуск GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu, GTK+ версии 3.8.2) от 14 августа 2013 г. на buildvm-15.phx2.fedoraproject.org


person WorldsEndless    schedule 16.12.2013    source источник


Ответы (1)


Ispell передает пару кавычек hunspell, который с этим не справляется. Избежать этого можно с помощью следующих советов:

(defadvice ispell-send-string (before kill-quotes activate)
  (setq string (replace-regexp-in-string "''" "  " string)))

Он заменяет пару кавычек пробелами. Пробелы необходимы, чтобы избежать неправильного выравнивания.

person Tobias    schedule 21.12.2013
comment
Великолепно! Я должен знать, как вы пришли к такому решению? Откуда берутся такие знания и как их получить? ;) - person WorldsEndless; 22.12.2013
comment
Я уже провел некоторое исследование раньше для stackoverflow.com/questions/20609172/. Я использую emacs на работе для анализа автоматически сгенерированного вывода программы. Поэтому я написал совсем немного специального кода elisp. Таким образом, становится неизбежным более близкое знакомство с elisp. Вы многому научитесь, если посмотрите на проблемы других и исследуете их с помощью информационного руководства emacs elisp и исходного кода пакетов. В некоторых случаях я писал некоторый код в качестве ответа, и теперь я использую его для себя. // Веселого Рождества и счастливого Нового года! - person Tobias; 23.12.2013
comment
@WorldsEndless Не забудьте принять это решение как правильное, если оно решает вашу проблему. - person Thomas; 24.12.2013
comment
@ Томас понял; У меня были серьезные проблемы с тем, чтобы вспомнить, как я вошел на этот сайт. - person WorldsEndless; 24.12.2013