호출 reftex-label
하거나 단축키를 사용하면 C-c (
라벨이 자동으로 문서에 삽입됩니다. 환경 을 위해 section
라벨은 괜찮습니다. 그러나 같은 환경에서는 theorem
또는 thm
같은 레이블이 \label{thm:pythagoras-theorem-1}
or \label{theorem:pythagoras-theorem-1}
보다 더 적합합니다 \label{sec:pythagoras-theorem-1}
. reftex-label
그런 방식으로 동작하도록 함수를 사용자 정의할 수 있나요 ?
\documentclass{article}
\usepackage{amsthm}
\newtheorem{thm}{Theorem}
\begin{document}
\section{Pythagoras' theorem}
\label{sec:pythagoras-theorem}
\begin{thm}\label{sec:pythagoras-theorem-1}
In a right triangle, the square of the length of the hypotenuse is equal to the sum of the squares of the lengths of the other two sides
\end{thm}
\end{document}
답변1
변수를 사용자 정의해야 합니다 reftex-label-alist
. 이것은 독스트링에서 발췌한 것입니다:
reftex-label-alist
에 정의된 변수입니다reftex-vars.el
.\label-\ref 사용 환경에 대한 정보를 나열합니다.
이 문서 문자열은 매뉴얼의 구성 예제를 읽으면 더 쉽게 이해할 수 있습니다. 상수에 내장된 기본값을 살펴보는 것도
reftex-label-alist-builtin
도움이 될 수 있습니다.기본값에 대한 추가 및 변경 사항을 정의하려면 이 변수를 설정하십시오. 변경해서는 안 되는 유일한 사항은
?s
섹션 레이블의 유형 표시기와any
레이블 유형의 SPC입니다. 이는 코드의 다른 위치에 하드 코딩되어 있습니다.변수 값은 항목 목록이어야 합니다. 각 항목은 목록 자체이며 다음과 같은 구조를 갖습니다.
(ENV-OR-MACRO TYPE-KEY LABEL-PREFIX REFERENCE-FORMAT CONTEXT-METHOD (MAGIC-WORD ... ) TOC-LEVEL)
각 목록 항목은 \label 및 \ref와 함께 사용하기 위한 카운터를 운반하는 환경이나 레이블을 인수 중 하나로(또는 내부) 정의하는 LaTeX 매크로를 설명합니다. 각 목록 항목의 요소는 다음과 같습니다. ...
간단히 말해서, 초기화 파일에 다음과 같은 내용을 원할 것입니다.
(setq reftex-label-alist
'(("theorem" ?T "thm:" "~ref{%s}"
nil (regexp "[Th]heorems?") nil)))
확인해 보시길 권합니다매뉴얼위의 추가 내용을 이해하기 위해. 키 ?t
는 테이블에 대해 미리 설정되어 있으므로 대문자는 ?T
.