animateinlineでの固定点の移動

animateinlineでの固定点の移動

- Nomura Masataka の投稿
返信数: 0
下に示すようなファイルをpdflatexでタイプセットし,作成したPDFを手元にあるAdobe Acrobat DC(2015)で表示させると,定点であるはずの点が移動して図が拡大したり縮小したりする状態になってしまいます.参考までにPDFを添付します.
何が問題なのでしょうか.

This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/W32TeX) (preloaded format=pdflatex 2017.4.29) 19 MAY 2020 16:05

%#! pdflatex
\documentclass{article}
\usepackage{animate}
\usepackage{fp}
\usepackage{tikz}
\usetikzlibrary{through}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\usetikzlibrary{fillbetween}
\begin{document}
\centering
\begin{animateinline}[autoplay,loop]{20}
\multiframe{135}{iAngle=0+1}{%
\begin{tikzpicture}[scale=1]
\draw[dash pattern=on 8pt off 2pt on 2pt off 2pt]
(0,0)--(2.3125,0.9499) arc(22.331645:82.81924421:25mm)--cycle;
\draw[dash pattern=on 8pt off 2pt on 2pt off 2pt]
(2,0)--(3.0625,1.6944) arc(57.91004874:135.9513743:20mm)--cycle;
\draw(0.5,-0.2) \foreach \x in {0.7,0.9,...,1.5} {--(\x,0) (\x,-0.2)};

\FPset{\Angle0}{73.7794196};
\ifnum\iAngle<57
\FPeval\Angle{\Angle0-\iAngle*0.9};
\else
\ifnum\iAngle<124
\FPeval\Angle{\Angle0+(\iAngle-114)*0.9};
\else
\FPeval\Angle{\Angle0+(134-\iAngle)*0.9};
\fi
\fi
\ifnum\iAngle=0
\FPeval\Angle{\Angle0};
\fi
\ifnum\iAngle=57
\FPeval\Angle{22.332};
\fi
\ifnum\iAngle=124
\FPeval\Angle{82.819};
\fi
% \typeout{Angle=\iAngle,\Angle};
% \draw(0,-1) node{\iAngle};
\coordinate(O1) at (0,0);
\coordinate(O4) at (2,0) ;
\coordinate(O2) at (\Angle:25mm);
\path[name path=C1](O2) circle(10mm);
\path[name path=C2]($(O4)-(2,0)$) arc(180:55:20mm);
\path[name intersections={of= C1 and C2, by={O31,O32}}];
\ifnum\iAngle=57
\path[name intersections={of= C1 and C2, by={O31}}];
\fi
\ifnum\iAngle<28
\coordinate(O3) at (O32);
\else
\ifnum\iAngle<58
\coordinate(O3) at (O31);
\else
\ifnum\iAngle<87
\coordinate(O3) at (O32);
\else
\ifnum\iAngle<124
\coordinate(O3) at (O31);
\else
\coordinate(O3) at (O32);
\fi
\fi
\fi
\fi
\draw[very thick] (O1)--(O2) (O2)--(O3) (O3)--(O4) (O4)--(O1);
\fill[red] (O1) circle (2pt);
\fill[red] (O4) circle (2pt);
\end{tikzpicture}}
\end{animateinline}
\end{document}