1 动画 SVG ( animate [2018/11/20])

1 动画 SVG ( animate [2018/11/20])
  • 考虑以下最小工作示例。
  • 拥有 pdf 格式的动画真是太棒了。
  • 但有时能够出口把它变成动画 gif 或者其他(swf、视频文件、svg?)。
  • 我如何实现这个目标?
  • 注意:我经常将动画与 pgfplots 结合起来。

\documentclass{article}

\usepackage{animate}

\usepackage[active,tightpage]{preview}
\PreviewEnvironment{animateinline}

\begin{document}

\begin{center}
\fboxsep1mm
    \begin{animateinline}[autoplay,loop]{2}
    a
    \newframe    
    b
    \newframe  
    c                 
    \end{animateinline}
\end{center}

\end{document}

评论

动画并非在所有 PDF 查看器中都可见。它肯定适用于当前Adobe Reader

答案1

1 动画 SVG ( animate [2018/11/20])

  • 适合包含在网页中(或单独查看,也可以在移动设备上查看)
  • 可自由缩放(矢量图形)
  • 依赖于 M. Gieseking 的dvisvgm输出驱动程序/实用程序(可在 TeXLive 和 MikTeX 中使用)

  • 编译

    latex myAnim.tex % or lualatex --output-format=dvi or xelatex --no-pdf
    dvisvgm --exact --font-format=woff --zoom=-1 myAnim.dvi % or myAnim.xdv
    

myAnim.tex

    \documentclass[dvisvgm,12pt]{article}
    \usepackage{animate}
    \pagestyle{empty}

    \begin{document}\Huge
    \begin{center}

      \begin{animateinline}[controls,buttonsize=0.5em,autoplay,loop]{2}
        \multiframe{10}{i=0+1}{
          \framebox[1em]{\i}
        }
        \newframe
          \framebox[1em]{A}
        \newframe
          \framebox[1em]{B}
        \newframe
          \framebox[1em]{C}
        \newframe
          \framebox[1em]{D}
        \newframe
          \framebox[1em]{E}
        \newframe
          \framebox[1em]{F}
      \end{animateinline}

    \end{center}
    \end{document}
  • <object>使用标签嵌入到 HTML 中

    <object type="image/svg+xml" data="myAnim.svg">
      <!-- fallback & search engine indexing -->
      <img src="myAnim.svg" />
    </object>
    
  • Chromium Web 浏览器及其衍生浏览器(Chrome、Opera 等)拥有迄今为止最佳的渲染性能,可以通过以下方式测试:洛伦兹吸引子示例

2 导出为多页 PDF ( animate [2018/08/22])

自版本起[2018/08/22]animate具有包选项export,与standalone文档类,例如:

\documentclass[export]{standalone}
\usepackage{animate}

或者

\documentclass{standalone}
\usepackage[export]{animate}

动画帧作为多页文档的单独页面输出,适合使用外部程序(例如来自 ImageMagick.org 的程序)转换为其他文件格式,例如动画 GIF convert

convert -density 300 -delay 4 -loop 0 -alpha remove multipage.pdf animated.gif

以每秒 100/4=25 帧的速度创建动画 GIF。

答案2

可以使用 wolfram 脚本和 latexalpha2wlua.sty (windows、pdflatex、lualatex) 制作动画 GIF

https://tex.stackexchange.com/a/579254/161015以获得完整的答案。

s

\documentclass{standalone}
\RequirePackage[cache]{latexalpha2wlua} % option cache (faster on the second run) or nocache (recalculate always)

\begin{document}

Produce an animated GIF in current directory 

\newcommand{\iplotx}{% 
    Animate[Plot3D[Sin[x*y +a], {x, 0, 6}, {y, 0, 6}], {a, 0, 4}]
}

\wolframonlygif{\iplotx}{animaxvi}  %#2 name of animated gif 
    
\end{document}

此外

(1)作为输出的一部分,动画 gif 将保留在当前目录中

(2)放在latexalpha2wlua.sty文档的同一目录下或者您的本地 texmf目录中。

相关内容