DeclareMathOperator and widearcarrow with kpfonts
Replace \newcommand
instead of \DeclareMathOperator
and your code works perfectly.
For the differences between \newcommand
and \DeclareMathOperator
I suggest to see this link: newcommand vs. DeclareMathOperator
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\newcommand{\dSing}{\widearcarrow{\mathrm{Sing}}}
\newcommand{\sSing}{\widehat{\mathrm{Sing}}}
\begin{document}
\[\dSing(X) \quad \widearcarrow{Sing}\quad\sSing(A)\]
\end{document}
Apparently, math accents from family 3 don't work in \operatorname
.
You can use a lower level interface:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\DeclareRobustCommand{\dSing}{%
\mathop{\widearcarrow{\mathrm{Sing}}}\nolimits
}
\DeclareMathOperator{\sSing}{\widehat{Sing}}
\begin{document}
\[
\dSing(X) \quad \widearcarrow{Sing} \quad \sSing(A)
\]
\end{document}
\renewcommand{\d}[1]{\widearcarrow{\text{#1}}}
\def\dSing{\d{Sing}}
Don't know why it works this way, but it does. May be a feature of the definition of widearcarrow
in the package.