DeclarePairedDelimiter 缺少空格

DeclarePairedDelimiter 缺少空格

我正在尝试使用该包定义一个abs绝对值的命令,但是遇到了一些间距问题。DeclarePairedDelimitermathtools

我通常会写\sup_n \abs{a_n}defined by \DeclarePairedDelimiter{\abs}{\lvert}{\rvert}。但是这样会缺少一些空格。

实际产量。

我期望得到以下输出,这是我使用时得到的\sup_n |a_n|

预期输出

这个\sup_n {\abs{a_n}}问题没有出现,但我觉得这对额外的花括号太麻烦了。我也尝试了一些变体,但两个版本似乎\abs都有同样的问题。

\documentclass[a4paper,10pt]{scrartcl}

\usepackage{mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\altabs}{|}{|}

\begin{document}
\[
  \sup_n |a_n|              \quad % expected output
  \sup_n \abs{a_n}          \quad
  \sup_n {\abs{a_n}}        \quad % expected output
  \sup_n \lvert a_n \rvert  \quad
  \sup_n \altabs{a_n}       \quad
  \sup_n {\altabs{a_n}}           % expected output
\]
\end{document}

完成输出

这个问题从何而来?我怎样才能DeclarePairedDelimiter给出正确的间距?

答案1

操作符名称和分隔符之间不应该有空格,因此从

\sup_{n}\lvert a_{n}\rvert

是正确的(也是为什么首先amsmath引入\lvert和介绍的原因之一)。\rvert

另一方面,当分隔符是竖线时,您可能喜欢较窄的空格。很简单:\mathop{}在它前面添加一个虚拟空格。

\documentclass[a4paper,10pt]{scrartcl}
\usepackage{mathtools}

\DeclarePairedDelimiter{\absinner}{\lvert}{\rvert}
\DeclarePairedDelimiter{\altabsinner}{|}{|}

\newcommand{\abs}{\mathop{}\absinner}
\newcommand{\altabs}{\mathop{}\altabsinner}

\begin{document}
\[
  \sup_n |a_n|              \quad % expected output
  \sup_n \abs{a_n}          \quad
  \sup_n {\abs{a_n}}        \quad % expected output
  \sup_n \altabs{a_n}       \quad
  \sup_n {\altabs{a_n}}           % expected output
\]

\begin{alignat*}{3}
a_n - \abs{a_n} &\quad& a_n-\lvert a_n\rvert &\quad& a_n-|a_n|\\
 -\abs{a_n} && -\abs{a_n} && -|a_n|
\end{alignat*}

\end{document}

在此处输入图片描述

但我自己不会这么做。

相关内容