Toleranz im einspaltigen und zweispaltigen Format

Toleranz im einspaltigen und zweispaltigen Format

Mir fällt auf, dass dies tolerance = 200bei einem einspaltigen Layout in der Artikelklasse der Fall ist, tolerance = 9999bei einem zweispaltigen Layout jedoch nicht. In bleibt es jedoch bei 200, entweder ltxgrid.clsfür oder . tolerance\onecolumngrid\twocolumngrid

Die größere Toleranz in der zweispaltigen Artikelklasse löst eine Reihe von Problemen in den schmaleren Zeilen des zweispaltigen Modus, kann jedoch zu sehr großen Abständen führen.

Meine Fragen lauten also: Warum ist der Zweispaltenwert in der Artikelklasse so hoch eingestellt und was ist ein wünschenswerter Wert tolerancein einem typischen Zweispaltenmodus?

Antwort1

articletut

\if@twocolumn
  \twocolumn
  \sloppy
  \flushbottom
\else
  \onecolumn
\fi

Die angezeigte Toleranz ergibt sich also aus der Verwendung von \sloppy. Sie können denselben Befehl auch in anderen Kontexten mit schmalen Spalten verwenden oder wie an mehreren Stellen erläutert, z. B.

Was bedeutet \fussy, \sloppy, \emergencystretch, \tolerance, \hbadness?

Sie könnten eine Version von in Betracht ziehen, \sloppydie nicht so stark zunimmt \toleranceund sich stärker auf verlässt \emergencystretch.

Antwort2

Wie David sagte, gibt es hier keinen wirklich optimalen Wert. Es hängt alles vom tatsächlichen Inhalt im engen Rahmen und Ihrer Bereitschaft ab, einzelne Probleme manuell zu korrigieren, indem Sie den Text neu schreiben, Trennzeichen hinzufügen, die TeX nicht gefunden hat, und dergleichen.

Wenn Sie die Toleranz hoch einstellen, hat TeX mehr mögliche Haltepunkte, die es berücksichtigen kann, und findet möglicherweise einen, der in einem problematischen Fall funktioniert. Als Ergebnis erhalten Sie eine oder mehrere ziemlich schlecht verteilte Zeilen. Wenn Sie die Toleranz niedriger einstellen, aber einen höheren Emergencystretch verwenden, findet Tex zunächst nur „bessere“ Zeilenumbrüche, d. h. solche, die nicht so weit auseinander liegen. Wenn dies jedoch keine Lösung ergibt, erhalten Sie statt einer schlecht verteilten Zeile mehr (oder sogar alle) Zeilen mit „ziemlich schlecht“ verteiltem Zeilenabstand, da dieser Emergencystretch dann zu allen Zeilen hinzugefügt wird, wodurch locker verteilte Zeilen im Allgemeinen besser aussehen. Was besser funktioniert, ist Geschmackssache, aber meiner Meinung nach ist keines von beiden wirklich gut.

Normalerweise stelle ich die Toleranz auf einen Wert zwischen 2000 und 3000 ein, mit einem kleinen Wert für zusätzliches Emergencystretch, und bin bereit, alle verbleibenden Probleme manuell zu beheben. Wenn Sie jedoch eine vollautomatische Lösung (oder eine nahezu automatische) benötigen, ist etwas wie \sloppy oder ein sehr hoher Wert für Emergencystretch (oder eine geeignete Kombination aus hoher Toleranz + passendem Emergencystretch, sodass ungefähr der gleiche Satz von Brüchen gefunden wird) die einzige Möglichkeit.

verwandte Informationen