当我使用 \AA 时出现奇怪的错误

当我使用 \AA 时出现奇怪的错误

我想在我的博士论文中使用 \AA 插入埃单位,我正在使用 siunitx 包。但是当我编译我的 tex 时,我得到了错误

LaTeX 错误:命令 \AA 在编码 T1 中不可用。

我在 Overleaf 个人资料中使用了 Beamer 模板。我该如何解决这个问题?

问题不应该出在软件包版本上,因为我在 Overleaf 中还有另一个文档,它没有同样的问题。另一个文档是 beamer 演示文稿,它使用 siunitx 软件包。

我怀疑问题出在 .sty 文件中,我使用的是 UiB 主题。.sty 文件中有一行

\RequirePackage[LGR, T1]{fontenc}

并且我怀疑我需要插入另一种字母来表示/AA 符号。

答案1

如果所有其他选项都失败(可能是由于软件包冲突),$\mathring{\text{A}}$则在 overleaf 的 beamer 上对我有用。不需要任何软件包。

\documentclass{beamer}
\begin{document}
\begin{frame}
Anders Jonas $\mathring{\text{A}}$ngström, 1814--1874.
\end{frame}
\end{document} 

在此处输入图片描述

答案2

此宏\AA是文本模式宏。要与包的\si和宏一起使用,您应该写成,例如,或。\SIsiunitx\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)

相关内容