将 pdfximage/pdflastximagepages 转换为函数并在 tikz 中使用:错误:缺少数字,视为零。

将 pdfximage/pdflastximagepages 转换为函数并在 tikz 中使用:错误:缺少数字,视为零。

我觉得无法解决这个问题有点愚蠢,但我找不到一种方法将以下命令(用于获取 pdf 中的页数:)转换\pdfximage{mypdf.tex} \the\pdflastximagepages为实际命令,以便我可以在循环\pdfximage{images.pdf}中写入\foreach。如果有人可以向我解释为什么前两个示例有效而最后一个无效,我会非常感兴趣。

谢谢!

梅威瑟:

\documentclass{beamer}
\usepackage{tikz}

\newcommand{\nbpagepdf}[1]{\pdfximage{#1}\the\pdflastximagepages}

\begin{document}
\begin{frame}[fragile]
  %% Ok:
  The number of pages is: \nbpagepdf{images.pdf} !
  %% Ok:
  \pdfximage{images.pdf}
  \foreach \ov in {1,...,\the\pdflastximagepages}{
    \includegraphics<\ov>[page=\ov]{images.pdf}
  }
  %% Not ok:
  \foreach \ov in {1,...,\nbpagepdf{images.pdf}}{
    \includegraphics<\ov>[page=\ov]{images.pdf}
  }
\end{frame}
\end{document}

错误:

ERROR: Missing number, treated as zero.

--- TeX said ---
<to be read again> 
                   \pdfximage 
l.10   }

答案1

定义一个合适的宏,首先执行\pdfximage

\documentclass{beamer}
\usepackage{tikz}

\newcommand{\includepdfpages}[1]{%
  \pdfximage{#1}%
  \foreach \ov in {1,...,\the\pdflastximagepages}{%
    \includegraphics<\ov>[page=\ov]{#1}%
  }%
}

\begin{document}
\begin{frame}
  \includepdfpages{tobiasimages.pdf}
\end{frame}
\end{document}

该文件有十张图像,结果如下:

在此处输入图片描述

相关内容