Edit: diese Frage ist jetztdiese Funktionsanforderungauf TXS Github.
Sehr pingelig. Ich verwende gerne TeXstudio, das tcolorbox-Paket und cleveref. In TXS cref
öffnet sich beim Eintippen ein Popup-Menü, in dem alle verfügbaren Beschriftungen aufgelistet sind und der Benutzer direkt die relevante auswählen kann. Dieses praktische System scheint bei der Verwendung von Verweisen auf Theoremboxen nicht zu funktionieren.
Detaillierter Fall
Das Beispiel verwendet tcolorbox
( amsmath
erforderlich für cleveref) cleveref
und die Bibliothek theorems
von tcolorbox (alles ist im minimalen funktionierenden Beispiel eingegeben).
Der Befehl \newtcbtheorem
erzeugt einen neuen Typ von tcolorbox Theorembox, wie in
\newtcbtheorem[crefname={mybox}{myboxes}]{mybox}{My super theorem}{}{mybox}
Hier []
wird das erste optionale Argument den Cleveref-Namen festlegen, das Argument {mybox}
ist der Name der Box-Umgebung, {My super theorem}
ist der angezeigte Name im Titel, das leere Argument {}
ist für die Box-Optionen und das letzte {mybox}
ist das Präfix der Referenzen. Beim Erstellen einer Box zum Beispiel
\begin{mybox}{The title}{thelabel}
Hello
\end{mybox}
Das erste Argument ist der Titel der Box und das zweite erstellt eine Referenz, die wir aufrufen können \cref{mybox:thelabel}
. Alles im Latex-Teil funktioniert gut, aber der Editor scheint nicht zu wissen, dass diese Beschriftungen vorhanden sind, und der Benutzer muss entweder alle Beschriftungen auswendig kennen oder im Dokument nachschlagen.
Gewünschtes Verhaltenmybox:thelabel
Um die Vorschläge in der Popup-Liste sehen zu können . Jede Hilfe ist willkommen!
VersionenFalls relevant, verwende ich Ubuntu 22.04, TeXstudio 4.3.1, tcolorbox 5.0.2, amsmath v2.17l und cleveref v0.21.4.
Arbeitsbeispiel
\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}