At 03:44 PM 8/6/2002 +0200, Magnus Erixon wrote:
>It should be quite easy to find out where things got wrong.

Thanks for the tip.  What exactly should I search for in the log-file?  I

Below is how the end of my log-file looks in this particular example. After
producing 325 pages, LaTeX complains about an error on "input line 21".
After a time-consuming binary search, commenting out half of my \input
lines at the top level each iteration, I determined that the indicated
"line 21" was in a file processed just after page [26] was emitted.  There
is no indication I can find anywhere in the log file that points back to
that file as a possible source of trouble.  (There could have been a
warning about an unclosed \begin{itemize} when the offending file was
processed after page [26], but there wasn't.  In fact, the only occurrence
the word "itemize" in the log was after page [325] in the output, with no
indication of relevant source file.)

In any case, I believe my original suggestion remains a needed
improvement.  To summarize that, after "input line 21", LaTeX should have
printed "in file matlab1.tex".  Furthermore, "l.100" in the log-file (see
below), the line at which the error was detected, should have been printed
as "filters.tex: line 100:", or equivalent.

I would be happy to supply the full log file, or even the entire directory
if anyone is interested.  However, surely others have had this problem on
occasion.  It can really be a time sink.

Julius Smith
CCRMA, Stanford

...
[325])

! LaTeX Error: \begin{itemize} on input line 21 ended by \end{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
...

l.100 \end{document}

? x

Here is how much of TeX's memory you used:
2916 strings out of 20887
31880 string characters out of 196273
92053 words of memory out of 350001
5621 multiletter control sequences out of 10000+15000
19851 words of font info for 76 fonts, out of 400000 for 1000
21 hyphenation exceptions out of 10000
32i,15n,31p,564b,777s stack positions out of 3000i,100n,1500p,50000b,4000s
Output written on filters.dvi (349 pages, 958056 bytes).

> When LaTeX encounters an error, we see something like the following:
>
> ! LaTeX Error: \begin{itemize} on input line 21 ended by \end{document}.
>
> However, I typically have many "\input" statements, so it is often annoying
> to figure out which file contains the offending line. (In an emacs shell,
> I routinely type "\C-u\C-r([a-z]" to get back to the last opened file, but
> this is only right some of the time.) It seems it should not be hard to
> improve the error message to say instead
>
> ! LaTeX Error: \begin{itemize} on input line 21 in foo.tex ended by
> \end{document}.
>
> As an optimization, if only one user file has been seen, "in foo.tex" could
> be suppressed.
>