如何命名 \newcommand 中的参数,以便当您调用宏时它们不会显示为 {arg1}{arg2}... 等,而是每个参数代表的名称 {caption}{label}... 等。没有使用.cwl文件。
我正在尝试实现以下 \newcommand
\documentclass{article}
\usepackage{ctable}
\usepackage{mwe}
\newcommand{\qfigure}[5]{\ctable[
caption= {#1},label= fig:#2,figure, pos=H,botcap, mincapwidth= #3 mm]{c}
{}{\includegraphics[width=#4\textwidth]{#5}}}
\begin{document}
% \qfigure{arg1}{arg2}{arg3}{arg4}{arg5} % They would appear like this in Texstudio
\qfigure{An image example}{test}{70}{0.5}{example-image-a}
\end{document}
正如你所看到的五每个参数分别代表标题、标签、标题的最小宽度(ctable 参数)、宽度和文件名。
在此先感谢您的帮助。
答案1
我认为这是不可能的没有一个.cwl
文件。但使用一个文件来做到这一点真的很容易。.cwl.
您只需使用以下代码创建一个文本文件并将其命名为mystyle.cwl.
\qfigure{caption}{label}{mincapwidth}{width}{filename}#g
这#g
只是向 TeXstudio 表明这是一个包含图形文件的命令(这样,如果您将鼠标悬停在命令上,图像就会弹出在您的代码上,就像 一样\includegraphics
)。
mystyle.cwl
与其他文件放在一起.cwl
(见TeXstudio 将 hyperref 和 xspace 的 .cwl 文件存储在哪里?) 并检查mystyle.cwl
选项 | 配置 TeXstudio... | 完成。然后您的qfigure
命令将显示在自动完成框中,其参数名称与您在 中指定的名称相同.cwl
。
答案2
一个“跨编辑器”的答案是,由于您正在定义该命令并且您有权命名它,因此您可以(在某些情况下)使用一些参数的首字母作为提醒您使用:
例如:
\qfigureCapLabMcWdFn{caption}{label}{mincapwidth}{width}{filename}
我知道在这个例子中这并不是一个好主意,但过去在其他情况下也使用过类似的方法,并且对我来说是合理的帮助:
缺点:
1)不需要大的命令名(但大多数编辑器可以自动完成)
2)即使有“帮助”,您仍可能会忘记首字母(但如果您确实自己创建了该命令,并且经常使用该命令,您可能会记住它们……此外,如果您不经常使用该命令……我想回去检查一两次也没什么大不了的……)