数学字体像素化为 concmath 字体

数学字体像素化为 concmath 字体

我正在使用该concmath包(最终我只需要在数学环境中使用具体的字体,但现在让我们在全球范围内进行操作)。

我的问题是:在数学环境中,我得到的是像素化的字体。看这张图片 在此处输入图片描述

这是我为结果所做的小示例:

\documentclass[english]{article}

\usepackage[latin9]{inputenc}
\usepackage{concmath}
\usepackage[T1]{fontenc}

\makeatletter

\makeatother

\usepackage{babel}
\begin{document}
Hey!$\lambda\beta\gamma\langle\psi\rangle$
\end{document}

知道如何解决这个问题吗?提前谢谢!

答案1

Concrete 的数学字体采用老式的 METAFONT 格式。如今,这些字体编译为 Type 3 位图字体,看起来像素化。即使您使用最新的 Concrete PDFTeX 软件包,也是如此ccfonts。(该concmath软件包自上个世纪以来一直没有更新。)

一个解决方案是使用 Donald Knuth 自己使用的字体。Concrete 字体最初是为他的教科书设计的具体数学:计算机科学的基础。他最初在那本书中使用的数学字体是 Hermann Zapf 的 Euler。(当时,他正在为激光打印机使用光栅化字体,但后来人们将它们变成了在现代屏幕上看起来更好的轮廓字体。)

\documentclass[english]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % The default since 2018
\usepackage[exscale]{ccfonts}
\usepackage{eulervm,eufrak,eucal}
\usepackage{babel}

\begin{document}
Hey!$\lambda\beta\gamma\langle\psi\rangle$
\end{document}

混凝土+欧拉

如果您可以将源文件转换为 UTF-8 并在 LuaLaTeX 或 XeLaTeX 中编译,则可以在数学模式下使用 OpenType CMU Concrete 中的希腊字母。在这里,我使用 GFS Neohellenic Math(另一种粗衬线字体)来表示所有其他数学符号。

\documentclass[english]{article}
\usepackage{unicode-math}
\usepackage{babel}

\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{CMU Concrete}[Scale=1.0]
\setmathfont{GFS Neohellenic Math}
\setmathfont{CMU Concrete Italic}[range=it]
\setmathfont{CMU Concrete}[range=up]

\begin{document}
Hey!$\lambda\beta\gamma\langle\psi\rangle$
\end{document}

CMU Concrete + GFS 新希腊数学样本

还有 OpenType 版本的 Neo Euler 可用,有人把我在这里写的关于如何复制布局的示例变成了具体数学进入\usepackage[neoeuler]{fontsetup}。你必须有这个免费字体使用它。

最后,Microtype 似乎仍在销售 Concrete 数学字体的商业 Type-1 版本。我没有用过,但它据说是一种不会像素化且可以在 PDFTeX 中使用的轮廓字体。(但是,不允许使用 LuaLaTeX 或 XeLaTeX 的出版商通常也不会允许您上传商业字体。)

相关内容