
ここに 2 つの例を示します。
1
\documentclass[a4paper,10pt]{article}
\usepackage{amsmath}
\begin{document}
$\boldsymbol x$
\end{document}
2
\documentclass[a4paper,10pt]{article}
\usepackage{amsmath}
\usepackage{stmaryrd}
\begin{document}
$\boldsymbol x$
\end{document}
私の知る限り、 でコンパイルすると、両方のバージョンで同じ出力が生成されますpdflatex
。太字斜体の「x」が 1 つあります。
ただし、ドキュメント 2 をコンパイルすると、次の警告も表示されます。
LaTeX Font Warning: Font shape `U/stmry/b/n' undefined
(Font) using `U/stmry/m/n' instead on input line ….
なぜこの警告が表示されるのでしょうか(これはLatexがない正しいフォントを見つけることができましたが、出力は正しいですか?
警告を回避するにはどうすればよいですか? ドキュメントには次の両方が必要です。
- 大胆な通常の数学記号のバージョン(なくても簡単に作成できるもの
stmaryrd
) - 通常一部のシンボルのバージョンは、
stmaryrd
答え1
内部的には\boldsymbol
効果的に使用される\boldmath
ため、実際に太字で使用されている記号はすべて太字の数式設定全体となり、この警告が表示されます。
のsilence
パッケージは、さまざまなLaTeXメッセージをフィルタリングするためのインターフェースを提供するので、これらをフィルタリングしたり、この場合は、stmaryrd
用途
\SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n}
%%%
太字の数式バージョンでは太字フォントを使用する必要があることを宣言します (存在しないため宣言されることはありません)。
したがって、別の方法としては、太字バージョンでは通常のフォントを使用するように LaTeX に指示することです。
これについては警告は出ません:
\documentclass[a4paper,10pt]{article}
\usepackage{amsmath}
\usepackage{stmaryrd}
\SetSymbolFont{stmry}{bold}{U}{stmry}{m}{n}
%%%
\begin{document}
aa
$\boldsymbol{x}$
\end{document}