Thank you so much for those examples, Gavin. I will definitely check them out. It's funny, I'm a regular LilyPond user and have actually looked at their documentation for insight into other TexInfo practices, but I didn't think to look at them for this!
Benjamin Kalish Cataloger / Technology Librarian Forbes Library Technical Services bkal...@forbeslibrary.org 413-587-1011 Support Forbes Library: - Consider giving a gift <https://forbeslibrary.org/giving/donate-online/> to Forbes Library - Vote for the Friends of Forbes in the Florence Bank Community Grant Program <https://www.florencebank.com/vote>. - Join the Friends of Forbes today <https://forbeslibrary.org/friends/>! Currently reading: *Beautiful World, Where Are You* by Sally Rooney For information about accessibility at the library, please see: http://forbeslibrary.org/accessibility/ On Mon, Feb 3, 2025 at 4:11 PM Gavin Smith <gavinsmith0...@gmail.com> wrote: > On Mon, Dec 23, 2024 at 11:27:51PM +0100, Patrice Dumas wrote: > > On Thu, Dec 12, 2024 at 08:59:52AM -0500, Benjamin Kalish wrote: > > > Two related questions: > > > > > > - I believe that @include paths are always relative to the location > of > > > the root file. Is that correct? > > > > Not necessarily, the @include arguments are searched for > > * in directories specified with -P > > * in the root file directory > > * in the current directory > > * in directories specified with -I > > > > > I'd love to be able to @include using paths > > > relative to the file doing the including. Is that possible? > > > > It is not possible, and I think that it would be confusing, but you can > > use -I to add the directory to the @include files search path. It is > > not exactly the same, but I think that it is close enough. > > Coming back to this, it may not be possible to make @include relative > to the location of an included file. > > If I understand, it is like file.texi has "@include A/one.texi", and then > "A/one.texi" has "@include two.texi", which is found as "@include > A/two.texi". > > This would mean that we changed the search path for included files during > an include. It no would longer operates as a simple textual inclusion. > > It would, of course, be possible to implement anything with texi2any, > but possibly not with TeX. There is a discussion of this in the TeX FAQ: > > > Unfortunately, TeX doesn’t have a changeable "current directory", > > so that all files you refer to have to be specified relative to the same > > directory as the main file. Most people find this counter-intuitive. > https://texfaq.org/FAQ-docotherdir > > That FAQ link refers to an "import" package for LaTeX that is a possible > solution, which we would have to reimplement for texinfo.tex if were to > try to accommodate such possibilities, but I doubt that it is worth the > effort. It would involve adding a new command other than @include (like > "@import") with a different syntax. > > In response to your query: > > For example, if you have a directory of Texinfo files to be included, do > > you have an index file to include them all in the proper order? What do > you > > call it, and does it live in that directory, or the directory above? I > > haven't settled on a convention yet, and the mix of approaches is > > definitely getting confusing. > > I don't have a clear idea of what to recommend. I assume that whatever > you come up with is fine. > > One larger manual is emacs.texi, which uses @include, but not with > subdirectories: > > https://git.savannah.gnu.org/cgit/emacs.git/tree/doc/emacs > https://git.savannah.gnu.org/cgit/emacs.git/tree/doc/emacs/emacs.texi > > The Lilypond manuals use subdirectories although I'm not familiar > with these. You could look at these links: > > https://git.savannah.gnu.org/cgit/lilypond.git/tree/Documentation/en > > https://git.savannah.gnu.org/cgit/lilypond.git/tree/Documentation/en/notation.tely > > You see the "notation" file includes files under a "notation" subdirectory, > with lines such as: > > @include en/notation/notation.itely > > That seems similar to the layout you described. >