
\documentclass[a4paper]{article}
\usepackage[no-math]{fontspec}
\usepackage{anyfontsize}
\usepackage{amsmath,amssymb,amsthm,mathrsfs}
\setmainfont{Times New Roman}
\usepackage{unicode-math}
\setmathfont{Asana-Math.otf}
\usepackage{bm}
\renewcommand{\bm}{\symbf}
\title{Title}
\author{Author}
\date{\today}
\begin{document}
\maketitle
\end{document}
これにより警告が発生します
Font shape `TU/Asana-Math.otf(1)/b/n' undefined
(Font) using `TU/Asana-Math.otf(1)/m/n' instead.
しかし、もしその行を削除したら
\usepackage{bm}
\renewcommand{\bm}{\symbf}
警告は消えました。
なぜですか? どうすれば直せますか?
答え1
私の解決策は、使用せず\bm
に直接置き換えることです\mathbf
\usepackage[no-math]{fontspec}
\setmainfont{TeX Gyre Pagella}
\usepackage[scr=rsfso,frak=euler,bb=ams]{mathalpha}
\usepackage[bold-style=ISO,sans-style=italic]{unicode-math}
\setmathfont{Asana Math}
\AtBeginDocument{
\let\uglymathbf\mathbf
\renewcommand\mathbf\symbf
\let\uglymathsf\mathsf
\renewcommand\mathsf\symsf
}
答え2
メッセージに表示されているように、使用しているフォントには太字フォントがありません。\symbf
フォントは変更されず、同じフォントから太字の数式アルファベット範囲が選択されます。より一般的には、ほとんどbm
互換性がありませんunicode-math
(拡張を検討しましたが、技術的な問題がいくつかあります)。
もちろん、最初の行には意味がありません
\usepackage{bm}
\renewcommand{\bm}{\symbf}
renewコマンドはパッケージの定義を元に戻すので、
\newcommand\bm{\symbf}`
既存の pdftex ドキュメントをパッケージを使用して に変換するなどの理由で\symbf
にエイリアスしたい場合は、 をまったく使用せず、数式で を使用してください。\bm
bm
unicode-math
\bm
\symbf
質問で\bm
はエイリアスについて尋ねられている\symbf
ので、それが上記で示したものですが、x などの文字の場合は太字の \bm{x}
直立ではなく、太字の数学斜体であるため、\symbfit
より良い選択である可能性があります。