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,当有新代 ...
随机推荐
- lambda concurrent List<Map> to Map
Object c = Stream.of( CompletableFuture.supplyAsync(() -> { Map m = new HashMap(); try { Thread.s ...
- Nuxt.js学习(二) --- Nuxt目录结构详解、Nuxt常用配置项、Nuxt路由配置和参数传递
[TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LE ...
- sql 新增随机数
update RemoteDetection set humidity=round((rand()*3+29),0),TEMPERATURE=round((rand()*3+16),0),atmosp ...
- layui表格自动对齐
正常情况table应该是这样展示的 但是却展示成了这样 格子没对齐,找了半天原因发现是在table.render中的cols参数多了一个"," 不细心一点真看不出来 正常结构应是 ...
- shell、cmd、dos和脚本语言
问题一:Shell是什么? 操作系统可以分成核心(kernel)和Shell(外壳)两部分,其中,Shell是操作系统与外部的主要接口,位于操作系统的外层,为用户提供与操作系统核心沟通的途径.Shel ...
- android多框架实现短视频应用、3D手势旋转、banner控件、指南针、智能管家等应用源码
Android精选源码 android智能管家app源码 Android高仿拼多多分类列表 Android百度地图实例详解之仿摩拜单车APP RecyclerView的LayoutManager搭建流 ...
- CLOUD信用管理设置
1.参数设置(管理员账户) 2.客户管理-信用管理设置 3.信用检查规则设置 4.信用档案设置 5.涉及集团公司,母公司与子公司的设置 6.信用档案-对象类型可为客户及集团客户 7.信用特批权限设置 ...
- Hexo 下 Markdown 的配置与学习
本篇 更换 Hexo 下的 Markdown 渲染插件 学习 Markdown 基本语法 ✎更换 Markdown 渲染插件 ✎原因 Hexo 内置的默认渲染插件是 hexo-renderer-mar ...
- be accustomed to doing|actual |acute|adapt |
Sometimes you've got to play a position that you're not accustomedto for 90 minutes, " he said. ...
- cs231n spring 2017 lecture7 Training Neural Networks II
1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很 ...