4.0.0 carries with it some significant changes, implementing many new
features (some of which have been long asked for), and systematizing the
user interface to make it more consistent. Please make sure you look
carefully at [the changelog](CHANGELOG.md) and [upgrade guide](UPGRADE.md).
# CHANGELOG
## [4.0.0-beta] - 2015-08-01
### Fixed
- Handling of the first syllable in gabc is now more consistent with the
all other syllables. This centers the syllable correctly when using
latin syllable centering (see
[#42](https://github.com/gregorio-project/gregorio/issues/42)) and makes
the use of styles less surprising in the first syllable (see
[#135](https://github.com/gregorio-project/gregorio/issues/135)).
- Handling of manually-placed custos is improved. In particular, a
manual custos at the end of the score should no longer be lost when the
bar happens to be at the end of the line.
- Improved rendering of torculus resupinus flexus figures (see
[#18](https://github.com/gregorio-project/gregorio/issues/18)).
- Horizontal episema on the second note of a scandicus is now rendered
in the correct place (see
[#419](https://github.com/gregorio-project/gregorio/issues/419)).
- The dot in a space directly above a punctum in a descending neume is
now placed slightly higher in the space (see
[#386](https://github.com/gregorio-project/gregorio/issues/386) and
[Gna! bug 21737](https://gna.org/bugs/?21737)).
- Choral signs are now positioned correctly around porrectus and
torculus resupinus (see
[#387](https://github.com/gregorio-project/gregorio/issues/387) and
[Gna! bug 22025](https://gna.org/bugs/?22025)).
- Gregorio will now try harder to select an appropriate pitch for an
automatic custos (`z0`) on a clef change (see
[#446](https://github.com/gregorio-project/gregorio/issues/446)). If
results are not satisfactory, use a manual custos (`+`) to select a
pitch manually.
- The centering of styled text under notes is now correct (See
[#509](https://github.com/gregorio-project/gregorio/issues/509)).
- Space for above lines text is now correctly added as needed, even at
the beginning of a score (see
[#533](https://github.com/gregorio-project/gregorio/issues/533)).
### Changed
- A new, more systematic naming scheme has been created for GregorioTeX
macros. The naming scheme should reduce the chances of naming conflicts
with other packages and make it easier to identify what a particular
macro is for and how to use it. Most user functions have been renamed
in order to bring them into line with this scheme. Please see
GregorioRef for a complete list of the new function names. In general,
old names will still work, but they will raise a deprecation warning and
will be dropped from GregorioTeX in a future relase.
- The spacing algorithm has completely changed, expect your scores to
look quite different (better we hope).
- Lines are now aligned on the leftmost note instead of the leftmost letter.
- Some glyph shapes are improved a little in greciliae, it should be
noticeable especially for porrectus.
- The `O` modifier in gabc now has expanded uses beyond the salicus
`(egOi)`. A stemmed oriscus will appear on a lone pitch `(gO)` or a
followed by a lower pitch `(gOe)` (see
[#76](https://github.com/gregorio-project/gregorio/issues/76)). A virga
strata will appear on the second note of two ascending pitches `(giO)`.
- With thanks to *Abbazia Mater Ecclesiae (IT)* for drawing the new
shapes, the strophicus, liquescent strophicus, liquescent oriscus, and
liquescent punctum inclinatum in greciliae have changed to better
differentiate them from other shapes. If you prefer the old shapes use:
```
\grechangeglyph{Stropha}{greciliae}{.caeciliae}
\grechangeglyph{StrophaAucta}{greciliae}{.caeciliae}
\grechangeglyph{OriscusDeminutus}{greciliae}{.caeciliae}
\grechangeglyph{PunctumInclinatumAuctus}{greciliae}{.caeciliae}
```
- Default initial sizes have been chosen so that they are more
appropriate when an infinitely scaling font is loaded. LaTeX will make
an automatic substitution of the closest avaialble size when such a font
is not used.
- Porrectus deminutus and torculus resupinus deminutus glyphs have been
updated to more closely match the current Solesmes books (see
[#143](https://github.com/gregorio-project/gregorio/issues/143)). If
you prefer the old forms, use:
```
\grechangeglyph{Porrectus*}{*}{.alt}
\grechangeglyph{TorculusResupinus*}{*}{.alt}
```
- New (much) improved drawings for letter bars (for Versicle, Antiphon,
etc.). You must fine-tune them if you use a text font other than Linux
Libertine, see [UPGRADE.md](UPGRADE.md) for details.
- The default extension `gregorio` (the executable program) will use
when it produces GregorioTeX files has been changed from `.tex` to
`.gtex`. Any calls to `\includescore` that use the old extension should
be changed appropriately.
- Horizontal episema improvements:
- A horizontal episema on the first two notes of a porrectus is now
rendered differently than a horizontal episema on all three notes of a
porrectus. It will no longer reach to the right side of the porrectus
(see [#70](https://github.com/gregorio-project/gregorio/issues/70)).
- Similar to appending `0` to the `_` to force a horizontal episema
to appear below a note, `1` may now be appended to the `_` to force a
horizontal episema to appear above the note. These may be used
simutaneously, by adding both `_0` and `_1` to the same note (see
[#40](https://github.com/gregorio-project/gregorio/issues/40)).
- It is now possible to render a small horizontal episema. To use
it, append `3` (for left-aligned), `4` (for center-aligned), or `5` (for
right-aligned) to the `_` used for adding the horizontal episema in gabc
(see [#40](https://github.com/gregorio-project/gregorio/issues/40)).
- Horizontal episema "bridging" has been made more consistent and is
now possible on an episema that is below the note. (see
[#389](https://github.com/gregorio-project/gregorio/issues/70)).
- It is now possible to suppress the automatic horizontal episema
"bridging" across spaces within a syllable. To use it, append `2` to
the `_` on the note before the space you do not want bridged (see
[#72](https://github.com/gregorio-project/gregorio/issues/72)).
- A horizontal episema will no longer overlap with a vertical episema
on the same note (see
[#395](https://github.com/gregorio-project/gregorio/issues/395)).
- The dot after a torculus whose last note is on a line will now appear
below the line (see
[#386](https://github.com/gregorio-project/gregorio/issues/386)). If
you do not like the automatic placement of a dot after any note on a
line (not just the torculus), you may specify a `0` or `1` after the `.`
to force the dot to appear below or above the line, respectively.
- Choral sign dimensions have been renamed (see
[#387](https://github.com/gregorio-project/gregorio/issues/387)):
- `beforechoralsignspace` is now `beforelowchoralsignspace`.
- `lowchoralsignshift` is now `choralsigndownshift`.
- `highchoralsignshift` is now `choralsignupshift` and its sign is
now inverted.
- Style for score elements can now be changed via the `\grechangestyle`
command. This replaces the mixed system of styling commands which could
be redefined for some elements and specialized commands for applying
styles to others. See GregorioRef for details.
- Annotations with more than two lines are now supported (originally
requested [on the user
list](http://www.mail-archive.com/gregorio-users%40gna.org/msg00164.html) when
two line annoations were made possible). To build the annotation box
use `\greannoataion`. See GregorioRef for details.
- The `annotation` header field in `gabc` now places its value(s) above
the inital if no annotation is explicitly given by the user via
`\greannotation` (see
[#44](https://github.com/gregorio-project/gregorio/issues/44)).
- `\grescaledim` now takes two arguments to bring it into line with the
systemized naming scheme. The second argument should be `yes`, `true`,
or `on` if you want the distance to scale when the staff size changes.
Anything else will make the distance independent of the staff size.
- Gregorio is now able to make individual lines of a score taller, when
the position of the note require extra space, without affecting the rest
of the lines. This is the new default behavior. See
[UPGRADE.md](UPGRADE.md) and GregorioRef for details (for the change
request, see [#59](https://github.com/gregorio-project/gregorio/issues/59)).
- Braces are now rendered using MetaPost by default. This allows the
line weight to remain more consistent when braces are stretched. The
old behavior (which uses the score font instead) can be restored using
`\gresetbracerendering{font}`. See [UPGRADE.md](UPGRADE.md) and
GregorioRef for details (for the change request, see
[#535](https://github.com/gregorio-project/gregorio/issues/535)).
### Added
- With thanks to Jakub Jelínek, St. Gallen style adiastematic notation
is now handled through [nabc
syntax](http://gregoriochant.org/dokuwiki/doku.php/language) (see
GregorioNabcRef.pdf for details and [the new
example](examples/FactusEst.gabc)). Only one line above the notes is
currently handled. This is a preview, backward incompatible change are
possible in future releases.
- `<eu>` tag in gabc to delimit *Euouae* block in the score. It prevents
linebreaking and makes spaces tighter. See [UPGRADE.md](UPGRADE.md) for
details.
- With thanks to Fr. Jacques Peron, it is now possible to embed short
gabc snippets directly into a TeX document. The command is
`\gabcsnippet`. See GregorioRef.pdf for full details.
- `[ub:x:y mm]` tag, similar to `[ob:x:y mm]`, but for braces under notes.
- `[ob:x{]` and `[ob:x}]` tag pairs for braces where the length is
determined by the distance of the opening and closing tags. `[ocb:x{]`
with `[ocb:x}]`, `[ocba:x{]` with `[ocba:x}]` and `[ub:x{]` with
`[ub:x}]` can be used similarly for other kinds of braces and brackets.
- The ability to substitute an arbitrary glyph for one used by
GregorioTeX. This adds four macros:
- `\grechangeglyph` to make a score glyph substitution
- `\greresetglyph` to remove a score glyph substitution
- `\gredefsymbol` for (re-)defining an arbitrary non-score glyph that
scales with the text
- `\gredefsizedsymbol` for (re-)defining an arbitary non-score glyph
that requires a point-size to be specified.
See GregorioRef.pdf for full details.
- Added `--with-kpathsea` option to configure script, to check input and
output file against `openout_any` and `openin_any` settings of texmf.cnf
(TeXLive only). Necessary to be included in `shell_escape_commands` in
TeXLive.
- Support for `lualatex -recorder`. Autocompiled gabc and gtex files
will now be properly recorded so that programs like `latexmk -recorder`
can detect the need to rebuild the PDF when a gabc file changes.
- A vertical episema may now be forced to appear above or below a note.
In gabc, use `'0` for the vertical episema to appear below and `'1`
for the vertical episema to appear above (see
[#385](https://github.com/gregorio-project/gregorio/issues/385)).
- The first syllable and first letter of the first syllable that is
*not* interpreted as the initial of the score are now passed to macros
that allow them to be styled from TeX. The first syllable is passed to
`\GreFirstSyllable#1` and the first letter of the first syllable is
passed to `\GreFirstSyllableInitial#1`.
- The final line of a score may now be forced to be fully justified
(rather than ragged) using `\gresetlastline{justified}` before including
the score (see
[#43](https://github.com/gregorio-project/gregorio/issues/43)). Use
`\gresetlastline{ragged}` to switch back to a ragged last line.
- `\gresethyphen{force}` forces GregorioTeX to put a hyphen between each
syllable in a polysyllabic word. `\gresethyphen{auto}` restores
behavior to normal.
- Support for custom vowel centering rules. Put a file called
`gregorio-vowels.dat` into your project directory or into a directory
accessible from TEXMF and add the header `language: name;` to your gabc
file. The `gregorio-vowels.dat` file describes how vowels are to be
located in the *name* language. See GregorioRef for details.
- `\gresetlinecolor` takes a named color as an argument. As a result,
the red staff lines can be made consistent with the text, even when the
user changes `gregoriocolor` with `\gresetlinecolor{gregoriocolor}`.
Addresses [#21787 on the old tracker](https://gna.org/bugs/index.php?21787).
- Package option `deprecated=false`. Causes all deprecated commands to
raise an error and halt TeX.
- The ability to add LilyPond-like point-and-click textedit links into
the PDF file to aid with debugging scores. This must be explicitly
enabled and **should be turned off** when producing files for
distribution as it embeds path information into the output. To enable
this, you must pass the `-p` option to gregorio when compiling gabc
files and add `\gresetpointandclick{on}` before including the score. It
may be toggled back off with `\gresetpointandclick{off}`. See
GregorioRef for details (for the change request, see
[#528](https://github.com/gregorio-project/gregorio/issues/528)).
- New score fonts with glyphs unique to Dominican chant. These fonts
replace the epiphonus and the augmented liquescents with corresponding
figures from Dominican liturgical books. To use the new fonts, pass the
`[op]` option to the `\gresetgregoriofont` command (i.e.,
`\gresetgregoriofont[op]{greciliae}`). See GregorioRef for details (for
the change request, see
[#1](https://github.com/gregorio-project/gregorio/issues/1)).
- Support for "punctum cavum inclinatum" and "punctum cavum inclinatum
auctus" figures. The gabc for these are `(Gr)` and `(Gr<)`, where `G`
is the capitalized pitch letter.
### Deprecated
- `\GreSetStaffLinesFormat`, supplanted by
`\grechangeformat{normalstafflines}...`
- `\greinitialformat`, if you were redefining this command, use
`\grechangeformat{initial}...` instead
- `\grebiginitialformat`, if you were redefining this command, use
`\grechangeformat{biginitial}...` instead
- `\gretranslationformat`, if you were redefining this command, use
`\grechangeformat{translation}...` instead
- `\greabovelinestextstyle`, if you were redefining this command, use
`\grechangeformat{abovelinestext}...` instead
- `\grelowchoralsignstyle`, if you were redefining this command, use
`\grechangeformat{lowchoralsign}...` instead
- `\grehighchoralsignstyle`, if you were redefining this command, use
`\grechangeformat{highchoralsign}...` instead
- `centering-scheme` gabc header, supplanted by `\grelyriccentering` in
TeX. See GregorioRef for syntax.
- `\setaboveinitialseparation`, supplanted by
`\grechangedim{annotationseparation}...`
- `gregoriotex-font` gabc header, supplanted by `\gresetgregoriofont` in
TeX. See GregorioRef for syntax.
- `\scorereference`, supplanted by `\grescorereference`
- `\GreScoreReference`, supplanted by `\grescorereference`
- `\commentary`, supplanted by `\grecommentary`
- `\setgretranslationcenteringscheme`, supplanted by
`\gresettranslationcentering`
- `\englishcentering`, supplanted by `\gresetlyriccentering{syllable}`
- `\defaultcentering`, supplanted by `\gresetlyriccentering{vowel}`
- `\setgrefactor`, supplanted by `\grechangestaffsize`
- `\forcecompilegabc`, supplanted by `\gresetcompilegabc{force}`
- `\autocompilegabc`, supplanted by `\gresetcompilegabc{auto}`
- `\nevercompilegabc`, supplanted by `\gresetcompilegabc{never}`
- `\includescore`, supplanted by `\gregorioscore`
- `\grenoscaledim`, supplanted by `\grescaledim{...}{no}`
- `\gresetdim`, supplanted by `\grecreatedim`
- `\setstafflinethickness`, supplanted by `\grechangestafflinethickness`
- `\grecoloredlines`, supplanted by `\gresetlinecolor`
- `\greredlines` and `\redlines`, supplanted by
`\gresetlinecolor{gregoriocolor}`
- `\grenormallines` and `\normallines`, supplanted by
`\gresetlinecolor{black}`
- `\greremovelines`, supplanted by `\gresetlines{invisible}`
- `\gredonotremovelines`, supplanted by `\gresetlines{visible}`
- `\GreHidePCLines`, supplanted by
`\gresetlinesbehindpunctumcavum{invisible}`
- `\GreDontHidePCLines`, supplanted by
`\gresetlinesbehindpunctumcavum{visible}`
- `\GreHideAltLines`, supplanted by
`\gresetlinesbehindalteration{invisible}`
- `\GreDontHideAltLines`, supplanted by
`\gresetlinesbehindalteration{visible}`
- `\gresetnlbintranslation`, supplanted by `\gresetbreakintranslation`
- `\greblockcustos`, supplanted by `\greseteolcustos{manual}`
- `\greenableeolshifts`, supplanted by `\greseteolshifts{enable}`
- `\gredisableeolshifts`, supplanted by `\greseteolshifts{disable}`
- `\GreUseNoramalHyphen`, supplanted by `\greseteolhyphen{normal}`
- `\GreUseZeroHyphen`, supplanted by `\greseteolhyphen{zero}`
- `\greremoveclef`, supplanted by `\gresetclef{invisible}`
- `\grenormalclef`, supplanted by `\gresetclef{visible}`
- `\AddHEpisemusBridges`, supplanted by `\gresethepisemus{bridge}`
- `\RemoveHEpisemusBridges`, supplanted by `\gresethepisemus{break}`
- `\UseAlternatePunctumCavum`, supplanted by
`\gresetpunctumcavum{alternate}`
- `\UseNormalPunctumCavum`, supplanted by `\gresetpunctumcavum{normal}`
- `\clivisalignmentalways`, supplanted by `\gresetclivisalignment{always}`
- `\clivisalignmentnever`, supplanted by `\gresetclivisalignment{never}`
- `\clivisalignmentspecial`, supplanted by `\gresetclivisalignment{special}`
- `\greusedefaultstyle`, supplanted by `\gresetglyphsytle{default}`
- `\greusemedicaeastyle`, supplanted by `\gresetglyphsytle{medicaea}`
- `\greusehufnagelstyle`, supplanted by `\gresetglyphsytle{hufnagel}`
- `\greusemensuralstyle`, supplanted by `\gresetglyphsytle{mensural}`
### Removed
- GregorioXML and OpusTeX output
- Support for `lilypond-preamble`, `musixtex-preamble`, and
`opustex-preamble` gabc headers.
- Support for the font Gregoria.
- Chironomy markings (gabc `u` and `U`), which were not working
correctly in the first place.
- `\Vbarsmall`, `\greletterbar`, and `\greletteraltbar`, supplanted by
the new glyph system, see [UPGRADE.md](UPGRADE.md).
- `\GreSetAboveInitialSeparation`, supplanted by
`\grechangedim{annotationseparation}...`
- `\includetexscore`, supplanted by `\gregorioscore[n]`
- `\greincludetexscore`, supplanted by `\gregorioscore[n]`
- `\includegabcscore`, supplanted by `\gregorioscore[f]`
- `\greincludegabcscore`, supplanted by `\gregorioscore[f]`
- `\GreSetSpaceBeforeInitial`, supplanted by
`\grechangedim{spacebeforeinitial}...`
- `\GreSetSpaceAfterInitial`, supplanted by
`\grechangedim{spaceafterinitial}...`
- `\GreSetAboveInitialSeparation`, supplanted by
`\grechangedim{annotationseparation}...`
- `\gresetstafflinefactor`, supplanted by `\grechangestafflinethickness`
# UPGRADE
### Command Name Systemization
A naming scheme for GregorioTeX commands has been established and so
most commands have had their names changed in order to bring them into
line with the new scheme. Some have also had their syntax changed.
Briefly, user commands all now have a `\gre` prefix (to prevent name
colisions with other packages) and groups of commands which altered a
single setting have been replaced by a single command which takes an
argument specifying the value of the setting. The notable exception to
this are the two main commands: `\gregorioscore` (replaces
`\includescore`) and `\gabcsnippet`. See GregorioRef for the complete
list of new command names and their syntax.
Old command names should still work for now, but will raise a
deprecation warning which indicates the name of the correct command to
use. Exceptions are noted below:
- `\grescaledim`: This function now takes two arguments. The second
should be `yes`, `true`, or `on` to acheive the old behavior.
Additionally a new package option has been added. The option
`deprecated=false` is helpful if you wish to ensure that your TeX file
is compliant with the new naming system. This option causes all
deprecated commands to raise an error, halting TeX, thus allowing you to
actively find all deprecated commands and update them in your TeX file.
### Barred letters
If you use barred letters and a font other than libertine in your
document, you must adjust the horizontal placement of the bar on the
letter. To do so, use the `\gresimpledefbarglyph` macro. For example,
use `\gresimpledefbarredsymbol{A}{0.3em}` in your preamble, tweaking the
second argument to have a good result (same for R and V). If using
LaTeX, you can alternately use the `\grelatexsimpledefbarredsymbol`
macro, which allows control over bold and italic versions of the barred
letter. See the documentation of `\gresimpledefbarredsymbol` and
`\grelatexsimpledefbarredsymbol` in the PDF documentation for more details.
If you were using `\Vbarsmall`, `\greletterbar`, and `\greletteraltbar`,
you must use `\gresimpledefbarredsymbol` to redefine your barred letters
(see PDF documentation for details).
### .gtex extension
The `gregorio` executable now uses the `.gtex` extension by default
(instead of `.tex`, formerly) for GregorioTeX files that it produces.
If you use `\includescore{file.tex}`, then you should change this to
`\includescore{file.gtex}` or use the newer autocompilation feature.
### Custom spacings
If you are using custom spacings, please update the values of
`interwordspacetext`, `intersyllablespacenotes` and
`interwordspacenotes` to match their new definitions (in the comments in
`gsp-default.tex`).
### Euouae blocks
You are advised to surround you *Euouae* blocks by the new `<eu>` tag.
For instance,
E(i) u(i) o(i) u(h) a(h) e(fe..)
can become
<eu>E(i) u(i) o(i) u(h) a(h) e</eu>(fe..)
This will prevent line breaking, so if you were using so called *no
linebreak areas* (with `{` in gabc) just for Euouae blocks, you can
switch to this new tag, it will make things clearer and allow further
spacing customization.
### Horizontal episema improvements
Changes to the way the horizontal episema is placed and "bridged" to
other notes within the syllable may cause Gregorio to render things
differently in the more esoteric (or bug-ridden) cases. If you are
depending on the old behavior, you might need to add suffixes to the `_`
in gabc to get what you want:
- Add `0` to force the episema to appear below the note.
- Add `1` to force the episema to appear above the note.
- Add `2` to prevent Gregorio from attempting to connect this episema to
the next.
- Add `3` to use a small episema, aligned to the left of the note.
- Add `4` to use a small episema, centered in the middle of the note.
- Add `5` to use a small episema, aligned to the right of the note.
Note: `3`, `4`, and `5` encompass a new feature and are listed here only
for completeness.
### Choral sign dimension renames
- `beforechoralsignspace` has been renamed to `beforelowchoralsignspace`.
- `lowchoralsignshift` has been renamed to `choralsigndownshift`.
- `highchoralsignshift` has been renamed to `choralsignupshift` and its
sign inverted.
### Styling score elements
Changing the styling of text elements of the score (the initial,
translations, etc.) formerly required the user to redefine a command
which took an argument while changing the styling of the staff lines had
a command specialized to that purpose. All formats can now be changed
via the `\grechangestyle` command. This command takes two or three
arguments. The first argument, required, is the format to be altered.
The defined formats are:
- `greinitial`: normal initials
- `grebiginitial`: big (2-line) initials
- `translation`: translation text
- `abovelinestext`: above lines text (`alt` in gabc)
- `normalstafflines`: the full length staff lines
- `additionalstafflines`: the short lines behind notes above or below
the staff. This style defaults to inheriting changes to `normalstafflines`.
- `lowchoralsign`: low choral signs
- `highchoralsign`: high choral signs
- `modeline`: the mode annotation above the initial if the content of
the mode header in gabc is rendered.
The second argument, also required, is the code necessary to turn on the
styling. The third argument, optional and enclosed in square braces
(`[` and `]`), is the code necessary to turn off the styling (e.g. if
the code to turn on the styling contains a `\begin{environment}` then
the code to turn it off must have the matching `\end{environment}`. The
third argument is optional because not all styling commands have
explicit off switches.
While the old way of changing the styles is still supported, you should
switch to this new method to future proof your scores.
Examples: Let's say you previously had the following in your LaTeX document:
\renewcommand{\greabovelinetextstyle}[1]{{\small\it #1}}
This would have made the text which was wrapped with `<alt></alt>` in
your gabc file appear small and italicized in your score. To update
this to the new system you would replace the above line with the following:
\grechangestyle{abovelinetext}{\small\it}
### Centering scheme
The gabc `centering-scheme` header is now deprecated and will disappear
soon. Use the `\grelyriccentering` command from TeX instead. If you
were using `centering-scheme: latine;` in gabc, now use
`\grelyriccentering{vowel}` in the TeX file that includes the gabc. If
you were using `centering-scheme: english;` in gabc, now use
`\grelyriccentering{syllable}` in the TeX file that includes the gabc.
Using the gabc header will, in this release, do that for you, but it
will produce a deprecation warning. This header will no longer be
available in the next release.
### Annotations
Support for annotations with an arbitrary number of lines has been
added. To facilite this, the old functions which added annotations to
specific lines (either the first or the second) are consolidated into a
single function `\greannotation` which builds the annotations line by
line. If you used the old functions for adding annotations, then you
should switch out those functions for the new one.
The distance associated with the annotations has also been renamed (from
`aboveinitialseparation` to `annotationseparation`) and added a new one
(`annotationraise`). The first still controls the spacing between the
lines of the annoation. The second controls the position of the
annotation relative to the score, and thus replaces the second argument
in the old functions. By default, annotations are positioned so that
the baseline of the first line is aligned with the top line of the
staff. Positive values of `annotationraise` will push the annotation up
while negative values will push it down. If you were previously using
the second argument to `\gresetfirstlineaboveinitial` to adjust the
spacing, you will need to convert this to call:
\grechangedim{annotationraise}{0.1cm}{1}
You will need to play with the vaule of the distance a bit to acheive
the desired positioning.
As is normal, calls to the deprecated command names will raise a warning
but still work. However there is one caveat: the old functions will
always add the annotations to the bottom of the annotation list,
regardless of the order in which they are called. Previously, you could
call `\gresetsecondannotation` before `\gresetfirstannotation` and still
have the first annotation appear on top. Which annotation appears on
top is now determined by the order in which the functions are called.
#### The Annotation Header
The `annotation` header in gabc files now passes its value(s) to
gregoriotex for placement above the inital letter of the score. Up to
two `annotation` field are supported, the first for the first line above
the initial, and the second field for the second line.
annotation: 1 Ant.;
annotation: VII a;
Full TeX markup is also accepted:
annotation: {\color{red}1 Ant.};
annotation: {\color{red}VII a};
If the user already defined annotation(s) in the main TeX file via
`\greannotation` then the `annotation` header field will not overwrite
that definition.
#### Variable Height Line Spacing
Gregorio is now able to make individual lines of a score taller, when
the position of the note require extra space, without affecting the rest
of the lines. This is the new default behavior. If you prefer the
uniform line heights of earlier versions, use:
\gresetlineheightexpansion{uniform}
Within a TeX document, you can switch back to variable line heights by
using:
\gresetlineheightexpansion{variable}
You can freely switch between the two behaviors within a TeX document.
This new behavior requires two passes (two runs of lualatex) in order to
do the calculation correctly. On the first pass, lualatex will warn you
with the message
Module gregoriotex warning: Line heights or variable brace lengths
may have changed. Rerun to fix.
As you edit your document, lualatex will only show this warning if an
extra run is required.
Alternately, you can use something like latexmk to automate this
activity. Instructions for using latexmk are outside the scope of this
document. Please consult the latexmk documentation for more information
on using it.
It should also be noted that this new feature, besides requiring two
passes, also imposes a small performance penalty on each pass to do the
additional computation. This is negligible for small documents, but may
have more noticeable impact as documents get larger.
#### MetaPost brace rendering
Gregorio now uses MetaPost (by default) to render braces. This allows
fine-tuning to better maintain optical line weight when braces are
stretched. Since the shapes are slightly different, you may prefer the
old behavior, which may be restored by using:
\gresetbracerendering{font}
Within a TeX document, you can switch back to MetaPost brace rendering
by using:
\gresetbracerendering{metapost}
You can freely switch between the two behaviors within a TeX document.
--
✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝
Br. Samuel, OSB
(R. Padraic Springuel)
PAX ☧ ΧΡΙΣΤΟΣ
_______________________________________________
Gregorio-users mailing list
[email protected]
https://mail.gna.org/listinfo/gregorio-users