10

When using the beamer \visible command inside a tabular environment, beamer adds an extra vertical space before the text. For example, in the following code, beamer adds an empty line before the word World in the second row. Can this be avoided?

\documentclass{beamer}
\begin{document}
\begin{frame}
  \begin{tabular}{|p{1cm}|p{1cm}|}
    \hline
    1 & Hello World \\
    \hline
    2 & \visible<2->{Hello World} \\
    \hline
  \end{tabular}
\end{frame}
\end{document}
David Carlisle
  • 757,742
haggai_e
  • 456

1 Answers1

14

The solution to this problem is to put

\hspace{0pt}

just before the \visible command.

When I discussed this with David Carlisle in chat he said:

because you should never try to do anything fancy as the first thing in a table cell, I don't know exactly what visible does but tex is in a rather unstable state at that position.

So that's about as good an explanation as one can get without looking very deeply into the code.

Percusse (who also had the same idea) credits it to this question: Why does babel not work in Tikz?

Alan Munn
  • 218,180
  • @haggai_e If, like me, you're lazy and want to save on key strokes, you can use ${}$ in place of \hspace{0pt} in this case. – Daniel Harbour Jun 10 '12 at 07:16