bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multitable widths problem


From: Jacob Bachmeyer
Subject: Re: multitable widths problem
Date: Fri, 26 Mar 2021 20:22:16 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0

Werner LEMBERG wrote:
In other words, we can't get the real width of the PDFs easily
within the texinfo framework.  A variant of `@columnfractions` that
accepts both fractions and sample strings would be thus ideal.
What prevents `lilypond-book` from determining the widths and
inserting them?  Perhaps with a @lilypond-width placeholder in the
initial source?

Assuming a LilyPond snippet

  @lilypond
  c4
  @end lilypond

you mean something like

  @multitable {@lilypond-width
               c4
               @end lilypond-width} {foo} ...
  ...

?

No, I mean something like:

@multitable {@lilypond-width} {foo} ...
@item
@lilypond
c4
@endlilypond
@tab
foo
@end multitable


The lilypond-book tool would replace {@lilypond-width} with something that has the correct width, sensitive to context. That is, if prototype entries are used, generate a string that has the required width, if @columnfractions is used, calculate the proper fraction, etc.

This does require the lilypond-book tool to buffer the table contents until the width of the "stretchable Lilypond column" is known, then output the corrected @multitable line and the table contents. Since @lilypond-width is a marker for a preprocessor substitution instead of an actual Texinfo command, a variant with an argument could be used to explicitly select which row should determine the column width, or to reference a previous table, or a previous definition, as in:

@lilypond-width as reference
c4
@end lilypond-width
...
@multitable {@lilypond-width{use reference}} {foo} ...
...
@end multitable
...
@multitable {@lilypond-width{use reference}} {bar} ...
...
@end multitable

where "reference" is an arbitrary name, which lilypond-book would translate to:

...
@multitable {XXX} {foo} ...
...
@end multitable
...
@multitable {XXX} {bar} ...
...
@end multitable

where XXX is some string that produces the appropriate column width.


-- Jacob



reply via email to

[Prev in Thread] Current Thread [Next in Thread]