LuaLaTeX 手动连字功能不起作用

LuaLaTeX 手动连字功能不起作用

我全局声明了单词的连字符,像这样

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

Word 是英语和德语的混合体(最后一部分 objekt 是德语)。但是单词不会被分开,因此它会超出框的范围并位于字母的右侧空间而不是下一行。

我也手动尝试过,\=但是 LuaLaTeX 打印出了文本中的两个字符。

我正在使用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}

以下是本例的输出

在此处输入图片描述

相关内容