\square와 \Box 사이에 차이가 있나요?

\square와 \Box 사이에 차이가 있나요?

내 문서는 다음과 같습니다.

\documentclass{article}
\usepackage{amssymb}
\begin{document}
  $ \square \Box $
\end{document}

둘 다 나와 똑같은 모양의 상자를 생산합니다. 명령 \square과 사이에 차이점이 있습니까 \Box? 그렇다면 차이점은 무엇입니까? 그렇지 않다면 왜 동일한 명령에 대해 두 개의 명령이 존재합니까?

답변1

의심이 든다면 TeX에게 명령이 무엇을 하는지 말해달라고 요청하여 의심을 지울 수 있습니다.

\documentclass{article}
\usepackage{amssymb}
\begin{document}

\ttfamily

\meaning\square

\meaning\Box

\end{document}

당신은 얻을 것이다

\mathchar"403
\mathchar"403

따라서 글리프는 정확히 동일합니다. amsfonts.sty(에 의해 로드된 ) 끝에서 amssymb다음을 찾습니다.

\begingroup \catcode`\"=12
\DeclareMathSymbol{\square}           {\mathord}{AMSa}{"03}
\DeclareMathSymbol{\lozenge}          {\mathord}{AMSa}{"06}
\ams@DeclareMathSymbol{\vartriangleright} {\mathrel}{AMSa}{"42}
\ams@DeclareMathSymbol{\vartriangleleft}  {\mathrel}{AMSa}{"43}
\ams@DeclareMathSymbol{\trianglerighteq}  {\mathrel}{AMSa}{"44}
\ams@DeclareMathSymbol{\trianglelefteq}   {\mathrel}{AMSa}{"45}
\ams@DeclareMathSymbol{\rightsquigarrow}  {\mathrel}{AMSa}{"20}
\@ifpackageloaded{latexsym}{\@tempswafalse}{\@tempswatrue}
\if@tempswa
  \global\let\Box\square
  \global\let\Diamond\lozenge
  \global\let\leadsto\rightsquigarrow
  \global\let\lhd\@@undefined
  \global\let\unlhd\@@undefined
  \global\let\rhd\@@undefined
  \global\let\unrhd\@@undefined
  \DeclareMathSymbol{\lhd}     {\mathbin}{AMSa}{"43}
  \DeclareMathSymbol{\unlhd}   {\mathbin}{AMSa}{"45}
  \DeclareMathSymbol{\rhd}     {\mathbin}{AMSa}{"42}
  \DeclareMathSymbol{\unrhd}   {\mathbin}{AMSa}{"44}
\xdef\Join{\mathrel{\mathchar"0\hexnumber@\symAMSb 6F\mkern-13.8mu%
  \mathchar"0\hexnumber@\symAMSb 6E}}
\fi
\endgroup

정의된 기호 와 동등한 것을 제공하기 위해 latexsym.

답변2

\Box핵심 라텍스 글꼴( latexsym기본 배포판의 패키지)을 사용하여 LaTeX에 의해 정의됩니다. AMS 글꼴의 문자를 사용 \square하여 정의되지만 amssymb기본적으로는

\global\let\Box\square

그래서 둘은 똑같아

관련 정보