Win10+WSL2+Ubuntu 18.04(WSL下)+VS Code(Win10下)+TexLive 2019(Ubuntu下)安装和配置
本人手头电脑是Win10 Home版全新安装的系统,由于不想在新系统盘里面安装TexLive导致固态硬盘不断扩大,所以,考虑安装Ubuntu做为WSL,然后把TexLive安装在Ubuntu,并通过VS Code调用Ubuntu命令来写Latex的方法来写一些论文。在此,提供一个思路给大家借鉴。
Windows 10安装WSL2和Ubuntu 18.04
这个过程其实直接参照微软的标准过程就可以了,大致步骤总结如下:
- 去控制面板开启Virtual Machine Platform和Windows Subsystem for Linux(WSL)
- 在Win10的Settings里面开启Windows Insider Program的Slow模式(需要微软账户)
- 检查并且更新Win10系统版本到新的版本
- 打开Win10里面个人比较喜欢的命令行工具输入
wsl --set-default-version 2来把默认的WSL版本升级到WSL2 - 去Microsoft Store安装并且下载Ubuntu 18.04 app
- 下载并且等到安装完毕就可以了
在Ubuntu 18.04安装TexLive 2019
这个过程安装稍微要长一点,保持耐心就好,步骤如下:
- 到清华的开源软件镜像站下载TexLive的安装器https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/install-tl.zip(如果你想下载完整版的.iso文件也可以的,我没有试过这个怎么安装的,请自行尝试)
- 解压以后进入解压后的文件夹并执行这个命令来安装
sudo ./install-tl -repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/(在选项里面选择allow execution of restricted list of programs via \write18和create all format files,然后选择set up for portable installation) - 等待一段时间后,安装好的TexLive在/usr/local/texlive这个目录
- 安装字体配置器以备以后安装字体使用
sudo apt install fontconfig - 如果需要配置字体,随时把想要的字体文件(.otf,.ttf等)拷贝到/usr/share/fonts下面,然后运行
sudo fc-cache -f -v来扫描字体目录并生成字体信息的缓存
VS Code配置TexLive的运行环境并编译生成PDF文件
最后就可以来利用Ubuntu的TexLive环境来在VS Code里编译生成PDF文件了。下面着重讲讲VS Code的配置(对VS Code小白比较适用,高手勿喷)。
- 首先要安装VS Code的扩展程序叫做Latex Workshop(VS Code运行Latex必须的扩展),安装完在VS Code最左边会看到一个Tex字样的图标
- 点击这个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下)安装和配置的更多相关文章
- 在 Ubuntu 18.04 LTS 无头服务器上安装 Oracle VirtualBox
作者: Sk 译者: LCTT qhwdw | 2018-10-12 01:59 本教程将指导你在 Ubuntu 18.04 LTS 无头服务器上,一步一步地安装 Oracle VirtualBox. ...
- Ubuntu 18.04中截图工具Shutter的编辑按钮不可用的解决办法
Shutter是一个由第三方提供的在Ubuntu上运行的截图工具,相对于系统自带的截图工具(默认可通过Ctrl + Shift + Print快捷键启动截图),最大的优点就是可以即时对图片进行编辑,在 ...
- 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 ...
- 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 ...
- 如何在Ubuntu 18.04上安装和卸载TeamViewer
卸载命令:sudo apt --purge remove teamviewer 安装:https://www.linuxidc.com/Linux/2018-05/152282.htm 如何在Ubun ...
- Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量
Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量 Ubuntu 作为服务器系统使用的时候,系统盘的空间可能并不是很充裕,apt apt 着,根目录就满了.诚然, ...
- 在ubuntu 18.04下,无线网卡无驱动,连不上wifi,显示wifi没有适配器的解决方法
近来因为做东西要用到linux环境,所以自己的笔记本在win10的系统上又安装了ubuntu 18.04版本的双系统,但是安装好以后,没有无线网卡的驱动,显示wifi没有适配器等字样,很纠结,前后研究 ...
- WSL Ubuntu 18.04 LTS + VS Code
WSL Ubuntu 18.04 LTS + VS Code WSL(Windows Subsystem for Linux)使得Windows用户能够在Windows系统上使用原生的Linux环 ...
- Ubuntu 18.04下Couldn't connect to Docker daemon at http+docker://localunixsocket解决办法
一台服务器系统为:Ubuntu 18.04 LTS,上面建了git裸仓库,用于开发吧代码push到这里.同时WEB测试环境通过docker也部署在这台.通过git钩子post-receive,当有新代 ...
随机推荐
- Seconds from winning
英语沙龙 1. Who winned the game? Answer: It was not Paxton who would hoist the winner's trophy. Paxton h ...
- 一篇文章带你了解axios网络交互-Vue
来源:滁州SEO 1 **什么是axios呢?**了解,并去使用它,对于axios发送请求的两种方式有何了解,以及涉及axios跨域问题如何解决. 对于axios网络交互,去使用axios的同时,首先 ...
- soap,restful 两种web service实现方式比较
web service服务 目前常用的实现web service的方式有有两种 1.SOAP 原始的web service标准,一堆标准,不过这些标准是在开发框架中实现的,有上层接口,可以调用 2.R ...
- 903C. Boxes Packing#俄罗斯套娃问题(map使用)
题目出处:http://codeforces.com/problemset/problem/903/C 题目大意:求这组数据中数据出现的最大重复次数 #include<iostream> ...
- 虚拟机enp0s8网卡无法联网和开放linux端口
1.虚拟机enp0s8网卡无法联网解决 在 VirtualBox 中安装好 centos7 后,发现使用 ping 命令测试连接外网 IP 地址,会报错,或者host-only网卡无ip,mobaXt ...
- Pay Back(模拟)
链接:https://ac.nowcoder.com/acm/contest/1086/C 题目描述 "Never a borrower nor a lender be." O h ...
- 查询Redis缓存
package me.zhengjie.monitor.rest; import me.zhengjie.common.aop.log.Log; import me.zhengjie.monitor. ...
- 吴裕雄--天生自然python学习笔记:python 用pygame模块制作 MP3 音乐播放器
利用 music 对象来制作一个 MP3 音乐播放器 . 应用程序总览 从歌曲清单中选择指定的歌曲,单击“播放”按钮可开始播放, 在播放 xxx 歌曲”的信息. 歌曲播放的过程中,可以暂停.停止,也可 ...
- 吴裕雄--天生自然 JAVA开发学习: 泛型
public class GenericMethodTest { // 泛型方法 printArray public static < E > void printArray( E[] i ...
- 一个简单的jQuery回调函数例子
jQuery回调函数简单使用 比如说,我们想要点击某个按钮后触发事件, 先把一些指定内容给隐藏掉, 然后跳出相关信息的对话框. 如果使用普通的方法, 不用回调函数的话, 会有怎么样的效果呢? 效果是先 ...