Mon 17 Aug 2015 05:41:07 PM UTC, comment #7:
After looking at what the generated_files_get function does, I am now understanding that it scans metafont-for-beginners.log for finding output files produced by etex. To do that, grep is using the '^\\openout[0-9]' regexp. But there are NOT any such match in the metafont-for-beginners.log file, and actually file openings are not traced at all.
So, the story seems to be that:
- either MikTeX etex does not do tracing properly, or
- latest texinfo.tex disables tracing at some point
Are you using the latest texinfo.tex to do the tests ?
FYI, latexmk uses the -recoder option in order to trace in a separate file what files are open, that is probably safer to do this way, this way you are robust to anything that the user is doing --- but maybe you rely on this that the Texinfo user will do less tricky things than the LaTeX user, :-/ :-P
|
Mon 17 Aug 2015 05:19:43 PM UTC, comment #6:
Dear Gavin,
BTW, the crux of the bug is maybe in the two first lines of the verbose coming immediately after etex log:
The list of "new xref files" is empty, and therefore the compilation is supposed to be complete.
Supposing that, as Karl, you cannot reproduce the bug, please check whether the second line is not empty in that case.
|
Mon 17 Aug 2015 02:38:17 PM UTC, comment #5:
Hello Gavin,
First of all, I don't know why Karl could not reproduce the problem and he got the toc complete in one texi2pdf run (equating two tex runs Under the hood).
In order to sort this bug out, what I suggest to you is the following:
Then there are only two possible cases:
- Either you can reproduce the problem, and then:
- the metafont-for-beginners.pdf from your compilation will have an empty toc
- the two log files will be identical except for the compilation time on the first line
- Or you cannot reproduce the probleù, and then:
- the metafont-for-beginners.pdf from your compilation will have a complete toc
- the two log files will be differ a lot and the log from compilation will show a second etex run
Please not that in my case the verbose outputs the following (vebatim parts are output to the standard error stream):
log file
|
Sun 16 Aug 2015 09:06:30 PM UTC, comment #4:
Dear Karl et alii,
Sorry for the very-very long delay before doing any feedback. So, following Karl's request, I got the latest texi2dvi and texinfo.tex from the SVN repo and did the test again, and it still fails to make the toc complete after one run from scratch.
FYI, I had to do some small tricks in order to ensure that texi2pdf calls texi2dvi shell script in the same directory, because on my machine I had a texi2dvi.exe in MikTeX distribution, and MSYS was taking this one instead of the latest texi2dvi from the Texinfo project as I have MikTeX bin dir in the path...
Sorry also for the incorrect information in my very first post : actually the problem exists both with metafont-for-beginners.texi (the ASCII encoded English version) and metafont-for-beginners-fr.texi (the UTF-8 encoded French version). So it has nothing to do with accents or so contrary to my first guess. Probably, when I first made the test it had worked with the English version because the compilation was not really from scratch (I presume that some aux file was remaining from a previous compilation...)
Anyway, in order to compile from SCRATCH I now launch this command (please note that I also activated the verbose option in order to get a more complete log):
I attached the log file metafont-for-beginners.log, and by browsing it and looking at what the xref_files_changed from texi2dvi is doing I realized what the root cause of the issue is. You are grepping the log only for "Rerun to get" or for "biblatex.*(re)run" in order to trigger the etex re-run, but there aren't any such match in the log file, rather one can read in it:
So, I made some patch (attached as texi2dvi.diff) to grep the above also, and with it, it works fine: texi2dvi runs etex twice, and the toc is therefore complete.
BTW, maybe one single grep pass would be more efficient provided that the regexp would be an OR of the 3 regexps in use.
(file #34658, file #34659)
|
Sun 19 Oct 2014 05:46:30 PM UTC, comment #3:
hi Vincent - sorry for the long-delayed reply. Unfortunately I cannot reproduce the problem. With both metafont-for-beginners.texi and -fr.texi (as in the latest zip attachment), simply running texi2pdf on them resulted in a pdf with a toc that looked fine to me. It ran pdftex twice, as needed and expected.
Be sure and get the latest texi2dvi and texinfo.tex from http://ftp.gnu.org/gnu/texinfo. If directly running texi2pdf still fails for you, let me know. (Not involving latexmk, of course ...)
Best,
Karl
|
Fri 05 Sep 2014 06:28:18 PM UTC, comment #2:
Nothing new about the problem itself, I just attached a finalized (well nothing is ever finalized) of my translation of metafont-for-beginner to French --- with porting from LaTeX2.09 to Texinfo format.
It is more of removing plenty of bad French spelling and clumsy translations than changing anything about what is causing the issue.
Please note that the issue is there both for the French and English texi files.
(file #32033)
|
Mon 01 Sep 2014 10:35:11 PM UTC, comment #1:
thanks for the report, vincent. i'll look into it as soon as i have a chance. (FYI, texi2dvi uses cmp to determine whether the various generated files have changed, in the xref_files_changed fn. But there is a lot of fragility in the whole process, so I'm not surprised it fails sometimes.)
|
Mon 01 Sep 2014 09:36:59 AM UTC, original submission:
Introduction
Hello Karl, Gavin, Eli et ali,
Sorry to be again bothering --- I hope that you're not yet fed up with me.
Description of attachments
Please compare attached log0.txt and log1.txt
Both are compiling the same metafont-for-beginners-fr.texi document, but log0.txt is using latexmk, while log1.txt is using texi2pdf.
Command line is on the 3rd line of each log file and all the other files are in metafont-for-beginners-src-texinfo.zip., so you can try to reproduce the problem.
Description of problem
Now the problem is that tex2pdf does not get the table of content made.
I suspect that texi2pdf is scanning for the log to find some specific string whether or not trigger recompilation, and is bothered by the log being in UTF-8 in the case of French (because yes, we French, among many other people, need some accents on letters ;-P ).
I think so because issue is specific to metafont-for-beginners-fr.texi: with the original metafont-for-beginners.texi document in English there is no such problem.
VBR,
Vincent.
|