source2e
当我浏览寻找另一个命令的定义时,以下几行引起了我的注意。
\DeclareMathRadical{\sqrtsign}{symbols}{"70}{largesymbols}{"70}
和
\DeclareRobustCommand\sqrt{\@ifnextchar[\@sqrt\sqrtsign}
\def\@sqrt[#1]{\root #1\of}
这是\sqrtsign
为了什么?我试过了\sqrtsign{x}
,它输出了类似于的内容\sqrt{x}
。
答案1
LaTeX 的定义\sqrt
是
\DeclareRobustCommand\sqrt{\@ifnextchar[\@sqrt\sqrtsign}
\def\@sqrt[#1]{\root #1\of}
这意味着如果使用了可选参数(即,如果后面的下一个字符\sqrt
是[
),\@sqrt
则使用(而这又使用\root#1\of
其定义可以在的第 210 页找到source2e.pdf
)来排版根索引和亚根表达式;如果没有给出可选参数,\sqrtsign
则使用来排版亚根表达式(\sqrtsign
不允许使用可选参数)。