
Ich verwende das Paket braket
für meine Physiknotizen, und das beschleunigt die Dinge sehr, aber ich schreibe ständig \ket{\psi}
oder \bra{\psi}
, und da dieses spezielle Paar aus Bra und Ket so oft vorkommt, wiederholt sich das und ich hätte gerne ein Makro, um das zu beschleunigen. Da das braket
Paket jedoch nur im Mathematikmodus funktioniert, \newcommand{\ketp}{$\ket{\psi}}$
funktioniert mein Versuch, wenn ich im Textmodus schreibe, aber wenn ich im Mathematikmodus schreibe, bricht er ab (was nicht überraschend ist).
Gibt es eine Möglichkeit, diesen Befehl sowohl im Mathematikmodus als auch im Textmodus zum Laufen zu bringen, ohne zwei unterschiedliche Makros definieren zu müssen, eines für jedes?
Vielen Dank im Voraus für jede Hilfe.
PS: Ich bin sicher, dass dies eine sehr einfache Frage ist, aber ich konnte kaum oder gar keine Erklärung zu dieser Funktion finden.
Antwort1
Sie können
\newcommand{\ketp}{\ensuremath{\ket{\psi}}}
Es ist jedoch nicht klar, ob dies immer eine gute Idee ist. TeX-Markup basiert auf einem Design, das eine klare Unterscheidung zwischen Text- und Mathematikbefehlen vorsieht. Es wird davon ausgegangen, dass der Autor immer weiß, welcher Modus verwendet wird, und normalerweise haben ähnliche Befehle für die Verwendung in Text und Mathematik unterschiedliche Namen, beispielsweise „vergleichen“ \^
und „ .\hat
Das heißt, \ensuremath
es wurde zu LaTeX hinzugefügt, um genau das zu tun, was Sie verlangen. Wenn Sie es also verwenden möchten, ist es da ...
Antwort2
Genau zu diesem Zweck gibt es einen Befehl: \ensuremath{…}
. Bei Verwendung im Mathematikmodus gibt er sein Argument unverändert zurück; bei Verwendung im Textmodus gibt er sein Argument zurück, allerdings im Mathematikmodus.
Ich werde also \newcommand{\ketp}{\ensuremath{\ket{\psi}}}
genau das tun, was Sie verlangen.
Einige gute Hinweise zur Verwendung:Richtige Anwendungensuremath
;Wannnichtbenutzenensuremath
.