什么是 `\Vec`(大写)

什么是 `\Vec`(大写)

我无意中发现了 accors \Vec{...}(注意大写命令)。由于无法在 Google 和 SE 上进行区分大小写的搜索,我不得不问:它有什么用?我可以覆盖它吗?它似乎具有与 相同的效果\vec{...}

答案1

如果我做

> ack '\\Vec[^f@t-]' /usr/local/texlive/2023/texmf-dist/tex/latex/

(正则表达式中的排除列表只是为了避免误报)答案是

/usr/local/texlive/2023/texmf-dist/tex/latex/amsmath/amstex.sty
774:\gdef\Vec{\RIfM@\DN@{\mathaccent@{"017E }}\else
775: \DN@{\nonmatherr@\Vec}\fi\next@}

/usr/local/texlive/2023/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty
876:\def\Vec{\vec}

/usr/local/texlive/2023/texmf-dist/tex/latex/amsmath/amsmath.sty
902:\def\Vec{\vec}

/usr/local/texlive/2023/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
156:\CustomizeMathJax{\let\Vec\vec}

因此基本上,唯一定义的包\Vecamsmathamstex.sty保留以实现向后兼容)。

为什么?如果你仔细查看,amsmath.sty你还会发现,所有数学重音符号都是\Acute\Hat等等。

在 的第一个版本中amsmath,大写版本用于正确显示堆叠重音,因此您必须输入

\Dot{\Hat{x}}

以获得重音符号的正确位置。在后来的版本中,重音符号堆叠的问题以不同的方式得到解决(这增加了一个不太好的“功能”,但这不是重点),因此大写版本被重新定义为与全小写命令相同。

使用\Vec\vec完全相同。

答案2

TeX 通常区分大写和小写,因此\vec与 不同\Vec。在普通 TeX 中,只有\vec定义,但软件包amsmath将其定义\Vec为与 相同\vec(手册中写道“为了向后兼容”):

\def\Vec{\vec}

因此,是的,如果您指的是amsmath包中定义的宏,它的作用与 完全相同\vec。是的,在这种情况下,您可以重新定义它(在加载 之后amsmath),而不会影响 的定义\vec。但我不确定重新定义它是否是个好主意,因为这可能会破坏其他包依赖于将amsmath大写宏定义为与非大写宏相同的事实。

但是,由于您没有提供最小工作示例(MWE)以上只是猜测。可能还存在其他\Vec以自己的不同方式定义的包或文档类,当然,在这种情况下重新定义此宏可能会有问题。

相关内容