ボックスを使用して調整(ディラック)ブラケットを定義する

ボックスを使用して調整(ディラック)ブラケットを定義する

物理学ではディラック括弧と呼ばれる調整括弧のセットを定義したいと思います。

この括弧は、縦線で区切られた 3 つの引数を受け入れ、それらはすべて角で囲まれます。たとえば、テキスト形式では になります<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}

写真からわかるように、2番目のケースでは中央の括弧のサイズが希望どおりではありません。ここに画像の説明を入力してください

解決の試み

3 つの引数の最大の高さに等しい高さのボックスを作成し、そのボックス内に 2 番目の引数を配置すると、問題は解決するはずです... ただし、それが可能かどうかはわかりません。

私の問題を解決するアイデアを持っている人はいますか?

ありがとう、そして(ほぼ)メリークリスマス。

答え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 physicsまたは翻訳元(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}

ここに画像の説明を入力してください

関連情報