I’m using VIM-Latex with Vim7 and pdflatex 1.4.0 beta. I noticed that quickfixing is not optimal because the parsing of the log output fails in several regards.
The first is that the log is formatted to wrap at column 79. Often the input line number of a warning is wrapped to a new line when the warning message is too long.
I found that Tex allows to adjust the line length in texmf.cnf but then the layout of the log is messed up to the effect that the file names to which the warnings belong are not matched anymore.
Here is what I experience:
--- 79 columns, full log attached ----
[23] [24 <./fig/res-seg-a1.png> <./fig/res-seg-b1.png> <./fig/res-seg-a2.pdf> <
./fig/res-seg-b2.pdf> <./fig/res-seg-a3.png> <./fig/res-seg-b3.png>])
(./chapters/sults.tex [25]
Chapter 2.
Package natbib Warning: Citation `popolvuh' on page 26 undefined on input line
3.
LaTeX Warning: Reference `sec:stage2' on page 26 undefined on input line 44.
----
As you can see the line number (3) is not on the line of the warning and breaks the errorformat pattern when the log is wrapped at column 79.
--- Column 87, full log attached ----
[23] [24 <./fig/res-seg-a1.png> <./fig/res-seg-b1.png> <./fig/res-seg-a2.pdf> <./fig/re
s-seg-b2.pdf> <./fig/res-seg-a3.png> <./fig/res-seg-b3.png>]) (./chapters/sults.tex
[25]
Chapter 2.
Package natbib Warning: Citation `popolvuh' on page 26 undefined on input line 3.
LaTeX Warning: Reference `sec:stage2' on page 26 undefined on input line 44.
----
Now, with longer lines the line number is matched as %l but the file name ./chapters/sults.tex is not where the efm expects it. The result is that the warning in the quickfix window has a line number but no file name.
The second issue is that – as you could see above – packages often have their own warnings, which are not matched by the errorformat in vim-latex. I managed to add "Package %.%# Warning" to the pattern. I think this is enough.
The third issue is that a lot of stuff is given in the quickfix window that doesn’t make sense – i.e., there are many lines with empty || addresses. Is it supposed to look like that or is my install messed up in any way?
Here’s what it looks like:
---
|| (/usr/share/texmf-tetex/tex/latex/base/size12.clo
|| (/usr/share/texmf-tetex/tex/latex/setspace/setspace.sty
|| (/usr/share/texmf-tetex/tex/latex/base/fontenc.sty
|| 0 = TS1 (full)
|| (/usr/share/texmf-tetex/tex/latex/amsfonts/amssymb.sty
|| (./chapters/titlepage.tex
/home/towolf/Spine/spine.aux|| LaTeX Warning: Label `fig:stereo' multiply defined.
|| Package microtype Warning: Unknown slot number of character
|| Package microtype Warning: Unknown slot number of character
|| (./spine.toc)
|| (./chapters/meth.tex [4
|| LaTeX Warning: Reference `sec:method-survey' on page 5 undefined on input line
|58 warning| LaTeX Warning: Reference `sec-corpus' on page 6 undefined on input line 58.
|| Package natbib Warning: Citation `Golub2004' on page 6 undefined on input line
|386 warning| LaTeX Warning: Reference `sec.res-dec' on page 14 undefined on input line 386.
|| LaTeX Warning: Reference `sec.res-complexity' on page 15 undefined on input lin
|500 warning| LaTeX Warning: Reference `fig.strata' on page 16 undefined on input line 500.
|746 warning| LaTeX Warning: Float too large for page by 15.13017pt on input line 746.
sults.tex|| Package natbib Warning: Citation `popolvuh' on page 26 undefined on input line
sults.tex|44 warning| LaTeX Warning: Reference `sec:stage2' on page 26 undefined on input line 44.
sults.tex|53 warning| LaTeX Warning: Reference `sec:stage3' on page 27 undefined on input line 53.
sults.tex|143 warning| LaTeX Warning: Float too large for page by 14.4069pt on input line 143.
|| Package natbib Warning: There were undefined citations.
|| LaTeX Warning: There were undefined references.
|| LaTeX Warning: There were multiply-defined labels.
||
---
Since waiting for my earlier mail to appear on the list I have been analysing the errorformat pattern and it appears to not work with my kind of LaTeX output.
I have switched to TeXLive 2005 with the standard PDFTeX 1.30.5 to see whether TeTeX was responsible but there a no changes. Could it be that the pdfetex-based "latex" and "pdflatex" call have different output than the original "latex"? I managed to hack a group of efm patterns together that work naively on non-greedy matching of parens:
exec 'setlocal efm+=%-Q%.%\\{-})%r'
exec 'setlocal efm+=%-P%.%\\{-}(%f%r'
This, however, still loses some file names and on the file name stack more file names are popped than pushed.
Does anyone experience similar issues with quickfixing, i.e., (1) missing line numbers, (2) missing file names, (3) cluttered output in the quick-fix window, (4) broken log preview? As I understand the only lines appearing in the output should be errors and warnings complete with their locations so that navigation works.
- Tobias
spine-87.log.gz
Description: GNU Zip compressed data
spine-79.log.gz
Description: GNU Zip compressed data
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ Vim-latex-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/vim-latex-devel
