对于我使用 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
日志中没有警告。
您能否澄清以下问题
- 我期望 pdffont 的输出中只有 Libertine 字体,对吗?毕竟,文档中只有数学环境。
- 为什么我在输出中看到 LMRoman 和 Times?难道不应该有 Libertine 吗?
- 首页 > 文件 > 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}