단어의 하이픈 넣기를 강제로 적용하려면 어떻게 해야 합니까?

단어의 하이픈 넣기를 강제로 적용하려면 어떻게 해야 합니까?

저는 XeLaTeX에서 독일어 단어 "Sicherheitsbeauftragter"를 하이픈으로 연결하려고 합니다. xin \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폴리글로시아 pdfLaTeX대신에 시도했지만 XeLaTeX "|" 보아하니 별 차이가 없군요.

답변1

\hspace{0pt}SicherheitsbeauftragterTeX은 단락의 첫 번째 단어에 하이픈을 넣지 않기 때문에 직전에 TeX이 단어를 분리하는 것을 허용합니다. (AFAIK 덕분에 구현이 더 쉬워졌고 영어에서는 짧은 단어가 많아 별 문제가 되지 않았습니다.)

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

관련 정보