\documentclass[11pt,a4paper,fleqn,final]{article}
%\usepackage{tikz}
\usepackage[tikz]{ocgx2}
\usepackage[dvipdfmx,loop,palindrome,autoplay]{animate}
\usepackage{chemfig}
\begin{document}
\begin{center}
\begin{animateinline}{1}
\setatomsep{3em}\chemfig{O=C=O}
\newframe
\setatomsep{2.5em}\chemfig{O=C=O}
\newframe
\setatomsep{2em}\chemfig{O=C=O}
\newframe
\setatomsep{1.5em}\chemfig{O=C=O}
\newframe
\setatomsep{1em}\chemfig{O=C=O}
\end{animateinline}
\end{center}
\end{document}
当我编译它时,我收到以下警告+页面上没有任何内容。
! Undefined control sequence.
<argument> \LaTeX3 error:
Erroneous variable \origin:pbs@obj16 used!
l.20 \end{animateinline}
“\newframe” 也是一样。我怀疑是 pdfbase.sty 引发了错误。
编辑:
\documentclass[dvipdfmx,11pt,a4paper,fleqn,final]{article}
\usepackage[loop,palindrome,autoplay]{animate}
\begin{document}
\begin{center}
\begin{animateinline}{1}
a
\newframe
b
\newframe
c
\newframe
d
\newframe
e
\end{animateinline}
\end{center}
\end{document}
答案1
驱动程序dvipdfmx
无法自动检测,必须作为选项传递给所有包含dvipdfmx
特定代码的软件包。在代码示例中,这些是animate
和ocgx2
(目前未使用)。(另一个流行的软件包是hyperref
。)
因此,驱动程序选项通常使用 documentclass 全局设置,如下所示:
\documentclass[dvipdfmx,11pt,a4paper,fleqn,final]{article}
%\usepackage{tikz}
\usepackage[tikz]{ocgx2}
\usepackage[loop,palindrome,autoplay]{animate}
\usepackage{chemfig}
\begin{document}
\begin{center}
\begin{animateinline}{1}
\setatomsep{3em}\chemfig{O=C=O}
\newframe
\setatomsep{2.5em}\chemfig{O=C=O}
\newframe
\setatomsep{2em}\chemfig{O=C=O}
\newframe
\setatomsep{1.5em}\chemfig{O=C=O}
\newframe
\setatomsep{1em}\chemfig{O=C=O}
\end{animateinline}
\end{center}
\end{document}
请注意,动画小部件的大小由第一帧的尺寸定义,后面的帧将被拉伸或压缩以适合此小部件。考虑将所有帧放入一个带有相同的预定义宽度以及\strut
垂直延伸框,例如
\makebox[8em][c]{\strut\setatomsep{3em}\chemfig{O=C=O}}