Как написать макрос, который переходит в математический режим при вызове в текстовом режиме, но не прерывается при вызове в математическом режиме?

Как написать макрос, который переходит в математический режим при вызове в текстовом режиме, но не прерывается при вызове в математическом режиме?

Я использую пакет braketдля своих заметок по физике, и это значительно ускоряет работу, но я постоянно пишу \ket{\psi}или \bra{\psi}, и поскольку эта конкретная пара бюстгальтера и кета появляется так часто, это становится повторяющимся, и я хотел бы макрос для ускорения этого. Однако, поскольку пакет braketработает только в математическом режиме, моя попытка \newcommand{\ketp}{$\ket{\psi}}$работает, когда я пишу в текстовом режиме, но когда я пишу в математическом режиме, он ломается (что неудивительно).

Есть ли способ заставить эту команду работать как в математическом, так и в текстовом режиме, не определяя два разных макроса, по одному для каждого?

Заранее благодарю за любую помощь.

P.S. Я уверен, что это очень простой вопрос, но я не смог найти практически никакого объяснения этой функции.

решение1

Вы можете использовать

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

Однако не ясно, всегда ли это хорошая идея. Разметка TeX основана на дизайне, который имеет четкое различие между текстовыми и математическими командами, предполагается, что автор всегда знает, какой режим используется, и обычно похожие команды для использования в тексте и математике имеют разные названия, например , Compare \^и .\hat

Тем не менее, \ensuremathон был добавлен в LaTeX, чтобы делать именно то, что вы просите, так что если вы хотите его использовать, он там есть...

решение2

Для этой цели как раз и существует команда: \ensuremath{…}. При использовании в математическом режиме она возвращает свой аргумент без изменений; при использовании в текстовом режиме она возвращает свой аргумент, но переводится в математический режим.

Поэтому \newcommand{\ketp}{\ensuremath{\ket{\psi}}}сделаю именно то, о чем вы просите.

Несколько полезных рекомендаций по его использованию:Правильный способ использованияensuremath;Когданетиспользоватьensuremath.

Связанный контент