summaryrefslogtreecommitdiff
path: root/macros/mtex/documentation/mdoc6.tex
blob: 0296fcdc73c4f02f326be4dee8ceacfa55fa2800 (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
\heading {R"aumliche Einteilung des Notenblattes}

Das Grundproblem, das von jedem automatisierten Noten\-%
satzsystem gel"ost werden
mu\3, ist die ``grobe'' r"aumliche Einteilung des Notenblattes, so da\3
das Erscheinungsbild "ubersichtlich und die Struktur des Musikst"uckes
erkennbar wird. Diese Einteilung sollte automatisch erfolgen und nicht
vom Benutzer des Notensatzsystems ausgef"uhrt werden.

Das Problem der Gestaltung
der ``"au\3eren Form'' des Notenblattes
gliedert sich in
f"unf Teilprobleme:
\item{0)}Die Gestaltung der "Uberschriften, wie Angaben zu Titel,
Komponist und Textverfasser
\item{1)}Die Konstruktion des Notenliniensystems
\item{2)}Die gleichm"a\3ige vertikale Einteilung des Musikst"uckes, d.h.
das Abstecken
\item{3)}Das automatische Plazieren der jeweils g"ultigen
Notenschl"ussel, Vorzeichnung und Taktart
\item{4)}Die Strukturierung des Musikst"uckes durch Taktstriche

Die L"osung dieser Teilprobleme ist abh"angig vom verwendeten
Notensatzsystem.
Spezielle Verfahren habe ich in der mir bekannten Literatur nicht
angetroffen. Im folgenden sollen die zugeh"origen Satz- und
Notationsregeln beschrieben und die zugeh"origen
Verfahren f"ur die Ausf"uhrung mit \TeX\
angegeben werden.

Da \TeX\ als Textsatzsystem zeilenweise arbeitet, konnte das
Notensatzsystem bisher nur f"ur ein Zeilensystem verwirklicht werden.
Da es zum Verst"andnis einiger Satzregeln  jedoch notwendig ist, die
Regeln f"ur mehrzeilige Systeme zu kennen, soll hier auf die Angabe
dieser Regeln nicht verzichtet werden.

\Bemerkung
Da \TeX\ ein Textsatzsystem ist, sind der Gestaltung der "Uberschriften
keine Grenzen gesetzt. Sie soll deshalb kein Thema dieser Arbeit sein.
Gourlay (\lit{\gourlay, S. 397}) schl"agt vor, den Titel zu
zentrieren, w"ahrend der Textverfasser und Komponist links- bzw.
rechtsb"undig darunter erscheinen sollen. Dieser Vorschlag wurde als
M"oglichkeit in das Notensatzformat aufgenommen.
\endBemerkung
\goodbreak
\subheading{Satz- und Notationsregeln zur r"aumlichen Einteilung}
\subsubheading{Das System}
\item{S1)} Die Notenschriftelemente werden in ein Zeilensystem mit
f"unf Notenlinien eingeordnet.
Dabei werden sowohl die Linien als auch die Zwischenr"aume
genutzt \lit{{\ziegen, \bf17}}.
Ein solches Zeilensystem wird in der Musiktheorie als
\defi{System} bezeichnet.
\item{S2)} Zur Notation mehrstimmiger Musik k"onnen mehrere Systeme
verwendet werden, die durch eine sogenannte \disp{Akkoladenklammer} zu
einer Akkolade zusammengefa\3t werden. (Die Taktstriche werden in diesem
Fall  unter Ber"ucksichtigung der Instrumentengruppe in
Partituren durchgezogen.)
\item{S3)} Bei  der Notation in \disp{einem}
Zeilensystem steht am Zeilenanfang kein Taktstrich.
\item{S4)} Die L"ange der Notenlinien einer Notenzeile
entspricht der Breite des
Notenblattes, jedoch ist es oft "ublich, die erste Zeile wie den Absatz
im Textsatz um einen gewissen Betrag einzuziehen. Dieser gewonnene
Trennraum wird oft zur Kennzeichnung des jeweiligen Instruments
verwendet.
\item{S5)} Der Abstand der Notenlinien entspricht der H"ohe eines
Notenkopfes.
\goodbreak
\subsubheading{Das Abstecken}
Im Gegensatz zum Handnotensatz wird das genaue Plazieren der einzelnen
Notenzeilen auf der Seite erst nach dem Zeilenumbruch vorgenommen, wenn
sich gen"ugend Material f"ur eine Seite angesammelt hat. Jedoch ist es
f"ur die gleichm"a\3ige vertikale Verteilung der einzelnen Notenzeilen
angebracht einen Mindestabstand der Notenzeilen anzugeben, wobei es
jedoch m"oglich sein mu\3, den Abstand zwischen den Zeilen zu erh"ohen,
falls die Noten oder unterlegte Texte weit in diesen Zwischenraum
ragen.

Berechnungsgrundlage f"ur den Zwischenraum zwischen zwei Systemen ist das
Zweifache der H"ohe des Systems (\disp{Rastralh"ohe}). Die
Notenschriftelemente k"onnen also von oben und von unten bis zu einer
Rastralh"ohe in diesen Zwischenraum hineinragen. Wird dieser Betrag
"uberschritten, so mu\3 der Raum zwischen den Systemen
 unbedingt vergr"o\3ert werden
\lit{\gomb}.

Der Abstand ist so gew"ahlt, da\3 die Zwischenr"aume nur dann
vergr"o\3ert werden m"ussen, wenn Noten mit vier Hilfslinien dargestellt
werden m"ussen.

\subsubheading{Regeln zum Satz von Notenschl"usseln, Vorzeichnung und
Taktart}

\item{V1)} Zu Beginn jeder Notenzeile mu\3 der aktuelle Notenschl"ussel
zusammen mit der Vorzeichnung, d.h. der Tonartkennzeichnung, angegeben
werden. Dabei mu\3 der Notenschl"ussel immer der Vorzeichnung
vorangestellt sein. Dies entspricht der Regel 3) in der von K. Hader
aufgestellten
``musikalischen Orthographie''(\lit{\hader}):

{\leftskip=30pt \rightskip=\leftskip \sl
Musikbeschriebene Notensysteme
ohne Schl"ussel und Tonart sind unbrauchbar.\par}
\item{V2)}Die Vorgaben zu Beginn des Musikst"uckes gelten f"ur das
gesamte Musikst"uck (\lit{\ziegen, S. 58}).
\item{V3)} Die Taktart soll
zu Beginn des Musikst"uckes angezeigt werden und
zwar direkt nach Notenschl"ussel und Tonart.
\item{V4)} Wechsel: Jeder Wechsel von Notenschl"ussel, Tonart oder
Taktart mu\3 im Notenbild angezeigt werden.

\item{a)}Ein Taktwechsel kann
nur zu Beginn eines neuen Taktes erfolgen. Meist steht die ge"anderte
Taktangabe nach dem Taktstrich vor der ersten Note. Beginnt eine neue
Zeile mit Taktwechsel, so wird dies zus"atzlich am Ende der
vorhergehenden Zeile vermerkt. Bei h"aufigem Taktwechsel kann die
"Anderung, um Platz zu sparen, auch "uber dem System angegeben
werden, wobei kein zus"atzlicher horizontaler Raum ben"otigt wird.
\item{}
Bei regelm"a\3ig wiederholtem Taktwechsel braucht das Kennzeichen nicht
in jedem Takt erneut zu erfolgen. Die wechselnden Taktangaben k"onnen
einmalig zu Beginn angegeben werden (\lit{\ziegen}).
\Beispiel
{\parindent\iindent
\small
\beginsong
\vio\G\meter2/8\meter3/4%
\group{\\{\a{-1}}\\{\a0}\\{\a1}}{\\{-1}\\{0}\\{1}}\ubeam13\go\|%
\group{\\{\v{2}}\\{\v{-1}}}
{\\{1}\\{-1}}\lslur12\go\|\go\|\v2\.1\a3\v4\|\h2\v{-1}\|
\group{\\{\v2}\\{\v{-1}}}
{\\{1}\\{-1}}\lslur12\go\|\go\|\v2\.1\a3\v4\=%
\endsong
}
\endBeispiel
\vskip -1cm

\item{b)} Ein Wechsel der Tonart kann nur am Anfang eines Taktes
angegeben werden. Dabei mu\3 die vorher g"ultige Tonart zun"achst
``aufgel"ost'' und die neue angegeben werden.
\Beispiel
{\hsize5cm\advance\hsize2\iindent\parindent=2\iindent
\loose
\beginsong
\vio\Es\hskip20pt\E\hskip20pt\hfill
\endsong}
\endBeispiel
\vskip -1cm
\item{}
Ein Tonartwechsel am Anfang einer neuen Zeile mu\3 zus"atzlich am Ende
der vorangehenden Zeile notiert werden.
\item{c)} F"ur den Wechsel des Notensch"ussels gelten die gleichen
Regeln wie unter b), jedoch kann ein Wechsel auch innerhalb des Taktes
vorkommen. In diesem Fall wird nur dann zus"atzlich horizontaler Raum
bereitgestellt, wenn  nicht gen"ugend Freiraum von der vorangehenden Note
zur Verf"ugung steht. (\lit{\gomb})


\item{d)} Beim Satz von Akkoladen gilt ein Wechsel von Taktart und
Tonart
global f"ur alle Systemzeilen, w"ahrend der Notensch"usselwechsel sich
nur lokal auf eine Zeile bezieht.
\item{e)} Die zur Kennzeichnung des Notenschl"usselwechsels
verwendeten
Notensch"ussel innerhalb einer Zeile sind normalerweise etwas kleiner
als am Zeilenanfang. Bei Wechsel des Notenschl"ussels "andert sich
zugleich die Position der Versetzungszeichen in der Vorzeichnung.
{\Beispiel
\hsize8cm
\advance\hsize2\iindent\parindent=2\iindent
\beginsong
\vio\C  \hskip20pt\|\v2 \ \setbox\hunkbox\hbox{\music\char\hex48}%
\|\group{\\{\a1}\\{\a1}\\{\a1}\\{\a1}}
{\\{1}\\{1}\\{1}\\{1}}\ubeam14\go\setbox\hunkbox\hbox{%
\music\char\hex4A}\|\hskip10pt\hfill
\endsong\offinterlineskip
\parskip0pt
\endBeispiel}
\vskip -1cm
\subsubheading{Taktstriche}
\item{R1)} Taktstriche gliedern den musikalischen Ablauf im Notenbild.
\item{R2)} Im einstimmigen Satz befindet sich am Zeilenanfang kein
Taktstrich, im Satz von Akkoladen   werden die einzelnen Systeme unter
Ber"ucksichtigung der Instrumentengruppen in Partituren
durchgezogen (\lit{\ziegen, \defi{44}f}).
\item{R3)} Gr"o\3ere Abschnitte werden durch \disp{Doppelstriche}
( \dbl\ ),
z.B. bei Tonartwechsel, voneinander getrennt. Das Ende
eines Musikst"uckes wird durch \disp{Schlu\3striche} ( \gleich\ )
angezeigt (\lit{\ziegen, \defi{46}}).
\item{R4)} Soll ein Abschnitt wiederholt werden, so wird dies durch
Wiederholungszeichen angezeigt \hfill\break( \lrepeat \dots
\lrrepeat\dots\rrepeat\ ). Weicht beim Wiederholen der Schlu\3
ab, so wird dies durch \disp{K"asten} vermerkt
( \vbox{{\offinterlineskip \dimen3=\ht\strutbox\advance\dimen3-0.2pt
\hbox to 40pt{\strut \vrule depth-3pt\rlap{1.}%
\leaders\hrule height \ht\strutbox depth-\dimen3\hfill\vrule depth-3pt}
\kern-3pt
\hbox to 40pt{\strut \vrule \hfill \dots\hfill:\kern2pt\vrule}}}\kern2pt
\vbox{{\offinterlineskip \dimen3=\ht\strutbox\advance\dimen3-0.2pt
\hbox to 40pt{\strut \vrule depth-3pt\rlap{2.}%
\leaders\hrule height \ht\strutbox depth-\dimen3\hfill}\kern-3pt
\hbox to 40pt{\strut \vrule width 2pt\hfill \dots\hfill           }}} )

Eine weitere Strukturierung wird erreicht durch sogenannte
\disp{Orientierungsziffern} oder \disp{Buchstaben} \boxed1,
\ball1%
oder \boxed{\rm A}, die sich oberhalb eines Taktstriches befinden. Ebenso
werden Takte gez"ahlt und die Taktzahl am Anfang der Zeile vermerkt.

Eine Notenzeile kann nur nach einem Taktstrich umbrochen werden.
Ausnahmen ergeben sich, falls die einzelnen Texte sehr gro\3en
horizontalen Raum beanspruchen und daher kein gleichm"a\3iger
Zei\-len\-umbruch erzielt werden kann. In einem solchen Fall darf in der
Taktmitte umbrochen werden.
\Bemerkung Da die Taktstriche im laufenden Text angegeben werden, wird
ihre genaue Positionierung in Kapitel {\advance\chap1 \the\chap}
beschrieben. \endBemerkung
\subheading{Ausf"uhrung des Absteckens}
\subsubheading{Einf"ugen von zus"atzlichem Notenschriftmaterial}
Das erste zu l"osende Problem ist das Einf"ugen von zus"atzlichem
Notenschriftmaterial in den fortlaufenden Text.
\item{1)} Jede Zeile ist mit  Notenlinien zu unterlegen.
\item{2)} F"ur Notenschl"ussel und Vorzeichnung am Zeilenanfang ist
horizontaler Raum bereitzuhalten.
\item{3)} Der Wechsel von Notenschl"ussel, Vorzeichnung und Taktart am
Zeilenanfang ist am Ende der vorherigen Zeile nochmals anzuzeigen.

Der Zeilenumbruchalgorithmus (s. {\advance\chap-1 \the\chap.3}\XX)
arbeitet so, da\3 mit dem Umbruch erst nach der Feststellung des
Absatzendes begegonnen wird. Dann gibt es jedoch keine
M"oglichkeit, anschlie\3end noch zus"atzlichen Text einzuf"ugen.

\subsubsubheading{Verfahren 1}
Das \TeX-Kommando |\vadjust{|\<text>|}| erm"oglicht es, Text aus einer
horizontalen Liste {(s. \advance\chap-1 \the\chap.4\XX)}
in die "au\3ere vertikale Liste zu "ubertragen.
Der Text wird erst nach Abarbeitung des Zeilenumbruchalgorithmus
hinter der Zeile eingef"ugt, in der er aufgetreten ist. Bei konstanter
Zeilentiefe kann man durch negativen vertikalen Kern zur
Zeilengrundlinie zur"uckkehren und den Text z.B. an den Zeilenanfang
setzen. "Ubertr"agt man in jeder Zeile den aktuellen Notenschl"ussel und
die aktuelle Vorzeichnung sowie das Liniensystem mit |\vadjust| in die
vertikale Liste, so k"onnen diese Zeichen nachtr"aglich noch eingef"ugt
werden.

Bei Verwirklichung dieses Verfahrens treten folgende Probleme
auf:
\item{1)} Das Makro |\vadjust| mu\3 so eingesetzt werden, da\3 es in jeder
Zeile mindestens einmal vorkommt, unabh"angig von der Zeilenl"ange.
\item{2)} Taucht das Makro |\vadjust| mehrfach in einer Zeile auf, so
wird nach obigem Schema die Vorzeichnung mehrfach "ubereinander\-gesetzt.
Bei Notenschl"ussel- oder Tonartwechsel innerhalb der Zeile werden so
verschiedene Zeichen "ubereinandergesetzt.
\item{3)} F"ur Notenschl"ussel und Vorzeichnung mu\3 am Anfang jeder
Zeile gen"ugend horizontaler Raum freigelassen werden.
\medskip
Die erste Forderung  kann erf"ullt werden, indem man die
"Ubertragung in Verbindung mit dem Setzen eines Taktstriches vornimmt.
Da in konventioneller Musik in jeder Zeile mindestens ein Taktstrich
vorkommt, ist die aufgestellte Forderung hier erf"ullt.

Das mehrfache "Ubereinandersetzen
 kann nur verhindert werden, indem man ein Verfahren
sucht, das nur das erste der durch |\vadjust| in die vertikale Liste
hinter der jeweiligen "ubertragen Elemente ausw"ahlt und setzt. Dieses
Verfahren kann jedoch nicht mit \TeX\ allein realisiert werden, da es
keine M"oglichkeit gibt, das erste Element nach der Box mit  dem
Zeileninhalt zu erkennen. Es gibt ein \TeX-Kommando (|\special|), das
Informationen  an das Treiber-Programm  des jeweiligen Ausgabeger"ates
"ubergibt, welches diese abh"angig von der Zeilen- und Spaltenposition
auf dem Notenblatt auswerten und entscheiden kann, welche Zeichenfolge
gesetzt werden soll. Dieses Verfahren ist jedoch kompliziert und macht
das Notensatzsystem vom Ausgabeger"at abh"angig.

Das Einf"ugen von freiem Raum am Zeilenanfang
kann mittels des Zeilenumbruchalgorithmus einfach
gel"ost werden. Der Glue, der hinter jeder Note gesetzt wird, mu\3 so
gestaltet werden, da\3 bei Zeilen\-%
umbruch jeweils die Breite des aktuellen
Notenschl"ussels und der Vorzeichnung freigelassen wird. Eine
M"oglichkeit, dies zu erreichen, wurde bereits in {\advance\chap-1
\the\chap.3.6\XX} gezeigt.
\Bemerkung \item{1)} Wie in Kapitel {\advance\chap-1 \the\chap}
beschrieben, ist es m"oglich,
hinter jedem Zeichen eine Penalty einzuf"ugen, um den Zeilenumbruch vor
einem
Notenschl"ussel und Vorzeichenwechsel zu unterbinden, aber den Umbruch
danach zu f"ordern, d.h. einen Wechsel am Zeilenende zu  bevorzugen.
Man erh"alt so die neue Vorzeichnung oder den neuen Notenschl"ussel am
Zeilenende und am Anfang der neuen Zeile. Die Verdopplung der Taktangabe
bei Wechsel l"a\3t sich jedoch mit diesem Verfahren
nicht erreichen, da die
Taktangabe nicht an jedem Zeilenanfang angegeben werden mu\3.
\item{2)} Die angegebene L"osung ist nicht befriedigend, da sie vom
Ausgabeger"at abh"angig ist, au\3erdem die Tiefe der Zeilen konstant
sein mu\3 und nicht alle oben genannten Forderungen erf"ullt werden.

\subsubsubheading{Verfahren 2}
Eine zweite M"oglichkeit, das Problem zu l"osen, ist durch das
|\discretionary|-Komman\-do (s. {\advance\chap-1 \the\chap.3.1%
}\XX) gegeben.
Dieses Kommando bewirkt, da\3
 im Fall des Zeilenumbruches am Zeilenende der \tex{pre-break text} und
am Anfang der neuen Zeile der \tex{post-break text} eingef"ugt wird,
andernfalls wird der  \tex{no-break text} gesetzt. Jedoch d"urfen
die Texte nur Elemente vom Typ Box, Kern oder Penalty enthalten. Ein
Erweitern oder Verringern der Abst"ande in diesem Text ist also nicht
 m"oglich. Dies ist auch zur L"osung des Problems nicht notwendig.

\Beispiel
\item{}
Im normalen Textsatz ist      die Kontrollsequenz
|\-| gleichbedeutend mit
 \hbox{|\discretionary{-}{}{}|}. Wird |\-| an den Trennstellen eines
Wortes eingef"ugt, so wird also im Falle des Zeilenumbruches an einer
dieser Stellen ein Trennstrich - eingef"ugt, andernfalls nichts.
\item{}
Um eine
Trennung des Wortes \disp{backen} zu erm"oglichen, kann
|ba\discretionary{k-}{k}{ck}en| notiert werden.
Im Falle eines Zeilenumbruches wird
|ck| zu |k-k|. Mit diesem Verfahren k"onnen alle Forderungen, die durch
die Satz- und Notationsregeln zur Gestaltung der ``"au\3eren Form''
 gegeben
sind, erf"ullt werden. Dazu ist es jedoch notwendig, die den
Zeilenumbruch bestimmenden Parameter so zu "andern,
da\3 ein Zeilenumbruch
nur an einem \tex{discretionary}-Kommando stattfinden kann. Dies kann
erreicht werden, indem man sowohl |\hyphenpenalty| und
|\exhyphenpenalty| als auch den zus"atzlichen Kosten
|\finalhyphendemerits| und |\doublehyphendemerits|,  die in
Abh"angigkeit von der Umgebung der Zeile addiert werden, jeweils
negative Werte zuweist, so da\3 ein Zeilenumbruch an einem
\tex{discretionary}-Kommando eine niedrige Badness erzeugt.

\Bemerkung
\item{1)} Auch in diesem Fall ist es nicht vorteilhaft, neben den
Trennungsm"oglichkeiten an einem Taktstrich zus"atzliche
Trennungsm"oglichkeiten innerhalb eines Taktes, z.B. nach einer
Note, anzugeben, jedoch aus einem anderen Grund als bei der ersten
L"osungsm"oglichkeit. \par
\item{}Da der Wert von |\hyphenpenalty| sich nicht
"andert, w"urden Umbruchpunkte innerhalb eines Taktes genauso
bewertet wie Umbruchpunkte am Taktstrich.
Es ist also keine Unterscheidung mehr m"oglich. Dies widerspricht jedoch
der Forderung, da\3 ein
Bruch der Zeile am Taktstrich in jedem Fall zu
bevorzugen ist. Aus diesem Grund wurde das Notensatzsystem so
konzipiert, da\3 kein Bruch innerhalb eines Taktes stattfinden kann.
Ist dies dennoch erw"unscht, so k"onnen zus"atzlich
Umbruchm"oglichkeiten durch Angabe von |\-| z.B. in der Taktmitte
angegeben werden.

\item{2)} Mit diesem Verfahren k"onnen die Linien erst in der zweiten
Zeile unterlegt werden. Die erste Zeile mu\3 daher gesondert bearbeitet
werden. Dies ist kein Nachteil, denn dieses Vorgehen erm"oglicht es,
einen Einzug der ersten Zeile zu ber"ucksichtigen. Dies wird im
n"achsten Abschnitt n"aher beschrieben.
\endBeispiel

\subsubheading{Konstruktionen}
 Im folgenden werden die Konstruktionen f"ur das Liniensystem sowie den
Takt-, Tonart- und Notenschl"usselwechsel beschrieben.

\subsubsubheading{Konstruktion der Notenlinien}
Eine Notenlinie wird durch eine schwarz ausgef"ullte Box,
          in der \TeX-Terminologie
mit \disp{Rule} bezeichnet, dargestellt.
 Die H"ohe der Rule entspricht der St"arke einer d"unnen Linie
 ({\advance\chap-2 \the\chap.3.3}\XX).
Die Breite wird durch die aktuellen
Seitenbreite (d.h. |\hsize|) gegeben, wobei die Breite in der ersten
Zeile um den Betrag des Einzuges (|\parindent|) verk"urzt ist.
F"unf dieser Linien werden in einem Abstand von einer Notenkopfh"ohe
untereinander gesetzt, d.h. in einer vertikalen Liste verarbeitet.

Da das Liniensystem nur unterlegt werden soll, darf es nicht in die
horizontale Berechnung eingehen. Dies kann wie in
{\advance\chap-1 \the\chap.2.2} \XX
beschrieben,
durch Erzeugen einer horizontalen Box der Breite 0\pt\ geschehen,
wobei das Liniensystem "uber den rechten Rand hinausragt.

Es ergibt sich so die folgende {Box-Glue-Kombination}:
\begindisplay
|\hbox to 0pt{\vbox{\hr\kern\nhh\hr\kern\nhh\hr\kern\nhh\hr|%
|\kern\nhh\hr}|,
\enddisplay
 wobei |\hr| die Rule |\hrule height|\<Zeilenst"arke>| depth
0pt width|\<Zeilenl"ange> bezeichnet.
\Bemerkung
Das Liniensystem ist so angelegt, da\3 die unterste Linie   mit
der Grundlinie der ganzen Zeile "ubereinstimmt ({\advance\chap-1
\the\chap.2.4}\XX).
Dies erschien bei der Konzeption des Notensatzsystems unter Verwendung
von \TeX\ g"unstiger. In anderen Notensatzsystemen, z.B. dem von Gourlay
(\lit{\gourlay})
wird jedoch die Mittellinie (dritte Linie) als Grundlinie
ausgezeichnet.

\subsubsubheading{Der Taktwechsel}
Zu unterscheiden ist zwischen den beiden Taktartnotationen:
\item{a)} Taktangabe innerhalb des Zeilensystems,
\item{b)} Taktangabe oberhalb des Systems.

Im Fall b) wird der Taktwechsel am Zeilenende nicht zus"atzlich
angek"undigt. Er soll deshalb hier nicht betrachtet werden.

Die Forderungen an die Taktangabe k"onnen leicht erf"ullt werden durch
das Kommando

|\discretionary{|\<Taktangabe>|}|
\par
\indent\hbox{}\hskip75pt
|{|\<Zeilensystem>\<Notenschl"ussel>\<Tonart>\<Taktangabe>|}|
\par
\indent\hbox{}\hskip75pt
|{|\<Taktangabe>|}|,

wobei \<Taktangabe> die Box bezeichnet, die die aktuelle Taktangabe
enth"alt. Entsprechendes gilt f"ur \<Zeilensystem> und \<Tonart>.

\subsubsubheading{Der Tonartwechsel}
Der Tonartwechsel kann auf "ahnliche Weise beschrieben werden. Jedoch
ist zu beachten, da\3 die vorher g"ultige Tonart aufgel"ost werden mu\3.
Dazu werden die Versetzungszeichen in zwei verschiedenen Token-Registern
gespeichert (s.\lit{\TeXbook, S.121 ff (Kap. 15)}), wobei das eine die
Versetzungszeichen  der aktuellen Tonart und das
andere die aktuelle Tonart mit den jeweiligen Aufl"osungszeichen
enth"alt.

Bei Tonartwechsel wird zun"achst nur das erste Register durch die neue
Tonart ersetzt, und nachdem der Doppelstrich, die ``aufgel"oste'' vorige
Tonart und die neue Tonart gesetzt wurden, das zweite Register durch die
aktuelle ``aufgel"oste'' Tonart ersetzt. \par
Die Forderungen, die an den
Tonartwechsel gestellt sind, werden dann durch das Kommando

|\discretionary{|\<Doppelstrich>\<aufgel"oste Tonart>\<neue Tonart>|}|
\par
\indent\hbox{}\hskip75pt
|{|\<Zeilensystem>\<Notenschl"ussel>\<neueTonart>|}|\hfil\break
\indent\hbox{}\hskip75pt
|{|\<Doppelstrich>\<aufgel"oste Tonart>\<neue Tonart>|}|\par

erf"ullt.

Gleichzeitig mu\3 die Definition der Kontrollsequenz |\-|,
  die den Zeilenumbruch nach einem
Taktstrich regelt, der neuen Tonart angepa\3t werden, und zwar in
\begindisplay
|\discretionary{}{|\<Zeilensystem>\<Notenschl"ussel>%
\<neue Tonart>|}{}|.
\enddisplay
\subsubsubheading{Der Notenschl"usselwechsel}
Im Unterschied zu Taktart und Tonart besitzt der Notensch"ussel im
Zeileninneren eine andere Gr"o\3e als am Zeilenrand, es mu\3 also ein
anderes Zeichen verwendet werden. Au\3erdem mu\3 nicht unbedingt
zus"atzlicher horizontaler Raum zur Verf"ugung gestellt werden. Aus
diesem Grund wird der Notenschl"ussel im Zeileninneren behandelt wie die
Versetzungszeichen vor einer Note im Taktinneren. Dies soll im n"achsten
Kapitel n"aher erl"autert werden.

Wie bei der Tonart wird auch der Notenschl"ussel in einem Token-Register
gespeichert, das bei Schl"ussel\-wechsel ausgetauscht wird. Es ist zu
beachten, da\3 ein Schl"usselwechsel eine Umpositionierung der
Versetzungszeichen  der Vorzeichnung notwendig macht.

\Beispiel
%Versetzungszeichen
{\hsize7cm
\advance\hsize2\iindent\parindent=2\iindent
\beginsong
\vio\Es\hskip20pt \E\hskip20pt\bass\Es\ \hfill
\=\endsong}
\endBeispiel
\vskip-1cm

\Bemerkung

\item{1)} Da nur Taktart und Tonart einen \tex{pre-break text}
ben"otigen,
kann eine verfeinerte Bewertung erfolgen, indem man |\exhyphenpenalty|
und |\hyphenpenalty| verschiedene Werte zuweist, um einen Umbruch bei
Takt- oder Tonartwechsel zu bevorzugen.


\item{2)} Die genauen Definitionen sind im Format zu finden.
\endBemerkung

\subsubheading{Abstecken}

Das Problem des gleichm"a\3igen Absteckens kann mit \TeX\ auf einfache
Weise gel"ost werden, indem man nach dem in \XX
{\advance\chap-1 \the\chap.2.4} angegebenen
Verfahren den \tex{Interline Glue} festlegt.
Nach \XX \the\chap.1.2
betr"agt die Berechnungsgrundlage f"ur den Abstand
zwischen zwei Liniensystemen zwei Rastralh"ohen. Dieser Wert wird nun
f"ur den nat"urlichen Abstand des Parameters |\baselineskip| angesetzt.

F"ur den Parameter |\lineskiplimit| ist eine halbe Rastralh"ohe
vorgesehen. Dieser Wert wird auch f"ur den nat"urlichen Abstand von
|\lineskip| festgelegt.
W"ahlt man nun als Stauchm"oglichkeit f"ur |\baselineskip| und
|\lineskip| den gleichen Wert, so ist gew"ahrleistet, da\3 die Zeilen
sich bei maximaler Stauchung nicht "uberschneiden k"onnen. Die
Abst"ande k"onnen bis zu einer Rastralh"ohe vergr"o\3ert werden.

Gebe  der Parameter    |\staffheight|
 die Rastralh"ohe an. Dann
ergibt sich  f"ur die {Interline-Glue}-Parameter:
\begindisplay
|\baselineskip = 3 \staffheight plus \staffheight minus 1/2 \staffheight|
\cr
|\lineskiplimit = 1/2 \staffheight|
\cr
|\lineskip = 1/2 \staffheight plus \staffheight minus 1/2 \staffheight|
\enddisplay

Dieser Interline Glue wurde auch f"ur die
im Anhang D gesetzten  Beispiele verwendet.

\vfill\eject