一、LaTeX 一般用的编译器
一开始配置 LaTeX 环境的时候,我没有想太多,和大多数人一样直接去网上搜了编译器的选择。在互联网所提供给我们的海量资源中,以下这些是我认为值得一试的一些选择:
-
WinEdt
相信看过我之前博客的读者们都能猜到,我在一开始(以及之后很长一段时间)都在使用 WinEdt 作为主要的编辑器。从我的角度来分析,主要有以下原因:-
稳定性
截止这篇博客的写作时间,WinEdt 官方已经出到了 11.0 的版本。相信经过历代版本的更新,WinEdt 在细节上的处理以及功能性方面一定都是最强的。 -
集成性与可操作性
简而言之,你只要点开安装包,装好之后就可以写代码了。这对于初学阶段的所有人(包括我)都十分友好。因此强烈推荐新手使用这款软件!
下载地址
-
-
TexWorks
- 这也是网上给出的一种普遍解答(包括我的许多同学在内都是使用的这种编译器)所以关于它的介绍我就不赘述了。在这里我给各位想要进一步了解的读者推荐一篇使用文章,有兴趣可以参考一下:Latex(2)——TeXworks使用技巧
- 下面来讲讲我的个人感受吧:
- 高度可编辑性
意思就是里面有各种各样的参数可以调整。 - 集成性,方便直接使用
- 选择较多(大致同第一条)
- 高度可编辑性
-
当然,除了我以上讲的这些,市面上当然还有许多五花八门的编译器。因此我想对它们共有的缺点做一个总结:
-
对于一个平时编 Python, C++, C 这种对代码美观程度要求很高的程序员来说,这些编辑器的自动格式化和缩进功能虽然是有,但是需要自己调整参数。而我们知道,这些编译器天生是用来编写 LaTeX 代码的,因此开发商不可能花费太多精力在缩进这种代码结构方面下功夫。所以你写的代码很可能就变成了这样:
顺带插一句,很多编辑器甚至不让调字体和背景颜色,导致编写时间长了眼睛会极度酸涩不适。 -
(这也是最令人懊恼的地方):大多数编译器不支持自动补全或添加高亮。(我的印象中 WinEdt 是支持的,但仍然不够完善)而对于 LaTeX 这种需要大量
\begin{xxx}
和\end{xxx}
环境的语言来说简直是极度不友好。虽然部分编译器是支持调参数的,但我的亲身经历告诉我你会浪费大量时间在这种本不应该使你操心的东西上面而耽误了主业。
如果你觉得上述例子是可以接受的话,不妨看一下下面两者的区别:
我们有一下一个公式:\displaystyle\frac{\left( {{1}\Bigg/{\sqrt{2\pi \sigma _{0}^{2}}}} \right) ^n\exp \left\{ {{\left( -\sum\limits_{i=1}^n{\left( x_i-\mu _0 \right) ^2} \right)}\Bigg/{2\sigma_{0}^{2}}} \right\}}{\left\{ {{1}\Bigg/{\left( \frac{2\pi}{n} \right) \sum\limits_{i=1}^n{\left( x_i-\mu _0 \right) ^2}}} \right\} ^{\frac{n}{2}}e^{-\frac{n}{2}}}
( 1 / 2 π σ 0 2 ) n exp { ( − ∑ i = 1 n ( x i − μ 0 ) 2 ) / 2 σ 0 2 } { 1 / ( 2 π n ) ∑ i = 1 n ( x i − μ 0 ) 2 } n 2 e − n 2 \displaystyle\frac{\left( {{1}\Bigg/{\sqrt{2\pi \sigma _{0}^{2}}}} \right) ^n\exp \left\{ {{\left( -\sum\limits_{i=1}^n{\left( x_i-\mu _0 \right) ^2} \right)}\Bigg/{2\sigma_{0}^{2}}} \right\}}{\left\{ {{1}\Bigg/{\left( \frac{2\pi}{n} \right) \sum\limits_{i=1}^n{\left( x_i-\mu _0 \right) ^2}}} \right\} ^{\frac{n}{2}}e^{-\frac{n}{2}}} {1/(n2π)i=1∑n(xi−μ0)2}2ne−2n(1/2πσ02)nexp{(−i=1∑n(xi−μ0)2)/2σ02}
如果让你在 TeXworks 里面展示出同样的效果,意味着你要面对这样的界面:
然后……万一报错怎么办?
-
二、一个“不寻常”的选择
当然,写以上内容的目的绝不是彻底否定其它编译器,而是向大家展示我的体验。如果大家有其它值得分享且好用的编译器的话,欢迎在评论区留言或与我私信!
那么大家看了我前面的介绍,是否会觉得,下面这组图好一些呢?
以上两张图均出自 Visual Studio Code 的界面。我想,比起前面那些编译器,Visual Studio Code 在写代码上的优势应该不言自现了吧。
那么为什么我会想到选择 Visual Studio Code(以下简称 vsCode)去写 LaTeX 呢?事实上,我愿称以上的介绍都是开胃菜,vsCode 真正强大之处在于它完善的插件系统以及引申而来的强大设置功能和几乎对每种语言的支持。
- 先说设置系统。除了各种五花八门的按钮之外,我认为其对于 .json 等配置文件的归类是非常整体与完善的。简而言之,每个设置项都会隶属于一份诸如
settings.json
的设置文件。而这也意味着你只要掌握了语法(或拥有搜索能力),你就能像“剥洋葱”一样把你要的功能一条一条加上。(是的,这很类似 css!)简单展示一下:cpp_indent_braces=false cpp_indent_multi_line_relative_to=innermost_parenthesis cpp_indent_within_parentheses=indent cpp_indent_preserve_within_parentheses=false cpp_indent_case_labels=false cpp_indent_case_contents=true cpp_indent_case_contents_when_block=false
- 再说插件。光是搜索一个 ‘LaTeX’,你就会得到成百上千个结果:
也就是说,只要你找到了自己心仪的插件,即便你不会用,只需到网上搜一下便能上手,十分方便。
另外,单单是一个插件,里面花头可不小!比如我们来看一下以后会介绍到的 LaTeX Workshop 这款插件,它会在左侧栏目中提供一个有关 LaTeX 编译的选项:
甚至还有公式提示:
由此可见,只要能够正确安装这款插件,新手完全可以从这里学到完整的 LaTeX 排版知识。我也将在接下来的文章中向大家介绍它的安装。
如果觉得有帮助,或是认同我的看法,欢迎大家点赞,评论,收藏,关注本博客!