我在完成方面遇到了问题\cite
。在下面的屏幕截图中,你可以看到我完成时得到的结果\cite{ }
F9。它没有执行文档说它会这样做,例如:
- n显示一个我可以使用和探索的列表p。n并且p不执行任何操作。
- 显示过滤能力。f不执行任何操作。
- 另外,如果我没记错的话,它应该根据输入的几个字母进行搜索。所以如果我输入
\cite{foo
然后F9它会显示以开头的引用foo
。相反,它总是向我显示从同一位置开始的引用列表,而这个位置恰好是的顶部biblio.bib
。
我最近设置了我的 vim,所以我可能做错了什么。这是我的.vimrc 这并不重要,以下是tex 文件我正在编辑。你可以看到我有一个main.tex.latexmain
文件按建议。我甚至尝试在g:Tex_ProjectSource文件但它并没有解决问题。我还尝试禁用我的一些其他插件将它们移动到不同的目录,但也没有帮助。我是否忽略了一些显而易见的东西?
答案1
我建议设置一个最小的工作示例来确认问题出在 gvim 设置上,而不是其他文件和文件位置上。
在同一目录中,有一个测试 .tex 文件:
\documentclass{article}
\bibliographystyle{amsplain}
\begin{document}
test
\bibliography{TeX}
\end{document}
以及 TeX.bib
@book{diller97,
author = "Antoni Diller",
title = "{\LaTeX} Line by Line",
year = "1997",
edition = "1st",
publisher = "Wiley",
address = "Chichester, England"
}
@book{goossens99,
author = "Michel Goossens and Sebastian Rahtz",
title = "The {\LaTeX} Web Companion",
year = "1999",
edition = "1st",
publisher = "Addison-Wesley",
address = "Boston, Massachusetts"
}
在我的设置中,在\cite{}
该行后添加该行test
然后按下即可F9。
第二次检查:vim-latexsuite 是否适用于其他功能?例如,使用 gvim 时,主菜单上通常会有几个“TeX-...”条目。某些系统上的 vim-latexsuite 必须先安装,然后手动设置。例如,在 Ubuntu 11.04 上,您必须在安装后通过 synaptic 设置 latexsuite:
默认情况下,vim-latexsuite 未启用。安装软件包后,请阅读 /usr/share/doc/vim-latexsuite/README.Debian。
FWIW,我的目录 ~/.vim 有子目录,ftplugin
其中包括一个子目录,而该子目录又包含另一个子目录 latex-suite,还有两个文件:bib_latexSuite.vim 和 tex_latexSuite.vim。除非您还运行 Ubuntu 11.04,否则我不会期望有完全相同的文件,但我希望一些您的主目录中的 .vim 目录中与 latexsuite 和 bib 相关的文件(如果您使用的是 GNU/Linux)。
答案2
我的 archlinux 笔记本也有同样的问题。经过一晚上的 google 查找无果后,我打开了 vim-latex 的源代码。在 ~/.vim/ftplugin/latex-suite/texviewer.vim 中,我找到了引用补全部分:
elseif exists("s:type") && s:type =~ 'cite'
let s:prefix = matchstr(s:prefix, '\([^,]\+,\)*\zs\([^,]\+\)\ze$')
call Tex_Debug(":Tex_Complete: using s:prefix = ".s:prefix, "view")
if has('python') && Tex_GetVarValue('Tex_UsePython')
\ && Tex_GetVarValue('Tex_UseCiteCompletionVer2') == 1
exe 'cd '.s:origdir
silent! call Tex_StartCiteCompletion()
并且 Tex_StartCiteCompletion() 按照 ref 的说法完成引用完成工作。
所以,我认为问题出在python上。
我在我的 vim 中运行 python:
:python
并收到错误:
E319: Sorry, the command is not available in this version
这时,我觉得问题找到了——我的 vim 不支持 python。在 Archlinux 中,vim 软件包不支持 python,而 gvim 具有全部功能。所以,安装 gvim 后,一切正常!
答案3
在 ubuntu 12.04 上,我手动安装了 vim(版本 7.4)和带有致病菌的 vim-latex。我仅在 vim 上启用 python 时才修复了此问题(./configure --enable-pythoninterp=yes
)。
我似乎无法让该功能与来自存储库的 vim 包一起工作,尽管我承认我没有尝试vim-gnome
,正如上面建议的那样。
编辑:
\bibliography{}
此外,latex-suite 似乎在主文件中寻找表达式 ,不管这个表达式是否被注释,所以如果有几个\bibliography{}
被注释的,但其中的路径不是有效的,它将无法工作,因为它无法分辨注释的行,并且它会尝试解析这些路径,但失败。
答案4
我在使用 Mac 时遇到了与 LaTeX-Suite 相同的问题。我的<F9>
被映射到另一个功能(查看所有窗口)。我更改了文件,~/.vim/ftplugin/latex-suite/texviewer.vim
将其<F9>
替换为<F8>
(或任何您想要将功能映射到的可用键)。这对我有用。(或者,您可以编辑设置,使其<F9>
在 Mac OS 上不执行任何操作)
shell 和 vi 中的确切步骤:
vi ~/.vim/ftplugin/latex-suite/texviewer.vim
:%s/<F9>/<F8>/g