我可以更改定义中的字体吗?

我可以更改定义中的字体吗?

我使用的是字体系列 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}

似乎可以解决问题。但是,您应该注意两个问题:

  1. mathptmx是在几十年前创建的,作为从 LaTeX 文档中获取不太重的 PostScript 输出的一种方法;

  2. \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}

在此处输入图片描述

相关内容