Autor Thema: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?  (Gelesen 5253 mal)

juppes

  • Member
Ich habe ein Vorwort geschrieben, aber die Darstellung hat eine kleine Macke: an einer Stelle sind die Abstände trotz identischer "Abstandhalter" nicht gleich. Was habe ich da nicht kapiert oder wie kriege ich das weg?

Hier ist die Codestruktur:

\markup {
  \column {
    \line  \smallCaps { Komponist }
    \line \bold {VORWORT}
    \vspace #1
    \wordwrap
    \left-align
   
 
    \vspace #.5
    \justify
     
    {
      Blablabla...
    }
    \vspace #.5
    \justify
 
    {
      1. schwafel...
    }
    \vspace #.1
    \justify
    {
      2. Laber
    }
    \vspace #.1
    \justify

    {
      3. Quassel...
    }
   
    \vspace #1
    \justify
    {
      Brabbel...
    }
\version "2.14.2"

Auf einem Bildschirmfoto, das ich auch noch anhänge, ist zu sehen, was ich meine: in der Aufzählung sind die Abstände unterschiedlich groß trotz gleich definierter Abstände. Ich vermute aber trotzdem, daß es an mir und nicht an Lilypond liegt. Die Frage ist nur: was muß ich tun, damit ich richtig verstanden werde?

Danke für Eure Unterstützung

eluze

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #1 am: Samstag, 6. Oktober 2012, 16:21 »
so was?
\markup \override #'(line-width . 52) \column {
  \line  \smallCaps { Komponist }
  \line \bold {VORWORT}
  \vspace #1
  \justified-lines {
    Blablabla... Blablabla...
    Blablabla... Blablabla...
    Blablabla... Blablabla...
    Blablabla... Blablabla...
  }
  \vspace #2
  \justified-lines {
    1. schwafel... schwafel... schwafel... schwafel... schwafel... schwafel... schwafel... schwafel... schwafel... schwafel... schwafel... schwafel...
  }
… … … …

im allgemeinen einfach das überflüssige weglassen…

Eluze

ps: ich verwende die version 2.17.3

RobUr

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #2 am: Samstag, 6. Oktober 2012, 17:02 »
Hallo juppes,

Du müsstest bitte dringend deine Codebeispiele auf Kompilierbarkeit überprüfen! Es ist äußerst zeitraubend, fehlplatzierte Befehle und falsche Klammerung ausfindig zu machen.

Folgender Code funktioniert:
\version "2.14.2"

\markup {
\column {
\fill-line \smallCaps { Komponist }
\fill-line \bold { VORWORT }

\vspace #1.5

\justify {
Blablabla …
}

\vspace #.5

\justify {
1. schwafel …
}

\vspace #.1

\justify {
2. Laber
}

\vspace #.1

\justify {
3. Quassel …
}

\vspace #1

\justify {
Brabbel …
}
}
}

Gruß, Robert

juppes

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #3 am: Samstag, 6. Oktober 2012, 20:45 »
Lieber Robert,

es tut mir leid, ich habe was falsch ausgeschnitten und dann nicht nochmal getestet. Beim nächsten Mal kommt das nicht mehr vor. Das Problem ist aber noch nicht geknackt, denn wenn ich das jetzt so kompiliere, sieht alles einwandfrei aus.

Erst wenn der tatsächliche Text da steht, tritt das Problem auf, wie das Bildschirmfoto zeigt.

Ich wollte auch noch etwas anderes erreichen bei meiner Absatzformatierung: die normalen Absätze sollen etwas weiter voneinander entfernt stehen als die Punkte in einer Aufzählung. Ich glaubte das mit \vspace #*** erreichen zu können, aber es könnte sein, daß das nicht der richtige Hebel ist. Sollte dem so sein, wie ginge ich dann am besten vor?



Jetzt ist guter Rat teuer. Oder doch nicht?
« Letzte Änderung: Samstag, 6. Oktober 2012, 20:52 von juppes »

harm6

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #4 am: Samstag, 6. Oktober 2012, 21:50 »
Hallo juppes,

der erste Schritt den ein jeder von uns ausführen muß, wenn es ums debuggen fremden Codes geht, ist das Reproduzieren des Problems.

Du wirst also nicht umhinkommen den richtigen Text zu posten oder einen Unsinnstext zu finden und zu posten, der das selbe Phänomen verursacht.

Ansonsten sehe ich nicht wie ich Dir helfen könnte.



Gruß,
  Harm

juppes

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #5 am: Samstag, 6. Oktober 2012, 22:05 »
hallo harm6,

ich war wohl zu sparsam mit meinen Angaben. Danke für's Nachhaken. Hier kommt also ein längeres Stück des Originaltextes. Die Problemzone ist bei der Aufzählung 1., 2., 3., wo die Abstände etwas kleiner sein sollen als bei den übrigen Absätzen. Das habe ich noch nicht hinbekommen.

Und noch etwas, das gleich mitbeantwortet werden könnte: wie schreibe ich rechtsbündig orientierten Text? Habe keinen Befehl finden können. \right-align tut's jedenfalls nicht. Keine Ahnung was für Lilypond da rechts sein soll, denn dann ragt der Text noch über den linken Rand hinaus.

harm6

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #6 am: Sonntag, 7. Oktober 2012, 00:20 »
Hallo juppes,

das war eine etwas härtere Nuss, aber mir ist es gelungen, das Problem mit einem nonsense-Text nachzustellen. Wenn man dann sowohl die Text-Blöcke als auch \vspace in eine \box packt sieht man, daß bei einzeiligem Text-Block noch zusätzlicher vertikaler Platz frei bleibt, bei mehrzeiligem Text nicht.

\markup \column {
        \box\justify {
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        }
        \box\vspace #.1
       
        \box\justify {
        asdfgQWERT
                % guter output, falls man folgende Zeilen einkommentiert.
        %asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        %asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        }

        \box\vspace #.1
        \box\justify {
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        }
}
-> Ausschnitt-01.png

Ich halte das für einen bug.

Workaround:
setze \vspace in \justify und benutze einen negativen Wert

\markup \column {
        \justify {
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        \vspace #-1
        }
        \justify {
        asdfgQWERT
        \vspace #-1
        }
        \justify {
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        }
}
-> Ausschnitt-02.png

Dein korrigierter Code im Anhang.

Zitat
Und noch etwas, das gleich mitbeantwortet werden könnte: wie schreibe ich rechtsbündig orientierten Text? Habe keinen Befehl finden können.

Du hättest hier im Forum suchen können:
https://liarchiv.joonet.de/index.php?topic=857.msg5053#msg5053
oder im LSR wo ich das snippet dann platziert hatte:
http://lsr.dsi.unimi.it/LSR/Item?id=765

Zitat
\right-align tut's jedenfalls nicht. Keine Ahnung was für Lilypond da rechts sein soll, denn dann ragt der Text noch über den linken Rand hinaus.
Nun ja, LilyPond macht genau was Du ihr gesagt hast. Die align-Befehle brauchen einen Bezugspunkt. Wenn sonst keiner da ist dann wird der Punkt (0 . 0) genommen, also der linke Rand einer Zeile. ;)


HTH,
  Harm

P.S.
Ist Dir bewußt, daß der Text nicht auf eine Seite paßt? Da kann es noch Überraschungen geben.

harm6

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #7 am: Sonntag, 7. Oktober 2012, 01:37 »
Nachtrag:

Hier ist schon mal etwas ähnliches diskutiert worden.

markuplines ist in 2.16. allerdings zu markuplist geworden.

Mit markuplines/list kann der Seitenumbruch besser behandelt werden. ->NR

Gruß,
  Harm

juppes

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #8 am: Sonntag, 7. Oktober 2012, 09:37 »
lieber Harm,

bevor ich mich nun wieder an mein Projekt setze, möchte ich Dir erst einmal ganz herzlich für Deine Anstrengungen danken.
Dieses Problem hätte ich alleine wohl nie gelöst. Ich arbeite zum ersten Mal an einem Projekt mit viel Text, und diese ganzen Formatierungsangelegenheiten sind Neuland für mich.

Mit einem normalen Textverarbeitungsprogramm wäre ich schon längst damit durch, aber mit Lilypond ist es halt dann aus einem Guß, was doch schöner ist wegen der einheitlichen Schriften zum Beispiel.
Anders als bei WYSIWYG muß man eben alles selber ansagen, aber Lilypond macht eben nur das, was es versteht, und das muß man ergründen, sonst wird es komisch  :)

Da es so vieles kann, dauert es eben, bis der Nutzer sich immer verständlich artikulieren kann. Eine andere Sache ist, daß auch das Suchen in der NR nicht immer hilft, da man seine Suchaufträge (unbeabsichtigt) nicht immer präzise genug formuliert. Und dann läuft die Suche eben ins Leere...

Daß mein Text in dieser Form nicht auf eine Seite paßt, ist mir klar. Er ist sogar noch länger. Ich habe ihn aber in einer separaten Datei gespeichert, die ich mit \include einbinde. Da in der Datei mit der Partitur aber andere Formatierungen und ein größeres Format als A4 gesetzt sind, habe ich keine Probleme mit der Darstellung - es ist immer alles auf der Seite drauf.

Ich hoffe, daß nun keine weiteren Schwierigkeiten mehr auftauchen - das viele Herumprobieren kostet richtig Zeit. Allerdings lernt man auch eine Menge dabei, und das zahlt sich später aus. :)

wünsche Dir einen schönen Sonntag

« Letzte Änderung: Sonntag, 7. Oktober 2012, 09:51 von juppes »

harm6

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #9 am: Sonntag, 7. Oktober 2012, 12:03 »
Zitat
Ich arbeite zum ersten Mal an einem Projekt mit viel Text, und diese ganzen Formatierungsangelegenheiten sind Neuland für mich.

Mit einem normalen Textverarbeitungsprogramm wäre ich schon längst damit durch, aber mit Lilypond ist es halt dann aus einem Guß, was doch schöner ist wegen der einheitlichen Schriften zum Beispiel.

Nun ja, LilyPond ist halt ein Notenschreib- und kein Textverarbeitungsprogramm, auch wenn es natürlich möglich ist auf vielfältigste Weise in LilyPond mit Text umzugehen.

Vielfach wird LaTex dafür empfohlen.

Siehe auch diesen thread:
http://lists.gnu.org/archive/html/lilypond-user/2011-08/msg00080.html
besonders die Antworten von Reinhold Kainhofer:
http://lists.gnu.org/archive/html/lilypond-user/2011-08/msg00084.html
http://lists.gnu.org/archive/html/lilypond-user/2011-08/msg00126.html


Gruß,
  Harm

juppes

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #10 am: Sonntag, 7. Oktober 2012, 15:18 »
hallo Harm,

das ist wohl wahr, aber auch bei LaTeX muß man doch alle Formatierungen ansagen, da gibt es, soweit ich weiß keinen prinzipiellen Unterschied. LaTeX scheint mir das für Text zu sein, was Lilypond für die Notenschreiberei ist. Ich habe auch schon damit geliebäugelt, mich darin einzuarbeiten, aber Lilypond hält mich doch ganz schön auf Trab im Augenblick. Einfach zu viele Baustellen...

Jetzt ist doch noch ein Formatierungsproblem aufgetaucht, das ich nicht gelöst bekomme. Das rührt daher, daß ich ein Papierformat benutze und auch bedrucken will, wie es der Henle-Verlag verwendet. Das ist ein wenig größer als A4, macht sich aber in puncto Fassungsvermögen sehr positiv bemerkbar.

Mein Text paßt hier problemlos auf eine Seite, aber die Zeilen sind grenzwertig lang, was die Lesefreundlichkeit angeht. Nicht umsonst werden Zeitungen in Spalten gedruckt. Es gäbe zwei Lösungsansätze:

  • tatsächlich 2 Spalten anlegen - aber wie?
  • den Textblock, den ich schon mit  \override #'(line-width . 100) eingegrenzt habe, in die Mitte rücken. Leider bekomme ich auch das nicht hin...

So klebt der Block einstweilen mal am linken Rand fest.  :-\
[/list]

harm6

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #11 am: Sonntag, 7. Oktober 2012, 16:48 »
Hier der Code für zentriert und in zwei Spalten. Für die rein technische Darstellung habe ich wieder den nonsense-Text von oben genommen.
\box ist allein der besseren Visualisierung wegen eingefügt.

\version "2.14.2"

txt =
\markup \override #'(line-width . 50) \column {
        \justify {
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        \vspace #-1
        }
        \justify {
        asdfgQWERT
        \vspace #-1
        }
        \justify {
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
        asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT asdfgQWERT
       
        }
}   


\markup \fill-line { \center-column { \fontsize #4 \bold "Zentriert" \vspace #0 } }

\markup \fill-line { \box\txt }

\markup \fill-line { \center-column { \vspace #4 \fontsize #4 \bold "In Zwei Spalten"  \vspace #0 } }
       
\markup \fill-line { \box\txt \box\txt }
-> png im Anhang

Dein Text ist auch im Anhang.
Sowohl zentriert als auch in zwei Spalten. Wenn man in zwei Spalten schreiben möchte muß man allerdings selbst dafür Sorge tragen wo, was, wie umgebrochen wird. Automatisch passiert das nicht.
Es war mir zu mühsam noch das Henle-Format nachzuschlagen, deshalb habe ich der Einfachheit halber A3 genommen.


Gruß,
  Harm

P.S.
a) Die Geschichte mit den zwei Spalten ist schon in den links, die ich angab besprochen. ;)
b) Da es sich ja doch um ein neues Thema handelt, solltest Du lieber einen neuen Thread eröffnet haben. :)

juppes

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #12 am: Sonntag, 7. Oktober 2012, 21:18 »
hallo Harm,

danke für die tatkräftige Unterstützung! Ich kann leider nur einen Teilerfolg mit meinem Text vermelden: zentrierter Textblock geht einwandfrei, aber die Lösung mit den Spalten habe ich nicht hingekriegt und weiß nicht warum. Habe alles mögliche versucht, aber so glatt wie in Deinem schönen Beispiel haut es bei mir nicht hin.
Wenn ich mein Vorwort als Variable definiere, so wie Du's gemacht hast, stößt sich Lilypond beim Einbinden der Vorwort-Datei daran. Ich habe dann die Variable in die Partiturdatei verlegt und den entsprechenden \include-Befehl stillgelegt. Dann ging's wieder als Textblock. Das beste, was ich bei den Spalten hinbekommen habe, waren zwei schmale Textblocke übereinander, siehe Screenshot, auch nachdem ich meinen Text in zwei Variable mit den schönen Namen txt und txteins "zersägt" hatte.

Weiß nicht, ob es eine Lösung dafür gibt, da nicht genau erkennbar ist, warum es hakt. Ich glaube, die Spaltenlösung wäre die beste, aber wenn man den Textblock nicht zu breit macht, ist er ein Kompromiß, mit dem man leben kann.

juppes

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #13 am: Donnerstag, 11. Oktober 2012, 17:10 »
Lieber Harm,

auch hier noch einmal ein Lebenszeichen von mir. Ich habe noch einmal mit Deinem Code-Beispiel herumgespielt und mein Vorwort auch sehr schön in Spalten aufgeteilt bekommen, nachdem ich die Textmengen in mehren Variablen so eingerichtet habe, daß die Stücke jeweils auf eine Seite paßten.

Das läßt sich alles prima kompilieren. Nun habe ich noch einmal versucht, diese Datei in meine Partitur in einem Bookpart per \include einzubinden. Das klappt leider nicht, weil es an dem Punkt eine Fehlermeldung im lilypond-Protokoll gibt, wo die Variablen eingelesen werden sollen. Das sieht dann so aus:

Zitat
Analysieren...
/home/hajo/Arbeitsfläche/LIlypond_Muster_Dateien/VWexp.ly:4:0: Fehler: syntax error, unexpected STRING

txt =
und so weiter für alle Variablen und später im Markup noch einmal, wo sie angegeben sind.

Der Kompilationsprozeß läuft trotzdem durch, aber hinterher sehe ich nur das letzte Stück von meinem Text und die Namen der Variablen (txt, txteins, txtzwo) im PDF. Der ganze Rest ist auch da.

Und wie gesagt: die gleiche Datei allein läßt sich anstandslos kompilieren und das Ergebnis ist wie erwartet. Reichen diese Angaben für eine Diagnose aus oder brauchst Du mehr? Der Aufbau der obenerwähnten Datei ist exakt wie in Deinem Beispiel, nur mit mehr Variablen.

Ich hoffe doch, daß sich die Sache noch in den Griff kriegen läßt...

harm6

  • Member
Re: Ungleichmäßige Abstände bei Absätzen in einem Text: wie beseitige ich sie?
« Antwort #14 am: Freitag, 12. Oktober 2012, 13:10 »
Hallo juppes,

es fällt mir sehr schwer hier irgendetwas sinnvolles zu schreiben.

Ich weiß nicht was Du gemacht hast, ich bin ja kein Hellseher.

Deshalb nochmal:
Reduzier den Code auf ein Minimum, indem Du alles rausschmeißt/kommentierst was den Fehler nicht verursacht und reduziere Musik und Texte auf das Minimale.
Und poste diesen dann.

Es ist tatsächlich sehr schwer bei einem großen Projekt den Überblick zu behalten bzw einen Fehler zu isolieren.
(Dein Vorhaben scheint ein solches zu sein)

Aber wenn Du das oben beschriebene Verfahren befolgst, sollte es gelingen.
Mehr noch: Aus eigener Erfahrung kann ich sagen, daß (während der Code-Vereinfachung) der Fehler häufig direkt ins Auge springt, sodaß ein posting überflüssig wird.


-Harm