我正在尝试编译一份长文档,其中必须添加几段古希腊语文字,以便用 XeLaTeX 进行编译。
我现在的做法是
\usepackage[utf8]{inputenc}
\usepackage[polutonikogreek,english]{babel}
\newcommand{\greek}[1]{{\selectlanguage{polutonikogreek}#1}}
然后我有\greek{βάραθρον}
等等。
但是,这不会使用 XeLaTeX 产生任何输出。使用 pdfLaTeX 我确实在文本中得到了古希腊语单词。
我还注意到,无论我是否在选项中添加西班牙语和法语,法语和西班牙语中的几个单词都无法正确显示babel
。
不幸的是,由于文本中有一些复杂的命令,我必须使用 XeLaTeX。
答案1
如果您需要的只是孤立的单词并且不关心连字符,那么您实际上并不需要对希腊语的特殊支持。
如果您想要正确使用古希腊语的连字符,您可以使用支持该语言的主字体,或者选择其他字体。
但是,babel
不提供对古希腊语的 XeLaTeX 支持,因此您需要polyglossia
。
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage[variant=ancient]{greek}
\setmainfont{Libertinus Serif}
\begin{document}
The Greek word \textgreek{βάραθρον} means `gulf', `pit' or `cleft'.
%% One of the following declarations should go in the preamble;
%% it is used here just to show the effect; choose the font
%% you like the most, there are several others
\newfontfamily{\greekfont}[Scale=MatchUppercase]{GFS Porson}
The Greek word \textgreek{βάραθρον} means `gulf', `pit' or `cleft'.
\newfontfamily{\greekfont}[Scale=MatchUppercase]{GFS Bodoni}
The Greek word \textgreek{βάραθρον} means `gulf', `pit' or `cleft'.
\newfontfamily{\greekfont}[Scale=MatchUppercase]{Old Standard}
The Greek word \textgreek{βάραθρον} means `gulf', `pit' or `cleft'.
\end{document}
答案2
你遇到的问题是,你正在应用这种pdfLaTeX
方法XeLaTeX
\usepackage[utf8]{inputenc}
没有必要用XeLaTeX
。
我已选择polyglossia
使用babel
。
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage[variant=ancient]{greek}
\newfontfamily\greekfont[Script=Greek]{Galatia SIL}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\textgreek{βάραθρον}
\lipsum[2]
\end{document}
Galatia SIL 是一款精美的希腊字体,可轻松从南澳大利亚州。