使用盒子定义调整(狄拉克)括号

使用盒子定义调整(狄拉克)括号

我想定义一组调节括号,物理学上叫狄拉克括号。

这个括号接受三个参数,用垂直线分隔,并且所有参数都被角度包围,例如在文本格式中用<a|b|c>

平均能量损失

第一次尝试是

\documentclass{article}
\usepackage{amsmath}
\usepackage{calc}

\newcommand\bkt[3]{\left< {#1} \left|{#2} \right| {#3} \right>}

\begin{document}

\begin{align}
  \bkt{a}{b}{c}
\end{align}

\begin{align}
  \bkt{a}{b}{\frac{c}{d}}
\end{align}

\end{document}

从图中可以看出,第二种情况下,中间的括号没有达到所需的大小在此处输入图片描述

尝试解决方案

创建一个高度等于三个参数的最大高度的框,然后将第二个参数放在框内,应该可以解决问题……但我不知道这样做是否可行。

有人有办法解决我的问题吗?

谢谢你,圣诞快乐。

答案1

您可以使用\middle中间分隔符...如果需要,可以使用多个:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath

\newcommand\bkt[3]{\left< #1 \;\middle|\; #2 \;\middle|\; #3 \right>}

\begin{document}

\begin{align}
  x &= \bkt{a}{b}{c} \\
  y &= \bkt{a}{b}{\frac{c}{d}}
\end{align}

\end{document}

请注意,将数学元素放在括号内可能会减少某些间距,因此我在 的定义中删除了它们\bkt。我还在 周围添加了一些间距\middle|(如如何制作像braket包中那样扩展的中间分隔符)。有关水平空间的参考,请参阅有哪些命令可以控制水平间距?

答案2

让我们致电物理作为物理无需重新发明任何东西 ;-)。您可以使用physics包。有关详细信息texdoc physicstexdoc.net(第 6 和 7 页,第 2.6 节)。

\documentclass{article}
\usepackage{amsmath}
\usepackage{physics}


\begin{document}

\begin{align}
  \mel*{a}{b}{c}\\
  \mel{a}{b}{c} \\
  \bra{a}b\ket{c}
\end{align}

\begin{align}
  \mel**{a}{b}{\frac{c}{d}}\\
  \mel{a}{b}{\frac{c}{d}} \\
  \bra{a}b\ket{\frac{c}{d}}
\end{align}

\end{document}

在此处输入图片描述

相关内容