Autor Thema: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036 (gelöst)  (Gelesen 3674 mal)

Manuela

  • Member
Hi,

zunächst dachte ich, LSR 1036 löst mein Problem: Page Range Numbering

Dann stellte ich fest, dass nicht die Seitennummerierung auf diesen Seiten unterdrückt wird, als z.B. mit der Liste page-number-ranges = #'((1) (3 5) (7 10))auf den Seiten 2 und 6 keine Seitenzahlen aufscheinen, sondern dass diese Seitenzahlen bloß ausgelassen werden, also auf Seite 1 gleich die Seite 3 folgt.

Gibt es irgendwo bereits eine vorgefertigte Funktion, die die Seitennummerierung auf einer vorgegebenen Liste von Seiten unterdrückt?
« Letzte Änderung: Sonntag, 20. November 2016, 10:31 von Manuela »

harm6

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036
« Antwort #1 am: Samstag, 19. November 2016, 00:20 »
Hallo Manuela,

page-number-ranges = #'((1) (3 5) (7 10))
druckt auf einander folgende Seiten mit der Nummerierung: 1, 3, 4, 5, 7, 8, 9, 10 und ab jetzt alle. Nächste wären also 11, 12, 13, etc

Verstehe ich Dich richtig, daß Du stattdessen ein Funktion haben möchtest, bei der angegeben werden kann welche Seiten ausgelassen werden sollen. Also etwas wie:
omitPageNumbers #'(2 6)
um auf dieselben Zahlen zu kommen wie mit dem page-number-ranges-Beispiel?

Vorgefertigt gibts das m.E. nicht, kann man aber sicherlich machen.

Oder eher folgendes:

Seite 1 hat die Nummer 1
Seite 2 ohne Nummer
Seite 3 hat die Nummer 3
...

Gruß,
  Harm
« Letzte Änderung: Samstag, 19. November 2016, 00:21 von harm6 »

Manuela

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036
« Antwort #2 am: Samstag, 19. November 2016, 06:50 »

Oder eher folgendes:

Seite 1 hat die Nummer 1
Seite 2 ohne Nummer
Seite 3 hat die Nummer 3
.

Danke Harm für deine Antwort, meine Formulierung war missverständlich (das Umschreiben der Liste würde mir nicht helfen ;-) )
Das ist es, was ich will.

Hintergrund: ich habe eine Art Schmuckblätter in meinem Liederbuch mit Kapitelüberschriften und einer Grafik drauf, da stören mich die Seitennummern einfach.

Ich könnte die Seiten auch nachträglich per PDF-Bearbeitung einfügen, was bei 19 Kapiteln aufwändig aber machbar wäre. Aber wehe, ich mache eine Änderung und kompiliere neu, so wird dieser Arbeitsgang jedesmal fällig.

Aber bevor du weitermachst, kommt mir eine Idee, die ich momentan aber nicht nachprüfen kann (weil ich nicht auf meinem Stand-PC bin und jetzt keine Zeit habe).
Ich habe die Schmuckblätter in eigene Bookparts eingesperrt, genügt es, dort die Seitennummerierung zu unterdrücken? Beim Inhaltsverzeichnis funktioniert das auch.

Update: klappt leider nicht, die Seitenzahlen verschwinden im kompletten Dokument.
« Letzte Änderung: Samstag, 19. November 2016, 08:28 von Manuela »

Manuela

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036
« Antwort #3 am: Samstag, 19. November 2016, 08:37 »
So, jetzt bin ich kurz an meinem großen PC.

Das Problem ist ein anderes, sry: ich verpacke die Seitenzahlen in evenHeaderMarkup bzw. oddHeaderMarkup, und die Kopf- bzw. Fußzeilen kann man, glaube ich, nur global für ein Dokument festlegen und nicht je Bookpart variieren.

evenHeaderMarkup = \markup {
    \fill-line {
      \small \number { \fromproperty #'page:page-number-string }
      \null
    }
  }
« Letzte Änderung: Samstag, 19. November 2016, 08:39 von Manuela »

harm6

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036
« Antwort #4 am: Samstag, 19. November 2016, 08:48 »
Zitat
Ich habe die Schmuckblätter in eigene Bookparts eingesperrt, genügt es, dort die Seitennummerierung zu unterdrücken? Beim Inhaltsverzeichnis funktioniert das auch.

Update: klappt leider nicht, die Seitenzahlen verschwinden im kompletten Dokument.

Bei mir funktioniert:

\version "2.18.2"

\book {
\bookpart { \new Staff { \repeat unfold 3 { c'1 \pageBreak } } }
\bookpart {
\paper { oddHeaderMarkup = ##f evenHeaderMarkup = ##f }
\markup { myGraphic }
}
\bookpart { \new Staff { \repeat unfold 3 { c'1 \pageBreak } } }
\bookpart {
\paper { oddHeaderMarkup = ##f evenHeaderMarkup = ##f }
\markup { myGraphic }
}
}

Die bookparts mit dem markup haben keine Seitennummer.

Gruß,
  Harm

fugenkomponist

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036
« Antwort #5 am: Samstag, 19. November 2016, 12:40 »
\paper { oddHeaderMarkup = ##f evenHeaderMarkup = ##f }
Es geht sogar noch etwas einfacher/klarer:
\paper { print-page-number = ##f }

Manuela

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036
« Antwort #6 am: Sonntag, 20. November 2016, 09:54 »
Jetzt brat mir mal einer einen Storch, aber die Beine recht knusprig!

Wie Harm es beschrieben hat, klappt es. Aber wehe, ich verwende eine Variable.

\version "2.19.37"

keineSeitenzahl =  \paper {
  oddFooterMarkup = ##f
  print-page-number = ##f
  evenFooterMarkup = ##f
  evenHeaderMarkup = ##f
  oddHeaderMarkup = ##f
}

\bookpart {
  \keineSeitenzahl
  \markup { myGraphic }
  \pageBreak \markup \null
}

lässt alle Kopf- und Fußzeilen verschwinden, die direkte Eingabe nicht.

Warum steht in der Dokumentation, dass es keinen Unterschied macht, ob ich Code direkt reinschreibe oder als Variablen definiere? Offensichtlich gibt es sehr wohl Unterschiede, das sollte man vielleicht mal schreiben.

fugenkomponist

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036
« Antwort #7 am: Sonntag, 20. November 2016, 11:26 »
\version "2.19.37"

keineSeitenzahl =  \paper {
  oddFooterMarkup = ##f
  print-page-number = ##f
  evenFooterMarkup = ##f
  evenHeaderMarkup = ##f
  oddHeaderMarkup = ##f
}

\bookpart {
  \keineSeitenzahl
  \markup { myGraphic }
  \pageBreak \markup \null
}

lässt alle Kopf- und Fußzeilen verschwinden, die direkte Eingabe nicht.
Öhm, nein, gleiches Ergebnis:
\version "2.19.37"

\bookpart {
  \paper {
    oddFooterMarkup = ##f
    print-page-number = ##f
    evenFooterMarkup = ##f
    evenHeaderMarkup = ##f
    oddHeaderMarkup = ##f
  }
  \markup { myGraphic }
  \pageBreak \markup \null
}
Zitat
Warum steht in der Dokumentation, dass es keinen Unterschied macht, ob ich Code direkt reinschreibe oder als Variablen definiere? Offensichtlich gibt es sehr wohl Unterschiede, das sollte man vielleicht mal schreiben.
Ich kann hier keine Unterschiede feststellen.

Manuela

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036
« Antwort #8 am: Sonntag, 20. November 2016, 11:45 »

Ich kann hier keine Unterschiede feststellen.

Vll. gibt es einen Unterschied zwischen Linux und Windows.

fugenkomponist

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036 (gelöst)
« Antwort #9 am: Sonntag, 20. November 2016, 12:38 »
Kann ich mir an dieser Stelle ehrlich gesagt nicht vorstellen. Verwendest du tatsächlich 2.19.37? Und hast du genau diese beiden Codes aus meinem letzten Beitrag verglichen?

Manuela

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036 (gelöst)
« Antwort #10 am: Sonntag, 20. November 2016, 17:31 »
Ok ich gebs ja zu, es ist nicht genau Version 37, sondern 42  :-[

Hier der genaue Code, den ich verwendet habe:

\version "2.19.42"
#(set! paper-alist (cons '("snippet" . (cons (* 120 mm) (* 160 mm))) paper-alist))
\paper {
  #(set-paper-size "snippet")
  indent = 0
  tagline = ##f
}

keineSeitenzahl =  \paper {
  evenHeaderMarkup = ##f
  oddHeaderMarkup = ##f
  print-page-number = ##f
}

\paper {
  print-page-number = ##f
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  evenHeaderMarkup = \markup {
    \fill-line {
      \small \number { \fromproperty #'page:page-number-string }
      \null
    }
  }
  oddHeaderMarkup = \markup {
    \fill-line {
      \null
      \small \number
      {
        \fromproperty #'page:page-number-string
      }
    }
  }
}

\bookpart {
  \keineSeitenzahl %% alle Header verschwinden, dafür tauchen Seitenzahlen auf
  \markup { myGraphic }
  \pageBreak \markup \null
}

\score {
  \new Staff {
    c''1 \pageBreak d'' \pageBreak e'' \pageBreak
    f'' \pageBreak g'' \pageBreak a'' \pageBreak
  }
}

Ersetze ich die Variable \keineSeitenzahl durch die Definition, dann scheinen die Kopfzeilen genau dort auf, wo sie sollen, nämlich außerhalb des Bookparts.

Allerdings werden Seitenzahlen gedruckt, was in meinem Originalcode, der wesentlich umfangreicher ist, nicht passiert, es wir immer mysteriöser.
« Letzte Änderung: Sonntag, 20. November 2016, 18:13 von Manuela »

harm6

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036 (gelöst)
« Antwort #11 am: Sonntag, 20. November 2016, 19:07 »
Hallo Manuela,

(1)
wenn ich Deinen Code teste, den ich hier nochmal kopiere, so entsteht das angehängte pdf
\version "2.19.42"
#(set! paper-alist (cons '("snippet" . (cons (* 120 mm) (* 160 mm))) paper-alist))
\paper {
  #(set-paper-size "snippet")
  indent = 0
  tagline = ##f
}

keineSeitenzahl =  \paper {
  evenHeaderMarkup = ##f
  oddHeaderMarkup = ##f
  print-page-number = ##f
}

\paper {
  print-page-number = ##f
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  evenHeaderMarkup = \markup {
    \fill-line {
      \small \number { \fromproperty #'page:page-number-string }
      \null
    }
  }
  oddHeaderMarkup = \markup {
    \fill-line {
      \null
      \small \number
      {
        \fromproperty #'page:page-number-string
      }
    }
  }
}

\bookpart {
  \keineSeitenzahl %% alle Header verschwinden, dafür tauchen Seitenzahlen auf
  \markup { myGraphic }
  \pageBreak \markup \null
}

\score {
  \new Staff {
    c''1 \pageBreak d'' \pageBreak e'' \pageBreak
    f'' \pageBreak g'' \pageBreak a'' \pageBreak
  }
}

8 Seiten, die beiden ersten Seiten haben keine Nummerierung, danach sind die Seiten nummeriert von 3 bis 8.

Wenn ich folgenden Code teste, der die paper-Setzung im bookpart hat, erhalte ich exakt das gleiche pdf. Ich poste es deshalb nicht nochmal.

\version "2.19.42"
#(set! paper-alist (cons '("snippet" . (cons (* 120 mm) (* 160 mm))) paper-alist))
\paper {
  #(set-paper-size "snippet")
  indent = 0
  tagline = ##f
}

\paper {
  print-page-number = ##f
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  evenHeaderMarkup = \markup {
    \fill-line {
      \small \number { \fromproperty #'page:page-number-string }
      \null
    }
  }
  oddHeaderMarkup = \markup {
    \fill-line {
      \null
      \small \number
      {
        \fromproperty #'page:page-number-string
      }
    }
  }
}

\bookpart {
\paper {
  evenHeaderMarkup = ##f
  oddHeaderMarkup = ##f
  print-page-number = ##f
}
  \markup { myGraphic }
  \pageBreak \markup \null
}

\score {
  \new Staff {
    c''1 \pageBreak d'' \pageBreak e'' \pageBreak
    f'' \pageBreak g'' \pageBreak a'' \pageBreak
  }
}

Ist das bei Dir wirklich anders?
Bitte teste obige Codes unverändert und in separaten files.

(2)
In einem paper-Block wie
\paper {
  print-page-number = ##f
  evenHeaderMarkup = \markup {
    \fill-line {
      \small \number { \fromproperty #'page:page-number-string }
      \null
    }
  }
  oddHeaderMarkup = \markup {
    \fill-line {
      \null
      \small \number
      {
        \fromproperty #'page:page-number-string
      }
    }
  }
}

ist print-page-number = ##f sinnlos, denn Du definierst die page-header neu ohne den Wert für print-page-number abzufragen.
Dafür wäre print-page-number-check-first da. Siehe titling-init.ly.
Folgerichtig werden die Seitenzahlen überall dort ausgegeben wo Deine Definition dafür gilt. Also überall wo diese neuen page-header nicht ausdrücklich ausgeschlossen sind.

HTH,
  Harm

Manuela

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036 (gelöst)
« Antwort #12 am: Sonntag, 20. November 2016, 20:31 »
Hallo Harm,

mit dem folgenden Code (ich wiederhole ihn, um ganz sicher zu gehen) erhalte ich das angehängte PDF

\version "2.19.42"
#(set! paper-alist (cons '("snippet" . (cons (* 120 mm) (* 160 mm))) paper-alist))
\paper {
  #(set-paper-size "snippet")
  indent = 0
  tagline = ##f
}

keineSeitenzahl =  \paper {
  evenHeaderMarkup = ##f
  oddHeaderMarkup = ##f
  print-page-number = ##f
}

\paper {
  print-page-number = ##f
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  evenHeaderMarkup = \markup {
    \fill-line {
      \small \number { \fromproperty #'page:page-number-string }
      \null
    }
  }
  oddHeaderMarkup = \markup {
    \fill-line {
      \null
      \small \number
      {
        \fromproperty #'page:page-number-string
      }
    }
  }
}

\bookpart {
  \keineSeitenzahl %% alle Header verschwinden, dafür tauchen Seitenzahlen auf
  \markup { myGraphic }
  \pageBreak \markup \null
}

\score {
  \new Staff {
    c''1 \pageBreak d'' \pageBreak e'' \pageBreak
    f'' \pageBreak g'' \pageBreak a'' \pageBreak
  }
}

Deine Aussage bzgl.

print-page-number = ##f
verstehe ich momentan nicht, aber das ist nicht das Problem  ;)

Ich habe jetzt eine funktionierende Version, das ist das wichtigste für mich.  :)
Vll. ist es wirklich eine Windows-Geschichte, oder Frescobaldi, warum die Verwendung einer Paper-Variablen diesen seltsamen Effekt bei mir hat.

harm6

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036 (gelöst)
« Antwort #13 am: Sonntag, 20. November 2016, 21:33 »
Zitat
mit dem folgenden Code (ich wiederhole ihn, um ganz sicher zu gehen) erhalte ich das angehängte PDF
[...]
Vll. ist es wirklich eine Windows-Geschichte, oder Frescobaldi, warum die Verwendung einer Paper-Variablen diesen seltsamen Effekt bei mir hat.

Ich hab' mal extra 2.19.42 runtergeladen um mit Deiner Version zu testen.
Ergebnis: Ja, ich bekomme dasselbe pdf wie Du.

Aber 2.19.42 ist veraltet. Wenn man devel-Versionen verwendet sollte man dann auch immer zur aktuellen wechseln, das ist im Moment 2.19.51. Allerdings muß man ebenfalls darauf gefasst sein, daß auch schon mal was schief läuft, sodaß man auch schon mal zurück muss.

Zitat
Deine Aussage bzgl.
print-page-number = ##f
verstehe ich momentan nicht,
Kurz gesagt, solange Du die page-header wie gezeigt definierst, wird jede Setzung für print-page-number von ihnen missachtet.

Gruß,
  Ham

Manuela

  • Member
Re: Seitennummerierung für einige Seiten unterdrücken vgl LSR 1036 (gelöst)
« Antwort #14 am: Sonntag, 20. November 2016, 22:37 »
Ich hab' mal extra 2.19.42 runtergeladen um mit Deiner Version zu testen.
Ergebnis: Ja, ich bekomme dasselbe pdf wie Du.


Heute installiere ich keine neue Version mehr  ;)
zumal bei einer neuen Version wieder das font-Ungemach droht

Kurz gesagt, solange Du die page-header wie gezeigt definierst, wird jede Setzung für print-page-number von ihnen missachtet.


Habe ich das richtig verstanden, dass die Seitenzahlen standardmäßig von Lily mit ...HeaderMarkup ausgegeben werden? Und print-page-number wird von ...HeaderMarkup abgefragt mit \on-the-fly #print-page-number-check-first?

Mir war nicht ganz klar, was ich da tue, sry. Die Seitenzahlen sind also nichts anderes als  ...HeaderMarkup, jetzt ist mir das klar  :)

Danke für deine schier unerschöpfliche Geduld  :D
« Letzte Änderung: Sonntag, 20. November 2016, 22:39 von Manuela »