TeXLive 2018 预测试:beamer 与 subfig 碰撞

TeXLive 2018 预测试:beamer 与 subfig 碰撞
\documentclass{beamer}

\usepackage{subfig}

\begin{document}

test

\end{document}

返回未定义的控制序列 \@@magyar@captionfix

(一月份的情况并非如此;我正在进行全面更新的预测试)

答案1

只需将命令的定义添加到\relax

\documentclass{beamer}

\usepackage{subfig}

\makeatletter
\let\@@magyar@captionfix\relax
\makeatother
\begin{document}

test

\end{document}

这是由于\@ifundefined 2018 年 LaTeX 版本发生了变化。


caption3.sty

  \@ifundefined{@@magyar@captionfix}\AtBeginDocument\@firstofone{%
    \g@addto@macro\@@magyar@captionfix{%
      \let\caption@lfmt@simple@magyar\caption@lfmt@simpleMagyar
      \let\caption@lfmt@simpleMagyar\caption@lfmt@default@magyar}}

\@ifundefined它依赖于将测试命令定义为的副作用\relax。这种副作用几乎总是不受欢迎的,在 2018 年 LaTeX 版本中,这一点已经改变,如 LaTeX News 28 中所述。我已给作者发邮件建议

  \@ifundefined{@@magyar@captionfix}%
   {\let\@@magyar@captionfix\@empty\AtBeginDocument}
   \@firstofone
   {%
    \g@addto@macro\@@magyar@captionfix{%
      \let\caption@lfmt@simple@magyar\caption@lfmt@simpleMagyar
      \let\caption@lfmt@simpleMagyar\caption@lfmt@default@magyar}}

答案2

此错误已修复https://gitlab.com/axelsommerfeldt/caption/commit/e03e61eb7c5987644cb1d8ed336dbb5e8ee2f96f并且应包含版本 v1.7-167 的caption3软件包

答案3

鉴于 samcarter 和 Axel Sommerfeldt 上述报告,该错误已修复并应用于 CTAN,您可能需要考虑更新caption库文件,并为此更新所有已安装的 LaTeX 文件。如果您安装了 TexLive,则执行此操作的方法如下这里,即从命令行:sudo tlmgr update --self,然后sudo tlmgr update --all。我这样做了,问题解决了。

相关内容