我是 latex 的新用户,正在尝试用 latex 写论文。我收到了一个 latex 模板,它使用以下软件包。当我尝试将\usepackage{subcaption}
子图包含到我的论文中时,文件无法编译并出现错误。我不知道以下哪个软件包与 subcaption 软件包冲突。此致
\documentclass[b5paper, 11pt]{report}
\usepackage{arabtex}
\usepackage{lipsum}
\usepackage{utf8}
\pagestyle{plain}
\usepackage{graphicx}
\usepackage{bm}
\usepackage[]{amsmath}
\usepackage{amssymb}
\usepackage{afterpage}
\usepackage{verbatim}
\usepackage{psfrag}
\usepackage{color}
\usepackage{cite}
\usepackage{epsfig}
\usepackage{epstopdf}
\usepackage{footmisc}
\usepackage{fmtcount}
\usepackage{stackrel}
\usepackage{float}
\usepackage{tocloft}
\usepackage{silence}
\usepackage{url}
\usepackage{enumerate}
\usepackage{hyperref}
\usepackage{fancyhdr}
\usepackage{nomencl}
\usepackage{makeidx}
\makeindex
\usepackage{setspace}
\usepackage{geometry}
\usepackage{graphicx}
%\usepackage{caption}
%\usepackage{subcaption}
\geometry{ b5paper,
total={185mm,255mm},
left=25mm,
right=25mm,
top=25mm,
bottom=25mm,
}
\doublespacing
\hypersetup{urlcolor=black, colorlinks=true, citecolor=blue}
\title{\ttitle}
答案1
更全面的 MWE 是
\documentclass{report}
\usepackage{arabtex}
\usepackage{caption}
\begin{document}
A
\end{document}
错误信息是
Runaway argument?
{\caption@CheckCommand \@makecaption {\long \def \@makecaption ##1##2\ETC.
! Paragraph ended before \@gobble was complete.
<to be read again>
\par
为什么会被\@gobble
打扰\par
?这个会展示主要问题:
\documentclass{report}
\makeatletter\show\@gobble\makeatother
\usepackage{arabtex}
\makeatletter\show\@gobble\makeatother
\begin{document}
A
\end{document}
运行该文档时,很明显正在arabtex
重新定义内部 LaTeX 宏,\@gobble
在我看来,\long\def\@gobble#1{}
这\def\@gobble#1{}
显然是一个致命的错误。
这使得整个caption
软件包注定要失败,因为(与许多其他软件包一样)它依赖于一些内部 LaTeX 命令的正确定义,如\@ifundefined
、、等等。\@gobble
\@firstofone
\@firstoftwo
\@gobble
作为一种解决方法,可以在加载后恢复定义arabtex
:
\documentclass{report}
%
\usepackage{arabtex}
% arabtex cripples \@gobble, so we need to restore it
\makeatletter
\long\def\@gobble#1{}
\makeatother
%
\usepackage{caption}
%
\begin{document}
A
\end{document}
但是,这个错误应该报告给 的维护者arabtex
。这肯定需要修复,我非常怀疑这个caption
软件包是唯一一个遇到这个问题的软件包。
更新:快速的互联网搜索显示,这是一个重复的问题使用 caption 包时产生的错误,而且这个错误已经好几年没被修复了。
更新 #2:由于没有迹象表明这个错误将在 2017 年得到修复,因此arabtex
我在caption
软件包中添加了一个解决方法。因此,如果您遇到此问题,只需更新 TeX 发行版,问题就会消失。另请参阅:https://sourceforge.net/p/latex-caption/tickets/33/