summaryrefslogtreecommitdiff
path: root/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_internal.tex
blob: 5cc1f31924c55e4dcd1a3a4a0e3cc9d35e9c8a22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
\section{Gregorio\TeX{} Controls}

These functions are the ones used by Gregorio\TeX{} internally as it
process the commands listed above.  They should not appear in any user
document and are listed here for programmer documentation purposes
only.

\macroname{\textbackslash gre@error}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Prints an error to the \TeX\ output log.

\begin{argtable}
	\#1 & string & error message\\
\end{argtable}


\macroname{\textbackslash gre@warning}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Prints a warning to the \TeX\ output log.

\begin{argtable}
	\#1 & string & warning message\\
\end{argtable}

\macroname{\textbackslash gre@metapost}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Executes \MP{} commands using luamplib.

\begin{argtable}
	\#1 & \MP{} commands & The \MP{} commands to execute.
\end{argtable}

\macroname{\textbackslash gre@deprecated}{\#1\#2}{gregoriotex-main.tex}
Macro that handles deprecation messages. By default, deprecated macros
are allowed and a warning is printed. If the package option
\texttt{deprecated=false} is set, then deprecated macros raise a
package error, halting \TeX.

\begin{argtable}
	\#1 & string & name of the deprecated macro\\
	\#2 & string & name of the correct macro to use\\
\end{argtable}

\macroname{\textbackslash gre@obsolete}{\#1\#2}{gregoriotex-main.tex}
Macro that handles obsolescence errors.

\begin{argtable}
	\#1 & string & name of the obsolete macro\\
	\#2 & string & name of the correct macro to use\\
\end{argtable}

\macroname{\textbackslash gre@loadgregoriofont}{}{gregoriotex-main.tex}
Loads the chosen font for the neumes at the correct size.

\macroname{\textbackslash gre@calculate@constantglyphraise}{}{gregoriotex-spaces.tex}
Macro to calculate \verb=\gre@constantglyphraise=

\macroname{\textbackslash gre@addtranslationspace}{}{gregoriotex-spaces.tex}
Macro to tell Gregorio to set space for the translation.

\macroname{\textbackslash gre@removetranslationspace}{}{gregoriotexspaces.tex}
Macro to tell Gregorio to remove the space allocated to the translation.

\macroname{\textbackslash gre@calculate@additionalspaces}{\#1\#2\#3\#4}{gregoriotex-spaces.tex}
Macro which calculates \verb=\gre@additionalbottomspace= and\\
\verb=\gre@additionaltopspace=

\begin{argtable}
	\#1 & integer & the height number of the top pitch, including signs\\
	\#2 & integer & the height number of the bottom pitch, including signs\\
	\#3 & 0 & there is no translation line\\
			& 1 & there is a translation line\\
	\#4 & 0 & there is no above lines text\\
			& 1 & there is above lines text
 \end{argtable}

\macroname{\textbackslash gre@calculate@textaligncenter}{\#1\#2\#3}{gregoriotex-spaces.tex}
Macro for calculating \verb=\gre@textaligncenter=.

\begin{argtable}
	\#1 & string & The first part of the syllable (any preceding consonants in Latin).\\
	\#2 & string & The middle part of the syllable (the vowel in Latin, the whole syllable in English).\\
	\#3 & 0 & Calculation is being performed for the current syllable.\\
			& 1 & Calculation is being performed for the next syllable.\\
\end{argtable}

\macroname{\textbackslash gre@calculate@annotationtrueraise}{}{gregoriotex-spaces.tex}
Macro to calculate \verb=\gre@dimen@annotationtrueraise=.

\macroname{\textbackslash gre@calculate@textlower}{}{gregoriotex-spaces.tex}
Calculates the default value of \texttt{textlower}.  Default is \texttt{spacebeneathtext}.

\macroname{\textbackslash gre@calculate@linewidth}{}{gregoriotex-spaces.tex}
Calculates the default line width.  Default is the width of the printable space (\verb=\hsize=).

\macroname{\textbackslash gre@calculate@stafflinewidth}{}{gregoriotex-spaces.tex}
Calculates the default width of the staff lines.  Default is \texttt{linewidth}.

\macroname{\textbackslash gre@calculate@stafflineheight}{}{gregoriotex-spaces.tex}
Calculates the height (thickness) of the staff lines.  Dependent on \texttt{stafflineheightfactor} and \texttt{gre@factor}.

\macroname{\textbackslash gre@calculate@interstafflinespace}{}{gregoriotex-spaces.tex}
Calculates the distance between the staff lines.  Dependent on \texttt{stafflineheight} and \texttt{gre@factor}

\macroname{\textbackslash gre@calculate@stafflinediff}{}{gregoriotex-spaces.tex}
Calculates a correction factor for when the staff lines are not their default thickness.  Dependent on \texttt{stafflineheight} and \texttt{gre@factor}.

\macroname{\textbackslash gre@calculate@staffheight}{}{gregoriotex-spaces.tex}
Calculates the total height of the staff.  Dependent on \texttt{stafflineheight} and \texttt{interstafflinespace}.

\macroname{\textbackslash gre@calculate@constantglyphraise}{}{gregoriotex-spaces.tex}
Calculates the baseline correction for the glyphs.  Dependent on \texttt{gre@factor}, \texttt{additionalbottomspace}, \texttt{spacebeneathtext}, \texttt{spacelinestext}, \texttt{interstafflinespace}, \texttt{stafflineheight}, \texttt{currenttranslationheight}, and \texttt{stafflinediff}.

\macroname{\textbackslash gre@computespaces}{}{gregoriotex-spaces.tex}
Aggregates all of the global distance calculations and calls them in the order needed to respect dependencies.

\macroname{\textbackslash gre@calculate@glyphraisevalue}{\#1\#2}{gregoriotex-spaces.tex}
Calculates the raise values for a glyph (glyphraisevalue and addedraisevalue) based on where it is to be placed and what kind of a glyph it is.  This is a time of use calculation.

\begin{argtable}
	\#1 & integer & The number for where the glyph is located.  \texttt{a} in gabc is 1, \texttt{b} is 2, \etc\\
	\#2 & 0 & no modification\\
	& 1 & puts the value on the interline just above if it is on a line\\
	& 2 & puts the value on the interline just beneath if it is on a line\\
	& 3 & case of the vertical episemus, which is not placed at the same place if the corresponding note is on a line or not\\
	& 4 & case of the punctum mora, for the same reason\\
	& 5 & case of the horizontal episemus under a note, that must be placed a bit lower if the note is on a line\\
	& 6 & case of the signs above (accentus, \etc)\\
	& 8 & case of the punctum mora of the first note of a podatus or the 2nd note of a porrectus, \etc\\
	& 9 & case of the horizontal episemus, that must be placed a bit lower if the note is on a line\\
	& 10 & case of the low choral sign\\
	& 11 & case of the high choral sign\\
	& 12 & case of the low choral sign which is lower than the note\\
	& 13 & case of the brace above the bars
\end{argtable}

\macroname{\textbackslash gre@stafflinefactor}{}{gregoriotex-spaces.tex}
A number indicating the thickness of the staff lines.

\macroname{\textbackslash gre@scale@stafflinefactor}{}{gregoriotex-spaces.tex}
Flag indicating whether the stafflinefactor should scale with changes of grefactor (1), or not (0).

\macroname{\textbackslash gre@calculate@textaligncenter}{\#1\#2\#3}{gregoriotex-spaces.tex}
Macro to calculate the distance from the beginning of the text of a syllable to its alignment point (the center of the vowel for Latin centering, the center of the syllable for English centering).  This is a time of use calculation.

\begin{argtable}
	\#1 & string & the first part of the syllable\\
	\#2 & string & the middle part of the syllable\\
	\#3 & 0 & perform this calculation for the current syllable\\
	& 1 & perform this calculation for the next syllable
\end{argtable}

\macroname{\textbackslash gre@calculate@enddifference}{\#1\#2\#3\#4\#5}{gregoriotex-spaces.tex}
Calculates the difference between the end of the notes and the end of the syllable text.  Also stores the value for the previous syllable if needed.  This is a time of use calculation.

\begin{argtable}
	\#1 & length & the total width of the notes\\
	\#2 & length & the total width of the syllable text\\
	\#3 & length & the alignment distance for the text (\texttt{textaligncenter})\\
	\#4 & length & the alignment distance for the notes (\texttt{notesaligncenter})\\
	\#5 & 0 & do not save the value for the previous syllable before calculating the new value\\
	& 1 & save the value for the previous syllable before calculating the new value
\end{argtable}

\macroname{\textbackslash gre@changeonedimenfactor}{\#1\#2\#3}{gregoriotex-spaces.tex}
Change the scale of a single distance from one factor to another.

\begin{argtable}
	\#1 & string & name of the distance to be scaled.  See \nameref{distances}.\\
	\#2 & integer & the factor the distance is currently in\\
	\#3 & integer & the factor the distance is to be put into\\
\end{argtable}

\macroname{\textbackslash gre@changedimenfactor}{\#1\#2}{gregoriotex-spaces.tex}
Rescales all the distances (and stafflinefactor) which are supposed to scale with a change in factor.

\begin{argtable}
	\#1 & integer & the factor the distance is currently in\\
	\#2 & integer & the factor the distance is to be put into\\
\end{argtable}

\macroname{\textbackslash gre@calculate@nextbegindifference}{\#1\#2\#3\#4}{gregoriotex-spaces.tex}
Macro to calculate \texttt{nextbegindifference}.

\begin{argtable}
	\#1 & string & the first letters of the next syllable\\
	\#2 & string & the middle letters of the next syllable (the vowel in Latin, the whole syllable in English)\\
	\#3 & string & the end letters of the next syllable\\
	\#4 & $0 <$ integer $< 19$ & the type of notes alignment.  See \nameref{notesalign}.\\
	& $20 <$ integer $< 39$ & Same as below 20 except there is a flat before the notes.  Subtract 20 to get the type of notes alignment.\\
	& $40 <$ integer $< 59$ & Same as below 20 except there is a natural before the notes.  Subtract 40 to get the type of notes alignment.
\end{argtable}

\macroname{\textbackslash gre@makein}{\#1}{gregoriotex-spaces.tex}
Strips the decimals and units from a distance.

\begin{argtable}
	\#1 & distance & should be in the form ``[0-9]+.[0-9]+pt''. (\ie the result of applying \verb=\the= to a distance register)
\end{argtable}

\macroname{\textbackslash gre@makenum}{\#1}{gregoriotex-spaces.tex}
Strips the units from a distance. 

\begin{argtable}
	\#1 & distance & should be in the form ``[0-9]+.[0-9]+pt''. (\ie the result of applying \verb=\the= to a distance register)
\end{argtable}

\macroname{\textbackslash gre@unitfactor}{}{gregoriotex-spaces.tex}
Temporary count used by \verb=\gre@convertto=.

\macroname{\textbackslash gre@basefactor}{}{gregoriotex-spaces.tex}
Temporary count used by \verb=\gre@convertto=.

\macroname{\textbackslash gre@count@temp@**}{}{gregoriotex-spaces.tex}
Temporary count used in calculations.  There are currently three of these.

\macroname{\textbackslash gre@convertto}{\#1\#2}{gregoriotex-spaces.tex}
Macro which converts a distance into a particular set of units.  Result is placed in \verb=\gre@converted= as a string.

\begin{argtable}
	\#1 & string & two letter abbreviation for the units.  Should recognize all legal TeX units.\\
	\#2 & distance & Distance to be converted.
\end{argtable}

\macroname{\textbackslash gre@converted}{}{gregoriotex-spaces.tex}
Macro holding result of last call to \verb=\gre@convertto=.

\macroname{\textbackslash gre@consistentunits}{\#1\#2}{gregoriotex-spaces.tex}
This function takes a distance and formats it as a string so that its units conform to the pattern set by a string representation of a distance.  Result is placed in \verb=\gre@stringdist=.

\begin{argtable}
	\#1 & string & the standard whose format is to be matched.\\
	\#2 & distance & the distance to be adjusted.
\end{argtable}

\macroname{\textbackslash gre@stringdist}{}{gregoriotex-spaces.tex}
Macro holding result of last call to \verb=\gre@consistentunits=.

\macroname{\textbackslash gre@gregorioscore}{\#1}{gregoriotex-main.tex}
Macro that handles \verb=\gregorioscore= calls when they do not have an
optional argument.

\begin{argtable}
	\#1 & string & Relative or absolute path to the score.\\
\end{argtable}

\macroname{\textbackslash gre@gregorioscore@option}{[\#1]\#2}{gregoriotex-main.tex}
Macro that handles \verb=\gregorioscore= calls when they have an optional
argument.

\begin{argtable}
	\#1 & \texttt{n} & \#2 will be included as is. \\
			& \texttt{a} & Gregoriotex will automatically compile gabc files if necessary.\\
			& \texttt{f} & Forces gregoriotex to compile the gabc file.\\
	\#2 & string & Relative or absolute path to the score.\\
\end{argtable}

\macroname{\textbackslash gre@gabcsnippet}{\#1}{gregoriotex-main.tex}
Macro that handles \verb=\gabcsnippet= calls when they do not have an
optional argument.

\begin{argtable}
	\#1 & string & Snippet of gabc code.\\
\end{argtable}

\macroname{\textbackslash gre@gabcsnippet@option}{[\#1]\#2}{gregoriotex-main.tex}
Macro that handles \verb=\gabcsnippet= calls when they have an optional
argument.

\begin{argtable}
	\#1 & int & Value of initial style to be passed to gregorio \\
	\#2 & string & Snippet of gabc code.\\
\end{argtable}

\macroname{\textbackslash gre@writemode}{\#1}{gregoriotex-main.tex}
Macro that writes its argument with \verb=\greannotation=. The
argument typically is given to this macro by \verb=\GreMode= in the
gtex file.

\begin{argtable}
	\#1 & string & Text to place above the initial of a score.\\
\end{argtable}

\macroname{\textbackslash gre@brace@common}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-signs.tex}
Common macro used internally to render braces.

\begin{argtable}
	\#1 & length  & The width of the brace.\\
	\#2 & length  & A vertical shift.\\
	\#3 & length  & A horizontal shift.\\
	\#4 & 0       & Don't shift before starting the brace.\\
			& 1       & Shift back a punctum's width before starting the brace.\\
	\#5 & 0       & No accentus above the brace.\\
			& 1       & Typeset an accentus above the brace.\\
	\#6 & integer & The height number for the brace.\\
	\#7 & csname  & The control sequence name representing the brace.
\end{argtable}

\macroname{\textbackslash grebracemetapostpreamble}{\#1}{gregoriotex-signs.tex}
Returns the \MP{} preamble for braces.  The control sequence name does
not have the \texttt{@} symbol because this macro is used within \MP{}.

\begin{argtable}
	\#1 & string & the width of the brace; if \texttt{*}, use the bar brace width.
\end{argtable}

\macroname{\textbackslash gre@draw@curlybrace}{\#1}{gregoriotex-signs.tex}
Draws a curly over-brace using \MP{}.

\begin{argtable}
	\#1 & length & the width of the brace.
\end{argtable}

\macroname{\textbackslash gre@draw@brace}{\#1}{gregoriotex-signs.tex}
Draws a round over-brace using \MP{}.

\begin{argtable}
	\#1 & string & the width of the brace; if \texttt{*}, use the bar brace width.
\end{argtable}

\macroname{\textbackslash gre@draw@underbrace}{\#1}{gregoriotex-signs.tex}
Draws a round under-brace using \MP{}.

\begin{argtable}
	\#1 & length & the width of the brace.
\end{argtable}

\macroname{\textbackslash gre@draw@roundbrace}{\#1}{gregoriotex-signs.tex}
Draws a round over- or under-brace using \MP{}.

\begin{argtable}
	\#1 & length         & the width of the brace.\\
	\#2 & number         & the height of the bounding box in em-relative units.\\
	\#3 & \MP{} commands & \MP{} commands to draw the brace outline.
\end{argtable}

\macroname{\textbackslash gre@iflatex}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Evaluates to \verb=#1= if running under \LaTeX{}.

\begin{argtable}
	\#1 & \TeX{} code & the \TeX{} code to use if running under \LaTeX{}.
\end{argtable}

\macroname{\textbackslash gre@latex@barredsymbol}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
Internal method used by \verb=\grelatexsimpledefarredsymbol= to simplify
the cascading of conditionals used to implement that macro.

\bigskip\textbf{Only available in \LaTeX.}

\begin{argtable}
	\#1 & string      & the value of \verb=\f@series/\f@shape= to match.\\
	\#2 & \TeX{} code & the \TeX{} for the base symbol (\ie, \texttt{A}, \texttt{R}, or \texttt{V}).\\
	\#3 & string      & the control sequence name created by \verb=\gredefsizedsymbol= to use for the bar.\\
	\#4 & dimension   & the amount to shift the bar to the left from the end of the base symbol.
\end{argtable}

\macroname{\textbackslash gre@additionalbottomcustoslineend}{}{gregoriotex-signs.tex}
Macro to place a bottom custos with an additional line (positions \texttt{a} and \texttt{b}) at the end of a line.

\macroname{\textbackslash gre@additionalbottomcustoslinemiddle}{}{gregoriotex-signs.tex}
Macro to place a bottom custos with an additional line (positions \texttt{a} and \texttt{b}) in the middle of a line.

\macroname{\textbackslash gre@additionaltopcustoslineend}{}{gregoriotex-signs.tex}
Macro to place a top custos with an additional line (positions \texttt{l} and \texttt{m}) at the end of a line.

\macroname{\textbackslash gre@additionaltopcustoslinemiddle}{}{gregoriotex-signs.tex}
Macro to place a top custos with an additional line (positions \texttt{l} and \texttt{m}) in the middle of a line.

\macroname{\textbackslash gre@pickcustos}{\#1}{gregoriotex-signs.tex}
Macro to pick the appropriate custos character.

\begin{argtable}
	\#1 & integer & height of the custos character to be placed\\
\end{argtable}

\macroname{\textbackslash gre@addspaceabove}{}{gregoriotex-main.tex}
Macro to increase the space above the lines to account for above lines text.

\macroname{\textbackslash gre@removespaceabove}{}{gregoriotex-main.tex}
Macro to decrease the space above the lines as there is no longer any above lines text.

\macroname{\textbackslash gre@alteration}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
Macro to typeset an alteration.

\begin{argtable}
	\#1 & integer & height of the alteration\\
	\#2 & character alias & the alteration\\
	\#3 & character alias & the hole of the alteration\\
	\#4 & 1 & the alteration is a flat for a key change\\
	& 0 & all other cases\\
\end{argtable}

\macroname{\textbackslash gre@calculate@clefnum}{\#1\#2}{gregoriotex-signs.tex}
Macro calculating the \verb=\gre@clefnum= from the letter and number.

\begin{argtable}
	\#1 & charcter & type of clef (\texttt{c} or \texttt{f})\\
	\#2 & integer & line number\\
\end{argtable}

\macroname{\textbackslash gre@clefnum}{}{gregoriotex-signs.tex}
Count holding the current clef number.

\macroname{\textbackslash gre@clefflat}{}{gregoriotex-signs.tex}
Macro to hold the height of the current flat for the clef (\texttt{a} if no flat).

\macroname{\textbackslash gre@updatelinesclef}{}{gregoriotex-signs.tex}
Macro redrawing a key from \verb=\gre@clefnum=, useful for vertical space changes.

\macroname{\textbackslash gre@currenttextabovelines}{}{gregoriotex-main.tex}
Macro for storing the text which needs to be placed above the lines.

\macroname{\textbackslash gre@typesettextabovelines}{\#1}{gregoriotex-main.tex}
Macro for typesetting the text above the lines.

\macroname{\textbackslash gre@dotranslationcenterend}{}{gregoriotex-main.tex}
Macro to typeset a centered translation.

\macroname{\textbackslash gre@drawfirstlines}{}{gregoriotex-main.tex}
Macro to draw the first set of lines in a score (when shortened by an initial).

\macroname{\textbackslash gre@generatelines}{}{gregoriotex-main.tex}
Macro to (re)populate the box containing the lines.

\macroname{\textbackslash gre@updatelinewidth}{}{gregoriotex-main.tex}
Macro to shorten the lines to account for the presence of the initial.

\macroname{\textbackslash gre@knownline}{}{gregoriotex-main.tex}
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 0 (we are not near the end of a line), 1 (we're at the last syllable of the line), and 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}{gregoriotex-main.tex}
The macro which needs to be called each time a new lines is started.

\begin{argtable}
	\#1 & 0 & Justifying the line being ended\\
	& 1 & Do not justify the line being ended\\
\end{argtable}

\macroname{\textbackslash gre@endafterbar}{\#1}{gregoriotex-main.tex}
Macro to call after ending a bar.

\begin{argtable}
	\#1 & 0 & We are at the end of a line\\
	& 1 & We not at the end of a line\\
\end{argtable}

\macroname{\textbackslash gre@endofsyllable}{\#1\#2\#3}{gregoriotex-syllable.tex}
Macro called at end of a syllable, adds a penalty and a space.

\begin{argtable}
	\#1 & 0 & to only add the penalty\\
	& 1 & otherwise\\
	\#2 & 0 & if end of syllable\\
	& 1 & if end of word\\
	\#3 & 1 & if next syllable is a bar\\
	& 0 & otherwise\\
\end{argtable}

\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.

Default: 17 (approximately the size found in graduals)

\macroname{\textbackslash gre@fillhole}{\#1}{gregoriotex-signs.tex}
Macro to fill the hole in a glyph so that staff lines do not show through a hole in it.

\begin{argtable}
	\#1 & Gregorio\TeX\ char & character to use to fill the hole\\
\end{argtable}

\macroname{\textbackslash gre@calculate@notesaligncenter}{\#1}{gregoriotex-syllable.tex}
Macro to find the alignment center for a group of notes.  The value is the distance from the left edge of the group to the alignment point and is stored in \verb=\gre@dimen@notesaligncenter=.

\begin{argtable}
	\#1 & Note alignment type & See \ref{notesalign}\\
\end{argtable}

\macroname{\textbackslash gre@calculate@nextnotesaligncenter}{\#1}{gregoriotex-syllable.tex}
Same as previous, but for the next syllable.

\begin{argtable}
	\#1 & Note alignment type & See \ref{notesalign}\\
\end{argtable}

\macroname{\textbackslash gre@calculate@simplenotesaligncenter}{\#1\#2}{gregoriotex-syllable.tex}
Workhorse function behind \verb=\gre@calculate@notesaligncenter= and \verb=\gre@calculate@nextnotesaligncenter=.

\begin{argtable}
	\#1 & Note alignment type & See \ref{notesalign}\\
	\#2 & 0 & this is for the current syllable\\
	& 1 & this is for the next syllable\\
\end{argtable}

\macroname{\textbackslash gre@gregoriofontname}{}{gregoriotex-main.tex}
Macro which stores the name of the currently selected font for the neumes.

\macroname{\textbackslash gre@handleclivisspecialalignment}{\#1\#2\#3}{gregoriotex-syllable.tex}
Macro for aligning clivis syllables according to the flag \verb=\gre@clivisalignment=.

\begin{argtable}
	\#1 & Gregorio\TeX\ glyph & Glyph to use when aligning clivis on its center\\
	\#2 & Gregorio\TeX\ glyph & Glyph to use when aligning clivis on the center of the first punctum\\
	\#3 &  0 & this is for the current syllable\\
	& 1 & this is for the next syllable\\
\end{argtable}

\macroname{\textbackslash gre@hepisorline}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
Macro to typeset a horizontal line (either an additional staff line or an episemus).

\begin{argtable}
	\#1 & character & The letter of the height of the episemus (not the height of the note it corresponds to).\\
	\#2 & 0 & go back to the beginning of the previous glyph; this starts the episemus at the beginning of the previous glyph\\
	& 1 & stay at the end of the glyph; doesn't make much sense to use this\\
	& 2 & go back the width of \#1; this starts the episemus at the glyph from the end that starts at \#1's width from the end\\
	& 3 & go back to the beginning of the previous glyph and then forward the width of \#1; this starts the episemus at the glyph from the start that starts just after \#1's width from the start\\
	\#3 & integer &the ambitus for a two note episemus at the diagonal stroke of a porrectus, porrectus flexus, orculus resupinus, or torculus resupinus flexus\\
	\#4 & 0 & an horizontal episemus\\
	& 1 & an horizontal episemus under a note\\
	& 3 & a line at the bottom\\
	& 2 & a line at the top\\
	\#5 & f & a normal episemus\\
	& l & a small episemus aligned left\\
	& c & a small episemus aligned center\\
	& r & for a small episemus aligned right\\
\end{argtable}

\macroname{\textbackslash gre@hepisorlineaux}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
Macro that will help in the typesetting of a horizontal episemus and additional lines.

\begin{argtable}
	\#1 & Gregorio\TeX\ glyph & an offset glyph (see \#3, below)\\
	\#2 & Gregorio\TeX\ glyph & the episemus glyph\\
	\#3 & 0 & go back to the beginning of the previous glyph; this starts the  episemus at the beginning of the previous glyph\\
	& 1 & stay at the end of the glyph; doesn't make much sense to use this\\
	& 2 & go back the width of \#1; this starts the episemus at the glyph from the end that starts at \#1's width from the end\\
	& 3 & go back to the beginning of the previous glyph and then forward the width of \#1; this starts the episemus at the glyph from the start that starts just after \#1's width from the start\\
	\#4 & 0 & an horizontal episemus\\
	& 1 & an horizontal episemus under a note\\
	& 3 & a line at the bottom\\
	& 2 & a line at the top\\
\end{argtable}

\macroname{\textbackslash gre@vepisemusorrare}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
Macro to typeset a vertical episemus or a rare accent (like accentus, circulus, etc.).  This function must be called after a call to \verb=\GreGlyph=.

\begin{argtable}
	\#1 & character & the letter of the height of the episemus (not the height of the note it corresponds to.\\
	\#2 & integer & See \nameref{EpisemusSpecial}\\
	\#3 & Gregorio\TeX\ glyph & the sign glyph\\
	\#4 & 1 & vertical episemus\\
	& 2 & rare sign\\
	& 3 & choral sign\\
	& 4 & brace above the bar\\
	\#5 & string & the choral sign, if relevant\\
\end{argtable}

\macroname{\textbackslash gre@vepisemusorrareaux}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-signs.tex}
Macro to help typesetting vertical episemus.

\begin{argtable}
	\#1 & Gregorio\TeX\ glyph & is an offset glyph (see \#3 below)\\
	\#2 & Gregorio\TeX glyph & the glyph upon which the sign is to be centered\\
	\#3 & 0 & go back to the beginning of the previous glyph and then forward half the width of \#2; this puts the sign at the beginning of the previous glyph, whose first note is the size of \#2\\
	& 1 & go back half the width of \#2; this puts the sign at the end of the previous glyph, whose last note is the size of \#2\\
	& 2 & go back the width of \#1 and then forward half the width of \#2; this puts the sign at the glyph from the end that starts at \#1's width from the end\\
	& 3 & go back to the beginning of the previous glyph and then forward the width of \#1 and then back half the width of \#2; this puts the sign at the glyph from the start that ends at \#1's width from the start\\
	\#4 & dimension & a shift that we want to get applied, useful for punctum inclinatum for example\\
	\#5 & integer & is the glyph number\\
	\#6 & 1 & vertical episemus\\
	& 2 & rare sign\\
	& 3 & choral sign\\
	& 4 & brace above the bar\\
	\#7 & string & the choral sign if relevant\\
\end{argtable}

\macroname{\textbackslash gre@newglyphcommon}{}{gregoriotex-syllable.tex}
Macro called before each glyph.

\macroname{\textbackslash gre@normalinitial}{}{gregoriotex-main.tex}
Macro called at the end of the score to ensure that a big initial setting doesn't carry into the next score.

\macroname{\textbackslash greoldcatcode}{}{gregoriotex.tex}
Macro to store the catcode for ``\@'' so that we can use said symbol in function names under Plain\TeX\ and then restore the original catcode after the package is done loading.

\macroname{\textbackslash gre@setstylefont}{}{gregoriotex-main.tex}
Macro for opening up greextra font.

\macroname{\textbackslash gre@syllablenotes}{\#1}{gregoriotex-syllable.tex}
Macro for populating \verb=\gre@box@syllablenotes=.

\begin{argtable}
	\#1 & string & The contents to be placed in the box\\
\end{argtable}

\macroname{\textbackslash gre@symbolfontsize}{}{gregoriotex-symbols.tex}
The font size at which symbols are to be loaded.

\macroname{\textbackslash gre@textnormal}{\#1}{gregoriotex-syllable.tex}
Macro which applies the default text format.

\macroname{\textbackslash gre@typekey}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
Macro which typesets the key.

\begin{argtable}
	\#1 & character & the type of the key: c or f\\
	\#2 & integer & the line of the key (1 is the lowest)\\
	\#3 & 0 & no need to use small key characters (inside a line)\\
	& 1 & we must use small key characters (inside a line)\\
	\#4 & 0 & no extra space is needed after the key\\
	& 1 & we must type a space after the key\\
	\#5 & integer & if 3, it means that we must not put a flat after the key, otherwise it's the height of the flat\\
\end{argtable}	

\macroname{\textbackslash gre@updateleftbox}{}{gregoriotex-main.tex}
Macro to update the box printed a the left end of every line (the one which holds the staff lines).

\macroname{\textbackslash gre@usestylecommon}{}{gregoriotex-signs.tex}
Macro which specifies the alternate glyphs which are common to all of the styles.

\macroname{\textbackslash gre@widthof}{\#1}{gregoriotex-main.tex}
Macro for calculating the width of its argument and storing it in \verb=\gre@dimen@temp@three=.

\macroname{\textbackslash gre@writebar}{\#1\#2\#3}{gregoriotex-signs.tex}
Macro to write a bar.

\begin{argtable}
	\#1 & 0 & virgula\\
	& 1 & minima\\
	& 2 & minor\\
	& 3 & major\\
	& 4 & finalis\\
	& 5 & the last finalis\\
	\#2 & 0 & in a syllable containing only this bar\\
	& 1 & in a syllable containing other notes\\
	\#3 & \TeX\ code & macros that may happen before the skip after the bar (typically GreVEpisemus)\\
\end{argtable}

\macroname{\textbackslash gre@@arg}{}{gregoriotex-syllable.tex}
A dummy macro which is used to store a macro which takes an argument so that it can be used in a \verb=\ifx= comparison.  The value of the argument is provided at the time this macro is created.

\macroname{\textbackslash gre@nothing}{}{gregoriotex-main.tex}
A dummy macro which has not contents.  Used for \verb=\ifx= comparisons.

\macroname{\textbackslash gre@annotation}{[\#1]\#2}{gregoriotex-main.tex}
Workhorse function behind \verb=\greannotation=.

\begin{argtable}
	\#1 & \texttt{c} & center align the new line with the existing annotation content\\
	& \texttt{l} & left align the new line with the existing annotation content\\
	& \texttt{r} & right align the new line with the existing annotation content\\
	\#2 & string & the new annotation content\\
\end{argtable}

\macroname{\textbackslash gre@atletter}{}{gregoriotex-main.tex}
A Lua\TeX\ catcode table which makes sure that Lua\TeX\ treats `@' corectly.

\macroname{\textbackslash gre@baseunit}{}{gregoriotex-spaces.tex}
The units attached to base dimension in a string distance.  These units are extracted as part of coercing one distance to have the same units as another (\verb=\gre@consistentunits=).

\macroname{\textbackslash gre@stretchunit}{}{gregoriotex-spaces.tex}
The units attached to stretch dimension in a string distance.  These units are extracted as part of coercing one distance to have the same units as another (\verb=\gre@consistentunits=).

\macroname{\textbackslash gre@shrinkunit}{}{gregoriotex-spaces.tex}
The units attached to shrink dimension in a string distance.  These units are extracted as part of coercing one distance to have the same units as another (\verb=\gre@consistentunits=).

\macroname{\textbackslash gre@bug}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Macro for raising a bug error when some calculation goes awry and comes up with a non-sensical result.  Generally will be found in Lua code, not \TeX\ code.

\macroname{\textbackslash gre@changestyle}{\#1\#2[\#3]}{gregoriotex.sty \textup{and} gregoriotex.tex}
Workhorse function behind \verb=\grechangestyle=.  Necessary because the internals of the definition are slightly different in \LaTeX\ and Plain\TeX.

\macroname{\textbackslash gre@compute@bolshift}{\#1\#2}{gregoriotex-spaces.tex}
Macro used in \verb=\GreSyllable=. Sets \verb=\gre@skip@bolshift= to the left kern that should appear at the beginning of a line in case of a forced linebreak.  The goal of this left kern is to have all lines aligned on notes.

\begin{argtable}
	\#1 & dimension & \verb=\gre@dimen@begindifference= of the first syllable of the line\\
	\#2 & 0 & No need to worry about a Lua\TeX\ bug\\
	& 1 & Apply correction for Lua\TeX\ bug\\
\end{argtable}

\macroname{\textbackslash gre@compute@eolshift}{\#1}{gregoriotex-spaces.tex}
Macro used in \verb=\GreSyllable=. Sets \verb=\gre@skip@eolshift= to the left kern that
should appear before an end of line. The improvement is tiny: when
text go further than notes in the last syllable of a line, the idea
is to allow text to go a bit further right, under the custos.
\verb=\gre@skip@eolshift= should be called at the end of the last syllable of the
line, just before the linebreak penalty, so that LaTeX believes the
line is a bit shorter, and expands it more.

\begin{argtable}
	\#1 & dimension & The \verb=\gre@dimen@enddifference= of the corresponding syllable\\
\end{argtable}

\macroname{\textbackslash gre@compute@syllablefinalskip}{\#1\#2}{gregoriotex-spaces.tex}
Macro computing the skip at the end of the syllable.

\begin{argtable}
	\#1 & 0 & if end of syllable\\
	& 1 & if end of word\\
	\#2 & 0 & if next syllable is normal\\
	& 1 & if it's a bar\\
\end{argtable}

\macroname{\textbackslash gre@convert}{}{gregoriotex-spaces.tex}
Macro to hold the original distance which is to be scaled by \verb=\gre@changeonedimenfactor=

\macroname{\textbackslash gre@debug}{}{gregoriotex.sty \textup{and} gregoriotex.tex}
Macro to hold the list of debug messages which should be designated as printing.

\macroname{\textbackslash gre@debugmsg}{\#1\#2}{gregoriotex-main.tex}
Macro to print debugging messages.

\begin{argtable}
	\#1 & string & The category of the message (used in conjunction with \verb=\gre@debug= to determine whether to print the message or not\\
	\#2 & string & The debug message\\
\end{argtable}

\macroname{\textbackslash gre@declarefileversion}{\#1\#2}{gregoriotex-main.tex}
Macro which checks for version consistency between Gregorio\TeX\ files.

\begin{argtable}
	\#1 & string & name of the current file\\
	\#2 & string & version of the current file\\
\end{argtable}

\macroname{\textbackslash gre@def@char@he}{\#1\#2}{gregoriotex-chars.tex}
Macro for defining the various types of horizontal episema.

\begin{argtable}
	\#1 & string & name of the horizontal episemus to be defined\\
	\#2 & string & Camel case name of horizontal episemus to be defined\\
\end{argtable}

\macroname{\textbackslash gre@def@char@he@porr}{\#1\#2}{gregoriotex-chars.tex}
Macro for defining the various types of horizontal episema porrectus.

\begin{argtable}
	\#1 & string & name of the horizontal episemus porrectus to be defined\\
	\#2 & string & Camel case name of horizontal episemus porrectus to be defined\\
\end{argtable}

\macroname{\textbackslash gre@char@cavum}{\#1\#2\#3\#4\#5\#6\#7\#8}{gregoriotex-signs.tex}
Macro to typeset a "cavum" character.

\begin{argtable}
	\#1 & length  & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
	\#2 & length  & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
	\#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
	\#4 & \TeX\ code    & Macros executed before the punctum cavum is written.\\
	\#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
	\#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.\\
	\#7 & control sequence & The control sequence for the glyph.\\
	\#8 & control sequence & The control sequence for the hole glyph.
\end{argtable}

\macroname{\textbackslash gre@get@spaceskip}{\#1}{gregoriotex-signs.tex}
Loads \verb=\gre@skip@temp@four= with the appropriate rubber length given the
desired case.

\begin{argtable}
	\#1 & 0 & Default space.\\
			& 1 & Zero-width space.\\
			& 2 & Space between flat or natural and a note.\\
			& 3 & Space between two puncta inclinata.\\
			& 4 & Space between bivirga or trivirga.\\
			& 5 & space between bistropha or tristropha.\\
			& 6 & Space after a punctum mora XXX: not used yet, not so sure it is a good idea\ldots\\
			& 7 & Space between a punctum inclinatum and a punctum inclinatum debilis.\\
			& 8 & Space between two puncta inclinata debilis.\\
			& 9 & Space before a punctum (or something else) and a punctum inclinatum.\\
			& 10 & Space between puncta inclinata (also debilis for now), larger ambitus (range=3rd).\\
			& 11 & Space between puncta inclinata (also debilis for now), larger ambitus (range=4th or more).\\
\end{argtable}

\macroname{\textbackslash gre@nabcfontname}{}{gregoriotex-main.tex}
Macro which stores the name of the currently selected font for \texttt{nabc}.

\macroname{\textbackslash gre@nabcfontsize}{}{gregoriotex-main.tex}
Macro which stores the size of the currently selected font for \texttt{nabc}.

\macroname{\textbackslash gre@endsyllablepart}{}{gregoriotex-syllable.tex}
Macro which stores the end part of the current syllable (that which comes after the alignment part).

\macroname{\textbackslash gre@firstsyllablepart}{}{gregoriotex-syllable.tex}
Macro which stores the first part of the current syllable (that which comes before the alignment part).

\macroname{\textbackslash gre@middlesyllablepart}{}{gregoriotex-syllable.tex}
Macro which stores the middle part of the current syllable (the part which aligns with the notes).

\macroname{\textbackslash gre@nextendsyllablepart}{}{gregoriotex-syllable.tex}
Macro which stores the end part of the next syllable (that which comes after the alignment part).

\macroname{\textbackslash gre@nextfirstsyllablepart}{}{gregoriotex-syllable.tex}
Macro which stores the first part of the next syllable (that which comes before the alignment part).

\macroname{\textbackslash gre@nextmiddlesyllablepart}{}{gregoriotex-syllable.tex}
Macro which stores the middle part of the next syllable (the part which aligns with the notes).

\macroname{\textbackslash gre@fixedtextformat}{\#1}{gregoriotex-syllable.tex}
A macro which applies formatting that needs to apply to the whole syllable (rather than the parts individually) for the current syllable.  Necessary to preserve ligatures across parts within a syllable.

\begin{argtable}
	\#1 & string & The syllable (usually built as \verb=\gre@firstsyllablepart\gre@middlesyllablepart\gre@endsyllablepart=\\
\end{argtable}

\macroname{\textbackslash gre@fixednexttextformat}{\#1}{gregoriotex-syllable.tex}
A macro which applies formatting that needs to apply to the whole syllable (rather than the parts individually) for the next syllable.  Necessary to preserve ligatures across parts within a syllable.

\begin{argtable}
	\#1 & string & The syllable (usually built as \verb=\gre@nextfirstsyllablepart\gre@nextmiddlesyllablepart\gre@nextendsyllablepart=\\
\end{argtable}

\macroname{\textbackslash gre@gabcname}{}{gregoriotex-main.tex}
Macro which holds the point-and-click file name.

\macroname{\textbackslash gre@gregoriotexluaversion}{}{gregoriotex-main.tex}
Macro to hold the version number of \emph{gregoriotex.lua} so that it can be checked for consistency.

\macroname{\textbackslash gre@gregorioversion}{}{gregoriotex-main.tex}
Macro to hold the version number of Gregorio\TeX\ so that it can be checked for consistency.

\macroname{\textbackslash gre@leftfill}{}{gregoriotex-main.tex}
Macro set to \verb=\hfil= or \verb=\relax= depending on alignment choices.

\macroname{\textbackslash gre@rightfill}{}{gregoriotex-main.tex}
Macro set to \verb=\hfil= or \verb=\relax= depending on alignment choices.

\macroname{\textbackslash gre@mark@abovelinestext}{}{gregoriotex-main.tex}
Macro to set the point-and-click position for above lines text.

\macroname{\textbackslash gre@mark@translation}{}{gregoriotex-main.tex}
Macro to set the point-and-click position for translations.

\macroname{\textbackslash gre@pitch@[a-p]}{}{gregoriotex-main.tex}
Macros which map gabc pitch letters (the final part of the macro name) to the numerical value that Gregorio\TeX\ uses in processing note placement.

\macroname{\textbackslash gre@pitch@adjust@top}{}{gregoriotex-main.tex}
If any note appears above this pitch, the space above the lines must be adjusted to account for it.

\macroname{\textbackslash gre@pitch@adjust@bottom}{}{gregoriotex-main.tex}
If any note appears below this pitch, the space below the lines must be adjusted to account for it.

\macroname{\textbackslash gre@pointandclick}{\#1\#2}{gregoriotex-main.tex}
Macro to generate the point-and-click links.

\begin{argtable}
	\#1 & \TeX\ code & the entity which is to contain the link\\
	\#2 & link target & line:char:column for the link\\
\end{argtable}

\macroname{\textbackslash gre@prefix}{}{gregoriotex-spaces.tex}
Either ``skip'' or ``dimen'' according to the distance being set or changed at the given moment.

\macroname{\textbackslash gre@rubberpermit}{\#1}{gregoriotex-spaces.tex}
Determines whether the given distance is allowed to take a rubber length.

\begin{argtable}
	\#1 & string & the name of the distance to check\\
\end{argtable}

\macroname{\textbackslash gre@setgregoriofont}{[\#1]\#2}{gregoriotex-main.tex}
Workhorse function behind \verb=\gresetgregoriofont=.

\begin{argtable}
	\#1 & \textit{(omitted)} & Use the normal font and rule set (default).\\
			& op                 & Use the alternate Dominican font/rule set.\\
	\#2 & greciliae          & Use the Greciliae font (default).\\
			& gregorio           & Use the Gregorio font.\\
			& parmesan           & Use the Parmesan font.\\
\end{argtable}

\macroname{\textbackslash gre@syllable@end}{\#1\#2\#3}{gregoriotex-syllable.tex}
Macro to make a few checks and call the right macros between \verb=\endbeforebar, \endofword, \endofsyllable=.

\begin{argtable}
	\#1 & & next syllable type (\#7 of \verb=\GreSyllable=)\\
	\#2 & string & next syllable text\\
	\#3 & 0 & this syllable is not the end of a word\\
	& 1 & this syllable is the end of a word\\
\end{argtable}

\macroname{\textbackslash gre@typeout}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Macro which points to \verb=\typeout= in \LaTeX\ or \verb=\message= in Plain\TeX.

\macroname{\textbackslash gre@unsetfixedtextformat}{}{gregoriotex-syllable.tex}
Macro which changes \verb=\gre@fixedtextformat= back to normal text.

\macroname{\textbackslash gre@unsetfixednexttextformat}{}{gregoriotex-syllable.tex}
Macro which changes \verb=\gre@fixednexttextformat= back to normal text.

\macroname{\textbackslash gregoriotex@symbols@loaded}{}{gregoriotex-symbols.tex}
Empty macro which is used to determine if the symbols have been loaded and prevent loading them again if they have.

\macroname{\textbackslash gre@hskip}{}{gregoriotex-signs.tex}
Alias for \verb=\hskip= or \verb=\kern=.  We use this rather than those functions directly so that the same element can appear in discretionaries where \verb=\kern= is allowed but \verb=\hskip= is not by simply changing the assignment of this macro when we enter one.

\macroname{\textbackslash gre@localleftbox}{}{gregoriotex-main.tex}
Alias for \verb=\luatexlocalleftbox=.

\macroname{\textbackslash gre@localrightbox}{}{gregoriotex-main.tex}
Alias for \verb=\luatexlocalrightbox=.

\macroname{\textbackslash gre@resizebox}{}{gregoriotex-main.tex}
Alias for \verb=\resizebox=.

\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.

\macroname{\textbackslash gre@gaux}{}{gregoriotex-main.tex}
The handle for the auxiliary file.

\macroname{\textbackslash gre@open@gaux}{}{gregoriotex-main.tex}
Macro for opening the auxiliary file.

\macroname{\textbackslash gre@close@gaux}{}{gregoriotex-main.tex}
Macro for closing the auxiliary file.

\macroname{\textbackslash gre@write@gaux}{\#1}{gregoriotex-main.tex}
Macro for writing the auxiliary file.

\begin{argtable}
	\#1 & string & contents to be written to the auxiliary file\\
\end{argtable}


\subsection{Fonts}
Gregorio\TeX\ loads a number of fonts which are referred to by the following macros.

\macroname{\textbackslash gre@font@music}{}{gregoriotex-main.tex}
The font for the neumes.

\macroname{\textbackslash gre@font@style}{}{gregoriotex-main.tex}
The font for some of the extra characters, such as the bar for barred letters.

\macroname{\textbackslash gre@font@nabc}{}{gregoriotex-nabc.tex}
The font for ancient notation.

\macroname{\textbackslash gre@font@biginitial}{}{gregoriotex.tex}
The font for the default big initial format in Plain\TeX.

\macroname{\textbackslash gre@font@initial}{}{gregoriotex.tex}
The font for the default initial format in Plain\TeX.


\subsection{Character Reference Aliases}
To make referencing and changing them easier, Gregorio\TeX\ stores reference information for certain characters using the following macros.

\macroname{\textbackslash gre@fontchar@abovebarbrace}{}{gregoriotex-chars.tex}
The above bar brace.

\macroname{\textbackslash gre@fontchar@flat}{}{gregoriotex-chars.tex}
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@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@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@punctumcavum}{}{gregoriotex-signs.tex}
The punctum cavum character.

\macroname{\textbackslash gre@fontchar@punctumcavumhole}{}{gregoriotex-signs.tex}
The punctum cavum hole character (\ie, the character needed to prevent lines from showing through the center of the punctum cavum).

\macroname{\textbackslash gre@fontchar@lineapunctumcavum}{}{gregoriotex-signs.tex}
The linea punctum cavum character.

\macroname{\textbackslash gre@fontchar@lineapunctumcavumhole}{}{gregoriotex-signs.tex}
The linea punctum cavum hole character (\ie, the character needed to prevent lines from showing through the center of the linea punctum cavum).

\macroname{\textbackslash gre@fontchar@incclef}{}{gregoriotex-chars.tex}
The \texttt{c}-clef which appears in the middle of a line.

\macroname{\textbackslash gre@fontchar@infclef}{}{gregoriotex-chars.tex}
The \texttt{f}-clef which appears in the middle of a line.

\macroname{\textbackslash gre@fontchar@cclef}{}{gregoriotex-chars.tex}
The \texttt{c}-clef which appears at the beginning of a line.

\macroname{\textbackslash gre@fontchar@fclef}{}{gregoriotex-chars.tex}
The \texttt{f}-clef which appears at the beginning of a line.

\macroname{\textbackslash gre@fontchar@punctum}{}{gregoriotex-chars.tex}
The punctum character.

\macroname{\textbackslash gre@fontchar@punctummora}{}{gregoriotex-chars.tex}
The punctum mora character.

\macroname{\textbackslash gre@fontchar@underbrace}{}{gregoriotex-signs.tex}
The under brace character.

\macroname{\textbackslash gre@fontchar@verticalepisemus}{}{gregoriotex-chars.tex}
The vertical episemus character.

\macroname{\textbackslash gre@fontchar@brace}{}{gregoriotex-signs.tex}
The (rounded) brace character.

\macroname{\textbackslash gre@fontchar@curlybrace}{}{gregoriotex-signs.tex}
The curly brace character.

\macroname{\textbackslash gre@fontchar@custosbottomlong}{}{gregoriotex-chars.tex}
The custos character with a long upwards directed vigra.

\macroname{\textbackslash gre@fontchar@custosbottommiddle}{}{gregoriotex-chars.tex}
The custos character with a middle upwards directed vigra.

\macroname{\textbackslash gre@fontchar@custosbottomshort}{}{gregoriotex-chars.tex}
The custos character with a short upwards directed vigra.

\macroname{\textbackslash gre@fontchar@custostoplong}{}{gregoriotex-chars.tex}
The custos character with a long downwards directed vigra.

\macroname{\textbackslash gre@fontchar@custostopmiddle}{}{gregoriotex-chars.tex}
The custos character with a middle downwards directed vigra.

\macroname{\textbackslash gre@fontchar@custostopshort}{}{gregoriotex-chars.tex}
The custos character with a short downwards directed vigra.

\macroname{\textbackslash gre@fontchar@divisiofinalis}{}{gregoriotex-signs.tex}
The divisio finalis.

\macroname{\textbackslash gre@fontchar@divisiomaior}{}{gregoriotex-signs.tex}
The divisio maior.

\macroname{\textbackslash gre@char@normalhyphen}{}{gregoriotex-main.tex}
A normal hyphen in the text font.

\macroname{\textbackslash gre@char@fuse@debilis}{}{gregoriotex-chars.tex}
A fused character consisting of a leading punctum initio debilis (of ambitus one) and a regular punctum.

\macroname{\textbackslash gre@char@fuse@oriscus@one}{}{gregoriotex-chars.tex}
A fused character consisting of a leading oriscus (of ambitus one) and a regular punctum.

\macroname{\textbackslash gre@char@fuse@oriscus@two}{}{gregoriotex-chars.tex}
A fused character consisting of a leading oriscus (of ambitus two) and a regular punctum.

\macroname{\textbackslash gre@char@fuse@punctum@one}{}{gregoriotex-chars.tex}
A fused character consisting of a leading punctum (of ambitus one) and a regular punctum.

\macroname{\textbackslash gre@char@fuse@punctum@two}{}{gregoriotex-chars.tex}
A fused character consisting of a leading punctum (of ambitus two) and a regular punctum.

\macroname{\textbackslash gre@char@fuse@quilisma@one}{}{gregoriotex-chars.tex}
A fused character consisting of a leading quilisma (of ambitus one) and a regular punctum.

\macroname{\textbackslash gre@char@fuse@quilisma@two}{}{gregoriotex-chars.tex}
A fused character consisting of a leading quilisma (of ambitus two) and a regular punctum.

\macroname{\textbackslash gre@char@he@...}{\#1}{gregoriotex-chars.tex}
A class of macros for the horizontal episema which populates the \verb=\gre@box@hep= box.



\subsection{Flags}

Flags are either boolean (defined with \verb=\newif=), Lua\TeX\ attributes, or counts (defined with \verb=\newcount=).  They store settings and/or the current state of something so that Gregorio\TeX\ can typeset things in the desired manner.

All distances in \nameref{distances} have a flag associated with them, of the form \verb=\gre@scale@*=.  This flag
indicates if the distance should scale when the staff size changes (1)
or not (0).

\macroname{\textbackslash ifgre@checklength}{}{gregoriotex-spaces.tex}
Boolean used in \verb=\gresetdim= to indicate if we are attempting to set a rubber length.

\macroname{\textbackslash ifgre@rubber}{}{gregoriotex-spaces.tex}
Boolean used in \verb=\gre@changeonedimenfactor= to indicate if we are dealing with one of the distances which can accept a rubber length.

\macroname{\textbackslash ifgre@stretch}{}{gregoriotex-spaces.tex}
Boolean used in \verb=\gre@changeonedimenfactor= as we test for the presence of a stretch.

\macroname{\textbackslash ifgre@shrink}{}{gregoriotex-spaces.tex}
Boolean used in \verb=\gre@changeonedimenfactor= as we test for the presence of a shrink.

\macroname{\textbackslash ifgre@vowelcentering}{}{gregoriotex-syllable.tex}
Boolean used to specify whether the center of the vowel or the center of the syllable is used to align the lyrics with their neumes.

\macroname{\textbackslash ifgre@translationcentering}{}{gregoriotex-main.tex}
Boolean used to specify whether the translation text should be centered below its respective syllable.

\macroname{\textbackslash ifgre@showlines}{}{gregoriotex-main.tex}
Boolean used to specify whether the staff lines should be shown or not.

\macroname{\textbackslash ifgre@hidepclines}{}{gregoriotex-signs.tex}
Boolean used to specify whether the staff lines behind a punctum cavum should be hidden.

\macroname{\textbackslash ifgre@hidealtlines}{}{gregoriotex-signs.tex}
Boolean used to specify whether the staff lines behind an alteration should be hidden.

\macroname{\textbackslash ifgre@hepisemusbridge}{}{gregoriotex-signs.tex}
Boolean used to specify whether adjacent horizontal episema should be joined together.

\macroname{\textbackslash ifgre@drawbraces}{}{gregoriotex-signs.tex}
Boolean used to specify whether braces should be drawn by \MP{} as
opposed to rendered via the score font.

\macroname{\textbackslash gre@biginitial}{}{gregoriotex-main.tex}
Count to track whether the initial is big (2-lines) or normal (1-line).

\macroname{\textbackslash ifgre@boxing}{}{gregoriotex-syllable.tex}
Boolean to track whether we're placing the contents of syllable notes into their box or actually printing that box (helps prevent spurious spaces from occurring when the box is being filled but not printed).

\macroname{\textbackslash ifgre@mustdotranslationcenterend}{}{gregoriotex-main.tex}
Boolean to track whether we must do translation centering.

\macroname{\textbackslash ifgre@endofscore}{}{gregoriotex-syllable.tex}
Boolean to mark the last syllable of the score.

\macroname{\textbackslash ifgre@firstglyph}{}{gregoriotex-syllable.tex}
Boolean that tells us if the current glyph is the first glyph or not.

\macroname{\textbackslash gre@attr@dash}{}{gregoriotex-main.tex}
A Lua\TeX\ attribute which indicates whether a syllable takes a dash if it ends a line.  

\macroname{\textbackslash gre@attr@center}{}{gregoriotex-main.tex}
A Lua\TeX\ attribute which indicates the type of translation centering.

\macroname{\textbackslash gre@attr@glyph@id}{}{gregoriotex-main.tex}
A Lua\TeX\ attribute which identifies the glyph we are at.  Used for dynamic line spacing.

\macroname{\textbackslash gre@attr@glyph@top}{}{gregoriotex-main.tex}
A Lua\TeX\ attribute which identifies the high point of the glyph.  Used for dynamic line spacing.

\macroname{\textbackslash gre@attr@glyph@bottom}{}{gregoriotex-main.tex}
A Lua\TeX\ attribute which identifies the low point of the glyph.  Used for dynamic line spacing.

\macroname{\textbackslash gre@clivisalignment}{}{gregoriotex-syllable.tex}
Count to indicate how the clivis is to be aligned with its respective syllable text.  Values: 0) always align clivis on its center; 1) align clivis on first punctum; 2) align clivis on its center, except if notes would go left of text or consonants after vowels are larger than \verb=\gre@dimen@clivisalignmentmin=.

\macroname{\textbackslash gre@insidediscretionary}{}{gregoriotex-signs.tex}
Macro which indicates whether we are currently inside a discretionary (1) or not (0).  Cannot be converted to a \TeX\ boolean because it's value needs to be passed to Lua.

\macroname{\textbackslash ifgre@isonaline}{}{gregoriotex-syllable.tex}
Boolean which indicates whether the current note is on a line or not (used to adjust the height of some symbols so they won't print on a line).

\macroname{\textbackslash ifgre@lastispunctum}{}{gregoriotex-syllable.tex}
Boolean which indicates if the most recent note was a punctum mora.

\macroname{\textbackslash ifgre@lastispunctumsave}{}{gregoriotex-signs.tex}
Boolean for storing \verb=\ifgre@lastispunctum= so that it can be restored later.

\macroname{\textbackslash gre@nlbstate}{}{gregoriotex-main.tex}
Macro which indicates if we are in a no line break area due to translation centering (1), an explicit no line break designation in the gabc (2), or not at all (0).

\macroname{\textbackslash gre@nlbinitialstate}{}{gregoriotex-main.tex}
Macro to store \verb=\gre@nlbstate= as we initialize or end a no line break area so that we can manipulate said flag as part of the process.

\macroname{\textbackslash ifgre@usestylefont}{}{gregoriotex-main.tex}
Boolean which specifies whether the style font should be loaded or not.

\macroname{\textbackslash ifgre@keeprightbox}{}{gregoriotex-signs.tex}
Boolean which specifies if we have to keep the localrightbox until the end.

\macroname{\textbackslash gre@compilegabc}{}{gregoriotex-main.tex}
Macro which specifies the default compilation behavior: never compile (0), auto compile (1), or always compile (2).

\macroname{\textbackslash ifgre@nabcfontloaded}{}{gregoriotex-nabc.tex}
Boolean which indicates whether the \texttt{nabc} font has been loaded.

\macroname{\textbackslash gre@generate@pointandclick}{}{gregoriotex-syllable.tex}
Count which indicates whether the point-and-click functionality should be implemented (1) or not (0).  Not a boolean because it needs to be readable by Lua.

\macroname{\textbackslash gre@variableheightexpansion}{}{gregoriotex-main.tex}
Count to indicated if the spacing between lines should be variable (1) or fixed (0).  Not a boolean because it needs to be readable by Lua.

\macroname{\textbackslash ifgre@blockeolcustos}{}{gregoriotex-main.tex}
Boolean which indicates whether the custos at the end of the line should be blocked.

\macroname{\textbackslash ifgre@breakintranslation}{}{gregoriotex-main.tex}
Boolean which indicates if line breaks are allowed inside a translation.

\macroname{\textbackslash ifgre@bolshiftsenabled}{}{gregoriotex-main.tex}
Boolean which indicates if the left shift for the first syllables of lines is enabled.

\macroname{\textbackslash ifgre@eolshiftsenabled}{}{gregoriotex-main.tex}
Boolean which indicates if the left shift for the last syllables of lines is enabled.

\macroname{\textbackslash ifgre@euouae@implies@nlba}{}{gregoriotex-main.tex}
Boolean which indicates if line breaks are prohibited in an \texttt{euouae} area.

\macroname{\textbackslash ifgre@in@euouae}{}{gregoriotex-main.tex}
Boolean which indicates that we are in an \texttt{euouae} area.

\macroname{\textbackslash ifgre@justifylastline}{}{gregoriotex-main.tex}
Boolean which indicates that the last line of the score should be justified.

\macroname{\textbackslash ifgre@showclef}{}{gregoriotex-main.tex}
Boolean which indicates that the clef should be visible.




\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.

\macroname{\textbackslash gre@box@hep}{}{gregoriotex-chars.tex}
Box for horizontal episemi.

\macroname{\textbackslash gre@box@temp@width}{}{gregoriotex-main.tex}
Box for holding an element in order to determine its width.

\macroname{\textbackslash gre@box@initial}{}{gregoriotex-main.tex}
Box which holds the initial of the score.

\macroname{\textbackslash gre@box@annotation}{}{gregoriotex-main.tex}
Box holding the annotation which goes above the initial.

\macroname{\textbackslash gre@box@annotation@add}{}{gregoriotex-main.tex}
Box used for the new line to be added to the annotation.

\macroname{\textbackslash gre@box@annotation@old}{}{gregoriotex-main.tex}
Box used for the existing lines in the annotation when a new line is being added.

\macroname{\textbackslash gre@box@lines}{}{gregoriotex-main.tex}
Box holding the staff lines.

\macroname{\textbackslash gre@box@temp@sign}{}{gregoriotex-signs.tex}
Box to hold a sign so we can measure it for placement.

\macroname{\textbackslash gre@box@syllablenotes}{}{gregoriotex-syllable.tex}
Box holding the notes associated with a syllable.

\macroname{\textbackslash gre@box@syllabletext}{}{gregoriotex-syllable.tex}
Box holding the text associated with a syllable.

\macroname{\textbackslash gre@box@hep}{}{gregoriotex-chars.tex}
Box holding the horizontal episemus.


\subsection{Distances}
All of the distances listed in \nameref{distances} have an internal
associated with them, of the form of \verb=\gre@*@*=, which stores the value of the distance (in
string representation).  The first wildcard is either \texttt{skip} or \texttt{dimen} according to the distance type, while the 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.

\macroname{\textbackslash gre@dimen@clefwidth}{}{gregoriotex-spaces.tex}
Width of the clef.

\macroname{\textbackslash gre@dimen@constantglyphraise}{}{gregoriotex-spaces.tex}
Dimension representing the space between the 0 of the gregorian fonts and the effective 0 of the TeX score.

\macroname{\textbackslash gre@dimen@currenttranslationheight}{}{gregoriotex-spaces.tex}
Dimension representing the space for the translation beneath the text.

\macroname{\textbackslash gre@dimen@stafflinewidth}{}{gregoriotex-spaces.tex}
Dimension representing the width of a line of staff.  Can vary, for
example, at the first line.

\macroname{\textbackslash gre@dimen@linewidth}{}{gregoriotex-spaces.tex}
Dimension representing the width of the score (including initial).

\macroname{\textbackslash gre@dimen@additionalbottomspace}{}{gregoriotex-spaces.tex}
Dimension representing extra space below the staff needed for low notes.

\macroname{\textbackslash gre@dimen@additionaltopspace}{}{gregoriotex-spaces.tex}
Dimension representing extra space above the staff needed for high notes.

\macroname{\textbackslash gre@dimen@textlower}{}{gregoriotex-spaces.tex}
Dimension representing the height of the separation between the 0th
line (which is invisible except for notes in the a or b position) and
the bottom of the text.

\macroname{\textbackslash gre@dimen@textaligncenter}{}{gregoriotex-spaces.tex}
Dimension representing the width from the beginning of the letters in
a syllable to the middle of the middle letters.  Used for lining up
neumes and syllables.

\macroname{\textbackslash gre@dimen@additionalleftspace}{}{gregoriotex-spaces.tex}
Dimension representing the additional space that has to be added to
the localleftbox for a big initial (one taking two lines).

\macroname{\textbackslash gre@dimen@initialwidth}{}{gregoriotex-spaces.tex}
Dimension representing the width of the initial (and the space after).

\macroname{\textbackslash gre@dimen@currentabovelinestextheight}{}{gregoriotex-spaces.tex}
Dimension representing the space allocated above the lines for text.	

\macroname{\textbackslash gre@dimen@staffheight}{}{gregoriotex-spaces.tex}
The total height of the staff including the width of the lines and the spaces between them.

\macroname{\textbackslash gre@dimen@stafflinediff}{}{gregoriotex-spaces.tex}
Distance representing the difference between the actual size of the staff lines and the ``standard'' size.

\macroname{\textbackslash gre@dimen@stafflineheight}{}{gregoriotex-spaces.tex}
The height of the staff line.

\macroname{\textbackslash gre@dimen@interstafflinespace}{}{gregoriotex-spaces.tex}
The space between the lines.

\macroname{\textbackslash gre@dimen@glyphraisevalue}{}{gregoriotex-spaces.tex}
The value that a particular glyph must be raised to be set in the correct position.

\macroname{\textbackslash gre@dimen@addedraisevalue}{}{gregoriotex-spaces.tex}
The additional raise needed for the vertical episema and the puncta.

\macroname{\textbackslash gre@dimen@enddifference}{}{gregoriotex-spaces.tex}
Distance from the end of the notes to the end of the text for the previous syllable.  Positive values when notes go further than text, negative in the other case.

\macroname{\textbackslash gre@dimen@previousenddifference}{}{gregoriotex-spaces.tex}
Stored value of enddifference prior to the current one.

\macroname{\textbackslash gre@skip@nextbegindifference}{}{gregoriotex-spaces.tex}
The difference between the start of the notes and the start of the text for the next syllable.  Positive when when text begins first, negative in other case.

\macroname{\textbackslash gre@dimen@begindifference}{}{gregoriotex-spaces.tex}
The difference between the start of the notes and the start of the text for the current syllable.  Positive when when text begins first, negative in other case.

\macroname{\textbackslash gre@dimen@lastglyphwidth}{}{gregoriotex-spaces.tex}
The width of the last glyph.

\macroname{\textbackslash gre@dimen@notesaligncenter}{}{gregoriotex-spaces.tex}
Distance from beginning of notes to their point of alignment.

\macroname{\textbackslash gre@dimen@temp@**}{}{gregoriotex-spaces.tex}
Temporary dimensions used in calculations.  There are currently five of these.

\macroname{\textbackslash gre@skip@temp@**}{}{gregoriotex-spaces.tex}
Temporary skips used in calculations.  There are currently four of these.

\macroname{\textbackslash gre@unit}{}{gregoriotex-spaces.tex}
Temporary dimension used by \verb=\gre@convertto=.

\macroname{\textbackslash gre@base}{}{gregoriotex-spaces.tex}
Temporary dimension used by \verb=\gre@convertto=.

\macroname{\textbackslash gre@maxlen}{}{gregoriotex-spaces.tex}
Distance holding the maximum legal length in TeX.

\macroname{\textbackslash gre@dimen@savedglyphraise}{}{gregoriotex-signs.tex}
Macro to hold the value of the glyph raise so that it can be restored after some calculations which may change it are performed.

\macroname{\textbackslash gre@skip@eolshift}{}{gregoriotex-spaces.tex}
The left kern that should appear before an end of line.

\macroname{\textbackslash gre@dimen@bolshift}{}{gregoriotex-spaces.tex}
The left kern that should appear at the beginning of line in case of a forced line break.

\macroname{\textbackslash gre@dimen@annotationtrueraise}{}{gregoriotex-spaces.tex}
The distance from the baseline of the initial to the baseline of the annotation.

\macroname{\textbackslash gre@minTextDistance}{}{gregoriotex-spaces.tex}
Minimum distance between text (meaningful alias for \verb=\gre@skip@temp@one= inside \verb=\gre@compute@syllablefinalskip=).

\macroname{\textbackslash gre@minNotesDistance}{}{gregoriotex-spaces.tex}
Minimum distance between notes (meaningful alias for \verb=\gre@skip@temp@two= inside \verb=\gre@compute@syllablefinalskip=).

\macroname{\textbackslash gre@curTextDistance}{}{gregoriotex-spaces.tex}
Current distance between text (meaningful alias for \verb=\gre@dimen@temp@three= inside \verb=\gre@compute@syllablefinalskip=).

\macroname{\textbackslash gre@curNotesDistance}{}{gregoriotex-spaces.tex}
Current distance between notes (meaningful alias for \verb=\gre@dimen@temp@four= inside \verb=\gre@compute@syllablefinalskip=).

\macroname{\textbackslash gre@minShiftText}{}{gregoriotex-spaces.tex}
Minimum shift required for the text (meaningful alias for \verb=\gre@skip@temp@three= inside \verb=\gre@compute@syllablefinalskip=).

\macroname{\textbackslash gre@minShiftNotes}{}{gregoriotex-spaces.tex}
Minimum shift required for the notes (meaningful alias for \verb=\gre@skip@temp@four= inside \verb=\gre@compute@syllablefinalskip=).

\macroname{\textbackslash gre@save@parfillskip}{}{gregoriotex-main.tex}
Macro to store \verb=\parfillskip= value so that we can restore it at the end of the score (needed to force the last line of a score to be justified).

\macroname{\textbackslash gre@scaledist}{}{gregoriotex-spaces.tex}
Working alias for \verb=\gre@skip@temp@one= or \verb=\gre@dimen@temp@one=, as appropriate, used when rescaling a distance due to a change in \verb=\gre@factor=.

\macroname{\textbackslash gre@skip@syllablefinalskip}{}{gregoriotex-spaces.tex}
The final distance to skip at the end of a syllable.


\subsection{Penalties}
These are the macros that Gregorio\TeX\ uses to manipulate the penalties in order to control line and page breaks within a score without affect the surrounding text.

\macroname{\textbackslash gre@penalty}{\#1}{gregoriotex-signs.tex}
Top level function that aliases \verb=\gre@truepenalty= or \verb=\gre@falsepenalty= according to whether penalties should be in play or not.

\begin{argtable}
	\#1 & integer & The penalty to be applied or gobbled\\
\end{argtable}

\macroname{\textbackslash gre@truepenalty}{\#1}{gregoriotex-signs.tex}
Alias for \verb=\penalty=.

\begin{argtable}
	\#1 & integer & The penalty to be applied\\
\end{argtable}

\macroname{\textbackslash gre@falsepenalty}{\#1}{gregoriotex-signs.tex}
Macro to gobble (suppress) its argument.

\begin{argtable}
	\#1 & integer & The penalty to be gobbled\\
\end{argtable}

\macroname{\textbackslash gre@cancelpenalties}{}{gregoriotex-spaces.tex}
Macro called at the beginning of the score to swap text penalties for score penalties.

\macroname{\textbackslash gre@restorepenalties}{}{gregoriotex-spaces.tex}
Macro called at the end of the score to restore the text penalties.

\macroname{\textbackslash gre@dofinetuning}{}{gregoriotex-spaces.tex}
Macro called at the beginning of the score to swap text penalties for score penalties.

\macroname{\textbackslash gre@endfinetuning}{}{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{\LaTeX/Plain\TeX\ compatibility}
While every effort has been made to use only primitives which are compatible with both \LaTeX\ and Plain\TeX, it is sometimes necessary to use primitives which are defined for one but not the other (usually its \LaTeX\ that has what we need built in).  In these cases we have to provide an equivalent macro to the \TeX\ version which is lacking.

\macroname{\textbackslash MessageBreak}{}{gregoriotex.tex}
Creates a line break in typeout, warning, bug, and error messages.  Copied from \LaTeX\ source.

\macroname{\textbackslash protect}{}{gregoriotex.tex}
Prints the name of the macro, rather than its contents in typeout, warning, bug, and error messages.  Copied from \LaTeX\ source.

\macroname{\textbackslash f@size}{}{gregoriotex.tex}
Macro which stores the current font size.


\section{Special arguments}

These arguments are used by multiple functions and take a lot of space
to describe so we describe them once here and refer to this section
rather than have multiple definitions.

\subsection{Note Alignment Type}\label{notesalign}
\rowcolors{1}{lightgray}{lightgray}
\begin{tabular}{cp{10.5cm plus .5cm}}
	\multicolumn{2}{c}{Integer with the following possibilities:} \\
	\hline
	0 & one-note glyph or more than two notes glyph except porrectus : here we must put the aligncenter in the middle of the first note\\
	1 & two notes glyph (podatus is considered as a one-note glyph) : here we put the aligncenter in the middle of the glyph\\
	2 & porrectus : has a special align center\\
	3 & initio-debilis : same as 1 but the first note is much smaller\\
	4 & case of a glyph starting with a quilisma\\
	5 & case of a glyph starting with an oriscus\\
	6 & case of a punctum inclinatum\\
	7 & case of a stropha\\
	8 & flexus with an ambitus of one\\
	9 & flexus deminutus\\
	10 & virgula\\
	11 & divisio minima, minor and maior\\
	12 & divisio finalis
 \end{tabular}

\subsection{Episemus Special}\label{EpisemusSpecial}
\definecolor{shadecolor}{named}{lightgray}%
\begin{shaded*}%
\vspace{-1.4\baselineskip}
\begin{center}String with the following possibilities:\end{center}
\vspace{-0.8\baselineskip}
\hrule
\vspace{-0.8\baselineskip}
\begin{description}
	\item[FinalPunctum] Last note, which is a standard punctum (works with pes).
	\item[FinalDeminutus] Same, but the last note is a deminutus.
	\item[PenultBeforePunctumWide] The note before the last note, which is a standard punctum.
	\item[PenultBeforeDeminutus] Idem, but the note is the note preceding a deminutus.
	\item[AntepenultBeforePunctum] The note before the note before the last note (for porrectus flexus).
	\item[AntepenultBeforeDeminutus] Idem, but when the two last notes are a deminutus.
	\item[InitialPunctum] The first note, if it is a standard punctum.
	\item[InitioDebilis] The first note, if it is an initio debilis.
	\item[PorrNonAuctusInitialWide] first note of a non-auctus porrectus with a second ambitus of at least two.
	\item[PorrNonAuctusInitialOne] first note of a non-auctus porrectus with a second ambitus of one
	\item[PorrAuctusInitialAny] first note of an auctus porrectus, regardless of second ambitus
	\item[FinalInclinatum] punctum inclinatum as last note
	\item[FinalInclinatumDeminutus] punctum inclinatum deminutus as last note
	\item[FinalStropha] stropha as last note
	\item[FinalQuilisma] quilisma as last note
	\item[FinalOriscus] oriscus as last note
	\item[PenultBeforePunctumOne] second-to-last note, with a second ambitus of one, when last note is a standard punctum (like the second note of ghg)
	\item[FinalUpperPunctum] "upper smaller punctum" as last note (concerning simple podatus, podatus, and torculus resupinus)
	\item[InitialOriscus] oriscus as first note, disconnected from next note
	\item[InitialQuilisma] quilisma as first note, disconnected from next note
	\item[TorcResNonAuctusSecondWideWide] second note of a non-auctus torculus resupinus starting with a punctum, with a first and second ambitus of at least two
	\item[TorcResNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with a punctum, with a first ambitus of one and a second ambitus of at least two
	\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[BarVirgula] 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
	\item[TorcResQuilismaNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with a quilisma, with a first ambitus of one and and second ambitus of at least two
	\item[TorcResOriscusNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with an oriscus, with a first ambitus of one and and second ambitus of at least two
	\item[TorcResNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with a punctum, with a first ambitus of at least two and a second ambitus of one
	\item[TorcResDebilisNonAuctusSecondAnyOne] second note of a non-auctus torculus resupinus initio debilis with any first ambitus and a second ambitus of one
	\item[TorcResQuilismaNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with a quilisma, with a first ambitus of at least two and a second ambitus of one
	\item[TorcResOriscusNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with an oriscus, with a first ambitus of at least two and a second ambitus of one
	\item[TorcResNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with a punctum, with a first and second ambitus of one
	\item[TorcResQuilismaNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with a quilisma, with a first and second ambitus of one
	\item[TorcResOriscusNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with an oriscus, with a first and second ambitus of one
	\item[TorcResAuctusSecondWideAny] second note of an auctus torculus resupinus starting with a punctum, with a first ambitus of at least two and any second ambitus
	\item[TorcResDebilisAuctusSecondAnyAny] second note of an auctus torculus resupinus initio debilis with any first and second ambitus
	\item[TorcResQuilismaAuctusSecondWideAny] second note of an auctus torculus resupinus starting with a quilisma, with a first ambitus of at least two and any second ambitus
	\item[TorcResOriscusAuctusSecondWideAny] second note of an auctus torculus resupinus starting with an oriscus, with a first ambitus of at least two and any second ambitus
	\item[TorcResAuctusSecondOneAny] second note of an auctus torculus resupinus starting with a punctum, with a first ambitus of one and any second ambitus
	\item[TorcResQuilismaAuctusSecondOneAny] second note of an auctus torculus resupinus starting with a quilisma, with a first ambitus of one and any second ambitus
	\item[TorcResOriscusAuctusSecondOneAny] second note of an auctus torculus resupinus starting with an oriscus, with a first ambitus of one and any second ambitus
	\item[ConnectedPenultBeforePunctumWide] second-to-last note connected to prior note, with a second ambitus of at least two, when last note is a standard punctum (like the second note of \textit{gig})
	\item[ConnectedPenultBeforePunctumOne] second-to-last note connected to prior note, with a second ambitus of one, when last note is a standard punctum (like the second note of \textit{gih})
	\item[InitialConnectedPunctum] standard punctum as first note, connected to next higher note
	\item[InitialConnectedVirga] "virga" as first note, connected to next lower note
	\item[InitialConnectedQuilisma] quilisma as first note, connected to next higher note
	\item[InitialConnectedOriscus] oriscus as first note, connected to next higher note
	\item[FinalConnectedPunctum] punctum as last note, connected to prior higher note
	\item[FinalConnectedAuctus] auctus as last note, connected to prior lower note
	\item[FinalVirgaAuctus] virga aucta as last note
	\item[FinalConnectedVirga] "virga" as last note, connected to prior lower note
	\item[InitialVirga] "virga" as first note, disconnected from next note
\end{description}
\end{shaded*}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "GregorioRef"
%%% End: