# Braket notation in LaTeX

I am using the braket package to generate bra and ket vectors. However, I could not figure out how to do <0|0> using the package. Is there a command for this?

Use \braket{0|0}:

\documentclass{standalone}

\usepackage{braket}

\begin{document}

$\braket{0|0}$

\end{document}


• I added an image of the result to your answer. I hope it's OK. Dec 1, 2014 at 1:32

There is the physics package:

\documentclass{article}
\usepackage{physics}
\begin{document}
$\bra{\Psi}\ket{\Psi}$ $\expval{A}{\Psi}$
\end{document}


It offers many other goodies for typsetting physics things. Details can be found in the manul (texdoc physics from command prompt/terminal).

• I love you man, I had a lot of stuff the package implements, defined manually. Feb 25, 2015 at 22:23
• Do not use the physics package. The implementation is really horrible and it destroys the spacing all over the place. Sep 4, 2019 at 10:38

A solution using the mathtools package:

\documentclass{article}

\usepackage{mathtools}
\DeclarePairedDelimiter\bra{\langle}{\rvert}
\DeclarePairedDelimiter\ket{\lvert}{\rangle}
\DeclarePairedDelimiterX\braket[2]{\langle}{\rangle}{#1 \delimsize\vert #2}

\begin{document}

\begin{align*}
\bra{a}       &= \bra*{\frac{a}{1}} \\
\ket{a}       &= \ket*{\frac{a}{1}} \\
\braket{a}{b} &= \braket*{\frac{a}{1}}{\frac{b}{1}}
\end{align*}

\end{document}


Notice that the starred versions of the macros scale automatically.

• Hope one of a better suggestion... Sep 4, 2019 at 10:41
• And it works for MathJax! Aug 6, 2021 at 8:21
• Adapted from section 3.6 of the docs, it's best to add \mathopen{} after \vert: \DeclarePairedDelimiterX\braket[2]{\langle}{\rangle}{#1\,\delimsize\vert\,\mathopen{}#2}. Otherwise \braket{a}{-b} will typeset | - b as if it's subtracting b, instead of | -b. Nov 9, 2021 at 11:12

You can use the \langle and \rangle commands. For example, to do <0|0>, you would do:

\langle 0 | 0 \rangle


Result:

If you have things which use vertical space (like fractions), you can use \left, \right and \middle to adjust the vertical size of the <, > and | symbols. For example:

\left\langle \frac{1}{2} \middle| 1 \right\rangle


Result:

• I didn't know the existence of \middle! thanks Mar 2, 2020 at 15:36
• Thanks a lot for the \middle Sep 10, 2020 at 14:12
• That \middle was my salvation, thank you Jun 10 at 3:52

A complement to the answers above. In case one wants to have a different operators in the left/right and want something in the middle the \expval does no help. An option is to use the \matrixelement in the physics package. This also have the advantage of the proper scaling of the bras & kets for disproportional operators.

\documentclass{article}
\usepackage{physics}
\begin{document}
$$\mel{n}{A}{m}$$
\end{document}


• Do not use the physics package. The implementation is really horrible and it destroys the spacing all over the place. Sep 4, 2019 at 10:40
• Despite I did not have problems with the physics package, I can't disagree with you as i never check the implementation. If I found another formulation that solves the problem in such simple manner and has a better implementation, I will definitely update. Meanwhile we have your warning for anyone who may need/want to use it.
– Guto
Sep 4, 2019 at 19:26
• Actually, the construct in the example you show already destroys the spacing. Try \fbox{$\mel{n}{A}{m}$} (screenshot). You can see that there is more space on the left than on the right, which comes from the fact that the implementation of physics is utter garbage. Sep 6, 2019 at 6:54
• @HenriMenke What alternative do you advise? Mar 2, 2020 at 15:38