アニメーションでテキストが「切り取られる」

アニメーションでテキストが「切り取られる」

LaTeX でテキストと数式 (画像なし) をアニメーション化したいと考えています。 アニメーション パッケージを試してみましたが、テキストの上部と下部が切り取られてしまうことがよくあります。

以下に最小限の例を示します。

\documentclass{article}
\usepackage{animate}

\begin{document}
\begin{animateinline}[autoplay,loop]{2}
\multiframe{10}{n=0+1}{
\n
}
\end{animateinline}
\end{document}

これを pdflatex でコンパイルし、結果を Adob​​e Reader XI で表示すると、数字 8 (ズーム @ 800%) のように、数字の上部と下部が切り取られます。

頭頂部が欠けているナンバー8の写真

これを防ぐ方法はありますか? それとも、animate パッケージはこの作業に適したツールではないのでしょうか?

答え1

TeX のグリフ ボックスは、グリフの実際の寸法よりも小さいことがよくあります。TeX がこのように設計されている理由はわかりません。グリフのクリッピングを回避するには、\strutテキストの前に a を配置します。私の知る限り、a の高さと深さの合計は、現在のフォント\strutの に等しくなります\baselineskip

\documentclass{article}
\usepackage{calc}
\newlength\mytotalheight

\begin{document}
\verb+\normalsize+:
\settototalheight\mytotalheight{\strut}\the\mytotalheight$=$\the\baselineskip

\verb+\huge:+\huge
\settototalheight\mytotalheight{\strut}\the\mytotalheight$=$\the\baselineskip
\end{document}

また、すべてのフレームで同じ幅のボックスにテキストを配置します。そうしないと、1 桁の数字で始まる場合、大きな数字が圧縮されてしまいます。

\documentclass{article}
\usepackage{animate}

\begin{document}
\begin{animateinline}[autoplay,loop]{2}
\multiframe{11}{n=0+1}{
\strut\makebox[2em][r]{\n}
}
\end{animateinline}
\end{document}

関連情報