我目前正在尝试使用 将 TeX 文件编译为 PDF/A 文档\usepackage[a-1b]{pdfx}
。但是,我在其中包含了符号\pounds
,这会产生以下错误:
LaTeX Error: Command \pounds unavailable in encoding 0T1
添加\usepackage[T1]{fontenc}
会产生等效错误:
LaTeX Error: Command \pounds unavailable in encoding T1
有人知道如何解决这个问题吗?提前谢谢!
低强度预应力混凝土
答案1
答案2
此错误的原因与 20 世纪 80 年代七位字体编码中货币符号的表示有关。如“综合 LaTeX 符号列表”第 272 页所述,英镑符号和美元符号在默认编码 (OT1) 中编码在同一个位置。斜体位置有一个英镑符号,直立位置有一个美元符号。文档建议:
使用者
\pounds
应该选择除 OT1 之外的字体编码 [...] 或者使用textcomp
重新定义\pounds
为使用 TS1 字体编码的包。
看来此解决方法与 不兼容pdfx
。如果您想\pounds
再次以文本模式工作,您可以在 后添加以下几行pdfx
。(但使用 进行搜索和替换\textsterling
可能更好。)
\renewcommand\pounds\relax
\DeclareTextSymbol{\pounds}{TS1}{"A3}
\DeclareTextSymbol{\pounds}{TU}{"A3}
\DeclareTextSymbolDefault{\pounds}{TS1}
我不知道这是否会破坏pdfx
任何引擎上软件包的任何其他功能,例如,我还没有用 PDF 书签测试过它,但它在文本模式下对于 PDFTeX 和 Unicode 引擎都可以正确显示。它没有修复$\pounds$
。
Unicode 是另一个不错的选择。我建议你在可以的时候使用它,在必须的时候使用传统的 8 位(或甚至 7 位,如这里)字体编码。在 LuaLaTeX 或 XeLaTeX 中,只需\usepackage{textcomp}
,或加载任何将字体编码设置为 Unicode 的字体包(例如fontsetup
)。该\textsterling
命令仍然有效。