
これが私の文書です:
\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
だから同じだ