LaTeX-Wörterbuch: Silbentrennung

Aus Wikibooks

Beschreibung[Bearbeiten]

Die Silbentrennung erfolgt in LaTeX an sich automatisch, mit einem speziellen Algorithmus. Dieser versagt jedoch ausnahmsweise, sowie systematisch in folgenden Fällen:

  • In zusammengesetzten Wörtern. Z. B. wird Staatsvertrag nicht an der Wortfuge getrennt. Abhilfe leistet das Paket hyphsubst (\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst})
  • Wörter mit Sonderzeichen (etwa: Umlaut) werden nicht immer getrennt, je nach den verwendeten Paketen und Schriften (siehe Dante-FAQ: (Silben-)Trennung, Absatz-, Seitenumbruch)
  • Wörter, die einen Bindestrich enthalten, werden ausschließlich am Bindestrich getrennt, etwa Karl-Franzensuniversität.

Lokale Anweisungen zur Silbentrennung[Bearbeiten]

Silbentrennung steuern[Bearbeiten]

Alle Befehle mit " erfordern die Nutzung von Babel mit der Option ngerman oder german (bzw. bei Nutzung von Polyglossia die Option babelshorthands).

  • \- : Mit dieser Anweisung teilt man LaTeX mit, dass das Wort nur an der betreffenden Stelle getrennt werden kann. Staats\-ver\-trag
Achtung! Ist in einem Wort dieses Zeichen gesetzt, wird es an keiner anderen Stelle mehr getrennt werden. Daher sollte man, wenn diese Anweisung in einem Wort verwendet wurde, an jeder Stelle, an der man in diesem Wort einen Umbruch dulden möchte, diese Anweisung setzen.
  • "- : Mittels dieser Anweisung wird eine zusätzliche Trennstelle angegeben. Staats"-vertrag wird also von LaTeX je nach Bedarf auch nach der ersten Silbe getrennt werden.
  • "= : Dies erzeugt einen Bindestrich, der die sonstigen Trennstellen im Wort weiterhin erlaubt: Karl"=Franzensuniversität erlaubt die Trennungen Karl-Fran-zens-uni-ver-si-tät.
  • "" : Diese Anweisung erlaubt einen Umbruch, ohne dass ein Bindestrich gesetzt wird – etwa für den Fall, dass dieser bereits steht: Karl-""Fran\-zens\-uni\-ver\-si\-tät. In Microsoft Word als Bedingter Nullbreitenwechsel bekannt.
  • "~ : Mit dieser Anweisung setzt man einen Bindestrich, an dem nicht getrennt werden soll, beispielsweise bei Wortergänzungen in Klammern: (Haupt"~)""Straße
  • \discretionary{Teil1}{Teil2}{Ungetrennt} : Definiert eine Trennhilfe für Wörter, deren Trennung an einer Stelle anders als erwartet aussieht. Teil1 und Teil2 sind dabei die beiden Teile (Teil1 steht am Ende der ersten Zeile, Teil2 am Anfang der folgenden), und Ungetrennt ist die betreffende Stelle in ungetrennter Form. Durch die Angabe aller Varianten bleibt LaTeX frei in der Platzierung und Trennung des betreffenden Wortes. Hiermit kann z.B. die Trennung von ck nach alter Rechtschreibung zu k-k umgesetzt werden: \discretionary{rük-}{ken}{rücken}


Beispiele für die korrekte Anwendung dieser Anweisungen finden sich in der Kurzbeschreibung (Achtung, ansonsten veraltet) der Pakete german oder ngerman.

Silbentrennung verhindern[Bearbeiten]

In Einzelfällen soll eine Silbentrennung ganz unterbunden werden, z. B. damit nicht eine kurze Silbe in der letzten Zeile eines Absatzes allein steht. Dies kann global erfolgen (siehe nächster Abschnitt) oder lokal so:

  • \mbox : Diese Anweisung setzt das betreffende Wort in eine unsichtbare Box, die horizontal als Einheit behandelt wird.
\textbf{Hinweis:} Auf diese Weise kann die Trennung des letzten Wortes verhindert \mbox{werden.}

Globale Silbentrennungsanweisung[Bearbeiten]

Mittels \hyphenation{} lässt sich eine Liste von Wörtern erstellen, die global in einer bestimmten Weise getrennt werden sollen: \hyphenation{Staats-ver-trag Stau-be-cken} bewirkt, dass die Wörter Staatsvertrag und Staubecken im ganzen Dokument entsprechend der Festlegung getrennt werden.

Einschränkungen:
  • Die Wörter dürfen i. A. keine diakritischen Zeichen (z. B.: Umlaut, ß) enthalten. Eine Ausnahme gibt es bei Verwendung bestimmter Fonts, dann funktioniert \hyphenation{Ver-st\"ar-ker-aus-gang}. Siehe Frage 5.3.3 des de-TeX-FAQs [1]
  • Der vorgesehene Umfang ist relativ klein (300 Wörter). Daher sollte der Befehl für jedes Dokument neu gesetzt und befüllt werden.

Bei Wörtern mit Bindestrich (z. B.: LaTeX-Wörterbuch), die man nicht immer wieder per Hand trennen will, kann man sich ein Ersetzungskommando definieren und in diesem die lokalen Worttrenner benutzen. Dafür muss aber dieses Kommando nach dem \begin{document} definiert werden, da in der Präambel die lokalen Trenner noch nicht definiert sind:

\usepackage{xspace} % setzt Leerzeichen, wenn welche hingehören (vor nächstem Wort, aber nicht vor "." oder ")")
\begin{document}
\newcommand{\LW}{LaTeX"=Wörter"-buch\xspace}
% Benutzung dann als "Das \LW{} ist klasse."

„Nachlässige“ Silbentrennung[Bearbeiten]

Wenn im Header der Befehl \sloppy angegeben wird, wird LaTeX sich bemühen, immer im Blocksatz zu bleiben, auch wenn dadurch große Abstände zwischen Wörtern entstehen.