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.
>

Reply via email to