Windows下vim-LaTeX和Pathogen的问题

很久都没有写博客了,不知道还有人看不。

很久以前,升级vim插件里的vim-LaTeX,突然发现Windows下无法编译任何的tex文件,反复报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Error detected while processing function Tex_RunLaTeX:
line 7:
E121: Undefined variable: s:target
E15: Invalid expression: s:target
line 10:
E121: Undefined variable: s:target
E116: Invalid arguments for function Tex_Debug
line 12:
E121: Undefined variable: s:target
E116: Invalid arguments for function Tex_GetVarValue('Tex_FormatDependency\_'.s:target) != ''
E15: Invalid expression: Tex_GetVarValue('Tex_FormatDependency_'.s:target) != ''
line 21:
E121: Undefined variable: dependency
E116: Invalid arguments for function Tex_Debug
line 25:
E121: Undefined variable: dependency
E116: Invalid arguments for function Tex_Strntok(dependency, ',', i) != ''
E15: Invalid expression: Tex_Strntok(dependency, ',', i) != ''
line 51:
E121: Undefined variable: initTarget
E15: Invalid expression: initTarget

然后也报错没有TCLevel这个命令,但是我在OSX下用是好的,所以就没管,只是没有在Windows下写TeX而已。

昨天才发现是这样的,不知道从哪个版本开始,vim-latex套件里面多了一个compiler文件夹,里面有一个tex.vim文件,按照官方的说法,这个文件夹应该是拷贝到你的vimfiles里面的。照理说pathogen应该是可以管理的,问题就在于Windows下,Vim的安装文件夹/compiler里面也有一个tex.vim,不知道是调用先后顺序还是怎样,Windows不会载入vim-latex里面的这个tex.vim,而是载入Vim自带的那个,所以……

解决方法就很简单了,把自带的那个tex.vim删了就行,一切变得正常

祝大家新年快乐!

用markdown来写LaTeX

注:LaTeX+gVim+SumatraPDF设置这篇文章里最后_vimrc设置有修改,将pdflatex改为xelatex,以便方便的用在LaTeX里面使用中文。

自从用了markdown这个轻量级标记语言,我是觉得写东西的感觉顺畅了许多,再加上Vim这个超级好用的编辑器,想不写东西都难。慢慢的拾起自己的读书笔记吧。

现在的问题是,我的文献综述是在LaTeX下面写的,在排版的时候倒是很方便,基本不用我自己操心什么的,但是写作的时候感觉着实是不好,特别是在分章节、加粗体的时候,操作相当的“重”,我就想着能不能把markdown和LaTeX结合起来,公式什么的使用LaTeX,在输入的时候使用markdown的风格。

在Google上搜索了一番,还真的让我找到了pandoc这个软件,让人惊喜的是他居然还支持参考文献的引用和列表生成,那我所有的需求都可以满足了。如何使用请查阅pandoc的用户手册

现在我用markdown文件写文献综述或者文献笔记,用markdown+LaTeX的语法,通过pandoc把markdown文件转换为LaTeX文本(如果没有参考文献的需要可以直接把markdown转化为pdf)。

为了在markdown里面更好的区分LaTeX代码,需要修改一下Vim的markdown语法高亮文件,路径在vim73/syntax/markdown.vim,添加以下几行:

1
2
3
4
syn region markdownTexInline start="\$" end="\$" keepend oneline
syn region markdownTexBlock start="\\begin{.*}" end="\\end{.*}" keepend
hi def link markdownTexBlock Tag
hi def link markdownTexInline Tag

这样在markdown文件里面就可以高亮显示用LaTeX写的多数数学式子了,实在是太方便。

LaTeX+gVim多次编译设置

如果你是按照我前一篇文章设置的话,文章中有参考文献或者目录而需要多次反复编译的时候,可能会出问题,需要的东西没有显示出来。

解决方案是,修改Vim安装目录\vimfiles\ftplugin\latex-suite\texrc,将

1
TexLet g:Tex_MultipleCompileFormats = 'dvi'

修改为

1
TexLet g:Tex_MultipleCompileFormats = 'pdf,dvi'

即可对pdf格式的输出进行多次编译

LaTeX+gVim+SumatraPDF设置

【本文仅讨论windows平台下设置】

##一句话介绍:

##安装及下载:

##配置:

  • 将下载的vim-latex-vimfiles.tar.gz解压到c:\vim\vimfiles
  • 将sumatraPDF的安装路径和c:\vim\vim73加入环境变量
  • 修改c:\vim\_vimrc文件,添加如下几行:

    1
    2
    3
    4
    5
    6
    7
    8
    filetype plugin on
    set shellslash
    set grepprg=grep\ -nH\ $*
    filetype indent on
    let g:tex_flavor='latex'
    let g:Tex_DefaultTargetFormat = 'pdf'
    let g:Tex_ViewRule_pdf = 'SumatraPDF -reuse-instance -inverse-search "gvim -c \":RemoteOpen +\%l \%f\""'
    let g:Tex_CompileRule_pdf = 'xelatex --synctex=-1 -src-specials -interaction=nonstopmode $*'
  • 将补丁解压到c:\vim\vimfiles\ftplugin\latex-suite,覆盖compiler.vim文件

OK,大功告成了,至于如何使用LaTeX写论文请待下一篇文章