由于某些奇怪的原因,这:
\hat{\dot{\bm{\phi}}}
将点和帽子打印在 phi 字母的左侧略微偏离的位置。有什么想法可以解决这个问题吗?谢谢。使用 bm 包来显示粗体符号。
答案1
$\mkern4mu\hat{\mkern-4mu\dot{\bm{\phi}}}$
$\skew{3}{\hat}{\skew{3}{\dot}{\bm{\phi}}}$
答案2
至于为什么发生这种情况:TeX 使用\skewchar
字体的 以不同的方式处理单个字符上的重音。因此,您只会在单个字符上获得对齐良好的数学重音,并且\dot{\bm{\phi}}
已经是组合符号。
如果您想要双重重音符,则可以使用amsmath
或accents
包。但是,这两个包不能很好地与 配合使用bm
,因此 simple\hat{\dot{\bm{\phi}}}
不能与 配合使用\usepackage{accents}
。我花了很长时间才找出发生了什么,但这里有一个解决方法:
\documentclass{minimal}
\usepackage{bm,accents}
\makeatletter
\newcommand\accbm[1]{\use@mathgroup{\M@OMS}{5}{\bm{#1}}}
\makeatother
\begin{document}
$\hat{\dot{\accbm{\phi}}}$
\end{document}
这样你就得到了。因此,每当你想在\bm
ed 字符上添加重音符号时,你只需要使用\accbm
。我应该补充几点警告:1. 它适用于\M@OMS
,但我不知道这是否是正确的方法。2. 在这个例子中,它适用于5
中的字体系列\use@mathgroup
,但我不知道它是否总是适用于5
。
更新:Philippe Goutet 对我的问题的精彩回答 如何识别新数学字体的编码和系列?提供了自动确定字体系列的解决方案。
答案3
如果重音符号和基数一样粗体,则更容易正确定位重音符号。此外,如果\bm
对其参数添加一组额外的 ,{}
它会停止尝试分解数学构造,而是将整个参数设置为单个表达式(\boldmath
本质上使用 ),这要简单得多(但速度较慢)。请注意额外的一组括号,以及第 9 行中更好的重音定位。
\documentclass{article}
\usepackage{amsmath}
\usepackage{bm}
\begin{document}
1 $\mathcal{A} \bm{\mathcal{A}}$
2 $\hat{\mathcal{A}} \bm{\hat{\mathcal{A}}}$
3 $\mathcal{\hat{A}} \bm{\mathcal{\hat{A}}}$
4 $\hat{\hat{\mathcal{A}}} \bm{\hat{\hat{\mathcal{A}}}}$
5 $\mathcal{\hat{\hat{A}}} \bm{\mathcal{\hat{\hat{A}}}}$
6 $\phi \bm{\phi}$
7 $\hat{\phi} \bm{\hat{\phi}}$
8 $\hat{\hat{\phi}} \bm{\hat{\hat{\phi}}}$
9 $\hat{\hat{\phi}} \bm{{\hat{\hat{\phi}}}}$
\end{document}