自上次 babel-greek 更新以来,LuaLaTeX 中 \textgreek 命令未知

自上次 babel-greek 更新以来,LuaLaTeX 中 \textgreek 命令未知

自上次babel-greek软件包更新(大约 2020-11-10)以来,\textgreek使用 LuaLaTeX 进行编译时不再定义该命令。以下 MWE:

\documentclass{minimal}
\usepackage[greek.ancient,french]{babel}
\begin{document}
\foreignlanguage{greek}{\textgreek{da'imwn}}
\end{document}

使用 LuaLaTeX 进行编译时生成:

! Undefined control sequence.
<argument> \textgreek 
           {da'imwn}

虽然它在更新之前运行良好babel-greek(并且在包恢复到以前的版本后运行良好)但它仍然可以与 pdfLaTeX 和最新版本的编译良好babel-greek

结果

我怎样才能\textgreek使用 LuaLaTeX 和最新版本的babel-greek

答案1

如果 greek 检测到 unicode 引擎,则不再加载 LGR。但您可以自行执行此操作:

\documentclass{article}
\usepackage[LGR,TU]{fontenc}
\usepackage[greek.ancient,french]{babel}
\begin{document}
\foreignlanguage{greek}{\textgreek{da'imwn}}
\end{document}

答案2

您仍然可以使用 加载 LGR 编码luainputenc并定义\textgreek运行\fontencoding{LGR}\selectfont。但是,这会使连字模式完全混乱。只有当您使用与 Unicode 字体相同的系列名称声明 8 位 LGR 字体时,它才会起作用,例如通过加载substitutefont并声明\substitutefont{LGR}{\rmdefault}{Tempora-TLF},或通过加载\setmainfont{TeX Gyre Termes}[NFSSFamily=Tempora-TLF]

您询问的是 LuaLaTeX,但 XeTeX 为您提供了定义字体映射的选项。您的问题启发我编写了一个 beta 代码,这是一种更标准化的用 ASCII 编码希腊语的方法,目前仅支持 PDFTeX 和betababel

相关内容