我正在使用 unicode 编写一些代码,我选择的字体对我来说效果很好,但出于某种原因,字体使用斜体美元符号而不是 GBP 符号。这是我的代码中的错误还是我必须从其他字体中导入正确的代码?有没有办法在不使用数学符号的情况下做到这一点,因为文本将来自其他来源而不是我编写。如果我理解这一点(从不同字体导入单个符号) 正确处理,我宁愿不这样做,而只是让程序替换有问题的字符。
\documentclass[11pt]{article}
\usepackage{fullpage}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{ltablex}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[none]{hyphenat}
\usepackage{array}
\usepackage{bigstrut}
\begin{document}
The text in here £ is the problem character.
\end{document}"""
答案1
在 OT1 编码中,英镑符号只能以非倾斜斜体字体中的美元形式获得。这是历史原因;Computer Modern 字体在预期位置有符号,而大多数其他字体系列没有。使用 T1 编码。
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\begin{document}
\textsterling % this is the inner command called by £
The text in here £ is the problem character.
\end{document}
您可能还想尝试\usepackage{tgheros}
而不是helvet
。