authblk 将 \author 和 \affil 中的 \AA 命令与 pdflatex 混淆

authblk 将 \author 和 \affil 中的 \AA 命令与 pdflatex 混淆

以下示例使用 pdflatex 编译(Windows 10 上为 MikTeX)

\documentclass{article}
\usepackage{authblk}
\title{{\AA}lesund is a nice city}
\author[1]{{\AA}ge}
\affil[1]{NTNU, {\AA}lesund}
\begin{document}
\maketitle
The name should be `{\AA}ge', the affiliation `{\AA}lesund'.
\end{document}

产生这个:

在此处输入图片描述

即 \author 和 \affil 字段中 Å 的重音位置错误。

使用\r{A}没有帮助。添加\usepackage[latin1]{inputenc}和替换\AAÅ不起作用,[utf8]编码也不起作用。另一方面,xelatex 在使用\AA和 时都能产生正确的输出Å

这是一个已知问题/错误吗?或者我应该在某处报告它?

答案1

添加

\usepackage[T1]{fontenc}

这告诉 (pdf)LaTeX 它可以在字体中直接找到许多(设计的)字母,而无需(并且不使用 xelatex 或 lualatex),LaTeX 将尝试在 A 中添加环。

顺便说一句:使用 (pdf)LaTeX 时同时拥有fontenc和总是一个好主意。inputenc

答案2

该包局部重新定义\rlap以影响脚注标记的位置,但这会影响 OT1 中重音符号的定位 \r A。您可以定义不使用重音符号,\rlap而是直接使用较低级别的命令

\documentclass{article}

\makeatletter
\DeclareTextCompositeCommand{\r}{OT1}{A}
   {\leavevmode\setbox\z@\hbox{!}\dimen@\ht\z@\advance\dimen@-1ex%
    %\rlap
    \hb@xt@\z@
    {\raise.67\dimen@\hbox{\char23}%
    \hss
    }A}
\makeatother
\usepackage{authblk}
\title{{\AA}lesund is a nice city}
\author[1]{{\AA}ge}
\affil[1]{NTNU, {\AA}lesund}
\begin{document}
\maketitle
The name should be `{\AA}ge', the affiliation `{\AA}lesund'.
\end{document}

相关内容