Check out:

http://links.tedpavlic.com/shell_scripts/vimlatex

and/or

http://phaseportrait.blogspot.com/2008/03/fixing-vim-latex-compiler-error.html


LaTeX error messages have an interesting format. They use parentheses to 
start a block of error messages. For example...

(file1.tex

(file2.tex included from file1.tex
information message posted from file2.tex)

error from file1.tex

)

When parsing these error messages, the parser has to keep track of which 
"block" it's in. Vim's error parsing engine can handle this up until the 
point where there are multiple closing parentheses on one line. That is, 
if three blocks are closed at once with ")))" on one line, Vim will only 
see the first parentheses. So, when an error message from file3 comes 
up, sometimes Vim THINKS it's an error message for file2.


The only good Vim fix to this problem is to pipe the LaTeX process 
through a filter that prevents parentheses from stacking up. The 
"vimlatex" script above will do that. Unfortunately, I've only had a 
chance to implement that script for UNIX-like systems. Your e-mail looks 
like it was generated with Thunderbird for Windows, so I'm guessing that 
you're a Windows user. If that's the case, then you'll have to find a 
Windows-compatible way to do the same thing. One solution would be to 
install a few UNIX utilities that have been compiled for Windows. Namely:

*) bash
*) sed

If those two are available, you'll be able to use bash to execute that 
"vimlatex" script.


To reconfigure Vim to use the vimlatex pipe, you'll have to add a line 
to your .vimrc. See the LaTeX suite manual:

:help latex-suite

In particular, try:

:help compiler-rules

for more information. You'll have to use a line like...

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

or, if you need to prefix it with bash:

let g:Tex_CompileRule_dvi = 'bash \path\to\vimlatex latex 
-interaction=nonstopmode $*'


Does that get you on the right track?

--Ted



Felipe G. Nievinski wrote:
> Hi.
> 
> When I'm compiling a .tex file with wrong cross-references (\label{} 
> followed by \ref{}), I get a warning message indicating the offending 
> reference (which I find useful) but then my .tex file gets replaced in 
> vim with the corresponding .lox file (which I find annoying).
> 
> - Is that a bug or a feature? =)
> 
> Thanks,
> Felipe.
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft 
> Defy all challenges. Microsoft(R) Visual Studio 2008. 
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Vim-latex-devel mailing list
> Vim-latex-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/vim-latex-devel
> 

-- 
Ted Pavlic <[EMAIL PROTECTED]>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Vim-latex-devel mailing list
Vim-latex-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vim-latex-devel

Reply via email to