PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Worttrennung/Zeilenumbruch



slowfox
03-09-2010, 15:03
Moin Moin!

Ich muss in meinem Dokument den Text zweispaltig setzen und verwende dafür das parcolumns-Paket. Ich habe früh feststellen müssen, dass der Blocksatz innerhalb dieser Spalten etwas unsauber ist, d.h. Text ragt regelmäßig über den linken Rand hinaus. Mit Hilfe des microtype-Pakets konnte ein Großteil der "unschönen" Stellen behoben werden, aber leider nicht alle.

Innerhalb der einzelnen Spalten verwende ich auch die description-Umgebung. Und genau bei dieser zeigte sich das Problem sehr deutlich: Text ragt über den linken Seitenrand hinaus, obwohl eine Worttrennung möglich wäre. Ein Umformulieren des Text ist an dieser Stelle nicht möglich, da es sich um eine Definition handelt. Wie kann ich Latex überzeugen, den Text sauberer zu setzen? Mit dem Schalter \sloppy funktioniert es, aber davon ist dann auch der komplette Rest des jeweiligen Absatzes betroffen, der diesen Schalter garnicht nötig hat, und außerdem muss ich dass dann ja für jeden problematischen Absatz manuell setzen. Kann man das irgendwie automatisieren?


\documentclass[english]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{babel}

\usepackage{microtype}

\usepackage{parcolumns}

\begin{document}

\begin{parcolumns}[colwidths={1=0.45\textwidth,2=0.45\textwidth}]{2}

\colchunk{\begin{description}\item[Blablabli Blablablub] A collapse commences with a failure ...
Und jetzt noch ein bisschen mehr Text, damit man sieht dass der Zeilenumbruch in der ersten Zeile
nicht funktioniert.\end{description}}

\colchunk{\begin{description}\item[Blablabli Blablablub] \sloppy A collapse commences with a
failure ... Und jetzt noch ein bisschen mehr Text, damit man sieht dass der Zeilenumbruch in der
ersten Zeile nicht funktioniert.\end{description}}

\colplacechunks

\end{parcolumns}

\end{document}

u_fischer
03-09-2010, 15:18
Text ragt über den linken Seitenrand hinaus, obwohl eine Worttrennung möglich wäre.

Aber die Worttrennung führt, wie du bei \sloppy sehen kannst, zu relativ großen Lücken. Du kannst in einzelnen Absätzen derartige Lücken erlauben, indem du \emergencystretch änderst. In deinem Fall reicht z.B.
\setlength{\emergencystretch}{3pt}.

Evtl. ist es aber besser einfach hinter dem \item etwas Abstand einzufügen:


\item[Blablabli Blablablub] \hspace{4pt}A
collapse commences with a failure ....

slowfox
03-09-2010, 17:05
Danke für deine Antwort. Der Ansatz, hinter dem item einen Leerraum manuell einzufügen kommt leider nicht in Frage. Ich habe bei meiner Frage die Description Umgebung als Beispiel gebracht, weil das Problem hier regelmäßig auftritt. Aber auch an einigen Fließtextstellen habe ich das Problem, hier bringt ein hspace leider nichts. Ich werde mal sehen, ob ich mit emergencystretch glücklich werden kann. Dazu habe ich aber ein paar Fragen: Latex nutzt den emergencystretch nur dann aus, wenn es keine andere Lösung für den Zeilenumbruch sieht, oder steht emergencystretch recht weit vorne in der Gestaltungshierarchie. Was ich damit fragen will, hat emergencystretch einen sehr weitreichenden Einfluss und verändert auch Textteile, die es eigentlich nicht nötig haben, oder greift es nur im Notfall ein?

rstuby
03-09-2010, 17:13
Soweit ich weiß, beeinflusst es alles, aber bei \sloppy wird es auf 3em gesetzt, und wenn 3pt oder so reichen, ist es nicht so schlimm.

lockstep
03-09-2010, 17:33
\emergencystretch kommt erst dann ins Spiel, wenn TeX beim zweiten Durchlauf (d.h. mit erlaubter Worttrennung) keine akzeptable Lösung für den Absatzumbruch findet. Textteile mit vorher akzeptablem Umbruch sollten nicht beeinflusst werden.

lockstep

Feuersaenger
05-09-2010, 19:36
Hallo,

ich hatte dergleichen Probleme auch oft - und habe Sie mit den folgenden zwei praeambel befehlen erfolgreich beheben koennen:

\tolerance=2000
\emergencystretch=10pt

Vielleicht hilft es in Deinem Fall?

Mit liebem Gruss

Christian