欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在Windows系统中,如何轻松建立数学笔记环境(使用Vim, Vimtex, TeX Live与SumatraPDF配合)

最编程 2024-02-29 13:00:15
...

最新方案:vscode一站式解决
发现对于比较简单的记笔记需求,最容易配置的环境是直接在vscode中使用markdown相关插件(Markdown All in One 以及 Markdown Enhanced Preview)在需要的地方内嵌latex语法。
这种方式应该不需要安装latex相关,貌似是插件内置了KaTex的render

对于想折腾vim的同学可以继续看下面的攻略,目测原来的基于vim的方案在 *unix系统上会比较容易实现,因为vim在windows上的编码问题比较烦人


前言

看了知乎关于高效记数学类笔记的文章(https://zhuanlan.zhihu.com/p/61036165),决定自己动手在windows环境搭建。记录一下从头开始搭建的过程和遇到的问题,方便日后换电脑以后重建环境。
过程参考: https://zhuanlan.zhihu.com/p/93342783

整体规划

需求

  • 高效的录入
  • 针对于latex语法可以在光标移动后显示latex语句的编译结果
  • 整体环境保持轻量级

工具

编辑器 -- gvim

vim是轻量级的编辑器,虽然学习曲线比较陡峭,但是对于日常简单的编辑操作还是比较友好.gvim算是官方提供的的带简陋gui的vim。

Latex环境 -- Tex Live

关于latex环境的选择网上有很多文章,这些文章中提到tex live的频率较高,所以这波就打算用Tex live了

PDF阅读器 -- SumatraPDF

教程怎么说就怎么来,看上去应该是个相对轻量级的pdf,估计用福昕什么的也行但是最近对福昕感官很差,就不考虑了。
另外*nix系统上应该用Zathura,这个是原版攻略推荐的,Zathura好像不支持windows。而我用的SumatraPDF只支持windows系统

其他工具

不影响功能,外观向。先不涉及

开始施工

安装TexLive

  1. 参考:https://www.jianshu.com/p/8f8da0517a31
  2. 下载地址(清华源):https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/
    选择第一个iso文件(大概3G左右)。
  3. win10以上系统可以直接打开iso文件。双击运行路径下的install-tl-windows.bat。 在弹出的对话框中选择安装路径等参数,根据提示安装。确实按参考所说,用时较长,大约一个半小时。

安装SumatraPDF

下载以后直接安装即可
需要将安装后的目录添加到系统path环境变量中

安装vim

下载地址:https://ftp.nluug.nl/pub/vim/pc/gvim82.exe
下载后直接双击installer安装即可
记得不要选 Native Language Support 否则可能会出现中文相关问题

配置vim插件

安装vim-plug需要安装git for windows 教程很多,随便找一个就行
1.安装vim-plug:
参考:https://github.com/junegunn/vim-plug
将vim-plug的git readme中提到的plug.vim放入 vim安装路径vim82/autoload/ 。如果curl什么的不好使可以直接在目标位置新建空文件plug.vim,然后浏览器打开下载地址(地址指向的就是一个纯文本文件,文件名为plug.vim),将内容直接复制到刚才的空文件中。
下载地址:https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
2、安装vimtex:
2.1修改vim安装路径下的_vimrc文件(其实可以通过打开gvim窗口后 Edit -> Startup Setting找到这个文件)
在文件末尾增加

" plugins management
call plug#begin('~/.vim/plugged')
Plug 'lervag/vimtex'
let g:tex_flavor='latex'

" 阅读器相关的配置 包含正反向查找功能 仅供参考
let g:vimtex_view_general_viewer = 'SumatraPDF'
let g:vimtex_view_general_options_latexmk = '-reuse-instance'
let g:vimtex_view_general_options
\ = '-reuse-instance -forward-search @tex @line @pdf'
\ . ' -inverse-search "' . exepath(v:progpath)
\ . ' --servername ' . v:servername
\ . ' --remote-send \"^<C-\^>^<C-n^>'
\ . ':execute ''drop '' . fnameescape(''\%f'')^<CR^>'
\ . ':\%l^<CR^>:normal\! zzzv^<CR^>'
\ . ':call remote_foreground('''.v:servername.''')^<CR^>^<CR^>\""'

set conceallevel=1
let g:tex_conceal='abdmg'
call plug#end()

然后进入gvim的normal模式。运行命令:PlugInstall即可完成安装

TODO

按照这个过程配置之后确实可以通过vim直接写latex。但是还是不能实现光标移开后latex语法自动替换
这个功能看起来像是vimtex会自动设置隐藏字符,配置项是 tex_conceal='abdmg'然后通过vim自己的conceallevel=1来配置隐藏动作。但是不知道为什么在我这里没有生效

Referrence

  • 世界上最好的编辑器Vim:1700多页数学笔记是如何实时完成的
  • How I'm able to take notes in mathematics lectures using LaTeX and Vim
  • LaTeX 入门小记:Vim + Vimtex + LaTeX 初体验
  • vim配置管理与插件安装
  • windos下安装vim-plug
  • vim-plug git主页
  • vimtex git主页