本科毕业设计就是用 LaTeX 写的,那时还只是第一次接触 TeX 这么强大的排版引擎。几年过去了自己对 LaTeX 也算是轻车熟路,最近遇到比较集中的问题自然是 硕士论文模板 啦。GitHub 上作者对一些细节并没有做详细的描述,这对于 TeX 新手来说造成了不少的困扰,比如这种东西怎么这么难用云云…

Windows 下自己未做尝试,用 CTeX 发行版编译的可能会有问题,与系统可能有点关系就是,模板作者也是推荐用 TexLive 这种跨平台的 TeX 发行版。

首先自然是下载作者维护的 上海交通大学硕士论文模板,建议使用 git clone 的方式下载。当然并不是所有人都喜欢终端这种简洁优雅的交互方式,不使用终端克隆的注意看好喽,根据自己的 TexLive 版本选择是使用 master 分支(TexLive 2015)还是 v0.8 分支。如果自己系统之前装有 TexLive 就不必再装 TexLive 2015 了,有些同学以为必须用 TexLive 2015 才能使用这个模板,巨汗…

下载好模板后先把字体的问题解决下,中文四套字体用的是 Adobe 的,下载链接见 zh_CN-Adobe,我发现有些人误以为只要是宋体就行… 西文字体 TeX Gyre 其实是一套字体,整套字体可以从 CTAN 中下载到,实测只需要其中的 Termes 家族字体,打包下载见 这里。字体的安装双击即可,Linux 下需要刷下字体缓存。

持续集成

确定装好以上两类字体后基本就可以干活了,这里需要注意的是如果使用xelatex 反复编译可能出现参考文献引用样式不是数字序号的问题,初步推测是编译时可能缺少外部文件。解决办法是使用latexmk替代,作者的 make 脚本中也是使用了latexmk 进行编译,用以替代传统需要四次编译的复杂脚本。

这里你还可以使用latexmk-pvc 选项监听文件改动进而实现全自动编译和查看。即无需手动编译,只要你在编辑器中对文件的改动做出保存,latexmk 即对源文件进行编译并将弹出新的 PDF. 具体步骤为进入大论文根目录,使用以下命令编译。

latexmk -xelatex -gg -pvc -silent -f thesis.tex

其实这相当于在模板中给的 Makefile 脚本中加入了-pvc 参数,直译过来为持续预览,因此你可以加上 pvc 参数,make all即可,大概明晚会给模板作者提交这个极具实用性的 PR。使用latexmk 进行编译后,你可以使用之前任意喜欢的编辑器对文档进行更改而不用担心编译的问题~

以上命令使用默认的 PDF 阅读器打开编译生成的文件,如果你想指定使用其他阅读器,可以自己定义~/.latexmkrc 文件,这里以 OS X 下使用 Skim 作为配合 TeX 的 PDF 阅读器为例,Linux 下请自行更改。 如果遇到更改源文件(TeX)后 Skim 中 PDF 未出现更新的情况,则可能是你禁用了 Skim 的文件更新机制,启用即可。

P.S. 以上补充均反馈到 GitHub。

在线用 TeX 写论文

刚刚做了个 ShareLaTeX 的移植 - SJTUThesis Template - ShareLaTeX. 在网页上写论文,无需本地安装 TeX 发行版以及其他字体适配等工作。ShareLaTeX 上的文档可查看历史版本,不用担心自己电脑或者其他环境问题。缺点是由于服务器在国外,访问起来不是很快。

如果 PDF 显示有点诡异的话设置 PDF 阅读器为 native: Menu -> PDF Viewer -> native.

如何优雅地写公式

LyX - 写起公式来真是如行云流水,所见即所得和所思即所得的完美结合!

Happy TeX!