TeXLive 更新后 Polyglossia \setotherlanguage 与 luatextra 冲突

TeXLive 更新后 Polyglossia \setotherlanguage 与 luatextra 冲突

我在 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只是发出一个烦人的警告)。如果你需要luacodemetalogo加载它们。

\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,原始代码确实可以编译而不会出现错误。

相关内容