简而言之:为什么 LaTeX 的默认数学字体能够对齐v
第 3 列和第 4 列中的两个下标,而arev
第二行显示的数学字体会v
根据上标的存在和大小为三个下标中的每一个产生单独的垂直位置?
好的,我的真正的问题可能是:使用 arev 数学字体时,如何实现下标的“一致”垂直定位?我知道手动\phantom
黑客技术,但我更喜欢自动(如仅在前言中)解决方案,因为我的文档相当大。
\documentclass{article}
\usepackage{arev} % comment out for default font
\usepackage{amsmath}
\begin{document}
$A$, $A_v$, $A^\text{p}_{v}$, $A^\text{s}_{v}$
\end{document}
长话短说:为了遵守我所在机构的样式指南,我使用软件包提供的无衬线字体helvet
作为我的主要文本字体。我能找到的最接近的“匹配”数学字体是arev
。诸如“你为什么不用它来做数学题?”之类的开箱即用的答案$pretty-but-unknown-font-package
实际上也可能对我有帮助。
答案1
您可能不知道这个sansmathfonts
包裹。
\documentclass{article}
\usepackage{amsmath}
\usepackage{sansmathfonts}
\usepackage[scaled=0.95]{helvet}
\renewcommand{\rmdefault}{\sfdefault}
\begin{document}
Sans serif text
$A$, $A_{v}$, $A^{}_{v}$, $A^{\text{p}}_{v}$, $A^{\text{s}}_{v}$
B $B$; C $C$; F $F$
\end{document}
虽然不是完美的匹配,但如果不涉及太多数学知识,它还是可以的。
答案2
字体包似乎arev
存储了一些不正确的数学模式字体指标。如果您坚持使用该arev
包,则对于内联样式的数学材料,您需要写入$A^{\smash{\text{p}}}_{v}$
而不是$A^{\text{p}}_{v}$
。
有趣的是,\smash
如果使用显示式数学,那么该指令就变得没有必要了。
在一些非详尽的测试中,我发现当 TeX 处于内联数学模式时,所有五个包含降部字符 -- g
、j
、p
、q
和y
-- 在放置在上标位置时都会出现此问题。到目前为止,我还没有发现其他会产生此特定问题的字符。这确实加强了我的信念,即该软件包的一些数学模式字体指标arev
是混乱的。
\documentclass{article}
\usepackage{arev}
\usepackage{amsmath}
\begin{document}
\verb+inline-style math:+
$A$ $A_v$ $A_v^{}$ $A^{\text{p}}_{v}$ $A^{\smash{\text{p}}}_{v}$ $A^{\text{s}}_v$
\bigskip
\everymath{\displaystyle}
\verb+display-style math:+
$A$ $A_v$ $A_v^{}$ $A^{\text{p}}_{v}$ $A^{\smash{\text{p}}}_{v}$ $A^{\text{s}}_v$
\end{document}
答案3
您可以更改负责的字体尺寸——它们在教科书的第 18 章和附录 G 中进行了描述。我在示例中使用了夸大的值,您可以自行找到最适合自己的值。Mico 显示的显示数学和内联数学之间的差异是由于在显示数学中上标通常要高一些,因此下标推得较少。\fontdimen13
和\fontdimen15
在这里是相关的。
\documentclass{article}
\usepackage{arev} % comment out for default font
\usepackage{amsmath}
\begin{document}
$A$, $A_v$, $A^\text{p}_{v}$, $A^\text{s}_{v}$
\medskip
\fontdimen16\textfont2=6pt
\fontdimen17\textfont2=6pt
\fontdimen14\textfont2=6pt %superscript up
$A$, $A_v$, $A^\text{p}_{v}$, $A^\text{s}_{v}$
\end{document}