\widehat 和 \widetilde 对于 kpfont-otf 中的某些字母来说太小

\widehat 和 \widetilde 对于 kpfont-otf 中的某些字母来说太小

考虑以下示例,我认为 似乎\widehat对于单个字母来说太小了。使用 时\widehat,人们通常会期望即使是对于单个字母也会得到更宽的帽子(因为对于窄帽子,已经有 了\hat)。虽然可以通过添加水平空间来触发真正的宽帽子,但对于字母C,如果我\,在字母周围添加 ,\widehat就会有点太大。

\documentclass{article}

\usepackage{kpfonts-otf}

\begin{document}
\[
    \hat{c} \hat{C} \hat{\mathcal{C}}
\]
\[
    \widehat{c} \widehat{C} \widehat{\mathcal{C}}
\]
\[
    \widehat{c\,} \widehat{C\,} \widehat{\mathcal{C}\,}
\]
\[
    \widehat{\,c\,} \widehat{\,C\,} \widehat{\,\mathcal{C}\,}
\]
\end{document}

在此处输入图片描述

同样的问题也发生在\widetilde

\documentclass{article}

\usepackage{kpfonts-otf}

\begin{document}
\[
    \widehat{C} \widehat{\mathcal{C}} \widehat{U}
\]
\[
    \widetilde{C} \widetilde{\mathcal{C}} \widetilde{U}
\]
\end{document}

在此处输入图片描述

答案1

unicode-math-table.tex可以找到(为方便阅读删除了几个空格)

\UnicodeMathSymbol{"00302}{\hat        }{\mathaccent}{circumflex accent}%
\UnicodeMathSymbol{"00302}{\widehat    }{\mathaccentwide}{circumflex accent}%
\UnicodeMathSymbol{"00303}{\tilde      }{\mathaccent}{tilde}%
\UnicodeMathSymbol{"00303}{\widetilde  }{\mathaccentwide}{tilde}%
\UnicodeMathSymbol{"00304}{\bar        }{\mathaccent}{macron}%
\UnicodeMathSymbol{"00305}{\overbar    }{\mathaccent}{overbar embellishment}%
\UnicodeMathSymbol{"00305}{\wideoverbar}{\mathaccentwide}{stretchy overbar embellishment}%

这意味着\hat\widehat指向同一个位置,不同之处在于它将\widehat“测量”重音符号并选择更适合覆盖它的变体字形。

如果加载unicode-math而不是kpfonts-otf,您会看到在所有情况下都会选择更宽的变体,但\widehat{I}\widetilde{I}会选择与\hat或相同的变体\tilde

这只是字体大小和字体参数的问题。可能第一个较宽的 U+00302 变体在 KpFonts 中太宽了。但这也是不滥用 ; 的一个很好\widehat\widetilde理由全部您展示的案例,\hat而且\tilde更好。

相关内容