DeclareMathOperator e widearcarrow com kpfonts

DeclareMathOperator e widearcarrow com kpfonts

O título já diz tudo, estou usando o pacote kpfonts e gostaria de declarar um operador matemático que tenha um widearc no topo. No entanto, quando compilo, não recebo nenhum 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}

insira a descrição da imagem aqui

Observe que o comando widehat está funcionando.

Obrigado pela ajuda!

Responder1

Aparentemente, os sotaques matemáticos da família 3 não funcionam em \operatorname.

Você pode usar uma interface de nível 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}

insira a descrição da imagem aqui

Responder2

Substitua \newcommandem vez de \DeclareMathOperatore seu código funcionará perfeitamente.

Para as diferenças entre \newcommande \DeclareMathOperatorsugiro ver este link:novocomando vs. DeclareMathOperator

insira a descrição da imagem aqui

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

Responder3

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

Não sei por que funciona dessa maneira, mas funciona. Pode ser uma característica da definição de widearcarrownopacote.

informação relacionada