Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: stefanhuglfing am Freitag, 20. Januar 2017, 07:19

Titel: Formatierungen als Variable
Beitrag von: stefanhuglfing am Freitag, 20. Januar 2017, 07:19
Ich möchte jede Überschrift gleich formatieren; es soll so aussehen:
\version "2.18.2"   

\markup \huge \bold \italic Überschrift1

\score { { c d e f } \layout {} }

\markup Text
\markup { \vspace #2 }

\markup \huge \bold \italic Überschrift2
Ich möchte aber die Formatierungsbefehle nur an einer Stelle (z. B. in einer Variable) festlegen.
So gelingt es mir nicht:

...
Format = { \huge \bold \italic }
...
\markup \Format Überschrift1

weiß jemand, wie es geht?
Titel: Re: Formatierungen als Variable
Beitrag von: Manuela am Freitag, 20. Januar 2017, 08:14
Meinst du diese Frage, die ich in einem anderen Thread gestellt habe?

Markup Kommando für eigene Titelformatierung erstellen (https://liarchiv.joonet.de/index.php?topic=2311.msg13171#msg13171)

Update: außerhalb von Markuplisten kann man es auch so machen:

bold-red-markup = \markup \bold \with-color #red \etc

\markup \bold-red "dieser Text wird rot und fett"
Titel: Re: Formatierungen als Variable
Beitrag von: Hilflos-im-Code am Freitag, 20. Januar 2017, 08:17
\paper

{scoreTitleMarkup = \markup {
    \fill-line {
      \null
      \override #`(direction . ,UP) {
        \dir-column {


          \center-align \fontsize #4 \normal-text
          \fromproperty #'header:title
           \vspace #0.5
           \center-align \fontsize #2 \normal-text
          \fromproperty #'header:subtitle
        }
      }

      \left-column {
        \vspace #0.8
        \fromproperty #'header:composer
        \italic \fromproperty #'header:arranger
      }
    }
  }
}

\score { { c d e f } \layout {}

\header {title = "Ich"
composer = "Ich. Wer sonst!"
arranger = "Auch ich!"

}

}

\score { { c d e f } \layout {}

\header {title = "Ich, ja ich!"
composer = "Ich. Wer sonst!"
arranger = "Auch ich!"

}

}

Da ich es mir irgendwo zusammen kopiert habe, keine genaueren Erläuterungen.

Der \header-Bloch muss am Schluss des Score Blocks stehen, sonst zeigt das komische Probleme.
Titel: Re: Formatierungen als Variable
Beitrag von: Manuela am Freitag, 20. Januar 2017, 08:39
Danke, hilflos, jetzt weiß ich endlich,  wie ich die Titelformatierung im Score verändern kann!

War nur ein Nebenproblem für mich, deswegen wollte ich im Forum nicht extra nachfragen.
Titel: Re: Formatierungen als Variable
Beitrag von: stefanhuglfing am Sonntag, 22. Januar 2017, 08:07
An Hilflos-im-Code: Das kann ich auch gut gebrauchen.

An Manuela: So etwas hätte ich gesucht, aber dieser Code erzeugt bei mir Fehlermeldungen:

\version "2.18.2"

bold-red-markup = \markup \bold \with-color #red \etc

\markup \bold-red "dieser Text wird rot und fett"
Titel: Re: Formatierungen als Variable
Beitrag von: fugenkomponist am Sonntag, 22. Januar 2017, 10:17
\etc gibts erst in Version 2.19, siehe http://lilypond.org/doc/v2.19/Documentation/changes/
Titel: Re: Formatierungen als Variable
Beitrag von: Manuela am Sonntag, 22. Januar 2017, 16:55
Fürchte dich nicht vor der "instabilen" Version, es passiert nichts Schlimmes!  :)
Titel: Re: Formatierungen als Variable
Beitrag von: Manuela am Mittwoch, 25. Januar 2017, 17:36
\etc gibts erst in Version 2.19

Einmal nicht die Version dazu geschrieben  :-[
Titel: Re: Formatierungen als Variable
Beitrag von: Arnold am Donnerstag, 26. Januar 2017, 09:49
Hallo,

das es ja nicht um eine »statische Variable« geht, sondern um die Definition einer »Funktion, welche ein Markup verändert (umformatiert)«, wäre define-markup-command in der Version 2.18.2 zu benutzen.
In extneding.pdf unter New markup command definition ist auch ein Beispiel zu finden, wie eine solche Funktion definiert wird.
Genaugehommen werden im Handbuch zwei Varianten der Implementierung aufgezeigt, eine dritte (nicht aufgeführte) Variante würde Scheme-Funktione wie make-bold-markup und make-with-color-markup aufrufen.

Arnold
Titel: Re: Formatierungen als Variable
Beitrag von: stefanhuglfing am Mittwoch, 1. Februar 2017, 22:43
Danke, mit 2.19 geht's

Ist das in der Dokumentation beschrieben?
Ich finde es nicht.