tabularx 中的中心图像

tabularx 中的中心图像

我正在准备一个演示文稿beamer,并且必须制作一个包含多行单元格的表格。因此,我正在使用环境tabularx,我的代码如下:

\documentclass{beamer}

\usepackage{tabularx}
\usepackage{graphicx}

\begin{document}
\begin{frame}{Title}

\newcommand{\tick}{%
\includegraphics[scale=0.2]{img/green-tick}%
}

\begingroup
\renewcommand*{\arraystretch}{2.0}
\begin{center}
\begin{tabularx}{0.95\textwidth}{|X|X|X|X|X|}

\hline
\centering\textbf{Column 1} &
\centering \textbf{Column 2} &
\centering \textbf{Column 3} &
\centering \textbf{Column 4} &
\textbf{Column 5}\\

\hline
Row 1\newline blah &
\tick &
\tick &
\tick & \\

\hline
Row 2 &
\tick &
&
\tick &
\tick\\

\hline
Row 3\newline blah &
\tick &
\tick &
&
\tick\\

\hline
Row 4 & 
&
\tick &
\tick &
\tick\\

\hline
Row 5 &
\tick &
\tick &
\tick &
\tick\\
\hline
\end{tabularx}
\end{center}
\endgroup
\end{frame}
\end{document}

结果是

在此处输入图片描述

我想要做的只是将图像置于各自的单元格的中心(水平和垂直方向)。

答案1

您可以设置X要使用的列类型,m而不是默认值p,并使用嵌套的垂直居中图像tabular

\documentclass{beamer}

\usepackage{tabularx}
\usepackage{graphicx}

\newcommand{\tick}{%
  %https://openclipart.org/image/2400px/svg_to_png/167549/Kliponious-green-tick.png
  \begin{tabular}{@{}c@{}}
  \includegraphics[width=.5cm]{Kliponious-green-tick.png}
  \end{tabular}%
}
\newcommand{\middlexcolumn}{%
  \renewcommand{\tabularxcolumn}[1]{m{##1}}%
}

\begin{document}
\begin{frame}{Title}

\begin{center}
\renewcommand*{\arraystretch}{2.0}
\middlexcolumn
\begin{tabularx}{0.95\textwidth}{%
  | *{4}{>{\centering}X|}
  >{\centering\arraybackslash}X|
}
\hline
\textbf{Column 1} &
\textbf{Column 2} &
\textbf{Column 3} &
\textbf{Column 4} &
\textbf{Column 5}\\

\hline
Row 1\\ blah &
\tick &
\tick &
\tick & \\

\hline
Row 2 &
\tick &
&
\tick &
\tick\\

\hline
Row 3\newline blah &
\tick &
\tick &
&
\tick\\

\hline
Row 4 & 
&
\tick &
\tick &
\tick\\

\hline
Row 5 &
\tick &
\tick &
\tick &
\tick\\
\hline
\end{tabularx}
\end{center}

\end{frame}
\end{document}

在此处输入图片描述

相关内容