如何在不使用 \left | \right 的情况下调整 displaystyle 数学模式中符号“|”的维度(反之亦然)?

如何在不使用 \left | \right 的情况下调整 displaystyle 数学模式中符号“|”的维度(反之亦然)?

我必须写出条件概率的符号“|”,但我想将其调整为 displaystyle 数学模式中周围文本的尺寸。我知道的唯一方法是:

\left| \cdots \right.

我想知道是否有一种更快捷的方法,可能不需要使用两个命令。

答案1

|您也可以直接在 (垂直条)前面加上\big\Big\bigg或,或者(如果您愿意)加上 ,\Bigg来改变 (垂直条)的大小。|\vert

在此处输入图片描述

\documentclass{article}
\begin{document}
$\displaystyle 
 \cdots\ 
 \vert \big\vert \Big\vert \bigg\vert \Bigg\vert\ 
 \Bigg| \bigg| \Big| \big| | \
 \cdots$
\end{document}

答案2

由于您似乎想要条件概率,这里有一些代码可以帮助您。

\DeclarePairedDelimiter其思想与中相同mathtools,但略有改进。

我重新定义\Pr为给出运算符,然后检查其可选参数;如果是,则*使用自动调整大小的括号;否则可选参数应该包含bigBig或(无反斜杠)以表示固定大小的括号。biggBigg

|论证中的A产生一个适当大小的竖线,其间距像关系符号一样。

\documentclass{article}
\usepackage{amsmath,mleftright}

\ExplSyntaxOn

\NewCommandCopy{\PrOp}{\Pr}
\RenewDocumentCommand{\Pr}{O{}m}{%
  \PrOp
  \group_begin:
  \char_set_active_eq:nN { `| } \__rosetti_pr_del:
  \char_set_mathcode:nn { `| } { "8000 }
  \rosetti_pr:nn { #1 } { #2 }
  \group_end:
}

\tl_new:N \l__rosetti_pr_del_tl

\cs_new_protected:Nn \rosetti_pr:nn
 {
  \str_case:nnF { #1 }
   {
    {*}{\tl_set:Nn \l__rosetti_pr_del_tl { \;\middle\vert\; }}
    {}{\tl_set:Nn \l__rosetti_pr_del_tl { \mid }}
   }
   {
    \tl_set:Nn \l__rosetti_pr_del_tl { \use:c {#1m}\vert }
   }
  \__rosetti_pr_size:nnn { l } { \mleft } { #1 } (
  #2
  \__rosetti_pr_size:nnn { r } { \mright } { #1 } )
 }

\cs_new_protected:Nn \__rosetti_pr_del: { \tl_use:N \l__rosetti_pr_del_tl }

\cs_new_protected:Nn \__rosetti_pr_size:nnn
 {
  \str_case:nnF { #3 }
   {
    {*}{#2}
    {}{}
   }
   { \use:c { #3 #1 } }
 }

\ExplSyntaxOff

\begin{document}

\begin{gather*}
\Pr{A} \quad \Pr[Big]{A} \quad \Pr[*]{x=\frac{1}{2}} \\
\Pr{A|B} \quad \Pr[Big]{A | B} \quad \Pr[*]{x=\frac{1}{2}|B}
\end{gather*}

\end{document}

在此处输入图片描述

相关内容