DeclareMathOperator y Widearcarrow con kpfonts

DeclareMathOperator y Widearcarrow con kpfonts

El título lo dice todo, estoy usando el paquete kpfonts y me gustaría declarar un operador matemático que tenga un arco ancho en la parte superior. Sin embargo, cuando compilo no obtengo ningún arco.

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{
  kpfonts
}

\DeclareMathOperator{\dSing}{\widearcarrow{Sing}}
\DeclareMathOperator{\sSing}{\widehat{Sing}}
\begin{document}    
\[\dSing(X) \quad \widearcarrow{Sing}\quad\sSing(A)\]
\end{document}

ingrese la descripción de la imagen aquí

Observe que el comando Widehat está funcionando.

¡Gracias por tu ayuda!

Respuesta1

Aparentemente, los acentos matemáticos de la familia 3 no funcionan en \operatorname.

Puede utilizar una interfaz de nivel inferior:

\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}

ingrese la descripción de la imagen aquí

Respuesta2

Reemplace \newcommanden lugar de \DeclareMathOperatory su código funcionará perfectamente.

Para las diferencias entre \newcommandy \DeclareMathOperatorsugiero ver este enlace:nuevocomando frente a DeclareMathOperator

ingrese la descripción de la imagen aquí

\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}

Respuesta3

\renewcommand{\d}[1]{\widearcarrow{\text{#1}}}
\def\dSing{\d{Sing}}

No sé por qué funciona de esta manera, pero así es. Puede ser una característica de la definición de widearcarrowen elpaquete.

información relacionada