web-dev-qa-db-ja.com

LaTeXモードでEmacsが引用符を誤って置き換えるのはなぜですか?

EmacsでLaTeXドキュメントを作成する場合、通常、引用符"``または''に自動的に置き換えます。ただし、誤って"`および"'に置き換えられる場合があります。 Ubuntu13.04のバージョン23.4 + 1-4ubuntu1として提供されているEmacs23.4でこれを観察しています。

以下の例で発生します。

\documentclass[danish]{article}
\usepackage{babel}
\begin{document}
This is a "`test"'.
\end{document}

私の推測では、babelと言語オプションdanishがAUCTeXとともにこれを引き起こしていると思います。 englishに変更してAUCTeXをリセットすると、問題は解消されます。 danishに戻し、AUCTeXをリセットすると、再び表示されます。どうすればこれを修正できますか?

5
Thomas Arildsen

AUCTeXは、多くの言語を特別にサポートしています。たとえば、引用符の挿入に役立ちます。詳細については、 AUCTeXマニュアル を参照してください。

特定の言語に対してAUCTeXによって挿入されるデフォルトの引用符のスタイルが気に入らない場合は、TeX-quote-language-alist変数をカスタマイズしてオーバーライドできます。これを行うには、これを.emacsに追加します。

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

このように、"ボタンを2回押すと、コンテキストに応じて``または''が表示されます。代わりに、``''を挿入する場合は"ボタンを1回だけ押して、次のコードを.emacsに追加します。

(add-hook 'TeX-language-dk-hook
      (lambda ()
        (setq TeX-quote-language `("danish" "``" "''" ,TeX-quote-after-quote))))
2
giordano