Команда vec выводит тильду вместо стрелки

Команда vec выводит тильду вместо стрелки

При компиляции это генерирует "E" с тильдой над ней. То, что я хочу, это, конечно, "E" со стрелкой над ней. Я думаю, это может быть проблема со шрифтом. Кто-нибудь знает, как получить то, что я хочу?

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage[eulergreek]{sansmath}
\tikzstyle{every picture}+=[font=\sffamily\sansmath]

\begin{document}

\begin{tikzpicture}
\node at (0,0) {This math expression should be sans serif and have a vector arrow: $ \vec{ E } $.};
\end{tikzpicture}

\end{document}

решение1

Быстрое решение (обратите внимание \letна вторую строку):

\documentclass{article}
\let\oldvec\vec
\usepackage{amsmath}
\usepackage{tikz}
\usepackage[eulergreek]{sansmath}
\tikzstyle{every picture}+=[font=\sffamily\sansmath]

\begin{document}

\begin{tikzpicture}
\node at (0,0) {This math expression should be sans serif and have a vector arrow: $ \oldvec{ E } $.};
\end{tikzpicture}

\end{document}

введите описание изображения здесь

Связанный контент