AlegreyaSans com especificação matemática no Beamer

AlegreyaSans com especificação matemática no Beamer

De alguma forma, não consigo fazer com que a fonte AlegreyaSans funcione no Beamer com arquivos mathspec. A chamada padrão fontencpara AlegreyaSans funciona para PDFLaTeX, mas preciso usar auto-pst-pdfpara uma tabela, daí o uso de XeLaTeX (corrija-me se eu estiver errado aí!). Como tal, espero especificar a fonte matemática no XeLaTeX, daí o uso de mathspec. Mas de alguma forma não consigo fazê-lo funcionar; Recebo constantemente: "AlegreyaSans-Regular" não pode ser encontrado. Veja o MWE fornecido.

Eu me perguntei se é um problema com um traço ou espaço: Alegreya Sans vs. AlegreyaSans vs. Alegreya-Sans, mas isso não faz nada. Verifiquei as fontes no sistema: elas são definitivamente intituladas AlegreyaSans-Regular, etc.

Estou usando o TeXLive 2015 no OSX.11.13.

EDIT: AlegreyaSans é uma fonte gratuita; ele pode ser baixado gratuitamenteaqui.

\documentclass{beamer}
\usepackage{mathspec}
%\usepackage[T1]{fontenc}
%\usepackage[sfdefault]{AlegreyaSans}
\setmainfont[
    Extension = .otf, %does not work with ttf either
    UprightFont = AlegreyaSans-Regular,
    ItalicFont = AlegreyaSans-Italic,
    BoldFont = AlegreyaSans-Bold,
    BoldItalicFont = AlegreyaSans-BoldItalic,
    UprightFeatures = {SmallCapsFont = AlegreyaSansSC-Regular},
    ItalicFeatures = {SmallCapsFont = AlegreyaSansSC-Italic},
    BoldFeatures = {SmallCapsFont = AlegreyaSansSC-Bold},
    BoldItalicFeatures = {SmallCapsFont = AlegreyaSansSC-BoldItalic},
    Ligatures = TeX]
    {AlegreyaSans}
\setmathsfont(Digits,Latin,Greek)[Numbers={Lining,Proportional}]{AlegreyaSans}
\makeatletter
     \DeclareMathSymbol{0}{\mathalpha}{\eu@DigitsArabic@symfont}{`0}
     \DeclareMathSymbol{1}{\mathalpha}{\eu@DigitsArabic@symfont}{`1}
     \DeclareMathSymbol{2}{\mathalpha}{\eu@DigitsArabic@symfont}{`2}
     \DeclareMathSymbol{3}{\mathalpha}{\eu@DigitsArabic@symfont}{`3}
     \DeclareMathSymbol{4}{\mathalpha}{\eu@DigitsArabic@symfont}{`4}
     \DeclareMathSymbol{5}{\mathalpha}{\eu@DigitsArabic@symfont}{`5}
     \DeclareMathSymbol{6}{\mathalpha}{\eu@DigitsArabic@symfont}{`6}
     \DeclareMathSymbol{7}{\mathalpha}{\eu@DigitsArabic@symfont}{`7}
     \DeclareMathSymbol{8}{\mathalpha}{\eu@DigitsArabic@symfont}{`8}
     \DeclareMathSymbol{9}{\mathalpha}{\eu@DigitsArabic@symfont}{`9}
\usepackage{pst-node, auto-pst-pdf}

\begin{document}

\begin{frame}
1 $S_1$
\end{frame}

\end{document}

Responder1

O tema padrão do beamer usa a fonte sans serif. Portanto, se você quiser alterar a fonte no beamer, você deve definir a fonte sans \setsansfontou mudar para o tema da fonte serif \usefonttheme{serif}.

fontspecgeralmente faz um trabalho muito bom configurando os recursos da fonte automaticamente, se você carregá-los pelo nome da fonte. Portanto, no caso da fonte Alegreya deve ser suficiente apenas definir a família de fontes e as fontes em versalete.

\setsansfont[UprightFeatures = {SmallCapsFont = Alegreya Sans SC},
             ItalicFeatures = {SmallCapsFont = Alegreya Sans SC Italic},
             BoldFeatures = {SmallCapsFont = Alegreya Sans SC Bold},
             BoldItalicFeatures = {SmallCapsFont = Alegreya Sans SC Bold Italic}]{Alegreya Sans}

No caso da fonte matemática, eu também proporia carregar a fonte pelo nome da fonte (na verdade, não sei se mathspecsuporta o carregamento de fontes pelo nome do arquivo). Então aqui a seguinte linha deve ser suficiente.

\setmathsfont(Digits,Latin,Greek)[Numbers={Lining,Proportional}]{Alegreya Sans}

Mas a configuração dos números Liningparece não funcionar. Para resolver isso você tem que usar a opção class professionalfont, que suprime algumas substituições internas realizadas pelo beamer. Para obter mais informações sobre isso, consulte o manual do projetor.

MWE completo:

\documentclass[professionalfont]{beamer}
\usepackage{mathspec}
\setsansfont[UprightFeatures = {SmallCapsFont = Alegreya Sans SC},
             ItalicFeatures = {SmallCapsFont = Alegreya Sans SC Italic},
             BoldFeatures = {SmallCapsFont = Alegreya Sans SC Bold},
             BoldItalicFeatures = {SmallCapsFont = Alegreya Sans SC Bold Italic}]{Alegreya Sans}
\setmathsfont(Digits,Latin,Greek)[Numbers={Lining,Proportional}]{Alegreya Sans}

\begin{document}

\begin{frame}{Font feature test}
  \begin{itemize}
    \item Regular
    \item \textit{Italic}
    \item \textsc{SmallCaps}
    \item \textbf{Bold}
    \item \textbf{\textit{Bold Italic}}
    \item \textbf{\textsc{Bold SmallCaps}}
    \item \textbf{\textsc{\textit{Bold Italic SmallCaps}}}
    \item Math: $a^2+b^2 = c^2$
    \item Numbers in Math: $1234567890$
  \end{itemize}
\end{frame}

\end{document}

Saída:

saída

informação relacionada