
物理学ではディラック括弧と呼ばれる調整括弧のセットを定義したいと思います。
この括弧は、縦線で区切られた 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}