Seite 1 von 1

Seltsamer Abstand bei "Braket"-Schreibweise

Verfasst: Mi 17. Aug 2016, 19:03
von Wulluf
Ich schreibe ein Dokument über Quantenmechanik, bei der man die sogenannte Braket-Schreibweise benutzt. Bei dieser hat man Symbole, die von vertikalen Strichen und spitzen Klammern umgeben sind (siehe Minimalbeispiel).

Wenn ich jedoch einen Pfeil in ein "ket" schreibe, habe ich einen unerwünschten Abstand zwischen dem vertikalen Strich und dem Pfeile (siehe Minimalbeispiel zweiter Absatz). Kann man dies irgendwie beheben?

Für einen Ratschlag wäre ich sehr dankbar!
\documentclass{scrartcl}

\usepackage{ifthen}
\newcommand{\bra}[1]{\langle#1|}
\newcommand{\ket}[1]{|#1\rangle}
\newcommand{\braket}[3][\empty]{\ifthenelse{\equal{#1}{\empty}}{\langle#2|#3\rangle}{\langle#2|#1|#3\rangle}} 

\begin{document}

Spaltenvektor: $\ket{a}$ \\
Zeilenvektor: $\bra{b}$ \\
Skalarprodukt: $\braket{a}{b}$ \\
Vektor-Matrix-Vektor-Produkt: $\braket[\hat O]{a}{b}$ \\

Pfeil nach oben: $\ket{\uparrow}$\\
Pfeil nach unten: $\ket{\downarrow}$\\
Pfeil nach links: $\ket{\leftarrow}$\\
Pfeil nach rechts: $\ket{\rightarrow}$


\end{document}

Verfasst: Mi 17. Aug 2016, 19:31
von Bartman
Bei mir wirkt ein weiteres Paar geschweifter Klammern
\documentclass{scrartcl}

\usepackage{etoolbox}% eine Alternative zum Paket ifthen

\newcommand{\bra}[1]{\langle#1|}
\newcommand{\ket}[1]{|{#1}\rangle}% <- geändert
\newcommand{\braket}[3][]{
	\ifstrempty{#1}{
		\langle#2|#3\rangle
	}{
		\langle#2|#1|#3\rangle
	}
}

\begin{document}

Spaltenvektor: $\ket{a}$ \\
Zeilenvektor: $\bra{b}$ \\
Skalarprodukt: $\braket{a}{b}$ \\
Vektor-Matrix-Vektor-Produkt: $\braket[\hat O]{a}{b}$ \\

Pfeil nach oben: $\ket{\uparrow}$\\
Pfeil nach unten: $\ket{\downarrow}$\\
Pfeil nach links: $\ket{\leftarrow}$\\
Pfeil nach rechts: $\ket{\rightarrow}$

\end{document}

Verfasst: Mi 17. Aug 2016, 20:41
von Johannes_B
Nutz doch das Paket physics, da gibt es das schon fix und fertig.

Nachtrag:
\documentclass{scrartcl}

%\usepackage{ifthen}
\usepackage{physics}
%\newcommand{\bra}[1]{\langle#1|}
%\newcommand{\ket}[1]{|#1\rangle}
%\newcommand{\braket}[3][\empty]{\ifthenelse{\equal{#1}{\empty}}{\langle#2|#3\rangle}{\langle#2|#1|#3\rangle}}

\begin{document}

Spaltenvektor: $\ket{a}$ \\
Zeilenvektor: $\bra{b}$ \\
Skalarprodukt: $\braket{a}{b}$ \\
%Vektor-Matrix-Vektor-Produkt: $\braket[\hat O]{a}{b}$ \\
Vektor-Matrix-Vektor-Produkt: $\mel{a}{ \hat O }{b}$ \\

Pfeil nach oben: $\ket{\uparrow}$\\
Pfeil nach unten: $\ket{\downarrow}$\\
Pfeil nach links: $\ket{\leftarrow}$\\
Pfeil nach rechts: $\ket{\rightarrow}$


\end{document}

Verfasst: Do 18. Aug 2016, 12:18
von Wulluf
Bartman hat geschrieben:Bei mir wirkt ein weiteres Paar geschweifter Klammern
Bei mir auch. Vielen Dank!