Releases: gregorio-project/gregorio
v4.1.4
A follow up on the previous release which corrects another issue related to compatibility with luatex-ja.
CHANGELOG
[4.1.4] - 2016-05-29
Fixed
- Package conflict with luatex-ja also affected the custos. Have now fixed that problem too. See this thread.
v4.1.3
This release addresses a package conflict between GregorioTeX and LuaTeX-ja which was brought to our attention by those users working with Chinese and/or Japanese text. If you are not working with text in these languages, then you can ignore this release.
CHANGELOG
[4.1.3] - 2016-05-26
Fixed
- Package conflict with luatex-ja has been resolved. Notes and lyrics should now appear in documents which use the luatex-ja package. See #1107.
v4.1.2
This release is purely for TeXLive 2016 compatibility. Due to some unforeseen compatibility issues between the 4.1.1 binary and the 4.2.0 TeX files, we have elected to create a separate release specifically for the TeXLive 2016 compatibility issues. If you are already using v4.1.1 with TeXLive 2015 or earlier then you can safely ignore this release. This release will be uploaded to CTAN later today and should appear in the TeXLive 2016 Pretest in a day or so.
UPGRADE
4.1.2
Changes to texmf tree
To better comply with the TeXLive directory structure, the location of gregoriotex.sty
and gregoriosyms.sty
have changed.
Linux and other users installing from source: install-gtex.sh
should remove the old versions before installing the new one.
Mac users installing via pkg installer: The installer does not attempt to remove the old versions before installing the new ones. Please run Uninstall-Gregorio.pkg before installing 4.2 to ensure that the old versions don't cause any problems.
Windows users: Your installer already should remove old versions of GregorioTeX before installing the new ones.
As always, please file a bug report if you have any problems with the update process.
Parmesan font renamed to Grana Padano
To avoid conflicts with the LilyPond Parmesan font, the Gregorio Parmesan font is now called Grana Padano. If you were using \gresetgregoriofont{parmesan}
, you should now use \gresetgregoriofont{granapadano}
.
CHANGELOG
[4.1.2] - 2016-05-08
Changed
- The parmesan font is now called granapadano. If you were using
\gresetgregoriofont{parmesan}
, you should now use\gresetgregoriofont{granapadano}
. See #1075. - GregorioTeX is now compatible with TeXLive 2016
v4.1.1
It is an almost invariable law of software that the minute you release something, half-a-dozen more bugs will crop up that need to be taken care of. This release addresses 7 such bugs, and should hopefully be in time to make it into TeXLive 2016.
CHANGELOG
[4.1.1] - 2016-03-10
Fixed
- Custos now shouldn't go right of the staff lines (was visible only in edge cases, see #990).
- Corrected the end-of-line shift for a ragged line break before
<eu>
blocks (see #988). - Additional space is now added on top of lines with very high notes or signs (see #883).
- High notes are now taken into account for vertical placement of above lines test (see #960).
- Forced syllable centers can be used in to override alignment issues when lyric centering is set to
syllable
orfirstletter
. This is a restoration of old behavior (pre-4.0), but can be turned off with\gresetgabcforcecenters{prohibit}
. See 968. - Deminutus figures in nabc work again (see #1015).
- Orphaned syllables should appear less frequently at end of score (see 1019).
Added
- The macro
\grechangecount
now allows to change some numeric values of the configuration. This version introduces two of them:additionaltopspacethreshold
andadditionaltopspacealtthreshold
, see GregorioRef for details. - The penalty
grefinalpenalty
(0 by default) is added at the end of the score. Be sure you know what you're doing before modifying it.
v4.1.0
After much testing (and we thank you for that) 4.1 is ready for release. Not everything that was noticed could fit into this release, so we're now looking forward to another release in a month or so, but this release will be what you can expect to find in TeXLive 2016 (due to the impending freeze over there).
UPGRADE
4.1
Initial handling
Initial handling has been simplified. This deprecates the initial-style
gabc header and the biginitial
style.
Rather than using the initial-style
gabc header, set the number of lines the initial should use in Tex with the \gresetinitiallines
command. It currently accepts 0 (for no initial), 1 (for a one-line initial), or 2 (for a two-line initial).
As for the biginitial
style, the intent is that the initial
style be changed within the TeX document whenever the initial style should change, regardless of how many lines the initial requires. For example, before including a score that has a two-line initial, you would probably want to redefine the initial
style to use a larger font. Then, before including a score which requires a one-line initial, you would then redefine the initial
style back to what it was before.
In order to allow a smoother transition to the new behavior, GregorioTeX will behave differently depending on whether or not deprecated usage is allowed (controlled by the [allowdeprecated]
package option). If deprecated usage is allowed, GregorioTeX will use the deprecated biginitial
style for big initials. If not, GregorioTeX will use the initial
style for big initials.
Since the biginitial
style will disappear with Gregorio 5.0, please consider disabling deprecated usage (set [allowdeprecated=false]
when using the gregoriotex
package) and use the initial
style as just described.
Spacing between notes
When the next syllable starts with an alteration, the minimal space between notes of the current syllable and notes of the current syllable is handled by the new spaces intersyllablespacenotes@alteration
and interwordspacenotes@alteration
. Set them in your custom spacings file if needed.
When a syllable ends with a punctum mora, Gregorio 4.1 doesn't consider the punctum mora completely in horizontal spacing. This can result in next syllable being closer. To balance the output, spacebeforesigns
has been made shorter. If you want to go back to the old behavior, use:
\gresetshiftaftermora{never}
if you want to remove it completely\gresetshiftaftermora{barsonly}
if you want to remove it for non-bar syllables but keep it for bar syllables\grechangedim{spacebeforesigns}{0.05469 cm plus 0.00455 cm minus 0.00455 cm}{scalable}
to go back to the old spacing before punctum mora
The \gresetshiftaftermora
macro can take other arguments for controlling how this should work, see GregorioRef for details.
Horizontal episemata on high and low notes
Prior to version 4.1, Gregorio reserved space between notes at the c
and k
heights and their horizontal episemata for a "ledger line" that might appear between them. However, if the ledger line did not appear, the episema would appear to be too far from the note.
Starting with version 4.1, Gregorio attempts to reduce the space between the note and its episema if it doesn't think there is a "ledger line" there. However, due to the intricacies of distances and measurement in TeX, Gregorio might guess wrong. In this case, you can override the guess by using the [hl:n]
(for a line above the staff) and [ll:n]
(for a line below the staff) notations in gabc. If you put a 0
for n
, Gregorio will assume there is no ledger line, and if you put a 1
for n
, Gregorio will assume there is a ledger line. This notation will have to be placed after every note which should be thus modified.
Note: Using [hl:n]
and [ll:n]
will not add a ledger line if it doesn't exist or remove one if it does. It simply affects whether Gregorio will act as if one is there or not.
If you prefer the old behavior, you may switch this off by issuing \gresetledgerlineheuristic{disable}
in your TeX document. You may switch it back on with \gresetledgerlineheuristic{enable}
.
Custos before EUOUAE blocks
In the past, Gregorio handled the notes of an <eu>
block like any other, which meant that a custos would appear before the <eu>
block if it happened to start on a new line. However, the '' block is not a continuation of the melody, but rather a reminder of the ending to use for the paired psalm tone. As a result, a custos immediately before an EUOUAE block is now suppressed by default. If you desire the old behaviour, use \greseteolcustosbeforeeuouae{auto}
in your TeX document. To once again suppress the custos, use \greseteolcustosbeforeeuouae{suppressed}
.
Spacing around bars
New algorithm
A new algorithm has been implemented but is turned off by default. We hope this will be a significant improvement over previous one, but it still has a few bugs. You can turn it on with
\gresetbarspacing{new}
If you do give it a try, please be sure to report any bugs you find.
Renaming of spaces
The spaces around bars are now:
bar@virgula
bar@minima
(both replacingspacearoundsmallbars
)bar@minor
(replacingspacearoundminor
)bar@maior
(replacingspacearoundmaior
)bar@finalis
(replacingspacearoundfinalis
)bar@finalifinalis
(replaceingspacebeforefinalfinalis
)bar@dominican
(new)
They have variants for the new bar spacing algorithm only:
bar@xxx@standalone@text
(wherexxx
isvirgula
orminima
, etc.) are used when the bar is in a standalone syllable with textbar@xxx@standalone@notext
for bars in a standalone syllable without text
Hyphens going right of staff lines
Hyphens should now not go right of staff lines. If you prefer the old behavior, \gresethyphenprotrusion{100}
should restore it.
Oriscus orientation
The oriscus orientation (whether it points up or down) is now dependent on the note the follows, even if the note is not directly connected to the oriscus (as it would be in a salicus or a pressus). Appending a 1
to an unconnected oriscus in gabc will force the oriscus to point upwards and 0
will force the oriscus to point downwards.
Prior to version 4.1, Gregorio automatically oriented the oriscus when it was within a neume, but left the orientation up the user otherwise. If you prefer this behavior, set the oriscus-orientation
header in gabc to legacy
. In legacy mode, the orientation of an unconnected oriscus will (by default) point downwards and may be reversed by appending <
or >
to the oriscus.
Mode number
The style for the mode number has been bold and small capitals for a long time, but the number was rendered as upper-case Roman numerals, defeating the nuance of small capitals. As of version 4.1, Gregorio will use lower-case Roman numerals (by default) that will then appear as small capitals. This will change how the mode number appears above the initial if you have been using the mode
header to typeset them. If you prefer the earlier appearance, use \gresetmodenumbersystem{roman-majuscule}
in your TeX file for upper-case Roman numerals. The other options available are roman-minuscule
(the new default), for lower-case Roman numerals, and arabic
, for Arabic numerals.
Score reference macros
If you were using \scorereference
, \GreScoreReference
, and/or \grescorereference
, stop using them. If you need to capture the manuscript-reference
header, use the new header capture feature (see GregorioRef for details).
Three descending notes
Three descending notes that have no other markings (such as liquescentia) will now be rendered as a clivis followed by a punctum. The older, incorrect behavior was to group them as three punctums joined by !
. If you prefer this behavior, explicitly separate the notes with !
.
CHANGELOG
[4.1.0] - 2016-03-01
Fixed
- Hyphens now shouldn't go right of the staff lines (see #845).
- Horizontal episema on initio debilis is now sized correctly (see #880).
- Space between the text of two syllables of the same word when no hyphen is necessary is now strictly 0 (see #922)
- A horizontal episema on the first note of a torculus deminutus is now placed correctly. See #926.
- Compilation of documents produced with Gregorio should be slightly faster.
- The alignment of the vertical episema under a punctum inclinatum deminutus is now correct (see #742).
<eu>
and<nlba>
may now be ended on the final divisio maior/finalis (see #743).- Sign positioning on the first note of quadratum figures is now correct (see #752).
- Interlinear spacing of annotations when font size was smaller than normal. You should now see just the spacing specified by
annotationseparation
. - Spacing is now correct and ledger lines are now typeset for flats, sharps, and naturals above and below the staff (see #790 and #882).
- Forced hyphens at the end of words are no longer suppressed (see #804).
- Three descending, otherwise unmodified notes are now correctly grouped as a clivis followed by a punctum. If you prefer three notes butted up against each other, separate them with
!
.
Changed
spacebeforeeolcustos
has been increased, aproximately doubling its size. It's also been made fixed by default, but is still capapble of accepting...
v4.0.1
This is a patch release which repairs several bugs which have been discovered since the release of 4.0 as well as the one known bug in 4.0.
[4.0.1] - 2015-12-28
Fixed
\greseteolcustos
now retains its setting across multiple score inclusions (see #703).- Gregorio now works against luaotfload 2.6 (see #717).
- When beginning of line clefs are invisible and bol shifts are enabled, lyric text will no longer stick out into the margin. Further the notes on the first and subsequent lines now align properly. See #683.
\grecross
and\grealtcross
now print the correct glyphs (see #713).
v4.0.0
UPGRADE
4.0
Font changes
The music fonts (greciliae, gregorio, and parmesan) have changed with this release. If the neumes do not appear or look strange in the output, you may need to clear your LuaTeX font cache by using luaotfload-tool --cache=erase
.
GregorioTeX and fontspec
Changes to the LaTeX kernel have made it so that if you use the fontspec and gregoriotex pacakges, you must load the fontspec package first.
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 beyes
,true
,on
, orscalable
to acheive the old behavior.
Additionally a new package option has been added. This 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 Linux 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
). Also note that alterationspace
is now fixed and cannot take plus
or minus
values.
Euouae blocks
You are advised to surround your 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, which 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 tobeforelowchoralsignspace
.lowchoralsignshift
has been renamed tochoralsigndownshift
.highchoralsignshift
has been renamed tochoralsignupshift
and its sign (direction of shift) 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 name of the format to be altered. The defined formats are:
initial
: normal initialsbiginitial
: big (2-line) initialstranslation
: translation textabovelinestext
: above lines text (alt
in gabc)normalstafflines
: the full length staff linesadditionalstafflines
: the short lines behind notes above or below the staff. This style defaults to inheriting changes tonormalstafflines
.lowchoralsign
: low choral signshighchoralsign
: high choral signsmodeline
: the mode annotation above the initial if the content of the mode header in gabc is rendered.firstword
: the first word of the score (excluding the score initial)firstsyllable
: the first syllable of the first word of the score (excluding the score initial).firstsyllableinitial
: the first letter of the first word of the score which is not the score initial.
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 supplemented by a new distance (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}
Since the baseline position of annotations is a change from the old behavior, you will need to adjust the value of the distance a bit to achieve 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
fields 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 ...
3.0.3 -- Patch Release
[3.0.3] - 2015-07-01
Fixed
- Horizontal episemae on salicus figures now render correctly (See #511).
This will likely be the last release before the 4.0 beta.
3.0.2 - Patch Release
[3.0.2] - 2015-06-01
Fixed
- Prevented the default small font of the above lines text from leaking into the lyrics.
Mac users:
The uninstall package has not changed since the release of 3.0.0. If you need it to troubleshoot installation problems, then please down load it from release 3.0.0.
v3.0.1 - Patch for Windows Installer
[3.0.1] - 2015-05-17
Fixed
- Windows Installer is now compatible with MiKTeX. See #355.
If you are not using MiKTeX under Windows you do not need to download this update. As a result, only an updated Windows installer is provided.