如何在使用 cref 和 tcolorbox 时在 TeXstudio 中显示参考建议?

如何在使用 cref 和 tcolorbox 时在 TeXstudio 中显示参考建议?

编辑:这个问题现在是此功能请求在 TXS Github 上。

非常挑剔的问题。我很高兴使用 TeXstudio、tcolorbox 包和 cleveref。在 TXS 中,键入cref会触发一个弹出菜单,其中列出了所有可用的标签,用户可以直接选择相关的标签。当使用定理框引用时,这个方便的系统似乎坏了。

详细案例 该示例使用了tcolorboxamsmathcleveref 所需)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}

第一个参数是框的标题,第二个参数创建了一个引用,我们可以通过 调用它\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}

相关内容