给你一点背景信息。在愉快地使用 Emacs/AucTeX 几个月后,我意外地删除了 hyperref 目录(我是否提到过我是 LaTeX 和 Linux 的新手?)。从那时起,我一直在尝试让它重新工作。我尝试使用 tlmgr 重新安装此包并下载 .tds.zip,将所有文件安装在它们所属的目录中(LaTeX 能够找到这些文件)生成此错误消息的简单代码是:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\end{document}
我收到的错误信息是
ERROR: Undefined control sequence.
--- TeX said ---
<argument> \ltx@IfUndefined
{pdfdraftmode}{\let \pdf@ifdraftmode \ltx@second...
l.124 }
因此我理解它无法理解 hyperref.sty 中的以下几行:
\RequirePackage{pdftexcmds}[2009/04/10]
\@ifpackagelater{pdftexcmds}{2010/11/04}{}{%
\ltx@IfUndefined{pdfdraftmode}{%
\let\pdf@ifdraftmode\ltx@secondoftwo
}{%
\ifpdf
\def\pdf@ifdraftmode{%
\ifnum\pdfdraftmode=\ltx@one
\expandafter\ltx@firstoftwo
\else
\expandafter\ltx@secondoftwo
\fi
}%
\else
\let\pdf@ifdraftmode\ltx@secondoftwo
\fi
}%
}
我尝试注释掉这些行,但问题仍然存在。我还以为原因是 pdftexcmds 的版本太旧了。但事实并非如此,因为它的日期是 2009/09/23。
如果有人能帮我解决的话我会非常感激。如果您建议我重新安装几个软件包,我将非常感激如何安全地执行此操作的说明。