LuaTaTeXでギリシア文字のボールド体を出力する

LuaTaTeXでギリシア文字のボールド体を出力する

経緯

普段はLuaLaTeXで講義資料を作成しています。フォントとして TeX Gyre Termis などを好んで使用しています。

texlive2015のパッケージのアップデートをしていたらいつの間にかギリシア文字のボールド体が出力されないようになっていました。解決したのでその時のメモを残しておきます。ただし、otfフォントを指定している場合の話です。

方法

これまでの方法

まず先にLaTeX文章を示します。

\documentclass[a4paper, 11pt]{ltjsarticle}

% mathematical font
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}
\unimathsetup{math-style=TeX,bold-style=TeX,vargreek-shape=TeX}
\setmathfont{texgyretermes-math}

% Serif, Sans, Monospace
\setmainfont[ItalicFont=texgyretermes-italic, Ligatures=TeX, Scale=0.95]{texgyretermes-regular}
\setsansfont[Ligatures=TeX, Scale=0.95]{texgyreheros-bold}
\setmonofont[BoldFont=Inconsolatazi4-Bold, Ligatures=TeX, Scale=1]{Inconsolatazi4-Regular}

% other setting
\renewcommand{\bfdefault}{bx}
\renewcommand{\bf}{\gtfamily\sffamily\bfseries}

\begin{document}

\begin{itemize}
 \item $\alpha_\text{1}$
 \item {\bf $\mathbf{\alpha_\text{1}}$}
\end{itemize}

\end{document}

これまではこのように \mathbf を使用してギリシア文字をボールド体にしていました。これが、ある時点からうまく行かなくなりました。

改善策

色々とネット上で調べていると、 unicode-mathパッケージの説明書(英語)や このページ\symbf を使う例が載っていました。

そこで

\begin{itemize}
 \item {\bf $\symbf{\alpha_\text{1}}$}
\end{itemize}

のように変更することでボールド体が出力されるようになりました。

その他

ちなみに \text{1}としているのは数式フォントではなく、通常のフォントを使用するためです(\usepackage{amsmath}が必要)。また、このようにすることで全体を{\bf }で囲ったときにボールド体になるようにするためです。

本来は\textbf{}で囲む方がいいのでしょうが、欧文フォントと日本語フォントの両方をゴシック体にするように設定しているためです(\section{}などと同じ挙動になるように)。

追記(2015/8/30)

ギリシア文字だけをボールド体にするのであれば

\begin{itemize}
 \item $\symbf{\alpha}$
\end{itemize}

で十分です。

また、 unicode-mathのバージョンが 0.7e(2014/06/30)から0.8(2015/07/29)に上った際にこのような現象が起きたようです。

Toshiaki Ara