在编写某些功能的限制时,有时限制区域(下标)会位于垂直线的底部以下(尤其是对于kpfont-otf
我使用的字体包)。
有什么方法可以确保下标不低于垂直线的底部,或者至少将其稍微抬高一点?
下面是 MWE。
\documentclass{article}
\usepackage{kpfonts-otf}
% https://tex.stackexchange.com/questions/22252/
\newcommand\restr[2]{{% we make the whole thing an ordinary symbol
\left.\kern-\nulldelimiterspace % automatically resize the bar with \right
#1 % the function
\littletaller % pretend it's a little taller at normal size
\right|_{#2} % this is the delimiter
}}
\newcommand{\littletaller}{\mathchoice{\vphantom{\big|}}{}{}{}}
\begin{document}
\[
\restr{f}{U}=\frac{\restr{g}{U}}{\restr{h}{U}}
\]
\[
\restr{\frac{\partial}{\partial X_i}}{P}
\]
\end{document}
答案1
如果U
是整个\left...\right
组的下标,它将被降低到垂直线以下,正如 John Kormylo 所解释的那样。但是您可以附加另一个与您的公式深度相同的隐形数学原子,并为其创建U
下标,那么它将被降低得更少。
\left...\right
另一个数学原子必须是 Close 类型,因为组和 Close 原子之间没有空格:
\newcommand\restr[2]{{% we make the whole thing an ordinary symbol
\left.\kern-\nulldelimiterspace % automatically resize the bar with \right
#1 % the function
\littletaller % pretend it's a little taller at normal size
\right|\mathclose{\vphantom{#1}}_{#2} % this is the delimiter
}}
分隔kpfonts-otf
符相对于它们所包围的公式来说似乎太小了。您可以在\delimiterfactor=1100
后面使用\begin{document}
:强制使用更大的分隔符
但这感觉像是一次黑客攻击。
更深入的分析
在数学公式中\left.g\right|
(没有使用\delimiterfactor
hack),Computer Modern 中的垂直线kpfonts-otf
比 Computer Modern 中的垂直线短 1.25pt。此外,Computer Modern 中的垂直线已经相对于数学轴居中,而该kpfonts-otf
垂直线必须升高 1.925pt,从而放大了其不够低的效果。
kpfonts-otf
\TU/KpMath-Regular.otf(1)/m/n/10