![扩大行间空间以避免特定行的文本混乱](https://linux22.com/image/389539/%E6%89%A9%E5%A4%A7%E8%A1%8C%E9%97%B4%E7%A9%BA%E9%97%B4%E4%BB%A5%E9%81%BF%E5%85%8D%E7%89%B9%E5%AE%9A%E8%A1%8C%E7%9A%84%E6%96%87%E6%9C%AC%E6%B7%B7%E4%B9%B1.png)
我在文档中使用mtpro2
这些字体,我注意到,当上标出现在垂直线上而下标出现在上一行时,上标顶部和下标底部之间的垂直间距,至少在我看来,太小了。确实没有冲突,但文本变得太杂乱,除非将页面放大,否则看起来确实存在字形冲突。除此之外,行距很好。
我想知道是否有可能以某种方式通知系统在这些点设置更大的行间空间,而不必扩大所有地方的空间。
编辑:
我发现这不是字体的效果,而是我使用自己的命令的结果。检查下面的 MWE,前两行之间的行距比后两行之间的行距大,后两行使用自己的命令。字体mtpro2
几乎存在字形冲突。
我发现,通过按照命令的定义切换标记 '^' 的位置\trianglesubx
(见下文),前导就可以了。原因是什么?
\documentclass{memoir}
\usepackage{xparse,amsfonts}
\DeclareDocumentCommand\trianglesub
{ s O{N} O{o} }
{ \bigtriangleup^{\IfBooleanT{#1}{#3}}_{#2} }
\DeclareDocumentCommand\vsuper
{ m m }
{\mathbb{#1}^{#2}}
\DeclareDocumentCommand\trianglesubx
{ s O{N} O{o} }
{ \bigtriangleup\IfBooleanT{#1}{^{#3}}_{#2} }
\begin{document}
\noindent$\bigtriangleup_{N}$\\$\mathbb{R}^{N}$
\noindent$\trianglesub[N]$\\$\vsuper{R}{N}$
\noindent$\trianglesubx[N]$\\$\vsuper{R}{N}$
\end{document}
答案1
您没有提供任何示例,但是行距是由您的文档类在其定义等中单独指定的\normalsize
,\small
因此您需要修改这些设置,具体细节取决于原始定义。
作为适用于任何文档类的快速修复,您可以使用
\renewcommand\baselinestretch{1.1}
\selectfont
将基线提高 10%
例如,10pt 的标准类通过以下方式定义 normalsize
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xpt\@xiipt
% ^^^^^^
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
其中标记的参数指定\normalsize
使用 12pt 基线。