如何让 XeLaTeX 使用粗体 Minion Pro 字体来表示希腊字符?

如何让 XeLaTeX 使用粗体 Minion Pro 字体来表示希腊字符?

我无论如何都无法让 XeTeX 给我粗体小写希腊符号,尽管我已经检查过,例如在文字处理器中,字体在我的计算机上具有与希腊字符相对应的粗体字体。

我使用 Linux Libertine 作为常规字体,也用于数学模式中的数字;但是,我希望使用 minion pro 作为拉丁/希腊数学字符。

工作示例:

\documentclass[12pt,a4paper]{book}
\usepackage{amssymb}
\usepackage[no-math]{fontspec}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{mathspec}
\usepackage{textcomp}

\usepackage{xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}

\setmainfont[Mapping=tex-text]{Linux Libertine O}

% MATHS FONT
\setmathfont(Digits){Linux Libertine O}
\setmathfont(Latin,Greek){Minion Pro}

\begin{document}

Text. Some \textbf{bold text}; this all comes out in Linux Libertine.
\begin{equation}
    \boldsymbol\pi = \left< \pi_1, \pi_2\right>
\end{equation}

The above equations should render an emboldened pi character and two regular pi characters. 
\end{document}

好的,当我运行上面的程序时,我只得到了相同的 pi 字符,它们都在 Minion Pro 中,但第一个是不是有恃无恐。

有任何想法吗?

答案1

\boldsymbol使用\mathversion{bold},但 mathspec 没有声明粗体数学的字体。请在您的序言中尝试此操作:

\makeatletter
%\DeclareMathVersion{bold}
\fontspec{Minion Pro} %sets \zf@family to minion pro.
\SetSymbolFont{Latin:m:n}{bold}{EU1}{\zf@family}{bx}{n}
\SetSymbolFont{Latin:m:it}{bold}{EU1}{\zf@family}{bx}{it}
\SetSymbolFont{operators}{bold}{EU1}{\zf@family}{bx}{n}
\SetSymbolFont{Greek:m:n}{bold}{EU1}{\zf@family}{bx}{n}
\SetSymbolFont{Greek:m:it}{bold}{EU1}{\zf@family}{bx}{it}

\fontspec{Linux Libertine O}
\SetSymbolFont{Digits:m:n}{bold}{EU1}{\zf@family}{m}{n}
\makeatother

相关内容