Gibt es einen Unterschied zwischen \square und \Box?

Gibt es einen Unterschied zwischen \square und \Box?

Hier ist mein Dokument:

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

Beide erzeugen Boxen, die für mich genau gleich aussehen. Gibt es einen Unterschied zwischen den Befehlen \squareund \Box? Wenn ja, was sind die Unterschiede? Wenn nicht, warum sind dann zwei Befehle für dasselbe vorhanden?

Antwort1

Wenn Sie Zweifel haben, können Sie diese beseitigen, indem Sie TeX bitten, Ihnen mitzuteilen, was die Befehle bewirken.

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

\ttfamily

\meaning\square

\meaning\Box

\end{document}

Du wirst kriegen

\mathchar"403
\mathchar"403

also sind die Glyphen genau gleich. Am Ende von amsfonts.sty(das von geladen wird amssymb) finden Sie

\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

um die Äquivalente der latexsymdefinierten Symbole bereitzustellen.

Antwort2

\Boxwird von LaTeX unter Verwendung der Kern-Latex-Schriftarten definiert ( latexsymPaket in der Basisdistribution). \squarewird durch die Verwendung eines Zeichens aus AMS-Schriftarten definiert amssymb, aber standardmäßig

\global\let\Box\square

also sind sie gleich

verwandte Informationen