-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adjustable line length #1418
Comments
I am trying to prepare a booklet with interleaved Gregorio and Lilypond snippets, and I would like the staff lines to end at the end of the snippet content (i.e., ragged-right the way that Lilypond renders it). Am I correct that this ticket is tracking essentially that behavior? |
You are correct, this issue is exactly about that behavior. Sent with GitHawk |
After #1608, I think this could be easy to squeeze in before Saturday, but is it worth it? ![]() |
I don't think this change will require any change to the executable, which means we can easily make it a mid-year CTAN release. I think our efforts are best spent closing as many of the open PRs as possible by Saturday. If we have time during the Pretest to revisit this, then great, but if not, we can look to incorporate this into a June release. |
Is the above picture what this is supposed to look like? Is there also a need for a mode where the notes are ragged right, but staff lines (and custodes) extend all the way to the right? There are already options
For symmetry should there be |
Staff lines should be justified on all lines except (possibly) the last. I cannot envision a need for staff lines to be ragged on other lines (as is shown in your image) that wouldn't be better served by having multiple scores. As I see it the desirable options are as follows:
I might split 2 based on where a final custos is placed: either at the end of the notes or at the end of the line: #1434. As I see it, #1576 is simply option 3 with a paper size wide enough to fit the score to a single line. GregorioTeX itself does not historically play with the paper size, but rather adapts scores to fit the paper size of the document it finds itself in. I'm not convinced that we should be changing that. |
Ah, I totally misunderstood this issue then. So (1) is the default, (2) is Regarding #1576, maybe I misunderstood that too. I thought it was about writing a very short score and typesetting it inline in a paragraph, like ![]() |
The current default is actually 2, not 1, but yes, it is Really short scores like the ones are in your picture are accomplished by putting the score in a box (or a minipage environment) and should already be possible. #1576, I think, is about creating a score suitable for a side scrolling screen (as the piece is sung). This is sort of already doable in the sense that I can already pick a really long page that forces the score to one line. However, since all staff lines are full page with currently, there's a whole lot of trial and error needed to find a suitable page size (one that doesn't leave a length of blank lines or over stretches the notes). With a ragged last line (as proposed here) then it's only necessary to find something wide enough for the score to become a single line. The ragged option will take care of keeping the line overstretching or having blank lines continue beyond the end of the music. Though now that I think about it, putting really short scores into a box also involves a whole bunch of trial and error to get the box width right. Thing is I don't know how we get around that unless we can determine a sort of "natural width" for a score that can be used (perhaps on the second pass) to set the box width. |
Right now the staff lines are drawn first on every line and their length is based purely on
\hsize
at the time the score begins (in the case of the first line, this is suitably shortened to account for the initial). While I don't think there is any way to get around the "drawn first" principle, I think that the basis of their length can be adjusted, allowing for more dynamic line lengths.What I think should be possible is the following:
certain element can be known to end a line (e.g. an end of line custos or a final bar line) and should be able to "save" the value of its right most extent and which line of the score its on, much like high/low elements save their heights, and this value could be used in a second pass to determine the length of the staff lines for that line
the ragged line break
Z
could do the same thing for the arbitrary element it is attached to when there is no end of line custosthe
\grechangenextscorelinedim
command could be expanded to allow the user to manually set the line length of a particular line in the next score. In this case, decision on where to break the syllables on the line should also be affected.I think idea 3 is actually fairly independent of the other two and may be the easiest to implement, but it also leaves most of the work on the user.
The text was updated successfully, but these errors were encountered: