我在纯 TeX 中使用 newtx 字体。但是,我更喜欢 cmex 的大部分内容而不是 ntxexx。有一个例外(到目前为止我发现的),即 \widetilde,它在 ntxexx 中很漂亮。我没有其他系列可以让我定义这两个字体系列;我只能定义 cmex。我怎样才能在 cmex 中用一个字符替换 \widetilde 或定义使用它的宏?
下面展示了如何查看 ntxexx 提供的内容:
\font\tenrm=txr
\font\tenex=ntxexx
\textfont3=\tenex
\tenrm I see $\widetilde {f(x)}$.
\bye
答案1
基于来回切换数学扩展字体的想法:
\font\tenrm=txr
% don't perpetuate the error
\font\tenntex=ntxexx \font\sevenntex=ntxexx at 7pt \font\fiventex=ntxexx at 5pt
\font\tencmex=cmex10 \font\sevencmex=cmex7 \font\fivecmex=cmex5
\def\cmex{\textfont3=\tencmex \scriptfont3=\sevencmex \scriptscriptfont3=\fivecmex}
\def\ntex{\textfont3=\tenntex \scriptfont3=\sevenntex \scriptscriptfont3=\fiventex}
\cmex
\catcode`@=11
\def\wtld#1{\mathpalette\@wtld{#1}}
\def\@wtld#1#2{%
\hbox{%
$\m@th\ntex#1\widetilde{\hbox{$\m@th\cmex#1#2$}}$%
}%
}
\tenrm I see $\widetilde {f(x)}$.
And this: $\wtld {f(x)} \wtld {\sum a_i}$
And this: $\wtld {f(x)} \sum \wtld {a_n}$
And in subscripts: $X_{\wtld{f+g}}$
\bye