AUCTeX가 제공하는 키 바인딩을 점차 학습


11

내가하면 M-x forward-charEmacs는 매우 유용한 메시지를줍니다

You can run the command "forward-char" with C-f.

이맥스는 파일의 모든 LaTeX의 키 바인딩을 찾을 수 있다는 사실을 고려 latex.el에 따라 LaTeX-math-defaultAUCTeX에서 제공을, 그것은 LaTeX의 모드 (AUCTeX) 이맥스 나에게 키 바인딩을 회상 가능성이있다? 예를 들어 \sigmaEmacs 를 입력 하면

You can insert "\sigma" by `s .

LaTeX 모드에서 키 바인딩을 점차 학습 할 수 있으므로 매우 유용합니다.


2
귀하의 질문에 대한 답변은 아니지만, 메뉴 표시 줄에 키보드 단축키가 정의되어 있어야합니다. 팝업 메뉴 (단축키 표시)와 같은 기능을 사용할 수 있습니다 (예 :) (global-set-key [C-down-mouse-3] 'mouse-popup-menubar). 그렇게하면 메스꺼움 메시지가 없습니다.
lawlist

@lawlist 나는 수학 모드 기호가 메뉴에 없지만 실제로는 자체 메뉴를 가지고 있다고 언급하려고했습니다! 바로 가기가 정의되지 않은 것조차도 생성하는 데 필요한 코드와 함께 표시됩니다. 매우 편리합니다!
Tyler

답변:


9

여기 에서 내 대답을 수정하면 LaTeX-math-default4 튜플 목록 인 이 데이터를 가져올 수 있습니다.

(CHARACTER MACRO MENU UNICODE)

CHARACTER바인딩하는 데 사용되는 문자는 어디에 있습니까 (정수처럼 보이지만 문자입니다. (string CHARACTER)) MACRO슬래시 MENU가 없는 라텍스 매크로 이며 메뉴의 이름 UNICODE이며 표시에 사용되는 유니 코드 문자입니다. 메뉴. 첫 번째 요소와 두 번째 요소를 확인하고 싶습니다.

(defun show-latex-symbol-at-point ()
  (interactive)
  (let* ((sym (symbol-at-point))
         (latex-symbol (TeX-member sym LaTeX-math-default
                                   (lambda (a b)
                                     (string= a (nth 1 b)))))
         (shortcut (nth 0 latex-symbol))
         )
    (if (and latex-symbol shortcut)
        (message "You can insert \\%s with `%s"
                 (nth 1 latex-symbol)
                 (key-description (string shortcut))))))

출력을 지속적으로 표시하는 더 좋은 방법이있을 수 있지만 post-command-hook모든 명령 후에 위 기능을 실행하는 데 사용할 수있는 한 가지 방법이 있습니다 . 우리는 if 만 사용하여 이것이 실행되도록합니다.latex-mode

(add-hook 'post-command-hook
          (lambda ()
            (if (bound-and-true-p LaTeX-math-mode)
                (show-latex-symbol-at-point)
              )
            ))

이 답변에 감사드립니다. 코드가 작동합니다. $ \ sigma $를 입력하면라는 메시지가 나타납니다 You can insert \sigma with s. $ \ oplus $ m을 입력하면 오류를 알려주는 버그를보고하겠습니다 Error in post-command-hook ((lambda nil (if (eq major-mode (quote latex-mode)) (show-latex-symbol-at-point)))): (wrong-type-argument characterp nil). 나는 이것이 auctex바로 가기를 설정하지 않았기 때문에 발생했다고 생각합니다 oplus( oplus에서 찾을 수 있음 LaTeX-math-default). 그리고이 오류부터 코드가 작동하지 않는 것 같습니다. 예를 들어 $ \ sigma $를 입력하면 아무 일도 일어나지 않습니다.
이름

@name 나는 그것이 때 인쇄하려고하지 않는 고정 CHARACTER입니다nil
erikstokes

완전한. 몇 가지 사소한 제안 : (1) 메시지 You can insert \sigma with `s가보다 낫다고 생각합니다 You can insert sigma with s. (2) 현재 입력 \rightarrow후 메시지 You can insert rightarrow with ^F가 나타납니다. 메시지 You can insert \rightarrow with `C-f가 더 낫다고 생각합니다 .
이름

그리고 다시 고정되었습니다.
erikstokes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.