newtxmath + Libertine + fontspec

newtxmath + Libertine + fontspec

对于我使用 XeLaTeX 编写的文档,我必须使用 Times New Roman 作为主字体。仅对于数学环境,我想使用带有 Libertine 字体的 newtxmath。对于我的 TexShop 2016,我使用 texhash 和 updmap-sys 安装了 Libertine(如指南中所述)。所以现在 texfm-local 中有许多 Libertine 的 *.tfm 文件。我还将 *.otf Libertine 字体直接安装到系统中。

对于这个简单的例子

\documentclass[a4paper,14pt]{extreport}
\usepackage[no-math]{fontspec}
\usepackage[libertine]{newtxmath}
\setmainfont{Times New Roman}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\begin{document}
\((5!)^5\)
\end{document}

在 pdffonts 中我看到

name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
HHHARJ+txsys                         Type 1C           Builtin          yes yes no       4  0
GMSUHV+LMRoman12-Regular             Type 1C           WinAnsi          yes yes no       5  0
CZQOLM+LMRoman10-Regular             Type 1C           WinAnsi          yes yes no       6  0
SRWENI+TimesNewRomanPSMT             CID TrueType      Identity-H       yes yes yes      8  0

日志中没有警告。

您能否澄清以下问题

  1. 我期望 pdffont 的输出中只有 Libertine 字体,对吗?毕竟,文档中只有数学环境。
  2. 为什么我在输出中看到 LMRoman 和 Times?难道不应该有 Libertine 吗?
  3. 首页 > 文件 > txsys 是什么?

我该怎么做才能解决这个问题?据我了解,通过适当的设置,我应该只会在 pdffont 的输出中看到 Libertine 字体...

任何帮助都值得感激:)

答案1

注意: 在 TL 2017 发布之前,我不建议使用 XeTeX 进行任何类型的数学排版。有几个问题

unicode-math使用Libertine 的官方数学版本(称为 Libertinus Math)要容易得多。

\documentclass[a4paper,14pt]{extreport}
\usepackage{unicode-math}
\setmainfont{Times New Roman}
\setmathfont{Libertinus Math}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\begin{document}
\((5!)^5\)
\end{document}

在此处输入图片描述

更好的方法是用 TeX Gyre Termes(一个完全免费的 Times 克隆版)来替代所有内容。

\documentclass[a4paper,14pt]{extreport}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Termes}
\setmathfont{TeX Gyre Termes Math}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\begin{document}
\((5!)^5\)
\end{document}

在此处输入图片描述

相关内容