[I composed in HTML because of line breaking, sorry]
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 after a line break 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 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, 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 is with a line number but
without the 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:strereo'
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.
||
---
My approach would be to keep the longer output lines and adjust the efm
so it catches the file names again. Any thoughts on that plan?
- Tobias
|