解析 TeXstudio 中宏内定义的标签

解析 TeXstudio 中宏内定义的标签

我定义了这个宏:

\newcommand\afigure[4][]{%
    \begin{figure}%
        \centering%
        \includegraphics[#1]{#2}%
        \caption{#3}%
        \label{#4}%
    \end{figure}%
}

TeXstudio 具有标签自动完成功能,非常方便。但是,当我使用上述宏时,我给出的标签无法被编辑器识别,因此它不会出现在可自动完成的标签列表中。有没有办法告诉 TeXstudio 取第四个参数并将其视为在宏中给出的\label?谢谢!

答案1

TeXstudio 使用.cwl文件进行自动完成,这些文件通常是自动生成的,但您也可以创建自己的文件。根据TeXstudio 手册,它们默认存储在%appdata%\texstudio\completion\user或中.config/texstudio/completion/user,具体取决于您的操作系统。如果您进行了自定义安装,请completion在 TeXstudio 文件夹中搜索。

然后,您要做的就是mycmds.cwl在该文件夹中创建一个名为的文件,并写入两行

\afigure{imagefile}{caption%text}{label%labeldef}#g
\afigure[keyvals]{imagefile}{caption%text}{label%labeldef}#g

然后重新启动 TeXstudio,完成应该会按照您希望的方式进行:

在此处输入图片描述

相关内容