Minimieren Sie Silbentrennungen mit ragged2e

Minimieren Sie Silbentrennungen mit ragged2e

Fast alle LaTeX-Anleitungen empfehlen die Verwendung \RaggedRightaus dem ragged2ePaket gegenüber dem integrierten \raggedright. Aber mich haben zu viele Wörter mit Bindestrich und immer frustriert \RaggedRight. Mir ist klar, dass ich einige bekomme (wobei \raggedrightkeines kommt), aber es sind zu viele.

\RaggedRightIch habe mich entschlossen , mit Blocksatz zu vergleichen und stelle durchweg fest, dass ich mit mehr Trennstrichen \RaggedRightals mit Blocksatz erhalte, was ich nicht erwartet hätte. Im folgenden Beispiel erhalte ich nur eine Silbentrennung mit Blocksatz (und das nur an einer manuell erstellten Trennstelle, um ein zu lösen overfull \hbox), aber ich erhalte sieben mit \RaggedRight. (Der Text stammt aus Moby Dick, das gemeinfrei ist.)

Kann ich die Silbentrennung, die ich erhalte, \RaggedRightso reduzieren, dass sie mit der bei Blocksatz erhaltenen Silbentrennung vergleichbar ist?

\documentclass{article}
\usepackage[textwidth=4.0in]{geometry}
\usepackage{ragged2e}

% 1 hyphenated word with no ragged right
% 7 hyphenated words with \RaggedRight from ragged2e

\begin{document}
\RaggedRight
Call me Ishmael. Some years ago---never mind how long
precise\-ly---having little or no money in my purse, and nothing
particular to interest me on shore, I thought I would sail about a
little and see the watery part of the world. It is a way I have of
driving off the spleen and regulating the circulation. Whenever I
find myself growing grim about the mouth; whenever it is a damp,
drizzly November in my soul; whenever I find myself involuntarily
pausing before coffin warehouses, and bringing up the rear of
every funeral I meet; and especially whenever my hypos get such an
upper hand of me, that it requires a strong moral principle to
prevent me from deliberately stepping into the street, and
methodically knocking people's hats off---then, I account it high
time to get to sea as soon as I can. This is my substitute for
pistol and ball. With a philosophical flourish Cato throws himself
upon his sword; I quietly take to the ship. There is nothing
surprising in this. If they but knew it, almost all men in their
degree, some time or other, cherish very nearly the same feelings
towards the ocean with me.
\end{document}

Antwort1

Einige Worte zum Zeilenumbruch. TeX weist jeder Zeile eine Ungültigkeit zu, basierend auf der Dehnung des darin enthaltenen Klebers. In der Einstellung „Rechts gedehnt“ gibt es nur rechts dehnbaren Kleber (\rightskip ), was zur Folge hat, dass dieser Klebstoff (wenn er endlich ist) sich normalerweise stärker dehnt als angegeben. Der Standardwert für \RaggedRighthat eine „optimale“ Dehnung von höchstens 2 em, aber es ist ziemlich wahrscheinlich, dass Zeilen dies in der Nähe des rechten Rands nicht erreichen können, sodass eine hohe Unzulänglichkeit zu erwarten ist. Mit dem Standardwert \hyphenpenaltyvon 50 wird es TeX billiger finden, die Silben so zu trennen, dass sie näher am Rand liegen, um die Gesamtunzulänglichkeit zu minimieren.

Wenn wir die Silbentrennung weniger komfortabel gestalten, wirkt sich das Glue Stretching weniger auf die Gesamtzahl der Minuspunkte aus als die Silbentrennung.

Beachten Sie, dass mit der Standardeinstellung \raggedrightdie Silbentrennung nie (oder fast nie) erfolgt, da \rightskipunendliche Dehnung ( 0pt plus 1fil) vorliegt, sodass Zeilen keine Fehler aufweisen und die Fehler nur von\linepenalty , sodass TeX einfach die Anzahl der Zeilen minimiert.

Es ist nicht einfach, einen guten Kompromiss zu finden: Wenn Sie die Streckung von erhöhen, \rightskipkann es sein, dass TeX eher bereit ist, kürzere Zeilen zu setzen. Ich schlage \hyphenpenaltystattdessen vor, die zu erhöhen, microtypewas zusammen mit normalerweise einen recht guten Einfluss auf die Absatzeinstellung hat.

\documentclass{article}
\usepackage[textwidth=4.0in]{geometry}
\usepackage{microtype}
\usepackage{ragged2e}

\begin{document}
\newcommand\incipit{Call me Ishmael. Some years ago---never mind how long
precise\-ly---having little or no money in my purse, and nothing
particular to interest me on shore, I thought I would sail about a
little and see the watery part of the world. It is a way I have of
driving off the spleen and regulating the circulation. Whenever I
find myself growing grim about the mouth; whenever it is a damp,
drizzly November in my soul; whenever I find myself involuntarily
pausing before coffin warehouses, and bringing up the rear of
every funeral I meet; and especially whenever my hypos get such an
upper hand of me, that it requires a strong moral principle to
prevent me from deliberately stepping into the street, and
methodically knocking people's hats off---then, I account it high
time to get to sea as soon as I can. This is my substitute for
pistol and ball. With a philosophical flourish Cato throws himself
upon his sword; I quietly take to the ship. There is nothing
surprising in this. If they but knew it, almost all men in their
degree, some time or other, cherish very nearly the same feelings
towards the ocean with me.}

\RaggedRight

\noindent With \texttt{microtype}

\bigskip

\noindent\texttt{\string\hyphenpenalty=50}

\incipit

\bigskip

\noindent\texttt{\string\hyphenpenalty=500}

\hyphenpenalty=500

\incipit

\end{document}

Bildbeschreibung hier eingeben

Ergebnis: Mit der Standard-Silbentrennungsstrafe werden drei Wörter getrennt, mit der erhöhten Silbentrennungsstrafe nur ein Wort.

Das Gleiche ohnemicrotype

Bildbeschreibung hier eingeben

Ergebnis: Mit der Standard-Silbentrennungsstrafe werden sieben Wörter getrennt; mit der erhöhten Silbentrennungsstrafe nur zwei.

preciselyAufgrund des Geviertstrichs ist der Bindestrich in allen Fällen unvermeidbar.

Antwort2

Die Ungleichmäßigkeit von \RaggedRightkann durch die Länge konfiguriert werden \RaggedRightRightskip, die am rechten Ende einer Zeile eingefügt wird, wenn TeX den Absatz umbricht. Der Standardwert ist0pt plus 2em , was bedeutet, dass die Zeile voll oder kurz sein kann, mit bis zu 2em Leerraum auf der rechten Seite.

Durch Erhöhen des Wertes wird 2.8emdie Anzahl der Silbentrennungen auf eins reduziert. Dies geht allerdings zu Lasten einer unregelmäßigeren rechten Seite des Absatzes.

\documentclass{article}
\usepackage[textwidth=4.0in]{geometry}
\usepackage{ragged2e}

\setlength{\RaggedRightRightskip}{0pt plus 2.8em}

\begin{document}
\RaggedRight
Call me Ishmael. Some years ago---never mind how long
precise\-ly---having little or no money in my purse, and nothing
particular to interest me on shore, I thought I would sail about a
little and see the watery part of the world. It is a way I have of
driving off the spleen and regulating the circulation. Whenever I
find myself growing grim about the mouth; whenever it is a damp,
drizzly November in my soul; whenever I find myself involuntarily
pausing before coffin warehouses, and bringing up the rear of
every funeral I meet; and especially whenever my hypos get such an
upper hand of me, that it requires a strong moral principle to
prevent me from deliberately stepping into the street, and
methodically knocking people's hats off---then, I account it high
time to get to sea as soon as I can. This is my substitute for
pistol and ball. With a philosophical flourish Cato throws himself
upon his sword; I quietly take to the ship. There is nothing
surprising in this. If they but knew it, almost all men in their
degree, some time or other, cherish very nearly the same feelings
towards the ocean with me.
\end{document}

Ergebnis

verwandte Informationen