我怎麼才能真正強制一個單字的連字符點?

我怎麼才能真正強制一個單字的連字符點?

我嘗試讓 XeLaTeX 用連字符連接德語單字“Sicherheitsbeauftragter”。我嘗試了xin\tolerance=x和實例的幾個值\hyphenation{Si-cher-heits-be-auf-trag-ter}。什麼都沒起作用。微量元素:

\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代替多語言和pdfLaTeX代替XeLaTeX 但除了“|”如何看起來,沒有什麼差別。

答案1

\hspace{0pt}之前Sicherheitsbeauftragter允許 TeX 斷詞,因為 TeX 不會用連字號連接段落中的第一個單字。 (據我所知,這使得實施變得更容易,而且在英語中,有很多簡短的單詞,這不是什麼大問題。)

由於\hspace在這個地方插入了一個斷點,因此可以透過\nobreak在水平模式下避免這種情況:

\leavevmode\nobreak\hspace{0pt}Sicherheitsbeauftragter

\hspace或可使用星形形式:

\hspace*{0pt}Sicherheitsbeauftragter

這可以在列描述中自動化(請參閱赫伯特的評論):

\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}

相關內容