当子堆栈和数组不起作用时

当子堆栈和数组不起作用时

我正在尝试编写一个公式。但是 substack 和 array 都无法满足我的需求(就我所知道如何使用它们而言)。

公式

第一个是我想要的样子。但我需要一个i'\neq i总结部分。

尝试了第二个\substack,尝试了第三个array,但都不令人满意。首先,i'\neq i太大了。其次,未a_{ii'}对齐。

最理想的情况是保持 的大小\sum。但如果这不可能,任何妥协都是可以的。

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{equation}
\sum\limits_{i=1}^{I}\sum\limits_{i'=1}^{I}a_{ii'} + \sum\limits_{i=1}^{I}b_{i}
\end{equation}
\begin{equation}
\substack{\sum\limits_{i=1}^{I}\sum\limits_{i'=1}^{I}\\i'\neq i}a_{ii'} + \sum\limits_{i=1}^{I}b_{i}
\end{equation}
\begin{equation}
\begin{array}{@{}c@{}}\sum\limits_{i=1}^{I}\sum\limits_{i'=1}^{I}\\i'\neq i \end{array}a_{ii'}+ \sum\limits_{i=1}^{I}b_{i}
\end{equation}

\end{document}

答案1

您可以使用\mathop“定义”一个数学运算符,允许在显示内堆叠上标/下标:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}

\begin{equation}
\sum\limits_{i=1}^{I}\sum\limits_{i'=1}^{I}a_{ii'} + \sum\limits_{i=1}^{I}b_{i}
\end{equation}
\begin{equation}
\substack{\sum\limits_{i=1}^{I}\sum\limits_{i'=1}^{I}\\i'\neq i}a_{ii'} + \sum\limits_{i=1}^{I}b_{i}
\end{equation}
\begin{equation}
\begin{array}{@{}c@{}}\sum\limits_{i=1}^{I}\sum\limits_{i'=1}^{I}\\i'\neq i \end{array}a_{ii'}+ \sum\limits_{i=1}^{I}b_{i}
\end{equation}
\begin{equation}
\mathop{\sum_{i = 1}^I \sum_{i' = 1}^I}_{i' \neq i} a_{ii'} + \sum_{i = 1}^I b_{i}
\end{equation}

\end{document}

答案2

可能有点过度,但是也是一个机会\tikzmark

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc}

\newcommand\tikzmark[1]{%
  \tikz[remember picture,overlay]\node[inner sep=0pt] (#1) {};}

\begin{document}

\begin{equation}
\sum\limits_{\tikzmark{a}\smash[t]{i=1}}^{I}\sum\limits_{\smash[t]{i'=1}\tikzmark{b}}^{I}a_{ii'} + \sum\limits_{i=1}^{I}b_{i}
\end{equation}

\begin{tikzpicture}[remember picture,overlay]
\node[yshift=-6pt] at ( $ (a)!0.5!(b) $ ) {$\scriptstyle i'\neq i$};
\end{tikzpicture}

\end{document}

在此处输入图片描述

由于该tikzmark库在 TeX Live2013 中可用,因此代码简化为:

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc,tikzmark}

\begin{document}

\begin{equation}
\sum\limits_{\tikzmark{a}\smash[t]{i=1}}^{I}\sum\limits_{\smash[t]{i'=1}\tikzmark{b}}^{I}a_{ii'} + \sum\limits_{i=1}^{I}b_{i}
\end{equation}

\begin{tikzpicture}[remember picture,overlay]
\node[yshift=-6pt] at ( $ (pic cs:a)!0.5!(pic cs:b) $ ) {$\scriptstyle i'\neq i$};
\end{tikzpicture}

\end{document}

由于进行了一些计算,代码需要运行两到三次才能稳定下来。

相关内容