Wie kann ich die Silbentrennung eines Wortes gezielt erzwingen?

Wie kann ich die Silbentrennung eines Wortes gezielt erzwingen?

Ich versuche, XeLaTeX dazu zu bringen, das deutsche Wort „Sicherheitsbeauftragter“ mit Bindestrich zu versehen. Ich habe mehrere Werte für xin \tolerance=xund Instanzen von ausprobiert \hyphenation{Si-cher-heits-be-auf-trag-ter}. Nichts hat funktioniert. MWE:

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage{array}
\usepackage{ragged2e}
\hyphenation{Si-cher-heits-be-auf-trag-ter} 
\begin{document}
\begin{tabular}{>{\RaggedRight}p{7.7em}@{|}}
Sicherheitsbeauftragter\\
Technischer Leiter
\end{tabular}
\end{document}

Screenshot einer nicht funktionierenden Silbentrennung

Ich habe auch babelanstelle von „Polyglossie“ und pdfLaTeXanstelle von „ anprobiert XeLaTeX “, aber außer dem Aussehen des „|“ gibt es keinen Unterschied.

Antwort1

\hspace{0pt}direkt davor Sicherheitsbeauftragterermöglicht es TeX, das Wort zu trennen, da TeX das erste Wort in einem Absatz nicht trennt. (Soweit ich weiß, hat dies die Implementierung vereinfacht und im Englischen mit seinen vielen kurzen Wörtern war es kein großes Problem.)

Da \hspacean dieser Stelle ein Haltepunkt eingefügt wird, kann dies \nobreakim horizontalen Modus wie folgt vermieden werden:

\leavevmode\nobreak\hspace{0pt}Sicherheitsbeauftragter

Alternativ kann auch die Sternform \hspaceverwendet werden:

\hspace*{0pt}Sicherheitsbeauftragter

Dies kann in der Spaltenbeschreibung automatisiert werden (siehe Herberts Kommentar):

\begin{tabular}{>{\RaggedRight\hspace*{0pt}}p{7.7em}@{|}}

Antwort2

Sie können auch Stellen für die Silbentrennung vorschlagen, indem Sie \-Folgendes verwenden. Bei mir funktioniert es.

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage{array}
\usepackage{ragged2e}
\begin{document}
\begin{tabular}{>{\RaggedRight}p{7.7em}@{|}}
Sicherheits\-be\-auf\-tragter\\
Technischer Leiter
\end{tabular}
\end{document}

verwandte Informationen