XeLaTeX でドイツ語の単語「Sicherheitsbeauftragter」をハイフンでつなぐようにしてみました。のx
と\tolerance=x
のインスタンスの にいくつかの値を試しましたが\hyphenation{Si-cher-heits-be-auf-trag-ter}
、何も機能しませんでした。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}
babel
また、polyglossia の代わりに やの代わりにも試してみましたが 、「|」の見た目以外pdfLaTeX
は違いはありません。XeLaTeX
答え1
\hspace{0pt}
right before を使用すると、Sicherheitsbeauftragter
TeX は段落の最初の単語をハイフンで区切らないため、単語を分割できます。(私の知る限り、これにより実装が容易になり、短い単語が多い英語ではそれほど問題にはなりませんでした。)
この場所にブレークポイントが挿入されるため、水平モードでは\hspace
これを回避できます。\nobreak
\leavevmode\nobreak\hspace{0pt}Sicherheitsbeauftragter
または、 の星形を\hspace
使用することもできます。
\hspace*{0pt}Sicherheitsbeauftragter
これは列の説明で自動化できます (Herbert のコメントを参照)。
\begin{tabular}{>{\RaggedRight\hspace*{0pt}}p{7.7em}@{|}}
答え2
を使用してハイフネーションの場所を提案することもできます\-
。私の場合は次の方法がうまくいきます。
\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}