这是文档:
\documentclass{article}
\renewcommand\familydefault{\sfdefault}
\renewcommand\sfdefault{phv}
\normalfont
\begin{document}
The jacket costs \pounds{}50.
\end{document}
我看到斜体美元符号。为什么?如何解决?
答案1
嗯,这就是不使用 OT1 编码的原因之一。由于空间不足,磅和美元共享一个字形位置。在 cm 字体中,美元例如采用 slshape 变体,磅采用斜体。对于 helvet(phv 不是 verdana),这无法工作,因为没有特定的斜体字体。
要修复此问题,请使用 \usepackage[T1]{fontenc}。
答案2
这可能不是一个“好的”解决方案,但一个快速的解决方法是用罗马字体输出英镑符号:
\textrm{\pounds{}}50
给出预期的结果(除非您对英镑符号的字体非常挑剔......)
由于您不想每次在文档中需要此符号时都执行此操作,因此您可能希望将其存储在宏中:
\newcommand\rmpounds{\textrm{\pounds{}}
然后你\rmpounds
在\pounds
各处使用 而不是 。
(可能有一个很好的方法可以将其隐藏在包中,以便您可以使用\pounds
并获得与我相同的结果\rmpounds
,即不强迫您使用不同的命令,但我不知道如何在不超出容量错误的情况下做到这一点......)