@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes. @end ignore @c \version "2.17.6" @c Translators: Till Paala @node Text @section Text @translationof Text @lilypondfile[quote]{text-headword.ly} Dieser Abschnitt erklärt, wie man Text (mit vielfältiger Formatierung) in Partituren einfügt. @noindent Einige Textelemente, die hier nicht behandelt werden, finden sich in anderen Abschnitten: @ref{Notation von Gesang}, @ref{Titel}. @menu * Text eingeben:: * Text formatieren:: * Schriftarten:: @end menu @node Text eingeben @subsection Text eingeben @translationof Writing text Dieser Abschnitt zeigt verschiedene Arten, wie Text in die Partitur eingefügt werden kann. @cindex Text, andere Sprachen @warning{Wenn man Zeichen mit Akzenten und Umlaute oder besondere Zeichen (wie etwa Text mit anderen Alphabeten) eingeben möchte, kann man die Zeichen einfach direkt in die Datei einfügen. Die Datei muss als UTF-8 gespeichert werden. Für mehr Information siehe @ref{Zeichenkodierung}.} @menu * Textarten:: * Text mit Verbindungslinien:: * Textartige Zeichen:: * Separater Text:: @end menu @node Textarten @unnumberedsubsubsec Textarten @translationof Text scripts @cindex Textarten @cindex Textelemente, nicht leer @cindex zitierter Text Am einfachsten kann Text mit geraden Anführungsstrichen in eine Partitur eingefügt werden, wie das folgende Beispiel zeigt. Derartiger Text kann manuell über oder unter dem Notensystem platziert werden, die Syntax hierzu ist beschrieben in @ref{Richtung und Platzierung}. @lilypond[quote,verbatim,relative=2] a8^"pizz." g f e a4-"scherz." f @end lilypond Diese Syntax ist eine Kurzform, komplexere Formatierungen können einem Text hinzugefügt werden, wenn man explizit den @code{\markup}-Befehl mit darauf folgenden geschweiften Klammern einsetzt, wie beschrieben in @ref{Text formatieren}. @lilypond[quote,verbatim,relative=2] a8^\markup { \italic pizz. } g f e a4_\markup { \tiny scherz. \bold molto } f @end lilypond Standardmäßig haben Textbeschriftungen keinen Einfluss auf die Positionierung der Noten. Man kann aber auch bestimmen, dass die Breite des Textes mit berücksichtigt wird. Im nächsten Beispiel fordert der erste Text keinen Platz, während der zweite die Note nach rechts verschiebt. Das Verhalten wird mit dem Befehl @code{\textLengthOn} (Textlänge an) erreicht, rückgängig kann es mit dem Befehl @code{\textLengthOff} gemacht werden. @lilypond[quote,verbatim,relative=2] a8^"pizz." g f e \textLengthOn a4_"scherzando" f @end lilypond Neben Textbeschriftungen können auch Artikulationen an Noten angehängt werden. Siehe auch @ref{Artikulationszeichen und Verzierungen}. Zu weiterer Information zu der relativen Anordnung von Textbeschriftungen und Artikulationen, siehe @rlearning{Positionierung von Objekten}. @funindex \textLengthOn @funindex \textLengthOff @funindex textLengthOn @funindex textLengthOff @predefined @code{\textLengthOn}, @code{\textLengthOff}. @endpredefined @seealso Handbuch zum Lernen: @rlearning{Positionierung von Objekten}. Notationsreferenz: @ref{Text formatieren}, @ref{Richtung und Platzierung}, @ref{Artikulationszeichen und Verzierungen}. Schnipsel: @rlsr{Text}. Referenz der Interna: @rinternals{TextScript}. @cindex Text außerhalb des Randes @cindex Rand, überhängender Text @cindex Seitenrand, überhängender Text @cindex Gesangstext, innerhalb des Randes behalten @cindex Text, innerhalb des Randes behalten @knownissues Eine Überprüfung, ob sich auch alle Textbeschriftungen und Gesangstext innerhalb der Ränder der Noten befinden, braucht verhältnismäßig viel Rechenaufwand. Sollten Sie aber etwas bessere Leistung bevorzugen, schreiben Sie in Ihre Datei: @example \override Score.PaperColumn.keep-inside-line = ##f @end example @node Text mit Verbindungslinien @unnumberedsubsubsec Text mit Verbindungslinien @translationof Text spanners @cindex Textstrecker @cindex Strecker, Text Einige Aufführungsanweisungen, etwa @notation{rallentando} oder @notation{accelerando}, werden als Text geschrieben, gefolgt von einer gestrichelten Linie, die anzeigt, wie weit sich die Anweisung auswirkt. Solche Objekte, @qq{Strecker} (engl. spanners) genannt, können von einer Note bis zu einer anderen mit folgender Anweisung erstellt werden: @lilypond[verbatim,quote,relative=2] \override TextSpanner.bound-details.left.text = "rit." b1\startTextSpan e,\stopTextSpan @end lilypond @cindex Textstrecker, Formatierung @cindex Formatierung von Textstreckern @cindex Strecker, Text-, Formatierung @noindent Der Text wird durch Objekteigenschaften beeinflusst. In den Standardeinstellungen wird er kursiv ausgegeben, aber eine andere Formatierung kann erreicht werden, indem man @code{\markup}-Blöcke einsetzt, wie beschrieben in @ref{Text formatieren}. @lilypond[quote,relative=2,verbatim] \override TextSpanner.bound-details.left.text = \markup { \upright "rit." } b1\startTextSpan c e,\stopTextSpan @end lilypond Auch der Stil der Linie kann ähnlich wie der Text mit den Objekteigenschaften geändert werden. Diese Syntax ist beschrieben in @ref{Linienstile}. Textstrecker sind Teil des @code{Dynamic}-Kontextes, siehe @rinternals{Dynamics}. @funindex textSpannerUp @funindex textSpannerDown @funindex textSpannerNeutral @funindex \textSpannerUp @funindex \textSpannerDown @funindex \textSpannerNeutral @predefined @code{\textSpannerUp}, @code{\textSpannerDown}, @code{\textSpannerNeutral}. @endpredefined @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {dynamics-text-spanner-postfix.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {dynamics-custom-text-spanner-postfix.ly} @seealso Notationsreferenz: @ref{Linienstile}, @ref{Dynamik}, @ref{Text formatieren}. Schnipsel: @rlsr{Text}, @rlsr{Expressive marks}. Referenz der Interna: @rinternals{TextSpanner} @node Textartige Zeichen @unnumberedsubsubsec Textartige Zeichen @translationof Text marks @cindex Textzeichen @cindex textartige Zeichen @cindex Zeichen, textartige @cindex Text am Taktstrich @cindex Coda am Taktstrich @cindex Segno an Taktstrich @cindex Fermate an Taktstrich @cindex Taktstrich, Symbole anfügen @cindex Symbole auf der Taktstrich @funindex \mark @funindex mark @funindex \markup @funindex markup Verschiedene Textelemente können der Partitur hinzugefügt werden, indem man die Syntax für Zeichen einsetzen, wie beschrieben in @ref{Übungszeichen}: @c \mark needs to be placed on a separate line (it's not @c attached to an object like \markup is). -vv @lilypond[verbatim,quote,relative=2] c4 \mark "Allegro" c c c @end lilypond Diese Syntax ermöglicht es, beliebigen Text über eine Taktlinie zu platzieren, weitere Formatierungsmöglichkeiten sind mit dem @code{\markup}-Befehl gegeben, wie beschrieben in @ref{Text formatieren}: @lilypond[quote,verbatim,relative=1] 1 \mark \markup { \italic { colla parte } } 2 1 @end lilypond @noindent Diese Syntax ermöglicht es auch, besondere Zeichen einzufügen, wie etwa Coda-, Segno- oder Fermatenzeichen, indem das entsprechende Symbol mit dem Befehl @code{\musicglyph} angegeben wird, wie beschrieben in @ref{Musikalische Notation innerhalb einer Textbeschriftung}: @lilypond[quote,verbatim,relative=2] 2 \mark \markup { \musicglyph #"scripts.ufermata" } 1 @end lilypond @noindent Derartige Objekte werden über dem höchsten System einer Partitur gesetzt -- abhängig davon, ob sie mitten im Takt oder an seinem Ende notiert werden, werden sie zwischen Noten oder über der Taktlinie gesetzt. Wenn sie an einem Zeilenumbruch angegeben werden, wird das Zeichen zu Beginn der nächsten Zeile ausgegeben. @lilypond[quote,verbatim,relative=2] \mark "Allegro" c1 c \mark "assai" \break c c @end lilypond @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-marks-at-the-end-of-a-line.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {aligning-marks-with-various-notation-objects.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-marks-on-every-staff.ly} @seealso Notationsreferenz: @ref{Übungszeichen}, @ref{Text formatieren}, @ref{Musikalische Notation innerhalb einer Textbeschriftung}, @ref{Die Feta-Schriftart}. Schnipsel: @rlsr{Text}. Referenz der Interna: @rinternals{MarkEvent}, @rinternals{Mark_engraver}, @rinternals{RehearsalMark}. @knownissues Wenn ein Zeichen am Ende des letzten Taktes einer Partitur gesetzt wird (wenn also keine nächste Zeile mehr kommt), wird das Zeichen nicht ausgegeben. @node Separater Text @unnumberedsubsubsec Separater Text @translationof Separate text @cindex separater Text @cindex Text alleine @cindex nur Text @cindex Text, oberste Ebene @cindex oberste Ebene, Text @funindex \markup @funindex markup Eine @code{\markup}-Umgebung kann auch für sich alleine existieren, außerhalb einer @code{\score}-Umgebung, als ein Ausdruck auf der höchsten Ebene. Diese Syntax ist beschrieben in @ref{Die Dateistruktur}. @c KEEP LY @lilypond[verbatim,quote] \markup { Morgen, morgen, und morgen... } @end lilypond @noindent Damit kann Text unabhängig von den Noten gesetzt werden. Das bietet sich vor allem in Situationen an, in denen mehrere Stücke in einer Datei vorkommen, wie beschrieben in @ref{Mehrere Partituren in einem Buch}. @c KEEP LY @lilypond[quote,verbatim] \score { c'1 } \markup { Morgen, übermorgen, und überübermorgen... } \score { c'1 } @end lilypond Unabhängige Textabschnitte können über mehrere Seiten reichen, so dass man Textdokumente oder Bücher ausschließlich mit LilyPond setzen kann. Einzelheiten zu den vielfältigen Möglichkeiten finden sich in @ref{Textbeschriftung über mehrere Seiten}. @funindex \markuplist @funindex \markup @funindex markuplist @funindex markup @predefined @code{\markup}, @code{\markuplist}. @endpredefined @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {stand-alone-two-column-markup.ly} @seealso Notationsreferenz: @ref{Text formatieren}, @ref{Die Dateistruktur}, @ref{Mehrere Partituren in einem Buch}, @ref{Textbeschriftung über mehrere Seiten}. Schnipsel: @rlsr{Text}. Referenz der Interna: @rinternals{TextScript}. @node Text formatieren @subsection Text formatieren @translationof Formatting text Dieser Abschnitt zeigt grundlegende und fortgeschrittene Formatierung von Text, wobei der Textbeschriftungsmodus (@code{\markup} benutzt wird. @menu * Textbeschriftung (Einleitung):: * Überblick über die wichtigsten Textbeschriftungsbefehle:: * Textausrichtung:: * Graphische Notation innerhalb einer Textbeschriftung:: * Musikalische Notation innerhalb einer Textbeschriftung:: * Textbeschriftung über mehrere Seiten:: @end menu @node Textbeschriftung (Einleitung) @unnumberedsubsubsec Textbeschriftung (Einleitung) @translationof Text markup introduction @cindex markup @cindex Textbeschriftung @cindex Beschriftung, Text @cindex Setzen von Text @funindex markup @funindex \markup Eine @code{\markup}-Umgebung wird benutzt, um Text mit einer großen Anzahl von Formatierungsmöglichkeiten (im @qq{markup-Modus}) zu setzen. @cindex Textbeschriftungs-Ausdrücke @cindex Text, Syntax @cindex markup, Syntax @cindex Ausdrück, Text Die Syntax für Textbeschriftungen ähnelt der normalen Syntax von LilyPond: ein @code{\markup}-Ausdruck wird in geschweifte Klammern eingeschlossen (@code{@{@dots{} @}}). Ein einzelnes Wort wird als ein Minimalausdruck erachtet und muss deshalb nicht notwendigerweise eingeklammert werden. Anders als Text in Anführungsstrichen können sich in einer Textbeschriftungsumgebung (@code{\markup}) geschachtelte Ausdrücke oder weitere Textbefehle befinden, eingeführt mit einem Backslash@tie{}(@code{\}). Derartige Befehle beziehen sich nur auf den ersten der folgenden Ausdrücke. @lilypond[quote,verbatim,relative=2] a1-\markup intenso a2^\markup { poco \italic più forte } c e1 d2_\markup { \italic "string. assai" } e b1^\markup { \bold { molto \italic agitato } } c @end lilypond @cindex Sonderzeichen in Textbeschriftungen @cindex Textbeschriftung, Sonderzeichen @cindex besondere Zeichen, Text @cindex Text mit Sonderzeichen @cindex Anführungsstriche im Text @cindex Drucken von Sonderzeichen @cindex Setzen von Sonderzeichen @cindex Beschriftung, Sonderzeichen Eine @code{\markup}-Umgebung kann auch Text in Anführungszeichen beinhalten. Derartige Zeichenketten werden als ein Textausdruck angesehen, und darum werden innerhalb von ihnen Befehle oder Sonderzeichen (wie @code{\} oder@tie{}@code{#}) so ausgegeben, wie sie eingeben werden. Doppelte Anführungsstriche können gesetzt werden, indem man ihnen einen Backslash voranstellt. @c KEEP LY @lilypond[quote,verbatim,relative=2] a1^"\italic Text..." a_\markup { \italic "... setzt \"kursive\" Buchstaben!" } a a @end lilypond Damit eine Anzahl von Wörtern als ein einziger Ausdruck behandelt wird, müssen alle Wörter zwischen geraden Anführungszeichen (Shift+2) stehen oder ihnen muss ein Befehl vorangestellt werden. Die Art, wie die Ausdrücke definiert sind, wirkt sich darauf aus, wie sie übereinander gestapelt, mittig und aneinander ausgerichtet werden. Im folgenden Beispiel verhält sich der zweite @code{\markup}-Ausdruck genauso wie der erste: @lilypond[quote,verbatim,relative=2] c1^\markup { \center-column { a bbb c } } c1^\markup { \center-column { a { bbb c } } } c1^\markup { \center-column { a \line { bbb c } } } c1^\markup { \center-column { a "bbb c" } } @end lilypond Textbeschriftung kann auch durch Variablen definiert werden. Diese Variablen können dann direkt an Noten angefügt werden: @lilypond[quote,verbatim] allegro = \markup { \bold \large Allegro } { d''8.^\allegro d'16 d'4 r2 } @end lilypond @noindent Eine ausführliche Liste der @code{\markup}-Befehle findet sich in @ref{Textbeschriftungsbefehle}. @seealso Notationsreferenz: @ref{Textbeschriftungsbefehle}. Schnipsel: @rlsr{Text}. Installierte Dateien: @file{scm/markup.scm}. @knownissues Syntaxfehler im Textbeschriftungsmodus können sehr verwirrend sein. @node Überblick über die wichtigsten Textbeschriftungsbefehle @unnumberedsubsubsec Überblick über die wichtigsten Textbeschriftungsbefehle @translationof Selecting font and font size @cindex Schriftschnitt verändern @cindex Schriftart verändern @cindex Verändern der Schriftart @funindex \italic @funindex \bold @funindex \underline @funindex italic @funindex bold @funindex underline Einfache Änderungen des Schriftartschnitts können im Textbeschriftungsmodus vorgenommen werden: @lilypond[quote,verbatim,relative=2] d1^\markup { \bold { Più mosso } \italic { non troppo \underline Vivo } } r2 r4 r8 d,_\markup { \italic quasi \smallCaps Tromba } f1 d2 r @end lilypond @cindex Schriftgröße @cindex Textgröße @cindex Größe der Schriftart @funindex \abs-fontsize @funindex \fontsize @funindex \smaller @funindex \larger @funindex \magnify @funindex fontsize @funindex smaller @funindex larger @funindex magnify Die Schriftgröße kann auf verschiedene Arten verändert werden, relativ zur globalen Notensystemgröße: Sie kann auf eine vordefinierte Größe gesetzt werden: @lilypond[quote,verbatim,relative=2] b1_\markup { \huge Sinfonia } b1^\markup { \teeny da } b1-\markup { \normalsize camera } @end lilypond Sie kann relativ zum vorherigen Wert gesetzt werden: @lilypond[quote,verbatim,relative=2] b1_\markup { \larger Sinfonia } b1^\markup { \smaller da } b1-\markup { \magnify #0.6 camera } @end lilypond Sie kann vergrößert oder verkleinert werden relativ zum Wert, der von der globalen Notensystemgröße vorgegeben wird: @lilypond[quote,verbatim,relative=2] b1_\markup { \fontsize #-2 Sinfonia } b1^\markup { \fontsize #1 da } b1-\markup { \fontsize #3 camera } @end lilypond Sie kann auch auf eine bestimmte Punktegröße festgelegt werden, unabhängig von der globalen Notensystemgröße: @lilypond[quote,verbatim,relative=2] b1_\markup { \abs-fontsize #20 Sinfonia } b1^\markup { \abs-fontsize #8 da } b1-\markup { \abs-fontsize #14 camera } @end lilypond @cindex hochgestellt @cindex tiefergestellt @funindex \super @funindex super @funindex \sub @funindex sub @funindex \normal-size-super @funindex normal-size-super Text kann auch hoch- bzw. tiefgestellt gesetzt werden. Die so markierten Buchstaben werden automatisch in einer kleineren Schriftgröße gesetzt, aber die normale Schriftgröße kann auch eingesetzt werden: @lilypond[quote,verbatim] \markup { \column { \line { 1 \super st movement } \line { 1 \normal-size-super st movement \sub { (part two) } } } } @end lilypond @cindex Schriftfamilien @cindex Schriftschnitte Der Textbeschriftungsmodus stellt eine einfache Möglichkeit zur Verfügung unterschiedliche Schriftschnitte anzuwählen. Ohne besondere Einstellungen wird automatisch eine Schriftart mit Serifen ausgewählt. Das Beispiel unten zeigt die Verwendung der eigenen Zahlenschriftart von LilyPond, den Einsatz von serifenloser Schriftart und von Schreibmaschinenschriftart. Die letzte Zeile zeigt, dass sich die Standardeinstellung mit dem Befehl @code{\roman} wieder herstellen lässt. @lilypond[quote,verbatim] \markup { \column { \line { Act \number 1 } \line { \sans { Scene I. } } \line { \typewriter { Verona. An open place. } } \line { Enter \roman Valentine and Proteus. } } } @end lilypond @noindent Einige dieser Schriftarten, etwa die Zahlenschriftart oder die Schriftart für Dynamikzeichen, stellen nicht alle Zeichen zur Verfügung, wie beschrieben in @ref{Neue Lautstärkezeichen} und @ref{Manuelle Wiederholungszeichen}. @c \concat is actually documented in Align (it is not @c a font-switching command). But we need it here. -vv Einige Schriftartbefehle können ungewollte Leerzeichen innerhalb von Wörtern hervorrufen. Das kann vermieden werden, indem die einzelnen Elemente mit dem Befehl @code{\concat} zu einem Element verschmolzen werden: @lilypond[quote,verbatim] \markup { \column { \line { \concat { 1 \super st } movement } \line { \concat { \dynamic p , } \italic { con dolce espressione } } } } @end lilypond Eine ausführliche Liste der unterschiedlichen Befehl zur Beeinflussung der Schriftarten findet sich in @ref{Font}. Es ist auch möglich, eigene Schriftfamilien zu definieren, wie erklärt in @ref{Schriftarten}. @funindex \teeny @funindex \tiny @funindex \small @funindex \normalsize @funindex \large @funindex \huge @funindex \smaller @funindex \larger @funindex teeny @funindex tiny @funindex small @funindex normalsize @funindex large @funindex huge @funindex smaller @funindex larger @predefined @code{\teeny}, @code{\tiny}, @code{\small}, @code{\normalsize}, @code{\large}, @code{\huge}, @code{\smaller}, @code{\larger}. @endpredefined @seealso Notationsreferenz: @ref{Font}, @ref{Neue Lautstärkezeichen}, @ref{Manuelle Wiederholungszeichen}, @ref{Schriftarten}. Installierte Dateien: @file{scm/define-markup-commands.scm}. Schnipsel: @rlsr{Text}. Referenz der Interna: @rinternals{TextScript}. @knownissues Wenn die Befehle @code{\teeny}, @code{\tiny}, @code{\small}, @code{\normalsize}, @code{\large} und @code{\huge} eingesetzt werden, erhält man schlechte Zeilenabstände verglichen mit @code{\fontsize}. @node Textausrichtung @unnumberedsubsubsec Textausrichtung @translationof Text alignment @cindex Text, Ausrichtung @cindex Ausrichtung von Text @cindex Textbeschriftung ausrichten @cindex Beschriftung ausrichten Dieser Abschnitt zeigt, wie man Text im Textbeschriftungsmodus eingibt. Textobjekte können auch als eine Einheit verschoben werden, wie beschrieben in @rlearning{Verschieben von Objekten}. @c Padding commands should be mentioned on this page, but @c most of these require \box to be more clearly illustrated. -vv @cindex Text, horizontale Ausrichtung @cindex horizontale Ausrichtung von Text @funindex \left-align @funindex \center-align @funindex \right-align @funindex left-align @funindex center-align @funindex right-align Textbeschriftungsobjekte können auf verschiedene Weise ausgerichtet werden. Standardmäßig wird ein Textobjekt an seiner linken Ecke ausgerichtet, darum wird das erste und zweite Objekt gleichermaßen an der linken Ecke ausgerichtet. @lilypond[quote,verbatim,relative=2] d1-\markup { poco } f d-\markup { \left-align poco } f d-\markup { \center-align { poco } } f d-\markup { \right-align poco } @end lilypond @funindex \halign @funindex halign Die horizontale Ausrichtung kann mit einer Zahl auf einen exakten Wert festgelegt werden: @lilypond[quote,verbatim,relative=2] a1-\markup { \halign #-1 poco } e' a,-\markup { \halign #0 poco } e' a,-\markup { \halign #0.5 poco } e' a,-\markup { \halign #2 poco } @end lilypond @noindent Manche Objekte haben eigene Ausrichtungsvorgänge und werden deshalb nicht von diesen Befehlen beeinflusst. Es ist möglich, solche Objekte als eine Einheit anzusprechen und zu bewegen, wie gezeigt in @ref{Textartige Zeichen}. @cindex Text, vertikale Ausrichtung @cindex vertikale Ausrichtung von Text @funindex \raise @funindex \lower @funindex \null @funindex raise @funindex lower @funindex null Die vertikale Ausrichtung ist etwas schwieriger. Textelemente können komplett verschoben werden, es ist aber auch möglich, nur einen Teil innerhalb der Textbeschriftung zu bewegen. In diesem Fall muss dem zu verschiebenden Objekt ein Ankerpunkt zugewiesen werden, welcher entweder ein anderes Textelement oder ein unsichtbares Objekt sein kann (im Beispiel mit @code{\null} erstellt). Der letzte Text im Beispiel hat keinen Anker und wird deshalb auch nicht verschoben. @lilypond[quote,verbatim,relative=1] d2^\markup { Acte I \raise #2 { Scène 1 } } a' g_\markup { \null \lower #4 \bold { Très modéré } } a d,^\markup { \raise #4 \italic { Une forêt. } } a'4 a g2 a @end lilypond @funindex \general-align @funindex \translate @funindex \translate-scaled @funindex general-align @funindex translate @funindex translate-scaled Einige Befehle können sowohl die horizontale als auch die vertikale Ausrichtung von Textobjekten beeinflussen. Jedes Objekt, das auf diese Weise verschoben wird, benötigt einen Anker: @lilypond[quote,verbatim,relative=1] d2^\markup { Acte I \translate #'(-1 . 2) "Scène 1" } a' g_\markup { \null \general-align #Y #3.2 \bold "Très modéré" } a d,^\markup { \null \translate-scaled #'(-1 . 2) \teeny "Une forêt." } a'4 a g2 a @end lilypond @cindex mehrzeiliger Text @cindex Text, mehrere Zeilen @cindex Blöcke, Text @cindex Textblöcke @cindex Beschriftung, mehrzeilig @cindex Textbeschriftung, mehrzeilig @funindex \column @funindex \center-column @funindex column @funindex center-column Ein Textbeschriftungsobjekt kann mehrere Zeilen beinhalten. Im folgenden Beispiel wird jeder Ausdruck innerhalb von @code{\markup} auf einer eigenen Zeile gesetzt, entweder linksbündig oder zentriert: @lilypond[quote,verbatim] \markup { \column { a "b c" \line { d e f } } \hspace #10 \center-column { a "b c" \line { d e f } } } @end lilypond @cindex Text auf der Seite zentrieren @cindex Zentrieren von Text auf der Seite @cindex Beschriftung, Zentrieren auf der Seite @funindex \fill-line @funindex fill-line Eine Anzahl an Ausdrücken innerhalb von @code{\markup} kann auch gestreckt werden, so dass die gesamte Seitenbreite benutzt wird. Wenn nur ein Objekt vorhanden ist, wird es zentriert gesetzt. Die Ausdrücke selber können wiederum mehrzeilig sein und andere Textbeschriftungsbefehle beinhalten. @lilypond[quote,verbatim] \markup { \fill-line { \line { William S. Gilbert } \center-column { \huge \smallCaps "The Mikado" or \smallCaps "The Town of Titipu" } \line { Sir Arthur Sullivan } } } \markup { \fill-line { 1885 } } @end lilypond @cindex Umbruch von Text @cindex Blocksatz, Text @cindex Text, Blocksatz @cindex Beschriftung, Blocksatz @cindex Textbeschriftung, Blocksatz @funindex \wordwrap @funindex \justify @funindex wordwrap @funindex justify Längere Texte können auch automatisch umgebrochen werden, wobei es möglich ist, die Zeilenbreite zu bestimmen. Der Text ist entweder linksbündig oder im Blocksatz, wie das nächste Beispiel illustriert: @lilypond[quote,verbatim] \markup { \column { \line \smallCaps { La vida breve } \line \bold { Acto I } \wordwrap \italic { (La escena representa el corral de una casa de gitanos en el Albaicín de Granada. Al fondo una puerta por la que se ve el negro interior de una Fragua, iluminado por los rojos resplandores del fuego.) } \hspace #0 \line \bold { Acto II } \override #'(line-width . 50) \justify \italic { (Calle de Granada. Fachada de la casa de Carmela y su hermano Manuel con grandes ventanas abiertas a través de las que se ve el patio donde se celebra una alegre fiesta) } } } @end lilypond @cindex Textausrichtungsbefehle @cindex Textausrichtung, Befehle @cindex Befehle zur Textausrichtung @cindex Ausrichtung von Text, Befehle Eine vollständige Liste der Textausrichtungsbefehle findet sich in @ref{Align}. @seealso Handbuch zum Lernen: @rlearning{Verschieben von Objekten}. Notationsreferenz: @ref{Align}, @ref{Textartige Zeichen}. Installierte Dateien: @file{scm/define-markup-commands.scm}. Schnipsel: @rlsr{Text}. Referenz der Interna: @rinternals{TextScript}. @node Graphische Notation innerhalb einer Textbeschriftung @unnumberedsubsubsec Graphische Notation innerhalb einer Textbeschriftung @translationof Graphic notation inside markup @cindex Graphik, eingebunden @cindex Illustrationen im Text @cindex Zeichnen im Text @cindex Abbildungen im Text @cindex Objekte, Graphik im Text @cindex eingebundene Graphik im Text Verschiedene graphische Objekte können im Textbeschriftungsmodus eingefügt werden. @cindex Kasten, Graphik @cindex gerundeter Kasten, Graphik @cindex Klammern, Graphik @cindex Text verzieren @cindex Text einrahmen @cindex Rahmen, Text @funindex \box @funindex \circle @funindex \rounded-box @funindex \bracket @funindex \hbracket @funindex box @funindex circle @funindex rounded-box @funindex bracket @funindex hbracket Mit bestimmten Textbeschriftungsbefehlen kann man Textelementen Graphik hinzufügen, wie das nächste Beispiel zeigt: @lilypond[quote,verbatim] \markup \fill-line { \center-column { \circle Jack \box "in the box" \null \line { Erik Satie \hspace #3 \bracket "1866 - 1925" } \null \rounded-box \bold Prelude } } @end lilypond @cindex Platz um Text @cindex Rand um Text @cindex Füllung um Text @cindex Text, Rand außen @funindex \pad-markup @funindex \pad-x @funindex \pad-to-box @funindex \pad-around @funindex pad-markup @funindex pad-x @funindex pad-to-box @funindex pad-around Es kann nötig sein, einem Text mehr Platz einzuräumen. Das geschieht mit verschiedenen Befehlen, wie das folgende Beispiel zeigt. Eine ausführliche Übersicht findet sich in @ref{Align}. @lilypond[quote,verbatim] \markup \fill-line { \center-column { \box "Charles Ives (1874 - 1954)" \null \box \pad-markup #2 "THE UNANSWERED QUESTION" \box \pad-x #8 "A Cosmic Landscape" \null } } \markup \column { \line { \hspace #10 \box \pad-to-box #'(-5 . 20) #'(0 . 5) \bold "Largo to Presto" } \pad-around #3 "String quartet keeps very even time, Flute quartet keeps very uneven time." } @end lilypond @cindex Graphische Notation @cindex Symbole, nicht musikalische @cindex Notation, graphische @cindex nichtmusikalische Symbole @funindex \combine @funindex \draw-circle @funindex \filled-box @funindex \triangle @funindex \draw-line @funindex \arrow-head @funindex combine @funindex draw-circle @funindex filled-box @funindex triangle @funindex draw-line @funindex arrow-head Andere graphische Elemente oder Symbole können gesetzt werden, ohne dass man Text benötigt. Wie mit allen Textbeschriftungen können Objekte innerhalb von @code{\markup} kombiniert werden. @lilypond[quote,verbatim] \markup { \combine \draw-circle #4 #0.4 ##f \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1 \hspace #5 \center-column { \triangle ##t \combine \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f } } @end lilypond @cindex Einbinden von Graphik @cindex Bilder einbinden @cindex Graphik einbinden @cindex Postscript, Graphik @funindex \epsfile @funindex \postscript @funindex epsfile @funindex postscript Fortgeschrittene graphische Möglichkeiten bietet unter Anderem eine Funktion, mit der man externe Graphiken im Encapsulated PostScript (@emph{eps}) -Format einbinden kann oder aber Graphiken direkt in den Quelltext unter Verwendung von PostScript-Code notiert. In diesem Fall kann es nötig sein, die Größe der Zeichnung explizit anzugeben, wie im Beispiel unten gezeigt: @lilypond[quote,verbatim,relative=1] c1^\markup { \combine \epsfile #X #10 #"./context-example.eps" \with-dimensions #'(0 . 6) #'(0 . 10) \postscript #" -2 3 translate 2.7 2 scale newpath 2 -1 moveto 4 -2 4 1 1 arct 4 2 3 3 1 arct 0 4 0 3 1 arct 0 0 1 -1 1 arct closepath stroke" } c @end lilypond Eine ausführliche Liste der Graphik-Befehle findet sich in @ref{Graphic}. @seealso Notationsreferenz: @ref{Graphic}, @ref{Anmerkungen}, @ref{Align}. Installierte Dateien: @file{scm/define-markup-commands.scm}, @file{scm/stencil.scm}. Schnipsel: @rlsr{Text}. Referenz der Interna: @rinternals{TextScript}. @node Musikalische Notation innerhalb einer Textbeschriftung @unnumberedsubsubsec Musikalische Notation innerhalb einer Textbeschriftung @translationof Music notation inside markup @cindex Notationsobjekte, Einfügen @cindex Einfügen von Notationsobjekten @cindex Musikobjekte, Einfügen @cindex Beschriftung, Notationsobjekte einfügen @cindex Textbeschriftung, Notationsobjekte einfügen Auch Musikobjekte können innerhalb der Textbeschriftungsumgebung gesetzt werden. Noten und Versetzungszeichen lassen sich mit @code{\markup} einfügen: @lilypond[quote,verbatim,relative=2] a2 a^\markup { \note #"4" #1 = \note-by-number #1 #1 #1.5 } b1_\markup { \natural \semiflat \flat \sesquiflat \doubleflat } \glissando a1_\markup { \natural \semisharp \sharp \sesquisharp \doublesharp } \glissando b @end lilypond Andere Notationsobjekte können auch eingefügt werden: @lilypond[quote,verbatim,relative=1] g1 bes ees-\markup { \finger 4 \tied-lyric #"~" \finger 1 } fis_\markup { \dynamic rf } bes^\markup { \beam #8 #0.1 #0.5 } cis d-\markup { \markalphabet #8 \markletter #8 } @end lilypond Allgemeiner gesagt kann jedes verfügbare Notationssymbol unabhängig von der Notation als ein Textbeschriftungsobjekt eingefügt werden, wie unten gezeigt. Eine vollständige Liste der verfügbaren Symbole findet sich in @ref{Die Feta-Schriftart}. @lilypond[quote,verbatim,relative=2] c2 c'^\markup { \musicglyph #"eight" } c,4 c,8._\markup { \musicglyph #"clefs.G_change" } c16 c2^\markup { \musicglyph #"timesig.neomensural94" } @end lilypond @noindent Eine andere Möglichkeit, andere als Textsymbole zu schreiben, findet sich in @ref{Was sind Schriftarten}. Diese Methode bietet sich an, um Klammern unterschiedlicher Größe zu setzen. Der Textbeschriftungsmodus unterstützt auch Diagramme für bestimmte Instrumente: @lilypond[quote,verbatim,relative=2] c1^\markup { \fret-diagram-terse #"x;x;o;2;3;2;" } c^\markup { \harp-pedal #"^-v|--ov^" } c c^\markup { \combine \musicglyph #"accordion.discant" \combine \raise #0.5 \musicglyph #"accordion.dot" \raise #1.5 \musicglyph #"accordion.dot" } @end lilypond @c The accordion diagram is actually taken from a snippet. @noindent Derartige Digramme sind dokumentiert in @ref{Instrument Specific Markup}. @cindex Notation innerhalb von Beschriftung @cindex Notation innerhalb von Text @cindex Text, Notation innerhalb @cindex Beschriftung, Notation einfügen @cindex Notensysteme in Text einfügen Sogar eine ganze Partitur kann in ein Textbeschriftungsobjekt eingefügt werden. In diesem Fall muss die eingefügte @code{\score}-Umgebung eine @code{\layout}-Umgebung haben, wie in diesem Beispiel: @lilypond[quote,verbatim,relative=1] c4 d^\markup { \score { \relative c' { c4 d e f } \layout { } } } e f | c d e f @end lilypond Eine vollständige Liste der Musiksymbol-Befehle findet sich in @ref{Music}. @seealso Notationsreferenz: @ref{Music}, @ref{Die Feta-Schriftart}, @ref{Was sind Schriftarten}. Installierte Dateien: @file{scm/define-markup-commands.scm}, @file{scm/fret-diagrams.scm}, @file{scm/harp-pedals.scm}. Schnipsel: @rlsr{Text}. Referenz der Interna: @rinternals{TextScript}. @node Textbeschriftung über mehrere Seiten @unnumberedsubsubsec Textbeschriftung über mehrere Seiten @translationof Multi-page markup @cindex Textbeschriftung über mehrere Seiten @cindex Beschriftung über mehrere Seiten @cindex Text über mehrere Seiten @cindex mehrseitiger Text @funindex \markuplist @funindex markuplist @funindex \justified-lines @funindex justified-lines @funindex \wordwrap-lines @funindex wordwrap-lines Normale Textbeschriftungsobjekte können nicht getrennt werden, aber mit einer spezifischen Umgebung ist es möglich, Text auch über mehrere Seiten fließen zu lassen: @lilypond[quote,verbatim] \markuplist { \justified-lines { A very long text of justified lines. ... } \wordwrap-lines { Another very long paragraph. ... } ... } @end lilypond Die Syntax braucht eine Liste von Textbeschriftungen folgender Art: @itemize @item das Resultat eines Beschriftungslistenbefehls, @item eine Textbeschriftungsliste, @item eine Liste von Beschriftungslisten. @end itemize Eine vollständige Liste der Beschriftungslistenbefehle findet sich in @ref{Textbeschriftungslistenbefehle}. @seealso Notationsreferenz: @ref{Textbeschriftungslistenbefehle}. Erweitern: @rextend{Neue Definitionen von Beschriftungslistenbefehlen}. Installierte Dateien: @file{scm/define-markup-commands.scm}. Schnipsel: @rlsr{Text}. Referenz der Interna: @rinternals{TextScript}. @funindex \markuplist @funindex markuplist @predefined @code{\markuplist}. @endpredefined @node Schriftarten @subsection Schriftarten @translationof Fonts Dieser Abschnitt zeigt, wie Schriftarten eingesetzt werden können und wie man sie in Partituren ändern kann. @menu * Was sind Schriftarten:: * Schriftarten für einen Eintrag:: * Schriftart des gesamten Dokuments:: @end menu @node Was sind Schriftarten @unnumberedsubsubsec Was sind Schriftarten @translationof Fonts explained @cindex Pango @cindex Schriftarten, Hintergrundinformation @cindex Klammern, unterschiedliche Größen @cindex Schriftarten, Nicht-Text in Beschriftung @cindex Nicht-Textschriftarten in Beschriftung @funindex font-interface Schriftarten werden von mehreren Bibliotheken verwaltet. FontConfig wird benützt, um die vorhandenen Schriftarten des Systems zu erkennen, die gewählte Schriftart wird dann mit Pango verarbeitet. Notationsschriftarten können als eine Ansammlung von besonderen Zeichen erklärt werden, wobei die Sonderzeichen in verschiedene Familien klassifiziert werden. Die Syntax des folgenden Beispiels ermöglicht es, direkt auf verschiedene nicht textuelle Sonderzeichen der @code{feta}-Schriftart zuzugreifen. Das ist die Standardschriftart für Notationselemente in LilyPond. @lilypond[quote,verbatim,relative=2] a1^\markup { \vcenter { \override #'(font-encoding . fetaBraces) \lookup #"brace120" \override #'(font-encoding . fetaText) \column { 1 3 sf } \override #'(font-encoding . fetaMusic) \lookup #"noteheads.s0petrucci" } } @end lilypond @noindent Außer den verschiedenen Klammern, die in @code{fetaBraces} in verschiedenen Größen enthalten sind, lassen sich alle dieses Symbole auch mit einer einfacheren Syntax notieren. Sie ist beschrieben in @ref{Musikalische Notation innerhalb einer Textbeschriftung}. Wenn man die Klammern von @code{fetaBraces} benutzt, wird die Größe der Klammer durch einen numeralen Part in der Bezeichnung des Glyphs bestimmt. Als Wert kann eine Ganzzahl von @code{0} bis @code{575} benutzt werden, wobei @code{0} die kleinste Klammern ergibt. Der optimale Wert muss durch Ausprobieren herausgefunden werden. Diese Glyphen sind alle linke Klammern, rechte Klammern lassen sich durch eine Drehung herstellen, siehe @ref{Drehen von Objekten}. Drei Textschriftarten sind verfügbar (auf Englisch @code{family} genannt): mit @code{roman} eine Schriftart mit Serifen (Standard ist New Century Schoolbook), mit @code{sans} eine serifenlose (gerade) Schriftart und mit @code{typewriter} eine Schreibmaschinenschrift, in welcher die Buchstaben alle die gleiche Weite haben. Die aktuelle Schriftart von @code{sans} und @code{typewriter} wird durch Pango entsprechend den Systemvorgaben gewählt. Jede Familie kann verschiedene Schriftschnitte besitzen. Im Englischen wird unterschieden zwischen @code{shape} für kursive Schnitte und @code{series} für fette Schnitte. Im folgenden Beispiel wird demonstriert, wie man die verschiedenen Eigenschaften auswählen kann. Der Wert, der @code{font-size} übergeben wird, entspricht der geforderten Änderung in Bezug auf die Standardschriftgröße. @lilypond[quote,verbatim,relative=2] \override Score.RehearsalMark.font-family = #'typewriter \mark \markup "Ouverture" \override Voice.TextScript.font-shape = #'italic \override Voice.TextScript.font-series = #'bold d2.^\markup "Allegro" \override Voice.TextScript.font-size = #-3 c4^smaller @end lilypond @noindent Eine ähnliche Syntax kann im Textbeschriftungsmodus eingesetzt werden, hier bietet es sich aber an, die einfacheren Befehle zu verwenden, die erklärt wurden in @ref{Überblick über die wichtigsten Textbeschriftungsbefehle}: @lilypond[quote,verbatim] \markup { \column { \line { \override #'(font-shape . italic) \override #'(font-size . 4) Idomeneo, } \line { \override #'(font-family . typewriter) { \override #'(font-series . bold) re di } \override #'(font-family . sans) Creta } } } @end lilypond Auch wenn es einfach ist, zwischen den vordefinierten Schriftarten umzuschalten, kann man auch eigene Schriftarten verwenden, wie erklärt in folgenden Abschnitten: @ref{Schriftarten für einen Eintrag} und @ref{Schriftart des gesamten Dokuments}. @seealso Notationsreferenz: @ref{Die Feta-Schriftart}, @ref{Drehen von Objekten}, @ref{Musikalische Notation innerhalb einer Textbeschriftung}, @ref{Überblick über die wichtigsten Textbeschriftungsbefehle}, @ref{Font}. @node Schriftarten für einen Eintrag @unnumberedsubsubsec Schriftarten für einen Eintrag @translationof Single entry fonts Jede Schriftart, die über das Betriebssystem installiert ist und von FontConfig erkannt wird, kann in einer Partitur eingefügt werden. Dazu verwendet man folgende Syntax: @lilypond[quote,verbatim,relative=2] \override Staff.TimeSignature.font-name = #"Bitstream Charter" \override Staff.TimeSignature.font-size = #2 \time 3/4 a1_\markup { \override #'(font-name . "Vera Bold") { Vera Bold } } @end lilypond @cindex Schriftarten, Liste zum Auswählen @cindex Schriftarten, vorhandene auflisten @cindex vorhandene Schriftarten auflisten @cindex Liste der vorhandenen Schriftarten @cindex verwendbare Schriftarten auflisten @funindex show-available-fonts Mit folgendem Befehl erhält man eine Liste aller verfügbaren Schriftarten des Betriebssystems: @example lilypond -dshow-available-fonts x @end example @seealso Notationsreferenz: @ref{Was sind Schriftarten}, @ref{Schriftart des gesamten Dokuments}. Schnipsel: @rlsr{Text}. @node Schriftart des gesamten Dokuments @unnumberedsubsubsec Schriftart des gesamten Dokuments @translationof Entire document fonts Es ist auch möglich, die Schriftarten für die gesamte Partitur zu ändern. In diesem Fall müssen die Familien @code{roman}, @code{sans} und @code{typewriter} in genaus dieser Reihenfolge entsprechend der Syntax unten definiert werden. Einzelheiten zu Schriftarten in @ref{Was sind Schriftarten}. @cindex Schriftartenfamilien, definieren @cindex Schriftarten, für das gesamte Dokument ändern @cindex Ändern von Schriftarten für das gesamte Dokument @funindex make-pango-font-tree @lilypond[verbatim,quote] \paper { myStaffSize = #20 #(define fonts (make-pango-font-tree "Times New Roman" "Nimbus Sans" "Luxi Mono" (/ myStaffSize 20))) } \relative c'{ c1-\markup { roman, \sans sans, \typewriter typewriter. } } @end lilypond @c we don't do Helvetica / Courier, since GS incorrectly loads @c Apple TTF fonts @seealso Notationsreferenz: @ref{Was sind Schriftarten}, @ref{Schriftarten für einen Eintrag}, @ref{Überblick über die wichtigsten Textbeschriftungsbefehle}, @ref{Font}.