`\NewDocumentCommand` 的语法

`\NewDocumentCommand` 的语法

文档给出了用和不带 括起来的 sxparse的名称示例,如下面的两个命令所示。这两者在功能上有什么区别吗?我从不使用括号,最好谨慎行事。 \NewDocumentCommandbracesbraces

\documentclass{article}
%=======================
\usepackage{xparse}
%-----------------------
\ExplSyntaxOn
\NewDocumentCommand\myExp{m}{#1}
\NewDocumentCommand{\myExpAlt}{m}{#1}
\ExplSyntaxOff
%-----------------------
\begin{document}
  \myExp{101}

  \myExpAlt{123}
\end{document}

答案1

\newcommand只要您向其传递控制序列,就没有任何区别,类似于 和 朋友使用的符号。从技术上讲,您将参数传递给\newcommand,然后\def在内部使用 进行设置,因此您应该使用{<csname>}。但是,如果您不使用括号,则会抓取第一个标记。

相关内容