
Estoy usando el paquete braket
para 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 braket
paquete 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, \hat
por ejemplo. .
Dicho esto, \ensuremath
se 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
.