On 2 March 2015 at 09:38, Sergey Poznyakoff <[email protected]> wrote: > Hello, > > When used with -E option, texi2dvi (more precisely, makeinfo) issues the > following diagnostics: > > -:LINE: @menu seen before first @node > -:LINE: perhaps your @top node should be wrapped in @ifnottex rather than > @ifinfo? > > This happens even though the @top node is inclosed in @ifnottex, as in > the attached document. This is because the entire conditional gets commented > out prior for being piped to makeinfo by a sed expression on lines 1593- > 1595. The intent is obviously to eliminate the top node from the output. > I'm not sure what to do with that.
There are even more warnings in a more complicated document because of the structuring checks done by makeinfo, e.g. adding a second node "Chapter 1" gives -:13: @menu seen before first @node -:13: perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo? -:18: warning: node `Chapter 1' is next for `Preface' in sectioning but not in menu -:23: warning: unreferenced node `Chapter 1' -:23: warning: node `Preface' is prev for `Chapter 1' in sectioning but not in menu I thought the @menu as well could be included within the @ifnottex, but this only gets rid of the error message about @menu before first @node. I see from texi2dvi that the @ifnottex conditional part is removed before makeinfo gets it using sed. Even without this, makeinfo still gives these errors, when run as e.g. cat t.texi | makeinfo --macro-expand=- --iftex Experimenting, I found that running cat t.texi | makeinfo -c TEXINFO_OUTPUT_FORMAT=plaintexinfo -o- --iftex would eliminate all the error messages except the first one, although there would be no output at all. Including the @menu within @ifnottex seems to work okay, though: $cat t.texi | makeinfo -c TEXINFO_OUTPUT_FORMAT=plaintexinfo -o- --iftex \input texinfo @c -*-texinfo-*- @setfilename t.info @settitle Test @node Preface @chapter Preface word word @node Chapter 1 @chapter Chapter 1 blurble blurble @bye Presumably not as much validation is being done for the "plaintexinfo" output format. If we can encourage the top @menu to be included within @ifnottex as well, then invoking makeinfo in this way in texi2dvi could solve the problem. I also tried cat t.texi | makeinfo -c TEXINFO_OUTPUT_FORMAT=parse --macro-expand=- --iftex but this prints no output at all, which may be the expected behaviour.
t.texi
Description: TeXInfo document
