如何在数学模式下将括号与中间垂直线对齐相同的大小?

如何在数学模式下将括号与中间垂直线对齐相同的大小?

我怎样才能使中间的垂直线与括号的大小相同?

\[
A\left(c\mid \substack{a,b \\ c,d} \right)
\]

谢谢!

答案1

这里有一些选项 - 我更喜欢使用\Big和朋友:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\[
  A\left(c\mid \substack{a,b \\ c,d} \right)
\]

\[
  A\Bigl(c\Bigm\vert \substack{a,b \\ c,d} \Bigr) \quad% Preferred
  A\left(c\middle\vert \substack{a,b \\ c,d} \right)
\]

\end{document}

答案2

你使用\substack宏似乎是在尝试重新创建环境smallmatrix。我会写

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
A\bigl(\, c \: \big\vert \begin{smallmatrix}a,b \\ c,d \end{smallmatrix} \bigr)
\]
\end{document}

生产

在此处输入图片描述

注意使用\,\:来调整 周围的间距c;由于smallmatrix会自动在其周围插入一些空白,因此无需微调材料的间距垂直线。

答案3

您可以使用包来实现这一点mathtools。在这里我定义了一个\innerp命令(我假设您尝试制作一个可变大小的内积),其two参数在中one,必须用分号分隔。最后一点可以用来实现xparse。用法:

  • \innerp不进行缩放;
  • \innerp*作为一对\left … \right
  • 为了微调分隔符的大小,\innerp[\big]插入一对\bigl … \bigr

请注意,在极少数情况下,当的参数\innerp必须包含位于参数分隔符之前的分号时,您必须在其周围添加一对括号。

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{array, mathtools}
\usepackage{xparse}
\DeclarePairedDelimiterX{\innerp}[1](){\innerpargs{#1}}
\NewDocumentCommand{\innerpargs}{>{\SplitArgument{1}{;}}m}
{\innerpargsaux#1}
\NewDocumentCommand{\innerpargsaux}{mm}
{\IfNoValueTF{#2}{#1}{#1\:\delimsize\vert\:\mathopen{} #2}}

\begin{document}

\begin{tabular}{l >{$}c<{$}}
  \verb+\innerp*+: & \innerp*{c;\substack{a,b \\c,d}}\\[3ex]
  \verb+\innerp[\big]+: & \innerp[\big]{c;\substack{a,b \\c,d}\mkern1.5mu}
\end{tabular}

\end{document}

在此处输入图片描述

相关内容