\usepackage{newtxtext, newtxmath} 不起作用

\usepackage{newtxtext, newtxmath} 不起作用

菜鸟又有需要了。

有人告诉我要使用\usepackage{newtxtext, newtxmath}而不是\setmainfont{Times New Roman}(我认为我仍然会使用 Times New Roman 字体。另外,使用\usepackage[T1]{fontenc}而不是\usepackage{fontspec}

因此,如果我使用:

    \usepackage{fontspec}
    \setmainfont{Times New Roman}

一切安好。

但是,如果我使用:

    \usepackage[T1]{fontenc}
    \usepackage{newtxtext, newtxmath}

与上述情况不同,它会产生 6 个错误(1 个红色,5 个橙色)。我将在下面列出它们:

1) (RED) LaTeX Error: Command `\Bbbk' already defined.

2) Package fontspec Warning: OpenType feature 'VerticalPosition=ScientificInferior' (sinf) not available for font 'TeXGyreTermesX-Regular' with script 'CustomDefault' and language 'Default'.

3) Package fontspec Warning: OpenType feature 'VerticalPosition=ScientificInferior' (sinf) not available for font 'TeXGyreTermesX-Italic' with script 'CustomDefault' and language 'Default'.

4) Package fontspec Warning: OpenType feature 'VerticalPosition=ScientificInferior' (sinf) not available for font 'TeXGyreTermesX-Slanted' with script 'CustomDefault' and language 'Default'.

5) Package fontspec Warning: OpenType feature 'VerticalPosition=ScientificInferior' (sinf) not available for font 'TeXGyreTermesX-BoldItalic' with script 'CustomDefault' and language 'Default'.

6) Package fontspec Warning: OpenType feature 'VerticalPosition=ScientificInferior' (sinf) not available for font 'TeXGyreTermesX-BoldSlanted' with script 'CustomDefault' and language 'Default'.

这两者之间有什么区别,我应该使用哪一个以及如何摆脱错误?

答案1

您没有提供可用的代码,但是

\documentclass{article}

\usepackage{fontspec}
\setmainfont{Times New Roman}

\begin{document}

abc
\end{document}

将在 Overleaf 上使用 xelatex(或 lualatex)并使用 Microsoft“Times New Roman”字体。

使用 lualatex 比使用 xelatex 更容易看到这一点,因为日志显示了使用 lualatex 的字体(就像使用 pdflatex 一样)

/usr/share/fonts/truetype/msttcorefonts/times.ttf

如果你将其更改为

\documentclass{article}
\usepackage{newtxtext,newtxmath}

\begin{document}

abc
\end{document}

然后使用 xelatex 或 lualatex 你将使用 Times Roman 的“TeX Gyre Termes”免费克隆,如 lualatex 日志中所示

/usr/local/texlive/2023/texmf-dist/fonts/opentype/public/newtx/TeXGyreTermesX-Regular.otf

这仍然是一种 OpenType(Unicode)字体。

如果您将其更改为使用西欧拉丁文字的传统 8 位 T1 编码。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{newtxtext,newtxmath}

\begin{document}

abc
\end{document}

那么您应该使用 8 位pdflatex编译器而不是 Unicodexelatexlualatex

在这种情况下,pdflatex 日志将显示字体为

/usr/local/texlive/2023/texmf-dist/fonts/type1/public/newtx/ztmr.pfb

这是type1专为 pdflatex 包构建的(8 位 PostScript)字体newtx,最初源自上面使用的 TeX Gyre Termes 字体。

当然,只有当您的文字属于 T1 所涵盖的子集时,您才可以这样做(例如,希腊文或西里尔文属于 Unicode 字体,但不属于 T1 编码子集)。

答案2

使用 XeLaTeX,只需使用:

\usepackage[T1]{fontenc}
\usepackage{newtx}

相关内容