在 Latex 文档中嵌入 PDF 动画

在 Latex 文档中嵌入 PDF 动画

我用 latex 创建了一个动画。我使用或\usepackage{animate}将此 PDF 动画添加到另一个 latex 文件中,但在新文件中不可见。\includegraphics{}\includepdf{}

这是我的代码的简化示例:

\documentclass[landscape,a4paper]{article}
\usepackage{animate}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
%\usepackage{xepersian}
%\setlatintexfont[scale=1.0]{Times New Roman}
\begin{document}
\begin{animateinline}[controls,poster=first,loop]{1}

\begin{tikzpicture}
\draw (0,0) rectangle (4,5);
\end{tikzpicture}

\newframe
\begin{tikzpicture}
\draw (1,1) rectangle (3,6);
\end{tikzpicture}

%...

\end{animateinline}
\end{document}

我的问题只是“将 PDF 动画嵌入另一个 latex 文档”。您要求使用最少的代码,所以我为您编写了一个简单的代码。这不是 XY 问题。上述代码的结果是一个 PDF 文件。我想将此文件添加到我的下一个文件中。第二个文件有 \usepackage{xepersian}。我添加了这三行无效的行来向您展示在我的最终文件中使用动画代码的错误。

\documentclass{article}
\usepackage{pdfpages}
\usepackage{xepersian}
\settexfont[scale=1.0]{Yas}

\begin{document}
\includepdf{BC.pdf}
\end{document}

实际上这是我的第二个代码。当我用第一个代码的最终文件 (BC.pdf) 运行第二个代码时,我得到了一张白纸。但如果我替换另一个 PDF 文件,就会得到结果。

答案1

这是一↗XY问题

  • 次要的,Y问题:将带有生成的动画的 PDF 嵌入 animate到另一个文档中,以尝试解决实际问题X以下。

    回答:

    所包含 PDF 中的任何交互功能(例如animate生成的动画)都会丢失。hyperref生成的链接和书签、PDF 图层、嵌入文件、多媒体等也会丢失。

    要传输动画,只需将构建动画的原始代码复制到目标文档的 LaTeX 源中。

  • 实际的,X问题:一个文档使用了包animate并且xepersian同时无法编译,但是产生了错误:

    Package ifthen Error: Boolean @anim@morejs undefined.
    

解决原文问题十

您应该使用最新的 TeX 安装和软件包。使用 TeXLive 2017 (frozen 1 ),在同一文档中使用animate和时出现问题:xepersian

在此处输入图片描述

(我放Yas.ttf进入当前目录进行编译xelatex

\documentclass{article}
\usepackage[landscape,a6paper]{geometry}

\usepackage{animate}
\usepackage{tikz}

\usepackage{xepersian}
\settextfont{Yas.ttf}

\begin{document}\Huge\centering
این طرحنما میآزماید نگاره و اندازه و شکل را

\begin{animateinline}[controls,poster=first,loop]{1}
\begin{tikzpicture}
  \node[draw,fill=red] {1};
\end{tikzpicture}
\newframe
\begin{tikzpicture}
  \node[draw,fill=green] {2};
\end{tikzpicture}
\newframe
\begin{tikzpicture}
  \node[draw,fill=blue] {3};
\end{tikzpicture}
\end{animateinline}
\end{document}

1自 2018 年 3 月 5 日起,TeXLive-2017 不再获得软件包更新;已安装软件包的版本可能落后于加拿大运输安全局。TeXLive-2018 将于2018 年 4 月 30 日,允许用户tlmgr再次通过其软件包管理器更新软件包,可以通过命令行 ( tlmgr update --self --all) 或图形用户界面进行。软件包更新是手动启动的,应定期进行,以利用已安装软件包的错误修复和新功能以及 CTAN 上出现的新软件包。

相关内容