PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Keine Trennung am Bindestrich bei \paragraph



hoto
20-04-2010, 09:56
Hallo Zusammen,

ich habe das Problem das die Wörtertrennung nicht tut was sie soll. In unten stehendem Minimalbeispiel wird das Wort "Multitasking-Betriebssystem" über den Zeilenrand geschrieben.

Folgende Lösungsansätze hab ich schon versucht:

Packet \usepackage{lmodern} und \usepackage{microtype}. Zudem habe ich mit \hyphenation{...} die Trennstellen für das Wort festgelegt. Allerdings trennt er dann z.B. bei Multitask- (neue Zeile) ing-Betriebssystem. Das sieht auch nicht schön aus.
In einem anderen Beitrag hier auf dem Forum wurden Möglichkeiten vorgeschlagen den Absatz mit einem hohen Score zu belegen der das überschreiten des Randes verhindert, das hatte auch nicht zum Erfolg geführt.

Falls es keine Lösung gibt werde ich einen manuellen Umbruch, also "Multitasking- \\ Betriebssystem" verwenden, allerdings geht dann der Blocksatz in der ersten Zeile (selbstverständlich) nicht bis zum Zeilenende, sondern nur bis zur Absatzmarke, sieht auch doof aus.

Ich habe irgendwie die Vermutung das der \paragarph{} für diese "Störung" sorgt. Ich verstehe allerdings nicht warum latex nicht am Bindestrich trennt, das macht es doch normal immer...

Komische Sache. Hatte Jemand mal das Problem oder kann helfen?



Ich verwende Miktex 2.8.



\documentclass{scrartcl}

\usepackage[latin1]{inputenc} % nice to have support for full latin symbols!
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc} % Textformat

[B]\usepackage[a4paper, left=2.6cm, right=5cm, bottom=4cm, top=2.5cm]{geometry}

\begin{document}

\paragraph{Funktionalität} bla Anforderungen blub blubb echtzeitfähigen
Multitasking-Betriebssystem wird bla blabla blubblubblub Kerneln blablub.
bla blabla blubblubblub bla blabla blubblubblub bla blabla blubblubblub
bla blabla blubblubblubbla blabla blubblubblub.


\end{document}

u_fischer
20-04-2010, 10:20
Der Bindestrich ist keine geeignete Trennstelle, weil er einfach zu weit weg vom Rand ist. Dazu kommt das Problem, dass LaTeX normalerweise Wörter mit Bindestrich nur am Bindestrich trennt. Wenn du weitere Trennstellen erlauben willst, benutzt "= statt des Bindestrichs. Wenn du unbedingt die Trennung am Bindestrich willst, musst du größere Löcher im Text zulassen.

http://www.tex.ac.uk/cgi-bin/texfaq2html?label=overfull

hoto
20-04-2010, 14:39
Zuerst einmal Danke für die Hilfe!

Also wenn ich im Minimalbeispiel "= anstatt dem Bindestrich schreibe, wird bei "Be-triebssystem" getrennt, ich finde das sieht gut aus. Da hast du recht! :)

Auf diese Lösung bin ich auch schon früher gestoßen, auf Grund meiner Unfähigkeit hat es aber in meinem Arbeitstext nicht funktioniert, da ich mit dem schalter \shorthandoff{"} arbeite, weil ich teilweise sehr viele " verwende, und ich die nicht alle escapen möchte. Wenn diese option an ist, wird "= nicht als Anweisung gesehen, sondern einfach als die beiden Zeichen ausgegeben.

Das mit dem Sloppy klappt jetzt auch, ich hatte das schon mal probiert, weil das wurde auch in einem Thread hier im Forum erwähnt, das Beispiel dort hat aber nicht geklappt. :/

lockstep
20-04-2010, 18:51
Also wenn ich im Minimalbeispiel "= anstatt dem Bindestrich schreibe, wird bei "Be-triebssystem" getrennt, ich finde das sieht gut aus. Da hast du recht! :)

Die Lösung mit "= ist sicher besser als eine übervolle Zeile. Umbrüche nahe einem Bindestrich sind jedoch nicht optimal - ich würde den Bindestrich belassen und an den akzeptablen Umbruchstellen links und rechts davon (Faustregel: mindestens vier Zeichen Abstand) das Kürzel "- (erlaubte Trennung) setzen.

Unabhängig davon hilft es gerade bei schwierigem Umbruch, das Paket microtype zu laden.



\documentclass{article}

\usepackage[latin9]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{microtype}

\begin{document}

\paragraph{Funktionalität} Bla bla bla bla bla bla bla bla bla bla Multi"-tasking-Betriebs"-system bla.

\paragraph{Funktionalität} Bla bla bla bla bla bla bla bla bla bla bla Multi"-tasking-Betriebs"-system bla.

\paragraph{Funktionalität} Bla bla bla bla bla bla bla bla bla bla bla bla Multi"-tasking-Betriebs"-system bla.

\paragraph{Funktionalität} Bla bla bla bla bla bla bla bla bla bla bla bla bla Multi"-tasking-Betriebs"-system bla.

\paragraph{Funktionalität} Bla bla bla bla bla bla bla bla bla bla bla bla bla bla Multi"-tasking-Betriebs"-system bla.

\end{document}


lockstep

hoto
21-04-2010, 08:09
Bei meinem Beispiel funktioniert es mit Microtype nicht, bei deinem aber schon. Ich gehe davon aus das hier evtl. das geometry package (habs fett-gedruckt hervorgehoben) Probleme macht, dieses verwende ich in meinem Beispiel. :confused:

lockstep
21-04-2010, 08:18
microtype, geometry und die babel-Shorthands arbeiten unabhängig voneinander. Natürlich hängt der Demonstrationseffekt in meinem Beispiel von den gewählten Seitenrändern ab - wenn du die Ränder mit geometry änderst, müsste man auch im Beispiel ein paar "bla" wegnehmen bzw. hinzufügen.

Und sicherheitshalber: microtype ist eines der Pakete die mit pdf(La)TeX funktionieren, mit Xe(La)TeX jedoch nicht.

lockstep