我正在尝试将电影嵌入到我的文档中。这通常意味着使用包movie15
,但由于我还使用 xetex 引擎,所以我必须使用movie15_dvipdfmx
。(参见“XeLaTeX | LuaTeX 可以导入电影吗?”)
这是一个示例文件。
\documentclass{article}
\usepackage[dvipdfmx]{movie15_dvipdfmx}
\usepackage{hyperref}
\begin{document}
Whispering-gallery mode in a quarter circle:
\begin{figure}[ht]
\includemovie[
poster,
text={\small(Loading Circle-m-increase3.mp4)}
]{6cm}{6cm}{Circle-m-increase3.mp4}
\end{figure}
\end{document}
编译这个给了我这些错误:
! Use of \pdfmdfivesum doesn't match its definition. \pdf@filemdfivesum {->\pdfmdfivesum file{ l.4 \begin{document} ? s OK, entering \scrollmode... ! Extra }, or forgotten \endgroup. \ReFiCh@Check ...#1\edef #2{\ReFiCh@CheckSum {#3}} \ifx #2\ReFiCh@Separator #... l.4 \begin{document} (/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/se-ascii-print.def) [1] (./movie_xetex.aux) ! Use of \pdfmdfivesum doesn't match its definition. \pdf@filemdfivesum {->\pdfmdfivesum file{ l.12 \end{document} ! Extra }, or forgotten \endgroup. \ReFiCh@Check ...#1\edef #2{\ReFiCh@CheckSum {#3}} \ifx #2\ReFiCh@Separator #... l.12 \end{document} ) (see the transcript file for additional information) Output written on movie_xetex.pdf (1 page). Transcript written on movie_xetex.log.
只是那四个错误,两个在\begin{document}
和两个在\end{document}
。问题是,如果你在功能合适的阅读器(如 Acrobat Pro 或 Reader)中打开 pdf,动画就会起作用。
我在 Google 上搜索了错误消息,但没有找到任何有用的信息。有什么线索吗?
答案1
movie15_dvipdfmx
为 xetex 定义一个虚拟函数,\pdfmdfivesum
这样它就需要file
关键字(在 pdftex 中file
是可选的)。hyperref rerunfilecheck.sty
加载的函数现在尝试\pdfmdfivesum
在没有file
关键字的情况下使用,结果失败了。您可以rerunfilecheck
在之前加载以避免出现错误,但如果能找到更明智的解决方案,movie15_dvipdfmx
那就更好了。movie15_dvipdfmx
答案2
问题在于包定义了,如果尚未定义,则由 本身\pdfmdfivesum
提供。使用的定义是,但手册中实际上将其标记为可选!一种解决方案是不重新定义和使用,而是使用替换宏,例如:pdftex
\def\pdfmdfivesum file #1{#1}
file
pdftex
\pdfmdfivesum
替换包中的以下代码movie15_dvipdfmx
:
\ifx\@undefined\pdfmdfivesum
\def\pdfmdfivesum file #1{#1}
\fi
和:
\ifx\@undefined\pdfmdfivesum
\def\@pdfmdfivesum file #1{#1}
\else
\let\@pdfmdfivesum\pdfmdfivesum
\fi
并将 的所有用法替换\pdfmdfivesum file
为\@pdfmdfivesum file
。
我仍然收到错误:
** WARNING ** Could not open file: Circle-m-increase3.mp4
** WARNING ** Interpreting special command fstream (pdf:) failed.
...
但我认为那是另一回事。我下载了 MP4 文件。