我怎样才能使中间的垂直线与括号的大小相同?
\[
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}