两三天以来,我无法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}