您的位置:首页 > 电脑网络 > 电脑配件 > 用Vim编译Latex文档

用Vim编译Latex文档

luyued 发布于 2011-02-05 07:22   浏览 N 次  

Vim是一个很强大的编辑器。如果你已经知道了这一点,请自行跳过下一段。有很多人不知道Vim。比如我哥哥。每次看到我打开Vim,就很兴奋很好奇的问我是什么东东。

简单介绍一下Vim。Vim是一款文本编辑器,在Linux和Windows下都可以用。Vim虽然很奇怪,初学的人会非常不适应。但是熟悉以后,会觉得VIm非常强大。在使用Vim的时候,就感觉是在自己和自己说话。我要换一个词(Change a Word),就打"cw”;我要把这行和下一行连起来(join),就大“Shift+j”;我要在这行开头开始输入(Insert),就打“Shift+i”;我要在这行末输入(Append),就打“Shift+a”……由于需要把命令和输入的文字分开来。Vim就有多种模式:Visual(可视),Insert(插入),Normal(普通)。对于重复的命令可以录制,也可以写入_vimrc文件和插件里,实现定制。插件分为global和filetype。Vim不只是一款文本编辑器。也可以把它做成IDE。

我用的是gVim 7.3,Windows 7操作系统,已装CTex。

用Vim编辑Latex文档,网上有插件,但不是特别想装。我觉得gVim自带的syntax\tex.vim已经很强大了。

1. 折叠。

这很重要。写了20页的论文,不折叠的话要昏过去的。折叠的功能,简单设置一下就好。syntax\tex.vim里已经写好了。

" 在Tex文档中根据section,subsection设置折叠let g:tex_fold_enabled=1setfdm=syntax

2.隐藏字符

latex输入数学公式的时候,其恶心程度随着公式的复杂程度而上升。syntax\tex.vim已经写好了函数,只要稍稍设置一下就可以把一些代码隐藏掉,显示unicode。(注意:隐藏代码不会使文件发生改变)比如,

注意上图,光标所在行的代码并没有隐藏,因而隐藏代码对修改代码是不会有影响的。

代码如下:

let g:tex_conceal= 'admgs'set cole=2hi Conceal guifg=DarkMagenta guibg=#202020

其中,a = 重音/连写体 (accents/ligatures),d = 定界符,m = 数学符号,g = 希腊字母,s = 上标/下标,可以根据需要对g:tex_conceal的值删改。当然要把背景色和前景色设置的和vim的配色方案相称。

上面两段代码,写完后保存到$Vim\vimfiles\syntax\tex.vim中,vim73和vimfiles这两个文件夹,vim73是发布的文档,vimfiles里放下的插件。和自己写的插件。(一开始,我怎么弄都不有问题。后来悲剧的发现,我把它放在了$Vim\vimfiles\ftplugin里面,主要是这两段代码都要设置参数,这个参数是要给vim73\syntax\tex.vim里调用的,所以应该在gvim掉这个插件前就把参数设置好,否则vim73\syntax\tex.vim就会用默认值。)

3.编译

代码如下:

" 编译Latexmap ,r :call Tex()function! Tex() w !latex % silent !dvipdfmx %:r silent ! start %:r.pdf endfunction

代码放在$Vim\vimfiles\ftplugin\tex.vim里,这样每次开启tex文档后,都会定义编译函数。调用的话就按",r"。!表示用的外部命令。 %表示现在编辑的文档地址。%:r表示的是现在编辑的文档地址去掉后缀名以后的字符串。最后打开pdf文档。这段代码的执行效果,和用WinEdt编译的差不多,如果报错的话,也是在那个黑黑的框里面的报错的。

图文资讯
广告赞助商