自动增加sum后的空格

自动增加sum后的空格

我想\hspace*{3pt}自动在求和符号后添加一些空格,例如 。我找不到执行此操作的命令?

\documentclass{article}

\begin{document}
\[
\sum_{i=1}^{n} x_i \quad \sum_{i=1}^{n} \hspace*{3pt} x_i
\]

\[
\sum x_i \quad \sum \hspace*{3pt} x_i
\]
\end{document}

有什么建议吗?

答案1

您可以定义\sum使用原始宏\sum并添加所需空间的特殊宏:

\let\orisum=\sum
\protected\def\sum{\orisum\futurelet\next\sumA}
\def\sumA{\ifx\next_\expandafter\sumB\else\expandafter\sumE\fi}
\def\sumB_#1{_{#1}\futurelet\next\sumC}
\def\sumC{\ifx\next^\expandafter\sumD\else\expandafter\sumE\fi}
\def\sumD^#1{^{#1}\sumE}
\def\sumE{\kern3pt}

$$
  \sum x_i \quad \sum_{i=1}^{n} x_i
$$

\bye

答案2


\documentclass{article}

% Inspired by https://tex.stackexchange.com/questions/361493
%
% See https://tex.stackexchange.com/questions/74353 
% for other horizontal spacing macros like \quad
\newcommand{\mySum}[2]{\sum_{#1}^{#2}\quad}

\begin{document}

\begin{equation}
\mySum{i=1}{n} x_i \quad \mySum{i=1}{n}  x_i
\end{equation}

\end{document}

在此处输入图片描述

答案3

e使用 的参数类型非常简单xparse

\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}

\let\amsmathsum\sum

\RenewDocumentCommand{\sum}{e{_^}}{%
  \amsmathsum
  \IfValueT{#1}{_{#1}}%
  \IfValueT{#2}{^{#2}}%
  \hspace{20pt}% exaggerated to show the effect
}

\begin{document}

\begin{gather*}
\amsmathsum_{i=1}^{n} x_i % original
\\
\sum_{i=1}^n x_i % modified
\\
\sum x_i % no limits
\\
\sum_{1\le i\le n} x_i % only subscript
\\
\end{gather*}

\end{document}

使用e{_^}一个来指定两个形式为_{...}和的参数^{...}(可以任意顺序;如果缺少一个或两个,\IfValueT则不执行任何操作。

20pt 这个值被夸大了只是为了表明达到了想要的效果。

在此处输入图片描述

相关内容