@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-

@ignore
    Translation of GIT committish: d96023d8792c8af202c7cb8508010c0d3648899d

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@end ignore

@c \version "2.12.0"

@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]
d8^"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


@predefined
@funindex \textLengthOn
@code{\textLengthOn},
@funindex \textLengthOff
@code{\textLengthOff}.
@endpredefined


@seealso
Notationsreferenz:
@ref{Text formatieren},
@ref{Richtung und Platzierung}.

Schnipsel:
@rlsr{Text}.

Referenz der Interna:
@rinternals{TextScript}.

@knownissues

Eine Überprüfung, ob sich auch alle Textbeschriftungen und Gesangstext
innerhalb der Ränder der Noten befinden, braucht verhältnismäßig
viel Rechenaufwand.  Diese Überprüfung ist standardmäßig ausgestellt,
damit LilyPond die Dateien schneller bearbeiten kann.  Man kann
die Überprüfung aber mit folgendem Code einschalten:

@example
\override Score.PaperColumn #'keep-inside-line = ##t
@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

@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{Zeilenstile}.


@predefined
@funindex textSpannerUp
@code{\textSpannerUp},
@funindex textSpannerDown
@code{\textSpannerDown},
@funindex textSpannerNeutral
@code{\textSpannerNeutral}.
@endpredefined


@seealso
Notationsreferenz:
@ref{Zeilenstile},
@ref{Dynamik}.

Schnipsel:
@rlsr{Text}.

Referenz der Interna:
@rinternals{TextSpanner}.



@node Textartige Zeichen
@unnumberedsubsubsec Textartige Zeichen
@translationof Text marks

@cindex Coda an Taktlinie
@cindex Segno an Taktlinie
@cindex Fermate an Taktlinie
@cindex Taktlinie, Symbole anfügen
@cindex Symbole auf der Taktlinie
@funindex \mark

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[fragment,quote,relative=1]
<c e>1
\mark \markup { \italic { colla parte } }
<d f>2 <e g>
<c f aes>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[fragment,quote,relative=2]
<bes f>2 <aes d>
\mark \markup { \musicglyph #"scripts.ufermata" }
<e g>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[fragment,quote,relative=2]
\mark "Allegro"
c1 c
\mark "assai" \break
c  c
@end lilypond


@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-marks-at-the-end-of-a-line.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{aligning-marks-with-various-notation-objects.ly}

@lilypondfile[verbatim,lilyquote,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}.



@node Separater Text
@unnumberedsubsubsec Separater Text
@translationof Separate text

@cindex separater Text
@cindex Text alleine
@cindex nur Text

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

@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}.


@predefined
@code{\markup},
@funindex \markuplines
@code{\markuplines}.
@endpredefined


@snippets

@lilypondfile[verbatim,lilyquote,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

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

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
(@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

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 @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{Text markup commands}.


@seealso
Notationsreferenz:
@ref{Text markup commands}.

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
@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 \fontsize
@funindex \smaller
@funindex \larger
@funindex \magnify

Die Größe von Buchstaben kann auf verschiedene Arten verändert werden:
@itemize
@item
die Schriftgröße kann auf bestimmte deinierte Standardgrößen gesetzt werden,

@item
die Schriftgröße kann mit einem absoluten Wert gesetzt werden,

@item
die Schriftgröße kann relativ zur vorhergehenden Größe geändert werden.
@end itemize

@noindent
Das Beispiel unten zeigt alle drei Möglichkeiten:

@lilypond[quote,verbatim,relative=1]
f1_\markup {
  \tiny espressivo
  \large e
  \normalsize intenso
}
a^\markup {
  \fontsize #5 Sinfonia
  \fontsize #2 da
  \fontsize #3 camera
}
bes^\markup { (con
  \larger grande
  \smaller emozione
  \magnify #0.6 { e sentimento } )
}
d c2 r8 c bes a g1
@end lilypond

@cindex hochgestellt
@cindex tiefergestellt
@funindex \super
@funindex \sub

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 Schriftfamlien zu definieren, wie erklärt in
@ref{Schriftarten}.


@predefined
@funindex \teeny
@code{\teeny},
@funindex \tiny
@code{\tiny},
@funindex \small
@code{\small},
@funindex \normalsize
@code{\normalsize},
@funindex \large
@code{\large},
@funindex \huge
@code{\huge},
@funindex \smaller
@code{\smaller},
@funindex \larger
@code{\larger}.
@endpredefined


@seealso
Notationsreferenz:
@ref{Font},
@ref{Neue Lautstärkezeichen},
@ref{Manuelle Wiederholungszeichen},
@ref{Schriftarten}.

Schnipsel:
@rlsr{Text}.

Referenz der Interna:
@rinternals{TextScript}.

Installierte Dateien:
@file{scm/@/define@/-markup@/-commands@/.scm}.


@node Textausrichtung
@unnumberedsubsubsec Textausrichtung
@translationof Text alignment

@cindex Text, Ausrichtung
@cindex Ausrichtung von Text

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

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

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 vertickale Ausrichtung von Text
@funindex \raise
@funindex \lower

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

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

@funindex \column
@funindex \center-column

@cindex mehrzeiliger Text
@cindex Text, mehrere Zeilen
@cindex Blöcke, Text
@cindex Textblöcke

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

@funindex \fill-line

@cindex Text auf der Seite zentrieren
@cindex Zentrieren von Text auf der Seite

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

@funindex \wordwrap
@funindex \justify

@cindex Umbruch von Text
@cindex Blocksatz, Text
@cindex Text, Blocksatz

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

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

Schnipsel:
@rlsr{Text}.

Installierte Dateien:
@file{scm/@/define@/-markup@/-commands@/.scm}.

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

Verschiedene graphische Objekte können im Textbeschriftungsmodus
eingefügt werden.

@funindex \box
@funindex \circle
@funindex \rounded-box
@funindex \bracket
@funindex \hbracket

@cindex Kasten, Graphik
@cindex gerundeter Kasten, Graphik
@cindex Klammern, Graphik
@cindex Text verzieren
@cindex Text einrahmen
@cindex Rahmen, Text

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

@funindex \pad-markup
@funindex \pad-x
@funindex \pad-to-box
@funindex \pad-around

@cindex Platz um Text
@cindex Rand um Text
@cindex Füllung um Text
@cindex Text, Rand außen

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

@funindex \combine
@funindex \draw-circle
@funindex \filled-box
@funindex \triangle
@funindex \draw-line
@funindex \arrow-head

@cindex Graphische Notation
@cindex Symbole, nicht Musik-

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

@funindex \epsfile
@funindex \postscript

@cindex Einbinden von Graphik
@cindex Bilder einbinden
@cindex Graphik einbinden
@cindex Postscript, Graphik

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

Schnipsel:
@rlsr{Text}.

Referenz der Interna:
@rinternals{TextScript}.

Installierte Dateien:
@file{scm/@/define@/-markup@/-commands@/.scm},
@file{scm/@/stencil@/.scm}.



@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

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.accDiscant"
    \combine
      \raise #0.5 \musicglyph #"accordion.accDot"
      \raise #1.5 \musicglyph #"accordion.accDot"
}
@end lilypond

@c The accordion diagram is actually taken from a snippet.

@noindent
Derartige Digramme sind dokumentiert in @ref{Instrument Specific Markup}.

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 { 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}.

Schnipsel:
@rlsr{Text}.

Referenz der Interna:
@rinternals{TextScript}.

Installierte Dateien:
@file{scm/@/define@/-markup@/-commands@/.scm},
@file{scm/@/fret@/-diagrams@/.scm},
@file{scm/@/harp@/-pedals@/.scm}.



@node Textbeschriftung über mehrere Seiten
@unnumberedsubsubsec Textbeschriftung über mehrere Seiten
@translationof Multi-page markup

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]
\markuplines {
  \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{Text markup list commands}.

@seealso
Notationsreferenz:
@ref{Text markup list commands},
@ref{Neue Definitionen von Beschriftungsbefehlen für Listen}.

Schnipsel:
@rlsr{Text}.

Referenz der Interna: @rinternals{TextScript}.

Installierte Dateien:
@file{scm/@/define@/-markup@/-commands@/.scm}.


@predefined
@funindex \markuplines
@code{\markuplines}.
@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
@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 . fetaNumber)
    \column { 1 3 }
    \override #'(font-encoding . fetaDynamic)
    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{tpyewriter} wird durch Pango entspechend 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
  d'2.^\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 vorefinierten 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{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 = #"Charter"
\override Staff.TimeSignature #'font-size = #2
\time 3/4

a1_\markup {
  \override #'(font-name . "Vera Bold")
    { Vera Bold }
}
@end lilypond

@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

@noindent
Das letzte Argument kann ein beliebiges Zeichen sein, aber es darf nicht
fehlen.

@seealso
Notationsreferenz:
@ref{Was sind Schriftarten},
@ref{Schriftart des gesamten Dokuments}.

Schnipsel:
@rlsr{Text}.

Installierte Dateien:
@file{lily/@/font@/-config@/-scheme@/.cc}.



@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
@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}.

