![为什么在宏定义中使用 \DOTSM 会导致错误?](https://linux22.com/image/318751/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E5%AE%8F%E5%AE%9A%E4%B9%89%E4%B8%AD%E4%BD%BF%E7%94%A8%20%5CDOTSM%20%E4%BC%9A%E5%AF%BC%E8%87%B4%E9%94%99%E8%AF%AF%EF%BC%9F.png)
我目前有代码
\documentclass{article}
\usepackage{amsmath}
\newcommand*{\dotprod}{\DOTSM\cdot}
\begin{document}
$a\dotprod b$
\end{document}
但当我尝试编译它时,我得到了错误Undefined control sequence.
另一方面,如果我用 替换\DOTSM
,\DOTSB
我不会得到错误。我觉得这很奇怪,因为和\dotsb
都是\dotsm
有效命令。出了什么问题,我该如何修复它?
答案1
amsmath 定义
\let\dotsb\cdots
\let\dotsm\cdots
所以这些是同一事物的别名,但内部形式不需要或没有别名,所以没有\DOTSM