几个月以来,我一直找不到通过按下一个字段中的按钮来更改图片的方法。使用文本如下:
\documentclass[a4paper]{article}
\usepackage{eforms}
\begin{insDLJS}[test]{test}{JavaScript}
function MakeArray(2){
this.length=n
return this
};
var text=new MakeArray(2);
text[0]='text111';
text[1]='text222';
this.getField("field").value=text[0];
\end{insDLJS}
%
\begin{document}
\textField[\BG{}\BC{}]{field}{80mm}{10mm}\\
\pushButton[\A{\JS{this.getField("field").value=text[1];}}]{myButton}{30mm}{15mm}\\
\pushButton[\A{\JS{this.getField("field").value=text[0];}}]{myButton}{30mm}{15mm}
\end{document}
但现在我想对图片做同样的事情,就像按下按钮改变图片一样。有没有类似:\pictureField[]{}{} 或类似的东西?
编辑
感谢您的回答,但问题出在 media9 包上。我已经使用最新的 l3kernel (2014/...) 完全更新了 lubuntu tex-live,其他 l3 包也是如此。它仍然会产生不同的错误,主要是:l3kernel 太旧,还有一些其他有趣的错误。找不到让 media9 运行的方法。所以很抱歉再次询问:在您的示例中,有没有办法做到这一点,但是没有媒体9包裹?
答案1
\documentclass{article}
\usepackage{animate,media9,graphicx,mwe}
\begin{document}
\begin{center}
\begin{animateinline}[nomouse,step,label=picfield]{0}
\includegraphics{example-image-a}
\newframe
\includegraphics{example-image-b}
\end{animateinline}
\mediabutton[jsaction={anim.picfield.frameNum=0;}]{\fbox{show (a)}}
\mediabutton[jsaction={anim.picfield.frameNum=1;}]{\fbox{show (b)}}
\end{center}
\end{document}
使用\PushButton
来自hyperref
:
\documentclass{article}
\usepackage{animate,graphicx,mwe}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\begin{center}
\begin{animateinline}[nomouse,step,label=picfield]{0}
\includegraphics{example-image-a}
\newframe
\includegraphics{example-image-b}
\end{animateinline}
\PushButton[onclick={anim.picfield.frameNum=0;}]{\strut show (a)}
\PushButton[onclick={anim.picfield.frameNum=1;}]{\strut show (b)}
\end{center}
\end{Form}
\end{document}