
Я хочу анимировать текст и уравнения (без картинок) в LaTeX. Я попробовал пакет animate, но обнаружил, что мой текст часто обрезается сверху и снизу.
Вот минимальный пример.
\documentclass{article}
\usepackage{animate}
\begin{document}
\begin{animateinline}[autoplay,loop]{2}
\multiframe{10}{n=0+1}{
\n
}
\end{animateinline}
\end{document}
Когда я компилирую его с помощью pdflatex и просматриваю результат в Adobe Reader XI, цифры обрезаются сверху и снизу, как вы можете видеть здесь на примере цифры 8 (масштаб 800%):
Есть ли способ предотвратить это? Или пакет animate не является подходящим инструментом для этой работы?
решение1
Глифовые поля TeX часто меньше реальных размеров глифов. Не знаю, почему TeX так спроектирован. Чтобы избежать обрезки глифов, поместите a \strut
перед текстом. Насколько мне известно, сумма высоты и глубины \strut
a равна \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}
Также поместите текст в поле одинаковой ширины для каждого кадра. В противном случае большие числа будут сжаты, если вы начнете с однозначного числа.
\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}