ubuntu 9.10 安装 vim latex-suite

来源:互联网 发布:数据分类汇总怎么做 编辑:程序博客网 时间:2024/06/06 21:18

由于没从源里安装texlive,所以没法直接从源里安装kile、winefish、rubber。首先考虑用gedit编辑latex文档,并且下了一个gedit的latex插件,但是好像这个插件需要rubber(有没有人能解决这个问题阿,求助!),所以考虑用vim的latex-suite插件。

1、首先,下载这个插件

http://vim-latex.sourceforge.net/index.php?subject=download&title=Download

这个网页下面还给了安装方法,可我还是搞了很多次,终于成功,记录下来。

2、安装

2.1在/home/用户名 (即~目录)目录下新建.vim文件夹,.vimrc文件

2.2 在下载下来的vim-latex-1.5-20091002-r1074.tar.gz上点鼠标右键(我还不是很习惯用命令行作这些“日常事务”,呵呵;-)

选中解压得到的vim-latex-1.5-20091002-r1074文件夹下的所有文件及文件夹,拷贝到新建的~/.vim中

2.3 在~/.vim/ftplugin目录下新建文档tex.vim,输入以下内容(从vim-latex主页上拷贝即可):

" this is mostly a matter of taste. but LaTeX looks good with just a bit
" of indentation.
set sw=2
" TIP: if you write your /label's as /label{fig:something}, then if you
" type in /ref{fig: and press <C-n> you will automatically cycle through
" all the figure labels. Very useful!
set iskeyword+=:

2.4 在新建的~/.vimrc文档中输入以下内容,告诉vim加载latex-suite插件(也可以从主页上copy;-)

" REQUIRED. This makes vim invoke Latex-Suite when you open a tex file.
filetype plugin on

" IMPORTANT: win32 users will need to have 'shellslash' set so that latex
" can be called correctly.
set shellslash
" IMPORTANT: grep will sometimes skip displaying the file name if you
" search in a singe file. This will confuse Latex-Suite. Set your grep
" program to always generate a file-name.
set grepprg=grep/ -nH/ $*
" OPTIONAL: This enables automatic indentation as you type.
filetype indent on
" OPTIONAL: Starting with Vim 7, the filetype of empty .tex files defaults to
" 'plaintex' instead of 'tex', which results in vim-latex not being loaded.
" The following changes the default filetype back to 'tex':
let g:tex_flavor='latex'

2.5 设置Vim-latex-suite
我现在使用xelatex命令进行文档的编译,利用evince浏览生成的pdf文档。可以通过修改
~/.vim/ftplugin/latex-suite/texrc完成这些操作。
第88到92行,我进行了如下修改
88 if has('macunix')
89  TexLet g:Tex_DefaultTargetFormat = 'pdf'
90 else
91 TexLet g:Tex_DefaultTargetFormat = 'pdf'
92 endif
就是让tex总是被编译成pdf

第117行修改为
114 " ways to generate pdf files. there are soo many...
115 " NOTE: pdflatex generates the same output as latex. therefore quickfix is
116 " possible.
117 TexLet g:Tex_CompileRule_pdf = 'xelatex -interaction=nonstopmode $*'
使用xelatex完成 tex -> pdf 的编译

修改147行:
144 elseif has('macunix')
145  " Let the system pick. If you want, you can override the choice here.
146 TexLet g:Tex_ViewRule_ps = ''
147 TexLet g:Tex_ViewRule_pdf = 'evince'
指定用evince程序打开pdf文档。

2.4 重启vim
话说怎么个重启法?我就直接注销,然后重新登录了,呵呵呵,很笨很傻很有效;-)
(关闭Vim程序再打开,就算重启一次了,不必注销那么麻烦)
这时候用vim打开一个后缀为.tex的文档,就可以在vim中看到关于latex的工具栏选项了。

使用过程中的几个“窍门”:

1. 初用时需熟记的几个键:Ctrl-J,F5, F7,F9,Shift-F5,Shift-F7,/ll (compile快捷键),/lv(view pdf 快捷键),/ls,Ctrl-X Ctrl-K(根据字典补全) 等。

2.  写出/cite{ 后按 F9 无反应,没有给出交叉引用,原因在于vim中的Python接口对latex-suite来说有些问题,将其禁用即可。只需要将 ~/.vim/ftplugin/latex-suite/texrc 中默认的

打开~/.vim/ftplugin/latex-suite/texrc,将
TexLet g:Tex_UsePython = 1
                         改为
TexLet g:Tex_UsePython = 0
                      就行了!

3.为了能够正向搜索,应设定好参数并使用/ll编译,然而当工作目录下有makefile时,/ll并非执行设定的编译命令,而是执行makefile,于是导致无法正向搜索,郁闷了半天。其实只要禁用makefile即可,同样~/.vim/ftplugin/latex-suite/texrc中

TexLet g:Tex_UseMakefile = 0

4. 正向搜索设置,在 ~/.vim/ftplugin/tex.vim 中指定

let g:Tex_CompileRule_dvi='latex -src-specials -interaction=nonstopmode $*'

说明上说还要设定  :TCTarget dvi ,可是没有设也行,反而把这句话写在上面文件中时运行vi会提示错误,但是在vi中执行该命令却可以,反正能用就不管它了。设定好了以后需重新编译tex文件(用/ll),然后/ls可以搜索并预览。

5. 反向搜索,参考了 http://bbs.ctex.org/viewthread.php?tid=39072&extra=&page=1
注意反向搜索仅支持gvim,且gvim要以远程模式启动:

gvim --servername latex-suite --remote-silent   filename.tex

启动后  为了能够使用反向搜索,必须让 xdvi 知道当前编辑器是工作在 remote 模式下的
VIM,以便在用户搜索的时候调用编辑器显示查找结果。在你的 ~/.vimrc 或~/.vim/ftplugin/tex.vim中添加以下内容:

let g:Tex_ViewRule_dvi="xdvi -editor 'gvim --servername latex-suite --remote-silent'"

这样便可/ll编译后/ls查看了,反向搜索时记住要按着Ctrl键双击某处(似乎左键单击即可),就会跳到tex源文件的相应地方。

6.  为了方便,自己也做了一些设置,包括快捷键,在 ~/.vim/ftplugin/tex.vim 中:

map    <F4>   <ESC>:q<CR>      "F4关闭窗口(buffer)
map    <F2>   <ESC>:w<CR>/ll   "F2保存并编译
imap   <F2>   <ESC>:w<CR>/ll
map    <F3>   <ESC>/lv                  "F3查看
imap   <F3>   <ESC>/lv
nmap   <Tab>  <C-j>                    "用Tab键来代替Ctrl-j跳转,方便多了
imap   <Tab>  <C-j>
vmap   <Tab>  <C-j>
set keywordprg=:help         "按K键查找光标处单词的帮助,默认是man
cmap  xxx   !make               
set    iskeyword+=.,_       "便于fig.xx,prl101_12345等形式的搜索补全,否则默认情况下不把fig.xx当成一个词,而是当成fig和xx两个次,中间的“.”被当做词的分隔符了。

7. 其实只要 
latex -src-specials -interaction=nonstopmode  xxx.tex
    编译出的dvi文件,就已经包含了正向与反向搜索的信息,就可以正向或反向搜索,如果是用xdvi打开的话,按Ctrl左键单击便可反向搜索,只不过xdvi默认弹出的是 xterm -e vi 的窗口,其实是可以自己指定编辑器的,比如
xdvi -editor gedit
照样反向搜索,至于上面所加的gvim的参数只是保证不是每次反向搜索都要打开一个gvim窗口而已。

8. 临时取消快捷键定义,比如你想输入双引号,可是一打出"就自动变成``,那么要怎么禁止自动替换,直接输出"呢?
记住 <Ctrl-v> 即可!
<Ctrl-v>" 得到 "
SS<Ctrl-v>S 得到 SSS
~<Ctrl-v>~ 得到 ~~









原创粉丝点击