\brokenpenalty unterschiedlich auf ungeraden Seiten

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: \brokenpenalty unterschiedlich auf ungeraden Seiten

von Gast » Do 5. Sep 2019, 17:37

Anonymous hat geschrieben:Gibt es eigentlich irgend einen Haken an der odd-even-Unterscheidung von \brokepenalty=9999 oder der Art der Umsetzung?
Haken ist, dass in Extremfällen, die falsche Entscheidung getroffen werden kann. Die Fälle dürften allerdings sehr selten sein, da in der Realität kaum Absätze vorkommen, die über mehr als zwei Seitenumbrüche gehen (jedenfalls, wenn man sich von Unfug wie \\ im Text fern hält).

von Gast » Do 5. Sep 2019, 13:19

Danke für die Antworten.

Ich habe meinen code jetzt wie folgt eingestellt:
\clubpenalty = 10000 
\widowpenalty = 10000
\displaywidowpenalty = 10000

\usepackage{everypage}
\makeatletter
\AddEverypageHook{%
    \ifodd\c@page%
      \global\brokenpenalty=110%
    \else%
      \global\brokenpenalty=9999%
    \fi%
}
\makeatother
Ich weiß, dass man eigentlich die penalties nicht auf 10000 stellen soll. Aber selbst bei 9999 bekomme ich sehr ungünstige Schusterjungen und Hurenkinder. Leider haben \enlargethispage*{\baselineskip}, \enlargethispage{\baselineskip}, \looseness=-1 keinen wirklich nennenswerten Effekt. Und wenn doch, dann sieht der Seitenumbruch meist noch schlimmer aus.

Leider weiß ich ansonsten nicht, wie ich den Seitenumbruch noch verbessern könnte... Gibt es eigentlich irgend einen Haken an der odd-even-Unterscheidung von \brokepenalty=9999 oder der Art der Umsetzung?

Danke!

von Gast » Do 5. Sep 2019, 12:24

Übrigens verhindert \brokenpenalty nicht, dass an der Stelle, an der optimaler Weise ein Seitenumbruch erfolgen würde, eine Trennung erfolgt. Stattdessen verhindert es, dass an der Stelle, an der eine Trennung erfolgt, ein Seitenumbruch gemacht wird. TeX versucht dann also eine Zeile früher oder später den Seitenumbruch zu machen. Wenn man dann gleichzeitig auch noch Schusterjungen absolut verhindert und ggf. weiteres Umbruchhürden aufhäuft, kann das schnell zu einer Verschlechterung des Seitenumbruchs führen, weil TeX irgendwann zu ggf. unschönen Notlösungen greift. Man sollte sich dessen zumindest bewusst sein oder ggf. einen Wert wählen, den TeX nicht als unendlich interpretiert.

von u_fischer » Do 5. Sep 2019, 11:31

Der Code wird am Ende der Seite ausgeführt, betrifft also die nächste Seite.

\brokenpenalty unterschiedlich auf ungeraden Seiten

von Gast » Do 5. Sep 2019, 10:07

Moin Moin,

ich möchte in meinem zweiseitigen Dokument einstellen, dass auf rechten, also ungeraden Seiten ein brokenpenalty von 9999 gilt und auf linken Seiten der Standardwert. Damit sollen dann Worttrennungen, bei denen man umblättern muss, weitestgehend verhindert werden. Auf sich gegenüberliegenden Seiten finde ich das nicht so schlimm. Besonders weil sonst der Seitenumbruch oft nicht gut ist.

Zu diesem Zweck habe ich den folgenden Code im Netz gefunden:

https://tex.stackexchange.com/questions ... -page-only
\usepackage{everypage}
\AddEverypageHook{%
    \ifodd\c@page%
      \global\brokenpenalty=110%
    \else%
      \global\brokenpenalty=10000%
    \fi%
}
Das scheint auch zu funktionieren. Meine Frage ist jetzt allerdings weshalb:

Da steht doch im Prinzip: Wenn der Seitencounter eine ungerade Zahl enthält, dann ist die Strafe bei 110, ansonsten bei 10000. Das wäre doch aber gerade verkehrtherum, oder nicht?

Danke für eure Hilfe!

Nach oben