Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mac OS 下编译无法显示中文 #85

Closed
Xm798 opened this issue Jul 27, 2022 · 7 comments
Closed

Mac OS 下编译无法显示中文 #85

Xm798 opened this issue Jul 27, 2022 · 7 comments

Comments

@Xm798
Copy link

Xm798 commented Jul 27, 2022

版本信息

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

@yzwduck
Copy link
Contributor

yzwduck commented Jul 27, 2022

我能在 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}

@Xm798
Copy link
Author

Xm798 commented Jul 27, 2022

我目前的情况是:

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

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

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

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

@yzwduck
Copy link
Contributor

yzwduck commented Jul 28, 2022

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

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

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

@Xm798
Copy link
Author

Xm798 commented Jul 28, 2022

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

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

@yzwduck
Copy link
Contributor

yzwduck commented Jul 29, 2022

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

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

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

@sunstudio
Copy link

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

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

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

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

@yzwduck
Copy link
Contributor

yzwduck commented Sep 16, 2022

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

Hi @sunstudio:

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

@Xm798 Xm798 closed this as completed Sep 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants