¿Cómo puedo escribir una macro que entre en modo matemático cuando se llama en modo texto pero que cuando se llama en modo matemático no se interrumpe?

¿Cómo puedo escribir una macro que entre en modo matemático cuando se llama en modo texto pero que cuando se llama en modo matemático no se interrumpe?

Estoy usando el paquete braketpara mis notas de física, y esto acelera mucho las cosas, pero estoy constantemente escribiendo \ket{\psi}o \bra{\psi}, y debido a que este par específico de sujetador y ket aparece con tanta frecuencia, esto se vuelve repetitivo y me gustaría una macro para acelerar esto. Sin embargo, dado que el braketpaquete funciona solo en modo matemático, mi intento \newcommand{\ketp}{$\ket{\psi}}$funciona cuando escribo en modo texto, pero cuando escribo en modo matemático se rompe (como era de esperar).

¿Hay alguna manera de hacer que este comando funcione tanto en modo matemático como en modo texto sin tener que definir dos macros diferentes, una para cada una?

Gracias de antemano por cualquier ayuda.

PD: Estoy seguro de que esta es una pregunta muy simple, pero pude encontrar poca o ninguna explicación sobre esta característica.

Respuesta1

Puedes usar

\newcommand{\ketp}{\ensuremath{\ket{\psi}}}

Sin embargo, no está claro que siempre sea una buena idea hacer esto. El marcado TeX se basa en un diseño que tiene una distinción clara entre comandos de texto y matemáticos. La suposición es que el autor siempre sabe qué modo está en uso y, por lo general, los comandos similares para uso en texto y matemáticas tienen nombres diferentes, compare \^y, \hatpor ejemplo. .

Dicho esto, \ensuremathse agregó a LaTeX para hacer exactamente lo que pides, así que si quieres usarlo, está ahí...

Respuesta2

Existe un comando exactamente para este propósito: \ensuremath{…}. Si se usa en modo matemático, da su argumento sin cambios; si se usa en modo texto, da su argumento, pero se pone en modo matemático.

Así que \newcommand{\ketp}{\ensuremath{\ket{\psi}}}hará justo lo que le pidas.

Algunas buenas orientaciones sobre su uso:Manera correcta de usarensuremath;Cuandonousarensuremath.

información relacionada