带帽子处方中的符号高度不同

带帽子处方中的符号高度不同

我正在尝试使用这样的代码:

$$ \boldsymbol{f}\left(\prescript{S}{E}{\hat{\boldsymbol{q}}},\prescript{E}{}{\hat{\boldsymbol{d}}}, \prescript{S}{}{\hat{\boldsymbol{s}}}\right) $$

但结果却是这样的:

在此处输入图片描述

如您所见,前标字母的高度与主字母的高度不同。知道如何对齐它们吗?

答案1

在正常数学模式下,下标和上标放置在忽略数学重音,并且应该相同\prescript;不幸的是,mathtools在决定附加“处方”的幻影的尺寸时,并不排除数学重音的考虑。

\documentclass{article}
\usepackage{mathtools,bm,xpatch}

\makeatletter
\def\remove@math@accents{%
  \let\hat\@firstofone
  % add the accents you need to cope with
}
\MHInternalSyntaxOn
\xpatchcmd{\MT_prescript_inner:}{{#3}}{{\remove@math@accents#3}}{}{}
\MHInternalSyntaxOff
\makeatother

\begin{document}

\[
\bm{f}(
  \prescript{S}{E}{\hat{\bm{q}}},
  \prescript{E}{}{\hat{\bm{d}}},
  \prescript{S}{}{\hat{\bm{s}}}
)
\]

\end{document}

在此处输入图片描述

答案2

按照评论中的建议使用空组解决了这个问题,所以最终的代码是:

\[ \boldsymbol{f}\left(\prescript{S}{E}{\hat{\boldsymbol{q}}},\prescript{E}{}{}\hat{\boldsymbol{d}}, \prescript{S}{}{\hat{\boldsymbol{s}}}\right) \]

感谢大家。

相关内容