• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Text Columns, wie kriegt man es zentriert?

Begonnen von kilgore, Freitag, 4. März 2011, 10:47

Vorheriges Thema - Nächstes Thema

kilgore

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


derHindemith

Willst du "Untertitel geht hier" zentriert? Versuch's mal mit \center-column :


\markup
  \fill-line {
   \center-column {
    \line {UNTERTITEL GEHT HIER}
     \line {UNTERTITEL}
   }
}

kilgore

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

RobUr

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

kilgore

hey super!  Da habe ich mich verklammert, jetzt verstehe ich! Danke  ;D

derburn

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