热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

latex从入门到精通pdf_终于用回vscode写LaTeX了

最早接触LaTex用的是CTex这种现在看来很过时的发行版,后来知乎看到一篇文章吹嘘国外某小哥用vimLaTeX做课堂笔记速度快过手写,本来还想学习一番

最早接触 LaTex 用的是 CTex 这种现在看来很过时的发行版,后来知乎看到一篇文章吹嘘国外某小哥用 vim+LaTeX 做课堂笔记速度快过手写,本来还想学习一番这位小哥的姿势,但学到使用 vim 这一步就选择放弃了。刚好那段时间也刚接触 vscode,就想着 vocode 上会不会有相关的 LaTeX 插件,这样学习成本总会比 vim 低不少。但那时候的自己对 vscode 和 LaTeX 都处于一知半解的程度,按照网上查到的文章去修改配置文件也改的头大,最后总是会出现一些莫名其妙的 bug,所以最后还是选择了 TexLive+Texstudio 这样子的解决方案。现在回过头来,对 LaTeX 和 vscode 的了解总算是增多了,而 vscode 的 LaTeX Workshop 的配置也更加简单了(起码不用再像以前那样对着 json 文件一顿了)。
那么接下来就讲讲如何配置 vscode+LaTeX 的开发环境吧,依然是 Windows 系统下的安装。

安装 vscode,TexLive

vscode 直接上官网安装即可。

这里说一下 TexLive 是什么。用一句话说 TexLive 就是 LaTeX 的一个发行版。就像 Ubuntu 是 Linux 的一个发行版一样。TexLive 目前更新到了 TexLive2020, 你当然可以选择去官网下载,但国内上官网下载比较慢,我们也可以去清华的镜像站下载。点击 texlive.iso 进行下载就行。下载完之后双击这个 iso 文件,找到 install-tl-windows.bat 并双击就开始安装 TexLive 了,安装过程中所有选项一路默认就行。这软件安装时间会比较久,所以请坐和放宽.

安装完成之后在 CMD 中输入命令 latex -v 以验证是否安装成功。如果出现:

   pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020/W32TeX)
   kpathsea version 6.3.2
   Copyright 2020 Han The Thanh (pdfTeX) et al.
   There is NO warranty.  Redistribution of this software is
   covered by the terms of both the pdfTeX copyright and
   the Lesser GNU General Public License.
   For more information about these matters, see the file
   named COPYING and the pdfTeX source.
   Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
   Compiled with libpng 1.6.37; using libpng 1.6.37
   Compiled with zlib 1.2.11; using zlib 1.2.11
   Compiled with xpdf version 4.02

表示安装成功。如果显示找不到命令,那可能是环境变量没有配置成功,可以在搜索找到编辑系统环境变量,然后点高级 -> 环境变量(N) 找到 path,往里添加 c:\texlive\2020\bin\win32。如果不想这么麻烦的话你也可以选择重装一遍。

LaTeX Workshop 插件配置

打开你安装好的 vscode,在侧边栏的拓展选项卡中搜索 latex,选择 LaTeX Workshop 并进行安装。如图:

d0f98b15d92945d265e3924ba3e18b49.png

安装插件

接下来就是配置插件了。我们在合适的文件夹随便新建一个 demo.tex 文件,并点击侧边栏里的 TeX 字样的按钮,将会看到如图界面:

5ac6c35fdacf85857408cdcc1de73957.png

插件界面

在这里有两个很重要的概念需要说明:工具(Tools)和组合(Recipe)。

工具(Tool)指编译器,常见的主要有 pdfLaTeX、XeLaTeX、LuaLaTeX 。他们的区别可以参考《一份其实很短的 LaTeX 入门指南》。一般如果需要用中文进行写作,我们用 XeLaTeX 就好。

组合(Recipe)即编译器的组合使用,当你的 LaTeX 文件涉及引用等比较复杂的需求时需要进行组合编译。LaTeX Workshop 本身提供了多个编译组合,在功能区中点击 “Build LaTeX Project” 可以看到所有默认组合。以 pdfLaTeX→bibTeX→pdfLaTeX * 2 为例,它会先运行一次 pdfLaTeX,一次 bibTeX,再运行两次 pdfLaTeX,最终生成带有交叉引用的完整 PDF。LaTeX Workshop 每次默认会采用第一个编译组合进行编译.

设置编译工具和组合

如上文所说,如果需要写中文的 pdf 文件的话,我们常用的编译器是 xelatex,因此我们可以设置一个常用的一个编译组合 XeLaTeX->bibTeX->XeLaTeX*2 并把它放到第一个 (因为第一个是默认的)。于是我们点击插件选项,找到 LaTeX Workshop 并点击小齿轮进入拓展设置界面,在顶部的搜索栏输入 recipe,然后找到 LaTeX Workshop>LaTeX:Recipes, 点击在setting.json中编辑,并且在跳出来的 json 文件中的 "latex-workshop.latex.recipes": [ 后面复制如下代码并保存:

    {
        "name": "xelatex -> bibtex -> xelatex*2",
        "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
        ]
    },

如图:

cd948387dda43dc9e3cd542417047f8f.png

当然,很多时候我们写一些轻量级的文档或笔记,可能不需要引用参考文献,因此编译链中的 bibtex 变得不再需要,因此我们也可以设置一个只有 xelatex 的简单的编译链:

    {
        "name": "only-xelatex",
        "tools":[
            "xelatex"
        ]
    }

但是插件默认的 tools 里是没有 xelatex的,因此你还要把 xelatex 加入到 tools 中。在刚刚的拓展设置界面里搜索 tools, 找到 LaTeX Workshop>LaTeX:Tools,点击在setting.json中编辑,并且在跳出来的 json 文件中的 "latex-workshop.latex.tools": [ 后面复制如下代码并保存:

    {
        // 编译工具和命令
        "name": "xelatex",
        "command": "xelatex",
        "args": [
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "-pdf",
                    "%DOCFILE%"
        ]
    },  

如图:

7b9163df64d15560e948b8a20dd99b7d.png

这样我们的编译工具就配置完成了。

编译和预览

我们可以在 demo.tex 文件中写一些简单的代码进行测试,比如:

\documentclass{article}
\usepackage{ctex}
\begin{document}
你好,世界!
我giao!
\end{document}

写好之后就可以编译了。我们可以点击左侧的 Build LaTeX project 或者使用快捷键 Ctrl+Alt+B 使用默认的第一个组合进行编译,也可以点击其中的某一个,比如我们刚刚设置的名为 only-xelatex 组合进行编译。

编译之后就是预览了,直接使用快捷键 Ctrl+Alt+V 即可预览 pdf 文件,我更喜欢 vscode 自带的 tab 浏览,你也可以选择用 web 浏览器浏览 pdf 文件或使用外部程序进行浏览。

正向搜索和反向搜索

LaTeX Workshop 支持从.tex 文件跳转到 PDF 相应位置(正向搜索),以及从 PDF 跳转到.tex 相应位置(反向搜索)。

正向搜索直接把光标停在.tex 文件你需要搜索的位置并点击左侧的 “SyncTeX from cursor” 即可,当然你也看使用快捷键 Ctrl+Alt+J 。

而反向搜索,在你的 pdf 文件需要搜索的位置上按 Ctrl+ 鼠标左键即可。

需要注意的是不要删除 XeLaTeX 生成的.synctex.gz 文件,否则正向 / 反向搜索功能将会失效。

Enjoy it!


另外,由于公众号文章不能添加外链超链接,所以文章里的 texlive 官网,清华镜像站等都没给出相应的地址,欢迎大家点击进入我的博客观看有超链接的版本。




推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文总结了在使用Ionic 5进行Android平台APK打包时遇到的问题,特别是针对QRScanner插件的改造。通过详细分析和提供具体的解决方法,帮助开发者顺利打包并优化应用性能。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
author-avatar
WEIAIXINGJIANMENG
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有