我需要在文档中包含一个希腊语单词,但首选字体没有希腊语。包 {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}