media9
我在使用该包包含 3d 模型时遇到了一个奇怪的问题。
当我有一个
\includemedia
后跟一个\newpage
和两个或以上\includemedia
在下一页上,第一个\includemedia
在下一页上仍然可见(但不活动)。\includemedia
应该在该页面上的元素覆盖了上一页的元素。这种情况只发生在单页模式下(我认为)。当中间有一个页面(没有模型)时,没有问题。
以下是简化的代码:
\documentclass{article}
\usepackage[final,activate=pageopen,deactivate=pageclose,noplaybutton]{media9}
\begin{document}
\includemedia[
width=0.9\linewidth,
height=0.9\linewidth,
3Dviews=Parts/91292A058/91292A058.vws
]{}{Parts/91292A058/91292A058.u3d}
\newpage
%Uncomment this line and next. No problems now.
%\newpage
\includemedia[
width=0.3\linewidth,
height=0.3\linewidth,
3Dviews=Parts/91292A058/91292A058.vws
]{}{Parts/91292A058/91292A058.u3d}
\includemedia[
width=0.3\linewidth,
height=0.3\linewidth,
3Dviews=Parts/91292A058/91292A058.vws
]{}{Parts/91292A058/91292A058.u3d}
\end{document}
答案1
当前 AR-DC 似乎存在一个错误,导致无法在页面关闭事件中自动关闭 RichMedia 注释。
这是一个解决方法,通过 JavaScript 强制关闭 3D 内容:
(打开->分享LaTeX):
\documentclass{article}
\usepackage[final,activate=pageopen,noplaybutton]{media9}
% deactivate all RichMedia annots on the current page on page-close event
\begingroup
\edef\x{\endgroup
\pdfpageattr{
\the\pdfpageattr
/AA <<
/C <<
/S/JavaScript /JS(
var annotRichMedia=this.getAnnotsRichMedia(this.pageNum);
for(var i=0; i<annotRichMedia.length; i++){
annotRichMedia[i].activated=false;
}
)
>>
>>
}
}
\x
\begin{document}
\includemedia[%
width=0.9\linewidth,
height=0.9\linewidth,
3Droo=27
]{}{dice.u3d}
\newpage
\includemedia[
width=0.3\linewidth,
height=0.3\linewidth,
3Droo=27
]{}{dice.u3d}
\includemedia[
width=0.3\linewidth,
height=0.3\linewidth,
3Droo=27
]{}{dice.u3d}
\end{document}