De alguna manera no puedo hacer que la fuente AlegreyaSans funcione en Beamer con mathspec
. La llamada estándar fontenc
para AlegreyaSans funciona para PDFLaTeX, pero necesito usarla auto-pst-pdf
para una tabla, de ahí el uso de XeLaTeX (¡corríjame si me equivoco!). Como tal, espero especificar la fuente matemática en XeLaTeX, por lo tanto, el uso de mathspec
. Pero de alguna manera no consigo que funcione; Recibo constantemente: "AlegreyaSans-Regular" no se encuentra. Vea el MWE dado.
Me he preguntado si es un problema con un guión o un espacio: Alegreya Sans vs. AlegreyaSans vs. Alegreya-Sans, pero esto no hace nada. He comprobado las fuentes en el sistema: definitivamente se titulan AlegreyaSans-Regular, etc.
Estoy usando TeXLive 2015 en OSX.11.13.
EDITAR: AlegreyaSans es una fuente gratuita; se puede descargar gratisaquí.
\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}
Respuesta1
El tema del proyector predeterminado utiliza la fuente sans serif. Entonces, si desea cambiar la fuente en Beamer, debe configurar la fuente sans \setsansfont
o cambiar al tema de fuente serif \usefonttheme{serif}
.
fontspec
Por lo general, hace un muy buen trabajo configurando las características de la fuente automáticamente, si las carga por nombre de fuente. Entonces, en el caso de la fuente Alegreya, debería ser suficiente simplemente configurar la familia de fuentes y las fuentes en versalitas.
\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}
En el caso de la fuente matemática, también propondría cargar la fuente por nombre de fuente (en realidad, no sé si mathspec
admite la carga de fuentes por nombre de archivo). Entonces aquí la siguiente línea debería ser suficiente.
\setmathsfont(Digits,Latin,Greek)[Numbers={Lining,Proportional}]{Alegreya Sans}
Pero la configuración de números Lining
no parece funcionar. Para solucionar esto hay que utilizar la opción de clase professionalfont
, que suprime algunos reemplazos internos realizados por el proyector. Para obtener más información sobre esto, consulte el manual del proyector.
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}
Producción: