![如何在表格中使用 \animategraphics?](https://linux22.com/image/427719/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%A1%A8%E6%A0%BC%E4%B8%AD%E4%BD%BF%E7%94%A8%20%5Canimategraphics%EF%BC%9F.png)
(编辑)我尝试\animategraphics[]{}{}{}{}
在表格内使用该命令,准确地说是在\tabularx
表格中。
我已经成功运行了这个:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{animate}
\title{testing animate package}
\author{JeanValjean}
\date{January 2021}
\begin{document}
\maketitle
\section{Test}
\begin{figure}
\centering
\animategraphics[autoplay, loop, width=0.8\textwidth, controls, buttonfg=1:0.4:0.4]{20}{./images/MovingVertices/MovingVertices}{0}{79}
\end{figure}
\end{document}
因此,即使没有表格,它也能很好地工作。
但不在表格内:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{animate}
\title{testing animate package}
\author{JeanValjean}
\date{January 2021}
\begin{document}
\maketitle
\section{Test}
\begin{tabularx}{\textwidth}{@{}m{3cm} X@{}}
something & \animategraphics[autoplay, loop, width=0.8\textwidth, controls, buttonfg=1:0.4:0.4]{20}{./images/MovingVertices/MovingVertices}{0}{79} \\
something else & something else else\\
\end{tabularx}
\end{document}
出现此错误信息:
您引用了尚未标记的内容。如果您已经标记了它,请确保 \ref{...} 中写的内容与 \label{...} 中写的内容相同。
如果我删除表内的“\animategraphics[]{}{}{}{}”,如下所示:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{animate}
\title{testing animate package}
\author{JeanValjean}
\date{January 2021}
\begin{document}
\maketitle
\section{Test}
\begin{tabularx}{\textwidth}{@{}m{3cm} X@{}}
something & blabla \\
something else & something else else\\
\end{tabularx}
\end{document}
一切皆好。
我也尝试将我的环境包装\animatedgraphics[]{}{}{}{}
在figure
环境中,但正如我已经知道的那样,正如您所知,figure
环境在环境中无法很好地运行tabularx
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{animate}
\title{testing animate package}
\author{JeanValjean}
\date{January 2021}
\begin{document}
\maketitle
\section{Test}
\begin{tabularx}{\textwidth}{@{}m{3cm} X@{}}
something & \begin{figure}\animategraphics[autoplay, loop, width=0.8\textwidth, controls, buttonfg=1:0.4:0.4]{20}{./images/MovingVertices/MovingVertices}{0}{79}\end{figure}\\
something else & something else else\\
\end{tabularx}
\end{document}
导致此错误消息:
LaTeX 错误:不在外部模式中
未定义的控制序列。@xfloat ...@fltovf \fi \global \setbox @currbox \color@vbox \normalcolor ... l.20 \end{tabularx} 错误消息顶行末尾的控制序列从未被 \def'ed。如果您拼错了它(例如,
\hobx'), type
I' 和正确的拼写(例如,`I\hbox')。否则继续,我会忘记未定义的内容。缺少数字,视为零。\color@vbox l.20 \end{tabularx} 这里应该有一个数字;我
0'. (If you can't figure out why I needed to see a number, look up
在 The TeXbook 索引中插入了“奇怪的错误”。)在第 1 页上引用“anim@abspage2”,在输入行 20 上未定义。
存在未定义的引用。
有办法实现这个吗?
多谢
答案1
tabularx
有点奇怪,因为它可能会多次排版其内容以调整各个列的宽度。这可能会干扰表格中使用的标签和引用命令。(\animategraphics
内部使用此类命令。)
因此,为了避免出现问题,建议将其存储\animategraphics...
在表外的保存框中,然后稍后将保存框内容插入表中:
\newsavebox\myAnimation
...
\sbox{\animategraphics...}%
\begin{tabularx}...
...
\usebox{\myAnimation}
...
\end{tabularx}
答案2
我使用了我已经拥有的动画。
我没有发现编译过程中的任何错误tabularx
。
然而,动画不运行但与tabularx
配合使用效果很好tabular*
。(使用 AcrobatReader)
请用您的数据测试我的代码。我使用 Acrobat Reader 打开 pdf 文件并操作动画。
更新 随着tabularx
动画确实运行使用 FoxitReader。
一段时间后。
在另一个时间。
% !TeX TS-program = pdflatex
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{animate}
\usepackage{tabularx}
\title{testing animate package}
\author{JeanValjean}
\date{January 2021}
\begin{document}
%\maketitle
\newcommand{\shipi}{%
\animategraphics[%
autoplay,
loop,
controls,
buttonfg=1:0.4:0.4,
width=0.8\linewidth,
]
{3}{./animaxiv/frame-}{0}{59}
}
\section{Test animation does not work (tabularx)}
\begin{tabularx}{\textwidth}{@{}m{3cm} X@{}}
alpha &beta\\
gamma & \shipi
\end{tabularx}
\newpage
\section{Test animation works fine (tabular*) }
\begin{tabular*}{\textwidth}{@{}m{3cm} m{0.8\linewidth}@{}}
alpha &beta\\
gamma & \shipi
\end{tabular*}
\end{document}