\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

\Boxlatexsym由 LaTeX 使用核心 Latex 字型(基本發行版中的套件)定義。是使用 AMS 字體中的字元\square定義的,但預設情況下它是amssymb

\global\let\Box\square

所以它們是一樣的

相關內容