Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: kilgore am Freitag, 4. März 2011, 10:47

Titel: Text Columns, wie kriegt man es zentriert?
Beitrag von: kilgore am Freitag, 4. März 2011, 10:47
Hallo Lilys!

Es geht hier um die Anweisungen für die einzelne Instrumenten.  Ich hab mir ein ziemlich gute Template gebaut, doch hakt es!   Es ist ein A3 blatt, mit zwei text Säulen, links und rechts.  Ich will die "Untertiteln" für jede Seite zentriert haben.  mein trick mit:

\fill-line { "" "TEXT" "" }
scheint nicht so genau zu funktionieren, da sieht man, dass es nicht wirklich zentriert ist.  \center-column und \center-align helfen mir hier nicht weiter.  Welche befehl habe ich vergessen?   Sonstige Tips zu mein Template sind Natürlich wilkommen!!!

\version "2.12.3"

#(set-default-paper-size "a3" 'landscape)
#(set-global-staff-size 16)


\header {
  title =  \markup { \fontsize #4  \override #'(font-name . "Gothic Sans")  "T I T E L" }
  subsubtitle = SUBTITEL
  composer = COMPOSER
}

\paper {
  line-width = 39\cm
  top-margin = 2\cm
  bottom-margin = 2\cm
  tagline = #f
}

\markup { \null }

\markup 
  \fill-line { 
    { "" "UNTERTITEL GEHT HIER" "" }
     { "" UNTERTITEL "" }
}



leftColumn = \markup {
 \override #'(line-width . 125)
 \column {
 \line { \wordwrap-string #"LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT
   LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT " }
 \line { \null }
 \line { \wordwrap-string #"Neuer Absatz." }
 \line { \null }
 \line { \fill-line { "" "NEUES TITEL" "" }  }
}
}



rightColumn = \markup {
  \override #'(line-width . 125)
        \wordwrap-string #"RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT
        RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT "
}



\markup \fill-line {
     { \leftColumn }
     { \rightColumn  }
        }

Titel: Re:Text Columns, wie kriegt man es zentriert?
Beitrag von: derHindemith am Freitag, 4. März 2011, 17:52
Willst du "Untertitel geht hier" zentriert? Versuch's mal mit \center-column :

\markup
  \fill-line {
   \center-column {
    \line {UNTERTITEL GEHT HIER}
     \line {UNTERTITEL}
   }
}
Titel: Re:Text Columns, wie kriegt man es zentriert?
Beitrag von: kilgore am Freitag, 4. März 2011, 18:17
hallo hindemith!

Ja zentriert, aber über die jeweiligen textsäulen (einmal links, einmal rechts).  Wenn ich \center-column innerhalb meine leftColumn oder rightColumn variabeln setzte, wird das Text nicht zentriert...
Titel: Re:Text Columns, wie kriegt man es zentriert?
Beitrag von: RobUr am Freitag, 4. März 2011, 18:20
Hallo Kil,

du musst innerhalb der Columns zentrieren.

\version "2.12.3"

#(set-default-paper-size "a3" 'landscape)
#(set-global-staff-size 16)

\header {
title = \markup {
\fontsize #4
\override #'(font-name . "Gothic Sans")
"T I T E L"
}

subsubtitle = SUBTITEL

composer = COMPOSER
}

\paper {
line-width = 39\cm
top-margin = 2\cm
bottom-margin = 2\cm
tagline = ##f
}

\markup { \null }

leftColumn = \markup {
\override #'(line-width . 125)
\column {
\fill-line { \null "LINKER UNTERTITEL" \null }
\null
\wordwrap {
LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT
}
\null
\wordwrap {
Neuer Absatz.
}
\null
\fill-line {
\null "NEUER TITEL" \null
}
}
}

rightColumn = \markup {
\override #'(line-width . 125)
\column {
\fill-line { \null "RECHTER UNTERTITEL" \null }
\null
\wordwrap {
RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT
}
\null
\wordwrap {
Neuer Absatz.
}
\null
\fill-line {
\null "NEUER TITEL" \null
}
}
}

\markup \fill-line {
{ \leftColumn }
{ \rightColumn }
}

Grüße, Robert
Titel: Re:Text Columns, wie kriegt man es zentriert?
Beitrag von: kilgore am Freitag, 4. März 2011, 18:33
hey super!  Da habe ich mich verklammert, jetzt verstehe ich! Danke  ;D
Titel: Re:Text Columns, wie kriegt man es zentriert?
Beitrag von: derburn am Mittwoch, 9. März 2011, 18:10
Hallo kilgore,

noch ein ganz allgemeiner Zentrierungstipp:
du kannst immer den Befehl \hcenter-in benutzen, um etwas spaltenweise zu zentrieren.

Beispiel:

\markup {
  \left-column {
    \line { \column { \hcenter-in #40 "A" }
            \hspace #1
            \column { \hcenter-in #40 "B" }
            \hspace #1
            \column { \hcenter-in #40 "C" }
            \hspace #1
            \column { \hcenter-in #40 "D" }
            } } }

Natürlich kann man das Ganze auch in ein #define-markup-command gießen
und die Methode so abändern, dass die #1 nach \hspace oder die #40 nach \hcenter-in ein Parameter ist... ;)

Das ist zwar nicht unbedingt das Komfortmaximum, aber zum Testen doch schon ganz passabel...