LaTeX ,是一种基于 TeX 的排版系统,由美国计算机科学家莱斯利·兰伯特在20世纪80年代初期开发,利用这种格式系统的处理,即便用户没有排版和程序设计的知识也能够充分发挥由 TeX 所提供的强大功能,没必要一一亲自去设计或校对,能在几天,甚至几小时内生成不少具备书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤其突出。所以它很是适用于生成高印刷质量的科技和数学类文档。这个系统一样适用于生成从简单的信件到完整书籍的全部其余种类的文档。
————维基百科
2. 软件的安装和配置css
2.1. TeX Livehtml
2.2. VS Codegit
2.3. LaTeX Workshopgithub
简单点说:LaTeX 基于 TeX,主要目的是为了方便排版。在学术界的论文,尤为是数学、计算机等学科论文都是由 LaTeX 编写, 由于用它写数学公式很是漂亮。
在稍微了解一点 LaTeX 后,你会发现 LaTeX 的工做方式相似 web page,都是由源文件(.tex or .html)经由引擎(TeX or browser)渲染产生最终效果(获得 PDF 文件 或者 生成页面)。二者极其神似,包括语法规则与工做方式。因此呢,与 HTML 同样,入门其实很简单。
通常的规范写法中都是在 HTML 文件中写入 web page 的结构与内容,再由 css 控制页面生成的样式。固然你也能够选择在 HTML 中直接写入样式内容,不过这并不提倡。一样,在 LaTeX 有着一样的状况,你能够在 tex 源文件中同时写入内容和样式,也能够内容与样式分离,以网络上流传普遍的 清华大学 LaTeX 模板 为例,以.cls(class)结尾的 thuthesis.cls 即可看做是与 css 起到一样做用的样式文件。
LaTeX 有所谓宏包的概念,\usepackage{foo}
便可使用宏包 foo 中定义的内容。所谓宏包就是一些写好的内容打包出来以便你们使用而已。这跟 C 语言的 include
是一致的,将文件加载进来进行使用。利用宏包,咱们可使用不少现成的好用的样式。固然了,若是要编写一个本身的个性化的宏包也是能够的,不过须要学习成本。
初期的话,咱们能够选择一个 LaTeX 模板进行改造。不过第一次见到一些模板,可能会对其中不少文件的做用一头雾水。下面是简单的介绍,详细内容可见在 LaTeX 中进行文学编程,固然更多介绍的话能够自行搜索。shell
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 。现阶段先使用 Markdown 已足以知足个人需求,可是当我学习 Pandoc 转换 Markdown 格式为 Pdf 格式时,系统提示我须要安装 pdfLaTeX ,因而我打算将 LaTeX 的学习计划提早。还有一部分缘由是 Markdown 编写数学公式时须要用到 LaTeX 语法。
我在查阅了必定的资料后,决定采用 TeX Live + VS Code + LaTeX Workshop 的方案。一方面,个人主力编辑器是VSCode;另外一方面,刘海洋老师写的 《 LaTeX 入门》 中推荐的 CTeX 套装,网评“老旧、易出错、盗版、过分封装和不支持跨平台”,并不推荐像我这样的小白使用。具体来讲:编程
- CTeX 封装的 MikTeX 在实现 XeTeX 以及字体库的时候有一些问题,前者致使运行 XeLaTeX 异常缓慢,后者致使使用一些数学字体的时候会报错。
- CTeX 封装的默认编辑器 WinEdt 是闭源软件,其实是在使用盗版软件。
- CTeX 封装的默认编辑器 WinEdt 修改了默认编码为 GBK, 这将在后续使用过程当中产生不少问题,对初学者来讲是不良的。
- CTeX 封装的默认编辑器 WinEdt 集成了太多的功能,而且修改了不少 LaTeX 的默认行为,对于初学者来讲,这些未经通告的默认行为修改对于其对 LaTeX 的理解是不良的。
- CTEX论坛因故自2018年11月21日起无限期关闭。CTeX 套装最终版本定格为 2.9.2.164 版本,已经没法再更新了,事实上也没有必要再更新了。
- CTeX 因为封装 MikTeX 而只能运行于 Windows 平台。
- CTeX 是由于 CJK 包的字体配置复杂,为了免去入门用户的配置成本而推出的。而如今由于 XeTeX 引擎以及 xeCJK 宏包的出现,CJK 包已经成为过去。而且使用 zhm 能够与 CJK 结合方便地动态配置字体。所以 CTeX 曾经的优点实际上已经不成为优点,而且因其引发的各类国内期刊模板的老旧问题正不断成为阻碍中国 TeX 社区进步的恼人因素。
TeX Live 简称 TL ,是国际 TeX 用户组( TUG )维护的一个 TeX 系统。通常来讲,是最「正宗」的 TeX 系统,支持不一样的操做系统平台,配置全部的编译环境和各类宏包。对于任何阶段的 TeX 用户,均可以使用 TeX Live , 以保持在跨操做系统、跨用户的 TeX 文件一致性。json
TeX Live 有两种安装方式。服务器
因为 TeX Live 网络安装须要一边下载一边安装,国内下载速度较慢,因此推荐直接下载 ISO 文件,可一次性获取完整的安装文件,可使安装过程更为顺畅。附上清华大学的镜像。网络
1.下载的文件是 ISO 光盘镜像文件,通常而言,macOS / Windows 10 / 大部分 Linux 都可以直接双击挂载。可是不排除比较旧的 Windows 版本存在,好比 Windows 7 / XP ,那挂载就须要使用虚拟光驱。
2.为了不用户权限问题,能够用管理员模式(右键-->以管理员身份运行)运行 install-tl-advanced.bat 文件(注意:文件夹路径里面不能有中文,否则打不开。),进入第一个框框后点击 Advanced 。(注意:安装后将会占用 5G 左右的磁盘空间,建议将安装目录切换到 D 盘或者其余空间较大的盘中。)
3.见到下面的安装界面。
4.这里,为了控制一下 TeX Live 占用的内存大小,咱们能够选择修改 N. of collections 选项,并根据我的须要,去掉 Texworks (比较老的编辑器,不推荐)以及部分咱们平常不会使用的语言包,设置以下:
5.而后点击“安装”便可。通过一段漫长的安装,TeX Live 就安装完成了。
在安装完以后,能够调用 commond ,在命令行窗口中分别输入
tex -v latex -v xelatex -v pdflatex -v
来获取安装的 TeX 的环境信息!若是看到的版本信息可以正常输出,那么 TeX Live 的安装就成功啦!
Visual Studio Code(简称 VS Code )是一个由微软开发,同时支持 Windows 、 Linux 和 macOS 等操做系统且开放源代码的代码编辑器,它支持测试,并内置了 Git 版本控制功能,同时也具备开发环境功能,例如代码补全(相似于 IntelliSense )、代码片断和代码重构等。该编辑器支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各类属性和参数,同时还在编辑器中内置了扩展程序管理的功能。
官网的下载和安装指导其实已经比较完善。在这里附上下载连接和安装后的指导。VS code下载和安装都比较简单,其关键的核心在于如何配置一些高质量的插件以知足本身的需求。
LaTeX Workshop 是 VS Code 的插件,这个插件为 VS Code 提供了 LaTeX 语言支持。
在 VSCode 的扩展管理中,搜索 LaTeX
,第一个结果就是咱们要安装的插件。
将下面的代码复制粘贴到 VS Code 的 setting.json
文件中。
"latex-workshop.latex.tools": [ { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOCFILE%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] } ],
setting.json
配置文件内。第一个 recipe 为默认的编译工具,如须要使用 bibtex 可在编译时单击 VS Code 界面左下角的小勾,单击“ Build LaTeX project ”,选择“ xe->bib->xe->xe ”,另外的方法是使用右侧栏,或者直接将“ xe->bib->xe->xe ”的 Recipe 放到第一位,就能够做为默认 Recipe 编译了,但由于编译次数比较多,速度会比较慢。"latex-workshop.latex.recipes": [ { "name": "xelatex", "tools": [ "xelatex" ] }, { "name": "xe->bib->xe->xe", "tools": [ "xelatex", "bibtex", "xelatex", "xelatex" ] } { "name": "pdflatex", "tools":[ "pdflatex" ] } ],
如今就能够用 VS Code 编辑 LaTeX 文档并编译出 PDF 文件了,按 CTRL+ALT+B
编译,而后按 CTRL+ALT+V
打开 PDF 文件。
SumatraPdf 是一款轻量级的 PDF 阅读器,类型为开放软件,而且有安装版和便携版两个版本。
VS Code 内置的 PDF 查看器功能比较简单,并且不太方便,而 Adobe Reader 则相对体积大,打开速度慢。Sumatra PDF 小巧强大,启动速度快,做为本方案的 PDF 阅读器最合适不过,并且还能够和源码之间实现定位跳转,弥补 LaTeX「所见非所得」的劣势。
要使用 SumatraPDF 预览编译好的PDF文件,将下列代码复制粘贴至 setting.json
配置文件内。“ viewer ”设置阅读器为外置阅读器,“ command ”为 SumatraPDF.exe 的路径,根据实际状况修改。
"latex-workshop.view.pdf.viewer": "external", "latex-workshop.view.pdf.external.viewer.command":"D:/tools/SumatraPDF/SumatraPDF.exe", "latex-workshop.view.pdf.external.viewer.args": [ "--unique", "%PDF%" ],
将下列代码复制粘贴至 setting.json
配置文件内以配置正向搜索。“ command ”依旧是 SumatraPDF.exe 的存放位置,根据实际状况修改。
"latex-workshop.view.pdf.external.synctex.command":"D:/tools/SumatraPDF/SumatraPDF.exe", "latex-workshop.view.pdf.external.synctex.args": [ "-forward-search", "%TEX%", "%LINE%", "%PDF%", ],
单击“左侧 TeX 工具栏” → “ Navigate,select,and edit ” → “SyncTeX from cursor”或使用快捷键 CTRL+ALT+J
便可正向搜索。
打开 Sumatra PDF,进入设置 -> 选项对话框,在「设置反向搜索命令行」处添加如下命令:
"Code.exe" "resources/app/out/cli.js" -g "%f":"%l"
根据 VS Code 实际的安装位置将“ Code.exe ”和“ resourcesappoutcli.js ”换成 VS Code 在本身的电脑上的安装位置,例如:
"D:/tools/Microsoft VS Code/Code.exe""D:/tools/Microsoft VS Code/resources/app/out/cli.js" -g "%f":"%l"
双击 PDF 中的任意一处便可跳转到 VSCode 中所对应的内容的源代码处。
最好不要清理 xelatex 生成的 gz 后缀的临时文件,不然就不能进行正向和反向搜索。
因为 LaTeX 编译过程会产生一些辅助文件,放在那没什么用,看着也糟心,因此第一个参数是指定在PDF文件生成后自动清除辅助文件。第二个参数是指保存是否自动编译 LaTeX 文件,由于 VSCode 有自动保存功能,因此每次自动保存都会编译 LaTeX 文件,这样就会致使电脑每隔一段时间就会自动编译文档,没有必要。
"latex-workshop.latex.autoClean.run": "onBuilt", "latex-workshop.latex.autoBuild.run": "never",
在 VS Code 中新建一个 .tex 文件,将下列代码复制粘贴到代码区:
\documentclass{article} \usepackage{ctex} \begin{document} \title{My \LaTeX} \author{我} \maketitle \section {中文} \songti {这是宋体} \heiti {这是黑体} \kaishu {这是楷书} \fangsong {这是仿宋体} \yahei {这是雅黑} \section{勾股定理} 勾股定理能够用现代的语言描述以下: 直角三角形斜边的平方等于两腰的平法和。 能够用符号语言描述为:设直角三角形 $ \angle C=90^\circ $则有: $$ AB^2 = BC^2 + AC^2 $$ 这就是勾股定理。 \end{document}
先按 CTRL+ALT+B
,编译完后,再按 CRTL+ALT+V
(若无效则点击右上角的图标),调用 Sumatra PDF 阅读器查看编译好的 PDF 文件。在 PDF 适当位置双击,便可跳转至 VSCode 中的 LaTeX 源码,在源码处,按 CTRL+ALT+J
便可查看对应 PDF 所对应位置。
本文主要参考了一些网络资源
1. 从零开始 LaTeX 快速入门
2. 使用VSCode编写LaTeX
3. 论文排版神器 —— LaTeX 套装推荐 并根据实际状况进行了调整。