文本中的希腊字母(非数学模式)

文本中的希腊字母(非数学模式)

我需要在文档中包含一个希腊语单词,但首选字体没有希腊语。包 {textgreek} 可以解决问题吗?也许不行。下面是 MWE:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[12pt]{article}
\usepackage{geometry}                
\geometry{letterpaper}                  
\usepackage[euler]{textgreek}

\usepackage{fontspec,xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Hoefler Text}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}

\begin{document}

Here is some text. 
There should be a greek word \texttau\textrho\textepsilon\textiota\textvarsigma here. 

Let’s see if unicode compiles:

τρείς



\end{document}   

有人知道我做错了什么吗?textgreek 包应该有自己的字体。文档说,如果您使用 CM 或 LM 以外的任何字体,您“可能”(!!) 必须修改字体表,但没有说明如何修改。

(我猜测 Unicode 希腊语单词将无法正确显示,因为 Hoefler Text 不支持希腊语。

答案1

既不加载xunicode也不加载xltxtra

\documentclass{article}

\usepackage{fontspec}
\usepackage{polyglossia}

\setmainlanguage{english}
\setotherlanguage{greek}

\setmainfont{Hoefler Text}
\setsansfont{Gill Sans}[
  Scale=MatchLowercase,
]
\setmonofont{Andale Mono}[
  Scale=MatchLowercase,
]

\newfontfamily{\greekfont}{GFSDidot}[
  Extension=.otf,
  UprightFont=*,
  ItalicFont=*Italic,
  BoldFont=*Bold,
  BoldItalicFont=*BoldItalic,
  Scale=MatchLowercase,
]

\begin{document}

Here is some text.
There should be a greek word \textgreek{τρείς}

\end{document}

除了 GFS Didot,您还可以使用任何您喜欢的支持希腊语的字体。

在此处输入图片描述

如果您只知道几个希腊词,那么使用 就很有意义ucharclasses

\documentclass{article}

\usepackage{fontspec}
\usepackage[Latin,Greek]{ucharclasses}

\setmainfont{Hoefler Text}
\setsansfont{Gill Sans}[
  Scale=MatchLowercase,
]
\setmonofont{Andale Mono}[
  Scale=MatchLowercase,
]

\newfontfamily{\greekfont}{GFSDidot}[
  Extension=.otf,
  UprightFont=*,
  ItalicFont=*Italic,
  BoldFont=*Bold,
  BoldItalicFont=*BoldItalic,
  Scale=MatchLowercase,
]

\setTransitionsForGreek{\begingroup\greekfont}{\endgroup}

\begin{document}

Here is some text.
There should be a greek word τρείς

\end{document}

相关内容