Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: schuetze am Samstag, 15. Januar 2011, 07:57
-
Hallo,
bin gerade dabei das Layout eines Liederhefts zu setzen. Beide Seitenränder sollten 1cm sein. Verwende dazu Lilipond-book.
Leider bekomme ich am linken Rand immer einen größeren Abstand als am rechten Rand. Rechts ist er 1 cm was korrekt ist. Habe nachgeprüft, ob das Problem an Latex liegen könnte. Allerdings ist das nicht der Fall, da Lilypond die in PDF konvertierten Notenzeilen bereits mit einem zusätzlichen Einzug ausgibt (siehe angehängte PDF-Notenzeile).
Hat jemand eine Idee wie ich den zusätzlichen linken Einzug verhindern kann, sodass beide Ränder einen Abstand von 1 cm haben?
Danke, Daniel.
Quellen und Ergebnisse:
==============================================================
Hier ist die Latex Datei, welche ich mit "lilypond-book --outdir=out --pdf lilypond.tex; cd out; pdflatex lilypond.tex" übersetze:
\documentclass{article}
\usepackage[headinclude=false,footinclude=false,paper=A6,paper=portrait]{typearea}
\areaset{8.5cm}{12.8cm}
\pagestyle{empty}
\begin{document}
\noindent
\rule{\textwidth}{12pt}\\
\lilypondfile[noindent]{bsp.ly}
\rule{\textwidth}{12pt}\\
Text blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla
blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla
\end{document}
Die Ausgabe lilypond.pdf habe ich angehängt.
Eine Notenzeile lily-90ed30f5-1.pdf wie sie von lilypond-book erzeugt wird habe ich auch angehängt.
-
Hallo Daniel,
sei begrüßt hier im Forum :)
Sicher ist der Text von bsp.ly wichtig ...
M.
-
Klar. Hab die bsp.ly Datei ganz vergessen:
\version "2.12.3"
Melodie = \relative c' {
\clef treble
\key c \major
\time 4/4
a4 b c d
}
Text = \lyricmode {
Aaa Bee Cee Dee
}
\score{
<<
\new Voice = "eins" {
\autoBeamOff
\Melodie \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie
}
\new Lyrics \lyricsto "eins" \Text
>>
\layout { }
\midi { }
}
Hab inzwischen rausgefunden, dass sich der linke Abstand mit der lilypond-book Option --left-padding=AMOUNT beeinflussen lässt. Hab den Einzug allerdings mit einem Wert von 0 für AMOUNT nicht wegbekommen.
Hat jemand noch eine andere Idee, wie ich das Problem lösen könnte?
-
hm... bin mir nicht sicher, warum du das nicht einfach in dem bsp.ly einträgst:
\version "2.12.3"
#(set-default-paper-size "a6")
\paper {
line-width = 8.5\cm
}
Melodie = \relative c' {
\clef treble
\key c \major
\time 4/4
a4 b c d
}
Text = \lyricmode {
Aaa Bee Cee Dee
}
\score{
<<
\new Voice = "eins" {
\autoBeamOff
\Melodie \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie
}
\new Lyrics \lyricsto "eins" \Text
>>
\layout { }
\midi { }
}
-
Hallo,
folgende Idee löst das Problem leider nicht:
#(set-default-paper-size "a6")
\paper {
line-width = 8.5\cm
}
Hab mich inzwischen in die Contexte eingearbeitet und mit folgender Option experimentiert:
\once \override Staff.StaffSymbol #'X-offset = #0
Das funktioniert für den Y-Offset. Für den X-Offset leider nicht.
Hat jemand eine weitere Idee?
-
Hallo schuetze,
auch von mir ein herzliches Willkommen im Forum!
Mit folgendem Code kannst du ein wenig experimentieren:
\documentclass{article}
\usepackage[headinclude=false,footinclude=false,paper=A6,paper=portrait]{typearea}
\areaset{8.5cm}{12.8cm}
\pagestyle{empty}
\begin{document}
\noindent
\rule{\textwidth}{12pt}\\
\begin{lilypond}
\version "2.12.3"
#(set-default-paper-size "a6")
#(set-global-staff-size 15.87)
\paper {
line-width = 8.25\cm
left-margin = #0
}
Melodie = \relative c' {
\clef treble
\key c \major
\time 4/4
a4 b c d
}
Text = \lyricmode {
Aaa Bee Cee Dee
}
\score {
%\new StaffGroup
<<
\new Voice = "eins" {
\autoBeamOff
\Melodie \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie
}
%\new Voice = "zwei" {
% \autoBeamOff
% \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie \Melodie
% }
\new Lyrics \lyricsto "eins" \Text
>>
\layout {
indent = #0
}
}
\end{lilypond}
\noindent\\
\rule{\textwidth}{12pt}\\
Text blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla
blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla
\end{document}
Die wesentlichen Ansätze sind folgende:
(1) lilypond-book von vornherein mit der Option --left-padding=0 aufrufen (default: 3.0 mm)
(2) Lily meint mit line-width sehr genau die Zeilenbreite; links davon gibt es aber noch andere Objekte, die dazuaddiert werden: Taktzahlen, Systemklammern etc. – der Einzug ist tatsächlich 0! Schau dir das Codebeispiel an: die Taktzahlen sind linksbündig ohne extra Einzug. Wenn du eine StaffGroup daraus machst, ist die Balkenklammer linksbündig, während die Zeile ihre Breite behält und deshalb über den rechten Rand hinausragt.
(3) Alle Objekte am linken und rechten Rand der Zeile haben eigene horizontale Ausdehnungen, die man bei der Angabe der line-width mit berücksichtigen muss. Die Werte für die jeweilige Ausdehnung (Y-extent bzw. padding) können leider nur in relativen staff spaces und nicht in absoluten cm/mm/in etc. angegeben werden. Hier muss man experimentieren.
(4) Offensichtlich werden nur line-width, indent und short-indent berücksichtigt. left-margin kann z.B. utopische Werte zugewiesen bekommen, die trotzdem ignoriert werden. Zwischensystemabstände (between-system-spacing & Co.) ebenso.
Hoffe, das hilft zum Einstieg.
Grüße, Robert
-
Hallo,
vielen Dank für den Beitrag. Er hat mich auf die Lösung gebracht!
Zuerst hat mich Dein Beispiel, mit StaffGroup dekommentiert, davon überzeugt, dass Lilypond-book einen Zeileneinzug von Null macht; mit der Vorraussetzung von --left-padding=0 als Kommandozeilenoption.
Daraufhin habe ich StaffGroup wieder auskommentiert (also Originialcode wie in Deinem Beitrag) allerdings zusätzlich die Taktnummern mit
\layout {
indent = #0
\context {
\Score
% Taktnummern entfernen
\remove "Bar_number_engraver"
}
}
ausgeschalten.
Ich war überrascht, als ich wieder einen Zeileneinzug von Null hatte.
Der einzige Unterschied, warum ich bei meinen Liedern keinen Zeileneinzug von Null hatte war, dass ich \markup Befehle drin hatte, welche seitlich vom Notenzeilenanfang platziert wurden. Ohne diese markup Befehle habe ich auch bei meinen Liedern einen Zeileneinzug von Null! Hurra! :-)
Danke für die Hilfe,
Daniel.