Hyphenat 不将带连字符的单词连字符

Hyphenat 不将带连字符的单词连字符

我正在使用该hyphenat软件包,但似乎它并不适用于所有单词。我有一份包含大量外来阿拉伯语单词的文档,此功能非常重要。

我的 MWE,

\documentclass{article}
\usepackage{testhyphens}
\usepackage{hyphenat}

\hyphenation{
ha-kimm
sugh-ra
}

\begin{document}

\begin{checkhyphens}{}
al\-Hakimm
al\hyp{}Hakimm
\textit{al\hyp{}Hakimm}\\

al\-Sughra
al\hyp{}Sughra
\textit{al\hyp{}Sughra}\\

complication
\textit{complication}
\end{checkhyphens}

\end{document}

输出,

连字输出

我期望al-Sughra使用连字符连接,al-Sugh-ra但实际上却没有。可能是什么问题?

我最终将使用 XeLaTeX,因此我更喜欢一种可以在那里运行的解决方案。

答案1

TeX 不会对明确包含连字符的单词应用连字符规则。

\hyp命令本质上会产生一个连字符,后面跟着一团胶水,从而可以对下一个单词部分应用连字符规则。

技术说明。A单词在此上下文中,是一连串具有非零的字符\lccode,从一团胶水开始,到任何不符合标准的东西结束。

为什么不苏格拉用连字符连接al\hyp{}Sughra? 因为默认语言是英语,所以\righthyphenmin(隐式连字符后的最小字符数)设置为 3。

可能设置\righthyphenmin为 2,但这很可能会导致英文单词连字错误。

您可以排版文档并在需要\-的地方添加。您可能不需要添加很多这样的标记。否则,请

\newcommand{\alsughra}{Al-Sugh\-ra}

\alsughra{}并在您的文档中使用。

相关内容