希腊语不再适用于 LuaTeX

希腊语不再适用于 LuaTeX

两三天以来,我无法LuaTeX\textgreek和来写希腊语\begin{otherlanguage}{greek}。我完全不知道为什么会这样——它做过工作到现在。

% -*- mode: latex; TeX-engine: luatex; coding: utf-8; -*-
\documentclass{scrartcl}
\PreventPackageFromLoading{fixltx2e}
\PassOptionsToPackage{no-math}{fontspec}
\PreventPackageFromLoading{MnSymbol}
\usepackage[main=ngerman,greek,english,french]{babel}
\languageattribute{greek}{ancient}
\usepackage{luatextra}
\defaultfontfeatures[\rmfamily,\sffamily]{Ligatures={TeX,Common}}
\setmainfont{TeX Gyre Pagella X}
\newfontfamily\greekfont{GFS Porson}[Ligatures=TeX,%
                                     ItalicFont = GFSPorson-Regular,%
                                     SmallCapsFont = GFSPorson-Regular]
\begin{document}
\emph{emphblabla}\textgreek{Ζεύς}{\greektext Ζεύς}\textit{textitbla}

{\itshape itshapebla Ζεύς}

\begin{otherlanguage}{greek}
  Ζεύς οτηερλανγυαγε
\end{otherlanguage}

{\selectlanguage{greek}\selectfont Ζεύς σελεψτλανγυαγε}
{\setmainfont{GFSPorson} Ζεύς} %only this works
\end{document}

答案1

我不会说你的代码从来没用过。格式(字体编码)、babel 和 fontspec 中的许多相关内容都发生了变化。

但在当前系统中它无法工作。根据文档,\textgreek 仅在使用 pdflatex 和 LGR 编码时定义。因此,如果您想要它,您必须自己定义它,\greektext 也是如此。

我认为你现在真的不需要 luatextra(它是 2010 年的)。

\documentclass{scrartcl}

\usepackage[no-math]{fontspec}

\usepackage[main=ngerman,greek,english,french]{babel}
\languageattribute{greek}{ancient}


\setmainfont{TeX Gyre Pagella X}

\newfontfamily\greekfont{GFS Porson}[Ligatures=TeX,%
                                     ItalicFont = GFSPorson-Regular,%
                                     SmallCapsFont = GFSPorson-Regular]

\addto\extrasgreek{\greekfont}

\newcommand\textgreek[1]{\foreignlanguage{greek}{#1}}


\begin{document}
blblb {\itshape itshapebla Ζεύς}

\textgreek{Ζεύς}{\greekfont Ζεύς}\textit{textitbla}


\begin{otherlanguage}{greek}
  Ζεύς οτηερλανγυαγε
\end{otherlanguage}

{\selectlanguage{greek}Ζεύς σελεψτλανγυαγε}   

blblbl blblb 


\end{document}

在此处输入图片描述

相关内容