检测 pdflatex 运行的次数

检测 pdflatex 运行的次数

我想在 pdf 中包含信息以指示pdflatex运行了多少次。这似乎很简单,但我似乎无法让它工作——一定是显而易见的。

第一次输出正常(因为.aux文件不存在)。但是,之后它卡在:

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{pgfmath}
\usepackage{xcolor}\pagecolor{white}

\makeatletter
\providecommand{\CurrentRunNumber}{0}%
\IfFileExists{\jobname.aux}{%
    % Set via the .aux file
}{%
    \def\CurrentRunNumber{1}%
}%
\AtEndDocument{%
    \pgfmathtruncatemacro{\@NewRunNumber}{\CurrentRunNumber+1}%
    \immediate\write\@auxout{%
      \noexpand\def\noexpand\CurrentRunNumber{\@NewRunNumber}%
    }%
}%
\makeatother

\begin{document}
Run Count: \CurrentRunNumber
\end{document}

答案1

文件.aux在组内读取。使用\gdef。无需pgfmath

\documentclass{article}

\providecommand{\CurrentRunNumber}{1}
\makeatletter
\AtEndDocument{%
  \immediate\write\@auxout{%
    \gdef\noexpand\CurrentRunNumber{\the\numexpr\CurrentRunNumber+1}
  }%
}
\makeatother

\begin{document}
Run Count: \CurrentRunNumber
\end{document}

例如,经过两次运行后,.aux文件将

\relax
\gdef \CurrentRunNumber {2}
\gdef \@abspage@last{1}

相关内容