diff options
author | Karl Berry <karl@freefriends.org> | 2021-03-01 22:56:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-03-01 22:56:43 +0000 |
commit | c8927b35230f875cf5936f91e4c35c4f5844f043 (patch) | |
tree | cd69fc9c7c4bb10ab7b7a6c9474296490e3fc139 /Master/texmf-dist/doc | |
parent | 333dc217c77c245de85a98adfd8dacf50f1cbf81 (diff) |
gregoriotex (1mar21) (branch)
git-svn-id: svn://tug.org/texlive/branches/branch2020.0@58032 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
18 files changed, 2934 insertions, 184 deletions
diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/Appendix_Font_Tables.tex b/Master/texmf-dist/doc/luatex/gregoriotex/Appendix_Font_Tables.tex index daf52714c74..7ab9ef4661d 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/Appendix_Font_Tables.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/Appendix_Font_Tables.tex @@ -1,7 +1,7 @@ % !TEX root = GregorioRef.tex % !TEX program = LuaLaTeX+se % -% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) +% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) % % This file is part of Gregorio. % diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/CHANGELOG.md b/Master/texmf-dist/doc/luatex/gregoriotex/CHANGELOG.md new file mode 100644 index 00000000000..ca3bf27c8c9 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/gregoriotex/CHANGELOG.md @@ -0,0 +1,738 @@ +# Change Log +All notable changes to this project will be documented in this file. +As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). It follows [some conventions](http://keepachangelog.com/). + +## [Unreleased][develop] + + +## [Unreleased][CTAN] + + +## [6.0.0-beta1] - 2021-02-23 +### Fixed +- Fixed some problem in 900_gregorio.xml (Scribus render frame tool). First, the use of `filecontents` rather than `filecontents*` was leading to a comment header that made it impossible for Gregorio to find the gabc headers in the temporary score file. Further, some of the indenting (which makes the file more human readable) was leading to errors in the formatting of the created files because they are processed in a way which handles whitespace differently from XML. See [#1457](https://github.com/gregorio-project/gregorio/issues/1457). +- `spacelinestext` is now based on the lyric font size instead of being a fixed distance. As a result, large lyrics should no longer overlap with low notes. See [#1261](https://github.com/gregorio-project/gregorio/issues/1261). +- Added parenthesized figures for virgula (gabc: `` `?``), divisio minima (gabc: ` ,?`), flat (gabc: `x?`), natural (gabc: `y?`), and sharp (gabc: `#?`). See [#1475](https://github.com/gregorio-project/gregorio/issues/1475). +- Staff line thickness is now set in gsp-default.tex. This corrects a problem with the staff lines changing thickness when the default spacing configuration is loaded while the staff size is something other than the default (17). See [#1461](https://github.com/gregorio-project/gregorio/issues/1461). +- Corrected interaction issues between text styles and ligatures. The LaTeX commands like `\textit` insert italics correction, preventing ligatures being formed between their arguments if two occur sequentially. On the other hand the switches like `\itshape` do not. Since gregorio breaks up syllables around the vowel and then applies the formating commands to each part, this behavior showed up. We switch to using the switches to avoid this (except for underlining, for which a switch does not exist). We also fix this for color tags by loading `luacolor` which changes how the `\color` tag is implemented to allow ligatures to span groups. See [#1444](https://github.com/gregorio-project/gregorio/issues/1444). +- A reuse of a save register led to the `\hyphenpenalty` not being restored correctly at the end of the score. All save registers are now clearly identified by when they are used so as to make it harder to accidentally use the wrong one. See [posts on mailing list](https://groups.google.com/g/gregorio-users/c/u3LmnGYnhwU). +- Fixed an overly specific find/replace in snippets that that led to `\par` being able to slip into the snippet file under certain circumstances (and there by causing compilation to fail). See [#1497](https://github.com/gregorio-project/gregorio/issues/1497). +- Updated to use iftex package (the sucessor to ifluatex). See [#1481](https://github.com/gregorio-project/gregorio/issues/1481). + +### Added +- Default spacings are now designated internal and thus always loaded. `gsp-sample.tex` is added to the `doc` folder to show users how to create their own custom spacing configuration. As part of this change, spacing configuration files no longer need to be complete. Since the default configuration is always loaded at package startup, all needed penalties and spacings will be defined and the user's configuration file need only specify those whose value they wish to customize. Addresses issues raised in [#1460](https://github.com/gregorio-project/gregorio/issues/1460). **This is a change to the user interface and warrants a major release.** +- Added additional message to verbose output of command-line tool to prevent confusion when a custom Latin vowel convention is found that the internal Latin rules will be used. See [#1470](https://github.com/gregorio-project/gregorio/issues/1470). +- Added `$` in gabc text to prevent special interpretation of the character that follows. See [#1515](https://github.com/gregorio-project/gregorio/issues/1515) +- GregorioTeX will now look in additional places for scores using. Users can specify paths to look in using `\gresetgregpath`. If scores are not found in the current working directory or the list of provided paths, we fall back on kpse to try and find them. See [#1395](https://github.com/gregorio-project/gregorio/issues/1395). +- Added the ability to toggle the visibility of the translation and above lines text. See [user request on mailing list](https://groups.google.com/g/gregorio-users/c/J-V0dkBMevY). + +### Changed +- The space between a non-punctum inclinatum and the upright punctum inclinatum is renamed to uprightpunctuminclinatumshift. This helps to better distinguish it from punctuminclinatumunisonshift (the space between two consecutive ascending or descending puncta inclinata on the same line). See [#1507](https://github.com/gregorio-project/gregorio/issues/1507). +- `noteadditionalspacelinestext` now calculates the actual amount of additional space needed by low notes. To enable the old behavior (when `noteadditionalspacelinestext` is set by the user), use `\gresetnoteadditionalspacelinestext{manual}`. See [#1521](https://github.com/gregorio-project/gregorio/issues/1521) and [#1526](https://github.com/gregorio-project/gregorio/pull/1526). + +### Removed +- `\gresethyphenprotrusion{percentage}`, supplanted by `\gresetprotrusionfactor{eolhyphen}{factor}`. Note that the value the new command takes is a factor rather than a percentage. + + +## [5.2.1] - 2019-04-06 +### Fixed +- Project names with quotes in them no longer cause GregorioTeX to not be able to find the executable. See [#1416](https://github.com/gregorio-project/gregorio/issues/1416). +- Eliminated implicit casting from float to integer in string formatting (something no longer allowed in Lua 5.3) + + +## [5.2.0] - 2019-03-10 +### Fixed +- `latin` is now supported as a valid language name. This brings Latin into line with other languages where both titlecased and lowercased version of the language name (e.g. `English` and `english`) are both allowed. + +### Added +- Added support for two and three letter language codes for supported languages. [This list of codes](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (and language names) was used for this support. No new languages are supported as a result of this change, just different ways of specifying the existing names. +- A non-rotated diamond-shaped variant of the punctum inclinatum. Append a `2` in gabc to the capitalized note pitch letter to force gregorio to use this shape. Otherwise, gregorio will try to use it when a string of these notes is at the unison within a syllable. See [#1425](https://github.com/gregorio-project/gregorio/issues/1425). +- Support for an eighth bar (nicknamed divisio "minimis") by using `^` in gabc (see [#1424](https://github.com/gregorio-project/gregorio/issues/1424)). +- 8 new St. Gall neume glyphs have been added to the `gregall` font. + +## [5.1.1] - 2018-03-25 +### Fixed +- Various issues with the documentation. + +## [5.1.0] - 2018-03-11 +### Added +- Added support for virgula (gabc: `` `0``) and divisio minima (gabc: `,0`) on the ledger line above the staff (see [#1370](https://github.com/gregorio-project/gregorio/issues/1370)). +- Added support for a dotted bar (gabc: `:?`) (See [#1360](https://github.com/gregorio-project/gregorio/issues/1360) and [#1387](https://github.com/gregorio-project/gregorio/issues/1387)) +- 10 new St. Gall neume glyphs have been added to the `gregall` font (see [#1328](https://github.com/gregorio-project/gregorio/issues/1328), [#1330](https://github.com/gregorio-project/gregorio/issues/1330), [#1337](https://github.com/gregorio-project/gregorio/issues/1337), [#1340](https://github.com/gregorio-project/gregorio/issues/1340), [#1341](https://github.com/gregorio-project/gregorio/issues/1341), [#1342](https://github.com/gregorio-project/gregorio/issues/1342), [#1343](https://github.com/gregorio-project/gregorio/issues/1343), [#1345](https://github.com/gregorio-project/gregorio/issues/1345)). +- 4 new Laon neume glyphs have been added to the `grelaon` font. +- A more modern-looking sharp symbol has been added to the `greciliae` font. To switch to this, use `\grechangeglyph{Sharp}{greciliae}{.modern}\grechangeglyph{SharpHole}{greciliae}{.modern}` in your TeX file. See [#1399](https://github.com/gregorio-project/gregorio/issues/1399). +- Added documentation note about loading microtype after gregoriotex (see [#1364](https://github.com/gregorio-project/gregorio/issues/1364)). + +### Fixed +- Fixed issue with Tex Live 2017 latexmk not detecting auto-compiled gabc files as dependencies (see [#1367](https://github.com/gregorio-project/gregorio/issues/1367)). +- Fixed issue where an altered note (glyph) throws off the position of an episema in the glyph that immediately precedes it (see [#1379](https://github.com/gregorio-project/gregorio/issues/1379)). + +## [5.0.2] - 2017-05-24 +### Fixed +- Worked around an issue discovered during the TeX Live 2017 pre-test. See [#1362](https://github.com/gregorio-project/gregorio/issues/1362). + +## [5.0.1] - 2017-04-16 +### Fixed +- Fixed a bug in the TeX Live compatibility code for Windows users. Thanks to Akira Kakuto for the catch. + +## [5.0.0] - 2017-04-15 +### Fixed +- The printing of the commentary box is no longer tied to the printing of the inital. As a result it is now possible to have a score which has a commentary but not an initial. See [this thread on the user list](http://www.mail-archive.com/gregorio-users@gna.org/msg03911.html). +- Elisions after a vowel centering prefix will no longer cause the center to be placed on the vowel in the prefix. Since prefixes are unvoiced vowels, this makes more sense than the previous behavior. As usual, you may use the manual centering features to force the centering where you want if this does not produce what you want. See [#1320](https://github.com/gregorio-project/gregorio/issues/1320). +- Dynmanic line spacing when a clef change occurs at the end of a line is fixed so that the line after the clef change is spaced appropriately. See [#1285](https://github.com/gregorio-project/gregorio/issues/1285). +- Spaces in the filename of a score no longer cause Gregoriotex to fail. See [#1224](https://github.com/gregorio-project/gregorio/issues/1224). +- Glyphs for pes quadratum shapes with initio debilis are no longer missing. Use `-fqg` to engrave them. See [#1310](https://github.com/gregorio-project/gregorio/issues/1310). +- Horizontal episemata bridge spaces more correctly. As mentioned earlier, you can prevent this by appending `2` to the `_` on the note before the space you do not want bridged. See [#1216](https://github.com/gregorio-project/gregorio/issues/1216). +- A rising note after an oriscus flexus will no longer generate a porrectus (see [#1220](https://github.com/gregorio-project/gregorio/issues/1220)). +- The Scribus external tool script now uses latexmk in order to handle the multi-pass features of Gregorio (see [#1236](https://github.com/gregorio-project/gregorio/issues/1236)). +- Translation text in a syllable with a trailing (forced) hyphen is no longer truncated to its first character (see [#1254](https://github.com/gregorio-project/gregorio/issues/1254)). +- A trailing (forced) hyphen in a syllable no longer generates a forced hyphen in the previous syllable (see [#1255](https://github.com/gregorio-project/gregorio/issues/1255)). +- A trailing space on a header line is now ignored (see [#1269](https://github.com/gregorio-project/gregorio/issues/1269)). +- A pes whose second note is an oriscus now obeys the oriscus orientation rules (see [#1272](https://github.com/gregorio-project/gregorio/issues/1272)) + +### Changed +- The default behaviour of `\gregorioscore` has been changed to autocompile. +- When the note after an oriscus is at the same pitch, the oriscus direction now depends on the first non-unison, non-oriscus note after the oriscus (see [#1179](https://github.com/gregorio-project/gregorio/issues/1179)). +- 6 new St. Gall neume glyphs have been added to the `gregall` font and glyph for nabc `to!ciG` has been changed (see [#1303](https://github.com/gregorio-project/gregorio/issues/1303), [#1305](https://github.com/gregorio-project/gregorio/issues/1305), [#1313](https://github.com/gregorio-project/gregorio/issues/1313), [#1314](https://github.com/gregorio-project/gregorio/issues/1314), [#1315](https://github.com/gregorio-project/gregorio/issues/1315)). +- Notes are now left-aligned as if all clefs had the same width as the largest clef in the score. You can get previous behavior back with `\grebolshiftcleftype{current}`, or temporary force alignment until the end of a score with `\grelocalbolshiftcleftype`. See Documentation of these functions and [#1189](https://github.com/gregorio-project/gregorio/issues/1189). +- A clef change immediately before a line break `(z)` will now typeset the new clef at the beginning of the next line. An explicit custos `(z0)` immediately before such a clef change (or separated by only a bar) will be suppressed. See [#1190](https://github.com/gregorio-project/gregorio/issues/1190). +- Ledger lines are now extended through notes on either side of a ledger line that crosses a stem, as long as the notes are within the same "element." If the algorithm doesn't produce the result you want, you can use `[oll:0]` to suppress an over-the-staff ledger line on a note, `[ull:0]` to suppress an under-the-staff ledger line on a note, `[oll:1]` to force an over-the-line ledger line on a note, or [ull:1] to force an under-the-staff ledger line on a note. Please note that other forms of `[oll:...]` and `[ull:...]` can interfere with these new settings. See [UPGRADE.md](UPGRADE.md) and [#1215](https://github.com/gregorio-project/gregorio/issues/1215) for details. +- The left stem of Dominican plicae on lines has been shortened (see [#1238](https://github.com/gregorio-project/gregorio/issues/1238)). +- Clefs on the top or bottom line adjust the spacing as if there were a note above the top line or below the bottom line, respectively (see [#1007](https://github.com/gregorio-project/gregorio/issues/1007)). +- Default spaces have been adjusted (see [#1182](https://github.com/gregorio-project/gregorio/issues/1182)). +- `\grechangenextscorelinedim` can now take a comma-separated list of line numbers as its first argument (see [#1280](https://github.com/gregorio-project/gregorio/issues/1280)). + +### Added +- More cavum shapes are now available. To use them, simply add `r` in gabc to any note in a glyph. See [#844](https://github.com/gregorio-project/gregorio/issues/844). +- Square brackets can be placed around notes by using `[[` and `]]` to surround said notes in gabc (see [#844](https://github.com/gregorio-project/gregorio/issues/844)). +- a font `grelaon` for Laon style adiastematic notation has been added (see GregorioNabcRef.pdf for details). This is a preview, backward incompatible change are possible in future releases. +- 9 new St. Gall neume glyphs have been added to the `gregall` font. +- 5 new St. Gall neume glyphs have been added to the `gresgmodern` font. +- install-gtex.sh now generates uninstall-gtex.sh, which can be used to uninstall the TeX portion of the installation when GregorioTeX was installed from source. +- A `<clear>` tag may be added to a syllable to indicate that its text should not overlap any previous syllable (see [#1029](https://github.com/gregorio-project/gregorio/issues/1029)). +- More general support for protrusions. The `<pr>` tag in gabc indicates where a protrusion should begin. There is an optional argument `<pr:.5>` that allows the protrusion factor to be specified (in this example, `.5`). Additionally, the comma, semicolon, colon, and period are automatically protruded, with configurable protrusion factors. See GregorioRef and [#931](https://github.com/gregorio-project/gregorio/issues/931) for more information. +- `minimalinitialwidth` space, controlling the minimum amount of space an initial should take require; ignored when `manualinitialwidth` is set to something non-zero (see [#1213](https://github.com/gregorio-project/gregorio/issues/1213)). +- new scripts in `contrib/` to check the syllabation of a gabc score against hyphenation rules, such as those on [hyphen-la](https://github.com/gregorio-project/hyphen-la) +- the visibility of a particular nabc voice can now be set by `\gresetnabc{n}{(in)visible}`, where `n` is the number of the nabc voice (see [#1257](https://github.com/gregorio-project/gregorio/issues/1257)). +- `[nocustos]` may be used in gabc to prevent a custos should the line end at that point (see [#1271](https://github.com/gregorio-project/gregorio/issues/1271)). +- Musica ficta signs: Add `r6`, `r7`, and `r8` to a note for a flat, natural, or sharp (respectively) above the note (see [#1278](https://github.com/gregorio-project/gregorio/issues/1278)). +- The spacing added for low notes in the staff is now adjustable by setting dimension `noteadditionalspacelinestext`, with the number of notes settable as count `noteadditionalspacelinestextthreshold`. See GregorioRef and [#1125](https://github.com/gregorio-project/gregorio/issues/1125) for details. +- Some counts can now be adjusted for a particular line in a score. Use `\grechangenextscorelinecount` prior to including the score to set the desired values. The various spacing thresholds may be changed with this command. See GregorioRef for details. + +### Deprecated +- `\gresethyphenprotrusion{percentage}`, supplanted by `\gresetprotrusionfactor{eolhyphen}{factor}`. Note that the value the new command takes is a factor rather than a percentage. + +### Removed +- `initial-style` gabc header, supplanted by the `\gresetinitiallines` TeX command. +- `biginitial` style, consolidated into the `initial` style. +- `\grescorereference` +- The Gregorio and Grana Padano fonts are no longer distributed with the Gregorio distribution archive. They will now be available for download separately (along with their Dominican "-op" variants) in `supp_fonts-5_0_0.zip` (the version number will change to match future releases). See [UPGRADE.md](UPGRADE.md) and [#844](https://github.com/gregorio-project/gregorio/issues/844) for details. + + +## [4.2.1][Unreleased] +### Fixed +- Debian build scripts now use directories compatible with the TeX Live 2016 packaging of Gregorio (see [#1241](https://github.com/gregorio-project/gregorio/issues/1241)). + + +## [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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/1205)). +- A two-line initial on a two-line score no longer generates an error (see [#1139](https://github.com/gregorio-project/gregorio/issues/1139)). +- Staff lines after a two-line initial should now be sized correctly in a more consistent way (see [#1141](https://github.com/gregorio-project/gregorio/issues/1141)). +- Space at the end of line was not always correct when a line is cut in the middle of a word (see [#1155](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/1152)). +- In cases of a syllable without note, the space between notes of the previous and next syllables was sometimes not enough (see [#1137](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/1087)). +- Multiple subsequent lines in gabc no longer cause TeX to fail (see [#1111](https://github.com/gregorio-project/gregorio/issues/1111)). +- Old bar spacing algorithm will no longer separate the text and bar when the bar is preceeded by a puncutm mora (see [#1078](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/1034). +- Custos glyphs heights are now counted when adjusting line heights (see [#961](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/898) and [#972](https://github.com/gregorio-project/gregorio/issues/972). +- Formerly missing torculus figures starting with an oriscus are now rendered using neume fusion (see [#1013](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/1044)). +- The visibility of notes and lyrics can now be toggled on an off using `\gresetlyrics` and `\gresetnotes`. See [#1039](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/1146). +- Very small improvement in the design of the porrectus auctus and torculus resupinus auctus (see [#1169](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](UPGRADE.md) and [#856](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](UPGRADE.md) and [#1121](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/1045)). +- Penalties must now be changed using the `\grechangecount` command. See GregorioRef and [UPGRADE.md](UPGRADE.md) for details (for the change request, see [#1021](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/1036) & [gregoriot-test#208](https://github.com/gregorio-project/gregorio-test/pull/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](https://github.com/gregorio-project/gregorio/issues/962). + +### Removed +- `\grescorereference` +- `\grenewlinepenalty` +- `\grenobreakpenalty` +- `\greendofwordpenalty` +- `\greendofsyllablepenalty` +- `\greendafterbarpenalty` +- `\greendafterbaraltpenalty` +- `\grefinalpenalty` +- `\greendofelementpenalty` +- `\grehyphenpenalty` +- `\grebrokenpenalty` +- `\grewidowpenalty` +- `\greclubpenalty` +- `\grelooseness` +- `\gretolerance` +- `\grepretolerance` +- `\greemergencystretch` + + +## [4.1.5] - 2016-08-18 +### Fixed +- Use node.travese_id() to find our desired nodes when doing translation centering across syllables, thereby preventing a conflict with other packages which insert nodes (such as luatex-ja). See [#1180](https://github.com/gregorio-project/gregorio/issues/1180). +- Explicitly communicate the rescaling of `\gre@skip@temp@four` back to TeX, thereby fixing the problem with custom spacings. See [#1199](https://github.com/gregorio-project/gregorio/issues/1199). +- With thanks to Claudio Beccari (@OldClaudio), adding a commentary no longer generates a bad `\hbox` during TeX processing (see [#1202](https://github.com/gregorio-project/gregorio/issues/1202)). + +## [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](http://www.mail-archive.com/gregorio-users@gna.org/msg03520.html). + +## [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](https://github.com/gregorio-project/gregorio/issues/1107). + + +## [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](https://github.com/gregorio-project/gregorio/issues/1075). +- GregorioTeX is now compatible with TeX Live 2016 + + +## [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](https://github.com/gregorio-project/gregorio/issues/990)). +- Corrected the end-of-line shift for a ragged line break before `<eu>` blocks (see [#988](https://github.com/gregorio-project/gregorio/issues/988)). +- Additional space is now added on top of lines with very high notes or signs (see [#883](https://github.com/gregorio-project/gregorio/issues/883)). +- High notes are now taken into account for vertical placement of above lines test (see [#960](https://github.com/gregorio-project/gregorio/issues/960)). +- Forced syllable centers can be used in to override alignment issues when lyric centering is set to `syllable` or `firstletter`. This is a restoration of old behavior (pre-4.0), but can be turned off with `\gresetgabcforcecenters{prohibit}`. See [968](https://github.com/gregorio-project/gregorio/issues/968). +- Deminutus figures in nabc work again (see [#1015](https://github.com/gregorio-project/gregorio/issues/1015)). +- Orphaned syllables should appear less frequently at end of score (see [1019](https://github.com/gregorio-project/gregorio/issues/1019)). + +### Added +- The macro `\grechangecount` now allows to change some numeric values of the configuration. This version introduces two of them: `additionaltopspacethreshold` and `additionaltopspacealtthreshold`, 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. + +## [4.1.0] - 2016-03-01 +### Fixed +- Hyphens now shouldn't go right of the staff lines (see [#845](https://github.com/gregorio-project/gregorio/issues/845)). +- Horizontal episema on initio debilis is now sized correctly (see [#880](https://github.com/gregorio-project/gregorio/issues/880)). +- Space between the text of two syllables of the same word when no hyphen is necessary is now strictly 0 (see [#922](https://github.com/gregorio-project/gregorio/issues/922)) +- A horizontal episema on the first note of a torculus deminutus is now placed correctly. See [#926](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/742)). +- `<eu>` and `<nlba>` may now be ended on the final divisio maior/finalis (see [#743](https://github.com/gregorio-project/gregorio/issues/743)). +- Sign positioning on the first note of quadratum figures is now correct (see [#752](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/790) and [#882](https://github.com/gregorio-project/gregorio/issues/882)). +- Forced hyphens at the end of words are no longer suppressed (see [#804](https://github.com/gregorio-project/gregorio/issues/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 a rubber value should you so desire. +- The names of the spaces around bars have changed, see `gsp-default` or GregorioRef for the new names. It is now possible to tune the spacing of the virgula separately from the divisio minima, and the Dominican bar separately from the divisio minor. +- The stem length determination will use the ledger line below the note with the stem (see [#863](https://github.com/gregorio-project/gregorio/issues/863)). +- Made the oriscus orientation dependent on the note that follows. Using `1` will force the ascending oriscus and `0` will force the descending oriscus. The old behavior may be restored by setting the `oriscus-orientation` gabc header to `legacy`. See UPGRADE.md for details (for the change request, see [#774](https://github.com/gregorio-project/gregorio/issues/774) and [#898](https://github.com/gregorio-project/gregorio/issues/898)). +- Add new lines as needed to the gabc output. (see [#905](https://github.com/gregorio-project/gregorio/issues/905)). +- Command line output (help message, version message, error handling) has been improved, see [#891](https://github.com/gregorio-project/gregorio/issues/891) +- Windows installer no longer copies the executable into the TeX bin directory. Instead it has the option to add its own bin directory to PATH. +- `system-setup.sh` has become `system-setup.command` so that it is double click executable on Mac. +- Post install options for Windows installer have been simplified. There are no longer separate options for MiKTeX and TeX Live. Instead the installer will determine which you have itself and act accordingly. +- Windows installer will check more locations for old installations to remove. +- Height of the porrectus have been altered (first note moved up, second also moved up when second ambitus is more than one) so that they are more coherent with the punctum height. The porrectus stroke drawings have also been slightly altered to be slightly thinner and sharper around the bottom note (see [#858](https://github.com/gregorio-project/gregorio/issues/858)). +- When a syllable is preceeded by a punctum mora, gregorio now ignores the punctum mora in the spacing of the syllables by default, and also adds a custom space (defaulting to 0). You can change this behavior with `\gresetshiftaftermora{}`, see GregorioRef for its arguments. To balance the output, space before a punctum mora has been made slightly thinner, more in line with old Solesmes books. (For the change requests, see [#795](https://github.com/gregorio-project/gregorio/issues/795) and [#871](https://github.com/gregorio-project/gregorio/issues/871)). +- The `--admin` option is removed from the `initexmf` call for MiKTeX installations, allowing the installer to work better on Windows 10. +- MiKTeX installations no longer copy files into TEXMFLOCAL but instead registers the texmf folder which the installer creates with MiKTeX, allowing it to use those files in place. See [#884](https://github.com/gregorio-project/gregorio/issues/884) +- Windows installer now contains an uninstall script which will run as part of the uninstall action and thus should remove the Gregorio executable and TeX files from their copied locations (leaving a clean post-uninstall system). +- Initial handling has been simplified. The initial style should now be specified from TeX by using the `\gresetinitiallines` command, rather than from a gabc header. Big initials and normal initials are now governed by a single `initial` style, meant to be changed between scores as appropriate. See [UPGRADE.md](UPGRADE.md) and GregorioRef for details (for the change request, see [#632](https://github.com/gregorio-project/gregorio/issues/632)). Deprecations for this change are listed in the Deprecation section, below. +- `\gresethyphen` no longer manipulates `maximumspacewithoutdash`, allowing for restoration of consistent behavior after this distance has been modified. See [#705](https://github.com/gregorio-project/gregorio/issues/705). +- The oriscus-based shapes in the greciliae font are more consistent. The shape of a scandicus with a second ambitus of two is more consistent across all score fonts. +- Minimal space between notes of different syllables (or words) has been reduced when the second syllable starts with an alteration. +- The space between note and horizontal episema has been tightened for notes at the `c` or `k` height when there is no ledger line. Due to the intricacies of measurement, the system tries to make a best guess as to the existence of the ledger line. If the guess is wrong, you may use the `[hl:n]` and `[ll:n]` notations in gabc to override the guess. See [UPGRADE.md](UPGRADE.md) for details (for aspects of change request, see [#716](https://github.com/gregorio-project/gregorio/issues/716), and [#862](https://github.com/gregorio-project/gregorio/issues/862)). +- The custos that might appear immediately before a `<eu>` block is now suppressed by default. This behavior is controlled by the `\greseteolcustosbeforeeuouae` command. See GregorioRef and [UPGRADE.md](UPGRADE.md) for details (for the change request, see [#761](https://github.com/gregorio-project/gregorio/issues/761)). +- Different glyphs will now be used for the liquescent stropha on a line or between lines, if supported by the font. If you prefer the old behavior, use `\grechangeglyph{StrophaAuctaLongtail}{*}{StrophaAucta}` in your TeX file. See [#773](https://github.com/gregorio-project/gregorio/issues/773). +- Headers not recognized by gregorio, rather than inducing an error, are now simply accepted by gregorio. Most of the old "standard" headers, like `book` and `manuscript-location`, are now handled in this way and thus are no longer limited to one instance. See GregorioRef for details. +- `mode` will now be converted to Roman numerals in lower case so that it shows up as small capitals using the default `modeline` style. See [UPGRADE.md](UPGRADE.md) for details (for the change request, see [#756](https://github.com/gregorio-project/gregorio/issues/756)). +- `\grecommentary` is now less restrictive about where it occurs and need not occur directly before the score anymore. + +### Added +- It is now possible to turn off rythmic signs (separately or all together) with `\greprintsigns`, see GregorioRef for details (and [#936](https://github.com/gregorio-project/gregorio/issues/936) for request). +- Space between the two bars of a divisio finalis is now tunable through `divisiofinalissep`. +- Added `notesonly` argument to `\gresetshiftaftermora` (see [#948](https://github.com/gregorio-project/gregorio/issues/948)). +- Controls for tuning horizontal episema vertical position. See GregorioRef for details (for the change request, see [#872](https://github.com/gregorio-project/gregorio/issues/872)). +- More dimensions are tunable: `overhepisemalowshift`, `overhepisemahighshift`, `underhepisemalowshift`, `underhepisemahighshift`, `hepisemamiddleshift`, `vepisemalowshift`, `vepisemahighshift`, `linepunctummorashift`, `spacepunctummorashift`, `spaceamonepespunctummorashift`, `lineporrectuspunctummorashift`, `spaceporrectuspunctummorashift`, `raresignshift`. See GregorioRef for details (for the change request for most of these, see comments in [#872](https://github.com/gregorio-project/gregorio/issues/872)). +- A new dimension, `intersyllablespacestretchhyphen` is now available to add stretching in the case of syllables separated by an hyphen (see comments in [#922](https://github.com/gregorio-project/gregorio/issues/922)) +- A new algorithm for placing bar syllables has been added and is now the default. See UPGRADE.md for more details. The old spacing can be activated with `\gresetbarspacing{old}`. See the following for various aspects of the implementation: + - [#767](https://github.com/gregorio-project/gregorio/issues/767) + - [#919](https://github.com/gregorio-project/gregorio/issues/919) + - [#944](https://github.com/gregorio-project/gregorio/issues/944) + - [#978](https://github.com/gregorio-project/gregorio/issues/978) +- It is now possible to generate a font with a different stem length schema (apart from the default one, Solesmes' is available), see [fonts/README.md](fonts/README.md) for details. +- Some forms (`ed` for example) will have a different stem length if a ledger line is present. Heuristics to determine the presence of a ledger line or not are quite simple and may not always be correct. Gabc now allows you to force a note to act as if a ledger line was present with `[ll:1]`, or as if there was no ledger line, with `[ll:0]`. See Gabc section of GregorioRef for details. +- The ability to typeset an inter-glyph space using `/!` in gabc (see [#868](https://github.com/gregorio-project/gregorio/issues/868)) +- Support for two-, three-, and five-line staves. Set the `staff-lines` header to `2`, `3`, or `5`. For all values of `staff-lines`, the note below the staff remains 'c'. The two new notes above the staff (for a five-line staff) are `n` and `p`. See [#429](https://github.com/gregorio-project/gregorio/issues/429). +- Salicus flexus glyphs (see [#631](https://github.com/gregorio-project/gregorio/issues/631)). +- Neume fusion, activated in gabc by `@`. Use `@` before a clivis or a porrectus to get an unstemmed figure. Use `@` between two notes to fuse them explicitly. Enclose a set of notes within `@[` and `]` to automatically guess their fusion. See GregorioRef for details (for the channge requests, see [#679](https://github.com/gregorio-project/gregorio/issues/679), [#687](https://github.com/gregorio-project/gregorio/issues/687), and [#692](https://github.com/gregorio-project/gregorio/issues/692)). +- Hollow version of the oriscus, called by adding the `r` modifier to an oriscus, as in `gor` or `gor<` (See [#724](https://github.com/gregorio-project/gregorio/issues/724)). +- Headers are now passed to TeX and may be captured in TeX by using the `\gresetheadercapture` command. See GregorioRef for details. +- Support for half-spaces and ad-hoc spaces. Use `/0` in gabc for a half-space between notes. Use `/[factor]` (substituting a positive or negative real number for the scale factor) for an ad-hoc space whose length is `interelementspace` scaled by the desired factor. See [#736](https://github.com/gregorio-project/gregorio/issues/736). +- Support for custom length ledger lines. See GregorioRef for details (for the change request, see [#598](https://github.com/gregorio-project/gregorio/issues/598)). +- Support for a secondary clef. Use `@` to join two clefs together, as in `c1@c4`. The first clef is considered the primary one and will be used when computing an automatic custos before a clef change. See [#755](https://github.com/gregorio-project/gregorio/issues/755). +- New headers for typesetting text after `mode` above the initial: `mode` will be typeset first, using the `modeline` style, then `mode-modifier`, using the `modemodifier` style, then `mode-differentia`, using the `modedifferentia` style. See GregorioRef for details (for the change request, see [#756](https://github.com/gregorio-project/gregorio/issues/756)). +- Automatic line breaks before a `<eu>` block may be made ragged by using `\gresetbreakbeforeeuouae{ragged}`. See GregorioRef for details (for the change request, see [#764](https://github.com/gregorio-project/gregorio/issues/764)). +- The ability to typeset simple slurs. See GregorioRef for details (for the change request, see [#776](https://github.com/gregorio-project/gregorio/issues/776)). +- More control over the alignment of the annotation. You can now set either the first line or the last line of the annotation as the controling line with `\gresetannotationby{firstline}` and `\gresetannotationby{lastline}` respectively. Additionaly, within the line you can specify the top, baseline, or bottom of the line as the alignment point with `\gresetannotationvalign{top}`, `\gresetannotationvalign{baseline}`, and `\gresetannotationvalign{bottom}` respectively. Default behavior is baseline of the top line (as it was before). These alignment controls are applied before `annotationraise` is taken into account. See [#768](https://github.com/gregorio-project/gregorio/issues/768) for details. +- More control over the placement of the commentary. You can now set the amount of space between the lines of a multi-line commentary with `commentaryseparation` and the distance from the top line of the staff to the baseline of the bottom line of the commentary with `commentaryraise`. See [#662](https://github.com/gregorio-project/gregorio/issues/662) for original request. +- Styles for the annotation and the commentary. `annotation` has no default styling. `commentary` defaults to footnote sized italics. +- `\grecommentary` now takes an optional argument which will add extra space between the commentary and the score for just the next score. +- The custos can now be selectively enabled/disabled at forced line breaks by appending `+` (to enable) or `-` (to disable) after the `z` or `Z` (see [#800](https://github.com/gregorio-project/gregorio/issues/800)). +- With thanks to an anonymous contributor, the shape of the MetaPost-drawn curly brace has been improved (see [#797](https://github.com/gregorio-project/gregorio/issues/797)). +- Support for elisions, text between `<e>` and `</e>` in gabc, styled according to the `elision` style, which are excluded when determining where to position the text under its notes (see [#838](https://github.com/gregorio-project/gregorio/issues/838)). +- Special characters (between `<sp>` and `</sp>` in gabc) may now be customized using the `\gresetspecial` and `\greunsetspecial` commands. See GregorioRef for details (for the change request, see [#846](https://github.com/gregorio-project/gregorio/issues/846)). +- `\gresetbracerendering` can now take an optional argument to change the rendering of a single type of brace. See GregorioRef for details (for the change request, see [#850](https://github.com/gregorio-project/gregorio/issues/850)). + +### Deprecated +- `initial-style` gabc header, supplanted by the `\gresetinitiallines` TeX command. +- `biginitial` style, consolidated into the `initial` style. +- `\grescorereference` + +### Removed +- `\GreSetStaffLinesFormat`, supplanted by `\grechangestyle{normalstafflines}...` +- `\greinitialformat`, if you were redefining this command, use `\grechangestyle{initial}...` instead +- `\grebiginitialformat`, if you were redefining this command, use `\grechangestyle{biginitial}...` instead +- `\gretranslationformat`, if you were redefining this command, use `\grechangestyle{translation}...` instead +- `\greabovelinestextstyle`, if you were redefining this command, use `\grechangestyle{abovelinestext}...` instead +- `\grelowchoralsignstyle`, if you were redefining this command, use `\grechangestyle{lowchoralsign}...` instead +- `\grehighchoralsignstyle`, if you were redefining this command, use `\grechangestyle{highchoralsign}...` instead +- `\setaboveinitialseparation`, supplanted by `\grechangedim{annotationseparation}...` +- `\scorereference` +- `\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 `\gresethepisema{bridge}` +- `\RemoveHEpisemusBridges`, supplanted by `\gresethepisema{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}` +- `\setspaceafterinitial`, supplanted by `\grechangedim{afterinitialshift}...` +- `\setspacebeforeinitial`, supplanted by `\grechangedim{beforeinitialshift}...` +- `\setinitialspacing`, supplanted by `\grechangedim{beforeinitialshift}...`, `\grechangedim{manualinitialwidth}...`, and `\grechangedime{afterinitialshift}...` +- `centering-scheme` gabc header, supplanted by `\gresetlyriccentering` in TeX. See GregorioRef for syntax. +- `gregoriotex-font` gabc header, supplanted by `\gresetgregoriofont` in TeX. See GregorioRef for syntax. +- The meaningless `gabc-version` header in gabc (see [#664](https://github.com/gregorio-project/gregorio/issues/664)). + +### Known Bugs +- When there is no manual break, the spacing around bars at the end of a line in the new spacing algorithm is not perfect, this should be visible only in edge cases. If you encounter such a bad spacing, you are advised to force a line break manually. See [#959](https://github.com/gregorio-project/gregorio/issues/959). +- Above lines text does not move to account for high notes which occur in the same place. As a result the two may overlap. You can work around this by changing `abovelinestextraise` but this is a global setting, affecting the entire score. See [#960](https://github.com/gregorio-project/gregorio/issues/960). +- A manual custos in a low note position will not push down the text associated with it, resulting in the two overlapping. See [#961](https://github.com/gregorio-project/gregorio/issues/961). + + +## [4.0.1] - 2015-12-28 +### Fixed +- `\greseteolcustos` now retains its setting across multiple score inclusions (see [#703](https://github.com/gregorio-project/gregorio/issues/703)). +- Gregorio now works against luaotfload 2.6 (see [#717](https://github.com/gregorio-project/gregorio/issues/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](https://github.com/gregorio-project/gregorio/issues/683). +- `\grecross` and `\grealtcross` now print the correct glyphs (see [#713](https://github.com/gregorio-project/gregorio/issues/713)). + + +## [4.0.0] - 2015-12-08 +### 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)). +- Corrected the rendering of explicit automatic and manual custos at the end of lines when the clef change that follows it is pushed to the next line (see [#569](https://github.com/gregorio-project/gregorio/issues/569)). +- Distinguished between `eolshift` and `bolshift` giving each their own flag and user commmand for turning them on and off. `\seteolshift{enable}` allows the lyric text to stretch under the custos at the end of the line. `\setbolshift{enable}` aligns the beginning of each line on the notes instead of the text. Both are on by default, but can be turned off with `\seteolshift{disable}` and `\setbolshift{disable}`. +- The spacing of manual in-line custos (`(f+)` in gabc) is now consistent with the spacing of automatic in-line custos (`(z0)` in gabc). See [#642](https://github.com/gregorio-project/gregorio/issues/642). +- Signs on the climacus praepunctis deminutus `(ghgf~)` neume are now positioned correctly. See [#650](https://github.com/gregorio-project/gregorio/issues/650) +- Mac installer has been made SIP compliant (i.e. it now works on El Capitan). +- Mac installer can now detect installations of TeX Live done with MacPorts or the command-line tool provided by TUG. +- Windows executable has file version information attached correctly so that the installer can properly recognize and replace the binary during an upgrade process. +- Spacing was too large when alteration begins a syllable, see [#663](https://github.com/gregorio-project/gregorio/issues/663). + +### 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 `scalable` if you want the distance to scale when the staff size changes, `fixed` if you don't. +- 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)). +- `\grecreatedim` and `\grechangedim` now take keywords for their third argument (`scalable` and `fixed`) instead of integers (`1` and `0`) to make the more in keeping with the overall user command conventions. +- Alterations are partially ignored when aligning lines on the notes (i.e. `\gresetbolshifts{enabled}`). They are not allowed to get any closer to the clef than `beforealterationspace` and the lyrics are not allowed to get any closer to the left-hand margin than `minimalspaceatlinebeginning`, but other than that GregorioTeX will shift them left as much as possible to make the notes align `spaceafterlineclef` away from the clef. Note that for the default values of these distances, only the natural is small enough to acheive true alignment. +- `gregoriotex.sty` and `gregoriosyms.sty` now check to make sure that they are not both loaded. If `gregoriotex` detects that `gregoriosyms` is loaded, then an error is raised. If `gregoriosyms` detects that `gregoriotex` is loaded, then the loading of `gregoriosyms` is silently aborted and compilation proceeds. +- Liquescence on a bistropha or tristropha will only appear on the note(s) marked by `<` in gabc, rather than on all notes in the figure. This means that a figure like `(gsss<)` will only have a liquescent "tail" on the final note. If you would like all notes to be liquescent for some reason, you can use a figure like `(gs<gs<gs<)` instead. +- `alterationspace` is now a fixed dimension, see [UPGRADE.md](UPGRADE.md) for details. + +### 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 (TeX Live only). Necessary to be included in `shell_escape_commands` in TeX Live. +- 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 word, first syllable, and first letter of the first syllable that is *not* interpreted as the initial of the score can now be styled from TeX. Use `\grechangestyle` to modify the `firstsyllableinitial`, `firstsyllable`, and `firstword` as desired. +- 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 `allowdeprecated=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. +- `\greillumination`: allows user to specify arbitrary content (usually an image) to be used as the initial. +- New distance, `initialraise`, which will lift (or lower, if negative) the initial. +- A new type of lyric centering, enabled with `\gresetlyriccentering{firstletter}`, which aligns the neume with the first letter of each syllable. +- `\greornamentation` allows access to the two ornamentation glyphs. The ability to access these two glyphs via `{\gregoriosymbolfont \char 75}` was broken by the new interface to the glyphs in greextra. +- The missing liquescent salicus glyphs. +- The ability to force a hyphen after an empty first syllable, enabled by default since this was the behavior prior to 4.0. Version 4.0 has an improved spacing algorithm which will eliminate the hyphen if the notes for the first syllable are too close to the second. To switch to this behavior, use `\gresetemptyfirstsyllablehyphen{auto}`. See [UPGRADE.md](UPGRADE.md) and GregorioRef for details (for the change request, see [#653](https://github.com/gregorio-project/gregorio/issues/653)). +- Shell scripts for configuring TeXShop and TeXworks on a Mac. + +### 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 +- `\setaboveinitialseparation`, supplanted by `\grechangedim{annotationseparation}...` +- `\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 `\gresethepisema{bridge}` +- `\RemoveHEpisemusBridges`, supplanted by `\gresethepisema{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}` +- `\setspaceafterinitial`, supplanted by `\grechangedim{afterinitialshift}...` +- `\setspacebeforeinitial`, supplanted by `\grechangedim{beforeinitialshift}...` +- `\setinitialspacing`, supplanted by `\grechangedim{beforeinitialshift}...`, `\grechangedim{manualinitialwidth}...`, and `\grechangedime{afterinitialshift}...` +- `centering-scheme` gabc header, supplanted by `\gresetlyriccentering` in TeX. See GregorioRef for syntax. +- `gregoriotex-font` gabc header, supplanted by `\gresetgregoriofont` in TeX. See GregorioRef for syntax. +- The meaningless `gabc-version` header in gabc (see [#664](https://github.com/gregorio-project/gregorio/issues/664)). + +### 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{beforeinitialshift}...` +- `\GreSetSpaceAfterInitial`, supplanted by `\grechangedim{afterinitialshift}...` +- `\GreSetAboveInitialSeparation`, supplanted by `\grechangedim{annotationseparation}...` +- `\gresetstafflinefactor`, supplanted by `\grechangestafflinethickness` +- `greg-book` and `greg-lily-book` engines, supplanted by improved capabilities of `\gregorioscore` for compiling gabc files at time of document compilation. +- The TeXShop script for compiling gabc files. Supplanted by the new autocompile feature of the package. + +### Known Bugs - FIXED IN 4.0.1 +- When beginning of line clefs are invisible and bol shifts are enabled, lyric text will stick out into the margin. Further the notes on the first and subsequent lines do not align properly. See [#683](https://github.com/gregorio-project/gregorio/issues/683). + + +## [3.0.3] - 2015-07-01 +### Fixed +- Horizontal episemae on salicus figures now render correctly (See [#511](https://github.com/gregorio-project/gregorio/issues/511)). + +## [3.0.2] - 2015-06-01 +### Fixed +- Prevented the default small font of the above lines text from leaking into the lyrics. + +## [3.0.1] - 2015-05-17 +### Fixed +- Windows Installer is now compatible with MiKTeX. See [#355](https://github.com/gregorio-project/gregorio/issues/355). + +## [3.0.0] - 2015-05-14 +### Changed +- [New website](http://gregorio-project.github.io) containing instructions only for new versions of Gregorio starting with this release, in English only. +- New clean Mac OSX installer (intel only). +- New incompatible format of space configuration files (`gsp-xxx.tex`). Values are now scaled to the default staff size (see [#50](https://github.com/gregorio-project/gregorio/issues/50). You now need to use `\gresetdim` for setting distances (`\somedistance = 3cm`) can no longer be used). `\gresetdim` takes three arguments: the name of the distance, the desired value, and whether the distance should scale with changes in the staff size or not. See `gsp-default.tex` for an example. +- All distances can now be set to scale with staff size, as a consequence `\grechangedim` now takes three arguments: the name of the distance, value to change the distance to (which now supports em and ex units), and whether or not this value should be scaled with changes in the staff size. See doc/UserManual.pdf for details. +- `\setinitalspacing` , `\setspacebeforeinitial`, `\setspaceafterinitial`, and `\setaboveinitialseparation` now take an additional argument. The new argument specifies whether the distance should scale when the staff size changes. +- Improved `\includescore` capabilities. The `\includescore[f]` parameter has changed to `\includescore[n]` compared to version 2.4.2. See doc/UserManual.pdf for full details and UPGRADING.md for instructions on how to upgrade your score from 2.4.2. +- Clivis stem length now follow Solesmes' books conventions (see [#31](https://github.com/gregorio-project/gregorio/issues/31)). +- Windows TeXworks configuration script no longer adds deprecated `greg-book` and `gregorio` engines (see below). +- `build.sh` and `install.sh` scripts are now used to build and install Gregorio with common options. +- Clarified post installation options for Windows installer. What was the "Install Fonts" option is now labeled to indicate that this also adds GregorioTeX files to the texmf tree. +- `\grechangedim` now checks to make sure it only operates on existing distances and doesn't create a new one. + +### Fixed +- `\includescore` not finding files for autocompile under certain circumstances. (see [this thread](http://www.mail-archive.com/gregorio-users@gna.org/msg02346.html)). +- Spacing between a syllable and a syllable with text and only a bar was too short. +- Torculus followed by a non-liquescent note is now parsed correctly (see [#284](https://github.com/gregorio-project/gregorio/issues/284). +- Spacing after a syllable with an flat, sharp, or natural is now correct (see [#246](https://github.com/gregorio-project/gregorio/issues/246). + +### Added +- `\setstafflinethickness` controls the thickness of the staff lines. See GregorioRef.pdf for full details. +- `\gre@debug`. Writes messages to the log file when the debug flag is set to true (can be done manually via `\debugtrue`, or via the `debug` option when loading the gregoriotex package in LaTeX). +- New documentation in PDF: GregorioRef.pdf. You can find it in the [release files](https://github.com/gregorio-project/gregorio/releases). +- A migration guide ([UPGRADE.md](UPGRADE.md)) +- This CHANGELOG. +- A Windows batch file which will detect the system setup and create a report which can be useful in diagnosing installation problems. Instructions for how to use it appear [under the installation instructions for Windows on the website.](http://gregorio-project.github.io/installation-windows.html) + +### Deprecated +- OpusTeX writing and GregorioXML reading and writing features will disappear in next minor release +- The [old website](http://home.gna.org/gregorio/) contains instructions for old versions of Gregorio only, and will not be updated anymore. +- the `-O` option +- `\includetexscore`, supplanted by `\includescore[n]` +- `\greincludetexscore`, supplanted by `\includescore[n]` +- `\includegabcscore`, supplanted by `\includescore[f]` +- `\greincludegabcscore`, supplanted by `\includescore[f]` +- `\GreSetSpaceBeforeInitial`, supplanted by `\setspacebeforeinitial` +- `\GreSetSpaceAfterInitial`, supplanted by `\setspaceafterinitial` +- `\GreSetAboveInitialSeparation`, supplanted by `\setaboveinitialseparation` +- `\gresetstafflinefactor`, supplanted by `\setstafflinethickness` +- `greg-book` and `greg-lily-book` engines, supplanted by improved capabilities of `\includescore` for compiling gabc files at time of document compilation. + +## 2.4.3 - 2015-03-14 [YANKED] + +## 2.4.2 - 2015-02-27 +### Changed +- Improved `\includescore` with GregorioTeX API version checking (auto-compiling when possibly breaking Gregorio update). +- Clivis and pes quadratum alignment now follows Solesmes' conventions more closely (see [#10](https://github.com/gregorio-project/gregorio/issues/10)). + +### Fixed +- Reducing horizontal episema width. +- Reducing flat stem length. +- `mode` and `anotation-line` now do their job. +- Low episema (`_0`) under consecutive notes are now aligned correctly. +- Quilisma was melting too much with next note when in a second interval. +- Fixed custo blocking possibility. +- Fixing glyphs disapearing when importing into Illustrator. + +### Added +- English centering scheme now available as GregorioTeX option. +- `\setinitialspacing` to control all spaces related to initial with one command. +- `\gremanualinitialwidth` macro to specify width of all initials. +- Virga aucta (for liquescent salicus), gabc `iv>`. +- Torculus liquescent deminutus and quilisma version, gabc `dfec~` and `dwfec~`. +- Pressus maior liquescens: `hof~`. +- Rare form of scandicus. +- Added `<c>` markup in gabc to denote a change of color. +- Added `<nlba>` markup in gabc to get areas with no line breaks. +- Possibility to center translation syllable by syllable, see [here](https://www.mail-archive.com/gregorio-users@gna.org/msg01760.html) and [here](https://www.mail-archive.com/gregorio-users@gna.org/msg01783.html). + +## 2.0 - 2010-09-27 +### Changed +- gregorio API changed and GregorioTeX macros prepended with `\gre`, to avoid potential name conflicts +- updated greciliae font +- fine-tuning the spacing, and making it easier for users to change the defaults +- GregorioXML reading is now optional (via `--enable-xml-read` flag) + +### Fixed +- as always, fixing a lot of bugs + +### Added +- Automatic Windows installer +- adding requested features: Dominican bars, choral signs, text above staff lines +- enabling comments in gabc files +- adding ability to write verbatim TeX at {note, glyph, element} level +- introducing horizontal episema bridges +- default output is now utf8 directly; the `-O` option allows old-style TeX output, i.e. `\char XXXX` +- new static build system for packaged distributions + + +## 1.0 - 2009-10-19 +### Changed +- changing the number of arguments of some TeX function +- changing the glyph names +- improving the spacings +- better management of the penalty in TeX so that the line changes are more consistent +- changing the markup system in gabc to be more natural + +### Fixed +- fixing a lot of bugs + +### Added +- adding the possibility to put a flat after the clef +- adding the possibility to put a custo before a clef change + + +## 0.9.2 - 2008-12-27 +### Changed +- changing the number of arguments of some TeX function +- changing the glyph names + +### Fixed +- fixing a lot of bugs + +### Added +- LuaTeX additional functionalities + + +## 0.9.1 - 2008-11-23 +### Changed +- changing the number of arguments of some TeX functions + +### Fixed +- fixing a lot of small bugs + + +## 0.9 - 2008-07-25 +### Changed +- stabilizing the TeX API + +### Added +- adding support for Cygwin compilation +- adding too many new features to be listed + + +## 0.3 - 2008-01-18 +### Changed +- changing the architecture of libraries and plugins + +### Added +- adding support for end of lines +- adding support for compilation on MAC OSX + + +## 0.2.2 - 2007-06-14 +### Added +- adding styles and centering in text + +[3.0.0-rc1]: https://github.com/gregorio-project/gregorio/compare/v2.4.2...v3.0.0-rc1 +[3.0.0-rc2]: https://github.com/gregorio-project/gregorio/compare/v3.0.0-rc1...v3.0.0-rc2 diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/CONTRIBUTING.md b/Master/texmf-dist/doc/luatex/gregoriotex/CONTRIBUTING.md new file mode 100644 index 00000000000..fe6d94a797a --- /dev/null +++ b/Master/texmf-dist/doc/luatex/gregoriotex/CONTRIBUTING.md @@ -0,0 +1,99 @@ +# Contributing guide for Gregorio + +## Reporting an issue + +You can report a bug and request a new feature on the [bug tracker](https://github.com/gregorio-project/gregorio/issues). + +Please search for existing issues before reporting a new one. + +Please do not use the issue tracker for personal support requests, instead use the mailing-list (https://groups.google.com/forum/#!forum/gregorio-users) or IRC: #gregorio on freenode. + +### Report a bug + +When you report a bug, please provide the following information: + + * version of Gregorio + * a minimal example (gabc or gabc+tex if relevant) showing the bug + * a screenshot of the wrong result + * a precise description (if possible with a picture) of the expected output + +### Request feature + +When requesting a feature, please provide the following informations: + + * a minimal example (gabc or gabc+tex) that currently doesn't work, but would + if the feature was done + * a precise description (if possible with a picture) of the expected output + +## Contributing code + +### Development environment + +It is not currently possible to compile Gregorio under Windows. The build requirements +are the same under GNU/Linux and Mac OSX: + + * [git](http://git-scm.com/) + * the [GNU Build System](http://www.gnu.org/software/automake/manual/html_node/GNU-Build-System.html#GNU-Build-System) (often referred to as "Autotools") + * [gcc](https://gcc.gnu.org/) (and associated tools) + * [GNU indent](https://www.gnu.org/software/indent/) (OSX default indent won't work) + * [pylint](http://www.pylint.org/) if you work on Python files + +### Coding standards + +##### C files + +Gregorio targets the following: + + * C standard: [ISO C89 Standard](http://en.wikipedia.org/wiki/ANSI_C#C89) + * compilers: [gcc](https://gcc.gnu.org/) and [clang](http://clang.llvm.org/) + * architectures: `i586`, `amd64`, `arm`, `arm64` + * under Linux, only [`glibc`](http://www.gnu.org/software/libc/) + * must compile under Mac OSX natively, and under [mingw32](http://www.mingw.org/) and [mingw_w64](https://sourceforge.net/projects/mingw-w64/) + * for inclusion with TeX Live, must compile under VisualStudio 2010 for Windows. + +Specific C extensions (GNU extensions, etc.) working for all the above targets are allowed on a case-by-case basis. Patches for other compilers, architectures or libraries can be accepted if they are clean, small and non-intrusive. + +Use indent on your code before commiting it, with the `.indent.pro` file in the repository: `indent path/to/my/file.c`. + +##### Other files + +The rest of the code uses two spaces for indentation of `.tex`, `.lua` and other files, and four spaces for `.py` files. + +Gregorio provides an [`.editorconfig` file](../.editorconfig), using an [editorconfig plugin](http://editorconfig.org/#download) for your editor will configure it automatically. + +Python files must output no error when inspected by `pylint`. + +TeX code must use LuaTeX (more than TeX + eTeX + Omega + PDFTeX) primitives as much as possible, and, when not possible, use code compiling under PlainTeX. All lines inside macro definitions must end with `%` to avoid spurious spaces. To check that no line has been forgotten, please check that `grep -nE '^(\s|\\(|g|e|x)def)[^%]+$' tex/*.tex tex/*.sty` returns only Lua and metapost code or other lines where `%` is not needed. + +### Tests + +Before submitting a change, please run the tests in [gregorio-test](gregorio-project/gregorio-test) against your resulting code. + +When your changes are significant, please provide a test demonstrating the change. See [test documentation](https://github.com/gregorio-project/gregorio-test/blob/master/README.md). + +If your change breaks some of the existing tests, then please either fix the existing tests or propose the new results be accepted as more "correct" than the old ones. + +If you are submitting a new or modified test, please create a new branch in the test repository (preferably with a name which matches the name of the branch your changes are on in the main repository) where you can make these changes. Then create a pull request in the test repository which explains your changes and make sure to reference the corresponding pull request in the main repository. This way those reveiwing your changes can also see what you expect the new test results to be. + +### Documentation + +If your code has an impact on the user, you must add it to the [changelog file](CHANGELOG.md). + +You must also document it in the right places: + + * [User manual](doc/) for changes in GregorioTeX + * the [website](http://gregorio-project.github.io/) (in [another repository](https://github.com/gregorio-project/gregorio-project.github.io)) if relevant. + +### Git Workflow + +The Gregorio team is following the [classical Github workflow](https://guides.github.com/introduction/flow/). More precisely it follows what is sometimes described as "[Gitflow Worflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)", keeping the same branch naming convention. + +### Make a pull request + +Once you are ready to contribute code: + + * fork the repository and checkout your fork + * create a new branch for the pull request you want to make + * commit your changes to this new branch + * make a pull request from this new branch to the relevant branch (usually `develop`) + * the Gregorio developers will inspect and comment your pull request, and finally merge it (or not) diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/CONTRIBUTORS.md b/Master/texmf-dist/doc/luatex/gregoriotex/CONTRIBUTORS.md new file mode 100644 index 00000000000..3fc29b0cbc1 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/gregoriotex/CONTRIBUTORS.md @@ -0,0 +1,49 @@ +## Authors + +Gregorio is developed by: + + * [Elie Roux](mailto:elie.roux@telecom-bretagne.eu) + * [Olivier Berten](mailto:olivier.berten@gmail.com) + * [Henry So Jr](mailto:henryso@panix.com) + * [Br. Samuel Springuel](mailto:rpspringuel@gmail.com) + * [Rev. Elijah Schwab](mailto:elijahschwab@gmail.com) + * [Jakub Jelínek](mailto:jakub@redhat.com) + * [Br. Gabriel-Marie](mailto:brgabriel@sspx.com) + +The following people also contributed in the past: + + * [Jérémie Corbier](mailto:jeremie.corbier@telecom-bretagne.eu) + * [Tracy Llenos](mailto:tllenos@gmail.com) + +## Thanks + +Gregorio has been developed with valuable help and support from: + + * Yannis Haralambous + * [The Abbey Ste Madeleine du Barroux (FR)](http://www.barroux.org/) + * [The Monastery of St Benedict in Norcia (IT)](http://osbnorcia.org/) + * Matthew Spencer (author of [Caeciliae](http://marello.org/caeciliae/)) + * Juergen Reuter (author of Parmesan font from [Lilypond](http://www.lilypond.org/index.html)) + * Nicolas Aupetit + * Bertrand Grelot + * Patrick Roux + * Fr. Jacques Peron + * Br. Innocent Smith + * [Illuminare Publications](https://www.illuminarepublications.com/) + * Richard Chonak + * David Gippner + * Quentin Lamy + * [The Abbey of Solesmes (FR)](http://www.solesmes.com/) + * [The Abbey of Flavigny (FR)](http://www.clairval.com) + * [Abbazia di Praglia (IT)](http://www.praglia.it) + * [Abbazia Mater Ecclesiae (IT)](http://it.wikipedia.org/wiki/Abbazia_Mater_Ecclesiae) + * [e-codices](http://www.e-codices.unifr.ch) + * [Stiftsbibliothek, St. Gallen (CH)](http://www.stibi.ch/) + * [Stiftsbibliothek, Einsiedeln (CH)](http://kloster-einsiedeln.ch/) + * [Bibliothèque municipale de Laon (FR)](http://manuscrit.ville-laon.fr/) + * [Gna!](http://gna.org) + * [Github](https://github.com/) + +## Acknowledgments + + * The SHA-1 digest code comes from [GNU coreutils](http://www.gnu.org/software/coreutils/coreutils.html) and has been adapted to suit Gregorio as permitted by the GPL, version 3 or later. Our copyright has been added to theirs in the appropriate source files. diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/COPYING.md b/Master/texmf-dist/doc/luatex/gregoriotex/COPYING.md new file mode 100644 index 00000000000..9b83602d1a7 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/gregoriotex/COPYING.md @@ -0,0 +1,698 @@ +#License of Gregorio + +The program Gregorio is Copyright (C) 2007-2021 The Gregorio Project, +see [CONTRIBUTORS.md](CONTRIBUTORS.md) for authors. It is distributed +under the GPLv3 license, printed below. + +The GPLv3 license applies to all files in the Gregorio sources and +repository, except: + +- the *greciliae* font (C) 2007 Matthew Spencer, under the + [SIL Open Font + License](http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL) +- the other fonts, under the GPLv3 license with font exception. + +The font exception reads: + + As a special exception, if you create a document which uses this font, + and embed this font or unaltered portions of this font into the document, + this font does not by itself cause the resulting document to be covered by + the GNU General Public License. This exception does not however invalidate + any other reasons why the document might be covered by the GNU General + Public License. If you modify this font, you may extend this exception + to your version of the font, but you are not obligated to do so. If you + do not wish to do so, delete this exception statement from your version. + +Some files in fonts/ or contrib/ have individual copyright, but are +distributed under the GPLv3. + + +GNU GENERAL PUBLIC LICENSE +========================== + +*Version 3, 29 June 2007* + +*Copyright © 2007 Free Software Foundation, Inc. \<<http://fsf.org/>\>* + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +Preamble +-------- + +The GNU General Public License is a free, copyleft license for software +and other kinds of works. + +The licenses for most software and other practical works are designed to +take away your freedom to share and change the works. By contrast, the +GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. +Our General Public Licenses are designed to make sure that you have the +freedom to distribute copies of free software (and charge for them if +you wish), that you receive source code or can get it if you want it, +that you can change the software or use pieces of it in new free +programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you these +rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis +or for a fee, you must pass on to the recipients the same freedoms that +you received. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +Developers that use the GNU GPL protect your rights with two steps: +**(1)** assert copyright on the software, and **(2)** offer you this +License giving you legal permission to copy, distribute and/or modify +it. + +For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + +Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of protecting +users' freedom to change the software. The systematic pattern of such +abuse occurs in the area of products for individuals to use, which is +precisely where it is most unacceptable. Therefore, we have designed +this version of the GPL to prohibit the practice for those products. If +such problems arise substantially in other domains, we stand ready to +extend this provision to those domains in future versions of the GPL, as +needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and +modification follow. + +TERMS AND CONDITIONS +-------------------- + +### 0. Definitions. + +“This License” refers to version 3 of the GNU General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations. + +To “modify” a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a “modified version” of the +earlier work or a work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based on +the Program. + +To “propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To “convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” to +the extent that it includes a convenient and prominently visible feature +that **(1)** displays an appropriate copyright notice, and **(2)** tells +the user that there is no warranty for the work (except to the extent +that warranties are provided), that licensees may convey the work under +this License, and how to view a copy of this License. If the interface +presents a list of user commands or options, such as a menu, a prominent +item in the list meets this criterion. + +### 1. Source Code. + +The “source code” for a work means the preferred form of the work for +making modifications to it. “Object code” means any non-source form of a +work. + +A “Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that is +widely used among developers working in that language. + +The “System Libraries” of an executable work include anything, other +than the work as a whole, that **(a)** is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and **(b)** serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A “Major +Component”, in this context, means a major essential component (kernel, +window system, and so on) of the specific operating system (if any) on +which the executable work runs, or a compiler used to produce the work, +or an object code interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all the +source code needed to generate, install, and (for an executable work) +run the object code and to modify the work, including scripts to control +those activities. However, it does not include the work's System +Libraries, or general-purpose tools or generally available free programs +which are used unmodified in performing those activities but which are +not part of the work. For example, Corresponding Source includes +interface definition files associated with source files for the work, +and the source code for shared libraries and dynamically linked +subprograms that the work is specifically designed to require, such as +by intimate data communication or control flow between those subprograms +and other parts of the work. + +The Corresponding Source need not include anything that users can +regenerate automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same +work. + +### 2. Basic Permissions. + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, +without conditions so long as your license otherwise remains in force. +You may convey covered works to others for the sole purpose of having +them make modifications exclusively for you, or provide you with +facilities for running those works, provided that you comply with the +terms of this License in conveying all material for which you do not +control copyright. Those thus making or running the covered works for +you must do so exclusively on your behalf, under your direction and +control, on terms that prohibit them from making any copies of your +copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the +conditions stated below. Sublicensing is not allowed; section 10 makes +it unnecessary. + +### 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article 11 +of the WIPO copyright treaty adopted on 20 December 1996, or similar +laws prohibiting or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to the +covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + +### 4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; keep +intact all notices stating that this License and any non-permissive +terms added in accord with section 7 apply to the code; keep intact all +notices of the absence of any warranty; and give all recipients a copy +of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and +you may offer support or warranty protection for a fee. + +### 5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the terms +of section 4, provided that you also meet all of these conditions: + +- **a)** The work must carry prominent notices stating that you + modified it, and giving a relevant date. +- **b)** The work must carry prominent notices stating that it is + released under this License and any conditions added under section 7. + This requirement modifies the requirement in section 4 to “keep + intact all notices”. +- **c)** You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This License + will therefore apply, along with any applicable section 7 additional + terms, to the whole of the work, and all its parts, regardless of + how they are packaged. This License gives no permission to license + the work in any other way, but it does not invalidate such + permission if you have separately received it. +- **d)** If the work has interactive user interfaces, each must + display Appropriate Legal Notices; however, if the Program has + interactive interfaces that do not display Appropriate Legal + Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, and +which are not combined with it such as to form a larger program, in or +on a volume of a storage or distribution medium, is called an +“aggregate” if the compilation and its resulting copyright are not used +to limit the access or legal rights of the compilation's users beyond +what the individual works permit. Inclusion of a covered work in an +aggregate does not cause this License to apply to the other parts of the +aggregate. + +### 6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of +sections 4 and 5, provided that you also convey the machine-readable +Corresponding Source under the terms of this License, in one of these +ways: + +- **a)** Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium customarily + used for software interchange. +- **b)** Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a written + offer, valid for at least three years and valid for as long as you + offer spare parts or customer support for that product model, to + give anyone who possesses the object code either **(1)** a copy of + the Corresponding Source for all the software in the product that is + covered by this License, on a durable physical medium customarily + used for software interchange, for a price no more than your + reasonable cost of physically performing this conveying of source, + or **(2)** access to copy the Corresponding Source from a network + server at no charge. +- **c)** Convey individual copies of the object code with a copy of + the written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. +- **d)** Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) that + supports equivalent copying facilities, provided you maintain clear + directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. +- **e)** Convey the object code using peer-to-peer transmission, + provided you inform other peers where the object code and + Corresponding Source of the work are being offered to the general + public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be included +in conveying the object code work. + +A “User Product” is either **(1)** a “consumer product”, which means any +tangible personal property which is normally used for personal, family, +or household purposes, or **(2)** anything designed or sold for +incorporation into a dwelling. In determining whether a product is a +consumer product, doubtful cases shall be resolved in favor of coverage. +For a particular product received by a particular user, “normally used” +refers to a typical or common use of that class of product, regardless +of the status of the particular user or of the way in which the +particular user actually uses, or expects or is expected to use, the +product. A product is a consumer product regardless of whether the +product has substantial commercial, industrial or non-consumer uses, +unless such uses represent the only significant mode of use of the +product. + +“Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product +from a modified version of its Corresponding Source. The information +must suffice to ensure that the continued functioning of the modified +object code is in no case prevented or interfered with solely because +modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied by +the Installation Information. But this requirement does not apply if +neither you nor any third party retains the ability to install modified +object code on the User Product (for example, the work has been +installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, in +accord with this section must be in a format that is publicly documented +(and with an implementation available to the public in source code +form), and must require no special password or key for unpacking, +reading or copying. + +### 7. Additional Terms. + +“Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by this +License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove +any additional permissions from that copy, or from any part of it. +(Additional permissions may be written to require their own removal in +certain cases when you modify the work.) You may place additional +permissions on material, added by you to a covered work, for which you +have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders +of that material) supplement the terms of this License with terms: + +- **a)** Disclaiming warranty or limiting liability differently from + the terms of sections 15 and 16 of this License; or +- **b)** Requiring preservation of specified reasonable legal notices + or author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or +- **c)** Prohibiting misrepresentation of the origin of that material, + or requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or +- **d)** Limiting the use for publicity purposes of names of licensors + or authors of the material; or +- **e)** Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or +- **f)** Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + +All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains a +further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms of +that license document, provided that the further restriction does not +survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must +place, in the relevant source files, a statement of the additional terms +that apply to those files, or a notice indicating where to find the +applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; the above +requirements apply either way. + +### 8. Termination. + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated **(a)** provisionally, +unless and until the copyright holder explicitly and finally terminates +your license, and **(b)** permanently, if the copyright holder fails to +notify you of the violation by some reasonable means prior to 60 days +after the cessation. + +Moreover, your license from a particular copyright holder is reinstated +permanently if the copyright holder notifies you of the violation by +some reasonable means, this is the first time you have received notice +of violation of this License (for any work) from that copyright holder, +and you cure the violation prior to 30 days after your receipt of the +notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +### 9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run a +copy of the Program. Ancillary propagation of a covered work occurring +solely as a consequence of using peer-to-peer transmission to receive a +copy likewise does not require acceptance. However, nothing other than +this License grants you permission to propagate or modify any covered +work. These actions infringe copyright if you do not accept this +License. Therefore, by modifying or propagating a covered work, you +indicate your acceptance of this License to do so. + +### 10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An “entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered work +results from an entity transaction, each party to that transaction who +receives a copy of the work also receives whatever licenses to the work +the party's predecessor in interest had or could give under the previous +paragraph, plus a right to possession of the Corresponding Source of the +work from the predecessor in interest, if the predecessor has it or can +get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may not +impose a license fee, royalty, or other charge for exercise of rights +granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that any +patent claim is infringed by making, using, selling, offering for sale, +or importing the Program or any portion of it. + +### 11. Patents. + +A “contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The work +thus licensed is called the contributor's “contributor version”. + +A contributor's “essential patent claims” are all patent claims owned or +controlled by the contributor, whether already acquired or hereafter +acquired, that would be infringed by some manner, permitted by this +License, of making, using, or selling its contributor version, but do +not include claims that would be infringed only as a consequence of +further modification of the contributor version. For purposes of this +definition, “control” includes the right to grant patent sublicenses in +a manner consistent with the requirements of this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to make, +use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a “patent license” is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To “grant” such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and +the Corresponding Source of the work is not available for anyone to +copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either **(1)** cause the Corresponding Source to be so +available, or **(2)** arrange to deprive yourself of the benefit of the +patent license for this particular work, or **(3)** arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. “Knowingly relying” means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify or +convey a specific copy of the covered work, then the patent license you +grant is automatically extended to all recipients of the covered work +and works based on it. + +A patent license is “discriminatory” if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on +the non-exercise of one or more of the rights that are specifically +granted under this License. You may not convey a covered work if you are +a party to an arrangement with a third party that is in the business of +distributing software, under which you make payment to the third party +based on the extent of your activity of conveying the work, and under +which the third party grants, to any of the parties who would receive +the covered work from you, a discriminatory patent license **(a)** in +connection with copies of the covered work conveyed by you (or copies +made from those copies), or **(b)** primarily for and in connection with +specific products or compilations that contain the covered work, unless +you entered into that arrangement, or that patent license was granted, +prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any +implied license or other defenses to infringement that may otherwise be +available to you under applicable patent law. + +### 12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not convey it at all. For example, if you agree to terms that +obligate you to collect a royalty for further conveying from those to +whom you convey the Program, the only way you could satisfy both those +terms and this License would be to refrain entirely from conveying the +Program. + +### 13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have permission +to link or combine any covered work with a work licensed under version 3 +of the GNU Affero General Public License into a single combined work, +and to convey the resulting work. The terms of this License will +continue to apply to the part which is the covered work, but the special +requirements of the GNU Affero General Public License, section 13, +concerning interaction through a network will apply to the combination +as such. + +### 14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies that a certain numbered version of the GNU General Public +License “or any later version” applies to it, you have the option of +following the terms and conditions either of that numbered version or of +any later version published by the Free Software Foundation. If the +Program does not specify a version number of the GNU General Public +License, you may choose any version ever published by the Free Software +Foundation. + +If the Program specifies that a proxy can decide which future versions +of the GNU General Public License can be used, that proxy's public +statement of acceptance of a version permanently authorizes you to +choose that version for the Program. + +Later license versions may give you additional or different permissions. +However, no additional obligations are imposed on any author or +copyright holder as a result of your choosing to follow a later version. + +### 15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF +THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +### 16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR +CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT +NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES +SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE +WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN +ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +### 17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided above +cannot be given local legal effect according to their terms, reviewing +courts shall apply local law that most closely approximates an absolute +waiver of all civil liability in connection with the Program, unless a +warranty or assumption of liability accompanies a copy of the Program in +return for a fee. + +*END OF TERMS AND CONDITIONS* + +How to Apply These Terms to Your New Programs +--------------------------------------------- + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively state +the exclusion of warranty; and each file should have at least the +“copyright” line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice +like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type 'show c' for details. + +The hypothetical commands `show w` and `show c` should show the +appropriate parts of the General Public License. Of course, your +program's commands might be different; for a GUI interface, you would +use an “about box”. + +You should also get your employer (if you work as a programmer) or +school, if any, to sign a “copyright disclaimer” for the program, if +necessary. For more information on this, and how to apply and follow the +GNU GPL, see \<<http://www.gnu.org/licenses/>\>. + +The GNU General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use the +GNU Lesser General Public License instead of this License. But first, +please read \<<http://www.gnu.org/philosophy/why-not-lgpl.html>\>. diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_User.tex b/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_User.tex index 99c985f9ec3..ccd0130ab42 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_User.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_User.tex @@ -1,7 +1,7 @@ % !TEX root = GregorioRef.tex % !TEX program = LuaLaTeX+se % -% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) +% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) % % This file is part of Gregorio. % @@ -94,7 +94,7 @@ Once you've included the package in your document (as explained above) the follo \subsubsection{Including scores} \macroname{\textbackslash gregorioscore}{[\optional{\#1}]\{\#2\}}{gregoriotex-main.tex} -Macro for including scores. Works on both gabc and tex files. +Macro for including scores. Works on both gabc and gtex files. \begin{argtable} \#1 & \texttt{n} & Optional. \#2 will be included as is. \\ @@ -150,6 +150,16 @@ When called with the optional argument \texttt{[f]} Gregorio\TeX\ will compile the gabc file into a gtex file. This is similar to \texttt{[a]} except the gabc is compiled every time. +\macroname{\textbackslash gresetgregpath}{\{\#1\}}{gregoriotex-main.tex} +Set a list of additional directories which should be searched for scores. Directories may be absolute or relative, but must end with a slash (\verb=/=) and enclosed in braces (\verb={}=), even if there is only one additional directory. For example, to look in a directory called “Scores” which is alongside the main project directory, one could use the following: + +\begin{latexcode} + \gresetgregpath{{../Scores/}} +\end{latexcode} + +Note that these directories are not searched recursively. If you want to include subdirectories, then each subdirectory must be included individually. + + \macroname{\textbackslash gresetcompilegabc}{\{\#1\}}{gregoriotex-main.tex} A macro to change the behavior of the way Gregorio\TeX\ includes scores. This is similar to using the package options \verb=[forcecompile]=, \verb=[autocompile]=, and \verb=[nevercompile]=, but does not necessarly apply to the entire document. @@ -166,17 +176,17 @@ without doing anything else. \medskip This macro can be combined in the same document with different arguments to switch between different behaviors: \par\medskip \begin{latexcode} - \usepackage{gregoriotex} % [nevercompile] is the default. + \usepackage{gregoriotex} % [autocompile] is the default. ---- - \gregorioscore{TecumPrincipium} % gabc never compiled. - \gregorioscore[f]{TecumPrincipium} % gabc always compiled. - \gregorioscore[a]{TecumPrincipium} % gabc auto compiled. - - \gresetcompilegabc{auto} \gregorioscore{TecumPrincipium} % gabc auto compiled. \gregorioscore[n]{TecumPrincipium} % gabc never compiled. \gregorioscore[f]{TecumPrincipium} % gabc always compiled. + \gresetcompilegabc{never} + \gregorioscore{TecumPrincipium} % gabc never compiled. + \gregorioscore[f]{TecumPrincipium} % gabc always compiled. + \gregorioscore[a]{TecumPrincipium} % gabc auto compiled. + \gresetcompilegabc{force} \gregorioscore{TecumPrincipium} % gabc always compiled. \gregorioscore[n]{TecumPrincipium} % gabc never compiled. @@ -251,17 +261,6 @@ Macro to adjust the thickness of the staff lines. \subsubsection{Fine Tuning Dimensions} In addition to providing control over the overall size of your scores, Gregorio\TeX\ allows you to fine tune the spacings around and between the various elements using the following functions. -\macroname{\textbackslash grecreatedim}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-spaces.tex} -Macro to create one of Gregorio\TeX’s distances. Used to initialize distances in a space configuration file. For an example of such a file, please see \textit{gsp-default.tex}, which contains the default spacing configuration for Gregorio\TeX. - -\begin{argtable} - \#1 & string & The name of the distance to be changed. See \nameref{distances} below.\\ - \#2 & string & The distance in string format. \textbf{Note:} You cannot use a length register for this argument. You \emph{must} use a string because of the way that Gregorio\TeX\ handles spaces.\\ - \#3 & \texttt{fixed} & Distance will not scale when staff size is changed.\\ - & \texttt{scalable} & Distance will scale when staff size is changed.\\ - & \texttt{inherited} & Distance will inherit its value from another distance. When this argument is used, then \#2 should be the name of another Gregorio\TeX\ distance. -\end{argtable} - \macroname{\textbackslash grechangedim}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-spaces.tex} Macro to change one of Gregorio\TeX’s distances. This function will check to make sure the distance you are trying to change exists first. @@ -322,7 +321,7 @@ Changes one of Gregorio\TeX’s counts or penalties for a given line in the next \end{argtable} \macroname{\textbackslash greloadspaceconf}{\{\#1\}}{gregoriotex-spaces.tex} -Macro to load a space configuration file. Space configuration file names have the format \verb=gsp-identifier.tex= and must be in the same directory as your project or in your texmf directory. +Macro to load a space configuration file. Space configuration file names have the format \verb=gsp-identifier.tex= and must be in the same directory as your project or in your texmf directory. See \verb=gsp-sample.tex= for an example file. \begin{argtable} \#1 & string & The identifier of the space configuration file. @@ -330,13 +329,13 @@ Macro to load a space configuration file. Space configuration file names have t Example:\par\medskip \begin{latexcode} - % loads gsp-default.tex, the default configuration file + % loads gregoriotex-gsp-default.tex, the default configuration file \greloadspaceconf{default} % loads a custom configuration called gsp-myspaces.tex \greloadspaceconf{myspaces} \end{latexcode} -\macroname{\textbackslash greconffactor}{}{gsp-default.tex} +\macroname{\textbackslash greconffactor}{}{gregoriotex-gsp-default.tex} A count which indicates the staff size that a space configuration file is designed for. Each space configuration file must have this value set as Gregorio\TeX\ will compare it to the current staff size to determine if the configuration file being loaded needs to be rescaled. \macroname{\textbackslash gresetlineheightexpansion}{\{\#1\}}{gregoriotex-main.tex} @@ -400,6 +399,13 @@ staff). The \texttt{\textit{n}} should be set to indicate whether the system should act as if the ledger line exists (\texttt{1}) or not (\texttt{0}). +\macroname{\textbackslash gresetnoteadditionalspacelinestext}{\{\#1\}}{gregoriotex-main.tex} +Macro which determines how much additional space between the notes and the lyrics for really low notes. + +\begin{argtable} + \#1 & \texttt{automatic} & additional space between the notes and the lyrics is computed automatically (default)\\ + & \texttt{manual} & additional space between the notes and the lyrics is based on the user setting of \texttt{noteadditionalspacelinestext} (a spacing adjustable using \verb=\grechangedim=) +\end{argtable} \subsubsection{Staff Lines} @@ -461,6 +467,8 @@ Note that the font will be looked up by name through luaotfload, see the documen & \texttt{granapadano} & Use the Grana Padano font.\\ \end{argtable} +\textbf{Nota Bene:} The Gregorio and Grana Padano fonts are not included by default in a basic installation. To get them you need to download and install them from the \verb=supp-fonts-##.zip= file (where \#\# is the version number of your release). See \url{https://github.com/gregorio-project/gregorio/releases} for the list of releases. + \macroname{\textbackslash gresetgregoriofontscaled}{[\optional{\#1}]\{\#2\}\{\#3\}}{gregoriotex-main.tex} This function is the same as above, with a third argument to scale the font. The fonts shipped with Gregorio do not need to use this function, but some custom fonts do. Note that you cannot use this to scale glyphs up or down, as they would not be placed correctly on the staff. @@ -919,6 +927,22 @@ Sets the visibility of the lyrics. & \texttt{invisible} & Lyrics are not visible.\\ \end{argtable} +\macroname{\textbackslash gresettranslation}{\{\#1\}}{gregoriotex-main.tex} +Sets the visibility of the translations. + +\begin{argtable} + \#1 & \texttt{visible} & Translations are visible (default).\\ + & \texttt{invisible} & Translations are not visible.\\ +\end{argtable} + +\macroname{\textbackslash gresetabovelinestext}{\{\#1\}}{gregoriotex-main.tex} +Sets the visibility of the above lines text. + +\begin{argtable} + \#1 & \texttt{visible} & Above lines text are visible (default).\\ + & \texttt{invisible} & Above lines text are not visible.\\ +\end{argtable} + \subsubsection{Text Alignment} Gregorio\TeX\ allows you to manipulate the global alignment behavior of some text elements using the following commands. @@ -964,8 +988,8 @@ Macro to specify how the translation text should be aligned with it respective s Macro to specify which line of the annotation should be used to determine its starting placement (i.e. before \texttt{annotationraise} is applied). \begin{argtable} - \#1 & \texttt{firstline} & Annotation placement is determined by the first line (default)\\ - & \texttt{lastline} & annotation placement is determined by the last line\\ + \#1 & \texttt{topline} & Annotation placement is determined by the first line (default)\\ + & \texttt{bottomline} & annotation placement is determined by the last line\\ \end{argtable} \macroname{\textbackslash gresetannotationvalign}{\{\#1\}}{gregoriotex-main.tex} @@ -1000,7 +1024,7 @@ protrusion factors will be used for various characters as well as for \verb=<pr>= tags with no specified protrusion factor. A protrusion factor of 0 means no protrusion and 1 means full protrusion. Any floating-point value from 0 to 1 is allowed. All of these global protrusion factors may be set in -gsp-default.tex or in your own \TeX\ files. +a spacing configuration file (gsp-*.tex) or in the project \TeX\ file. \begin{argtable} \#1 & \texttt{,} & Sets the automatic protrusion factor for a comma at @@ -1394,10 +1418,8 @@ baseline. \end{gcount} \begin{gcount}{noteadditionalspacelinestextthreshold} -The number of low notes which will add on the -\texttt{noteadditionalspacelinestext} space. For instance, with a threshold of -\texttt{2}, every note below \texttt{c} will add {noteadditionalspacelinestext} -space for each pitch needed below \texttt{c}, accounting for the various signs. +The number of low notes which will add space between the lines and the lyrics. For instance, with a threshold of +\texttt{2}, every note below \texttt{c} will add space for each pitch needed below \texttt{c}, accounting for the various signs. \end{gcount} \subsection{Distances}\label{distances} @@ -1612,6 +1634,10 @@ Space between a punctum inclinatum and a no-bar (stemless) glyph three or four pitches above. \end{gdimension} +\begin{gdimension}{uprightpunctuminclinatumshift} +Space after after a non-punctum inclinatum and before the upright punctum inclinatum. +\end{gdimension} + \begin{gdimension}{maximumspacewithoutdash} Maximal space between two syllables for which we consider a dash is not needed. \end{gdimension} @@ -1699,11 +1725,6 @@ The space above the lines. The space between the lines and the bottom of the text. \end{gdimension} -\begin{gdimension}{noteadditionalspacelinestext} -The space added between the lines and the bottom of the text for every pitch -below the \texttt{noteadditionalspacelinestextthreshold}. -\end{gdimension} - \begin{gdimension}{spacebeneathtext} The space beneath the text. \end{gdimension} @@ -1846,7 +1867,7 @@ This space is added before the final divisio final of a score (old bar spacing a Spaces around bars when they are typeset inside a syllable. The \verb=@short= suffix for virgula and divisio minima indicates the space used when the notes -surrounding the bar are strictly lower than \texttt{g} (in a four-line score). +surrounding the bar are strictly lower than \texttt{g} (in a four-line score). For divisio minimis, the \verb=@short= suffix is for notes lower than \texttt{h}. When applied to ``high'' positions (on the ledger line above the staff), the \verb=@short= distances will be used for up to two pitches @@ -1858,6 +1879,12 @@ higher. \begin{gdimension}{bar@virgula@short} \end{gdimension} +\begin{gdimension}{bar@virgulaparen} +\end{gdimension} + +\begin{gdimension}{bar@virgulaparen@short} +\end{gdimension} + \begin{gdimension}{bar@minimis} \end{gdimension} @@ -1870,6 +1897,12 @@ higher. \begin{gdimension}{bar@minima@short} \end{gdimension} +\begin{gdimension}{bar@minimaparen} +\end{gdimension} + +\begin{gdimension}{bar@minimaparen@short} +\end{gdimension} + \begin{gdimension}{bar@minor} \end{gdimension} @@ -1890,6 +1923,12 @@ Spaces around bars in standalone syllables, when these have text (new bar spacin \begin{gdimension}{bar@virgula@standalone@text@short} \end{gdimension} +\begin{gdimension}{bar@virgulaparen@standalone@text} +\end{gdimension} + +\begin{gdimension}{bar@virgulaparen@standalone@text@short} +\end{gdimension} + \begin{gdimension}{bar@minimis@standalone@text} \end{gdimension} @@ -1902,6 +1941,12 @@ Spaces around bars in standalone syllables, when these have text (new bar spacin \begin{gdimension}{bar@minima@standalone@text@short} \end{gdimension} +\begin{gdimension}{bar@minimaparen@standalone@text} +\end{gdimension} + +\begin{gdimension}{bar@minimaparen@standalone@text@short} +\end{gdimension} + \begin{gdimension}{bar@minor@standalone@text} \end{gdimension} @@ -1925,6 +1970,12 @@ Spaces around bars in standalone syllables, when these have no text (new bar spa \begin{gdimension}{bar@virgula@standalone@notext@short} \end{gdimension} +\begin{gdimension}{bar@virgulaparen@standalone@notext} +\end{gdimension} + +\begin{gdimension}{bar@virgulaparen@standalone@notext@short} +\end{gdimension} + \begin{gdimension}{bar@minimis@standalone@notext} \end{gdimension} @@ -1937,6 +1988,12 @@ Spaces around bars in standalone syllables, when these have no text (new bar spa \begin{gdimension}{bar@minima@standalone@notext@short} \end{gdimension} +\begin{gdimension}{bar@minimaparen@standalone@notext} +\end{gdimension} + +\begin{gdimension}{bar@minimaparen@standalone@notext@short} +\end{gdimension} + \begin{gdimension}{bar@minor@standalone@notext} \end{gdimension} @@ -2029,7 +2086,7 @@ The club penalty (determines how important it is to prevent orphans from occurri The widow penalty (determines how important it is to prevent widows from occurring). \end{gcount} -\macroname{emergencystretch}{}{gsp-default.tex} +\macroname{emergencystretch}{}{gregoriotex-gsp-default.tex} The value of the last ditch stretch for overfull boxes. This should be set using \verb=\grechangedim=. Default: \verb=\emergencystretch= @@ -2038,27 +2095,27 @@ Default: \verb=\emergencystretch= The end after bar penalty. \end{gcount} -\begin{gcount}{endafterbaraltpenalty}{}{gsp-default.tex} +\begin{gcount}{endafterbaraltpenalty}{}{gregoriotex-gsp-default.tex} The alternate end after bar penalty (used when there is no text under the bar). \end{gcount} -\begin{gcount}{endofelementpenalty}{}{gsp-default.tex} +\begin{gcount}{endofelementpenalty}{}{gregoriotex-gsp-default.tex} The end of element penalty. \end{gcount} -\begin{gcount}{endofsyllablepenalty}{}{gsp-default.tex} +\begin{gcount}{endofsyllablepenalty}{}{gregoriotex-gsp-default.tex} The end of element penalty. \end{gcount} -\begin{gcount}{endofwordpenalty}{}{gsp-default.tex} +\begin{gcount}{endofwordpenalty}{}{gregoriotex-gsp-default.tex} The end of element penalty. \end{gcount} -\begin{gcount}{hyphenpenalty}{}{gsp-default.tex} +\begin{gcount}{hyphenpenalty}{}{gregoriotex-gsp-default.tex} The hyphen penalty. \end{gcount} -\begin{gcount}{nobreakpenalty}{}{gsp-default.tex} +\begin{gcount}{nobreakpenalty}{}{gregoriotex-gsp-default.tex} Penalty to prevent a line break. \end{gcount} @@ -2070,7 +2127,7 @@ Penalty to force a line break. The penalty applied after the final element of a score. \end{gcount} -\macroname{looseness}{}{gsp-default.tex} +\macroname{looseness}{}{gregoriotex-gsp-default.tex} The \TeX\ looseness within a score. Default: \verb=\looseness= @@ -2079,12 +2136,12 @@ Default: \verb=\looseness= The \TeX\ tolerance within a score. See \url{https://en.wikibooks.org/wiki/TeX/tolerance} for an explanation of what tolerance is. \end{gcount} -\macroname{pretolerance}{}{gsp-default.tex} +\macroname{pretolerance}{}{gregoriotex-gsp-default.tex} The \TeX\ pretolerance within a score. See \url{https://en.wikibooks.org/wiki/TeX/pretolerance} for an explanation of what pretolerance is. Default: $-1$ (Lua\TeX\ versions prior to 0.80) or \verb=\pretolerance= (versions after, and including, 0.80)] -\textit{Nota bene:} For more details on why this is necessary see the comments in gsp-default.tex. +\textit{Nota bene:} For more details on why this is necessary see the comments in gregoriotex-gsp-default.tex. diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_gregorio.tex b/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_gregorio.tex index eaf0121293a..d6eac996fc7 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_gregorio.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_gregorio.tex @@ -1,7 +1,7 @@ % !TEX root = GregorioRef.tex % !TEX program = LuaLaTeX+se % -% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) +% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) % % This file is part of Gregorio. % @@ -118,7 +118,7 @@ Macro for typesetting a bar syllable. & \texttt{1} & this syllable is the end of a word\\ \#5 & \TeX\ code & macros setting syllable letters for the next syllable\\ \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ - \#7 & & alignment type of the first next glyph\\ + \#7 & pair of integers & a pair containing alignment type and alteration type of the next glyph\\ \#8 &\TeX\ code & other macros (translation, double text, etc.) that don't fit in the limitation of the number of arguments\\ \#9 & \TeX\ code & The bar line (usually a \textit{writebar} call). \end{argtable} @@ -291,6 +291,28 @@ Macro to typeset a divisio minima on the ledger line above the staff. & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\ \end{argtable} +\macroname{\textbackslash GreDivisioMinimaParen}{\#1\#2\#3}{gregoriotex-signs.tex} +Macro to typeset a parenthesized divisio minima. + +\begin{argtable} + \#1 & \texttt{0} & There is no text under the bar.\\ + & \texttt{1} & There is text under the bar.\\ + \#2 & \TeX\ code & Macros which may happen before the skip but after the divisio minima (typically \verb=\grevepisema=).\\ + \#3 & \texttt{0} & The notes around the bar are vertically close to the bar.\\ + & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\ +\end{argtable} + +\macroname{\textbackslash GreDivisioMinimaParenHigh}{\#1\#2\#3}{gregoriotex-signs.tex} +Macro to typeset a parenthesized divisio minima on the ledger line above the staff. + +\begin{argtable} + \#1 & \texttt{0} & There is no text under the bar.\\ + & \texttt{1} & There is text under the bar.\\ + \#2 & \TeX\ code & Macros which may happen before the skip but after the divisio minima (typically \verb=\grevepisema=).\\ + \#3 & \texttt{0} & The notes around the bar are vertically close to the bar.\\ + & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\ +\end{argtable} + \macroname{\textbackslash GreDivisioMinimis}{\#1\#2\#3}{gregoriotex-signs.tex} Macro to typeset a divisio ``minimis'' (eighth bar). @@ -302,7 +324,7 @@ Macro to typeset a divisio ``minimis'' (eighth bar). & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\ \end{argtable} -\macroname{\textbackslash GreDivisioMinimaHigh}{\#1\#2\#3}{gregoriotex-signs.tex} +\macroname{\textbackslash GreDivisioMinimisHigh}{\#1\#2\#3}{gregoriotex-signs.tex} Macro to typeset a divisio ``minimis'' (eighth bar) on the ledger line above the staff. \begin{argtable} @@ -464,10 +486,8 @@ after the centered letters. \macroname{\textbackslash GreFirstSyllableInitial}{\#1}{gregoriotex-syllable.tex} A macro which is called with the first letter of the first syllable which is -not the initial of the score. If the \texttt{initial-style} is \texttt{0}, the -first letter of the syllable will be passed. If the \texttt{initial-style} is -\texttt{1} or \texttt{2}, the \emph{second} letter will be passed. This macro -may be redefined to style the first letter appropriately. +not the initial of the score. If there is no initial (\verb=\gresetinitiallines{0}= has been called), the +first letter of the syllable will be passed. Otherwise, the \emph{second} letter will be passed. \begin{argtable} \#1 & string & The first letter of the first syllable which is not the @@ -496,6 +516,18 @@ Macro to typeset a flat. \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ \end{argtable} +\macroname{\textbackslash GreFlatParen}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex} +Macro to typeset a parenthesized flat. + +\begin{argtable} + \#1 & integer & Height number of the flat.\\ + \#2 & \texttt{0} & The flat is not part of the clef.\\ + & \texttt{1} & The flat is part of the clef.\\ + \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\ + \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\ + \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ +\end{argtable} + \macroname{\textbackslash GreForceHyphen}{}{gregoriotex-syllable.tex} Macro that indicates that a hyphen should be forced (if enabled) after the given syllable. @@ -642,6 +674,18 @@ Same as \verb=\GreDivisioMinima= except inside a syllable. \macroname{\textbackslash GreInDivisioMinimaHigh}{\#1\#2\#3}{gregoriotex-signs.tex} Same as \verb=\GreDivisioMinimaHigh= except inside a syllable. +\macroname{\textbackslash GreInDivisioMinimaParen}{\#1\#2\#3}{gregoriotex-signs.tex} +Same as \verb=\GreDivisioMinimaParen= except inside a syllable. + +\macroname{\textbackslash GreInDivisioMinimaParenHigh}{\#1\#2\#3}{gregoriotex-signs.tex} +Same as \verb=\GreDivisioMinimaParenHigh= except inside a syllable. + +\macroname{\textbackslash GreInDivisioMinimis}{\#1\#2\#3}{gregoriotex-signs.tex} +Same as \verb=\GreDivisioMinimis= except inside a syllable. + +\macroname{\textbackslash GreInDivisioMinimisHigh}{\#1\#2\#3}{gregoriotex-signs.tex} +Same as \verb=\GreDivisioMinimisHigh= except inside a syllable. + \macroname{\textbackslash GreInDivisioMinor}{\#1\#2}{gregoriotex-signs.tex} Same as \verb=\GreDivisioMinor= except inside a syllable. @@ -663,6 +707,12 @@ Same as \verb=\GreVirgula= except inside a syllable. \macroname{\textbackslash GreInVirgulaHigh}{\#1\#2\#3}{gregoriotex-signs.tex} Same as \verb=\GreVirgulaHigh= except inside a syllable. +\macroname{\textbackslash GreInVirgulaParen}{\#1\#2\#3}{gregoriotex-signs.tex} +Same as \verb=\GreVirgulaParen= except inside a syllable. + +\macroname{\textbackslash GreInVirgulaParenHigh}{\#1\#2\#3}{gregoriotex-signs.tex} +Same as \verb=\GreVirgulaParenHigh= except inside a syllable. + \macroname{\textbackslash GreItalic}{\#1}{gregoriotex.sty or gregoriotex.tex} Makes argument (a string) italic. Accesses \LaTeX\ \verb=\textit= or Plain \TeX\ \verb=\it= as appropriate. Corresponds to ``<i></i>'' tags @@ -746,6 +796,18 @@ Macro to typeset a natural. \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ \end{argtable} +\macroname{\textbackslash GreNaturalParen}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex} +Macro to typeset a parenthesized natural. + +\begin{argtable} + \#1 & integer & Height number of the natural.\\ + \#2 & \texttt{0} & The natural is not part of the clef.\\ + & \texttt{1} & The natural is part of the clef (doesn't happen).\\ + \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\ + \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\ + \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ +\end{argtable} + \macroname{\textbackslash GreNewLine}{}{gregoriotex-main.tex} Macro to call if you want to go to the next line. @@ -1004,6 +1066,18 @@ Macro to typeset a sharp. \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ \end{argtable} +\macroname{\textbackslash GreSharpParen}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex} +Macro to typeset a parenthesized sharp. + +\begin{argtable} + \#1 & integer & Height number of the sharp.\\ + \#2 & \texttt{0} & The sharp is not part of the clef.\\ + & \texttt{1} & The sharp is part of the clef (doesn't happen).\\ + \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\ + \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\ + \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ +\end{argtable} + \macroname{\textbackslash GreSmallCaps}{\#1}{gregoriotex.sty and gregoriotex.tex} Makes argument small capitals. Accesses \LaTeX\ \verb=\textsc= or Plain \TeX\ \verb=\sc= as appropriate Corresponds to ``<sc></sc>'' tags @@ -1056,7 +1130,7 @@ Macro to typeset the syllable. & \texttt{1} & this syllable is the end of a word\\ \#5 & \TeX\ code & macros setting syllable letters for the next syllable\\ \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ - \#7 & & alignment type of the first next glyph\\ + \#7 & pair of integers & a pair containing alignment type and alteration type of the next glyph\\ \#8 &\TeX\ code & other macros (translation, double text, etc.) that don't fit in the limitation of the number of arguments\\ \#9 & Gregorio\TeX\ glyphs & all the notes \end{argtable} @@ -1162,6 +1236,28 @@ Macro to typeset a virgula on the ledger line above the staff. & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\ \end{argtable} +\macroname{\textbackslash GreVirgulaParen}{\#1\#2\#3}{gregoriotex-signs.tex} +Macro to typeset a parenthesized virgula. + +\begin{argtable} + \#1 & \texttt{0} & There is no text under the bar.\\ + & \texttt{1} & There is text under the bar.\\ + \#2 & code & Macros which may happen before the skip but after the virgula (typically \verb=\grevepisema=).\\ + \#3 & \texttt{0} & The notes around the bar are vertically close to the bar.\\ + & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\ +\end{argtable} + +\macroname{\textbackslash GreVirgulaParenHigh}{\#1\#2\#3}{gregoriotex-signs.tex} +Macro to typeset a parenthesized virgula on the ledger line above the staff. + +\begin{argtable} + \#1 & \texttt{0} & There is no text under the bar.\\ + & \texttt{1} & There is text under the bar.\\ + \#2 & code & Macros which may happen before the skip but after the virgula (typically \verb=\grevepisema=).\\ + \#3 & \texttt{0} & The notes around the bar are vertically close to the bar.\\ + & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\ +\end{argtable} + \macroname{\textbackslash GreWriteTranslation}{\#1}{gregoriotex-main.tex} Macro to typeset argument in the translation position. diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_internal.tex b/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_internal.tex index ae844f2fc40..bf45e5d4144 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_internal.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_internal.tex @@ -1,7 +1,7 @@ % !TEX root = GregorioRef.tex % !TEX program = LuaLaTeX+se % -% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) +% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) % % This file is part of Gregorio. % @@ -25,6 +25,8 @@ process the commands listed above. They should not appear in any user document and are listed here for programmer documentation purposes only. +Sometimes it is necessary to temporarily change some register or macro for the purpose of some particular operation and then restore it to its previous value. In those case we define a \verb=\gre@saved@<moment>...= register or macro associated with it (\eg \verb=\gre@dimen@constantglyphraise= is saved just before a discretionary to \verb=\gre@saved@prediscretionary@dimen@constantglyphraise= and restored from it afterwards). These registers/macros are not listed in this documentation. + \macroname{\textbackslash gre@error}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex} Prints an error to the \TeX\ output log. @@ -74,6 +76,12 @@ deprecated usage is allowed. This is used to pass the value of \macroname{\textbackslash gre@loadgregoriofont}{}{gregoriotex-main.tex} Loads the chosen font for the neumes at the correct size. +\macroname{\textbackslash gre@maketable}{\#1}{gregoriotex-main.tex} +Helper to convert a \TeX\ list into a Lua table. Used to pass \verb=\gre@input@path= to Lua. + +\macroname{\textbackslash gre@input@path}{}{gregoriotex-main.tex} +Macro holding the list of directories to be searched for scores. \verb=\input@path= gets aliased to this list when inside \verb=\gregorioscore=. + \macroname{\textbackslash gre@calculate@constantglyphraise}{}{gregoriotex-spaces.tex} Macro to calculate \verb=\gre@constantglyphraise= @@ -214,7 +222,7 @@ Rescales all the distances (and \texttt{stafflinefactor}) which are supposed to \#2 & integer & the factor the distances are to be put into\\ \end{argtable} -\macroname{\textbackslash gre@calculate@nextbegindifference}{\#1\#2\#3\#4\#5}{gregoriotex-spaces.tex} +\macroname{\textbackslash gre@calculate@nextbegindifference}{\#1\#2\#3\#4\#5\#6}{gregoriotex-spaces.tex} Macro to calculate \texttt{nextbegindifference}. \begin{argtable} @@ -222,9 +230,8 @@ Macro to calculate \texttt{nextbegindifference}. \#2 & string & the first letters of the next syllable\\ \#3 & string & the middle letters of the next syllable (the vowel in Latin, the whole syllable in English)\\ \#4 & string & the end letters of the next syllable\\ - \#5 & $0 \le$ integer $\le 19$ & the type of notes alignment. See \Nameref{notesalign}.\\ - & $20 \le$ integer $\le 39$ & Same as below 20 except there is a flat before the notes. Subtract 20 to get the type of notes alignment.\\ - & $40 \le$ integer $\le 59$ & Same as below 20 except there is a natural before the notes. Subtract 40 to get the type of notes alignment. + \#5 & integer & the type of notes alignment. See \Nameref{notesalign}.\\ + \#6 & integer & the type of alteration. See \Nameref{alterationtype}.\\ \end{argtable} \macroname{\textbackslash gre@strip@pt}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex} @@ -559,9 +566,6 @@ A count which keeps track of which line of the score we’re on. \macroname{\textbackslash gre@lastoflinecount}{}{gregoriotex-main.tex} Count to track where on the line we are. Values are \texttt{0} (we are not near the end of a line), \texttt{1} (we’re at the last syllable of the line), and \texttt{2} (we just set the last syllable of the line and so are at the first syllable of a new line). -\macroname{\textbackslash gre@savedlastoflinecount}{}{gregoriotex-main.tex} -A spot to save the \verb=\gre@lastoflinecount= so we can change it temporarily and revert to the saved value later. - \macroname{\textbackslash gre@newlinecommon}{\#1\#2}{gregoriotex-main.tex} The macro which needs to be called each time a new lines is started. @@ -610,9 +614,6 @@ Internal macro to set the first syllable text after all parts are known. \macroname{\textbackslash gre@opening@syllabletext}{}{gregoriotex-syllable.tex} Macro that stores the computed \TeX\ code for rendering the text of the first syllable. -\macroname{\textbackslash gre@exhyphencharsave}{}{gregoriotex-main.tex} -Macro for saving the ex hyphen character so that it can be restored at the end of the score. - \macroname{\textbackslash gre@factor}{}{gregoriotex-main.tex} Count which stores the current staff size. @@ -634,11 +635,12 @@ Macro to find the alignment center for a group of notes. The value is the dista \#1 & Note alignment type & See \ref{notesalign}\\ \end{argtable} -\macroname{\textbackslash gre@calculate@nextnotesaligncenter}{\#1}{gregoriotex-syllable.tex} +\macroname{\textbackslash gre@calculate@nextnotesaligncenter}{\#1\#2}{gregoriotex-syllable.tex} Same as previous, but for the next syllable. \begin{argtable} \#1 & Note alignment type & See \ref{notesalign}\\ + \#1 & Alteration type & See \ref{alterationtype}\\ \end{argtable} \macroname{\textbackslash gre@calculate@simplenotesaligncenter}{\#1\#2}{gregoriotex-syllable.tex} @@ -845,6 +847,10 @@ Macro to write a bar. & \texttt{16} & dotted major\\ & \texttt{17} & minimis (eighth bar)\\ & \texttt{18} & minimis (eighth bar) on ledger line above the staff\\ + & \texttt{19} & parenthesized virgula\\ + & \texttt{20} & parenthesized minima\\ + & \texttt{21} & parenthesized virgula on ledger line above the staff\\ + & \texttt{22} & parenthesized minima on ledger line above the staff\\ \#2 & \texttt{0} & in a syllable containing only this bar\\ & \texttt{1} & in a syllable containing other notes\\ \#3 & \texttt{0} & if there is no text underneath the bar\\ @@ -1044,6 +1050,10 @@ desired case. & \texttt{20} & Space between a punctum inclinatum and a ``no-bar'' glyph two pitches above. \\ & \texttt{21} & Space between a punctum inclinatum and a ``no-bar'' glyph three or four pitches above \\ & \texttt{22} & Half-space. \\ + & \texttt{23} & Space between two puncta inclinata on a unison. \\ + & \texttt{24} & Space before a right-leaning puncta inclinatum when the pitch is ascending (up to 4 pitches away). \\ + & \texttt{25} & Space before a left-leaning puncta inclinatum when the pitch is descending (up to 4 pitches away). \\ + & \texttt{26} & Space after after a non-punctum inclinatum and before the upright punctum inclinatum. \\ \end{argtable} \macroname{\textbackslash gre@nabcfontname}{}{gregoriotex-main.tex} @@ -1095,19 +1105,6 @@ Performs \#1 if the syllable should be rewritten, else \#2. \#2 & \TeX\ code & Code to perform when \emph{not} rewriting the syllable\\ \end{argtable} -\macroname{\textbackslash gre@save@endsyllablepart}{}{gregoriotex-syllable.tex} -Control sequence aliased to the carry-over syllable part to be moved to the next syllable. - -\macroname{\textbackslash gre@save@fixedtextformat}{\#1}{gregoriotex-syllable.tex} -Control sequence aliased to the fixed text format for the carry-over syllable part to be moved to the next syllable. - -\begin{argtable} - \#1 & string & The carry-over syllable part, as with \verb=\gre@fixednexttextformat=\\ -\end{argtable} - -\macroname{\textbackslash gre@save@pointandclick}{}{gregoriotex-syllable.tex} -Control sequence aliased to the line:char:column of the point-and-click link for the carry-over syllable part to be moved to the next syllable\\ - \macroname{\textbackslash gre@push@endsyllable}{\#1}{gregoriotex-syllable.tex} Sets the save aliases to push the end-syllable part of the current syllable to the next syllable if necessary. @@ -1212,7 +1209,7 @@ The pitch of the highest point of the current clef. \macroname{\textbackslash gre@pitch@clefbottom}{}{gregoriotex-spaces.tex} The pitch of the lowest point of the current clef. -\macroname{\textbackslash gre@saveclefextrema}{\#1\#2}{gregoriotex-signs.tex} +\macroname{\textbackslash gre@save@clefextrema}{\#1\#2}{gregoriotex-signs.tex} Computes the pitches of the lowest and highest points of a clef and saves them into \verb=\gre@pitch@cleftop= and \verb=\gre@pitch@clefbottom=. @@ -1254,13 +1251,14 @@ Workhorse function behind \verb=\gresetgregoriofont=. & \texttt{granapadano} & Use the Grana Padano font.\\ \end{argtable} -\macroname{\textbackslash gre@syllable@end}{\#1\#2\#3}{gregoriotex-syllable.tex} +\macroname{\textbackslash gre@syllable@end}{\#1\#2\#3\#4}{gregoriotex-syllable.tex} Macro to make a few checks and call the right macros between \verb=\endbeforebar=, \verb=\endofword=, \verb=\endofsyllable=. \begin{argtable} - \#1 & & next syllable type (\#7 of \verb=\GreSyllable=)\\ - \#2 & string & next syllable text\\ - \#3 & \texttt{0} & this syllable is not the end of a word\\ + \#1 & integer & the type of notes alignment of next syllable, from \#7 of \verb=\GreSyllable=. See \Nameref{notesalign}.\\ + \#2 & integer & the type of alteration of next syllable, from \#7 of \verb=\GreSyllable=. See \Nameref{alterationtype}.\\ + \#3 & string & next syllable text\\ + \#4 & \texttt{0} & this syllable is not the end of a word\\ & \texttt{1} & this syllable is the end of a word\\ \end{argtable} @@ -1378,7 +1376,7 @@ Macro for calculating the position of the elements of a bar syllable using the n \begin{argtable} \#1 & 0 & bar is not the end of a word\\ & 1 & bar is the end of a word\\ - \#2 & integer & alignment type of the first glyph in the next syllable. See \Nameref{notesalign}\\ + \#2 & integer & alteration type of the first glyph in the next syllable. See \Nameref{alterationtype}\\ \end{argtable} \macroname{\textbackslash gre@newlinearg}{}{gregoriotex-syllable.tex} @@ -1387,9 +1385,6 @@ Macro for storing the argument for \verb=\gre@newlinecommon= when the line break \macroname{\textbackslash gre@newlinecommondelayed}{}{gregoriotex-syllable.tex} Macro used in place of \verb=\gre@newlinecommon= when the line break must be delayed. -\macroname{\textbackslash gre@newlinecommonsaved}{}{gregoriotex-syllable.tex} -Macro for storing original behavior of \verb=\gre@newlinecommon= so that it can be restored after the delayed line break takes effect. - \macroname{\textbackslash gre@punctum@mora}{\#1\#2\#3\#4}{gregoriotex-signs.tex} Macro to typeset a punctum mora. @@ -1451,6 +1446,22 @@ Prevents the current syllable from overlapping with the previous syllable. File handle used to mark auto-compiled gabc files as dependencies for tools like latexmk. +\macroname{\textbackslash gre@arg@oftwo@first}{\#1\#2}{gregoriotex-syllable.tex} +Evaluates to the first of its arguments. + +\begin{argtable} + \#1 & any & the first argument\\ + \#2 & any & the second argument\\ +\end{argtable} + +\macroname{\textbackslash gre@arg@oftwo@second}{\#1\#2}{gregoriotex-syllable.tex} +Evaluates to the second of its arguments. + +\begin{argtable} + \#1 & any & the first argument\\ + \#2 & any & the second argument\\ +\end{argtable} + \subsection{Auxiliary File} Gregorio\TeX\ creates its own auxiliary file (extension \texttt{gaux}) which it uses to store information between successive typesetting runs. This allows for such features as the dynamic interline spacing. The following functions are used to interact with that auxiliary file. @@ -1508,18 +1519,36 @@ The flat character. \macroname{\textbackslash gre@fontchar@flathole}{}{gregoriotex-chars.tex} The flat hole character (\ie, the character needed to prevent lines from showing through the center of the flat). +\macroname{\textbackslash gre@fontchar@flatparen}{}{gregoriotex-chars.tex} +The parenthesized flat character. + +\macroname{\textbackslash gre@fontchar@flatparenhole}{}{gregoriotex-chars.tex} +The parenthesized flat hole character (\ie, the character needed to prevent lines from showing through the center of the flat). + \macroname{\textbackslash gre@fontchar@natural}{}{gregoriotex-chars.tex} The natural character. \macroname{\textbackslash gre@fontchar@naturalhole}{}{gregoriotex-chars.tex} The natural hole character (\ie, the character needed to prevent lines from showing through the center of the natural). +\macroname{\textbackslash gre@fontchar@naturalparen}{}{gregoriotex-chars.tex} +The parenthesized natural character. + +\macroname{\textbackslash gre@fontchar@naturalparenhole}{}{gregoriotex-chars.tex} +The parenthesized natural hole character (\ie, the character needed to prevent lines from showing through the center of the natural). + \macroname{\textbackslash gre@fontchar@sharp}{}{gregoriotex-chars.tex} The sharp character. \macroname{\textbackslash gre@fontchar@sharphole}{}{gregoriotex-chars.tex} The sharp hole character (\ie, the character needed to prevent lines from showing through the center of the sharp). +\macroname{\textbackslash gre@fontchar@sharpparen}{}{gregoriotex-chars.tex} +The parenthesized sharp character. + +\macroname{\textbackslash gre@fontchar@sharpparenhole}{}{gregoriotex-chars.tex} +The parenthesized sharp hole character (\ie, the character needed to prevent lines from showing through the center of the sharp). + \macroname{\textbackslash gre@fontchar@incclef}{}{gregoriotex-chars.tex} The \texttt{c}-clef which appears in the middle of a line. @@ -1614,6 +1643,14 @@ lines for the staff. Alias that will hold the character for the high virgula for the current number of lines for the staff. +\macroname{\textbackslash gre@char@bar@virgulaparen}{}{gregoriotex-main.tex} +Alias that will hold the character for the parenthesized virgula for the current +number of lines for the staff. + +\macroname{\textbackslash gre@char@bar@virgulaparenhigh}{}{gregoriotex-main.tex} +Alias that will hold the character for the parenthesized high virgula for the +current number of lines for the staff. + \macroname{\textbackslash gre@char@bar@divisiominimis}{}{gregoriotex-main.tex} Alias that will hold the character for the divisio ``minimis'' (eighth bar) for the current number of lines for the staff. @@ -1630,6 +1667,14 @@ number of lines for the staff. Alias that will hold the character for the high divisio minima for the current number of lines for the staff. +\macroname{\textbackslash gre@char@bar@divisiominimaparen}{}{gregoriotex-main.tex} +Alias that will hold the character for the parenthesized divisio minima for the +current number of lines for the staff. + +\macroname{\textbackslash gre@char@bar@divisiominimaparenhigh}{}{gregoriotex-main.tex} +Alias that will hold the character for the parenthesized high divisio minima for +the current number of lines for the staff. + \macroname{\textbackslash gre@char@bar@divisiominor}{}{gregoriotex-main.tex} Alias that will hold the character for the divisio minor for the current number of lines for the staff. @@ -1898,9 +1943,6 @@ Boolean to disable the printing of punctum morae. \macroname{\textbackslash ifgre@disablevepisema}{}{gregoriotex-signs.tex} Boolean to disable the printing of vertical episemata. -\macroname{\textbackslash ifgre@lastendswithmorasave}{}{gregoriotex-syllable.tex} -Boolean for saving \verb=\ifgre@lastendswithmora= for later restoration. - \macroname{\textbackslash gre@lasteuouaeindex}{}{gregoriotex-main.tex} Count which keeps track of the most recent euouae area. @@ -1943,6 +1985,12 @@ Boolean indicating whether the first nabc voice should be shown. \macroname{\textbackslash ifgre@showlyrics}{}{gregoriotex-syllable.tex} Boolean indicating whether the lyrics should be shown. +\macroname{\textbackslash ifgre@showtranslation}{}{gregoriotex-main.tex} +Boolean indicating whether the translation should be shown. + +\macroname{\textbackslash ifgre@showabovelinestext}{}{gregoriotex-main.tex} +Boolean indicating whether the above lines text should be shown. + \macroname{\textbackslash gre@initiallines}{}{gregoriotex-syllable.tex} Number of lines the initial takes up. Currently limited to 0, 1, or 2. Not currently a count, but will be changed to one in 5.0. @@ -1955,6 +2003,10 @@ Boolean indicating that the text of this syllable should not overlap any previou \macroname{\textbackslash ifgre@evaluatingnextsyllable}{}{gregoriotex-syllable.tex} Boolean indicating that some aspect of the next syllable is being evaluated in advance. +\macroname{\textbackslash ifgre@noteadditionalspacelinestext}{}{gregoriotex-main.tex} +Boolean indicating that the additional space needed between the notes and the lyrics due to really low notes should follow the user setting of noteadditionalspacelinestext (as opposed to being calculated automatically, the default). + + \subsection{Boxes} Boxes are used to store elements of the score before they are printed for the purposes of reusing them and/or measuring them in order to determine their appropriate placement. @@ -2011,6 +2063,20 @@ Macros that store the protrusion factors created by \subsection{Distances} + +\macroname{\textbackslash gre@createdim}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-spaces.tex} +Macro to create one of Gregorio\TeX’s distances. Used to initialize distances in \textit{gregoriotex-gsp-default.tex}. + +\begin{argtable} + \#1 & string & The name of the distance to be changed. See \nameref{distances} below.\\ + \#2 & string & The distance in string format. \textbf{Note:} You cannot use a length register for this argument. You \emph{must} use a string because of the way that Gregorio\TeX\ handles spaces.\\ + \#3 & \texttt{fixed} & Distance will not scale when staff size is changed.\\ + & \texttt{scalable} & Distance will scale when staff size is changed.\\ + & \texttt{inherited} & Distance will inherit its value from another distance. When this argument is used, then \#2 should be the name of another Gregorio\TeX\ distance. +\end{argtable} + + + All of the distances listed in \nameref{distances} have an internal associated with them, of the form of \verb=\gre@space@*@*=, which stores the value of the distance (in string representation). The first wildcard is either @@ -2019,10 +2085,6 @@ second is the name of the distance. These additional distances are calculated by Gregorio based on the values for the user customizable distances and what may be going on in the score at the time of their use. -In some cases it is necessary to temporarily manipulate some of these distances for the purpose of some particular operation and then restore them to their previous values. In that case the distance will have a \verb=\gre@saved@...= register associated with it (\eg \verb=\gre@dimen@constantglyphraise= is saved to and restored from \verb=\gre@saved@dimen@constantglyphraise=). - -We also have save registries for \verb=\baselineskip=, \verb=\lineskip=, \verb=\lineskiplimit=, \verb=\parskip=, and \verb=\parfillskip= so that we can modify the way line breaking decisions are handled inside a score without affecting the rest of the document. - \macroname{\textbackslash gre@dimen@morawidth}{}{gregoriotex-spaces.tex} Width of a punctum mora (reinitialized at each score, lazily recomputed). @@ -2231,58 +2293,6 @@ Macro called at the beginning of the score to swap text penalties for score pena \macroname{\textbackslash gre@restorepenalties}{}{gregoriotex-spaces.tex} Macro called at the end of the score to restore the text penalties. -\macroname{\textbackslash gre@brokenpenaltysave}{}{gregoriotex-spaces.tex} -A place to save the current value of the broken penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@clubpenaltysave}{}{gregoriotex-spaces.tex} -A place to save the current value of the club penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@widowpenaltysave}{}{gregoriotex-spaces.tex} -A place to save the current value of the widow penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@emergencystretchsave}{}{gregoriotex-spaces.tex} -A place to save the current value of the emergency stretch so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@endafterbarpenaltysave}{}{gregoriotex-main.tex} -A place to save the current value of the end after bar penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@endafterbaraltpenaltysave}{}{gregoriotex-main.tex} -A place to save the current value of the alternate end after bar penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@endofelementpenaltysave}{}{gregoriotex-main.tex} -A place to save the current value of the end of element penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@endofsyllablepenaltysave}{}{gregoriotex-main.tex} -A place to save the current value of the end of syllable penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@endofwordpenaltysave}{}{gregoriotex-main.tex} -A place to save the current value of the end of word penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@exhyphenpenaltysave}{}{gregoriotex-spaces.tex} -A place to save the current value of the ex hyphen penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@hyphenpenaltysave}{}{gregoriotex-main.tex \textup{and} gregoriotex-spaces.tex} -A place to save the current value of the hyphen penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@nobreakpenaltysave}{}{gregoriotex-main.tex} -A place to save the current value of the no break penalty so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@doublehyphendemeritssave}{}{gregoriotex-spaces.tex} -A place to save the current value of the double hyphen demerits so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@finalhyphendemeritssave}{}{gregoriotex-spaces.tex} -A place to save the current value of the final hyphen demerits so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@loosenesssave}{}{gregoriotex-spaces.tex} -A place to save the current value of the looseness so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@tolerancesave}{}{gregoriotex-spaces.tex} -A place to save the current value of the tolerance so that we can change it temporarily and then restore it later. - -\macroname{\textbackslash gre@pretolerancesave}{}{gregoriotex-spaces.tex} -A place to save the current value of the pretolerance so that we can change it temporarily and then restore it later. - - \subsection{Backwards compatibility} Depending on version of Lua\TeX / \LaTeX, some primitives have different names We define the following local aliases to account for this eventuality. @@ -2355,8 +2365,24 @@ rather than have multiple definitions. \texttt{12} & divisio minor\\ \texttt{13} & divisio maior\\ \texttt{14} & dominican bar\\ - \texttt{15} & divisio finalis\\ - \texttt{16} & no note + \texttt{15} & parenthesized virgula\\ + \texttt{16} & parenthesized divisio minima\\ + \texttt{17} & divisio finalis\\ + \texttt{18} & no note + \end{tabulary} + +\subsection{Alteration Type}\label{alterationtype} +\rowcolors{1}{lightgray}{lightgray} +\begin{tabulary}{\textwidth}{cL} + \multicolumn{2}{c}{Integer with the following possibilities:} \\ + \hline + \texttt{0} & no alteration\\ + \texttt{1} & flat\\ + \texttt{2} & natural\\ + \texttt{3} & sharp\\ + \texttt{4} & parenthesized flat\\ + \texttt{5} & parenthesized natural\\ + \texttt{6} & parenthesized sharp \end{tabulary} \subsection{Note Offset Specifier}\label{NoteOffset} @@ -2393,7 +2419,9 @@ rather than have multiple definitions. \item[TorcResDebilisNonAuctusSecondAnyWide] second note of a non-auctus torculus resupinus initio debilis with any first ambitus and a second ambitus of at least two \item[FinalLineaPunctum] linea punctum (cavum) as last note \item[BarStandard] standard bar + \item[BarParen] parenthesized bar \item[BarVirgula] virgula + \item[BarVirgulaParen] parenthesized virgula \item[BarDivisioFinalis] divisio finalis \item[TorcResQuilismaNonAuctusSecondWideWide] second note of a non-auctus torculus resupinus starting with a quilisma, with a first and second ambitus of at least two \item[TorcResOriscusNonAuctusSecondWideWide] second note of a non-auctus torculus resupinus starting with an oriscus, with a first and second ambitus of at least two diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/Gabc.tex b/Master/texmf-dist/doc/luatex/gregoriotex/Gabc.tex index 3de2b367821..c76d7e4a78d 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/Gabc.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/Gabc.tex @@ -1,7 +1,7 @@ % !TEX root = GregorioRef.tex % !TEX program = LuaLaTeX+se % -% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) +% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) % % This file is part of Gregorio. % @@ -91,7 +91,6 @@ Some headers have special meaning to Gregorio: \end{lstlisting} \item[author] The author of the piece, if known; of course, the author of most traditional chant is not known. \item[language] The language of the lyrics. -\item[oriscus-orientation] If \texttt{legacy}, the orientation of an unconnected oriscus must be set manually. \item[mode] The mode of the piece. This should normally be an Arabic number between 1 and 8, but may be any text required for unusual cases. The mode number will be converted to roman numerals and @@ -245,6 +244,11 @@ syllables. Spaces (end end-of-lines) in syllable text mark the end of words and should be placed after the parenthesized notes section for the last syllable of a given word. +The special character \texttt{\$} is an ``escape'' character which causes the +character which follows it to lose any special meaning. This can be used to +insert parentheses in text (\ie, use \texttt{\$(}). In order to put a +\texttt{\$} itself in text, escape it (\ie, use \texttt{\$\$}). + There are several markup-like codes that may be inserted into syllable text. We divide these into three categories: style tags, syllable controls, and other. \paragraph{Style Tags} @@ -491,7 +495,7 @@ Some examples: g(g) g<sp>~~</sp>(g~) g<(g<) g>(g>) go(go) go<sp>~~</sp>(go~) gw(gw) gv(gv) gV(gV) gs(gs) gs<(gs<) g=(g=) ( ) (z) ( ) - gr(gr) gR(gR) gr0(gr0) G(G) G0(G0) G1(G1) G~(G~) G>(G>) Gr(Gr) gx(gx) + gr(gr) gR(gR) gr0(gr0) G(G) G0(G0) G1(G1) G<sp>~~</sp>(G~) G>(G>) Gr(Gr) gx(gx) g#(g#) gy(gy) ( ) } @@ -1043,7 +1047,7 @@ code at the glyph level, or \texttt{[ev:}\textit{tex code}\texttt{]} to insert Here, note, glyph, and element refer to how Gregorio understands the score. -\subsubsection{Macros} +\subsubsection{Macros}\label{usemacros} Macros may be defined using the \texttt{def-m}\textit{n} headers, where \textit{n} is 0--9, as described in the \nameref{headers} section above. Then diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.pdf b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.pdf Binary files differindex 08d750889ee..60e80bf4cda 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.pdf +++ b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.pdf diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.tex b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.tex index 724fefac0b8..e5ab81131e7 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.tex @@ -1,6 +1,6 @@ % !TEX program = LuaLaTeX+se % -% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) +% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) % % This file is part of Gregorio. % diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.lua b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.lua index d1d10c6ca2d..17266a76cc0 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.lua +++ b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.lua @@ -1,4 +1,4 @@ --- Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) +-- Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) -- -- This file is part of Gregorio. -- @@ -124,6 +124,10 @@ local EXCLUDE = { ['VirgulaThree'] = true, ['VirgulaFive'] = true, ['VirgulaSix'] = true, + ['VirgulaParenTwo'] = true, + ['VirgulaParenThree'] = true, + ['VirgulaParenFive'] = true, + ['VirgulaParenSix'] = true, ['DivisioMinimisTwo'] = true, ['DivisioMinimisThree'] = true, ['DivisioMinimisFive'] = true, @@ -132,6 +136,10 @@ local EXCLUDE = { ['DivisioMinimaThree'] = true, ['DivisioMinimaFive'] = true, ['DivisioMinimaSix'] = true, + ['DivisioMinimaParenTwo'] = true, + ['DivisioMinimaParenThree'] = true, + ['DivisioMinimaParenFive'] = true, + ['DivisioMinimaParenSix'] = true, ['DivisioMinorTwo'] = true, ['DivisioMinorThree'] = true, ['DivisioMinorFive'] = true, @@ -191,12 +199,15 @@ local GABC = { DivisioMaiorDottedFour = [[:?]], DivisioMaiorDottedBackingFour = [[\excluded{:?}]], DivisioMinimaFour = [[,]], + DivisioMinimaParenFour = [[,?]], DivisioMinimisFour = [[\textasciicircum{}]], DivisioMinorFour = [[;]], FClefChange = [[f3]], FClef = [[f3]], Flat = [[gx]], FlatHole = [[\excluded{gx}]], + FlatParen = [[gx?]], + FlatParenHole = [[\excluded{gx?}]], Flexus = [[g&&&e]], FlexusLongqueue = [[h&&&f]], FlexusNobar = [[@h&&&f]], @@ -213,6 +224,8 @@ local GABC = { LineaPunctum = [[g&&&R]], Natural = [[gy]], NaturalHole = [[\excluded{gy}]], + NaturalParen = [[gy?]], + NaturalParenHole = [[\excluded{gy?}]], OblatusAscendensOriscus = [[g&&&o1]], OblatusDescendensOriscus = [[g&&&o0]], OblatusFlexusOriscus = [[g&&&oe]], @@ -255,6 +268,8 @@ local GABC = { SemicirculusReversus = [[\excluded{g}r5]], Sharp = [[g\#{}]], SharpHole = [[\excluded{g\#{}}]], + SharpParen = [[g\#{}?]], + SharpParenHole = [[\excluded{g\#{}?}]], StansPunctumInclinatum = [[G2&&&]], StrophaAucta = [[g&&&s>]], StrophaAuctaLongtail = [[h&&&s>]], @@ -273,6 +288,7 @@ local GABC = { VirgaReversaLongqueue = [[h&&&V]], VirgaReversaOpenqueue = [[a&&&V]], VirgulaFour = [[^^^^0060]], + VirgulaParenFour = [[^^^^0060?]], } local GABC_AMBITUS_ONE = { diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.pdf b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.pdf Binary files differindex 3628fc10529..3d5d6daa663 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.pdf +++ b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.pdf diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.tex b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.tex index dc897c77032..99e45ef1118 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.tex @@ -1,6 +1,6 @@ % !TEX program = LuaLaTeX+se % -% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) +% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) % % This file is part of Gregorio. % @@ -139,7 +139,7 @@ {\endtabularx\bigskip} \makeatletter% -\NewDocumentEnvironment{gdimension}{m}{\macroname{#1}{}{gsp-default.tex}}{% +\NewDocumentEnvironment{gdimension}{m}{\macroname{#1}{}{gregoriotex-gsp-default.tex}}{% \gre@rubberpermit{#1}% \ifgre@rubber% @@ -149,7 +149,7 @@ \fi% } -\NewDocumentEnvironment{gcount}{m}{\macroname{#1}{}{gsp-default.tex}}{% +\NewDocumentEnvironment{gcount}{m}{\macroname{#1}{}{gregoriotex-gsp-default.tex}}{% Default: \expandafter$\expandafter\the\csname gre@space@count@#1\endcsname$ } @@ -183,7 +183,7 @@ \vspace{1cm} - \large Version \textbf{5.2.1}, 6 April 2019 %% PARSE_VERSION_DATE + \large Version \textbf{6.0.0-beta1}, 23 February 2021 %% PARSE_VERSION_DATE \vspace{1.5cm} \end{center} diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/README.md b/Master/texmf-dist/doc/luatex/gregoriotex/README.md new file mode 100644 index 00000000000..3b5d5543b76 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/gregoriotex/README.md @@ -0,0 +1,41 @@ +# Gregorio + +Gregorio is a software application for engraving Gregorian Chant scores on a computer. Gregorio's main job is to convert a [gabc file](http://gregorio-project.github.io/gabc/index.html) (simple text representation of a score) into a [GregorioTeX file](http://gregorio-project.github.io/gregoriotex/index.html), which makes [TeX](http://gregorio-project.github.io/gregoriotex/tex.html) able to create a PDF of your score. + +## Usage + +Create a `.gabc` file representing your score (see our [tutorial](http://gregorio-project.github.io/tutorial/tutorial-gabc-01.html)), or fetch one from [the database](http://gregobase.selapa.net/). + +Create a [LaTeX](http://en.wikipedia.org/wiki/LaTeX) file that will produce the final pdf, and include your score. See [the example](examples/main-lualatex.tex). + +Compile the LaTeX file with LuaLaTeX, you get your score in PDF! You can change the LaTeX file to include other scores, create booklets, books, etc. + +You can also try it online [here](http://dev.illuminarepublications.com/). + +## Installation + +You need a recent and working [TeX Live](https://www.tug.org/texlive/), on top of which you just need to install latest [Gregorio release](https://github.com/gregorio-project/gregorio/releases). See [the website](http://gregorio-project.github.io/installation.html) for more details. + +## Building for inclusion in TeX Live + +When building gregorio for inclusion in TeX Live, the gregorio executable must not have the version number suffix that is used for other builds. To make this happen, run `configure` with the `--disable-version-in-exe` option, and the generated Makefile will create a gregorio executable without the version number suffix (i.e., the executable will simply be named `gregorio`). + +## Documentation + +You can find documentation and useful links in the [documentation](doc/), on [the main website](http://gregorio-project.github.io/) and on [a wiki](http://gregoriochant.org). + +## History + +See [CHANGELOG.md](CHANGELOG.md). + +## Credits + +See [CONTRIBUTORS.md](CONTRIBUTORS.md). + +## Contributing and bug reporting + +See [CONTRIBUTING.md](CONTRIBUTING.md). + +## License + +The code is mainly under the [GPLv3](https://www.gnu.org/licenses/quick-guide-gplv3.en.html) license, with fonts under the [Open Font License](http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL). See [complete license](COPYING.md) for more details. diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/UPGRADE.md b/Master/texmf-dist/doc/luatex/gregoriotex/UPGRADE.md new file mode 100644 index 00000000000..cd67743238b --- /dev/null +++ b/Master/texmf-dist/doc/luatex/gregoriotex/UPGRADE.md @@ -0,0 +1,462 @@ +# Upgrade Manual + +This file contains instructions to upgrade to a new release of Gregorio. These instructions are cumulative; meaning that you should apply the instructions from all versions between the one you are upgrading from and the current version. + +## Unreleased + +### Upright punctum inclinatum + +Gregorio will now use an "upright" punctum inclinatum shape for a series of unison punctum inclinatum notes over a given syllable. When there is a single punctum inclinatum, Gregorio will use a heuristic to choose a shape. In any of these cases, if the result is not satisfactory, especially in context with nearby syllables, you may select a different shape by using `0` (for the descending shape) or `1` (for the ascending shape) after the capitalized letter indicating the punctum inclinatum. Forced selection of the upright shape is also possible by using `2` after the capitalized letter indicating the punctum inclinatum. + +### GABC escape character + +In GABC text, the dollar sign (`$`) is now an "escape character" which prevents any special interpretation of the single character which follows the `$`. This allows you to put things like parentheses in text (use `$(`), but it also prevents other special interpretation of the character that follows (e.g., `$:` prevents auto-protrusion for the colon and `$-` prevents hyphenation handling of the dash). In order to send a `$` to TeX, use `$$` to escape the dollar sign. + +If you had used the `$` for some reason in your GABC text, this change will break your score. You will need to change all `$` in your text to `$$` to retain the old behavior. + +## 5.1 + +No additional steps are needed to upgrade from 5.0 to 5.1. + +## 5.0 + +### Auto-compilation + +The `autocompile` option is now the default option for the behavior of `\gregorioscore`. If you want to go back to the old, manual behavior, then you should pass the `nevercompile` option when loading `gregoriotex`. + +### Additional fonts + +With the addition of more cavum shapes, the number of font options which come with Gregorio (the package) by default has been reduced in order to control the download size. From now on only Greciliae (and its "-op" Dominican variant) will be installed by default. The Gregorio and Grana Padano fonts, as well as their "-op" Dominican variants, will now be available as a separate download. If you were using these fonts, either download `supp_fonts-5_0_0.zip` and install them or switch to Greciliae. + +To install the new versions of Gregorio (the font) and Grana Padano, unzip `supp_fonts-5_0_0.zip`, navigate to the uncompressed folder in Terminal (or Command Prompt on Windows) and execute `texlua install_supp_fonts.lua` after you have installed the main Gregorio distribution. This script will look for the location of Greciliae and copy the other fonts to that location. If you wish to control the installation of the fonts manually, the script takes an optional argument with one of the following values: + + * `auto` (optional): the same folder as Greciliae + * `system`: the appropriate font folder in `$TEXMFLOCAL` + * `user`: the appropriate font folder in `$TEXMFHOME` + * `<dir>`: the name of an alternate texmf root directory you want to use + +Additionally, if you are building the fonts yourself from a git clone, `install-gtex.sh` and `install_supp_fonts.lua` will install all the fonts you have built, not just the ones they are normally distributed with. + +**Note:** All the above methods assume you only need to access the fonts from within a TeX document (and thus are designed to put them into the correct folder in a texmf tree). If you want to use the fonts in other programs, then you will need to consult the documentation appropriate to your platform and/or the program and manually move, copy, or link the fonts to the necessary location. + +### Ledger lines + +As of version 5.0, ledger lines are extended through notes on either side of a ledger line that crosses a stem, as long as the notes are within the same element. + +The algorithm for this is simple so it can be predictable, and it cannot take into account spacing adjustments made in TeX. This means it may not produce the exactly desired results. In order to get the results you want, you can override the automatic behavior in gabc: + +- `[oll:1]` will force an over-the-staff ledger line on a note. +- `[oll:0]` will suppress an over-the-staff ledger line on a note. +- `[ull:1]` will force an under-the-staff ledger line on a note. +- `[ull:0]` will suppress an under-the-staff ledger line on a note. + +The other `oll` and `ull` forms take precendence over and will interfere with the above settings, so if you are using them, you may need to adjust them to get the output you want. + +Note: You may need to use a construct such as `/!` to keep notes that are separated in the same element. For example, `abcV` is two elements (`ab` and `cV`), so the ledger line on `b` is not extended to `cV`. In contrast, `ab/!cV` is one element, so the ledger line on `b` is extended to `cV`. + +### End-of-line hyphen protrusion factor + +As of version 5.0, the `\gresethyphenprotrusion{percentage}` command is deprecated. To set this protrusion factor, use `\gresetprotrusionfactor{eolhyphen}{factor}` instead. Note that the `factor` taken by the new command is a factor rather than the percentage taken by the deprecated command, so for example, use `\gresetprotrusionfactor{eolhyphen}{0.5}` instead of `\gresethyphenprotrusion{50}`. + +### Oriscus orientation at the unison + +As of version 5.0, when the note after the oriscus is at the same pitch as the oriscus, the oriscus will point towards the first non-unison note after the oriscus or downwards if at the end of the score. Use the `0` (for downwards) `1` (for upwards) modifiers to force a different orientation. + +### Elisions in vowel centering + +As of version 5.0, elisions after a vowel centering prefix will not cause the center to be placed on the vowel at the end of the prefix. Since elisions are unvoiced vowels, this makes more sense than the previous behavior. However, if this change does not produce your desired output, you may surround the center manually with `{` and `}` in gabc. + +## 4.2 + +### 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. + +### 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. + + +## 4.1.2 + +### Changes to texmf tree + +To better comply with the TeX Live 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}`. + + +## 4.1.1 + +### Vertical spacings + +High notes are now taken into account in vertical spacings. If you would like to come back to the old way, use `\grechangecount{additionaltopspacethreshold}{6}`. High notes also influence vertical placement of alt text. If you would like to come back to the old way, give a high value to `\grechangecount{additionaltopspacealtthreshold}{6}`. + +### Last line of score behavior + +`\grelooseness` is now `-1` by default. This should prevent orphaned syllable at end of score. If you prefer the old behavior, use `\def\grelooseness{\looseness}` before including your scores. + +## 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 '<eu>' 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 and is turned on by default. We hope this will be a significant improvement over the previous one. The primary goal of the new algorithm is to place the bar line exactly between the notes which surround it and do the same with the text associated with the bar line. However, it will also keep the text and bar reasonably close together and with sufficent space between the bar syallable and the surrounding syllables (possibly introducing space to meet the competing interests). The new algorithm introduces several new spaces allowing the user to tune the algorithm: + - `maxbaroffsettextright` + - `maxbaroffsettextleft` + - `maxbaroffsettextright@nobar` + - `maxbaroffsettextleft@nobar` + - `maxbaroffsettextright@eol` + - `maxbaroffsettextleft@eol` + - `bar@*@standalone@text` (where `*` is the type of bar) + - `bar@*@standalone@notext` (where `*` is the type of bar) + - `interwordspacetext@bars` + - `interwordspacetext@bars@euouae` + - `interwordspacetext@bars@notext` + - `interwordspacetext@bars@notext@euouae` + - `bar@rubber` +If you prefer the old bar spacing algorithm, you can revert to that with: + +``` +\gresetbarspacing{old} +``` + +Another big change in this algorithm is that empty syllables, i.e. ones without any notes, are now treated as a 0-width bar, not as a 0-width note. Thus if you were using this sort of syllable to insert space into your score, chances are the results will be different under the new algorithm and will require you to re-tweak your scores. + + +#### Renaming of spaces + +The spaces around bars are now: + +- `bar@virgula` +- `bar@minima` (both replacing `spacearoundsmallbars`) +- `bar@minor` (replacing `spacearoundminor`) +- `bar@maior` (replacing `spacearoundmaior`) +- `bar@finalis` (replacing `spacearoundfinalis`) +- `bar@finalifinalis` (replaceing `spacebeforefinalfinalis`) +- `bar@dominican` (new) + +They have variants for the new bar spacing algorithm only: + +- `bar@xxx@standalone@text` (where `xxx` is `virgula` or `minima`, etc.) are used when the bar is in a standalone syllable with text +- `bar@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 `!`. + + +## 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 be `yes`, `true`, `on`, or `scalable` to acheive the old behavior. + +Additionally a new package option has been added. This option, `allowdeprecated=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-sample.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 to `beforelowchoralsignspace`. +- `lowchoralsignshift` has been renamed to `choralsigndownshift`. +- `highchoralsignshift` has been renamed to `choralsignupshift` 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 initials +- `biginitial`: 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. +- `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 `\gresetlyriccentering` command from TeX instead. If you were using `centering-scheme: latine;` in gabc, now use `\gresetlyriccentering{vowel}` in the TeX file that includes the gabc. If you were using `centering-scheme: english;` in gabc, now use `\gresetlyriccentering{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 Ant.}; + annotation: {\color{red}VII a}; + +If you define annotation(s) in the main TeX file via `\greannotation`, then the `annotation` header field in the gabc file will *not* overwrite that definition. + +#### Variable Height Line Spacing + +GregorioTeX is now able to make individual lines of a score taller when the position of the note requires 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, but only between scores. + +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 + +GregorioTeX 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. + +#### Keyword argument for `\grecreatedim` and `\grechangedim` + +In order to better match the new command naming conventions, the third argument of `\grecreatedim` and `\grechangedim` should now be `scaling` or `fixed` instead of `1` or `0`, respectively. + +#### Liquescence on bistropha and tristropha + +In order to be more consistent, making a bistropha or tristropha liquescent by adding `<` in gabc will now only affect the note thus marked. This means that a tristropha like `(gsss<)` will only show the final stropha as liquescent, which is different from the older behavior of making every stropha liquescent. If you prefer the old behavior, mark every note explicitly as liquescent with something like `(gs<gs<gs<)`. + +### Empty first syllable hyphen + +Prior to version 4.0, GregorioTeX would put a hyphen below an empty first syllable (which happens when the first syllable consists only of the initial). The spacing algorithm is improved in 4.0, but that eliminates the hyphen if there is not enough space between the note of the first syllable and the next syllable. The `\gresetemptyfirstsyllablehyphen` command controls this behavior. It defaults to `force`, which restores the pre-4.0 behavior, but may be changed to `auto` (i.e., `\gresetemptyfirstsyllablehyphen{auto}`) if you prefer the space-based behavior. + +### gabc-version header + +The gabc-version header has become meaningless. It is now deprecated. Please remove it from your gabc files if you had been using it. + +## 3.0 +### TeX Live 2013 + +Because of changes necessary to future-proof the fonts, please upgrade to at least TeX Live 2013 if you are using an older version. If the neumes do not appear or look strange in the output, you may also need to clear your LuaTeX font cache by using `luaotfload-tool --cache=erase`. + +### Score inclusion + +When migrating to this release, you should start to use the new `\includescore` system, as other ways of score inclusion are deprecated and will start disapear soon. See GregorioRef.pdf for details. + +#### For users of version 2.4.2 + +In version 2.4.2, an early version of the feature to auto-compile gabc score was added. Because of the confusion this caused with old users upgrading to 2.4.2, the `\includescore` command now works in a backwards-compatible way so scores created using this command for versions of Gregorio prior than 2.4.2 should work with no change. However, for users of 2.4.2, the following changes are necessary: + +- If you were using `\includescore[f]`, the equivalent command is now `\includescore[n]`, but due to this change, you should be able to just use `\includescore` without the optional parameter. +- If you were using the auto-compile feature, you should use `\autocompilegabc` in your tex file prior to using `\includescore`. This is only necessary once and **does not need to be used before each use** of `\includescore`. + +### Custom dimension changes + +If you use custom space definitions (`gsp-foo.tex`), the format have changed, and you must rewrite it completely. See the new `gsp-sample.tex` for an example, and GregorioRef.pdf for documentation. + +### Color definition + +If you want to change color in gabc, using the `<c>` markup is the safest way, and you should migrate to that, as Gregorio introduced mechanisms that may break badly formatted color changes (e.g. `\color{red}foo\color{black}`). diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/examples/main-lualatex.tex b/Master/texmf-dist/doc/luatex/gregoriotex/examples/main-lualatex.tex index 018a0a06b37..9bbcb8552ad 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/examples/main-lualatex.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/examples/main-lualatex.tex @@ -1,47 +1,47 @@ % !TEX program = LuaLaTeX+se -% This is a simple template for a LuaLaTeX document using gregorio scores. +% Simple template for using Gregorio scores in a LuaLaTeX document. -\documentclass[11pt]{article} % use larger type; default would be 10pt +\documentclass{scrartcl} % set document class: manual at https://ctan.org/pkg/koma-script -% usual packages loading: -\usepackage{fontspec} -\usepackage{graphicx} % support the \includegraphics command and options -\usepackage{geometry} % See geometry.pdf to learn the layout options. There are lots. -\geometry{a4paper} % or letterpaper (US) or a5paper or.... -\usepackage{gregoriotex} % for gregorio score inclusion -\usepackage{fullpage} % to reduce the margins -\usepackage{libertine} % Decent (free) font for Gregorian, but should be changed if you have high standards +% Load packages: +\usepackage[osf,p]{libertine} % set font +\usepackage{gregoriotex} % enable Gregorio score inclusion +\usepackage[latin]{babel} % set language -\begin{document} +\setkomafont{section}{\normalfont\centering\huge\scshape} % section heading style +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering -% The title: -\begin{center}\begin{huge}\textsc{Populus Sion}\end{huge}\end{center} -% Here we set the space around the initial. -% Please report to http://gregorio-project.github.io/gregoriotex/details.html for more details and options +% Set the space around the initial: +% See http://gregorio-project.github.io/gregoriotex/details.html for more details and options \grechangedim{beforeinitialshift}{2.2mm}{scalable} \grechangedim{afterinitialshift}{2.2mm}{scalable} -% Here we set the initial font. Change 43 if you want a bigger initial. +% Set the initial font (change 43 for a larger size): \grechangestyle{initial}{\fontsize{43}{43}\selectfont}% -% We set red lines here, comment it if you want black ones. +% Make staff lines red; remove for black: \gresetlinecolor{gregoriocolor} -% We set VII above the initial manually +% Use the "commentary" field of the score in the top right corner: +\gresetheadercapture{commentary}{grecommentary}{string} + +% Format annotation above initial \grechangestyle{annotation}{\small\bfseries} -\greannotation{Intr.} -\greannotation{\textsc{vii}} -% We use the "commentary" field of the score in the top right corner: -\gresetheadercapture{commentary}{grecommentary}{string} +\begin{document} + +\section{Populus Sion} + +% Add VII above the initial manually: +\greannotation{Intr.} % first line +\greannotation{\textsc{vii}} % second line -% and finally we include the scores. The file must be in the same directory as this one. +% Include the score; the file must be in the same directory: \gregorioscore[a]{PopulusSion} -\bigskip -\begin{center}\begin{huge}\textsc{Factus Est}\end{huge}\end{center} +\section{Factus est} \gregorioscore[a]{FactusEst} diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/gsp-sample.tex b/Master/texmf-dist/doc/luatex/gregoriotex/gsp-sample.tex new file mode 100644 index 00000000000..79dc736f570 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/gregoriotex/gsp-sample.tex @@ -0,0 +1,462 @@ +%GregorioTeX file. +% +% Copyright (C) 2010-2021 The Gregorio Project (see CONTRIBUTORS.md) +% +% This file is part of Gregorio. +% +% Gregorio is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% Gregorio is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with Gregorio. If not, see <http://www.gnu.org/licenses/>. + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This file is an example of how the various penalties and spacings can be changed to tweak the +%% overall look of a Gregorio score. +%% +%% When customizing this file to your own use, you do not need to include all the penalties and +%% distances listed below. Those not included will fall back onto their default values. +%% +%% The name of all space configuration files should start with `gsp-` and end with `.tex`; what goes +%% in between is up to you (so long as it doesn’t contain spaces). To load a space configuration +%% file called `gsp-sample.tex`, use `\greloadspaceconf{sample}`. The defaults can be reloaded +%% with `\greloadspaceconf{default}`. +%% +%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% At the risk of oversimplifying, penalties affect line breaks: larger penalties indicate that line +%% breaks should be less likely at the corresponding location, smaller penalties (including negative +%% values) indicate that line breaks are more likely. +%% +%%%%%%%%%%%%%%%%%%%%%%%%% + +% penalty to force a break on a new line +\grechangecount{newlinepenalty}{-10001}% +% penalty to prevent a line break +\grechangecount{nobreakpenalty}{10001}% +% penalty at the end of a syllable which is the end of a word +\grechangecount{endofwordpenalty}{-100}% +% penalty at the end of a syllable which is not the end of a word +\grechangecount{endofsyllablepenalty}{-50}% +% penalty at the end of a syllable which is just a bar, with something printed +% under it +\grechangecount{endafterbarpenalty}{-200}% +% penalty right after a bar with nothing printed +\grechangecount{endafterbaraltpenalty}{-200}% +% penalty at the end of the score +\grechangecount{finalpenalty}{0}% +% penalty at the end of a breakable neumatic element (typically at a space +% between elements) +\grechangecount{endofelementpenalty}{-50}% +% hyphenpenalty will be used in discretionaries, in Gregorio this is used for +% a bar with clef change for example. It also set \exhyphenpenalty. It should +% be close to endafterbarpenalty +\grechangecount{hyphenpenalty}{-200}% +% broken penalty is the vertical penalty inserted after a break on a clef change +% I'm not sure it should be set, but it might be useful... +\grechangecount{brokenpenalty}{0}% + +%% These macro enable the tuning of linepenalty, tolerance, pretolerance +%% and emergencystretch +\grechangecount{looseness}{-1}% +\grechangecount{tolerance}{9000}% +% Workaround for bug 842 (http://tracker.luatex.org/view.php?id=842) +% see http://tug.org/pipermail/luatex/2013-July/004516.html +% The idea is that we use discretionaries (explicit hyphens, though more than hyphens in our case) for clef changes, and we need to give them a special penalty, which is not taken into account if pretolerance is > -1 on LuaTeX < 0.80. For a more detailed explanation see http://tug.org/pipermail/luatex/2013-July/004516.html. +\ifnum\the\luatexversion < 78\relax % + \grechangecount{pretolerance}{-1}% +\else % + \grechangecount{pretolerance}{\the\pretolerance}% +\fi % +\grechangedim{emergencystretch}{\the\emergencystretch}{scalable}% +% By default, we don't care if a line of score is alone on the page, +% if you think it is bad, you can modify the two following values. Assigning +% 10000 to them will prevent all orphaned lines (this will certainly improve +% some spacings a lot). +\grechangecount{widowpenalty}{0}% +\grechangecount{clubpenalty}{0}% + + +%%%%%%%%%%%%%%%%%%% +%% +%% Protrusion factors indicate that certain characters are allowed to extend into the right hand +%% margin when they occur at the end of the line. This allows you to create a more optically +%% straight margin as the eye tends to discount some characters (mostly punctuation) when +%% determining whether the end of several lines of text line up. +%% +%%%%%%%%%%%%%%%%%%% + +% protrusion factor for comma +\gresetprotrusionfactor{,}{0}% +% protrusion factor for semicolon +\gresetprotrusionfactor{;}{0}% +% protrusion factor for colon +\gresetprotrusionfactor{:}{0}% +% protrusion factor for period +\gresetprotrusionfactor{.}{0}% +% protrusion factor for hyphens added automatically in the Lua phase +\gresetprotrusionfactor{eolhyphen}{0}% +% protrusion factor used by <pr> without an argument +\gresetprotrusionfactor{default}{1}% + + + + +%%%%%%%%%%%%%%%%%%% +%% +%% The following spacings govern the distance between various elements (names are chosen to +%% indicate when each spacing is used). The macro for changing distances is \grechangedim and +%% it takes 3 arguments: +%% +%% (1) the name of the spacing to be changed +%% (2) the value of the spacing +%% (3) either `scalable` or `fixed` to indicate how the spacing should behave when +%% `\grechangestaffsize` is invoked. If `scalable` then the spacing is proportionally rescaled; +%% if `fixed` it will remain at its given value; if `inherited` then #2 should be the name of +%% another spacing from which this spacing derives its value. +%% +%%%%%%%%%%%%%%%%%%% + +%This count tells gregoriotex what size staff the below values correspond to. +%% The default staff size is 17. At this size the scores should be approximately the size usually +%% seen in a gradual. +%% If you’re creating your own space configuration file, you may set this to some other value, +%% should you so desire. +%% If the current staff size doesn’t match the value given here when the spacing file is loaded, then +%% all scalable distances will be rescaled appropriately. +\greconffactor=17% + +%How thick the lines should be. When set equal to \greconffactor (above) the staff lines will be their default thickness. Larger numbers result in thicker lines. +\grechangestafflinethickness{17}% + +% the additional width of the additional lines (compared to the width of the glyph they're associated with) +\grechangedim{additionallineswidth}{0.14584 cm}{scalable}% +% width of the additional lines, used only for the custos (maybe should depend on the width of the custos...) +% the width is the one for the custos at end of lines, the line for custos in the middle of a score is the same +% multiplied by 2. +\grechangedim{additionalcustoslineswidth}{0.09114 cm}{scalable}% +% null space +\grechangedim{zerowidthspace}{0 cm}{scalable}% +% space between glyphs in the same element +\grechangedim{interglyphspace}{0.06927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}% +% space between an alteration (flat or natural) and the next glyph +\grechangedim{alterationspace}{0.07747 cm}{scalable}% +% space between a clef and a flat (for clefs with flat) +\grechangedim{clefflatspace}{0.05469 cm plus 0.00638 cm minus 0.00638 cm}{scalable}% +% space before a choral sign +\grechangedim{beforelowchoralsignspace}{0.04556 cm plus 0.00638 cm minus 0.00638 cm}{scalable}% +% when bolshifts are enabled, minimal space between a clef at the beginning of the line and a leading alteration glyph (should be larger than clefflatspace so that a flatted clef can be distinguished from a flat which is part of the first glyph on a line, but also smaller than spaceafterlineclef, the distance from the clef to the first notes) +\grechangedim{beforealterationspace}{0.1 cm}{scalable}% +% half-space between elements +\grechangedim{halfspace}{0.03463 cm plus 0.00091 cm minus 0.00182 cm}{scalable}% +% space between elements +\grechangedim{interelementspace}{0.06927 cm plus 0.00182 cm minus 0.00363 cm}{scalable}% +% larger space between elements +\grechangedim{largerspace}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}% +% space between elements in ancient notation +\grechangedim{nabcinterelementspace}{0.06927 cm plus 0.00182 cm minus 0.00363 cm}{scalable}% +% larger space between elements in ancient notation +\grechangedim{nabclargerspace}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}% +% space between elements which has the size of a note +\grechangedim{glyphspace}{0.21877 cm plus 0.01822 cm minus 0.01822 cm}{scalable}% +% space before in-line custos +\grechangedim{spacebeforeinlinecustos}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}% +% space before end-of-line custos +\grechangedim{spacebeforeeolcustos}{0.23 cm plus 0 cm minus 0 cm}{scalable}% +% space before punctum mora and augmentum duplex +\grechangedim{spacebeforesigns}{0.050 cm plus 0.004 cm minus 0.004 cm}{scalable}% +% when a syllable is shifted left because of a preceding punctum mora, moraadjustmentbar is +% also added. Use it to make the syllable a bit further from the punctum mora if you want. +% This version is the general case. +\grechangedim{moraadjustment}{0.050 cm}{scalable}% +% This version is for when punctum mora is before a bar. +\grechangedim{moraadjustmentbar}{0.050 cm}{scalable}% +% space after punctum mora and augmentum duplex +\grechangedim{spaceaftersigns}{0.08203 cm plus 0.0082 cm minus 0.0082 cm}{scalable}% +% space after a clef at the beginning of a line +\grechangedim{spaceafterlineclef}{0.23 cm plus 0 cm minus 0.01367 cm}{scalable}% +% space after a clef at the beginning of a line, when the clef and first note are vertically distant +\grechangedim{shortspaceafterlineclef}{0.18 cm plus 0 cm minus 0.01367 cm}{scalable}% +% minimal space between notes of different words +\grechangedim{interwordspacenotes}{0.29 cm plus 0.05 cm minus 0.05 cm}{scalable}% +% minimal space between notes of the same syllable. +\grechangedim{intersyllablespacenotes}{0.24 cm}{scalable}% +% stretching added in the case where the text of two syllables of the same word are +% separated with an automatic hyphen +\grechangedim{intersyllablespacestretchhyphen}{0cm plus 0.05cm}{scalable}% +% minimal space between letters of different words. +\grechangedim{interwordspacetext}{0.17 cm plus 0.05 cm minus 0.05 cm}{scalable}% +% Versions of interword spaces for euouae blocks +\grechangedim{interwordspacenotes@euouae}{0.23 cm plus 0.1 cm minus 0.05 cm}{scalable}% +\grechangedim{interwordspacetext@euouae}{0.21 cm plus 0.1 cm minus 0.05 cm}{scalable}% +% versions of note spaces when the first note of the second syllable is an alteration +% those are used in euouae blocks +\grechangedim{interwordspacenotes@alteration}{0.1 cm plus 0.07 cm minus 0.01 cm}{scalable}% +\grechangedim{intersyllablespacenotes@alteration}{0.1 cm}{scalable}% +% space between notes of a bivirga or trivirga +\grechangedim{bitrivirspace}{0.06927 cm plus 0.00182 cm minus 0.00546 cm}{scalable}% +% space between notes of a bistropha or tristrophae +\grechangedim{bitristrospace}{0.06927 cm plus 0.00182 cm minus 0.00546 cm}{scalable}% +% +%%%%%%%%%%%%%%%%%%%% +% puncta inclinata % +%%%%%%%%%%%%%%%%%%%% +% +% space between two descending punctum inclinatum +\grechangedim{punctuminclinatumshift}{-0.03918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between two descending or ascending punctum inclinatum at the unison +\grechangedim{punctuminclinatumunisonshift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}% +% space before descending puncta inclinata +\grechangedim{beforepunctainclinatashift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}% +% space between a descending punctum inclinatum and a punctum inclinatum deminutus +\grechangedim{punctuminclinatumanddebilisshift}{-0.02278 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between two punctum inclinatum deminutus +\grechangedim{punctuminclinatumdebilisshift}{-0.00728 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between descending puncta inclinata, larger ambitus (range=3rd) +\grechangedim{punctuminclinatumbigshift}{0.07565 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between descending puncta inclinata, larger ambitus (range=4th or 5th) +\grechangedim{punctuminclinatummaxshift}{0.17865 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between two ascending punctum inclinatum +\grechangedim{ascendingpunctuminclinatumshift}{-0.03918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between a punctum inclinatum and a punctum inclinatum deminutus, ascending +\grechangedim{ascendingpunctuminclinatumanddebilisshift}{-0.02278 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between ascending puncta inclinata, larger ambitus (range=3rd) +\grechangedim{ascendingpunctuminclinatumbigshift}{0.07565 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between ascending puncta inclinata, larger ambitus (range=4th or 5th) +\grechangedim{ascendingpunctuminclinatummaxshift}{0.17865 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between a punctum inclinatum and a no-bar glyph one pitch below +\grechangedim{descendinginclinatumtonobarshift}{-0.00073 cm plus 0.00363 cm minus 0.00363 cm}{scalable}% +% space between a punctum inclinatum and a no-bar glyph two pitches below +\grechangedim{descendinginclinatumtonobarbigshift}{0.10927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}% +% space between a punctum inclinatum and a no-bar glyph three or four pitches below +\grechangedim{descendinginclinatumtonobarmaxshift}{0.23927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}% +% space between a punctum inclinatum and a no-bar glyph one pitch above +\grechangedim{ascendinginclinatumtonobarshift}{-0.02473 cm plus 0.00363 cm minus 0.00363 cm}{scalable}% +% space between a punctum inclinatum and a no-bar glyph two pitches above +\grechangedim{ascendinginclinatumtonobarbigshift}{0.04427 cm plus 0.00363 cm minus 0.00363 cm}{scalable}% +% space between a punctum inclinatum and a no-bar glyph three or four pitches above +\grechangedim{ascendinginclinatumtonobarmaxshift}{0.12927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}% +% space between two descending punctum inclinatum glyphs in an ascent +\grechangedim{descendingpunctuminclinatumascendingshift}{-0.07918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% space between two ascending punctum inclinatum glyphs in an descent +\grechangedim{ascendingpunctuminclinatumdescendingshift}{-0.07918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}% +% Space after after a non-punctum inclinatum and before the upright punctum inclinatum +\grechangedim{uprightpunctuminclinatumshift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}% + +% +%%%%%%%% +% bars % +%%%%%%%% +% +% bars inside syllables +% +\grechangedim{bar@virgula}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}% +% short versions are when the notes are very low (virgula, minima, and minimis only) +\grechangedim{bar@virgula@short}{0.13 cm plus 0.05 cm minus 0.00469 cm}{scalable}% +\grechangedim{bar@minimis}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}% +\grechangedim{bar@minimis@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}% +\grechangedim{bar@minima}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}% +\grechangedim{bar@minima@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}% +\grechangedim{bar@minor}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}% +% dominican bars +\grechangedim{bar@dominican}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}% +\grechangedim{bar@maior}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}% +\grechangedim{bar@finalis}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}% +% space added before the final divisio finalis (old bar spacing algorithm only) +\grechangedim{bar@finalfinalis}{0.29169 cm plus 0.07292 cm minus 0.27345 cm}{scalable}% +% +% bars having their own syllable, with text associated (new bar spacing algorithm only) +% plus or minus here will trigger some problems +% +\grechangedim{bar@virgula@standalone@text}{0.2323 cm}{scalable}% +\grechangedim{bar@virgula@standalone@text@short}{0.19 cm}{scalable}% +\grechangedim{bar@minimis@standalone@text}{0.2323 cm}{scalable}% +\grechangedim{bar@minimis@standalone@text@short}{0.19 cm}{scalable}% +\grechangedim{bar@minima@standalone@text}{0.2323 cm}{scalable}% +\grechangedim{bar@minima@standalone@text@short}{0.19 cm}{scalable}% +\grechangedim{bar@minor@standalone@text}{0.2323 cm}{scalable}% +\grechangedim{bar@dominican@standalone@text}{0.2323 cm}{scalable}% +\grechangedim{bar@maior@standalone@text}{0.2323 cm}{scalable}% +\grechangedim{bar@finalis@standalone@text}{0.2323 cm}{scalable}% +% actual space before divisio finalis, not additional one +\grechangedim{bar@finalfinalis@standalone@text}{0.29169 cm}{scalable}% +% +% bars having their own syllable, with no text associated (new bar spacing algorithm only) +% +\grechangedim{bar@virgula@standalone@notext}{0.2 cm}{scalable}% +\grechangedim{bar@virgula@standalone@notext@short}{0.19 cm}{scalable}% +\grechangedim{bar@minimis@standalone@notext}{0.2 cm}{scalable}% +\grechangedim{bar@minimis@standalone@notext@short}{0.19 cm}{scalable}% +\grechangedim{bar@minima@standalone@notext}{0.2 cm}{scalable}% +\grechangedim{bar@minima@standalone@notext@short}{0.19 cm}{scalable}% +\grechangedim{bar@minor@standalone@notext}{0.2323 cm}{scalable}% +\grechangedim{bar@dominican@standalone@notext}{0.2323 cm}{scalable}% +\grechangedim{bar@maior@standalone@notext}{0.2323 cm}{scalable}% +\grechangedim{bar@finalis@standalone@notext}{0.2323 cm}{scalable}% +\grechangedim{bar@finalfinalis@standalone@notext}{0.29169 cm}{scalable}% +% +% minimal space between letters of different syllable texts for text around bars +% (new bar spacing algorithm only) +\grechangedim{interwordspacetext@bars}{0.18 cm}{scalable}% +% minimal space between letters of different syllable texts for text around bars, +% euouae context +\grechangedim{interwordspacetext@bars@euouae}{0.18 cm}{scalable}% +\grechangedim{interwordspacetext@bars@notext}{0.19 cm}{scalable}% +% minimal space between letters of different syllable texts for text around bars, +% euouae context +\grechangedim{interwordspacetext@bars@notext@euouae}{0.18 cm}{scalable}% +% rubber length that will be added around bars in new bar spacing algorithm +\grechangedim{bar@rubber}{0 cm plus 0.025 cm minus 0.025 cm}{scalable}% +% in the case of an alteration after a bar, the alteration will "protrude" left of this value +% think of it as some kind of moraadjustmentbar +\grechangedim{alterationadjustmentbar}{0.07 cm}{scalable}% +% additional space that will appear around bars that are preceded by a custos and followed by a key. +\grechangedim{spacearoundclefbars}{0.03645 cm plus 0.00455 cm minus 0.0009 cm}{scalable}% +% space between the text of previous syllable and text associated with a bar (old bar spacing algorithm only) +\grechangedim{textbartextspace}{0.24611 cm plus 0.13672 cm minus 0.04921 cm}{scalable}% +% minimal space between a note and a bar (old algorithm only) +\grechangedim{notebarspace}{0.31903 cm plus 0.27345 cm minus 0.02824 cm}{scalable}% +% Maximum offset between a bar and its associated text when the text goes left of the bar (new bar spacing algorithm only) +\grechangedim{maxbaroffsettextleft}{0.3 cm}{scalable}% +% Same as maxbaroffsettextleft when text goes right of the bar +\grechangedim{maxbaroffsettextright}{0.15 cm}{scalable}% +% Maximum offset between a no-bar (i.e. something like `text()` in gabc) and its associated text when the text goes left of the no-bar (new bar spacing algorithm only) +\grechangedim{maxbaroffsettextleft@nobar}{12 cm}{scalable}% +% Same as maxbaroffsettextleft@nobar when text goes right of the no-bar +\grechangedim{maxbaroffsettextright@nobar}{12 cm}{scalable}% +% Space between the two bars of a divisio finalis +% Maximum offset between a bar and its associated text when the text goes left of the bar and the bar terminates a line (i.e. something line `text(::z)` in gabc) (new bar spacing algorithm only) +\grechangedim{maxbaroffsettextleft@eol}{0.0 cm}{scalable}% +% Same as maxbaroffsettextleft@eol when text goes right of the bar +\grechangedim{maxbaroffsettextright@eol}{0 cm}{scalable}% +\grechangedim{divisiofinalissep}{0.1094 cm}{scalable}% +% +% +% maximal space between two syllables for which we consider a dash is not needed +\grechangedim{maximumspacewithoutdash}{0 cm}{scalable}% +% an extensible space for the beginning of lines +\grechangedim{afterclefnospace}{0 cm plus 0.27345 cm minus 0 cm}{scalable}% +% space between the initial and the beginning of the score +\grechangedim{afterinitialshift}{0.2 cm}{scalable}% +% space before the initial +\grechangedim{beforeinitialshift}{0.2 cm}{scalable}% +% when bolshifts are enabled, minimum space between beginning of line and first syllable text +\grechangedim{minimalspaceatlinebeginning}{0.05 cm}{scalable}% +% space to force the initial width to. Ignored when 0. +\grechangedim{manualinitialwidth}{0 cm}{scalable}% +% minimum width of the initial. Ignored when manualinitialwidth is non-zero. +\grechangedim{minimalinitialwidth}{0 cm}{scalable}% +% distance to move the initial up by +\grechangedim{initialraise}{0 cm}{scalable}% +% Space between lines in the annotation +\grechangedim{annotationseparation}{0.05 cm}{scalable}% +% Amount to raise (positive) or lower (negative) the annotations from the default position +\grechangedim{annotationraise}{-0.2 cm}{scalable}% +% Space between lines in the commentary +\grechangedim{commentaryseparation}{0.05 cm}{scalable}% +% Amount to raise (positive) or lower (negative) the commentary from the default position (base line of bottom commentary aligned with top line of staff) +\grechangedim{commentaryraise}{0.2 cm}{scalable}% +% space at the beginning of the lines if there is no clef +\grechangedim{noclefspace}{0.1 cm}{scalable}% +% space around a clef change +\grechangedim{clefchangespace}{0.27345 cm plus 0.14584 cm minus 0.01367 cm}{scalable}% +% When \gre@clivisalignment is 2, this distance is the maximum length of the consonants after vowels for which the clivis will be aligned on its center. +\grechangedim{clivisalignmentmin}{0.3 cm}{scalable}% + +%%%%%%%%%%%%%%%%%% +% vertical spaces +%%%%%%%%%%%%%%%%%% + +% the amount to shift down: +% (a) low choral signs that are not lower than the note, regardless of whether +% it's on a line or in a space +% (b) high choral signs and low choral signs that are lower than the note which +% are in a space +\grechangedim{choralsigndownshift}{0.00911 cm}{scalable}% +% the amount to shift up: +% (a) high choral signs and low choral signs that are lower than the note which +% are on a line +\grechangedim{choralsignupshift}{0.04556 cm}{scalable}% +% the space for the translation +\grechangedim{translationheight}{0.5 cm}{scalable}% +%the space above the lines +\grechangedim{spaceabovelines}{0 cm}{scalable}% +% this counter is the threshold above which we start accounting notes above +% lines for additional space above lines. For instance with a threshold of +% 2 and a staff of 4 lines, notes with a pitch of k and l will not interfere +% with the space above lines +\grechangecount{additionaltopspacethreshold}{2}% +% same, for notes taken into account for alt text vertical position +\grechangecount{additionaltopspacealtthreshold}{0}% +% same, for notes taken into account for nabc vertical position +\grechangecount{additionaltopspacenabcthreshold}{4}% +%the space between the lines and the bottom of the text +\grechangedim{spacelinestext}{0.60617 cm}{scalable}% +% the per-note additional space between lines and the bottom of the text +\grechangedim{noteadditionalspacelinestext}{0.14413 cm}{scalable}% +% this counter is the number of low notes which will add on additional distance +\grechangecount{noteadditionalspacelinestextthreshold}{2}% +%the space beneath the text +\grechangedim{spacebeneathtext}{0 cm}{scalable}% +% height of the text above the note line +\grechangedim{abovelinestextraise}{-0.1 cm}{scalable}% +% height that is added at the top of the lines if there is text above the lines (it must be bigger than the text for it to be taken into consideration) +\grechangedim{abovelinestextheight}{0.3 cm}{scalable}% +% an additional shift you can give to the brace above the bars if you don't like it +\grechangedim{braceshift}{0 cm}{scalable}% +% a shift you can give to the accentus above the curly brace +\grechangedim{curlybraceaccentusshift}{-0.05 cm}{scalable}% +% the amount to shift the over slur up +\grechangedim{overslurshift}{0.05000 cm}{scalable}% +% the amount to shift the under slur up +\grechangedim{underslurshift}{0.01000 cm}{scalable}% +% shift for a horizontal episema over a note in a low position in the space +\grechangedim{overhepisemalowshift}{0.02287 cm}{scalable}% +% shift for a horizontal episema over a note in a high position in the space +\grechangedim{overhepisemahighshift}{0.10066 cm}{scalable}% +% shift for a horizontal episema under a note in a low position in the space +\grechangedim{underhepisemalowshift}{0.02763 cm}{scalable}% +% shift for a horizontal episema under a note in a high position in the space +\grechangedim{underhepisemahighshift}{0.10981 cm}{scalable}% +% shift for a horizontal episema in the middle of a space +\grechangedim{hepisemamiddleshift}{0.07206 cm}{scalable}% +% shift for a vertical episema in a low position in the space +\grechangedim{vepisemalowshift}{-0.01262 cm}{scalable}% +% shift for a vertical episema in a high position in the space +\grechangedim{vepisemahighshift}{0.06634 cm}{scalable}% +% shift for a punctum mora for a note on a line +\grechangedim{linepunctummorashift}{-0.06314 cm}{scalable}% +% shift for a punctum mora for a note in a space +\grechangedim{spacepunctummorashift}{-0.02013 cm}{scalable}% +% shift for a punctum mora for the second note (in a space) of a pes with ambitus one +\grechangedim{spaceamonepespunctummorashift}{0.00183 cm}{scalable}% +% shift for a punctum mora for the second note in a porrectus, on a line +\grechangedim{lineporrectuspunctummorashift}{0.04575 cm}{scalable}% +% shift for a punctum mora for the second note in a porrectus, in a space +\grechangedim{spaceporrectuspunctummorashift}{0.00000 cm}{scalable}% +% shift for a rare sign +\grechangedim{raresignshift}{0.18302 cm}{scalable}% +% up-shift for a bracket +\grechangedim{bracketupshift}{0.03000 cm}{scalable}% +% down-shift for a bracket +\grechangedim{bracketdownshift}{0.04000 cm}{scalable}% +% + +%%%%%%%%%% +%% Line spacings +%%%%%%%%%% +\grechangedim{parskip}{1pt plus 1pt}{scalable}% +\grechangedim{lineskip}{0pt plus 1pt}{scalable}% +\grechangedim{baselineskip}{55pt plus 5pt minus 5pt}{scalable}% +\grechangedim{lineskiplimit}{0pt}{scalable}% |