AUCTEX/emacs에 이러한 이스케이프 괄호를 생성하는 바로가기가 있습니까?

AUCTEX/emacs에 이러한 이스케이프 괄호를 생성하는 바로가기가 있습니까?

AUCTEX/emacs에 이러한 이스케이프 괄호를 생성하는 바로가기가 있습니까?

"인라인 수학 환경"의 약어

\(  <cursor here>  \)

그러면 이 "소형 환경"의 중앙에 커서가 놓이게 됩니다.

문장 중간에 Math를 쓸 수 있도록요.

치트 시트와 매크로를 시도해 보았지만 커서를 중간에 두지 못했습니다.

대안/팁 환영합니다(여가 시간에 AUCTEX를 배우려는 학부생입니다)

답변1

AUCTeX는 직접 함수를 정의하지 않고도 기본적으로 몇 가지 옵션을 제공합니다. 둘 다 설명서에 설명되어 있으며 상호 배타적이지 않습니다. 둘 다 활성화하고 동시에 사용할 수 있습니다.

첫 번째:TeX-electric-math

(add-hook 'plain-TeX-mode-hook
      (lambda () (set (make-local-variable 'TeX-electric-math)
              (cons "$" "$"))))
(add-hook 'LaTeX-mode-hook
      (lambda () (set (make-local-variable 'TeX-electric-math)
              (cons "\\(" "\\)"))))

이 코드를 누르면 바로 $들어갈 수 \(...\)있어요LaTeX-mode

두번째:LaTeX-electric-left-right-brace

(setq LaTeX-electric-left-right-brace t)

이를 통해 입력할 수 \(있으며 포인트 뒤에 마무리가 \)추가됩니다.

답변2

모든 페어링 요구 사항에 대해 나는 훌륭한 패키지를 사용합니다.똑똑한 괄호. 필요한 쌍을 포함하려면 다음을 수행하십시오.

먼저 Melpa 등을 사용하여 설치한 smartparenthesis다음 로드합니다. 나는 usepackage그것을 사용하지만 패키지 작성자가 제안한 방법은 간단히 다음을 실행하는 것입니다.

(require 'smartparens-config)

이제 중요한 코드가 나옵니다:

(sp-with-modes '(tex-mode plain-tex-mode latex-mode)
  (sp-local-pair "\\\(" "\\\)"))

먼저 초기 괄호( \)를 이스케이프한 \\다음 여는 괄호( )를 이스케이프하여 \(전체 시퀀스: 를 생성합니다 \\\(. 닫는 것들도 마찬가지입니다.

당신이 사랑하는 모든 LaTeX쌍을 추가할 수 있습니다. 이것은 내 전체 구성입니다(다른 사람의 구성에서 부분적으로 복사함).

(sp-with-modes '(tex-mode
                 plain-tex-mode
                 latex-mode
                 )
  ;; math modes, yay. The :actions are provided automatically if
  ; these pairs do not have global definition.
  (sp-local-pair "$" "$")
  (sp-local-pair "\[" "\]")
  (sp-local-pair "\{" "\}")
  (sp-local-pair "‘" "’")
  (sp-local-pair "“" "”")
  (sp-local-pair "\\begin" "\\end")
  ;;; tex-mode latex-mode
  (sp-local-tag "i" "\"<" "\">")
  (sp-local-pair "\\[" nil :unless '(sp-point-before-word-p))
  (sp-local-pair "$" nil :unless '(sp-point-before-word-p))
  )

답변3

@Phil Hirschhorn의 훌륭한 예제를 사용하여 Alt-m을 누를 때 "이스케이프 괄호"를 삽입하는 기능을 만들었습니다.

당신의에 추가.emacs

M-m활성화하다

(defun escape-parentheses ()

  "we insert escape parenthesis for math-mode
   and move the cursor to the center"

    (interactive)
    (progn
        (insert "\\(   \\)")
        (backward-char 4)
    )
)


(global-set-key "\em"     'escape-parentheses)

관련 정보