表格行高、文字垂直居中及颜色

表格行高、文字垂直居中及颜色

所以我在下面的工作示例中有了表格。

我使用的解决方案是表格中的列和行填充但每个单元格内的文本仍然没有垂直居中……

此外,我想让它看起来更漂亮,就像Beamer 表格阴影但我似乎无法\rowcolors{1}{RoyalBlue!20}{RoyalBlue!5}在使用时将其包括在内\multicolumn,阴影也是如此。

\documentclass[ignorenonframetext, xcolor={dvipsnames,table}]{beamer}
\mode<presentation> {
\usetheme{Berkeley}
\usecolortheme{dolphin}

\usepackage{multirow}
\usepackage{pbox}
}

\begin{document}
\begin{frame}
\begin{center}
{\small
\begin{tabular}{l|c|c|c|}
    \multicolumn{1}{r}{}
        & \multicolumn{1}{c}{\textbf{\pbox{20cm}{Tissue-specific\\penetrance}}}
        & \multicolumn{1}{c}{\textbf{\pbox{20cm}{Ubiquitous\\penetrance}}}
        & \multicolumn{1}{c}{}\\
    \cline{2-4}
        \textbf{\pbox{20cm}{Tissue-specific\\expression}}
        & \textit{\pbox{20cm}{CLASS 1\\12 genes}}
        & \textit{\pbox{20cm}{CLASS 4\\8 genes}}
        & \textcolor{green!70!black}{20 genes}\\
    \cline{2-4}
        \textbf{\pbox{20cm}{Ubiquitous\\expression}}
        & \textit{\pbox{20cm}{CLASS 3\\32 genes}}
        & \textit{\pbox{20cm}{CLASS 2\\20 genes}}
        & \textcolor{pink}{52 genes}\\
    \cline{2-4}
    \cline{2-4}
        & \textcolor{red!70!black}{44 genes}
        & \textcolor{RoyalBlue}{28 genes}
        & \textbf{\pbox{20cm}{72 genes}}\\
    \cline{2-4}
\end{tabular}
}
\end{center}
\end{frame}
\end{document}

答案1

我建议使用“cals”表:

\documentclass[ignorenonframetext, xcolor={dvipsnames,table}]{beamer}
\mode<presentation> {
\usetheme{Berkeley}
\usecolortheme{dolphin}
}
\usepackage{cals}

\iffalse
\makeatletter
\let\olderow=\erow
\def\erow{\ht\cals@current@row=1.2cm \olderow}
\let\oldbrow=\brow
\def\browI{\oldbrow\def\cals@bgcolor{RoyalBlue!20}\let\brow=\browII}
\def\browII{\oldbrow\def\cals@bgcolor{RoyalBlue!5}\let\brow=\browI}
\let\brow=\browI
\fi

\begin{document}
\begin{frame}
\begin{center}
\small
\makeatletter
\begin{calstable}


\colwidths{{27mm}{27mm}{28mm}{20mm}}
\brow
\cell{}
\cell{\bfseries Tissue-specific\\penetrance}
\cell{\bfseries Ubiquitous\\penetrance}
\cell{}
\erow
\brow
\cell{\bfseries Tissue-specific\\expression}
\cell{CLASS 1\\12 genes}
\cell{CLASS 4\\8 genes}
\cell{\textcolor{green!70!black}{20 genes}}
\erow
\brow
\cell{\bfseries Ubiquitous\\expression}
\cell{CLASS 3\\32 genes}
\cell{CLASS 2\\20 genes}
\cell{\textcolor{pink}{52 genes}}
\erow
\brow
\cell{}
\cell{\textcolor{red!70!black}{44 genes}}
\cell{\textcolor{RoyalBlue}{28 genes}}
\cell{\bfseries 72 genes}
\erow
\end{calstable}
\end{center}
\end{frame}
\end{document}

即使没有调整,表格看起来也不错:

带桌子的幻灯片

如果您想尝试行颜色和高度,请将“iffalse”更改为“iftrue”。我没有使用阴影的经验,因此无法提出任何建议。

答案2

这有点像是介于你的问题的单元格中的无空间和 olpa 的答案中的空间之间的情况。

\documentclass[ignorenonframetext, xcolor={dvipsnames,table}]{beamer}
\mode<presentation> {
\usetheme{Berkeley}
\usecolortheme{dolphin}
\usepackage{multirow}
\usepackage[oldsyntax]{stackengine}
}
\begin{document}
\begin{frame}
\begin{center}
{\small
\Sstackgap=2pt%
\def\stackalignment{l}%
\begin{tabular}{l|c|c|c|}
    \multicolumn{1}{r}{}
        &\multicolumn{1}{c}{\textbf{\stackanchor[1pt]{Tissue-specific}{penetrance}}}
        & \multicolumn{1}{c}{\textbf{\stackanchor[1pt]{Ubiquitous}{penetrance}}}
        & \multicolumn{1}{c}{}\\
    \cline{2-4}
        \textbf{\stackanchor[1pt]{Tissue-specific}{expression}}
        & \textit{\stackanchor{CLASS 1}{12 genes}}
        & \textit{\stackanchor{CLASS 4}{8 genes}}
        & \textcolor{green!70!black}{20 genes}\\
    \cline{2-4}
        \textbf{\stackanchor[1pt]{Ubiquitous}{expression}}
        & \textit{\stackanchor{CLASS 3}{32 genes}}
        & \textit{\stackanchor{CLASS 2}{20 genes}}
        & \textcolor{pink}{52 genes}\\
    \cline{2-4}
    \cline{2-4}
        & \textcolor{red!70!black}{44 genes}
        & \textcolor{RoyalBlue}{28 genes}
        & \textbf{72 genes}\\
    \cline{2-4}
\end{tabular}
}
\end{center}
\end{frame}
\end{document}

在此处输入图片描述

[编辑:此 MWE 使用过时的 stackengine 语法来设置 stackgap 长度(例如,\Sstackgap=1ex),这阻止了可缩放长度在字体大小更改下缩放。该软件包的第 2 版(提交于 2013 年 7 月 11 日)通过小的语法更改解决了该问题。]

答案3

{NiceTabular}以下是使用创建该表的一种方法nicematrix

\documentclass[ignorenonframetext, xcolor={dvipsnames}]{beamer}
\mode<presentation> {
\usetheme{Berkeley}
\usecolortheme{dolphin}

\usepackage{multirow}
\usepackage{nicematrix}
}

\begin{document}
\begin{frame}
\begin{center}
\small
\begin{NiceTabular}{ccc}[first-row,first-col,hvlines,cell-space-limits=5pt]
        & \Block{}{Tissue-specific\\penetrance}
        & \Block{}{Ubiquitous\\penetrance} \\
        \Block{}{Tissue-specific\\expression}
        & \Block{}{CLASS 1\\12 genes}
        & \Block{}{CLASS 4\\8 genes}
        & \textcolor{green!70!black}{20 genes}\\
        \Block{}{Ubiquitous\\expression}
        & \Block{}{CLASS 3\\32 genes}
        & \Block{}{CLASS 2\\20 genes}
        & \color{pink} 52 genes \\
        & \color{red!70!black} 44 genes
        & \color{RoyalBlue} 28 genes
        & 72 genes \\
\end{NiceTabular}
\end{center}
\end{frame}
\end{document}

上述代码的输出

答案4

tabularray

\documentclass[ignorenonframetext, xcolor={dvipsnames}]{beamer}
\mode<presentation> {
\usetheme{Berkeley}
\usecolortheme{dolphin}

\usepackage{tabularray}
}

\begin{document}
\begin{frame}
\begin{center}
\small
\begin{tblr}{
  colspec={*4{Q[c,m]}},
  hline{2-Z}={2-Z}{solid},
  vline{2-Z}={2-Z}{solid},
  }
  & {Tissue-specific\\penetrance}
  & {Ubiquitous\\penetrance} \\
  {Tissue-specific\\expression}
    & {CLASS 1\\12 genes}
    & {CLASS 4\\8 genes}
    & \textcolor{green!70!black}{20 genes}\\
  {Ubiquitous\\expression}
    & {CLASS 3\\32 genes}
    & {CLASS 2\\20 genes}
    & \color{pink} 52 genes \\
  & \color{red!70!black} 44 genes
    & \color{RoyalBlue} 28 genes
    & 72 genes \\
\end{tblr}
\end{center}
\end{frame}
\end{document}

在此处输入图片描述

相关内容