reftex-label
または をホットキーで呼び出すとC-c (
、ラベルがドキュメントに自動的に挿入されます。 環境ではsection
、ラベルは問題ありません。 しかし、 または のような環境ではtheorem
、またはthm
のようなラベルの 方が よりも適しています。関数をそのように動作するようにカスタマイズできますか?\label{thm:pythagoras-theorem-1}
\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 で使用する環境に関する情報を含む alist。
このドキュメント文字列は、マニュアルの設定例を読んだ後で理解しやすくなります。定数に組み込まれているデフォルトを確認すること
reftex-label-alist-builtin
も参考になるかもしれません。この変数を設定して、デフォルトへの追加と変更を定義します。変更してはならない唯一のものは、
?s
セクション ラベルのタイプ インジケーターと、any
ラベル タイプの SPC です。これらは、コードの他の場所にハードコードされています。変数の値は項目のリストである必要があります。各項目自体がリストであり、次の構造を持ちます。
(ENV-OR-MACRO TYPE-KEY LABEL-PREFIX REFERENCE-FORMAT CONTEXT-METHOD (MAGIC-WORD ... ) TOC-LEVEL)
各リスト エントリは、\label および \ref で使用するためのカウンターを持つ環境、または引数の 1 つとして (またはその内部で) ラベルを定義する LaTeX マクロのいずれかを記述します。各リスト エントリの要素は次のとおりです。...
つまり、init ファイルには次のような内容を含めるとよいでしょう。
(setq reftex-label-alist
'(("theorem" ?T "thm:" "~ref{%s}"
nil (regexp "[Th]heorems?") nil)))
確認してみることをお勧めしますマニュアル上記の追加を理解するために。?t
キーはテーブルに事前設定されているので、大文字の . であることに注意してください?T
。