\square と \Box には違いがありますか?

\square と \Box には違いがありますか?

これが私の文書です:

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

どちらも、私にはまったく同じように見えるボックスを生成します。 コマンド\squareとの間に何か違いはありますか\Box? ある場合、違いは何ですか? そうでない場合、同じものに対して 2 つのコマンドが存在するのはなぜですか?

答え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は、LaTeXのコアLaTeXフォント(latexsym基本配布パッケージ)を使用して定義されます。は、AMSフォントの文字を使用し\squareて定義されますが、デフォルトではamssymb

\global\let\Box\square

だから同じだ

関連情報