![解析 TeXstudio 中宏内定义的标签](https://linux22.com/image/428700/%E8%A7%A3%E6%9E%90%20TeXstudio%20%E4%B8%AD%E5%AE%8F%E5%86%85%E5%AE%9A%E4%B9%89%E7%9A%84%E6%A0%87%E7%AD%BE.png)
我定义了这个宏:
\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,完成应该会按照您希望的方式进行: