
공식 패키지에 bra와 ket이 정의되어 있는 이유는 무엇입니까?braket.sty
두 가지 다른 방식으로( \bra
, \Bra
및 \ket
, \Ket
)?
\bra
확장할 수 없는 구분 기호가 포함된 명령이 왜 존재하는지 이해할 수 없습니다 . 문체상의 이유로 직관적으로 대문자 버전을 사용했습니다. 확장 불가능한 두 번째 버전을 접한 적이 있습니까?
브래지어에 대한 간단한 예를 참조하세요.
\documentclass{article}
\usepackage{amsmath}
\usepackage{braket}
\begin{document}
\begin{align*}
\Bra{\frac{1}{\sqrt{2}}\left(\uparrow + \downarrow\right)}
&=\frac{1}{\sqrt{2}}\left(\Bra{\uparrow}+\Bra{\downarrow}\right)\\
\bra{\frac{1}{\sqrt{2}}\left(\uparrow + \downarrow\right)}
&=\frac{1}{\sqrt{2}}\left(\bra{\uparrow}+\bra{\downarrow}\right)\\
&=2 222 22\\
&=2\mathinner{222}22
\end{align*}
\end{document}
패키지 정의에 대한 이해
나 같은 멍청한 멍청이들을 위해 정렬 환경의 마지막 두 줄에서 무슨 \mathinner
일을 하는지 검토합니다.braket.sty
의 패키지 소스 코드). 패키지는 다음과 같은 방식으로 명령을 정의했습니다.
\def\bra#1{\mathinner{\langle{#1}|}}
\def\ket#1{\mathinner{|{#1}\rangle}}
\def\Bra#1{\left\langle#1\right|}
\def\Ket#1{\left|#1\right\rangle}
답변1
대문자 이니셜이 있는 매크로는 문서에 명시된 대로 내용을 기반으로 "자체 확장"됩니다. 항상 \left
and 를 사용하는 것이 좋지 않은 것처럼 , and \right
사이에서도 신중하게 선택하는 것이 좋습니다 .\Bra
\bra
추가 간격에 관한 한 해결책은 다음을 로드하는 것입니다 mleftright
.
\documentclass{article}
\usepackage{amsmath}
\usepackage{braket,mleftright}
\mleftright
\begin{document}
\begin{align*}
\Bra{\frac{1}{\sqrt{2}}\left(\uparrow + \downarrow\right)}
&=\frac{1}{\sqrt{2}}\left(\Bra{\uparrow}+\Bra{\downarrow}\right)\\
\bra{\frac{1}{\sqrt{2}}\left(\uparrow + \downarrow\right)}
&=\frac{1}{\sqrt{2}}\left(\bra{\uparrow}+\bra{\downarrow}\right)\\
&=2 222 22\\
&=2\mathinner{222}22\\
\end{align*}
\end{document}
답변2
일반적으로 는 \left<delim> ... \right<delim>
콘텐츠의 모든 부분보다 높게 선택되는 확장 가능한 구분 기호를 사용하여 콘텐츠의 높이를 맞추는 데 사용됩니다.
그러나 이 선택은 종종 너무 큰 (긴) 구분 기호를 생성하며 egreg가 재치있게 말하고 Aditya의 의견에서 예시한 것처럼 미학적 이유(및 결과적인 인쇄 규칙)로 인해 피해야 한다는 것은 잘 알려져 있습니다. 가독성이 좋다면 구분 기호 높이를 가능한 한 작게 유지하는 것이 좋습니다.
그렇기 때문에 나는 및 에 기반한 braket.sty
내 자신의 것 외에는 사용하지 않고, 예를 들어 브래지어와 같은 구식과 관련된 몇 가지 트릭을 사용합니다 ..sty
\big
\Big
\def
\def\bra<#1|{\langle #1\rvert}
\def\Bra<#1|{\big\langle #1\big\rvert}
\def\BRA<#1|{\Big\langle #1\Big\rvert}
여기서 설명한 예제를 코딩하겠습니다.
\BRA<\frac{1}{\sqrt{2}}\left(\uparrow + \downarrow\right)|
=\frac{1}{\sqrt{2}}\big(\bra<\uparrow|+\bra<\downarrow|\big)
그 결과는 braket.sty
strpeter가 코딩하고 egreg가 게시한 결과보다 더 나은 IMO입니다.
추가 의견:
\textstyle
그에게 강조를 주지 않기 위해 분수를 조판할 것입니다.- 왼쪽은 이 상태에 대해 실제로 의미 있는 표기법이 아닙니다.
답변3
Markdown 또는 웹 애플리케이션에 대한 bra-ket 표기법을 입력하려는 경우 다음 방법을 시도해 볼 수 있습니다.
$$
\newcommand{\bra}[1]{\left \langle #1 \right \rvert}
\newcommand{\ket}[1]{\left \rvert #1 \right \rangle}
\newcommand{\E}[1]{\left \langle #1 \right \rangle}
\newcommand{\braket}[2]{\left \langle #1 \middle \rvert #2 \right \rangle}
\newcommand{\braxket}[3]{\left \langle #1 \middle \rvert #2 \middle \rvert #3 \right \rangle}
\bra{\Psi}, \;
\ket{\varphi}, \;
\E{\frac{\Psi^\dag\Psi}{2/3}}, \;
\braket{\frac{\Psi}{2/3}}{\varphi}, \;
\braxket{\frac{\Psi}{2/3}}{A}{\varphi}
$$