\usepackage[croatian]{babel} 连字符错误

\usepackage[croatian]{babel} 连字符错误

MWE 中的单词“izoliran”和“kostur”

\documentclass{article}
\usepackage[croatian]{babel}

\begin{document}
    mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm izoliran

    mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm kostur
\end{document}

连字符不正确:它们在我的终端上显示为 iz-oliran 和 kos-tur。其他语言的连字符似乎工作正常,并且与克罗地亚语的连字符(i-zo-li-ran 和 ko-stur)基本一致。不管怎么说,我正在使用最近更新的 TexLive 安装,以及似乎是最新版本的 Babel(文档是版本 3.9l)。这是该特定语言的连字符模式的真正问题吗,还是发生了其他事情?

至于解决方案,几乎任何东西都比现在使用的英语模式更好。有没有办法将 [克罗地亚语]{babel} 与其他语言的连字模式一起使用?例如,塞尔维亚语就接近完美。

编辑:我所说的关于使用英语模式的说法绝对是错误的,所以这些音节是“设计使然”的。

答案1

如果连字符确实错误(我相信你的话),首先要做的就是让负责连字符模式的人在邮件列表中了解这一点TeX 中的连字符。但是,我在该列表中没有找到有关该问题的任何信息。

与此同时,您可以借助以下方式启用塞尔维亚语模式hyphsubst

\RequirePackage[croatian=serbian]{hyphsubst}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[croatian]{babel}

\usepackage{testhyphens}

\begin{document}

\begin{checkhyphens}
izoliran kostur
\end{checkhyphens}

\end{document}

主要部分是首字母\RequirePackage,而testhyphens仅用于显示给定单词中的所有连字符位置。

在此处输入图片描述

查看连字模式文件,kos-tur对于克罗地亚语,断字似乎是刻意选择的,因为模式是s1t,而对于塞尔维亚语,断字是s2t。根据 Liang 算法,奇数标记可行的连字位置,而偶数标记不可行的点。

然而,发生了一些奇怪的事情,因为该模式z<digit>o从未出现在 中hyph-hr.tex;相反,我发现a1zoe1zoi1zoo1zou1zo意味着z和之间不能插入任何断点o

在文件末尾有.iz1,这解释了错误的连字符。

该模式的作者是 Igor Marinović,其电子邮件地址列在 中hyph-hr.tex

相关内容