\DeclaredPairedDelimiter 与 \newcommand

\DeclaredPairedDelimiter 与 \newcommand

我什么时候该用\DeclarePairedDelimiter,什么时候该用\newcommand

例如我已经定义

%Ceiling function
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
%Floor function
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}

这是最好的方法吗?

答案1

\DeclarePairedDelimiter是包中用于打开和关闭分隔符(例如圆括号、方括号、大括号)的一个非常特殊的命令mathtools,您希望选项自动调整它们的大小。

例如,它允许您用...\lfloor替换 ...并将...替换为... 。\rfloor\floor{}\left\lfloor\right\rfloor\floor*{}

其他常见示例包括:

\DeclarePairedDelimiter\paren{(}{)}           % (parentheses)
\DeclarePairedDelimiter\ang{\langle}{\rangle} % <angle brackets>
\DeclarePairedDelimiter\abs{\lvert}{\rvert}   % |absolute value|
\DeclarePairedDelimiter\norm{\lVert}{\rVert}  % ||norm||
\DeclarePairedDelimiter\bkt{[}{]}             % [brackets]
\DeclarePairedDelimiter\set{\{}{\}}           % {braces}

与其他示例一样,我得到的命令具有固定大小,或者随表达式缩放。请参阅mathtools文档有关此命令的更多信息。

\newcommand但是, 更为通用,允许使用更广泛的快捷方式。例如,如果我正在撰写有关组合学的文章,那么我会输入combinatorics很多内容。我可以通过写 来缩短它\newcommand{\cbs}{combinatorics},然后每当我\cbs在文档中输入内容时,它都会扩展为combinatorics。无需将其与分隔符相关联。[1]

您还可以声明带有参数的命令:例如,\newcommand{\dfr}[2]{d #1/d #2}定义衍生命令;然后,我可以调用它\dfr{f}{x}来获取自由度/解析\dfr{f}{y}得到自由度/。 看维基百科上的宏页面了解更多信息。

你可以使用\newcommand来制作分隔符,例如\newcommand{\floor}[1]{\lfloor #1 \rfloor},但这样你就得不到可缩放的版本和不可缩放的版本。关键是\newcommand\DeclarePairedDelimiter,但不能自动处理缩放

最后,对于“这是最好的方法吗?”我想说,既然你想使用\DeclarePairedDelimiter提供的功能,你也可以使用它,所以是的,你做得对。


[1]:一个更有用的示例是\newcommand为某些内容定义一个,以后可能会返回并进行更改。例如,如果您有一个经常使用但尚未最终确定的符号,则为其定义一个\newcommand意味着当您更改它时,只需更改一次。例如,在定义中,我将要定义的单词斜体化,这样我就可以使用\newcommand{\term}[1]{\textit{#1}}然后调用。然后,如果我以后决定要为定义加下划线,我所要做的就是在文档中的一个位置\term{word being defined}更新一个。\newcommand

相关内容