Le 12/11/2022 à 00:23, Carl Sorensen a écrit :
IIUC, columns are spaced with springs and rods considering collisions between adjacent columns.

The hope was that one could create negative space in the column with no lyricText, thus allowing the adjacent column to overlap the column with no lyrics and not have it be considered a collision.  Then the standard spacing rules could be followed, but the columns could overlap.

Maybe this makes no sense at all (I'm clearly not at expert -- or even a novice -- in the spacing engine).  It was just a thought of a way to try to approach the problem by changing grobs, instead of the spacing engine.



Preventing the spacing engine from seeing a collision somewhere is
not a problem. You can use extra-spacing-width for that. The problem
is that in this situation:



       |                     |                       |
    lyric_word   exceedingly_long_lyric_word another_lyric_word
       |                     |                       |
       |                     |                       |

   column 1               column 2                column 3


If what you need is less space between column 1 and column 2,
you can keep the long lyric word aligned on the right, making
for a small space:


Possibility 1
==============

      |         |                             |
    lyric_word  exceedingly_long_lyric_word   another_lyric_word
      |         |                             |
      |         |                             |

   column 1   column 2                   column 3


If, on the other hand, what you need is less space between
columns 2 and 3, you will do

Possibility 2
=============

     |                               |         |
   lyric_word    exceedingly_long_lyric_word  another_lyric_word
     |                               |         |
     |                               |         |
  column 1                     column 2     column 3



In order to prevent the lyric words from colliding, you normally
need to set up a minimum distance from column 1 to column 2
and from column 2 to column 3. If you want to keep both
alignment possibilities open in order to leave the spacing
engine more freedom for spacing notes equally, the minimum
distance from column 1 to column 2 needs to be as small
as the distance there is in the first possibility. Otherwise,
you will just prevent that possibility from happening
by forcing columns 1 and 2 to be too far from each other.
Similarly, the minimum distance from column 2 to column 3
needs to be no larger than the distance there is in possibility 2.
The issue is that this doesn't tell the spacing engine that
the distances from 1 to 2 and from 2 to 3 can both be
small, but cannot be small *at the same time*. So, it might
choose to do


       collision           collision
         |                    |
         v                    v
   |          |        |
  lyric_word  |      another_lyric_word
   |  exceedingly_long_lyric_word
   |          |        |
 column 1  column 2   column 3



I hope it's clearer explained in this way.

Best,
Jean

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to