編集:この質問は現在この機能リクエストTXS Github で。
非常に細かい質問です。私は TeXstudio、tcolorbox パッケージ、cleveref を快適に使用しています。TXS では、入力するとcref
ポップアップ メニューが起動し、使用可能なラベルがすべてリストされ、ユーザーは関連するラベルを直接選択できます。この便利なシステムは、定理ボックスへの参照を使用する場合に機能しないようです。
詳細な事例
この例ではtcolorbox
、、amsmath
(cleveref に必要)、cleveref
および tcolorbox のライブラリを使用しますtheorems
(すべてが最小限の動作例に入力されています)。
このコマンドは、\newtcbtheorem
次のように新しいタイプのtcolorbox定理ボックスを作成します。
\newtcbtheorem[crefname={mybox}{myboxes}]{mybox}{My super theorem}{}{mybox}
ここで、最初のオプション引数は[]
cleveref名を設定し、引数{mybox}
はボックス環境の名前、{My super theorem}
はタイトルに表示される名前、空の引数は{}
ボックスオプション用、最後は{mybox}
参照のプレフィックスです。たとえば、ボックスを作成するとき、
\begin{mybox}{The title}{thelabel}
Hello
\end{mybox}
最初の引数はボックスのタイトルで、2 番目は で呼び出すことができる参照を作成します\cref{mybox:thelabel}
。LaTeX 部分のすべてがうまく機能しますが、エディターはこれらのラベルが存在することを認識していないようで、ユーザーはすべてのラベルを暗記するか、ドキュメント内でヨーヨー操作を行う必要があります。
望ましい行動mybox:thelabel
ポップアップの提案リストで 確認できるようにします。ご協力いただければ幸いです。
バージョン関連がある場合、私は Ubuntu 22.04、TeXstudio 4.3.1、tcolorbox 5.0.2、amsmath v2.17l、cleveref v0.21.4 を使用しています。
動作例
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{amsmath} % required for cleverref
\usepackage{cleveref}
\tcbuselibrary{theorems}
\newtcbtheorem[crefname={mybox}{myboxes}]{mybox}{My super theorem}{}{mybox}
\begin{document}
Example of the question:
\begin{mybox}{The title}{thelabel}
Hello
\end{mybox}
This is a nice document, what a superb result we have here:
\begin{mybox}{Micchelli 1986}{micchelli}
Let $D$ be a distance matrix, i.e. $D_{ij} = d(x_i,x_j)$ for $n$ distinct points $(x_i)_{i=1}^n$ of an euclidian space. Then $D$ is invertible.
\end{mybox}
This theorem applies for equations of the type
\begin{align}\label{normalref}
\sum_{i=1}^n c_i d(x_i, x_j) = 0 \quad\quad \forall 1 \leq j \leq n,
\end{align}
and the popup correctly displays the \texttt{normalref}: indeed, \cref{normalref} was displayed. However, although \cref{mybox:micchelli} works nicely, it was not displayed.
\end{document}