用LaTeX写C语言实验报告1:工具的准备
前言
要说到我第一次知道TeX,那是因为我们C语言老师上课聊天的时候偶然提到说她写文档什么的比较喜欢用TeX,而不是word,这就激起了我的好奇心。于是回去之后立马百度,发现TeX确实是个好东西,很符合我们程序员的思维,而且写出来的文档漂亮又美观,简直是我强迫症一族的完美工具啊!(笑)
还看到一张很有趣的图:
hhhhh确实是非常恰当了,我就属于那种做出差强人意文档的人。
不过当初学过一些基本命令以后就因为其他课程学习等东西就一直搁置在那里,也没有真正实践过。
然后最近不知怎么的突然又回想起了LaTeX这个东西,发觉自己没有好好利用过它,于是马上开始了我的学习。
首先令初学者头疼的是一大堆名词,什么TeX
,LaTeX
,pdfLaTeX
,TeXLive
,CTeX
,乱七八糟的一大堆英文,到底是啥?
TeX,LaTeX,pdfLaTeX...
首先是TeX
,它是一个计算机科学家愤世嫉俗而发明的排版系统(感觉和linus愤世嫉俗发明git一样hhh,大师都是这样子的吧),不过只有很基础的功能,写个简单的文档、报告都需要大量的代码,使用起来非常麻烦。
然后有一个科学家,开发了LaTeX
,它相当于一大堆TeX的宏包,将一些复杂的操作简化,使人们可以更加关注文字本身。例如\documentclass[]
那里写的article,book,report等都是出自LaTeX。在网上搜索的时候,我还看到了一个形象的比喻,就是说TeX就相当于用原生C语言写GUI,而LaTeX就相当于用qt写GUI,虽然都能实现效果,但后者更加简单方便。
pdfTeX
则是因为TeX原本只能生成dvi文件(在pdf出现之前很流行的),但不能生成pdf,于是有人改写了TeX引擎让其能生成pdf,便叫做pdfTeX。至于pdfLaTeX则是在pdfTeX引擎上的一个宏包,与LaTeX和TeX的关系差不多。
剩下的BibTeX
,LuaTeX
也都是编译引擎,然后分别加上了一些特色功能,例如用来管理文献,可以调用Lua语言什么的。
TeXLive,CTeX,MacTeX
这些都是不同的TeX发行版,就像linux也有很多发行版一样。
TeXLive支持windows和linux,MacTeX支持macOS。
而CTeX则是在TeX的基础上增加了中文的支持(因为TeX原本是不支持中文的)以及附带了一些TeX可视化编辑器
在掌握这些基础知识之后便是环境的搭建了。
关于TeX发行版,由于我是linux系统,只有TeXLive,不过多亏了我是ArchLinux,一句话就能搭建好环境:
sudo pacman -S texlive-core texlive-langchinese texlive-latexextra
前面一个包是texlive的核心包,第二个是对中文的支持包,简直太爽了有木有?!
而texlive-latexextra
的话,如果不安装的话会出一个神奇的错误, 缺少environ.sty
,也就是environ.sty not found
,暂时不知道具体原因。
也可以直接装texlive-most
包,里面包括texlive-core
和texlive-latexextra
以及texlive-music
,texlive-pictures
,texlive-games
,texlive-science
等各种拓展支持库。我觉得这些估计暂时都用不到,就只装了texlive-core
和texlive-latexextra
。
然后便是TeX编辑器,虽然理论上用记事本写也可以,但终归是不方便。
网上找了很久,发现了TeXmaker和TeXstudio都还不错,而且后者是前者的拓展,自定义功能很多,我便用了TeXstudio。
我又要夸一下ArchLinux源的丰富了,安装TeXstudio也是一句话:
sudo pacman -S texstudio
不过TeXstudio界面是真的丑,我调了好久也不是很好看,最后还换了个代码高亮的配色方法,最终效果如下:

~/.config/texstudio/texstudio.ini
里面,替换其中的[formats]部分就好。
到这里,环境算正式搭建完毕了!
让我们下期再见