我尝试让 XeLaTeX 用连字符连接德语单词“Sicherheitsbeauftragter”。我尝试了x
in\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}
前面的Sicherheitsbeauftragter
允许 TeX 断开单词,因为 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}