newtx 包与 ctex 干扰(fontspec 选项冲突)

newtx 包与 ctex 干扰(fontspec 选项冲突)

最新的的版本newtx会干扰ctex,这里是 MWE:

\documentclass{ctexart}
\usepackage{newtxtext}

\begin{document}

Hello, 你好.

\end{document}

我已经通过 升级到最新版本newtx(1.732, Nov 6 2023) tlmgr,在使用 XeLaTeX 编译时出现以下错误:

LaTeX Error: Option clash for package fontspec.

然而,在 Overleaf 上编译时(这是我的Overleaf 项目链接),它运行得非常好。

通过试验Tex Live 2022,我发现只有最新版本newtx才有这个问题。

这是一个错误,还是我使用不正确?

看完之后这个答案(对于\RequirePackage[no-math]{fontspec})和这个答案(对于\defaultfontfeatures{}),我想出了以下解决方法,效果很好:

\RequirePackage[no-math]{fontspec}
\documentclass{ctexart}
\usepackage{newtxtext}
\defaultfontfeatures{}

\begin{document}

Hello, 你好.

\end{document}

但是前面的命令\documentclass很烦人。另外,我真的不知道为什么这样做有效。

由于我正在为其他人编写模板,我想知道这是否是一个可靠的解决方法。

答案1

不确定为什么之前没有或者现在有,但newtxtext想要fontspec使用该no-math选项加载。

也许存在原生的 CTEX 方法,但是以下解决方法似乎可以完成工作:

\PassOptionsToPackage{no-math}{fontspec}
\documentclass{ctexart}
\usepackage{newtxtext}

\begin{document}

Hello, 你好.

\end{document}

相关内容