summaryrefslogtreecommitdiff
path: root/macros/mtex/documentation/mdocanhd.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/mtex/documentation/mdocanhd.tex')
-rw-r--r--macros/mtex/documentation/mdocanhd.tex220
1 files changed, 220 insertions, 0 deletions
diff --git a/macros/mtex/documentation/mdocanhd.tex b/macros/mtex/documentation/mdocanhd.tex
new file mode 100644
index 0000000000..982b15e07b
--- /dev/null
+++ b/macros/mtex/documentation/mdocanhd.tex
@@ -0,0 +1,220 @@
+\font\bigrm=cmbx12
+\def\akkzent#1{{\accent'175 #1}}
+\def\Oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant
+\def\Hex#1{\hbox{\rm\akkzent{}\tt#1}} % hexadecimal constant
+\def\mf{METAFONT}
+\def\absatz{\par\penalty-50\vskip7.5pt plus4.5pt minus6pt\noindent}
+\def\abs{\parsep}
+\verbatimon
+\heading {Anhang D:\quad Zeichens"atze}
+\bigskip
+Eine zus"atzliche
+Aufgabe, die sich bei der Automatisierung des Notensatzes
+ergibt, ist die Erstellung von besonderen
+Zeichens"atzen, denn in der Regel enthalten
+die vorhandenen Zeichens"atze keine Notenschriftzeichen.
+Obwohl sie nicht f"ur
+die Noteneingabe, sondern f"ur die Ausgabe von Musik von Bedeutung
+ist, soll hier kurz auf die erstellten Zeichens"atze eingegangen
+werden. Diese werden dann in der Arbeit von A. Steinbach
+\lit{\Steinb} benutzt.
+\abs
+Wie in der Einleitung schon gesagt wurde, wird zur Erstellung der
+Zeichen das zu \TeX\ geh"orende Programm \mf\ verwandt.
+Dieses soll im folgenden kurz erl"autert werden.
+\absatz
+\subheading{Methode zur Erstellung von Zeichens"atzen}
+Die f"ur den Notensatz notwendigen Zeichens"atze werden mit dem
+von D. E. Knuth entwickelten Programm \mf\ erzeugt \lit{\Knuthmf}.
+Dieses Programm bietet sich an, weil zur Darstellung eines Zeichens
+im Gegensatz zu anderen Methoden relativ wenig Daten erforderlich sind.
+Au\3erdem ist es an das f"ur die Automatisierung des Notensatzes
+benutzte Textsatzsystem \TeX\ angepa\3t.
+\abs
+\mf\ erh"alt als Eingabe eine mathematische Beschreibung der Zeichen.
+Diese besteht im wesentlichen aus der Angabe von Kontrollpunkten
+und Anweisungen, wie diese zu verbinden sind.
+Die Punkte werden durch ihre
+Koordinaten, die Verbindungsvorschriften durch Winkel und Steigungen
+beschrieben. \mf\ zieht daraufhin mit verschiedenen Stiften,
+deren Form ebenfalls gew"ahlt werden kann, laut Anweisung
+Kurven durch die Kontrollpunkte. Dazu werden Splines verwendet.
+Ein Vorteil, der bei der Erstellung der Zeichen f"ur den
+Notensatz oft ausgenutzt wird, ist, da\3 mehrmals auftretende Kurven
+einmal
+definiert und mit Hilfe einer Kontrollsequenz
+an den entsprechenden Stellen
+eingesetzt werden k"onnen.
+\abs
+\mf\ erzeugt die Zeichen in der vom Benutzer gew"unschten
+ger"atespezifischen Aufl"osung.
+Eine ausf"uhrliche Beschreibung von \mf\
+steht in dem Buch ``The \mf--book'' von D. E. Knuth \lit{\Knuthmf}.
+\absatz
+Nach dieser kurzen Erkl"arung der Arbeitsweise des Programms
+\mf\ sollen nun die f"ur den automatisierten Notensatz notwendigen
+Zeichens"atze vorgestellt werden.
+\absatz
+\subheading{Zeichens"atze f"ur den Notensatz}
+In den folgenden Tabellen 1 bis 7 werden die erzeugten Zeichens"atze
+(Fonts) gezeigt. Jedes Zeichen (Character) eines Fonts kann "uber
+seinen zugeordneten Charactercode angesprochen werden.
+Die Tabellen sind so aufgebaut, da\3 die
+Codes k"onnen am Tabellenrand sowohl in oktaler
+(\Oct{000} -- \Oct{177}) als auch in hexadezimaler
+(\Hex{00} -- \Hex{7F}) Notation abgelesen werden.
+So hat zum Beispiel das Aufl"osungszeichen
+(\font\music= music16 {\music \char'066\ }) den Oktalcode
+\Oct{066} und den Hexadezimalcode \Hex{36}, der kleine
+Violinschl"ussel dagegen den Code \Oct{118} bzw. \Hex{48}.
+Die bisher erstellten und verwendeten Zeichens"atze haben ein
+Schriftgr"o\3e von 16pt, dies entspricht der H"ohe eines
+Notenliniensystems (Rastralh"ohe). Sie sind also f"ur
+Noten, die eine Notenkopfh"ohe |\nhh| = 4pt besitzen, ausgelegt.
+Der Name
+oben
+links in der Tabelle bezeichnet den jeweiligen Zeichensatz.
+\abs
+Die erste Tabelle enth"alt die Notenschriftelemente wie Notenk"opfe,
+F"ahnchen, Versetzungszeichen, Pausen, Notenschl"ussel und Sonderzeichen,
+zum Beispiel f"ur Taktangaben.
+Dieser Zeichensatz ist noch durch Hinzunahme weiterer Sonderzeichen
+erweiterbar.
+\abs
+Tabelle 2 zeigt den Zeichensatz, der f"ur den Satz der Balken
+notwendig ist. Die Balken unterscheiden
+sich in der L"ange und der Steigung
+voneinander. Allerdings k"onnen nicht alle Balken beliebiger L"ange
+in den Zeichens"atzen aufgef"uhrt werden, da diese sonst zu
+umfangreich werden w"urden. Aus diesem Grund werden die
+Balken
+aus Teilst"ucken zusammengesetzt. F"ur die Steigungen sind
+charakteristische Balkensteigungen ausgew"ahlt worden (\lit{\Steinb},
+Kap.11). Eine Zeile der Tabelle enth"alt die zu einer festen
+Balkensteigung geh"orenden Teilst"ucke. Die L"ange
+dieser Teilst"ucke wird dabei von einer Spalte zur andern verdoppelt.
+In einer Spalte stehen die Teilst"ucke, deren Anfangs-- und
+Endpunkte jeweils die gleichen Abzissenwerte haben. Der Code eines
+Balkenst"ucks kann demnach mit einer einfachen Gleichung
+aus seiner L"ange und Steigung
+berechnet werden.
+\abs
+Der dritte Zeichensatz (Tabelle 3) enth"alt die ungeteilten Haltebogen,
+die Crescendo-- und Decrescendozeichen und Bogenst"ucke, aus
+denen Bogen zusammengesetzt werden k"onnen. Die Bogenst"ucke
+sind zeilenweise mit wachsender Steigung angeordnet, w"ahrend die
+anderen Zeichen dieses Zeichensatzes der L"ange nach geordnet sind.
+Der Auswahl der L"angen und Steigungen liegen die Berechnungen
+aus \lit{\Steinb}, Kap.11 zugrunde. Dies gilt auch f"ur die
+n"achsten Zeichens"atze.
+\abs
+Die restlichen vier Tabellen zeigen die Zeichens"atze f"ur
+Bogen. Tabelle 4 und 5 enthalten die konvexen Bogen, Tabelle 6 und
+7 die konkaven Bogen. Die konvexen Bogen werden oberhalb
+einer Notenzeile gezogen, w"ahrend die konkaven Bogen
+unterhalb einer Notenzeile gezeichnet werden.
+Die beiden Zeichens"atze, die zu einer Bogenart geh"oren, unterscheiden
+sich in der Sekantensteigung. In Tabelle 4 und 6 sind die Bogen
+mit positiver, in Tabelle 5 und 7 mit negativer Sekantensteigung
+aufgelistet.
+Die Bogen innerhalb eines Zeichensatzes sind wiederum so angelegt, da\3
+der Charactercode eines Bogens wieder
+aus der
+L"ange und Steigung berechnet werden kann.
+Dabei wurden jedoch die Bogen spaltenweise mit wachsender Steigung
+angeordnet, wobei jede Spalte Bogen von zwei verschiedenen L"angen
+enth"alt. Eine Ausnahme bildet die erste Spalte. Dort wurden
+alle zum Satz erforderlichen Bogen der L"angen 1 |\nhw|, 2 |\nhw|
+und 3 |\nhw| angeordnet.
+\absatz
+Im Anschlu\3 an diese Beschreibung folgen die einzelnen
+Zeichens"atze (Tabellen 1 bis 7). Das \mf-Programm, mit dem
+die Zeichens"atze generiert werden k"onnen,
+ist in der vorliegenden Arbeit
+weggelassen worden und kann gesondert angefordert werden.
+\vfill\eject
+\verbatimoff
+
+
+% macros for font tables
+% aus dem \tex book von Donald E. Knuth
+\verbatimon
+\countdef\counter=255
+\def\oddline#1{\cr
+ \noalign{\nointerlineskip}
+ \multispan{19}\hrulefill&
+ \setbox0=\hbox{\lower 2.3pt\hbox{\Hex{#1x}}}\smash{\box0}\cr
+ \noalign{\nointerlineskip}}
+\def\evenline{\cr\noalign{\hrule}}
+\def\chartstrut{\lower4.5pt\vbox to14pt{}}
+\def\beginchart#1{$$\global\counter=0 #1
+ \halign to\hsize\bgroup
+ \chartstrut##\tabskip0pt plus10pt&
+ &\hfil##\hfil&\vrule##\cr
+ \lower6.5pt\null
+ &{\it\fontname\ }
+&&\Oct0&&\Oct1&&\Oct2&&\Oct3&&\Oct4&&\Oct5&&\Oct6&&\Oct7&\evenline}
+\def\endchart{\raise11.5pt\null&&&\Hex 8&&\Hex 9&&\Hex A&&\Hex B&
+ &\Hex C&&\Hex D&&\Hex E&&\Hex F&\cr\egroup$$}
+\def\:{\setbox0=\hbox{\char\counter}%
+ \ifdim\ht0>7.5pt \dimen1=\ht0 \advance \dimen1 by 2pt \ht0=\dimen1 \fi
+ \ifdim\dp0>2.5pt \dimen1=\dp0 \advance \dimen1 by 2pt \dp0=\dimen1 \fi
+ \setbox0=\hbox{%
+ \vrule depth \dp0 width 0pt \box0}\box0\global\advance\counter by1 }
+\def\normalchart{%
+ &\Oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0
+ &\Oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\Oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1
+ &\Oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\Oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2
+ &\Oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\Oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3
+ &\Oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\Oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4
+ &\Oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\Oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5
+ &\Oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\Oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6
+ &\Oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\Oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7
+ &\Oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline}
+\def\table #1 {{\offinterlineskip
+\font\sfont=#1
+\edef\fontname{#1}
+\beginchart\sfont
+\normalchart
+\endchart
+\bigskip
+}}
+
+\table{music16}
+\centerline{\bf Tabelle 1}
+\vfill\eject
+
+\table{beam16}
+\centerline{\bf Tabelle 2}
+\vfill\eject
+%
+{
+\advance\hsize by 4cm\advance \hoffset by -2cm
+\table{slur16}
+\centerline{\bf Tabelle 3}
+\vfill\eject
+}
+
+\table{sluruu16}
+\centerline{\bf Tabelle 4}
+\vfill\eject
+
+\table{slurdu16}
+\centerline{\bf Tabelle 5}
+\vfill\eject
+
+\table{slurud16}
+\centerline{\bf Tabelle 6}
+\vfill\eject
+
+\table{slurdd16}
+\centerline{\bf Tabelle 7}
+\vfill\eject
+