
저는 물리 노트용으로 패키지를 사용하고 braket
있는데 이로 인해 작업 속도가 크게 빨라지지만 계속해서 \ket{\psi}
or 을 쓰고 있습니다 \bra{\psi}
. 그리고 이 특정 브래지어와 켓 쌍이 너무 자주 나타나기 때문에 이것이 반복되므로 매크로를 사용하고 싶습니다. 속도를 높이세요. 그러나 braket
패키지는 수학 모드에서만 작동하므로 \newcommand{\ketp}{$\ket{\psi}}$
텍스트 모드에서 쓸 때는 작동하지만 수학 모드에서 쓸 때는 작동이 중단됩니다(당연히).
두 개의 다른 매크로를 각각 하나씩 정의하지 않고도 이 명령이 수학 모드와 텍스트 모드 모두에서 작동하도록 할 수 있는 방법이 있습니까?
도움을 주셔서 미리 감사드립니다.
PS 나는 이것이 매우 간단한 질문이라고 확신하지만 이 기능에 대한 설명을 거의 또는 전혀 찾을 수 없었습니다.
답변1
당신이 사용할 수있는
\newcommand{\ketp}{\ensuremath{\ket{\psi}}}
그러나 이렇게 하는 것이 항상 좋은 생각인지는 확실하지 않습니다. TeX 마크업은 텍스트와 수학 명령을 명확하게 구분하는 디자인을 기반으로 하며, 작성자는 항상 어떤 모드가 사용 중인지 알고 있으며 일반적으로 텍스트와 수학에 사용되는 유사한 명령은 서로 다른 이름을 가지고 있다고 가정 합니다 \^
. \hat
.
즉, \ensuremath
요청한 작업을 정확하게 수행하기 위해 LaTeX에 추가되었으므로 사용하고 싶다면 거기에 있습니다...
답변2
바로 이 목적을 위한 명령이 있습니다: \ensuremath{…}
. 수학 모드에서 사용되는 경우 인수는 변경되지 않습니다. 텍스트 모드에서 사용되면 인수를 제공하지만 수학 모드로 전환됩니다.
그래서 \newcommand{\ketp}{\ensuremath{\ket{\psi}}}
당신이 요구하는 대로만 할 것입니다.
사용법에 대한 좋은 지침:올바른 사용 방법ensuremath
;언제~ 아니다사용ensuremath
.