lastpage、hyperref、amsthm 和 tikz-external 之间的尴尬冲突

lastpage、hyperref、amsthm 和 tikz-external 之间的尴尬冲突

以下代码无法正确生成 tikzpicture 的外部 .pdf 文件。删除 、 中的任何一个都可以\usepackage{amsthm}解决问题:辅助 .pdf 文件可以正确生成。删除也可以解决问题,因为不涉及外部化过程。\usepackage{lastpage}\usepackage{hyperref}\tikzexternalize

\documentclass{article}
\usepackage{amsthm}
\usepackage{lastpage}
\usepackage{hyperref}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize

\begin{document}
        \begin{tikzpicture}
        \draw (0,0) --(1,1);
        \end{tikzpicture}
\end{document}

外部编译的.log文件包含以下内容

! Argument of \Hy@temp has an extra }.
<inserted text> 
                \par 
l.62 \end{document}

我也尝试过交换软件包的顺序,但没有结果。是什么原因导致了这个问题?

答案1

一些包与外部化不兼容,请参阅 TikZ/PGF 手册中的第 50.8.2 节。

\documentclass{article}
\usepackage{amsthm}

\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize

\tikzifexternalizing{}{
  \usepackage{lastpage}
  \usepackage{hyperref}
}

\begin{document}

\begin{tikzpicture}
\draw (0,0) --(1,1);
\end{tikzpicture}

\end{document}

相关内容