답변:
간단한 elisp 함수는 다음과 같습니다.
(defun labelnameref (string)
"Insert \label{ARG} \index{\nameref{ARG}} at point"
(interactive "sString for \\label and \\nameref: ")
(insert "\\label{" string "} \\index{\\nameref{" string "}}"))
이 함수는 미니 버퍼에서 문자열을 쿼리 한 다음 모든 지점에 삽입합니다. 그것을 사용하려면 .emacs에 넣은 다음 M-x labelnameref
키를 통해 호출 하거나 바인딩 할 수 있습니다.
유사한 구성을 많이 사용하려면 그것들을 yasnippets로 작성하는 것이 더 쉬울 수 있습니다. YASnippet 을 사용하면 위와 유사한 동작을 가진 스 니펫을 쉽게 만들 수 있습니다. 예를 들어 다음을 사용할 수 있습니다 (키 바인딩을 원할 경우 "키 바인딩"을 적절한 키 바인딩으로 대체 함).
# -*- mode: snippet -*-
# name: foo
# key: foo
# binding: "keybinding"
# --
\label{$1} \index{\nameref{$1}}
이것으로 당신은 foo를 쓰고 Tab나중에 직접 눌러 확장 \label{$1} \index{\nameref{$1}}
하고 쿼리합니다 $1
.