nuaathesis icon indicating copy to clipboard operation
nuaathesis copied to clipboard

Mac OS 下编译无法显示中文

Open Xm798 opened this issue 2 years ago • 5 comments

版本信息

MacOS 12.6 / mactex 2022.0321

问题描述

使用latexmk -xelatex masterxelatex均无法编译成功,提示

! Package fontspec Error: The font "Songti SC Light" cannot be found.

日志

master.log

补充说明

检索到 ctex: fontset 有关问题修复 by stone-zeng · Pull Request #462 · CTeX-org/ctex-kitMacOS 平台字体识别问题 · Issue #136 · TheNetAdmin/zjuthesis ,但都没有什么帮助。

其他问题

运行根目录下 build.sh all 同样出错,提示! Package fontspec Error: The font "PingFang SC" cannot be found.

nuaathesis.log

Xm798 avatar Jul 27 '22 12:07 Xm798

我能在 Windows/macOS 上复现这个问题,它应该是 newtxtext (Times New Roman 英文字体) 与 ctex 有冲突。我会继续调查 ctex 中使用 Times New Roman 的正确方法。

你可以在 nuaathesis.cls 里将 \RequirePackage[defaultsups]{newtxtext} 一行注释掉,这将能正常编译过,但英文字体会不符合学校要求。

(可能还需要将正文中的演示内容 content/demo 注释掉, siunitx 的示例又编译失败了。)

MWE

第二行反注释后,会复现问题:

\documentclass{ctexbook}
%\usepackage[defaultsups]{newtxtext}

\begin{document}

勾股定理 Pythagorean theorem 可以用现代语言表述如下:

{\heiti{}直角三角形 Right triangle} 斜边的平方等于两腰的平方和。

\end{document}

yzwduck avatar Jul 27 '22 15:07 yzwduck

我目前的情况是:

在 Windows 下运行 build.bat 能够正常使用最新的仓库内容构建 cls 文件,但是 MacOS 下无法正常构建。在 Windows 下使用构建好的 cls 文件无法编译出 pdf(现在手头没有log)。

release 版本在 Windows 下可以正常编译pdf,在 MacOS 下不能。

对 Latex 模板不熟,帮不上具体的忙,辛苦啦🙏

关于注释后的情况,我会在测试后补充。

Xm798 avatar Jul 27 '22 16:07 Xm798

问题基本确定了,具体分析参见 https://github.com/CTeX-org/ctex-kit/issues/609 或 https://github.com/nuaatug/nuaathesis/issues/83

解决方法是在论文 \begin{document} 前面,加一句 \defaultfontfeatures{}.

我在考虑把这一句加到模板里。

yzwduck avatar Jul 28 '22 13:07 yzwduck

加入 \defaultfontfeatures{} 后 build.sh 可以正常编译出 cls 文件,但是编译文档报错:

! Class ctexbook Error: CTeX fontset `' could not be found.
(ctexbook)              Fontset `mac' will be used instead.

Xm798 avatar Jul 28 '22 15:07 Xm798

新的 fontset 报错应该是 nuaathesis 模板本身的问题,我在更新宏包后也复现了,还需要点时间调查。

临时的解决方法是在 nuaathesis 文档类选项中,指定一个 fontset,比如

\documentclass[
  lang=cn,
  degree=master,
  fontset=macnew,  % <-- 添加这行
  openany,oneside
]{nuaathesis}

yzwduck avatar Jul 29 '22 11:07 yzwduck

问题基本确定了,具体分析参见 CTeX-org/ctex-kit#609 或 #83

解决方法是在论文 \begin{document} 前面,加一句 \defaultfontfeatures{}.

我在考虑把这一句加到模板里。

加了这句话之后,中文字体问题解决了,但是生成的pdf还有一个问题,就是目录、图表索引都引用都没有生成。不知道什么原因。

sunstudio avatar Sep 15 '22 01:09 sunstudio

加了这句话之后,中文字体问题解决了,但是生成的pdf还有一个问题,就是目录、图表索引都引用都没有生成。不知道什么原因。

Hi @sunstudio:

  1. 生成目录需要多次编译,请多次执行 XeLaTeX 或使用 latexmk 来编译;
  2. 建议开一个新的 discussion/issue 来讨论与主题没有直接关联的话题。

yzwduck avatar Sep 16 '22 14:09 yzwduck