sjtug / SJTUThesis

上海交通大学 LaTeX 论文模板 | Shanghai Jiao Tong University LaTeX Thesis Template
Apache License 2.0
3.29k stars 787 forks source link

ci: refine build process #673

Closed skyzh closed 3 years ago

skyzh commented 3 years ago

fix https://github.com/sjtug/SJTUThesis/issues/671

在这个 PR 中,我们添加了 CI 对于 XeLaTeX 和 LuaLaTeX 分别构建本科生模版和研究生模版的支持。

现在 CI 仅支持通过 TeXLive 套件构建。我们扔掉了 MiKTeX 支持。

xu-cheng/texlive-action/full 这个 action 的 maintainer 每个月第一天会构建一个 TeXLive 的镜像。所以对于 SJTUThesis 项目来说,我们也只支持每个月第一天的 TeXLive 发行版。如果有包挂掉的情况 https://github.com/sjtug/SJTUThesis/pull/570#issuecomment-851164885, 我们可以在 CI 脚本中 workaround 一下。

为了能分别构建本科生模版和研究生模版,CI 脚本会对 main.tex 中的内容做匹配和替换。因此,main.tex 中必须含有一行:

\documentclass[type=bachelor]{sjtuthesis}

且选项中只能包含 type=xxxx,不然在替换后会出现问题。

skyzh commented 3 years ago

看起来现在 LuaLaTeX 的支持还不太行,我们先 disable 掉。如果需要,把 workflow 的注释去掉就行了。

AlexaraWu commented 3 years ago

现在的 master 分支还不支持 LuaLaTeX 编译,#570 我再做一点修改可以合并至 master 了。1.1.0 版还是等文档修改完成之后再发布吧。

skyzh commented 3 years ago

好的,那我们等 develop 完全合并到 master 以后,再合并这个 PR。

AlexaraWu commented 3 years ago

@skyzh #570 已合并,支持 LuaLaTeX 编译。

skyzh commented 3 years ago

看起来本科模版默认模式改成了 oneside?

AlexaraWu commented 3 years ago

看起来本科模版默认模式改成了 oneside?

是的,我测试发现 twoside 选项会抑制 oneside。需要双面的话可以手动加 twoside,预设的 oneside 不会起作用。