我在 Mac 上使用 LuaLaTeX(LuaHBTeX,版本 1.15.0(TeX Live 2022)限制系统命令已启用)。
昨天更新后,当使用 \setotherlanguage 时,Polyglossia 开始与 luatextra 发生冲突(我只检查了拉丁语)。我可以关闭 \setotherlanguage 或切换 luatextra 以正确编译文件,但我想同时使用两者。
实际上文件已经被编译但是产生了一堆错误。
例如:
/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty:41: Missing number, treated as zero.
<to be read again>
^
l.41 \catcode`\^^
A=\catcode`\%
或者:
Critical Package polyglossia Error: The language * is not loaded.
有什么建议么?
% !TEX encoding = UTF-8
\documentclass[11pt,twoside]{article}
\usepackage{luainputenc}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{polish}
\setotherlanguage{latin}
\usepackage{fontspec}
\usepackage{luatextra}
\begin{document}
Tekst w języku polskim.
\end{document}```
答案1
我总是建议将包加载与设置分开。
如果你
\documentclass[11pt,twoside]{article}
\usepackage{luainputenc}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage{luatextra}
\setmainlanguage[babelshorthands=true]{polish}
\setotherlanguage{latin}
\begin{document}
Tekst w języku polskim.
\end{document}
没有错误。另一方面,luainputenc
应该与某些选项一起使用,否则它是无用的。此外,luatextra
是用于加载的包装器
fontspec luatexbase metalogo luacode fixltx2e
lualibs
和的库luatexbase
。我不认为你真的需要它们(当然不是,fixltx2e
只是发出一个烦人的警告)。如果你需要luacode
或metalogo
加载它们。
\documentclass[11pt,twoside]{article}
\usepackage{polyglossia}% also loads fontspec
\setmainlanguage[babelshorthands=true]{polish}
\setotherlanguage{latin}
\begin{document}
Tekst w języku polskim.
\end{document}
答案2
正如 Ulrike Fisher 在上面的评论中指出的那样, 中发生了变化expl3
。 中也发生了变化polyglossia
(与其他变化密切相关)。 这发生在 2023 年的某个时候。 如果您使用的是 TeXlive 2023,并且已更新所有内容,则原始代码(在问题中)可能会编译而不会出现错误。 我现在有 TeXlive 2024,原始代码确实可以编译而不会出现错误。