如何使管道(垂直线)符号像狄拉克乘积符号那样增长,但没有外角括号?
答案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
。
相比于非常相似的解决方案的优势海科·奥伯迪克是
- 宏的使用。
- 您不需要提供
\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
您可以在分隔符前加上\left
and ,\right
以便自动调整分隔符的大小。如果只有一个分隔符,则可以使用.
代替另一个分隔符,例如
\left. \frac{1}{2} \right|
因此,如果你知道哪一侧的条形图较大,你可以尝试以下方法:
\left\langle \left. \frac{1}{2} \psi_1 \right| \psi_2 \right\rangle