我一直无法使用textgreek
包排版字符 gamma。使用 textgreek,字符的命令是\textgamma
。但是,在 XeLaTeX(在 Mac OS X 10.11、MacTeX 2015 上)中使用时fontspec
,文档中插入了错误的字符。而不是插入U+03B3
,所需的伽马字符,它插入U+1041C
,Computer Modern 甚至没有这个字符。当指定不同的字体(如 Baskerville 或 Times New Roman)时,该字符可见。如果您注释掉 fontspec 并仍然使用 XeLaTeX 进行编译,则会使用正确的伽玛。
以下是最小的工作示例:
\documentclass[letter,reqno]{amsart}
\usepackage{textgreek}
\usepackage{fontspec}
%\setmainfont[Ligatures=TeX]{Times New Roman}
%\setmainfont[Ligatures=TeX]{Baskerville}
%\setmainfont[Ligatures=TeX,BoldFont={Crimson Semibold},ItalicFont={Crimson Italic}]{Crimson Roman}
\begin{document}
\title{Why isn't text gamma working?}
\maketitle
\textgamma-Proteobacteria
\textgamma\ phosphoanhydride
\textgamma\ radiation
\textgamma-amino-butyric acid (GABA)
\end{document}
注释掉 fontspec 行
答案1
fontspec
(更准确地说xunicode
)重新定义\textgamma
。您可以重置命令,但我认为最好放弃 textgreek,使用带有希腊字符的字体和\textgrgamma
来自 xunicode 的命令。
\documentclass[letter,reqno]{amsart}
\usepackage[LGR]{fontenc}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
%\setmainfont[Ligatures=TeX]{Baskerville}
%\setmainfont[Ligatures=TeX,BoldFont={Crimson Semibold},ItalicFont={Crimson Italic}]{Crimson Roman}
\DeclareTextCommand\textgamma{EU1}{{\fontencoding{LGR}\fontfamily{cmr}\selectfont g}}
\begin{document}
\textgamma-Proteobacteria
\textgrgamma-Proteobacteria
\end{document}