加载 MdSymbol 时无法使用 \dotsb 和 \dotsm

加载 MdSymbol 时无法使用 \dotsb 和 \dotsm

梅威瑟:

\documentclass[11pt]{article}

\usepackage[papersize={10cm,5cm}, text={9cm,4cm}]{geometry}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{amsmath}
%\usepackage[default]{opensans}
\DeclareSymbolFont{operators}   {OT1}{cmsmf} {m}{n}
\DeclareSymbolFont{letters}     {OML}{cmssm} {m}{it}
\DeclareSymbolFont{symbols}     {OMS}{cmsssy}{m}{n}
\usepackage{mdsymbol}
%   OR  \usepackage[onlymath]{MyriadPro} % need ```FontPro```
\newcommand{\diff}{\mathop{}\!\mathrm{d}}

\begin{document}
\begin{align*}
 & \iint\dotsi\int \log( f_1 f_2 \dotsm f_k ) \diff\mu \\
=& \dotso\cdots\dotsc \\  %%%    ↑↑↑↑↑↑   ↓↓↓↓↓↓
=& \iint\dotsi\int (\log f_1 + \log f_2 + \dotsb +\log f_k) \diff\mu.
\end{align*}
\end{document}

获取消息

! Undefined control sequence.
\dotsm ->\protect \cdots
\dotsb ->\protect \cdots

\dotsi&\dotso输出正常。

如果我要使用\dotsb& \dotsm,是否必须通过应用来实现\cdots

另外,当我使用MyriadProfrom时FontPro,也出现了同样的情况。

答案1

mdsymbol\cdots以出乎意料的方式重新定义amsmath

\documentclass[11pt]{article}

\usepackage{letltxmacro}

\usepackage{amsmath}
\LetLtxMacro{\cdotsams}{\cdots}
\usepackage{mdsymbol}
\makeatletter\let\@cdots\cdots\makeatother
\LetLtxMacro{\cdots}{\cdotsams}

\renewcommand{\familydefault}{\sfdefault}
\DeclareSymbolFont{operators}   {OT1}{cmsmf} {m}{n}
\DeclareSymbolFont{letters}     {OML}{cmssm} {m}{it}
%\DeclareSymbolFont{symbols}     {OMS}{cmsssy}{m}{n} %<--- not if you use mdsymbol

\newcommand{\diff}{\mathop{}\!\mathrm{d}}

\begin{document}

\begin{align*}
   & \iint\dotsi\int \log( f_1 f_2 \dotsm f_k ) \diff\mu \\
={}& \dotso\cdots\dotsc \\  %%%    ↑↑↑↑↑↑   ↓↓↓↓↓↓
={}& \iint\dotsi\int (\log f_1 + \log f_2 + \dotsb +\log f_k) \diff\mu.
\end{align*}

\end{document}

symbols随之改变数学字体mdsymbol

在此处输入图片描述

相关内容