Почему Emacs неправильно заменяет кавычки в режиме LaTeX?

829
Thomas Arildsen

При написании документов LaTeX в Emacs, он обычно автоматически заменяет кавычки "на ``или '', как и должно быть. Но иногда это неправильно заменяет на "` и "'вместо. Я наблюдаю это в Emacs 23.4, поставляемой как версия 23.4 + 1-4ubuntu1 в Ubuntu 13.04.

Это происходит в следующем примере:

\documentclass[danish] \usepackage \begin This is a "`test"'. \end 

Я предполагаю, что babel и выбор языка danishвызывают это вместе с AUCTeX. Если я изменяю его на englishи сбрасываю AUCTeX, проблема исчезает. Если я верну его обратно danishи сброслю AUCTeX, он появится снова. Как я могу это исправить?

5
Это будет сложно, если вы не сможете определить неуловимое «иногда». terdon 11 лет назад 3
Какие языки вы загружаете с помощью пакета `babel`? giordano 11 лет назад 0
@giordano Я свяжусь с вами по этому поводу, как только я снова столкнусь с документом, вызывающим это. Thomas Arildsen 11 лет назад 0
@ThomasArildsen еще один вопрос: вы используете AUCTeX или режим Emacs TeX по умолчанию? giordano 11 лет назад 0
@giordano Я использую AUCTeX. Thomas Arildsen 11 лет назад 0
@giordano Проблема возникает при использовании опции языка `danish`. Thomas Arildsen 11 лет назад 0

1 ответ на вопрос

2
giordano

AUCTeX has a special support for many languages, for example it can help inserting quotes. For more information see the AUCTeX manual.

If you don't like the default style of quotes inserted by AUCTeX for a specific language, you can override it customizing the TeX-quote-language-alist variable. To do that add this to your .emacs:

(setq TeX-quote-language-alist '(("danish" "``" "''" t))) 

In this way pressing " button twice you will get `` or '' according to context. Instead, if you want to insert `` and '' pressing " button just once, add the following code to your .emacs:

(add-hook 'TeX-language-dk-hook (lambda () (setq TeX-quote-language `("danish" "``" "''" ,TeX-quote-after-quote)))) 
Я сомневаюсь, что официальные правильные датские кавычки, но они, конечно, не "и". Я должен буду понять это. Thomas Arildsen 11 лет назад 0
Я не говорящий по-датски, я не могу помочь вам в этом. Измените переменную в соответствии с вашими потребностями, я только что показал вам, как это сделать; ;-) ` giordano 11 лет назад 0
Который выглядит именно так, как мне нужно. Проверяя вышесказанное, я вижу, что ваша команда заставляет кавычки становиться ". Это предназначено? Я догадывался, что это заставит их становиться` `и '', но я довольно неграмотен ... Кстати, я я родной датчанин, так что я думаю, что должен знать правильные оценки: о) Thomas Arildsen 11 лет назад 0
Дважды нажмите «». giordano 11 лет назад 1
@ThomasArildsen Я расширил ответ, есть решение, чтобы получить открывающую и закрывающую кавычки, нажимая `" `один раз. giordano 11 лет назад 1

Похожие вопросы