通过 kpfonts 调整垂直条分隔符的大小

通过 kpfonts 调整垂直条分隔符的大小

这是函数限制:下标似乎太低

使用 kpfonts 排版以下数学公式

\documentclass{article}
\usepackage{kpfonts-otf}
\begin{document}
$\left.g\right\vert, \left.g\right\Vert$
\end{document}

产生的竖线不够低,无法覆盖 的下降部分g。相比之下,双竖线足够低。

在此处输入图片描述

单条杠是一个字符:

\TU/KpMath-Regular.otf(1)/m/n/10 

答案1

分隔\vert符在字段 (fontforge) 中具有错误参数GlyphCompositionVertical,导致扩展在这种情况下失败。其他两个\Vert\Vvert很好。

说清楚一点:在您的图片中,\right\vert未延伸,它是原始的\vert,而由加上垂直延伸\right\Vert组成。由于两者都(自动)以数学轴为中心,向下更深,向上更高。\Vert\right\Vert

谢谢您指出这个问题,我们将在下一版本中修复它kpfonts-otf

跟进:是否应该\vert延长?

该决定由 TeX 引擎做出:当且仅当g下降低于\vert(垂直居中于数学轴)时,才会触发扩展;这解释了newpxmath和之间的不同结果kpfonts-otf

以下是您得到的结果newpxmath(红线显示数学轴):

在此处输入图片描述

使用当前 (v.045) kpfonts-otf

在此处输入图片描述

如上所述,\vert没有扩展(这是一个错误),但与\Vert具有相同高度和深度的 已\vert按预期扩展。

\vert注意:及以上的总高度差距\Vert太大。我会添加中间尺寸以实现更平滑的过渡。

这些测试的来源如下:

\documentclass{article}
\usepackage{xcolor,iftex}
\iftutex
  \usepackage{kpfonts-otf}
\else
  \usepackage{newpxmath}
\fi
\newlength{\height}
\newlength{\depth}
\parindent=0pt
\begin{document}
{\tiny
 \settoheight{\height}{h}        ht(h)=\the\height ;
 \settoheight{\height}{$\vert$}  ht(vert)=\the\height

 \settodepth {\depth}{g}         dp(g)=\the\depth ;
 \settodepth {\depth}{$\vert$}   dp(vert)=\the\depth
}

\makebox[0pt]{\color{red}\rule[2.5pt]{\textwidth}{0.2pt}}%
$\left.h\right\vert$, $\left.g\right\vert$,
\iftutex$\left.g\right\Vert$\fi
\end{document}

相关内容