PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler: Undefined control sequence \pdfmark



Magger
21-09-2011, 15:21
Hallo, ich bin mal wieder ratlos.

Folgendes Minimalbeispiel produziert bei mir einen Fehler, unabhängig davon, ob das Video als Datei existiert oder nicht.


\documentclass{beamer}

\usepackage{multimedia}

\begin{document}

\begin{frame}{Video}
\movie{Video}{video.avi}
\end{frame}

\end{document}


Der Fehler lautet:

! Undefined control sequence.
<argument> \pdfmark
[{\box \@tempboxa }]{pdfmark=/ANN,Subtype=/Movie,Movie=<...


Ich benutzte MiKTeX 2.9 unter Windows XP. Ich bin mir sicher, dass es vorher mal ohne Probleme funktioniert hat, aber ein seit irgendeinem MiKTeX-Update wahrscheinlich nicht mehr.

Im pdf erscheint statt des Videos der Text:

[Video]pdfmark=/ANN,Subtype=/Movie,Movie=<< /F (video.avi)
>>,Annotations=<< >>,T=(mmdefaultlabel1), Border=0 0 0

u_fischer
21-09-2011, 16:25
Es kann sein, dass sowas vor vielen Jahren mal funktioniert hat, aber ich habe starke Zweifel, dass es in jüngster Zeit ging. Die Option pdfmark (die dann \pdfmark definieren würde) wird von hyperref eigentlich nur im dvi-Modus akzeptiert. Außerdem ist hyperref schon längst geladen, bevor multimedia sich überhaupt einmischen kann.

Die Styledatei nennt u.a. Joseph Wright als Verantwortlichen, den kannst du ja mal anschreiben (e-Mail siehe z.B. Dokumentation von siunitx).

Magger
21-09-2011, 17:38
Hallo Ulrike,

laut beameruserguide Version 3.11 ist mein Quelltext aber absolut in Ordnung.

Ich bin mir auch absolut sicher, dass das Ganze nicht vor Jahren, sondern vor vier Wochen noch problemlos funktioniert hat.

u_fischer
21-09-2011, 18:23
Ah. Ich sehe. Ich habe mal eine ältere multimedia.sty-Version aufgetrieben.

Dort steht


\ifnum\pdfoutput=0
\let\mm@psorpdf\@firstoftwo
\PassOptionsToPackage{pdfmark}{hyperref}
\define@key{PDF}{Movie}{\pdf@addtoks{#1}{Movie}}
\define@key{PDF}{T}{\pdf@addtoks{#1}{T}}
\define@key{PDF}{Annotations}{\pdf@addtoks{#1}{A}}
\else
\let\mm@psorpdf\@secondoftwo
\fi


In der neuen wurde daraus:


\ifpdf
\let\mm@psorpdf\@firstoftwo
\PassOptionsToPackage{pdfmark}{hyperref}
\define@key{PDF}{Movie}{\pdf@addtoks{#1}{Movie}}
\define@key{PDF}{T}{\pdf@addtoks{#1}{T}}
\define@key{PDF}{Annotations}{\pdf@addtoks{#1}{A}}
\else
\let\mm@psorpdf\@secondoftwo
\fi


Das ist genau falsch herum. Die Zweige sind vertauscht. Das müsste so heißen.



\ifpdf
\let\mm@psorpdf\@secondoftwo
\else
\let\mm@psorpdf\@firstoftwo
\PassOptionsToPackage{pdfmark}{hyperref}
\define@key{PDF}{Movie}{\pdf@addtoks{#1}{Movie}}
\define@key{PDF}{T}{\pdf@addtoks{#1}{T}}
\define@key{PDF}{Annotations}{\pdf@addtoks{#1}{A}}
\fi



Das ist ein Bug. Schreib Joseph.

Magger
21-09-2011, 20:46
Danke Ulrike, du bist klasse.

PS: Eine eMail an Joseph Wright ist raus.

Magger
22-09-2011, 08:10
Update: Antwort von Joseph


Thank you for the bug report. I have fixed this in the development code,
and have submitted v3.12 to CTAN.