![量子物理学中的自动调整大小](https://linux22.com/image/393764/%E9%87%8F%E5%AD%90%E7%89%A9%E7%90%86%E5%AD%A6%E4%B8%AD%E7%9A%84%E8%87%AA%E5%8A%A8%E8%B0%83%E6%95%B4%E5%A4%A7%E5%B0%8F.png)
我知道了这一点,\left
并\right
允许我们自动调整括号的大小。我目前正在研究一些量子物理学的文档,其中包含所谓的狄拉克符号 bra 和 ket,由\langle
和|
组成\rangle
。
一般有 5 种组合:|a>
、<b|
、<a>
和。它很容易使用,对于前 3 种类型,我如何才能对所有符号进行自动调整?<a|b>
<a|c|b>
\left
\right
答案1
您可以使用braket
,其中命令\bra
,\ket
和\braket
具有“自动扩展”变体\Bra
,\Ket
和\Braket
。
或者您可以创建自己的命令。这里,每个\bra
、\ket
和\braket
命令都接受一个可选的大小参数(\big
、\Big
或),或者对于自动扩展版本,\bigg
接受一个。\Bigg
*
\documentclass{article}
\usepackage{mathtools,xparse}
\DeclarePairedDelimiterX{\bra}[1]{\langle}{\rvert}{#1\,}
\DeclarePairedDelimiterX{\ket}[1]{\lvert}{\rangle}{\,#1}
\DeclarePairedDelimiterX{\makebraket}[1]{\langle}{\rangle}{#1}
\NewDocumentCommand{\braket}{som}{%
\begingroup\activatebraketbar
\IfBooleanTF{#1}
{\makebraket*{#3}}
{\IfNoValueTF{#2}{\makebraket{#3}}{\makebraket[#2]{#3}}}%
\endgroup
}
\makeatletter
\newcommand{\braketbar}{%
\,\delimsize\vert\@ifnextchar|{\!}{\,}%
}
\makeatother
\newcommand{\activatebraketbar}{%
\begingroup\lccode`~=`|\lowercase{\endgroup\let~}\braketbar
\mathcode`|="8000
}
\begin{document}
\begin{gather*}
\bra{x}+\ket{\psi(t)}+
\bra[\big]{x}+\ket[\big]{\psi(t)}+
\bra[\Big]{x}+\ket[\Big]{\psi(t)} \\
\braket{x|\psi(t)}\quad\braket{x|y|\psi(t)} \\
\braket[\big]{x|\psi(t)}\quad\braket[\big]{x|y|\psi(t)} \\
\braket[\Big]{x|\psi(t)}\quad\braket[\Big]{x|y|\psi(t)} \\
\braket*{\frac{x}{y}|z}+\braket*{x|\frac{a}{b}|z} \\
\braket{a||b}
\end{gather*}
\end{document}
答案2
这里可以使用 来\middle
提供帮助。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\def\z{\frac{x}{y}}
\[
\left\lvert\z\right\rangle\quad
\left\langle\z\right\rvert\quad
\left\langle\z\right\rangle\quad
\left\langle\z\middle\vert b\right\rangle\quad
\left\langle\z\middle\vert b\middle\vert c\right\rangle
\]
\end{document}
答案3
该软件包中physics
包含几个用于此目的的命令。
\bra
\[\bra{a} \quad \bra{\frac{a}{b}} \quad \bra*{\frac{a}{b}}\]
\ket
\[\ket{b} \quad \ket{\frac{a}{b}} \quad \ket*{\frac{a}{b}}\]
\braket
\[\braket{a}{b} \quad \braket{a}{\frac{x}{y}} \quad \braket*{a}{\frac{x}{y}}\]
\expectationvalue
或者\ev
\[\ev{a} \quad \ev{H}{a}\]
\matrixelement
或者\mel
\[\mel{a}{H}{b} \quad \mel{a}{\hat{H}}{b} \quad \mel**{a}{\hat{H}}{b}\]
平均能量损失
\documentclass{article}
\usepackage{physics}
\begin{document}
\[\bra{a} \quad \bra{\frac{a}{b}} \quad \bra*{\frac{a}{b}} \]
\[\ket{b} \quad \ket{\frac{a}{b}} \quad \ket*{\frac{a}{b}} \]
\[\braket{a}{b} \quad \braket{a}{\frac{x}{y}} \quad \braket*{a}{\frac{x}{y}}\]
\[\ev{a} \quad \ev{H}{a}\]
\[\mel{a}{H}{b} \quad \mel{a}{\hat{H}}{b} \quad \mel**{a}{\hat{H}}{b}\]
\end{document}