O texto é "cortado" na animação

O texto é "cortado" na animação

Quero animar textos e equações (sem imagens) em LaTeX. Experimentei o pacote animate, mas descobri que meu texto costuma ficar cortado na parte superior e inferior.

Aqui está um exemplo mínimo.

\documentclass{article}
\usepackage{animate}

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

Quando compilo com pdflatex e visualizo o resultado no Adobe Reader XI, os números ficam recortados na parte superior e inferior, como você pode ver aqui com o número 8 (zoom @ 800%):

Imagem do número 8 sem o topo da cabeça

Existe um método para evitar isso? Ou o pacote animado não é a ferramenta certa para este trabalho?

Responder1

As caixas de glifos do TeX são geralmente menores que as dimensões reais dos glifos. Não sei por que o TeX foi projetado assim. Para evitar o recorte dos glifos, coloque um \strutna frente do texto. Afaik, a soma da altura e profundidade de a \struté igual \baselineskipà fonte atual:

\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}

Coloque também o texto em uma caixa com a mesma largura para cada quadro. Caso contrário, números maiores ficarão comprimidos se você começar com um número de um único dígito.

\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}

informação relacionada