菜鸟又有需要了。
有人告诉我要使用\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
编译器而不是 Unicodexelatex
或lualatex
。
在这种情况下,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}