考虑以下 MWE:
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tgheros}
%\usepackage{helvet} % see explanation
\begin{document}
Let's test \textbf{bold face text} and \textit{italics text}, and most
importantly
\textit{\textbf{italic bold}} and \textbf{\textit{bold italic}}
\textsf{The quick brown fox jumps over the lazy dog.}
\end{document}
当使用 latex、pdflatex 或 lualatex 处理时,都会出现警告:
LaTeX Font Warning: Font shape `T1/lmr/b/it' in size <10> not available
(Font) Font shape `T1/lmr/b/sl' tried instead on input line 9.
并且应该为粗体斜体的输出实际上是粗体倾斜的,就像警告所说的那样。
但是,如果使用 helvet 而不是 tgheros,则一切正常,我们会得到预期的粗体斜体。
\textsf 行实际上没有必要,只有加载 tgheros 时才会出现错误。
TeX 版本为 TeX 3.141592653(TeX Live 2021),Fedora 35,单独 texlive 安装。
那么这里面的问题在哪里呢?我猜问题是“这样的错误报告应该发送给谁?”。
答案1
tgheros 重新定义了\bfdefault
,这是当前 LaTeX 中最好不要做的事情。您可以恢复默认定义:
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tgheros}
\makeatletter
\renewcommand\bfdefault{b\@empty}
\makeatother
%\usepackage{helvet} % see explanation
\begin{document}
Let's test \textbf{bold face text} and \textit{italics text}, and most
importantly
\textit{\textbf{italic bold}} and \textbf{\textit{bold italic}}
\textsf{The quick brown fox jumps over the lazy dog.}
\end{document}