使用表格和覆盖时有额外空间

使用表格和覆盖时有额外空间

我正在尝试制作一个简单的动画,将表格的行从普通文本更改为粗体文本。我尝试使用 \only 和 \alt 来实现,但最终在行首出现了一个额外的空格。

我的问题是:有没有办法将覆盖应用于整行而不留出多余的空间?

到目前为止我有以下代码:

\begin{tabular}{l l}
  \hline
  Foo & Bar\\
  \hline
  \alt<2>{
    \textbf{Foo} & \textbf{Bar}\\
  }{
    Foo & Bar\\
  }
  Foo & Bar\\
  \hline
\end{tabular}

结果如下: 带有额外空格的表格(时间 1) 带有额外空格的表格(时间 2)

答案1

您在代码中添加了新行,从而引入了一些虚假空间。只需删除新行或%在末尾使用即可。这里的问题在于您的第七行代码。

% arara: pdflatex

\documentclass{beamer}
\usepackage{booktabs}

\begin{document}
\begin{frame}
    \begin{tabular}{ll}
        \toprule
        Foo & Bar\\
        \midrule
        \alt<2>{\textbf{Foo} & \textbf{Bar}
        }{% % you had an extra space here introduced by the new line of code. Write it on one line or add an % at the end of it. 
        Foo & Bar}\\
        Foo & Bar\\
        \bottomrule
    \end{tabular}
\end{frame}
\end{document}

在此处输入图片描述


除此之外,我建议使用\begin{tabular}{*{2}{p{.585cm}}}。这样,你的“动画”效果会更好……

% arara: pdflatex

\documentclass{beamer}
\usepackage{booktabs}

\begin{document}
\begin{frame}
    \begin{tabular}{*{2}{p{.585cm}}}\toprule
        Foo & Bar\\\midrule
        \alt<2>{\textbf{Foo} & \textbf{Bar}}{Foo & Bar}\\
        Foo & Bar\\\bottomrule
    \end{tabular}

    \begin{tabular}{*{2}{l}}\toprule
        Foo & Bar\\\midrule
        \alt<2>{\textbf{Foo} & \textbf{Bar}}{Foo & Bar}\\
        Foo & Bar\\\bottomrule
    \end{tabular}
\end{frame}
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容