答案1
我不知道是否有专门用于此类操作的命令,但您可以简单地使用一个大\Vert
符号。
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator*{\concat}{%
\mathchoice%
{\Big\Vert}%
{\big\Vert}%
{\Vert}%
{\Vert}%
}
\begin{document}
\begin{align*}
& \vec{h}_i' = \concat_{k=1}^K \sigma\Biggl( \sum_{j\in\mathcal{N}_i} \alpha_{ij}^k \mathbf{W}^k \vec{h}_j \Biggr) \\
& \textstyle \vec{h}_i' = \concat_{k=1}^K \sigma\Bigl( \sum_{j\in\mathcal{N}_i} \alpha_{ij}^k \mathbf{W}^k \vec{h}_j \Bigr) \\
& \scriptstyle \vec{h}_i' = \concat_{k=1}^K \sigma\bigl( \sum_{j\in\mathcal{N}_i} \alpha_{ij}^k \mathbf{W}^k \vec{h}_j \bigr) \\
& \scriptscriptstyle \vec{h}_i' = \concat_{k=1}^K \sigma( \sum_{j\in\mathcal{N}_i} \alpha_{ij}^k \mathbf{W}^k \vec{h}_j )
\end{align*}
\end{document}
答案2
为了使新操作符与的大小相同sum
,我建议scalerel
。
\documentclass{article}
\usepackage{amsmath,scalerel}
\DeclareMathOperator*{\concat}{\scalerel*{\Vert}{\sum}}
\begin{document}
Display:
\[
\vec{h}_i' = \concat_{k=1}^K \sigma\left( \sum_{j\in\mathcal{N}_i} \alpha_{ij}^k \mathbf{W}^k \vec{h}_j \right)
\]
Inline: $\vec{h}_i' = \concat_{k=1}^K \sigma\left( \sum_{j\in\mathcal{N}_i} \alpha_{ij}^k \mathbf{W}^k \vec{h}_j \right)$.
\end{document}
另外,您可以考虑在显示模式下用\left(
and替换and ,这样括号会比屏幕截图中的略小。同样,我建议在内联模式下使用and 。\right)
\Biggl(
\Biggl)
\bigl(
\bigl)
答案3
这将使符号具有与 相同的垂直尺寸\sum
。
\documentclass{article}
\usepackage{amsmath,graphicx}
% if you use also lmodern, add
% \usepackage{fixcmex}
\makeatletter
\newcommand{\concat@}{\mathop{\vphantom{\sum}\mathpalette\concat@@\relax}}
\newcommand{\concat@@}[2]{%
\vcenter{\hbox{%
\sbox\z@{$#1\sum$}%
\resizebox{\width}{\dimexpr\ht\z@+\dp\z@\relax}{\raisebox{\depth}{$\m@th#1\Vert$}}%
}}%
}
\newcommand{\concat}{\DOTSB\concat@\slimits@}
\makeatother
\begin{document}
\[
\sum_{k=1}^K h=\concat_{k=1}^K x
\quad
\textstyle \sum h=\concat_{k=1}^K x
\]
\end{document}