问题

问题

问题

你好,我最近决定切换到 IBM Plex,虽然计算机现代非常好,但它似乎与 Plex 不太兼容,而且我不确定在数学字体方面我能做些什么。

编辑:我正在使用 pdfLaTeX

我正在寻找比我见识更广、了解更多的人提供的更好的替代方案,和/或找到可用资源的某种方式。(我的大多数谷歌搜索都返回了比较结果\mathrm等。)

演示

Plex 衬线字体

在此处输入图片描述

Plex 字体

在此处输入图片描述

答案1

感谢@Ross 向我展示mathastext我认为我找到了一个可行的解决方案。

解决方案

数学符号

\usepackage{fourier}

在我看来,傅立叶符号在风格上更匹配,但是我不想保留与字体相关的更改,所以我先添加它(以便其他字体包覆盖它)。

数学字体

\usepackage{plex-serif}

我想使用衬线字体来表示数学,因此我在后面添加了这个字体,fourier以便覆盖它,并在前面添加了这个字体,mathastext以便它实际上用于数学

将字体应用于数学

\usepackage[basic,italic,symbolgreek]{mathastext}

mathastext看起来不错,但对我来说,在没有任何选项的情况下使用时会出现一些问题。

  1. 矩阵的括号,当需要多行括号时,mathastext只会抓取[]字体使用的字符,而不会做任何事情来使它们变成多行。通过添加选项解决了这个basic问题——尽管这也产生了不替换其他一些符号的效果(在我看来这是值得的代价)
  2. 默认情况下,数学符号为非斜体。这是一个简单的修复方法:italic
  3. 未使用字体中的希腊字母。同样,解决方法很简单:symbolgreek
  4. 字距错误/字母重叠(或挤在一起)

为了解决最后一个问题,我使用了另一个命令,可在本小节的末尾看到。

文本字体

\usepackage[sfdefault]{plex-sans}

将衬线变体设置为在数学中使用后,mathastext我将字体更改为要在文档其余部分使用的无衬线字体。

间距问题

默认情况下,间距与斜体/倾斜文本相同。这对数学来说是一个问题,因为它会导致重叠/拥挤。为了看到这一点,我0.1ex\hspace{-0.1ex}它们后面画了垂直宽度规则,产生了 演示 对于大多数字母,在两侧增加 0.5mu 的空间即可解决问题,但带有“尾巴”的字母则需要额外注意。经过一些调整后,我设法得到了以下结果: 已修复(某种程度上)

虽然我不认为这是“修复”的,但还是比较好的。这是使用的代码():

\makeatletter
\@for\@tempa:=a,b,c,d,e,h,i,k,l,m,n,o,q,r,s,t,u,v,w,x\do{%
\MTsetmathskips{\@tempa}{0.5mu}{0.5mu}}%
\makeatother

\MTsetmathskips{f}{2.5mu}{0.5mu}
\MTsetmathskips{g}{1.5mu}{0.5mu}
\MTsetmathskips{j}{2.5mu}{0.5mu}
\MTsetmathskips{p}{1.5mu}{0mu}
\MTsetmathskips{y}{1.5mu}{0.5mu}
\MTsetmathskips{z}{1mu}{0.5mu}

然后对于衬线版本:

 \makeatletter
 \@for\@tempa:=a,b,c,d,e,h,i,k,l,m,n,o,q,r,t,u,v,w\do{%
 \MTsetmathskips{\@tempa}{0.5mu}{0.5mu}}%
 \makeatother

 \MTsetmathskips{f}{4.5mu}{0.5mu}
 \MTsetmathskips{g}{2.5mu}{0.5mu}
 \MTsetmathskips{j}{4mu}{0.5mu}
 \MTsetmathskips{p}{2.5mu}{0mu}
 \MTsetmathskips{s}{1mu}{0.5mu}
 \MTsetmathskips{x}{1.5mu}{0.5mu}
 \MTsetmathskips{y}{3.5mu}{0.5mu}
 \MTsetmathskips{z}{1.5mu}{0.5mu}

前

后

虽然很小,但是一种进步

全部一起

\usepackage{fourier}
\usepackage{plex-serif}
\usepackage[basic,italic,symbolgreek]{mathastext}
\usepackage[sfdefault]{plex-sans}

\makeatletter
\@for\@tempa:=a,b,c,d,e,h,i,k,l,m,n,o,q,r,s,t,u,v,w,x\do{%
\MTsetmathskips{\@tempa}{0.5mu}{0.5mu}}%
\makeatother

\MTsetmathskips{f}{2.5mu}{0.5mu}
\MTsetmathskips{g}{1.5mu}{0.5mu}
\MTsetmathskips{j}{2.5mu}{0.5mu}
\MTsetmathskips{p}{1.5mu}{0mu}
\MTsetmathskips{y}{1.5mu}{0.5mu}
\MTsetmathskips{z}{1mu}{0.5mu}

结果

衬线

\usepackage[sfdefault]{plex-sans}
\usepackage[basic,italic,symbolgreek]{mathastext}

衬线

桑斯

\usepackage{plex-serif}
\usepackage[basic,italic,symbolgreek]{mathastext}

桑斯

混合

\usepackage{plex-serif}
\usepackage[basic,italic,symbolgreek]{mathastext}
\usepackage[sfdefault]{plex-sans}

混合

相关内容