[Tex/LaTex] How to get XeLaTeX to use the bold Minion Pro typeface for Greek characters

boldfontsmath-modemathspecxetex

I can't for the life of me get XeTeX to give me bold lowercase greek symbols, even though I have checked, e.g., in a word processor, that the font has a corresponding bold typeface with the greek character on my computer.

I use Linux Libertine for my normal font, and also for the digits in math mode; however, I wish to use minion pro for the latin/greek math characters.

Working example:

\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}

OK, when I run the above I just get the same pi characters, which are all in Minion Pro, but the first one is not emboldened.

Any ideas?

Best Answer

\boldsymbol uses \mathversion{bold}, but mathspec doesn't declare fonts for the bold math. Try this in your preamble:

\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