[Tex/LaTex] LaTeX beamer: Align text in the bottom of a frame and cut too long text at the top

beamervertical alignment

I would like to align everything of an in steps appearing text on a LaTeX beamer frame on its bottom and if there is to much text so that it would not fit on the frame just cut it at the top. The last lines should be always shown. I guess that it is possible with some box tricks, but I cannot find the solution.

I have tried things like

\documentclass{beamer}
\begin{document}
\begin{frame}[<+->]
\begin{minipage}[t][\textheight]{\textwidth}
\vfill

test a\par\pause
test b\par\pause
test c\par\pause
test d\par\pause
test e\par\pause
test f\par\pause
test g\par\pause
test h\par\pause
test i\par\pause
test j\par\pause
\end{minipage}
\end{frame}
\end{document}

But there are two problems with this:

First of all, because of the usage of \pause it does not align everything on the bottom but just such that the last page is really bottom aligned (It works with \only<1->, \only<2-> etc.) but I cannot use this because I want an extra command (defined by \newcommand) to display "test …" in a special formatting defined by its contents and I do not know which number i I am currently at to use in

\only<i->

).

And the second one is that it does not cut off at the top then there are to many lines to display.

I would be very grateful for some help.

Best Answer

If I understand you correctly you just want to use a [b] aligned minipage instead of [t].

enter image description here

\documentclass{beamer}
\begin{document}
\begin{frame}[<+->]
\noindent
\begin{minipage}[b][\textheight]{\textwidth}


test a\par\pause
test b\par\pause
test c\par\pause
test d\par\pause
test e\par\pause
test f\par\pause
test g\par\pause
test h\par\pause
test i\par\pause
test j\par\pause
test k\par\pause
test l\par\pause
test m\par\pause
test n\par\pause
test o\par\pause
test p\par\pause
test q\par\pause
test r\par\pause
test s\par\pause
test t\par\pause
test u\par\pause
test v\par\pause
test w\par\pause
\end{minipage}
\vskip-5pt
\end{frame}
\end{document}
Related Question