X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fde%2Fuser%2Ftweaks.itely;h=6456cafc3816e5ddc1e2abea1ccbbe386dde4444;hb=2f478df3c5be049dacca6f8da208d9b6e902a0c7;hp=004900045c5ac708dea53ba4d0858fcc2c9dfc70;hpb=6928c1207b7df4516e58d38724e6a3985cd1c3f6;p=lilypond.git diff --git a/Documentation/de/user/tweaks.itely b/Documentation/de/user/tweaks.itely index 004900045c..6456cafc38 100644 --- a/Documentation/de/user/tweaks.itely +++ b/Documentation/de/user/tweaks.itely @@ -1,5 +1,5 @@ @c -*- coding: utf-8; mode: texinfo; -*- -@c This file is part of lilypond.tely +@c This file is part of lilypond-learning.tely @ignore Translation of GIT committish: 3121682025660b6c85fbf3f22bb9cd8396699ad1 @@ -7,7 +7,7 @@ version that you are working on. See TRANSLATION for details. @end ignore -@c \version "2.11.38" +@c \version "2.11.51" @node Tweaking output @chapter Tweaking output @@ -18,18 +18,157 @@ Notenfragment kann geändert werden. @menu -* Moving objects:: -* Fixing overlapping notation:: +* Tweaking basics:: +* The Internals Reference manual:: +* Appearance of objects:: +* Placement of objects:: +* Collisions of objects:: * Common tweaks:: -* Default files:: -* Fitting music onto fewer pages:: -* Advanced tweaks with Scheme:: -* Avoiding tweaks with slower processing:: +* Further tweaking:: +@end menu + + +@node Tweaking basics +@section Tweaking basics + +@menu +* Introduction to tweaks:: +* Objects and interfaces:: +* Naming conventions of objects and properties:: +* Tweaking methods:: +@end menu + +@node Introduction to tweaks +@subsection Introduction to tweaks + +@qq{Optimierung} (engl. tweaking) ist ein LilyPond-Begriff für die +verschiedenen Methoden, die Aktionen zu beeinflussen, die während +der Kompilation einer Notationsdatei vorgenommen werden sowie auf +das Notenbild einzuwirken. Einige dieser Opitmierungen sind sehr +einfach, andere dagegen recht komplex. Aber insgesamt erlaubt das +System an Optimierungen so gut wie alle möglichen Erscheindungsformen +für die Notenausgabe. + +In diesem Abschnitt werden die grundlegenden Konzepte vorgestellt, +um die Optimierung zu verstehen. Später soll eine Anzahl von fertigen +Befehlen bereitgestellt werden, die einfach in die Quelldatei +kopiert werden können um den selben Effekt wie im Beispiel +zu erhalten. Gleichzeitig zeigen diese Beispiele, wie die Befehle +konstruiert werden, so dass Sie in der Lage sein werden, eigene +Befehle auf dieser Grundlage zu entwickeln. + +Bevor Sie mit diesem Kapitel beginnen, könnte Sie ein Blick in den +Abschnitt @ref{Contexts and engravers} interessieren, dann +Kontexte und Engraver sowie die Eigenschaften, die mit ihnen +verknüpft sind, sind die Voraussetzung, um die Funktionsweise +von Optimierungen verstehen zu können. + + +@node Objects and interfaces +@subsection Objects and interfaces + +@untranslated + +@node Naming conventions of objects and properties +@subsection Naming conventions of objects and properties + +@untranslated + +@node Tweaking methods +@subsection Tweaking methods + +@untranslated + +@node The Internals Reference manual +@section The Internals Reference manual + +@untranslated + +@menu +* Properties of layout objects:: +* Properties found in interfaces:: +* Types of properties:: +@end menu + +@node Properties of layout objects +@subsection Properties of layout objects + +@untranslated + +@node Properties found in interfaces +@subsection Properties found in interfaces + +@untranslated + +@node Types of properties +@subsection Types of properties + +@untranslated + +@node Appearance of objects +@section Appearance of objects + +@untranslated + +@menu +* Visibility and color of objects:: +* Size of objects:: +* Length and thickness of objects:: @end menu +@node Visibility and color of objects +@subsection Visibility and color of objects + +@untranslated + +@node Size of objects +@subsection Size of objects + +@untranslated + +@node Length and thickness of objects +@subsection Length and thickness of objects + +@untranslated + +@node Placement of objects +@section Placement of objects + +@untranslated + +@menu +* Automatic behavior:: +* Within-staff objects:: +* Outside staff objects:: +@end menu + +@node Automatic behavior +@subsection Automatic behavior + +@untranslated + +@node Within-staff objects +@subsection Within-staff objects + +@untranslated + +@node Outside staff objects +@subsection Outside staff objects + +@untranslated + + +@node Collisions of objects +@section Collisions of objects + +@menu +* Moving objects:: +* Fixing overlapping notation:: +* Real music example:: +@end menu @node Moving objects -@section Moving objects +@subsection Moving objects Es wird vielleicht eine Überraschung sein, aber LilyPond ist nicht perfekt. Einige Notationselemente können sich überschneiden. Das @@ -167,13 +306,13 @@ c4^"piu mosso" d e f @seealso -@ruser{The \override command}, @ruser{Common tweaks}. +@ruser{The \override command}, @ref{Common tweaks}. @node Fixing overlapping notation -@section Fixing overlapping notation +@subsection Fixing overlapping notation -Im Kapitel @ruser{Moving objects} wurde gezeigt, wie man Texte +Im Kapitel @ref{Moving objects} wurde gezeigt, wie man Texte (@code{TextScript}-Objekte) verschiebt. Mit der gleichen Technik können auch andere Objektklassen verschoben werden, @code{TextScript} muss dann nur durch den Namen des Objektes @@ -186,9 +325,9 @@ Kapitels @ruser{Dynamics} findet sich: @quotation @seealso -Programmreferenz: @internalsref{DynamicText}, @internalsref{Hairpin}. +Programmreferenz: @rinternals{DynamicText}, @rinternals{Hairpin}. Vertikale Positionierung dieser Symbole wird mit -@internalsref{DynamicLineSpanner} erreicht. +@rinternals{DynamicLineSpanner} erreicht. @end quotation @noindent @@ -214,8 +353,16 @@ aber die gebräuchlichsten finden sich hier: @end multitable +@node Real music example +@subsection Real music example + +@untranslated + + +@c DEPRECATED SECTION @node Common tweaks @section Common tweaks + Bestimmte Korrekturen sind so häufig, dass für sie schon fertige angepasste Befehle bereitgestellt sind, so etwa @code{\slurUp} um einen Bindebogen oberhalb anzuzeigen oder @@ -261,7 +408,7 @@ für bestimmte Objekte zuständig ist. Weil das @code{MetronomeMark}-Objekt vom @code{Score}-Kontext gesetzt wird, werden Veränderungen innerhalb des @code{Voice}-Kontextes nicht berücksichtigt. Genauere Details im Kapitel -@ruser{Constructing a tweak}. +@ruser{The \override command}. @cindex extra-offset @cindex zusätzlicher Abstand @@ -352,8 +499,29 @@ verhalten sich anders, etwa die Dicke von Balken ist an die Notenzeilenabstände gekoppelt. Mehr Information findet sich im relevanten Teil der Programmreferenz. -@node Default files -@section Default files +@node Further tweaking +@section Further tweaking + +@menu +* Other uses for tweaks:: +* Using variables for tweaks:: +* Other sources of information:: +* Avoiding tweaks with slower processing:: +* Advanced tweaks with Scheme:: +@end menu + +@node Other uses for tweaks +@subsection Other uses for tweaks + +@untranslated + +@node Using variables for tweaks +@subsection Using variables for tweaks + +@untranslated + +@node Other sources of information +@subsection Other sources of information Die Programmreferenz enthält sehr viel Information über LilyPond, aber noch mehr Information findet sich in den internen @@ -386,103 +554,30 @@ Dateien wie @file{ly/property-init.ly} und @file{ly/declarations-init.ly} definieren alle häufig vorkommenden Veränderungen. -@node Fitting music onto fewer pages -@section Fitting music onto fewer pages - -Manchmal bleiben nur noch ein oder zwei Systeme auf der -letzten Seite übrig. Das ist immer ärgerlich, besonders -wenn es scheint, dass auf den vorigen Seiten genug Platz -ist, um die Systeme noch unterzubringen. - -Wenn man versucht, das Layout zu verändern, kommt einem -der Befehl @code{annotate-spacing} zu Hilfe. Mit diesem -Befehl erhält man die Werte von verschiedenen Abstandsbefehlen -ausgedruckt, mehr Information im Kapitel @ruser{Displaying spacing}. -Anhand dieser Angaben kann dann entschieden werden, welche -Werte verändert werden müssen. - -Neben Rändern gibt es nämlich weitere Optionen, Platz zu sparen: - -@itemize -@item -LilyPond kann die Systeme so dicht wie möglich platzieren (damit -so viele Systeme wie möglich auf eine Seite passen), aber sie -dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht. - -@example -\paper @{ - between-system-padding = #0.1 - between-system-space = #0.1 - ragged-last-bottom = ##f - ragged-bottom = ##f -@} -@end example +@node Avoiding tweaks with slower processing +@subsection Avoiding tweaks with slower processing -@item -Die Anzahl der Systeme kann reduziert werden (wenn LilyPond -die Musik auf 11 Systeme verteilt, kann man die Benutzung von -nur 10 Systemen erzwingen). +LilyPond kann einige zusätzliche Tests durchführen, während +die Noten gesetzt werden. Dadurch braucht das Programm länger, +um den Notensatz zu produzieren, aber üblicherweise werden +weniger nachträgliche Anpassungen nötig sein. @example -\paper @{ - system-count = #10 -@} +%% Um sicher zu gehen, dass Texte und Liedtext +%% innerhalb der Papierränder bleiben +\override Score.PaperColumn #'keep-inside-line = ##t @end example -@item -Vermeidung von Objekten, die den vertikalen Abstand von Systemen -vergrößern, hilft oft. Die Verwendung von Klammern bei Wiederholungen -etwa braucht mehr Platz. Wenn die Noten innerhalb der Klammern auf -zwei Systeme verteilt sind, brauchen sie mehr Platz, als wenn sie -nur auf einer Zeile gedruckt werden. - -Ein anderes Beispiel ist es, Dynamik-Zeichen, die besonders -weit @qq{hervorstehen}, zu verschieben. - -@lilypond[verbatim,quote,fragment] -\relative c' { - e4 c g\f c - \override DynamicLineSpanner #'padding = #-1.8 - \override DynamicText #'extra-offset = #'( -2.1 . 0) - e4 c g\f c -} -@end lilypond - -@item -Die horizontalen Abstände können mit der - @code{SpacingSpanner}-Eigenschaft verändert werden. Siehe -@ruser{Changing horizontal spacing} für Einzelheiten. - -@lilypond[verbatim,quote] -\score { - \relative c'' { - g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | - g4 e e2 | f4 d d2 | c4 e g g | c,1 | - d4 d d d | d4 e f2 | e4 e e e | e4 f g2 | - g4 e e2 | f4 d d2 | c4 e g g | c,1 | - } - \layout { - \context { - \Score - \override SpacingSpanner - #'base-shortest-duration = #(ly:make-moment 1 4) - } - } -} -@end lilypond - -@end itemize - @node Advanced tweaks with Scheme -@section Advanced tweaks with Scheme +@subsection Advanced tweaks with Scheme Es wurde schon gezeigt, wie die LilyPond-Ausgabe sehr stark verändert werden kann, indem man Befehle wie @code{\override TextScript #'extra-offset = ( 1 . -1)} benutzt. Aber noch mehr Einfluss auf die Formatierung kann durch den Einsatz von Scheme genommen werden. Eine vollständige Erklärung findet sich in der - @ruser{Scheme tutorial} und den + @ref{Scheme tutorial} und den @ruser{Interfaces for programmers}. Scheme kann benutzt werden, um einfach nur Befehle zu @qq{überschreiben} @@ -535,20 +630,3 @@ pattern = #(define-music-function (parser location x y) (ly:music? ly:music?) } @end lilypond - -@node Avoiding tweaks with slower processing -@section Avoiding tweaks with slower processing - -LilyPond kann einige zusätzliche Tests durchführen, während -die Noten gesetzt werden. Dadurch braucht das Programm länger, -um den Notensatz zu produzieren, aber üblicherweise werden -weniger nachträgliche Anpassungen nötig sein. - -@example -%% Um sicher zu gehen, dass Texte und Liedtext -%% innerhalb der Papierränder bleiben -\override Score.PaperColumn #'keep-inside-line = ##t -@end example - - -