我两年前接触LaTeX,为了写经济学论文不得不学。我的建议是:
1. 找一本通俗的
LaTeX入门教程作为参考。
推荐
LaTeX Notes 2.03可以下载PDF和源码,非常优秀的学习资料。作者语言幽默,内容难度适中,接近当前的配置方案。至于TeX原本就不用了,你不是学习TeX的。此外评价不错的有
《LaTeX入门》(刘海洋),纸质书,可作为参考。
2. 配置好你的LaTeX输入、编译和PDF显示方案。
(1) 我在Windows下用的
CTEX套装。CTEX集成了
WinEdt作为编辑器,
MiKTeX作为编译器,安装完后
基本可以立即开始使用。该方案被诟病已久,因为WinEdt是收费软件,CTEX这么做是盗版,而且也有吐槽CTEX中文和
Unicode支持不好的。但我目前仍然使用它,因为最方便上手。而且我并没有发现中文支持糟糕之处。我写文章默认XeCJK宏包+fontspec宏包+XeLaTeX编译,输入过CJK Extension B C D区的汉字,也输入过各种欧洲语言文字,编译的PDF没有问题。
(2) LaTeX编译出的都是PDF文件,请先安装PDF阅读器,Adobe Reader,Foxit Reader都行,安装时会识别并自动关联。好像CTEX自带Sumatra,如没有也可以去这里下载:
Download Sumatra PDF,安装后手动关联。好处是可以
反向定位LaTeX代码(比如,用Sumatra显示的PDF,选择几个字,双击后可以定位到LaTeX代码段,方便调试和找到错误之处)。
(3) 如果你用Mac OS,
MacTeX是一个不错的选择。我在Mac下安装了,但几乎没用过,因为工作原因必须长期待在Windows下。MacTeX是
TeX Live的Mac安装版本,以
TeXworks作为编辑器。具体使用可以Google之,似乎中文(或Unicode支持)需要配置一下,而且个人认为TeXworks的代码高亮做得不如WinEdt好。
(4) 除了安装TeX Live外,其他配置方案并不一定适合新手,新手可能连TeX,LaTeX,XeTeX,XeLaTeX,MiKTeX,TeX Live都分辨不清,也不一定是程序员,推荐用
Sublime Text和
Emacs编辑并不适当。新手重要的是快速解决问题,享受写出LaTeX文档的乐趣,而不是学习如何配置一个「高效」的编辑器或编译器。
3. 保存自己写过的所有LaTeX文档(.tex文件)。
我最开始就是从网上找的简单示范代码,拷到编辑器中编译。如果想学数学公式,就翻到书的那一章,添加合适的宏包,照葫芦画瓢输入代码,编译,查看,更改,再看看。渐渐的,我想生成的效果越来越复杂,也添加了越来越多的宏包,自定义了很多命令,有了很多
模板代码,它们定义了页面大小、边框间距、页眉页脚、字体格式、表格和图形的排列、各类数学符号和公式。这些都是很宝贵的资料,应当及时保存,日后需要用到的时候就翻出来,直接拷贝代码,就能实现想要的效果。因为LaTeX的代码相对稳定,就算几十年前的源码给我编译也是基本一样的效果。
如今我写文章就是从保存的LaTeX文档中找到最接近我想要的排版效果的那个,
在其之上补充、修改,增删几个宏包就可以开始写文章了。于是每次都能学习一些新排版效果(比如今天加了rotating宏包把很宽的回归结果表格旋转90度,很多paper都会这么做),非常有意思。
4. 学会向他人求助
遇到问题,网上查找资料也未果,可以去专业的论坛求助。中文论坛推荐
CTeX社区和
ChinaTeX论坛。有不少牛人,但最近都很旱,等回答期间可能我自己就解决了。
这是我提的几个问题:
求助文章中间改页面大小求问目录出现“第零章”怎么修改他们给的代码至今我都经常使用,而且这种代码很难找,都是他们花时间认真写的。
英文论坛推荐
TeX - LaTeX Stack Exchange牛人更多,热心网友会及时回答你的问题,前提是按要求附上了完整、关键的源码。
这是我提的问题:
hyperref - MakeIndex fails to locate some index items回答者看上去是一位大牛……
5. 耐心调试
LaTeX作为一种标记语言,不是所见既所得,而是像程序一样,你写的是源代码,交给编辑器编译,生成PDF文件的。因此
出错或显示效果不正常那太正常了。对于我这种排版强迫症患者而言,调试出自己想要的效果本身就很有乐趣,但一定要耐心,利用好网上的资源,加以鉴别,必要时问别人,反复测试,总会找到合适的解决方案。LaTeX的自由度比Word高一些,你可以尽情排版出鬼斧神工,变幻莫测的效果。进阶的我见过做出能当计算器用的PDF。
我排版过章回体的红楼梦(中文章回体目录和页眉是难点),排版过陈景润“1+2”的证明(变态复杂度的数学公式),也排版过PDF版的《
萌典》(字典格式的生成是难点,我还用了Python生成符合要求的LaTeX代码,不然一个个粘贴不会累死?),当然最多的是写小论文。偶尔兴趣来了,排版几个要求刁钻的文档,亦不失为一种乐趣。
接触LaTeX时间不长,大部分时候在百度和Google中磕磕碰碰地写出代码,希望讲的这些对各位有帮助。