nuaathesis
nuaathesis copied to clipboard
Mac OS 下编译无法显示中文
版本信息
MacOS 12.6 / mactex 2022.0321
问题描述
使用latexmk -xelatex master
或xelatex
均无法编译成功,提示
! Package fontspec Error: The font "Songti SC Light" cannot be found.
日志
补充说明
检索到 ctex: fontset 有关问题修复 by stone-zeng · Pull Request #462 · CTeX-org/ctex-kit 和 MacOS 平台字体识别问题 · Issue #136 · TheNetAdmin/zjuthesis ,但都没有什么帮助。
其他问题
运行根目录下 build.sh all
同样出错,提示! Package fontspec Error: The font "PingFang SC" cannot be found.
我能在 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}
我目前的情况是:
在 Windows 下运行 build.bat 能够正常使用最新的仓库内容构建 cls 文件,但是 MacOS 下无法正常构建。在 Windows 下使用构建好的 cls 文件无法编译出 pdf(现在手头没有log)。
release 版本在 Windows 下可以正常编译pdf,在 MacOS 下不能。
对 Latex 模板不熟,帮不上具体的忙,辛苦啦🙏
关于注释后的情况,我会在测试后补充。
问题基本确定了,具体分析参见 https://github.com/CTeX-org/ctex-kit/issues/609 或 https://github.com/nuaatug/nuaathesis/issues/83
解决方法是在论文 \begin{document}
前面,加一句 \defaultfontfeatures{}
.
我在考虑把这一句加到模板里。
加入 \defaultfontfeatures{}
后 build.sh 可以正常编译出 cls 文件,但是编译文档报错:
! Class ctexbook Error: CTeX fontset `' could not be found.
(ctexbook) Fontset `mac' will be used instead.
新的 fontset 报错应该是 nuaathesis 模板本身的问题,我在更新宏包后也复现了,还需要点时间调查。
临时的解决方法是在 nuaathesis 文档类选项中,指定一个 fontset,比如
\documentclass[
lang=cn,
degree=master,
fontset=macnew, % <-- 添加这行
openany,oneside
]{nuaathesis}
问题基本确定了,具体分析参见 CTeX-org/ctex-kit#609 或 #83
解决方法是在论文
\begin{document}
前面,加一句\defaultfontfeatures{}
.我在考虑把这一句加到模板里。
加了这句话之后,中文字体问题解决了,但是生成的pdf还有一个问题,就是目录、图表索引都引用都没有生成。不知道什么原因。
加了这句话之后,中文字体问题解决了,但是生成的pdf还有一个问题,就是目录、图表索引都引用都没有生成。不知道什么原因。
Hi @sunstudio:
- 生成目录需要多次编译,请多次执行 XeLaTeX 或使用 latexmk 来编译;
- 建议开一个新的 discussion/issue 来讨论与主题没有直接关联的话题。