我无法让磅符号出现在文档的数学模式上下文中。问题似乎出在使用 newpxtext 包。MWE:
\documentclass{article}
\usepackage{newpxtext}
\usepackage[T1]{fontenc}
\begin{document}
$\pounds$
\end{document}
当我排版上述内容时,我只得到一个空白而不是磅符号。有什么建议可以让它显示出来吗?
答案1
当\pounds
在数学模式中发现时,LaTeX 将执行\mathsterling
,否则将执行\textsterling
。
如果我们查看newpxtext.sty
TeX Live 2014 发行版,我们会发现
\re@DeclareMathSymbol{\mathsterling}{\mathord}{operators}{163}
该软件包的版本为 1.232,发布于 2015/04/07。此行在 2015/08/07 发布的当前版本 1.293 中已被注释掉。
在使用 1.232 或更早版本的系统上编译代码时,代码指向 Computer Modern Roman ( ) 的第 163 个插槽中的字符cmr10
,因为这是用于操作员的字体;但该字体在第 127 个插槽之外没有任何内容。
如果您还加载,情况会更糟,newpxmath
因为您会发现č
不是英镑符号,因为使用了 T1 编码中的正常文本字体,并且在插槽 163 中可以找到 č。
该行是的残留pxfonts.sty
,因为该包选择的文本字体在那个位置确实有一个英镑符号。
解决方案
首选:升级你的 TeX 系统并总是
newpxmath
连同一起加载newpxtext
。临时:
newpxmath
手动加载并添加 的当前定义到你的序言中\mathsterling
,即\renewcommand{\mathsterling}{\mbox{\textsterling}}
说实话,我并不认为这个新定义特别有吸引力,因为符号不会在下标/上标中缩放。
如果你需要斜体英镑在数学模式中,缩放下标/上标,无论你的 TeX 分布是什么,添加
\usepackage{amsmath}
\renewcommand{\mathsterling}{\text{\normalfont\itshape\textsterling}}
完整示例
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{newpxtext,newpxmath}
\renewcommand{\mathsterling}{\text{\normalfont\itshape\textsterling}}
\begin{document}
$\pounds_{\pounds}$
\end{document}
使用较旧的 TeX 发行版的输出是相同的(我使用 TL 2012、2013 和 2014 对其进行了测试)。
答案2
根据您的 TeX 发行版,的文本模式和数学模式呈现\pounds
可能会有所不同。我在装有 MacTeX2015 和 1.293 版(2015/08/07)的系统上运行您的代码时得到以下输出newpxtext
:
由于newpxmath
未加载,产生的符号$\pounds$
是来自 Computer Modern 字体系列的数学斜体字形。
如果newpxmath
包被加载,所有三个字形将是相同的,至少在我的系统上是如此。
\documentclass{article}
\usepackage{newpxtext}
\usepackage[T1]{fontenc}
\begin{document}
\pounds, $\mbox{\pounds}$, $\pounds$
\end{document}