Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm trying to embed movies in my document. That would normally mean use the movie15 package but since I'm also using the xetex engine I have to use movie15_dvipdfmx. (See “ Can XeLaTeX | LuaTeX import movies ? ”)

Here's a sample file.

\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}

See “Generating PDF Animations with LaTeX” for the tutorial and movie file.

Compiling this gives me these errors:

! 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.

Just those four errors, two at \begin{document} and two at \end{document}. Thing is, if you open the pdf in a suitably capable reader (like Acrobat Pro or Reader), the animation does work.

I googled the error message but I didn't get anything useful. Any clues?

share|improve this question

2 Answers 2

up vote 5 down vote accepted

movie15_dvipdfmx defines for xetex a dummy \pdfmdfivesum such that it needs the file keyword (in pdftex file is optional). rerunfilecheck.sty loaded by hyperref now tries to use \pdfmdfivesum without the file keyword and fails. You can load rerunfilecheck before movie15_dvipdfmx to avoid the error, but it would be much better if movie15_dvipdfmx would find a saner solution.

share|improve this answer
    
Works like a charm, thanks! –  Matthew Leingang Apr 11 '11 at 12:05

The problem is that the package defines \pdfmdfivesum, a primitive which is provided by pdftex, by itself if it not defined yet. The used definition is \def\pdfmdfivesum file #1{#1}, but the file is actually marked optional in the pdftex manual! On solution would be to not redefine and use \pdfmdfivesum but use a replacement macro for it, e.g:

replace this code in the movie15_dvipdfmx package:

 \ifx\@undefined\pdfmdfivesum
  \def\pdfmdfivesum file #1{#1}
 \fi

with:

 \ifx\@undefined\pdfmdfivesum
  \def\@pdfmdfivesum file #1{#1}
\else
  \let\@pdfmdfivesum\pdfmdfivesum
 \fi

and replace all usages of \pdfmdfivesum file with \@pdfmdfivesum file.

I still get then an error:

** WARNING ** Could not open file: Circle-m-increase3.mp4
** WARNING ** Interpreting special command fstream (pdf:) failed.
...

but I think that is a different thing. I downloaded the MP4 file.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.