!['reftex-label' 기능을 사용하여 환경에 더 종속적인 라벨을 삽입하는 방법은 무엇입니까?](https://rvso.com/image/476116/'reftex-label'%20%EA%B8%B0%EB%8A%A5%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%99%98%EA%B2%BD%EC%97%90%20%EB%8D%94%20%EC%A2%85%EC%86%8D%EC%A0%81%EC%9D%B8%20%EB%9D%BC%EB%B2%A8%EC%9D%84%20%EC%82%BD%EC%9E%85%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
호출 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
.