![Toleranz im einspaltigen und zweispaltigen Format](https://rvso.com/image/400355/Toleranz%20im%20einspaltigen%20und%20zweispaltigen%20Format.png)
Mir fällt auf, dass dies tolerance = 200
bei einem einspaltigen Layout in der Artikelklasse der Fall ist, tolerance = 9999
bei einem zweispaltigen Layout jedoch nicht. In bleibt es jedoch bei 200, entweder ltxgrid.cls
fü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 tolerance
in einem typischen Zweispaltenmodus?
Antwort1
article
tut
\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, \sloppy
die nicht so stark zunimmt \tolerance
und 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.