本人手头电脑是Win10 Home版全新安装的系统,由于不想在新系统盘里面安装TexLive导致固态硬盘不断扩大,所以,考虑安装Ubuntu做为WSL,然后把TexLive安装在Ubuntu,并通过VS Code调用Ubuntu命令来写Latex的方法来写一些论文。在此,提供一个思路给大家借鉴。

Windows 10安装WSL2和Ubuntu 18.04

这个过程其实直接参照微软的标准过程就可以了,大致步骤总结如下:

  1. 去控制面板开启Virtual Machine Platform和Windows Subsystem for Linux(WSL)
  2. 在Win10的Settings里面开启Windows Insider Program的Slow模式(需要微软账户)
  3. 检查并且更新Win10系统版本到新的版本
  4. 打开Win10里面个人比较喜欢的命令行工具输入wsl --set-default-version 2来把默认的WSL版本升级到WSL2
  5. 去Microsoft Store安装并且下载Ubuntu 18.04 app
  6. 下载并且等到安装完毕就可以了

在Ubuntu 18.04安装TexLive 2019

这个过程安装稍微要长一点,保持耐心就好,步骤如下:

  1. 到清华的开源软件镜像站下载TexLive的安装器https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/install-tl.zip(如果你想下载完整版的.iso文件也可以的,我没有试过这个怎么安装的,请自行尝试)
  2. 解压以后进入解压后的文件夹并执行这个命令来安装sudo ./install-tl -repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/(在选项里面选择allow execution of restricted list of programs via \write18create all format files,然后选择set up for portable installation
  3. 等待一段时间后,安装好的TexLive在/usr/local/texlive这个目录
  4. 安装字体配置器以备以后安装字体使用sudo apt install fontconfig
  5. 如果需要配置字体,随时把想要的字体文件(.otf,.ttf等)拷贝到/usr/share/fonts下面,然后运行sudo fc-cache -f -v来扫描字体目录并生成字体信息的缓存

VS Code配置TexLive的运行环境并编译生成PDF文件

最后就可以来利用Ubuntu的TexLive环境来在VS Code里编译生成PDF文件了。下面着重讲讲VS Code的配置(对VS Code小白比较适用,高手勿喷)。

  1. 首先要安装VS Code的扩展程序叫做Latex Workshop(VS Code运行Latex必须的扩展),安装完在VS Code最左边会看到一个Tex字样的图标
  2. 点击这个Tex图标,然后按Ctrl+Shift+P来打开Preferences: Open Settings (JSON),输入以下内容:
{
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
// 对应Clean up auxiliary files命令需要清楚的临时文件类型
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.bcf",
"*.cut",
"*.dvi",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.xml",
"*.pdf",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.gz"
],
// 这个viewer的配置好像不太需要,因为在对应的View Latex PDF命令里面可以选浏览方式
"latex-workshop.view.pdf.viewer": "tab",
// 重点:这决定了下面的recipes调用不同TeX命令具体的执行方式
"latex-workshop.latex.tools": [
{
"name": "latex",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/latex",
"-src",
"-interaction=nonstopmode",
"%DOCFILE%.tex"
]
},
{
"name": "pdflatex",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/pdflatex",
"-synctex=1",
"-interaction=nonstopmode",
"-aux-directory=build",
"%DOCFILE%.tex"
]
},
{
"name": "xelatex",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/xelatex",
"-synctex=1",
"-interaction=nonstopmode",
"%DOCFILE%.tex"
]
},
{
"name": "lualatex",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/lualatex",
"-synctex=1",
"-interaction=nonstopmode",
"%DOCFILE%.tex"
]
},
{
"name": "dvips",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/dvips",
"-o",
"%DOCFILE%.ps",
"%DOCFILE%.dvi"
]
},
{
"name": "dvipng",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/dvipng",
"-T",
"tight",
"-D",
"120",
"%DOCFILE%.dvi"
]
},
{
"name": "ps2pdf",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/ps2pdf",
"%DOCFILE%.ps"
]
},
{
"name": "dvipdf",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/dvipdfm",
"%DOCFILE%.dvi"
]
},
{
"name": "bibtex",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/bibtex",
"%DOCFILE%.aux"
]
},
{
"name": "biber",
"command": "wsl",
"args": [
"-u",
"YOUR LINUX USERNAME",
"/absolute/path/to/your/biber",
"%DOCFILE%.bcf"
]
}
],
// 这个会生成在Commands里面的recipe
"latex-workshop.latex.recipes": [
{
"name": "latex",
"tools": [
"latex"
]
},
{
"name": "pdftex",
"tools": [
"pdflatex"
]
},
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "luatex",
"tools": [
"lualatex"
]
},
{
"name": "dvips",
"tools": [
"dvips"
]
},
{
"name": "dvipng",
"tools": [
"dvipng"
]
},
{
"name": "ps2pdf",
"tools": [
"ps2pdf"
]
},
{
"name": "dvipdf",
"tools": [
"dvipdf"
]
},
{
"name": "bibtex",
"tools": [
"bibtex"
]
},
{
"name": "biber",
"tools": [
"biber"
]
}
]
}

至此环境已经准备完毕,重启以下VS Code,下面就是怎么打开你的Tex文件,然后点击刚才左侧的Tex图标,并且调出Commands窗口,在Build LaTeX Project下面的Recipe就可以利用不同的Tex命令来编译生成PDF文件了。纵观整个过程,这个settings.json的配置是重点。

Win10+WSL2+Ubuntu 18.04(WSL下)+VS Code(Win10下)+TexLive 2019(Ubuntu下)安装和配置的更多相关文章

  1. 在 Ubuntu 18.04 LTS 无头服务器上安装 Oracle VirtualBox

    作者: Sk 译者: LCTT qhwdw | 2018-10-12 01:59 本教程将指导你在 Ubuntu 18.04 LTS 无头服务器上,一步一步地安装 Oracle VirtualBox. ...

  2. Ubuntu 18.04中截图工具Shutter的编辑按钮不可用的解决办法

    Shutter是一个由第三方提供的在Ubuntu上运行的截图工具,相对于系统自带的截图工具(默认可通过Ctrl + Shift + Print快捷键启动截图),最大的优点就是可以即时对图片进行编辑,在 ...

  3. How to install the NVIDIA drivers on Ubuntu 18.04 Bionic Beaver Linux

    Objective The objective is to install the NVIDIA drivers on Ubuntu 18.04 Bionic Beaver Linux. This a ...

  4. How to Install Oracle Java 11 on Ubuntu 18.04 LTS (Bionic) Written by Rahul, Updated on April 3, 20

    本文系转载备份 请阅读点击下面链接阅读原文以获取更佳地阅读体验.谢谢. How to Install Oracle Java 11 on Ubuntu 18.04 LTS (Bionic) Writt ...

  5. 如何在Ubuntu 18.04上安装和卸载TeamViewer

    卸载命令:sudo apt --purge remove teamviewer 安装:https://www.linuxidc.com/Linux/2018-05/152282.htm 如何在Ubun ...

  6. Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量

    Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量   Ubuntu 作为服务器系统使用的时候,系统盘的空间可能并不是很充裕,apt apt 着,根目录就满了.诚然, ...

  7. 在ubuntu 18.04下,无线网卡无驱动,连不上wifi,显示wifi没有适配器的解决方法

    近来因为做东西要用到linux环境,所以自己的笔记本在win10的系统上又安装了ubuntu 18.04版本的双系统,但是安装好以后,没有无线网卡的驱动,显示wifi没有适配器等字样,很纠结,前后研究 ...

  8. WSL Ubuntu 18.04 LTS + VS Code

    WSL Ubuntu 18.04 LTS + VS Code ​ WSL(Windows Subsystem for Linux)使得Windows用户能够在Windows系统上使用原生的Linux环 ...

  9. Ubuntu 18.04下Couldn't connect to Docker daemon at http+docker://localunixsocket解决办法

    一台服务器系统为:Ubuntu 18.04 LTS,上面建了git裸仓库,用于开发吧代码push到这里.同时WEB测试环境通过docker也部署在这台.通过git钩子post-receive,当有新代 ...

随机推荐

  1. F - No Link, Cut Tree! Gym - 101484F

    Marge is already preparing for Christmas and bought a beautiful tree, decorated with shiny ornaments ...

  2. linux下别名的设定

    命令别名设定功能: (alias)假如我需要知道这个目录底下的所有文件 (包含隐藏档) 及所有的文件属性,那么我就必须要下达『 ls -al 』这样的指令串,比较麻烦,我们可以为其设定别名为lm al ...

  3. Android开发学习1----AndroidStudio的安装、创建第一个Android Studio文件、Android Studio界面介绍和HelloWord!

    移动开发的工具有很多:Android Studio,eclipse,Hbuilder等,其中,现如今最火的开发工具是Android Studio,Android Studio是谷歌自己推出的一款集成开 ...

  4. [GX/GZOI2019]与或和(单调栈+按位运算)

    首先看到与或,很显然想到按照位拆分运算.然后就变成了0/1矩阵,要使矩阵在当前位与为1,则矩阵全为1,如果是或为1,则是矩阵不全为0,然后求全为0/1的矩阵个数即可.记录c[i][j]表示以a[i][ ...

  5. netstat - 系统信息

    netstat - 系统信息 注意:如果是勘验或者验证漏洞,需要验证netstat程序的完整性(netstat程序是否被修改过). # 老版本的CentOS中会自带这个软件包,新版的7有的时候需要单独 ...

  6. C2. Power Transmission (Hard Edition)(线段相交)

    This problem is same as the previous one, but has larger constraints. It was a Sunday morning when t ...

  7. ACM-ICPC Nanjing Onsite 2018 I. Magic Potion

    题意:类似二分图匹配给的题目,不过这次在这里给出了k,表示没人可以再多一次匹配机会,这次匹配不能用上一次被匹配的对象 分析:不能用匈牙利做俩次匹配,因为俩次的最大匹配并不等价于总和的匹配,事实证明,你 ...

  8. 高级I/O

    1.阻塞问题的几种解决模型 1.1 非阻塞模型:类似于死循环,需要适当加休眠,防止cpu占用太高:效率较低 1.2 线程异步:效率最高的一种解决方案 1.3 I/O多路转接与复用  select(低) ...

  9. jQuery实现button按钮提交表单

    在JSP页面中,通常使用button按钮提交表单数据,使用jQuery实现代码如下: <span style="font-family:Comic Sans MS;font-size: ...

  10. HTTP请求方法及常见状态码

    GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体. PUT: 从客户端向服务器传送的数据取代指定 ...