如何让管道两侧都生长?

如何让管道两侧都生长?

如何使管道(垂直线)符号像狄拉克乘积符号那样增长,但没有外角括号?

答案1

通常 LaTeX 与 e-TeX 一起使用,其提供\middle

\documentclass{article}
\begin{document}
\[
  \left. a \middle| b \right.
\]
\end{document}

结果

\left.和的额外空格\right.可能有意义,但可以通过包来减少mleftright

\documentclass{article}
\usepackage{mleftright}
\begin{document}
\[
  \mleft. a \middle| b \mright.
\]
\end{document}

如果竖线像关系符号一样使用,则间距是通过以下方式实现的

\left. a \mathrel{}\middle|\mathrel{} b \right.

间距作为关系符号

e-TeX 不会在数学关系原子和结束分隔符(的左侧)之间插入空格\middle,也不会在开始分隔符(的右侧\middle)和数学关系原子之间插入空格。

另一种方法是

\left. a \nonscript\;\middle|\nonscript\; b \right.

\nonscript\scriptstyle如果在或中,则抑制以下空格\scriptscriptstyle,其中 TeX 也不会在关系符号周围设置空格。对于标点符号(这里不太可能)、其他关系符号(不太可能)和打开/关闭分隔符,与以前的方法有所不同,例如:

\documentclass{article}
\usepackage{mleftright}
\begin{document}
\[
  \mleft.(\mathrel{}\middle|\mathrel{})\mright.
\]
\[
  \mleft.(\nonscript\;\middle|\nonscript\;)\mright.
\]
\end{document}

结果

对于二元运算符,空间将是\>(中等空间)而不是\;(厚空间):

\mleft. a \nonscript\;\middle|\nonscript\; b\mright.

该行为更接近具有以下结构的二元运算符:

\left.a \mathbin{}{\nonscript\mkern-\medmuskip}\middle|{\nonscript\mkern-\medmuskip} \mathbin{} b\right.

结果

无论哪种方式,在标记宏中隐藏实现细节都是一个好主意。

答案2

包裹braket定义一些可以在这里使用的宏。

虽然它只定义了使用尖括号或大括号(用于集合)的命令,但人们可以轻松地复制编辑规范以\Braket制作自己的\Pipe

相比于非常相似的解决方案的优势海科·奥伯迪克

  1. 宏的使用。
  2. 您不需要提供\middle命令(它在内部使用),只需使用普通的|或(对于双管道)||\|

代码

\documentclass{article}
\usepackage{braket}
\usepackage{amsmath}
\usepackage{mleftright} % 

% the following lines are borrowed from braket
{\catcode`\|=\active
  \xdef\Pipe{\protect\expandafter\noexpand\csname Pipe \endcsname}
  \expandafter\gdef\csname Pipe \endcsname#1{\begingroup
     \ifx\SavedDoubleVert\relax
       \let\SavedDoubleVert\|\let\|\BraDoubleVert
     \fi
     \mathcode`\|32768\let|\BraVert
     \left.{#1}\right.\endgroup}
}

% with package mleftright:
{\catcode`\|=\active
  \xdef\mPipe{\protect\expandafter\noexpand\csname mPipe \endcsname}
  \expandafter\gdef\csname mPipe \endcsname#1{\begingroup
     \ifx\SavedDoubleVert\relax
       \let\SavedDoubleVert\|\let\|\BraDoubleVert
     \fi
     \mathcode`\|32768\let|\BraVert
     \mleft.{#1}\mright.\endgroup}
}
\begin{document}\noindent
$y  \Pipe{\dfrac{1}{2} | x_2 } z $ \\
$y \mPipe{\dfrac{1}{2} | x_2 } z $ \\
\end{document}

输出

输出

答案3

您可以在分隔符前加上\leftand ,\right以便自动调整分隔符的大小。如果只有一个分隔符,则可以使用.代替另一个分隔符,例如

\left. \frac{1}{2} \right|

因此,如果你知道哪一侧的条形图较大,你可以尝试以下方法:

\left\langle \left. \frac{1}{2} \psi_1 \right| \psi_2 \right\rangle

相关内容