为什么在表格行中添加颜色会增加高度?

为什么在表格行中添加颜色会增加高度?

我正在尝试制作一个包含表格的投影仪幻灯片,其中一行文本采用不同的颜色样式。但是,与默认设置相比,当使用颜色时,行高会增加。如果我使用该\rowfont命令,也会出现同样的问题。我该如何纠正这个问题?

\PassOptionsToPackage{table}{xcolor}
\documentclass[compress]{beamer}

\begin{document}
\begin{frame}
    Example 1
    \rowcolors{1}{gray!30}{blue!30}
    \begin{tabular}{|p{0.5\textwidth}|}
        \hline
        \color{blue}{Foo} \\
        Bar\\
        Baz\\
        \hline
    \end{tabular}\\[1in]

    Example 2
    \rowcolors{1}{gray!30}{blue!30}
    \begin{tabular}{|p{0.5\textwidth}|}
        \hline
        Foo \\
        Bar\\
        Baz\\
        \hline
    \end{tabular}
\end{frame}
\end{document}

在此处输入图片描述

我希望表格看起来像“示例 2”,但行文本的颜色与“示例 1”一样。

答案1

使用textcolor

\PassOptionsToPackage{table}{xcolor}
\documentclass[compress]{beamer}

\begin{document}
\begin{frame}

    Example 1
    \rowcolors{1}{gray!30}{blue!30}
    \begin{tabular}{|p{0.5\textwidth}|}
        \hline
        \textcolor{blue}{Foo} \\
        Bar\\
        Baz\\
        \hline
    \end{tabular}\\[1in]

    Example 2
    \rowcolors{1}{gray!30}{blue!30}
    \begin{tabular}{|p{0.5\textwidth}|}
        \hline
        Foo \\
        Bar\\
        Baz\\
        \hline
    \end{tabular}
\end{frame}
\end{document}

在此处输入图片描述

答案2

使用,您{NiceTabular}可以nicematrix直接获得预期的输出。

\documentclass[compress]{beamer}
\usepackage{nicematrix}

\begin{document}
\begin{frame}
\begin{NiceTabular}{|p{0.5\textwidth}|}
\CodeBefore
  \rowcolors{1}{gray!30}{blue!30}
\Body
  \hline
  \color{blue}{Foo} \\
  Bar\\
  Baz\\
  \hline
\end{NiceTabular}
\end{frame}
\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容