在回忆录中重新定义 babel 宏?

在回忆录中重新定义 babel 宏?

根据 babel.pdf (2005 年),宏\Aref 用于

“为论点写出正确的定冠词”,

即展开为“A”或“Az”。自从我升级到 2014 TeX 以来,它展开为“附录”。正如我注意到的,memman.pdf(日期为 2015)将其重新定义为

\Aref为附录 ”。

我尝试使用\Azr,但结果相同。

我该如何修复这个问题?(memman 显然破坏了兼容性)

有没有什么工具可以帮助避免此类故障?

答案1

我认为,对附录进行无意义的memoir定义是一个严重的错误;对章节进行定义也是错误的,因为这与相冲突。\Aref\Crefcleveref

然而,在的情况下\Crefcleveref包会很乐意进行重新定义,而在的情况下\usepackage[hungarian]{babel}\Aref不会被重新定义,因为代码是

\ifnum\magyar@opt@@az \expandafter\ifx\csname Aref\endcsname\relax1\fi>1 % 21, 2, 11, 1
  \DeclareRobustCommand\Aref{A\@ifstar{\@@magyar@az@ref\@firstoftwo}{\@@magyar@az@lowa}}\fi

由于\Aref在看到代码时已定义,因此测试返回 false;由于\magyar@opt@@az为 1,因此不执行定义。

解决方法:

\documentclass{memoir}
\let\Aref\relax
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[hungarian]{babel}

相关内容