有了 \dsum 就像有了 \dfrac

有了 \dsum 就像有了 \dfrac

我是个懒人,我想用一个\dsum操作符来避免使用。我已经做了一个宏,但如果\displaystyle可以改写 就更好了。\dsum_{k=1}^{n}\dsum{k=1}{n}

LaTeX 魔法师可以帮助我吗?

\documentclass[12pt]{article}

\newcommand\dsum[2]{{\displaystyle\sum_{#1}^{#2}}}

\begin{document}

$\dsum{k=1}{n} 2^k = \sum_{k=1}^{n} 2^k = 2^{n+1} - 1$

\end{document}

答案1

在此处输入图片描述

在几乎所有情况下,第三种设置都比前两种设置更可取

\documentclass[12pt]{article}

\usepackage{xparse}

\NewDocumentCommand\dsumx{e{_^}}{{\displaystyle\sum_{#1}^{#2}}}

\newcommand\dsuml{\sum\limits}

\begin{document}

xparse\\
$\dsumx_{k=1}^{n} 2^k = \sum_{k=1}^{n} 2^k = 2^{n+1} - 1$

limits\\
$\dsuml_{k=1}^{n} 2^k = \sum_{k=1}^{n} 2^k = 2^{n+1} - 1$

standard
\[\sum_{k=1}^{n} 2^k = \sum_{k=1}^{n} 2^k = 2^{n+1} - 1\]
\end{document}

第一个使用显示总和,这对于内联数学来说是不适合的。

第二个使用正确的总和,但限制设置仍然会使表达式太高而无法适应内联设置。

第三,仅使用标准,将表达式设置为具有适当总和布局的显示\sum

答案2

您可以使用xparsee类型参数来解析它

在此处输入图片描述

这使您可以解析\dsum_{k=1}^{n}\dsum^{n}_{k=1}

笔记:

  • 额外的支撑组确保其\displaystyle保持在局部。
  • 提供e{^_}两个参数,#1 是提供给的参数^#2是提供给的参数_(与提供的顺序无关)。如果没有提供任何一种类型的参数,\IfValueT{}则不会执行其参数。 \IfValueT{}是更有效的形式,\IfValueTF{}{}当您只需要在一种条件下执行某项操作时很有用。

代码:

\documentclass{article}
\usepackage{xparse}

\NewDocumentCommand{\dsum}{%
    e{^_}
}{%
  {% 
    \displaystyle\sum
    \IfValueT{#1}{^{#1}}
    \IfValueT{#2}{_{#2}}
  }
}%

\begin{document}

$\sum_{k=1}^{n} 2^k = \dsum_{k=1}^{n} 2^k = \dsum^{n}_{k=1} 2^k = 2^{n+1} - 1$ .

\end{document}

答案3

我提供\dsum\Dsum,取决于您希望\textstyle限制的外观。

\documentclass{article}
\usepackage{mathtools}
\DeclareMathSymbol{\Xdsum}{\mathop}{largesymbols}{88}
\DeclareMathSymbol{\Xtsum}{\mathop}{largesymbols}{80}
\DeclareMathOperator*{\dsum}{\mathchoice{\Xdsum}{\Xdsum}{\Xtsum}{\Xtsum}}
\newcommand\Dsum{\dsum\limits}
\begin{document}
\centering
Sum and defined dsum and Dsum:\par
$\sum_{i=1}^2 x_i\quad \dsum_{i=1}^2 x_i \quad \Dsum_{i=1}^2 x_i $
\[\sum_{i=1}^2 x_i\quad \dsum_{i=1}^2 x_i \quad \Dsum_{i=1}^2 x_i\]
\end{document}

在此处输入图片描述

GuM 要求我评论为什么使用 的星号版本\DeclareMathOperator。这是为了表明,在 中\displaystyle,极限位于运算符的上方和下方,而不是作为上标/下标放置。如果删除 ,*您将看到 中的所有极限\dsum\Dsum恢复为上标/下标极限。

相关内容