使用 kpfonts 聲明 MathOperator 和 Widearcarrow

使用 kpfonts 聲明 MathOperator 和 Widearcarrow

標題說明了一切,我正在使用 kpfonts 包,我想聲明一個頂部有寬弧的數學運算符。但是,當我編譯時,我沒有得到任何弧線。

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

在此輸入影像描述

請注意,命令 Widehat 正在運行。

感謝您的幫忙!

答案1

顯然,家族 3 的數學口音在\operatorname.

您可以使用較低層級的介面:

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

在此輸入影像描述

答案2

替換\newcommand而不是\DeclareMathOperator,您的程式碼可以完美運行。

\newcommand對於和之間的差異\DeclareMathOperator,我建議查看此連結:newcommand 與 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}

答案3

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

不知道為什麼會這樣,但確實如此。可能是定義的一個特徵widearcarrow中的特徵包裹

相關內容