我的一个大型文档的 Latex 源在 Ubuntu 18.04 的 TeX Live 2017/Debian 中运行良好,但升级到 Ubuntu 20.04 和 pdfTeX 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) 后,LaTeX 不再编译,Argument of \@tempa has an extra }
手稿中第一个图后出现“ ”投诉。但(幸运的是)它继续在另一台装有旧版 Ubuntu 18.04/TexLive 2017 的电脑上编译,这让我对错误的来源感到困惑。
由于我正在为 Springer 的一本书编写新版本,因此documentclass 是svmono
。我提取了一个最小工作示例,如下所示,其中包含类、样式文件和可用的图形。这里
编译的时候出现这个问题:
! Argument of \@tempa has an extra }
。
有问题的行标识为:
l.21 {\caption{Caption} \label{caption} }
\documentclass[graybox]{svmono}
\usepackage{graphicx,caption}
\usepackage[T1,S600print]{spbwftex-v4}% custom package for springer
\usepackage{amsmath}
Hi there
\begin{figure}[!t]
\centering
\includegraphics[width=2.2in]{venn1.eps}
\caption{Caption \label{cap}}
\end{figure}
\end{document}
我觉得问题出在\includegraphics
命令上,它以某种方式在类或样式文件中被重新定义,但我无法理解。我知道 svmono 是非标准的,我也向 Springer 员工寻求帮助,但目前还没有成功。
任何进一步调试问题的帮助都将不胜感激。我仔细研究了日志文件,还将其与 TexLive 2017 中的成功编译进行了比较,但我还是搞不清楚。
答案1
Springer 的工作人员能够解决这个问题,所以我想把这个解决方案传递给任何可能遇到同样问题的人。这是他们电子邮件的文本:
=======================
“graphics” 包定义被重新定义为获取图形条,并且它对于最终输出 pdf 来说不是必需的。
并且这些定义在最新的 Latex 内核中不受支持。
因此,我们删除了此处附加的特定定义和更新包,并将解决特定的编译错误。
========================
他们提供了一个新的 spbwftex-v4.sty 样式文件。我对两个版本(在 TexLive 2017 中运行的旧版本和新版本)进行了比较,发现有 3 个代码块似乎相关,需要注释掉。下面我报告了它们的开头:
< % \def\Gin@getbase#1{% < % \edef\Gin@tempa{%
< % \def\Ginclude@graphics##1{% < % \begingroup
< % \def\Ginclude@graphics#1{% < % \begingroup
该文件还发布这里