HelmおよびLaTeXモード


9

コマンドを実行するとLaTeX-environmentC-c C-eデフォルトでバインドされます)、Helmは関連するすべての環境のリストから適切に選択します(つまり、Helmがオンになっていない場合と同じリストです)。プロンプトは "Environment type:(default foo)"と表示されます。ここで、 'foo'は格納された値ですLaTeX-default-environment(これは、最後にを呼び出したときに使用したものに設定されますLaTeX-environment)。ただし、ここでreturnを押すと、Helmバッファの最初のエントリである「抽象的な」環境が表示されます。

Helmを尊重する方法を教えてLaTeX-default-environmentください。

回答:


7

あなたはできませんhelm作者によると、候補を逐語的に返すのは、completing-read正しく使用しないことがAUCTEXのせいですhelm-mode。可能な回避策は、AUCTEXの作成者にすべてのインスタンスのバグを修正させるcompleting-readか、自分でパッチを適用させるリンクされたスレッドで説明されています。

後者を実行するには、以下が機能するはずです(テストされていない、AUCTEXから取得したほとんどのコード)。

(eval-after-load 'latex
  '(defun LaTeX-environment (arg)
      (interactive "*P")
      (let ((environment (completing-read (concat "Environment type: (default "
                                                  (if (TeX-near-bobp)
                                                      "document"
                                                    LaTeX-default-environment)
                                                  ") ")
                                          (LaTeX-environment-list) nil t nil
                                          'LaTeX-environment-history LaTeX-default-environment)))
        ;; Get default
        (cond ((and (zerop (length environment))
                    (TeX-near-bobp))
               (setq environment "document"))
              ((zerop (length environment))
               (setq environment LaTeX-default-environment))
              (t
               (setq LaTeX-default-environment environment)))

        (let ((entry (assoc environment (LaTeX-environment-list))))
          (if (null entry)
              (LaTeX-add-environments (list environment)))

          (if arg
              (LaTeX-modify-environment environment)
            (LaTeX-environment-menu environment))))))


おかげで、質問者はAUCTEXインストールを更新して、これがそれを修正するかどうかを確認する必要があると思います。そうでない場合でも、上記のスニペットが適用されます。
wasamasa 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.