使用 hyperref.sty 的未定义命令

使用 hyperref.sty 的未定义命令

给你一点背景信息。在愉快地使用 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。

如果有人能帮我解决的话我会非常感激。如果您建议我重新安装几个软件包,我将非常感激如何安全地执行此操作的说明。

相关内容