6

私はEmacsをAucTeXと組み合わせて使用​​しています(それが重要な場合は、Ubuntu 10.04を実行しています)。

ポイントが任意の数学環境(つまり、、、、など)にある場合にLaTeX-math-mode(AucTeXのマイナーモード)を自動的に有効にする方法があるかどうか誰かが知っています$...$か?$$...$$begin{equation}...\end{equation}

構文の強調表示は数学のものを着色するために同じ基準を使用するので、比較的簡単な答えがあると思いますが、何も見つかりませんでした。

4

2 に答える 2

6

andre-rの答えが満足できない場合は、テキストモードで自己挿入するように設定し、数学モードで数学モードのプレフィックスとして機能するコードを次に`示します。オフLaTeX-math-modeにする必要があります。

(defun LaTeX-maybe-math ()
  "If in math mode, act as a prefix key for `LaTeX-math-keymap'.
Otherwise act as `self-insert-command'."
  (interactive)
  (if (texmathp)
      (let* ((events (let ((overriding-local-map LaTeX-math-keymap))
                       (read-key-sequence "math: ")))
             (binding (lookup-key LaTeX-math-keymap events)))
        (call-interactively binding))
    (call-interactively 'self-insert-command)))
(define-key LaTeX-mode-map "`" 'LaTeX-maybe-math)

次の改善点が演習として残されています。

  • マイナーモードにします。

  • 予期しない入力に対してより堅牢にします(基本的な操作のみをテストしました)。

  • ユーザーがバインドされていないキーシーケンスを押した場合に、より適切なエラーメッセージを表示します。

  • C-hユーザーがまたはを押した場合にヘルプを表示しますf1

于 2010-08-12T10:53:22.920 に答える
4

LaTeX-math-mode「多くの数学記号を含むテキストを入力するための特別なマイナーモード」です。(方法がわからない場合は、たとえば `Aを押して\forallを取得します。)したがって、数学を入力していない場合でも、そのままにしておいても問題はないと思います。

したがって、情報ページは次のことを示唆しています。

(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)

IMHOの唯一の欠点は、プレフィックスを2回押す必要があることです。「`を取得するには、少なくとも、でカスタマイズされた標準のプレフィックス`で機能しLaTeX-math-abbrev-prefixます。

于 2010-08-12T09:46:05.890 に答える