我刚刚更新了 Windows 7 上的 MikTeX 安装,结果导致多语种出现奇怪的问题。以下是最简单的示例:
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\begin{document}
This is a test.
\end{document}
以及来自 polyglossia/gloss-english.ldf 的警告消息:
No hyphenation patterns were loaded for `English'
I will use \language=\l@nohyphenation instead
在我的 MacOS 系统中,它显然运行良好。在 Windows 系统中,它也能很好地与其他语言配合使用,例如:
\setdefaultlanguage{french}
or
\setdefaultlanguage{polish}
因此,看起来好像英语连字符存在一个问题。
我检查过类似的问题。通常,解决方案需要更新格式或安装缺少的语言文件。但是,我相信,它不能解决我的问题。英语是我使用的发行版的主要语言,并且可用(根据:MiKTeX 选项 -> 语言)。此外,我确实记得刷新文件名数据库并更新格式(MiKTeX 选项 -> 常规 -> 刷新 FNDB 和更新格式)。它没有记录任何错误。它还生成了所需的 language.dat、language.dat.lua 和 language.def 文件。对于 language.dat 中的英语,它创建了以下条目:
english hyphen.tex
=usenglish
=USenglish
=american
ukenglish loadhyph-en-gb.tex
=british
UKenglish
usenglishmax loadhyph-en-us.tex
我不确定它是否正确,但看起来合理。此外,根据 XeTeX 输出:
Babel <3.9r> and hyphenation patterns for 72 language(s) loaded.
因此,虽然加载了一些连字符模式,但显然不适用于英语(我不知道如何具体检查加载了哪些模式)。
你有什么建议吗?当然要补充:
\usepackage[english]{babel}
在加载 polyglossia 之前解决了这个问题,但我不确定在这种情况下使用了哪个包,而且它看起来不正确。
答案1
对我来说它运行良好。但是在你的日志文件中,“English”用大写字母 E 写成,这看起来很奇怪。检查你的 gloss-english.ldf 是否真的是最新的——也许你的用户 texmf-tree 中有一个旧版本。以用户身份运行更新管理器。