intelligentere Silbentrennung für schmale Spalten?

intelligentere Silbentrennung für schmale Spalten?

Ich weiß, wie man die Silbentrennung ausschaltet \nohyphens{.....}(vonBindestrich). Was ich aber wirklich möchte, wäre eine intelligente Silbentrennung. Was ich damit meine, wird hoffentlich durch das folgende Beispiel deutlich.

Links ist ein Textausschnitt aus einer Spalte einer Tabelle, der mit dem \nohyphens{...}Befehl gerendert wurde. Dadurch bleibt viel offener weißer Raum. Rechts ist derselbe Text, der mit Vanilla XeLaTeX gesetzt wurde. Wie Sie sehen können, ist erTrotzdemhinterlässt einen großen weißen Raum in der Mitte des Textes und führt außerdem die ziemlich seltsame Silbentrennung „Verwaistung“ ein, anstatt beispielsweise der natürlicheren „Korrekturen“.
Keine Silbentrennung Standardverhalten

Hier ist eine intelligentere Version, die ich durch die Einführung von „Korrekturen“ in den Quellcode erstellt habe:

einige manuelle Anpassungen

Zumindest für mein Auge scheint dies viel besser zu sein als die beiden oben genannten Versionen.

Die grundlegende Frage ist also: Könnte ich LaTeX dazu bringen, dies automatisch für mich zu tun, beispielsweise durch Angabe des längsten zulässigen Leerzeichens zwischen Wörtern?

PS. Eine andere, komplexere Lösung wäre, eine „Zielbreite“ für die Spalten in meiner Tabelle anzugeben, z. B. .25\textwidthund dann das System optimieren zu lassen, um eine Tabelle zu erstellen, die mich so nahe wie möglich an meinen angegebenen Leerzeichenwert und meine Tabellenbreite bringt und gleichzeitig die Anzahl der getrennten Wörter minimiert ... aber ich weiß nicht, ob LaTeX diese Art der dynamischen Optimierung in mehreren Variablen durchführen kann! Hier ist ein letztes Bild, in dem ich die Silbentrennung vollständig entfernt habe, indem ich .27\textwidthfür Spalten zu gewechselt bin. Dies scheint bisher die am besten lesbare Version zu sein.

Bildbeschreibung hier eingeben

Antwort1

Wenn Sie versuchen, Text in sehr engen Maßen zu setzen, ist es manchmal am besten (oder zumindest am wenigsten schlecht?!), die \sloppyDirektive zu verwenden, wie im folgenden Beispiel getan.

In solchen Situationen kann es auch hilfreich sein, zu setzen \righthyphenmin2. (Für englischsprachige Texte ist der Standardwert dieses Parameters 3.)

Bildbeschreibung hier eingeben

\documentclass[12pt,letterpaper]{article}
\usepackage[showframe,margin=3.38in]{geometry} 
  % \textwidth = 8.5"-2*3.38" = 1.74"
\frenchspacing
\righthyphenmin2
\sloppy
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Linux Libertine O}
\begin{document}
\noindent
Quality control is handled with corrections and the ``orphaning'' mechanism in case 
of nonresponsive authors. Some articles are world-writeable, as in the wiki model.
\end{document}

Antwort2

Ich bin mir nicht sicher, warum Sie „mehr“ verwenden \nohyphens. Ich hätte gedacht, Sie möchten mehr statt weniger. Da Sie keinen Code für das Beispiel in der Frage angeben, erhalte ich mithilfe der verknüpften Tabelle Folgendes, was nicht allzu schlimm ist, obwohl es offensichtlich noch ein wenig optimiert werden könnte.

Bildbeschreibung hier eingeben

\documentclass[article,a4paper,12pt,twoside]{memoir}

\usepackage{hyphenat}

\setlrmarginsandblock{40mm}{20mm}{*}
\setulmarginsandblock{20mm}{20mm}{*}

\begin{document}

\renewcommand{\arraystretch}{1.5}
\begin{table}
\begin{center}
\raisebox{3in}{\small
\begin{tabular}{|*{3}{>{\hyphenpenalty0 }p{.25\textwidth}|}}
\hline
% \multicolumn{1}{p{.25\textwidth}}{\textbf{Relevance}}
\begin{center}(PM)
\end{center}

Ultimately relevance depends on peer review, and irrelevant content
may be deleted. Mechanisms to ensure that relevant content
\emph{will} be added could be improved. &
\begin{center}(WP)
\end{center}
People contribute articles about what
they're interested in; apart from this, rules like WP:WEIGHT come into
play.&
\begin{center}(DO)
\end{center}

Anyone can upload projects (for ``full projects'', one time approval
is needed), but getting changes into the core requires considerably
more vetting. \\
%\multicolumn{1}{p{.25\textwidth}}{\textbf{Quality}}
Quality control is handled with corrections and the ``orphaning'' mechanism
in case of nonresponsive authors. Some articles are world-writeable,
as in the wiki model. & Automated tools for spam and vandalism detection
combined with a system of editorial oversight, in which Jimmy Wales
has last say. & In addition to bug reports and feature requests handled
through the issue tracker, modules can make use of an automated patch
testing system.\\
%\multicolumn{1}{p{.25\textwidth}}{\textbf{Scalability}}
Peer review is distributed. Links are handled automatically. Caching
is deployed where relevant; in particular, interlinking features are
kept up to date. & The database and other infrastructure is massively
scaled. There are many bots that help with small tasks. & In theory,
anyone can join. Earl Miles, NYCCamp 2012 keynote: ``\emph{There are
no insiders, except Dries; there are no outsiders, only resumes.}''
\\
% \multicolumn{1}{p{.25\textwidth}}{\textbf{Consistency}}
Although automatic links and corrections can help with consistency,
mainly PM relies on standards for proof and expository quality.
&NPOV is the key rule, which works together with templates and other
process tools to maintain community standards about style and
content. & The project issue queues are the place to go when one
module's changes breaks another's. The core of the project has
considerable oversight in these
matters.\\
% \multicolumn{1}{p{.25\textwidth}}{\textbf{Motivation}}
People are solving some of their learning, exposition, and social
needs on the site by writing and reviewing articles and posting in the
forums.& As of 2006, over 50\% of the site had been written by less
than 1\% of the users; these days, paid editing is somewhat
notorious.& Miles continued: ``\emph{To build a resume, find someone
who needs help, and help them. Find something that needs doing, do
it.}'' \\ \hline
\end{tabular}
}
\end{center}
\caption{As typeset ``out of the box''}
\end{table}


\end{document}

Wenn Sie am rechten Rand etwas Flexibilität zulassen und Mikrotyp hinzufügen, erhalten Sie:

\usepackage{microtype}

...

\begin{tabular}{|*{3}{
   >{\hyphenpenalty0 \rightskip0pt plus .3em \emergencystretch2em}%
   p{.25\textwidth}|}}

Bildbeschreibung hier eingeben

verwandte Informationen