
Estou usando o pacote braket
para minhas anotações de física, e isso acelera bastante as coisas, mas estou constantemente escrevendo \ket{\psi}
or \bra{\psi}
, e como esse par específico de sutiã e colete aparece com tanta frequência, isso se torna repetitivo e eu gostaria de uma macro para acelerar isso. No entanto, como o braket
pacote funciona apenas no modo matemático, minha tentativa \newcommand{\ketp}{$\ket{\psi}}$
funciona quando estou escrevendo no modo texto, mas quando estou escrevendo no modo matemático ele quebra (sem surpresa).
Existe alguma maneira de fazer esse comando funcionar tanto no modo matemático quanto no modo texto sem precisar definir duas macros diferentes, uma para cada?
Agradecemos antecipadamente por qualquer ajuda.
PS Tenho certeza de que esta é uma pergunta muito simples, mas encontrei pouca ou nenhuma explicação sobre esse recurso.
Responder1
Você pode usar
\newcommand{\ketp}{\ensuremath{\ket{\psi}}}
No entanto, não está claro se é sempre uma boa ideia fazer isso. A marcação TeX é baseada em um design que tem uma distinção clara entre comandos de texto e matemáticos, a suposição é que o autor sempre sabe qual modo está em uso, e normalmente comandos semelhantes para uso em texto e matemática têm nomes diferentes, compare \^
e \hat
por exemplo .
Dito isto, \ensuremath
foi adicionado ao LaTeX para fazer exatamente o que você pede, então se você quiser usá-lo, está aí...
Responder2
Existe um comando exatamente para esse fim: \ensuremath{…}
. Se usado no modo matemático, seu argumento será inalterado; se usado em modo texto, fornece seu argumento, mas colocado em modo matemático.
Então \newcommand{\ketp}{\ensuremath{\ket{\psi}}}
farei exatamente o que você pedir.
Algumas boas orientações sobre seu uso:Maneira correta de usarensuremath
;Quandonãousarensuremath
.