Skip to content

HowToCompile

Aetf edited this page Jun 7, 2016 · 11 revisions

准备工作

LaTex 发行版

确保你已经安装了一个靠谱的 LaTeX 发行版, 比如 TeXLive. CTeX 当然也行...就是不太好啦. 我们主要是用到里面的 xelatex 以及 bibtex 程序.

字体

字体方面,本模板默认使用免费开源字体,但可通过 propfont 选项控制本模板是否使用版权字体

具体的启用方法为解除文档中对 propfont 一行的注释来启用版权字体. Windows 用户一般会选择使用版权字体,因为他们的电脑里通常已经安装了 Times New Roman 和 SimSun 字体.

注意: 解除注释也就是把这行开头的百分号删掉. 因为无视本行说明而导致的编译错误, 作者将不予解释.

取得源码

你可以从此处直接下载最新的源码包, 并将其解压缩到一个你认为方便的位置.

假设你将源码解压缩到 xjtuthesis 目录, 请注意在后续描述中将目录名替换成你实际解压到的路径.

文件夹的基本结构

xjtuthesis/
├── base/
│   ├── gbt7714-2005-xjtu.bst
│   └── xjtuthesis.cls
├── doc/
│   ├── examples/
│   └── README.old
├── solutions/
│   ├── Makefile
│   ├── bibliography.bib
│   ├── bachelor.tex
│   ├── master.tex
│   ├── doctor.tex
│   ├── figures/
│   └── pages/
├── CHANGELOG
├── LICENSE
├── README.md
├── tools/
└── unittests/

这些文件中, 与你, 论文作者, 有关的内容如下

  • base 文件夹内是实际的模板文件以及文献引用样式, 如果你不使用后文提及的方式进行编译的话, 就需要将这两个文件复制到你的 texmf 路径下, 或将其放到与你要编译的 .tex 文件相同的目录.
  • doc 文件夹内包含示例排版以及旧的 README 文件
    • 你可以在 doc/examples 文件夹内运行 make 命令来获得示例排版的 pdf 结果. 关于编译的具体描述请参考后续内容.
  • solutions 文件夹提供了一个可以供你立即开始写作的起点. 你可以选择合适的文件, 根据注释进行修改并方便地进行编译.

开始写作

我们假设你即将本科毕业, 因此选择 bachelor.tex 这一文件作为论文开始的起点. 硕士及博士的论文应相应选择 master.texdoctor.tex 作为开始.

文档的主要框架

bachelor.tex 中定义了文档的大体结构,包括首页, 目录, 其它章节的顺序, 附录, 引用等.

在这个简单的例子中, 除了根据你的实际情况调整选项之外, 这个文件可以保持不变.

各章节的具体内容

各章节作为一个独立的 .tex 文件存放于 pages 子文件夹中. 与你之前可能见过的将所有文字写在一个文件中不同, 这种组织方式可以保持各章节的独立, 使得每个文件不至于过长, 便于在不同位置之间跳转.

pages/meta.tex

这是一个非常重要的文件, 用于设定论文的各种元信息, 如题目, 作者, 摘要等. 请根据实际情况修改.

其它章节

其它章节在本质上并没有特殊的地方, 你可以根据需要添加新的章节文件, 并在 bachelor.tex 中适当位置用 \input{pages/something.tex} 命令引用之.

bibliography.bib

该文件描述了论文中用到的所有文献引用信息, Latex 根据此信息在论文末尾自动生成符合格式要求的文献引用. 因此在写作过程中, 务必记得更新此文件.

编译

在命令行中编译

solutions 文件夹中提供了自动化的 Makefile 脚本, 因此你可以简单的执行

make bachelor
# 或者
make master
# 或者
make doctor

命令来完成编译. 你可以直接查看 Makefile 文件来了解编译具体使用的命令, 以及其他一些可用的目标.

不出意外的话, 你应该可以在 build 文件夹中找到生成的 pdf 文件, 文件名为 bachelor.pdfmaster.pdfdoctor.pdf.

在图形界面下编译

用你的 LaTeX 编辑器打开你要编译的 .tex 文件,在编译前你需要执行以下步骤

  • 配置编译环境.
    • 设置编译时的 TEXINPUTSBSTINPUTS 环境变量, 使其指向 xjtuthesis/base 文件夹. 如 TEXINPUTS=xjtuthesis/base: BSTINPUTS=xjtuthesis/base:. 注意末尾的 : 是必须的, 否则编译时无法找到系统自带的宏包.
  • 选择使用 xelatex 模式.

在不同的编辑器上, 操作步骤会有所不同. 编辑器方面, 你的选择太丰富了, 我们很难给出一个统一的指导, 请参考编辑器的文档进行操作.

注意 1: 如果你不知道如何设置 TEXINPUTSBSTINPUTS, 一个简单的方法是将 xjtuthesis/base 文件夹内的所有文件复制到与你要编译的 .tex 文件相同的目录后再进行编译.

注意 2: 很多 LaTeX 编辑器默认使用 latex 命令编译, 而不是 xelatex. 如果你看到关于 fontspec 包的报错, 很可能你应该改用 xelatex.