Helm 및 LaTeX 모드


9

명령을 실행하면 LaTeX-environment( C-c C-e기본적으로 바인딩 됨 ) Helm은 모든 관련 환경 목록 (예 : Helm을 설정하지 않은 상태에서 동일한 목록)에서 올바르게 선택합니다. 프롬프트는 "Environment type : (default foo)"를 읽습니다. 여기서 'foo'는 저장된 값입니다 LaTeX-default-environment(이것은 결국에 대한 마지막 호출에서 사용한 값 으로 설정됩니다 LaTeX-environment). 그러나 지금 return 키를 누르면 Helm 버퍼의 첫 번째 항목 인 '추상적 인'환경이 나타납니다.

Helm을 존중하려면 어떻게해야 LaTeX-default-environment합니까?

답변:


7

당신은 할 수 없습니다 . 에 따르면 helm사용하지 않는 결함의 저자는 AUCTEX이다 ' completing-read만드는 제대로 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.