使用 texstudio 中的命令的第二个参数完成

使用 texstudio 中的命令的第二个参数完成

来自 Texsudio 自动完成文件的手册:

“指定参数含义的分类器(如 c 或 i)始终适用于第一个非可选参数。这是 TXS 中 cwl 格式和 LaTeX 解析器的当前限制。例如 \ref{label}#r 和 \ref[option]{label}#r 将按预期工作,但 \ref{arg}{label}#r 会将 arg 解释为引用。我们建议在这种情况下不要指定任何类。”

这是否意味着无法使用命令的第二个参数作为 texstudio 识别的标签,或者可以“跳过类”并使用下一个参数?

例如:

\newcommand{\dplot}[3]{
\begin{figure}
    \centering
    \subfigure[]{\includegraphics[width=0.49\columnwidth]{Fig/#1}
        \label{fig:#1}}
    \hspace*{-0.01\columnwidth}
    \subfigure[]{\includegraphics[width=0.49\columnwidth]{Fig/#2}
        \label{fig:#2}}
    \vspace*{-0.01\columnwidth}
    \caption{#3}
    \label{fig:#1:#2}\label{fig:#1_Full}
\end{figure}
}

我可以通过添加以下内容使用 cwl 文件来识别第一个参数:

\dplot{label}#l

我可以跳过一些内容吗:

\dplot{}{label}#l

为了使用第二个参数作为标签?

答案1

您提到的手册中的陈述已经过时了。

如果使用#l限定符,则可以将任意参数定义为标签,但其名称必须是label

\dplot{arg}{label}#l

如果您想使用不同的名称或多个标签,您可以使用内联定义labeldef

\dplot{label1%labeldef}{label2%labeldef}

注意:您的示例仍然无法工作,因为名称标签和引用必须相同。否则 TeXstudio 无法匹配它们。您不能\dplot{mylabel}\ref{fig:mylabel}。另请参阅使用用户命令定义的标签自动完成

相关内容