我喜欢《New Computer Modern》书本重量版本的厚度。但是,《New Computer Modern》似乎需要 unicode-math,这会以我不喜欢的方式更改一些数学排版。例如,a_1, \dots, a_m
如下所示:
(拉丁现代)
生成使用:
\documentclass{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\begin{document}
\[a_1, \dots, a_m\]
\end{document}
(新计算机现代,书本重量)
生成使用:
\documentclass{article}
\usepackage[default]{fontsetup}
\begin{document}
\[a_1, \dots, a_m\]
\end{document}
除了该fontsetup
行之外,我还尝试使用:
\usepackage{newcomputermodern}
还有:
\usepackage{fontspec}
\setmainfont[
Extension = .otf,
Ligatures = TeX,
BoldFont = NewCM10-Bold,
ItalicFont = NewCM10-BookItalic,
]{NewCM10-Book}
\usepackage{unicode-math}
\setmathfont{NewCMMath-Book}
但输出(至少对我来说)与fontspec
版本没有区别。
在 New Computer Modern 版本中,点看起来很拥挤,而且下标看起来也太低了(尤其是m
,它几乎完全在 之下a
)。我相信发生这种情况是因为为了加载数学字体,New Computer Modern 引入了 unicode-math。
有没有办法使用新计算机现代字体的粗细,但保留所有的数学排版,就像拉丁现代字体一样,比如不加载 unicode-math 或告诉 unicode-math 返回“经典”数学排版?
(我正在使用 TeX Live 2024 和 LuaLaTeX,以防万一。)
8
最佳答案
2
这其实与字体选择无关unicode-math
。一个是使用字体中的省略号,另一个是使用三个间隔的点。您可以轻松恢复原始版本。
\documentclass{article}
\AtBeginDocument{%
\NewCommandCopy\Xmathellipsis\mathellipsis
\RenewDocumentCommand\mathellipsis{}{\mathinner {\ldotp \ldotp \ldotp }}%
}
\usepackage[default]{fontsetup}
\begin{document}
\[a_1, \dots, a_m, \mathellipsis, a_2, \Xmathellipsis, a_3 \]
\end{document}
|
我们可以在 OpTeX 中做什么:
\loadmath{NewCMMath-Book}
\fontfam[newcm]
\book\rm
\Umathsubshiftdown\textstyle=1.5pt
\Umathsubshiftdown\displaystyle=1.7pt
Test: $a_1\dots a_m$.
$$
a_1\dots a_m
$$
\bye
加载了用于 Unicode 数学的 NewCMMath-Book 字体并\book
使用了文本字体的变体。
您可以看到\dots
宏未在 OpTeX 中重新定义,我们不需要对它进行任何操作。另一方面,下标位置由\Umathsubshiftdown
LuaTeX 原语纠正(OpTeX 仅与 LuaTeX 一起运行,因此我们不需要为 XeTeX 创建替代解决方案)。
|
–
–
–
\dots
是一个简单的宏,可以像在原始纯 TeX 中一样毫无问题地定义。–
–
|