LuaLaTeX 手動ハイフネーションが機能しない

LuaLaTeX 手動ハイフネーションが機能しない

私はこのように単語のハイフネーションをグローバルに宣言しました

\hypenation{dis-tri-bu-tion-point-objekt}

単語は英語とドイツ語が混ざったものです (最後の部分 objekt はドイツ語です)。しかし、単語は分離されないため、ボックスから外れて、次の行ではなく、文字の右側のスペースに配置されます。

手動でも試してみました\=が、LuaLaTeX はテキスト内の 2 つの文字を出力します。

を使用していますlualatexが、どこに問題があるのでしょうか? ありがとうございます!

編集 MWEを追加しました。

\documentclass[%
a4paper,
12pt,                           
DIV=calc,                   
oneside,
parskip=half,       
captions=nooneline,
numbers=noenddot, 
listof=totocnumbered,
bibliography=totocnumbered
]
{scrartcl}
\usepackage[a4paper, left=3cm, right=2.5cm, top=2.5cm, bottom=2.5cm, includefoot]{geometry}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{german}


\begin{document}
Die Erweiterung besteht aus einer Sequenz von DistributionPoint-Objekten. Das Distribution-Point-Objekt wiederum besteht aus drei optionalen Feldern distributionPoint, reasons und cRLIssuer. Allerdings darf das Objekt nicht nur auf dem reasons-Feld bestehen. Es muss entweder das Feld distributionPoint oder cRLIssuer vorhanden sein. Allerdings darf das Objekt nicht nur auf dem reasons-Feld bestehen. Es muss entweder das Feld distributionPoint oder cRLIssuer vorhanden sein. Allerdings darf das Objekt nicht nur auf dem reasons-Feld bestehen. Es muss entweder das Feld distributionPoint oder cRLIssuer vorhanden sein. Allerdings darf das Objekt nicht nur auf dem reasons-Feld bestehen. Es muss entweder das Feld distributionPoint oder cRLIssuer vorhanden sein.
\end{document}

答え1

指定する場合

\hyphenation{dis-tri-bu-tion-point=objekt}

プリアンブルでは、ドイツ語はまだロードされていません。ドキュメントの開始時にこれを遅延する必要があります。単語内の=a を示すことに注意してください。-

\documentclass[%
a4paper,
12pt,
DIV=calc,
oneside,
parskip=half,
captions=nooneline,
numbers=noenddot,
listof=totocnumbered,
bibliography=totocnumbered
]
{scrartcl}
\usepackage[a4paper, left=3cm, right=2.5cm, top=2.5cm, bottom=2.5cm, includefoot]{geometry}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{german}

\begin{document}
\hyphenation{dis-tri-bu-tion-point=objekt}

Die Erweiterung besteht aus einer Sequenz von DistributionPoint-Objekten.
Das DistributionPoint-Objekt wiederum besteht aus drei optionalen Feldern
distributionPoint, reasons und cRLIssuer.

\end{document}

ここに画像の説明を入力してください

複数の言語でプリアンブルにハイフネーションを追加し、\selectlanguage補助ファイルに書き込むという欠点を回避する方法。

\documentclass{article}

\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\setotherlanguage{english}

\newcommand{\sethyphenation}[2]{%
  \begin{otherlanguage*}{#1}\hyphenation{#2}\end{otherlanguage*}%
}

\sethyphenation{german}{dis-tri-bu-tion-point=objekt}
\sethyphenation{english}{as-df-gh-jkl}

\begin{document}

\parbox{0pt}{DistributionPoint-Objekt}

\bigskip

\begin{otherlanguage*}{english}
\parbox{0pt}{asdfghjkl}
\end{otherlanguage*}

\end{document}

これは\parbox{0pt}ハイフネーションを表示するためだけのものです。

ここに画像の説明を入力してください

明示的なハイフンの後にも改行を入れたい場合は、次のようにします。

\sethyphenation{german}{dis-tri-bu-tion-point={}{}{}objekt}

この場合の出力は次のようになります

ここに画像の説明を入力してください

関連情報