ubuntu20.04下vim+vimtex编写latex的利器

之所以推荐vimtex编写latex是因为,vimtex属于实时编译预览的插件,使用起来更加方便。

  • vimtex   实时编译,并预览
  • vim-latex   只是编译和预览,并不能实时呈现,需要每次 “\ll”"\lv"
  • latex-live-preview   可以实时预览,但是不能编译生成pdf文档

而vimtex 基本上可以说是 vim-latex 和 latex-live-preview的综合,只需要一次 “\ll” ,更新内容后,记得保存,保存后就会刷新pdf文档。但是在当前目录下生成的中间文件有点多,有强迫症的同学会看着不舒服。

Latex的学习,请参考我的另外文章:

在开始正文之前,请看下效果图(左边是vim,右边是zathura)
在这里插入图片描述
系统环境

  • ubuntu20.04
  • i3wm,平铺式桌面管理器(我喜爱i3wm的简洁,比ubuntu原生自带的用着舒服)

安装中文环境的latex套件

既然要编写latex文档,那么编译套件必不可少。

或许有的同学会疑惑,不是要使用vimtex编写latex文档吗,为什么要安装latex套件?其实我刚开始接触的时候也会有这样的疑惑,

能看到本文的同学,应该大部分都多少会点c语言吧,这里以ubuntu下C语言编程为例来回答上述疑惑:C语言的编写使用的是文本编辑工具(例如vim,gedit等),编译使用的是gcc。

  • latex套件   就好比是gcc编译套件
  • vimtex   就好比文本编辑工具

安装命令如下:

sudo apt-get install texlive-latex-base latex-cjk-all texlive-latex-extra
sudo apt-get install texlive-xetex texlive-publishers

这里面的部分介绍,请参考我的另外一篇文章(ubuntu20.04下vim+vim-latex+latex-live-preview编写中文latex文档)中的 “安装中文环境的latex套件” 部分,这里不再累述。

vimtex的安装与配置

本文使用vim-plug插件管理器安装vimtex,如果不会使用vim-plug的同学,可以参考我的另外一篇文章(ubuntu20.04安装之后需要做的事),这里不再累述。

安装vimtex

编辑你本地的vimrc文件,录入如下代码

call plug#begin('~/.vim/plugged')
Plug 'lervag/vimtex'
call plug#end()

之后在命令行模式下输入:“PlugInstall”,即可安装vimtex,安装完成后会有finish标志,请注意查看。

注意,安装完vimtex插件后,也要安装vimtex的编辑器 “latexmk”

sudo apt-get install latexmk

PDF阅读器 zathura

vmtex推荐的pdf阅读器是zathura,这里也使用zathura。

“注意”:ubuntu14.04 对要求的zathura的支持不够完整,若有想在ubuntu14.04下实现该环境的同学,请使用其他的pdf阅读器,比如 “okular”

sudo apt-get install zathura xdotool
  • xdotool   是zathura必须的一个模块

vimtex 与 zathura的配置

打开自己的vimrc文件,录入如下配置(包括安装vimtex的配置)

filetype indent on

call plug#begin('~/.vim/plugged')
Plug 'lervag/vimtex'
call plug#end()

" vimtex配置
"
let g:tex_flavor='latex'
let g:vimtex_view_method='zathura'
let g:vimtex_quickfix_mode=0
set conceallevel=1
let g:tex_conceal='abdmg'
" 对中文的支持
let g:Tex_CompileRule_pdf = 'xelatex -synctex=1 --interaction=nonstopmode $*'

安装conceal需要的插件

有没有被只有的动图惊艳到
在这里插入图片描述
里面会把一些latex语法替换成相应的符号,并隐藏语法和 [,],$等,其实这个实时替换是通过如下两个插件实现的,但是有一点,并不是所有的语法都能预览替换,但是也能替换一大部分。

call plug#begin('~/.vim/plugged')
Plug 'KeitaNakamura/tex-conceal.vim', {'for': 'tex'}
Plug 'wjakob/wjakob.vim'
call plug#end()

vimrc配置

安装完相应插件后,需要把插件配置起来,如下是我的完整配置

filetype indent on
set number

call plug#begin('~/.vim/plugged')
Plug 'lervag/vimtex'
Plug 'KeitaNakamura/tex-conceal.vim', {'for': 'tex'}
Plug 'wjakob/wjakob.vim'
call plug#end()

" vimtex配置
"
let g:tex_flavor='latex'
let g:vimtex_view_method='zathura'
let g:vimtex_quickfix_mode=0

" 对中文的支持
let g:Tex_CompileRule_pdf = 'xelatex -synctex=1 --interaction=nonstopmode $*'
let g:vimtex_compiler_latexmk_engines = {'_':'-xelatex'}
let g:vimtex_compiler_latexrun_engines ={'_':'xelatex'}

set conceallevel=2   #这里建议写成2,写1时替换后的效果不好看
let g:tex_conceal='abdmg'

注意: 在vimrc中配好插件后,记得使用 “PlugInstall” 命令安装插件。

一个例子

用vim编写test.tex文件,录入如下内容后保存

%! Tex program = xelatex
\documentclass{article}
\usepackage[UTF8]{ctex}
\begin{document}

你好,china \\


$f^{(n)}(z) $

$\sqrt{x} $

$\underbrace{a+b+\cdots+z}_{26} $

$\pm $

$\sum \bigcup \bigvee \bigwedge \prod \coprod $

feichanghao

\end{document}

说明: 上述中的 “$ … $” 是开启行内数学模式,用于和文本合在一起使用。也可以使用 “ \ [ … \ ] ” ,使用 “\ [ … \ ]” 的格式如下:

\[
$\sqrt{x} 
\]

使用 “\ll” 命令编译该文件时,就会生成如效果图版的pdf文件。

又一个例子

latex使用tikzpicture 来绘制各种数学图形,其使用的包是 “\usepackage{tikz}”

%! Tex program = xelatex
\documentclass{article}
\usepackage[UTF8]{ctex}
\usepackage{tikz}
\begin{document}
  \begin{figure}
    \begin{tikzpicture}
      \draw[->](-1.2,0)--(1.2,0)node[left,below,font=\tiny]{$x$};
      \draw[->](0,-0.2)--(0,1.2)node[right,font=\tiny]{$y$};
      \draw[dashed](-1.2,1)--(1.2,1);
      \foreach \x in {-1,-0.5,0,0.5,1}{\draw(\x,0)--(\x,0.05)node[below,outer sep=2pt,font=\tiny]at(\x,0){\x};}
      \foreach \y in {0.5,1}{\draw(0,\y)--(0.05,\y)node[left,outer sep=2pt,font=\tiny]at(0,\y){\y};}
      \draw[color=red ,domain=-1.2:1.2]plot(\x,{1/(1+(e^(-1*(\x))))});
    \end{tikzpicture}
  \end{figure}
该图的表达式是:
\[
sigmoid(x) = \frac{1}{1 + e^{-x}}
\]
\end{document}

使用 “\ll” 命令编译该文件时,就会生成如下效果图版的pdf文件。
在这里插入图片描述
这个绘制数学图形的实现,主要是参考 uncle_gy 的《Latex 绘制函数图像》,十分感谢。

Snippets安装与配置

参考网上大神所述,下面给出我自己的相关配置

安装与配置

我还是使用的vim-plug做的插件安装

call plug#begin('~/.vim/plugged')
Plug 'SirVer/ultisnips'
Plug 'keelii/vim-snippets'  "这是别人的片段库,你也可以配置自己的,也可以根据这个来改
call plug#end()

" 片段配置,输入关键字后,按tab键补全片段
let g:UltiSnipsExpandTrigger = '<tab>'
let g:UltiSnipsJumpForwardTrigger = '<tab>'
let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'

使用

keelii的片段库中没有 tex.snippets 文件,而这个文件是latex 文档需要的片段路,命名规则是
根据文件后缀名来加载,tex文件就加载 tex.snippets。

tex.snippets 文件位置: ~/.vim/plugged/vim-snippets/UltiSnips ,我的配置如下:

priority -50 

snippet today "Date"
`date +%F`
endsnippet

snippet box "Box"
`!p snip.rv = '┌' + '─' * (len(t[1]) + 2) + '┐'`$1`!p snip.rv = '└' + '─' * (len(t[1]) + 2) + '┘'`
$0
endsnippet

snippet beg "begin{} / end{}" bA
\begin{$1}
        $0
\end{$1}
endsnippet

snippet mk "Math" wA
$${1}$`!p
if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
    snip.rv = ' ' 
else:
    snip.rv = ''
`$2
endsnippet

snippet dm "Math" wA
\[
$1
\] $0
endsnippet

上面的这些片段是参考国外小哥配置的,我们也可以根据自己的需要,在里面增删自己需要的配置。

小结

至此,算是把vim编写latex文档的配置工作完成了,也就是说可以初步达到《1700页数学笔记火了》文章描述的工作环境了,或许在编写的过程中,大家需要自己的代码片段快捷键,也都可以自己手动配置。

注意,也可以把英文关键字,替换为中文字符哦,如果有需要的话,也可以使用 Snippets 配置中文编程语言的开发环境。

下一步的计划是编写一篇《Latex入门教程》,有需要的同学,敬请期待啊……

参考资料

  1. https://blog.csdn.net/uncle_gy/article/details/78856164
  2. https://keelii.com/2018/08/26/vim-plugin-ultisnips-advanced-tips/
  • 9
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Ubuntu 20.04上安装Notepad需要使用Snap程序包管理器。根据引用和的信息,您可以通过在终端中输入以下命令来安装Notepad: sudo snap install notepad-plus-plus 这将下载并安装Notepad及其所有依赖项。请注意,您需要具有管理员权限才能运行此命令。安装完成后,您可以在应用程序菜单中找到Notepad并开始使用它。 请记住,Notepad是Windows和Mac OS系统上的一个简单但功能强大的代码编辑器,而Ubuntu上的Notepad-plus-plus是为类Unix操作系统提供的兼容版本。如果您对Notepad-plus-plus在Linux上的功能有任何疑问,您可以参考引用中提到的另一个名为Notepadqq的替代编辑器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Ubuntu 安装 notepad++ 以及 解决中文字体乱码显示 以及 字体倒了的问题](https://blog.csdn.net/jisuanji198509/article/details/118706780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [如何在Ubuntu 20.04安装NotePad++](https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/117193524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值