在 Vim 中手动从 Vim-LaTeX 加载包(因为自动检测并不总是有帮助)

在 Vim 中手动从 Vim-LaTeX 加载包(因为自动检测并不总是有帮助)

一般问题

如何在 Vim 中手动从 Vim-LaTeX 加载特定包以及如何为每个 LaTeX 文件自动执行此操作?

.vimrc我对从特定包的脚本中复制相关部分来作为解决方法不感兴趣。

具体问题

这只是一个补充部分,用来解释解决此类问题如何有用。

简短提醒

LaTeX 2ε 的简短介绍您可以阅读:

波浪符号“~”会生成一个无法放大的空格,并且禁止换行。

在波兰语中,我们不应该在行末留下短连词。~在这里很有用,但是在连词后写它很麻烦(并且会破坏打字流程,有时您可能会忘记它)。

Vim-LaTeXvim-latexsuiteDebian 中的软件包;我在 squeeze 中使用了 20100129-2 版本,以防万一)为每个包提供额外的定制。对于波兰语文本,我们使用包波兰语LaTeX 及其 Vim-LaTeX 对应部分会修改空格,因此它会自动在短单词后用波浪号替换空格。

问题

对于较大的 LaTeX 文档,将文本拆分到多个文件之间是一种常见的做法。而 Vim-LaTeX 中的包检测问题就出现了。如果我打开主文件.tex(即包含其他.tex文件的文件),其中\usepackage{polski}存在,那么空格替换可以正常工作。它不是您要写很多内容的文件,因此在这里它没什么用。但是如果我打开任何其他.tex文件(包含在主.tex文件中),该文件显然没有前言(因此其中没有前言\usepackage{polski}),包检测就会失败,因此空格替换在这里不起作用。

部分解决方案

我已经找到了一些有部分缺陷的解决方案。

au FileType tex call Tex_pack_one('polski')

.tex这很糟糕,因为如果您在新窗口中打开另一个文件(例如通过:sp或),它就不起作用:vs,即使这个文件有\usepackage{polski}(所以这是一个回归)。

简单测试。进入插入模式并写入i i i。您应该看到i~i~i。在新窗口中打开完整的 LaTeX 文档(包含前言和\usepackage{polski})。在那里重复测试。打开第三个 LaTeX 文档(不包含前言)并再次重复测试。

引用我在 vim-latex 邮件列表中关于使用 latex-master-file 的邮件

发送时间:2011 年 5 月 22 日星期日 11:23(GMT+02:00)

我删除了之前提到的au FileType tex call Tex_pack_one('polski')行以.vim.rc避免任何冲突并添加了空main.tex.latexmain文件。从 polski 包 PoV 情况与我的部分解决方案相同。只有第一个打开的文件可以正常工作,另一个带有.tex文件的窗口则不能。

我开始认为问题在于 vim-latex 内部的包加载方式(因为主要面向很少使用的菜单 [如果我错了请纠正我],应该只扩展一次)阻止多次执行包的脚本。此外,polski 包可能有一些错误。我了解 Vim,可以方便地使用它的编辑功能,但我还没有学过 Vim 脚本语言(编写简单的脚本.vimrc不需要任何特殊知识),因此我无法在这里判断,需要高级 Vim 用户/程序员的帮助。

答案1

添加这一行可以~/.vim/after/ftplugin/tex.vim起作用吗?

call Tex_pack_one('polski')

相关内容