On Sat, Nov 12, 2022 at 12:40:11PM +0100, Vincent Lefevre wrote: > > But "down" is the reverse of "up". So, if you know all the "up" > relations, you can deduce all the "down" relations, i.e. all the > children. Then the issue is to sort the children, but I suppose > that this could be done by looking at the "next" and "prev" > relations among the children.
Using the Next, Prev and Up to do that is no more nor less reliable than using the menus. When both menus and node directions match, they are equivalent, when they do not match, there is no reason to consider that menus are better than node directions or the other way around. I think that the solution, in that case, is to have consistent menus and node direction trees. The choice to use one or the other should then be probably based on simplicity of the code. If the issue is consistent menus and node directions, the best is probably to use the texi2any features that help with that, with two things that come to my mind: * using node automatic directions and automatic menus as often as possible * set -c CHECK_NORMAL_MENU_STRUCTURE=1 when texi2any is used to convert to Info, there should be warnings if the two structures do not match Some excerpts from the manual: Node and Menu Illustration "Technically, explicit node pointers can carry you to any node, regardless of the structure of the document; even to nodes in a different Info file. However, it would be very confusing for readers to have the ‘Next’, ‘Previous’ and ‘Up’ pointers lead to nodes that do not correspond, even loosely, to the next, previous and up node. " Writing a Menu "Technically, menus can carry you to any node, regardless of the structure of the document; even to nodes in a different Info file. However, the makeinfo implicit pointer creation feature (see Writing a @node Line) and GNU Emacs Texinfo mode updating commands work only to create menus of subordinate nodes in a hierarchically structured document. In a hierarchically structured document, it is much better to use cross-references to refer to arbitrary nodes. " -- Pat