Skip to content

v4.2.0

Compare
Choose a tag to compare
@rpspringuel rpspringuel released this 24 Sep 19:11
· 585 commits to master since this release

It's taken a bit longer to get through the release cycle than normal, but hopefully this release of 4.2 is worth the wait.

Anyone who tested out one of the betas or release candidates for 4.2 is advised to uninstall that version before installing the stable release. For Mac users this means using the version of Uninstall-Gregorio*.pkg which goes with the version you're uninstalling, not the one below. Users of 4.1 or earlier should have no problems upgrading to 4.2.

UPGRADE

Executable file name

In order to facilitate installation alongside TeX Live, the version number is now appended to the gregorio executable file name. In version 4.2.0, the filename is gregorio-4.2.0. If you run the executable directly, you will need to modify your procedures and/or scripts to use the new name. Alternately, creating a symbolic link, if your system supports it, may work for you.

If you auto-compile or force-compile your GABC files and are not using the Gregorio packaged with TeX Live, you will probably need to use the --shell-escape option when compiling your .tex files. Alternately, you can add the new filename to your system's shell_escape_commands TeX option.

Unfortunately, there appears to be no easier way to let a user-installed Gregorio coexist with the TeX-Live-packaged Gregorio. Please note: in TeX Live 2016, which includes Gregorio 4.1.1, the executable filename does not include the version number, though that will change starting with TeX Live 2017.

Stemmed oriscus flexus orientation

As of version 4.2, the orientation of the stemmed oriscus flexus (gOe) is consistent with the unstemmed oriscus flexus (goe) in that the oriscus points downwards (since the note which follows is of lower pitch). If you prefer the oriscus to point upwards, you will need to use the 1 modifier (as in (gO1e)), which will force an upward orientation of the oriscus.

Oriscus orientation at the unision

As of version 4.2, when the note after the oriscus is at the same pitch as the oriscus, the oriscus will point downwards by default. If you prefer it to point upwards, append the 1 modifier to force the upward orientation.

Podatus followed by a virga

As of version 4.2, a podatus followed by a virga of the same or higher pitch as the second note in the podatus (e.g., (eghv)) will be kept together, disallowing a line break between the two shapes. If you would like to allow a line break between the two shapes, use a / or some other breakable space between them (e.g., (eg/hv)).

Penalties

As of version 4.2, the penalties should be changed by using \grechangecount rather than the old way of redefining macros. The following tunable values are available (they have the same name as their old macro counterparts, minus the gre):

  • brokenpenalty
  • clubpenalty
  • endafterbaraltpenalty
  • endafterbarpenalty
  • endofelementpenalty
  • endofsyllablepenalty
  • endofwordpenalty
  • finalpenalty
  • hyphenpenalty
  • looseness
  • newlinepenalty
  • nobreakpenalty
  • pretolerance
  • tolerance
  • widowpenalty

See GregorioRef for descriptions.

Additionally, if you were redefining \greemergencystretch, you should now be changing the emergencystretch dimension using the \grechangedim command.

Custos with alteration

If the note following a custos has an alteration (flat, natural, or sharp), the custos will now also have that alteration typeset before it. If you prefer the old behavior, use \gresetcustosalteration{invisible}. This setting may be switched to visible and invisible between scores.

Punctum inclinatum orientation

As of version 4.2, a different glyph is used for puncta inclinata in an ascent versus puncta inclinata in a descent. However, because the two shapes clash with each other, Gregorio will attempt to use the same shape for all notes within a string of puncta inclinata. This is accomplished by a heuristic algorithm that determines the glyph to use, but tastes differ, so you may override the shape by appending 0 (to force descending) or 1 (to force ascending) after the letter used for the punctum inclinatum.

Two additional distances have been added to handle strings of puncta inclinata which both ascend and descend. descendingpunctuminclinatumascendingshift will be used between two descending punctum inclinatum glyphs which ascend in pitch, and ascendingpunctuminclinatumdescendingshift will be used between two ascending punctum inclinatum glyphs which descend in pitch.

Styles spanning syllables

From version 4.2, gabc styles persist through syllables so you can now, for instance, style an entire verse differently from the rest of the piece by starting the style at the beginning of the verse and ending it at the end of the verse. This covers italics (<i>), bold (<b>), small capitals (<sc>), underlined text (<ul>), colored text (<c>), and "teletype" text (<tt>).

Prior to version 4.2, Gregorio inconsistenly indicated style errors. Now, errors like ending a style that is not started and starting a style that is already started will be caught more consistently. If you are getting errors to this effect, double-check the styles in your score to make sure that styles are started and ended properly.

CHANGELOG

[4.2.0] - 2016-09-23

Fixed

  • When the note after an oriscus is at the same pitch, the oriscus will now point downwards by default (see #1177).
  • When the last note in a score is not in the last syllable, it no longer merges into the (no-note) syllable(s) that follow (see #1205).
  • A two-line initial on a two-line score no longer generates an error (see #1139).
  • Staff lines after a two-line initial should now be sized correctly in a more consistent way (see #1141).
  • Space at the end of line was not always correct when a line is cut in the middle of a word (see #1155).
  • In rare cases, the very last bar or glyph of a score could appear alone at the beginning of the final line (see #1152).
  • In cases of a syllable without note, the space between notes of the previous and next syllables was sometimes not enough (see #1137).
  • moraadjustment and moraadjustmentbar did not scale when changing factor, they do now.
  • The 900_gregorio.xml file for Scribus now matches main-lualatex.tex again (see #1087).
  • Multiple subsequent lines in gabc no longer cause TeX to fail (see #1111).
  • Old bar spacing algorithm will no longer separate the text and bar when the bar is preceeded by a puncutm mora (see #1078).
  • Scores which end with a no-note syllable under the new bar spacing algorithm will no longer have their text pushed out into the right hand margin. See #1110.
  • PlainTeX will now respect underline requests in gabc.
  • PlainTeX will now raise a warning when small caps are requested but \sc has not been defined.
  • A manual custos at the end of the score will now be spaced like regular end of line custos #1034.
  • Custos glyphs heights are now counted when adjusting line heights (see #961).

Added

  • Some vertical spaces can now be adjusted for a particular line in a score. Use \grechangenextscorelinedim prior to including the score to set the desired values. spaceabovelines, spacebeneathtext, and spacelinestext may be changed with this command. See GregorioRef and #1156 for details.
  • Nabc now supports pitches hn and hp in addition to previously supported ha through hm.
  • 32 new St. Gall neume glyphs have been added to the gregall font and glyphs for nabc po-1pp2su1sux1 and po-1su1sux1 have been changed.
  • 31 new St. Gall neume glyphs have been added to the gresgmodern font and glyph for nabc tr-1 has been changed.
  • It is now possible to set \parskip, \lineskip, \baselineskip, and \lineskiplimit to have different values within a score using \grechangedim. See #1038.
  • It is now possible to invert the oriscus orientation on pes quassus and oriscus flexus shapes. Use o0 or o1 to force the oriscus into the orientation you desire. It is also possible to fuse the oriscus from either direction in either orientation. See #898 and #972.
  • Formerly missing torculus figures starting with an oriscus are now rendered using neume fusion (see #1013).
  • Gregorio will keep together (prevent line breaks between) a user-configurable number of notes (by default, 4) at the start and end of the syllable. Further, Gregorio will prevent line breaks in a syllable with fewer than a user-configurable number of notes (by default, 10). These values may be changed by using the \gresetunbreakablesyllablenotes command. See GregorioRef for details (for the change request, see #1044).
  • The visibility of notes and lyrics can now be toggled on an off using \gresetlyrics and \gresetnotes. See #1039.
  • An alteration (flat, natural, or sharp) will now appear on a custos if the next note is so altered. Use \gresetcustosalteration{invisible} if you prefer the old behavior. See #1049.
  • gregoriosyms.sty and gregoriotex.tex now contain definitions for gregoriocolor and grebackgroundcolor and the appropriate score commands dealing with color now work under PlainTeX

Changed

  • In order to facilitate installation alongside TeX Live, the version number is now appended to the gregorio executable file name. If you are running the executable directly in your custom scripts, you will need to change them to include the version number. If you are not using the TeX-Live-packaged version of Gregorio, you will probably need to use the --shell-escape option when compiling your .tex files. Note that in TeX Live 2016, which includes Gregorio 4.1.1, the executable filename does not include the version number, though that will change starting with TeX Live 2017. See UPGRADE.md and #1197 for more information.
  • When the clef and the first note are at a reasonable vertical distance, shortspaceafterlineclef is used instead of spaceafterlineclef (make them equal if you don't want this feature). This is used only on the first line, when there is an initial on one line. See #1138.
  • When an alteration follows a bar, it is not completely taken into consideration in the new bar spacing algorithm (similarly to the punctum mora), this behavior can be tuned with the newly introduced space alterationadjustmentbar. See #1146.
  • Very small improvement in the design of the porrectus auctus and torculus resupinus auctus (see #1169).
  • When the notes around a virgula or divisio minima are lower than two spaces below the top staff line, the spaces used are new shorter spaces with a @short suffix. To cancel this feature, make them the same as their normal version. See #1144.
  • Different glyphs are now used for puncta inclinata in an ascent versus in a descent. A heuristic algorithm is used to ensure that the glyphs match when grouped together. If the algorithm chooses the wrong shape, use 0 (for descending) or 1 (for ascending) to force an orientation. See UPGRADE.md and #856 for details.
  • The shape of the fused oriscus at ambitus one in the greciliae font has been tweaked to form a nicer connection (see #1079).
  • Syllables are now rewritten to improve ligature rendering. This may be disabled by issuing \gresetsyllablerewriting{off}. See GregorioRef for details (for the change request, see #1098).
  • Default mode style for PlainTeX no longer tries to invoke small caps since they are not defined by default.
  • Italic, bold, underlined, small capital, teletype, and colored styles now span multiple syllables. Gregorio will also more consistently raise errors when styles are improperly started or ended. See UPGRADE.md and #1121 for details.
  • The stemmed oriscus flexus (gOe) is now consistent with the unstemmed oriscus flexus (goe) in that the oriscus points downward at the note that follows. If you prefer to have the oriscus point upward, use (gO1e) for force upward orientation.
  • Space before a custos appearing in the middle of a line is now set by spacebeforeinlinecustos.
  • The space between two puncta inclinata at the unison may be tuned by changing punctuminclinatumunisonshift (see #1042).
  • A podatus followed by a virga (eghv) will now be kept together (no line break between the shapes), If you would like to allow a line break there, use (eg/hv) instead (see UPGRADE.md and #1045).
  • Penalties must now be changed using the \grechangecount command. See GregorioRef and UPGRADE.md for details (for the change request, see #1021).
  • \greemergencystretch must now be set by changing emergencystretch using \grechangedim instead of redefining the macro.
  • An isolated stropha will now be considered part of the previous neume group and line breaks will be prevented at that point. In order to force a line break there, use a breaking space such as / before the stropha in gabc. See #1056.
  • interwordspacetext and it's related distances have been redefined to be smaller and dependent on a font based distance (ex). They are also no longer scale with the staff size by default. See #1036 & gregoriot-test#208.
  • \grecreatedim and \grechangedim can now be used to link two distances. To do this the second argument should be the name of the master distance and the third argument should be inherited. See #962.

Removed

  • \grescorereference
  • \grenewlinepenalty
  • \grenobreakpenalty
  • \greendofwordpenalty
  • \greendofsyllablepenalty
  • \greendafterbarpenalty
  • \greendafterbaraltpenalty
  • \grefinalpenalty
  • \greendofelementpenalty
  • \grehyphenpenalty
  • \grebrokenpenalty
  • \grewidowpenalty
  • \greclubpenalty
  • \grelooseness
  • \gretolerance
  • \grepretolerance
  • \greemergencystretch