答案1
您可以为内联和显示的公式提供友好的语法和不同的大小。
\documentclass{article}
\usepackage{amsmath,mleftright}
\makeatletter
\newcommand{\support}[1]{\aslv@support#1\@nil}
\def\aslv@support#1\\#2|#3\@nil{%
\mleft(
\genfrac..{0pt}{}{#1}{#2}
\mskip\aslv@supportskip
\middle|
\mskip\aslv@supportskip
#3
\mright)
}
\newmuskip\aslv@supportskip
\aslv@supportskip=4mu % <--- adjust to suit
\makeatother
\begin{document}
We have the formula in line $\delta^+\support{1+d^Tr \\ V^Td+b(x) | W}$
or displayed
\[
\delta^+\support{1+d^Tr \\ V^Td+b(x) | W}
\]
\end{document}
答案2
有多种方法可以实现这一点。我在下面列出了两种方法,第一种方法是使用pmatrix
(来自amsmath
)和另一个使用常规\left
/\right
可扩展括号(您也可以使用\mleft
/\mright
来自mleftright
):
\documentclass{article}
\usepackage{amsmath,mleftright}
\begin{document}
% Uses amsmath
\[
a \begin{pmatrix}
\begin{array}{@{} c | @{\hspace{\arraycolsep}}}
b \\
c
\end{array}
d
\end{pmatrix}
\]
% Uses mleftright, but can also just use \left/\right instead of \mleft/\mright
\[
a \mleft(
\begin{array}{@{} c @{}}
b \\
c
\end{array}
\middle\vert
d
\mright)
\]
\end{document}
两者都包括一个array
用于分割b
和c
垂直居中(相对于a
和)的函数d
。一个用于\middle\vert
设置垂直规则,另一个使用数组垂直规则。您可以混合使用它们。
答案3
另外两个变体,带有delarray
或blkarray
和\multirowcell
来自makecell
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{blkarray, delarray, multirow, makecell}
\begin{document}
\[
-\delta^{*}\! \begin{array}({@{}c|c@{}})
1 + d^{\top}\tau & \multirowcell{2}{W} \\
V^{\top} d + b(x){}
\end{array}
\]
\[
\begin{blockarray}{c(c|c)}
\BAmultirow{1em}{$ -\delta^{*} $} & 1 + d^{\top}\tau & \BAmultirow{1em}{$ W $} \\
& V^{\top} d + b(x){}
\end{blockarray}
\]
\end{document}