\dot over \vec over {\bf E} でチルダが生成される理由は何ですか?

\dot over \vec over {\bf E} でチルダが生成される理由は何ですか?

\dotAMSmath を使用して、太字の記号の上に を置こうとすると\vec機能しますが、後続のインスタンスでは太字の記号の上にベクトルではなくチルダが置かれ、奇妙なことに部分的な wrt が太字になります。AMSmath を使用しない場合は、これは機能します。追加の括弧や順序を入れ替えたさまざまなバリエーションを試しましたが、このバグを修正するものはないようです。2 行目の問題を再現する tex スニペットを次に示します。 の前に があると、ベクトル{\vec E}\bfはなくチルダのみが生成されますが、 は\dot太字Dになりません。

何が足りないのか、何かアイデアはありますか?

\documentclass [12pt] {article}
\usepackage{amsmath,amssymb}

%\let\vec\relax
%\DeclareMathAccent{\vec}{\mathord}{letters}{"7E}
\newcommand{\pdt}[1]{\frac{\partial^{#1}}{\partial t^{#1}}}
\begin{document}

\LARGE
$
\vec E \cdot \dot{{\vec D}} =
\vec E \cdot \pdt{} (\epsilon \vec E )
$

$
\vec {\bf E} \cdot \dot {\vec {\bf D}} =
\vec {\bf E} \cdot \pdt{} (\epsilon \vec {\bf E} )
$

$
 {\bf {\vec E}} \cdot \dot{ {\bf {\vec D}}} =
 {\bf {\vec E}} \cdot \pdt{} (\epsilon  {\bf {\vec E}} )
$
\end{document}

答え1

次のようにすれば動作するはずです:

\documentclass [12pt] {article}
\usepackage{amsmath,amssymb}

%\let\vec\relax
%\DeclareMathAccent{\vec}{\mathord}{letters}{"7E}
\newcommand{\pdt}[1]{\frac{\partial^{#1}}{\partial t^{#1}}}
\begin{document}

\LARGE
$
\vec {E} \cdot \dot{{\vec {D}}} =
\vec {E} \cdot \pdt{} (\epsilon \vec {E} )
$

$
\vec {\mathbf {E}} \cdot \dot {\vec {\mathbf {D}}} =
\vec {\mathbf {E}} \cdot \pdt{} (\epsilon \vec {\mathbf {E}} )
$

$
 {\vec {\mathbf {E}}} \cdot \dot{{\vec {\mathbf {D}}}} =
 {\vec {\mathbf {E}}} \cdot \pdt{} (\epsilon  {\vec {\mathbf {E}}} )
$
\end{document}

ここに画像の説明を入力してください

\mathbfPS: 数式モードになっているので、の代わりにを使用する方が適切です\bf

答え2

\vecコメントと回答から推測できるように (私もそうしました)、問題はとの順序にあります\mathbf。 (数式モードでは使用しないでください\bf。) 両方の例を以下に示します。

\documentclass[11pt]{article}
\usepackage{amsmath}

\begin{document}
This is the wrong order and gives a tilda:
 $\mathbf{\vec{x}}$\par
This is the right order and gives an arrow:
 $\vec{\mathbf{x}}$
\end{document}

出力

関連情報