stmaryrd 和粗體符號:避免警告

stmaryrd 和粗體符號:避免警告

下面是兩個例子:

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」。

然而,當我編譯文檔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}

相關內容