![修改 esvect 包的矢量箭头定义纯 tex](https://linux22.com/image/270962/%E4%BF%AE%E6%94%B9%20esvect%20%E5%8C%85%E7%9A%84%E7%9F%A2%E9%87%8F%E7%AE%AD%E5%A4%B4%E5%AE%9A%E4%B9%89%E7%BA%AF%20tex.png)
什么
\kern, \mkern, \traitfill, \m@th, \mathpalette
&@
后面附加一个符号是什么\def
意思?例如
\def\vectfill@{whatever}
或者
\def\traitfill@#1#2#3#4
答案1
\kern
是一个原始的:\kern 2pt
向当前垂直或水平列表添加 2pt 的空间。
\mkern
是数学字距:mkern 2mu
和 2mu
的水平空间,其中一个数学单位是 1/18,em
通常为当前字体的设计大小。
\traitfill
似乎没有定义,但它\traitfill@
是一个定义的宏,esvect.sty
它使用\leaders
原语通过重复指定符号的多个副本来构造长符号。
\m@th
是在纯文本和 LaTeX 中定义的宏。它隐藏了通常在内联数学周围添加的空格。通常用于数学模式的“隐藏”用途。
\mathpalette
是在纯文本和 LaTeX 中定义的宏,作为\mathchoice
原始文件的包装器,允许定义在所有四种数学模式大小(显示、文本、脚本、scriptscript)下工作的符号。
@
不是附加到符号的运算符。在包中,代码@
是一个字母,因此命令\foo
和\foo@
不一定以任何方式相关,它们每个都必须定义,就像\foo
和\foox
不一定有任何联系一样。