\def、\newcommand 和 newenvironment 的命名参数和可选参数

\def、\newcommand 和 newenvironment 的命名参数和可选参数

我知道如何创建新的命令或环境。我认为如果我可以指定参数的名称会更好。例如在下面的framebox命令和array环境中,我们确切地知道应该传递的参数是什么。

\framebox(xdimen,ydimen)[position]{text}

\begin{array}[pos]{cols}
    content...
\end{array}

到目前为止,我已经尝试过

\documentclass{article}

\def\testdef#1#2{#1 #2}

\newcommand{\testcommand}[2]{#1 #2}

\newenvironment{testenv}[2]{#1}{#2}

\begin{document}

\testdef{arg1}{arg2}

\testcommand

\begin{testenv}{1}{2}
content...
\end{testenv}

\end{document}

你们都可以看到,\testdef{arg1}{arg2}只需打印arg1arg2而我需要用例如name和来命名它们value。应该是

\testdef{name}{value}

\testcommand和也是如此testenv。那么,我该怎么做呢?

编辑

这些图片取自 TeXstudio。

在图片#1中,我们看到了的参数\framebox

在此处输入图片描述

而在图片#2中,我们只看到\testdef{arg1}{arg2}

在此处输入图片描述

这是 Latex 编辑器的行为吗?或者我们可以通过 Latex 宏来调整它?

答案1

您必须创建一个 .cwl 文件并在选项 -> 完成中手动激活。请参阅常问问题手动的

相关内容