Beamer で mathspec を使用した AlegreyaSans

Beamer で mathspec を使用した AlegreyaSans

どういうわけか、AlegreyaSans フォントを Beamer で で動作させることができませんmathspec。AlegreyaSans の標準fontenc呼び出しは PDFLaTeX では動作しますが、auto-pst-pdf表には を使用する必要があるため、XeLaTeX を使用します (間違っていたら訂正してください)。そのため、XeLaTeX で数式フォントを指定したいので、 を使用しますmathspec。しかし、どういうわけか動作させることができません。常に次のメッセージが表示されます: "AlegreyaSans-Regular" が見つかりません。指定された MWE を参照してください。

ダッシュやスペースの問題ではないかと思いましたが、Alegreya Sans と AlegreyaSans と Alegreya-Sans を比較しても何も変わりません。システム上のフォントを確認しましたが、確かに AlegreyaSans-Regular などのタイトルが付いています。

OSX.11.13でTeXLive 2015を使用しています。

編集:AlegreyaSansは無料フォントです。無料でダウンロードできます。ここ。

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

答え1

デフォルトの Beamer テーマでは、サンセリフ フォントが使用されます。したがって、Beamer でフォントを変更する場合は、サンセリフ フォントを設定するか、\setsansfontセリフ フォント テーマに変更する必要があります\usefonttheme{serif}

fontspec通常、フォント名で読み込むと、フォント機能が自動的に設定されます。そのため、Alegreya フォントの場合は、フォント ファミリと小文字フォントを設定するだけで十分です。

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

数学フォントの場合、フォント名でフォントをロードすることも提案します (実際のところ、mathspecファイル名によるフォントのロードがサポートされているかどうかはわかりません)。したがって、ここでは次の行で十分なはずです。

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

しかし、数字の設定はLining機能していないようです。これを解決するには、professionalfontbeamer によって実行される内部置換を抑制するクラス オプションを使用する必要があります。これに関する詳細については、beamer のマニュアルを参照してください。

MWE を完了する:

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

出力:

出力

関連情報