以下内容可能已非最新版本,欢迎直接访问我的博客查看最新版本:
对于理工科的学生来说,尤其是从研究生阶段开始,LaTeX应该会是日常中必不可少的写作工具。毕竟要写什么公式的话,不用LaTeX实在是不知道要怎么办。况且要是投稍微专业一点的论文,LaTeX是必须的,没人会接收Word文件。
此篇为写给一些想快速入门LaTeX的朋友,至于为什么要叫从零开始,因为我就是从零开始学会的LaTeX。如果你不是那么“聪慧”,LaTeX可能的学习曲线会显得比较曲折。但熟能生巧,这些不过些工具而已,没有学不会,用不好的道理。本人学识与能力有限,以下内容如有纰漏或错误,欢迎来信。
关于本文与其他一些介绍LaTeX的文章说明,我几乎没有看到有将LaTeX与web page进行比较学习,这也可以算作是迁移学习,只要稍微懂得一点网页的知识都可以了解LaTeX的运作方式。本文并不十分正统,仅当快速学习的经验分享。
LaTeX始终是个工具,快速使用活学活用才是硬道理。笔者从第一次使用LaTeX从完成几十页毕业论文的LaTeX大工程(文末有提供我的毕业论文LaTeX源文件),期间不过两三个月而已, 而除去内容上的准备,在LaTeX调整样式上也不过几周时间。所以要相信只要得法, 其实LaTeX很简单,不要因为网上一些LaTeX的学习曲线很陡的说法而心生畏惧。
LaTeX概览
摘自维基百科:
LaTeX, 是一种基于TEX的排版系统,由美国电脑学家莱斯利·兰伯特在20世纪80年代初期开发,利用这种格式,即使用户没有排版和程序设计的知识也可以充分发挥由TEX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。
简单点说:LaTeX基于TeX,目的主要是为了方便排版。在学术界的论文,尤其是数学、计算机等学科论文都是由LaTeX编写。
我的一点理解:
在稍微了解一点LaTeX后,你会发现LaTeX的工作方式类似web page,都是由源文件(.tex or .html)经由引擎(TeX or browser)渲染产生最终效果(得到PDF文件 或者 生成页面)。两者极其神似,包括语法规则与工作方式。所以呢,与HTML一样,LaTeX其实很简单。
一般的规范写法中都是在HTML文件中写入web page的结构内容,再由css控制页面生成的样式。当然你也可以选择在HTML直接写入样式内容,不过这并不提倡。同样,在LaTeX有着同样的情况,你可以在tex源文件中同时写入主题内容和样式,也可以内容与样式分离,以网络上流传广泛的清华大学LaTeX模板为例,以.cls(class)结尾的thuthesis.cls便可看作是与css起到同样作用的样式文件。
我第一次修改清华大学模板就是直接修改的thuthesis.cls与thuthesis.cfg文件。直接从ins和dtx文件开始做的话要花费很多学习如何编写宏包的成本,我的本科毕业论文时间并不多,只能在cls文件上直接修改,虽然会很ugly。
LaTeX中还有宏包的概念,\usepackage{foo}
即可使用宏包foo中定义的内容。这跟C语言的include
是一样的,将文件加载进来进行使用。所谓宏包就是一些写好的内容打包出来以便大家使用而已。利用宏包,我们可以使用很多现成的好用的样式。当然了,如果要编写一个自己的个性化的宏包也是可以的,不过需要学习成本而已。
初期的话,我们可以选择一个LaTeX模板进行改造。不过第一次见到一些模板的话,可能会对很多文件的作用一头雾水,下面是简单的介绍,详细内容可见在LaTeX中进行文学编程,当然更多介绍的话可以自行搜索。
LaTeX模板常见文件类型 | 功能简要介绍 |
---|---|
.dtx | Documented LaTeX sources,宏包重要部分 |
.ins | installation,控制 TeX 从 .dtx 文件里释放宏包文件 |
.cfg | config, 配置文件,可由上面两个文件生成 |
.sty | style files,使用\usepackage{…} 命令进行加载 |
.cls | classes files,类文件,使用\documentclass{…} 命令进行加载 |
.aux | auxiliary, 辅助文件,不影响正常使用 |
.bst | BibTeX style file,用来控制参考文献样式 |
class与style好像内容很像的感觉,在功能上的确很相似,但是也有区别。这里是关于.cls与.sty文件的区别
额外推荐阅读材料:来自北京大学李东风老师的LaTeX排版心得
安装配置LaTeX
LaTeX配置环境很简单,只需2步即可:
-
根据平台选择一个TeX发行版进行安装,建议选择最全功能最多的版本。TeX发行版的概念相当于Linux及其发行版,Linux内核虽然只有一个,但是有很多基于内核的不同特色的Linux发行版,Ubuntu,Fedora等等不胜枚举。
-
TeXLive for three platforms
-