'reftex-label' 기능을 사용하여 환경에 더 종속적인 라벨을 삽입하는 방법은 무엇입니까?

'reftex-label' 기능을 사용하여 환경에 더 종속적인 라벨을 삽입하는 방법은 무엇입니까?

호출 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.

관련 정보