我想在我的博士论文中使用 \AA 插入埃单位,我正在使用 siunitx 包。但是当我编译我的 tex 时,我得到了错误
LaTeX 错误:命令 \AA 在编码 T1 中不可用。
我在 Overleaf 个人资料中使用了 Beamer 模板。我该如何解决这个问题?
问题不应该出在软件包版本上,因为我在 Overleaf 中还有另一个文档,它没有同样的问题。另一个文档是 beamer 演示文稿,它使用 siunitx 软件包。
我怀疑问题出在 .sty 文件中,我使用的是 UiB 主题。.sty 文件中有一行
\RequirePackage[LGR, T1]{fontenc}
并且我怀疑我需要插入另一种字母来表示/AA 符号。
答案1
答案2
此宏\AA
是文本模式宏。要与包的\si
和宏一起使用,您应该写成,例如,或。\SI
siunitx
\si{\angstrom}
\SI{1}{\angstrom}
MWE(最小工作示例及其输出:
\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage{siunitx}
\begin{document}
\begin{frame}
Anders Jonas \AA ngström, 1814--1874.
\si{\angstrom}, $\SI{1}{\angstrom}=\SI{e-10}{\meter}$.
\end{frame}
\end{document}
答案3
我认为我发现了这个问题
从 OP 代码(通过私人邮件发送)中,我们可以得出以下 MWE
\documentclass{beamer}
\usepackage{siunitx}
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenx}
\let\textlozenge\relax
\usepackage[default]{gfsneohellenic}
\renewcommand{\rmdefault}{pbk}
\renewcommand{\sfdefault}{phv} % Helvetica
\renewcommand{\ttdefault}{pcr} % Courier
\begin{document}
\begin{frame}
$\SI{200}{\angstrom}$
\end{frame}
\end{document}
字体选择来自提供的 beamer 主题。
当我在 TeXLive 2020 设置上编译示例时,出现错误
! LaTeX Error: Command \AA unavailable in encoding T1.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
我们可以进一步归结为
\documentclass[a4paper]{article}
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenx}
\let\textlozenge\relax
\usepackage[default]{gfsneohellenic}
\begin{document}
\AA
\end{document}
给出了相同的错误。但是替换\AA
为Å
确实有效,因此 char 就在那里。
gfsneohellenic.sty
我们确实发现
\DeclareTextSymbol{\AA}{OT1}{197}
\DeclareTextSymbol{\aa}{OT1}{229}
\DeclareTextSymbol{\AE}{OT1}{198}
\DeclareTextSymbol{\ae}{OT1}{230}
\DeclareTextSymbol{\O}{OT1}{216}
\DeclareTextSymbol{\o}{OT1}{248}
\DeclareTextSymbol{\OE}{OT1}{140}
\DeclareTextSymbol{\oe}{OT1}{156}
但它们没有为 T1 编码定义,因此出现错误。
只需\DeclareTextSymbol{\AA}{T1}{197}
在加载后添加到序言中gfsneohellenic
似乎就可以了。
由于该软件包自 2001 年以来就没有更新过,因此最好联系其作者。(另请参见\textlozenge
加载该软件包所需的 hack)