我使用的是字体系列 mathptmx,我只想对字母 Q 使用 baskervald(并非总是如此,但在许多特定情况下)。所以我定义了
\def\Q{{\fontfamily{ybv}\selectfont
Q}}
但这不起作用。我该如何修改呢?
答案1
如果我尝试此代码
\documentclass{article}
\usepackage{mathptmx}
\def\Q{{\fontfamily{ybv}\selectfont Q}}
\begin{document}
Q\Q
\end{document}
我在控制台上收到以下警告
LaTeX Font Warning: Font shape `OT1/ybv/m/n' undefined
(Font) using `OT1/cmr/m/n' instead on input line 8.
这意味着 Baskervald 在默认的 OT1 编码中不可用。
将其更改为
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{mathptmx}
\def\Q{{\fontfamily{ybv}\selectfont Q}}
\begin{document}
Q\Q
\end{document}
似乎可以解决问题。但是,您应该注意两个问题:
mathptmx
是在几十年前创建的,作为从 LaTeX 文档中获取不太重的 PostScript 输出的一种方法;\def
对于初学者(甚至是高级用户)来说,这是非常危险的命令。
问题 1 通过使用适当设计的 Times 风格字体和附带的数学字体得到解决;问题 2 通过 得到解决\newcommand
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{newtxtext,newtxmath}
\newcommand\Q{{\fontfamily{ybv}\selectfont Q}}
\begin{document}
Q\Q
\end{document}