如何在表格单元格中垂直居中图像

如何在表格单元格中垂直居中图像

我正在尝试将图像放置在 4 列表格的第一列中。但是图像超出了顶部水平线。如何将图像设置在单元格的中心,以便正确显示顶部水平线?

以下是代码

\documentclass[a4paper]{article}
\begin{document}
\begin{tabular}{| c | c | c | c |}
\hline
\multicolumn{2}{|c|}{$a_{1}$} & \multicolumn{2}{|c|}{$a_{2}$} \\
\hline
col1 & col2 & col3 & col4 \\
\hline
\includegraphics[height=.2in]{./Figures2/paths/abc.jpg} & text & text & text\\
\hline
\includegraphics[height=.2in]{./Figures2/paths/abc.jpg} & text & text & text\\
\hline
\end{tabular}
\end{document}

图片:

在此处输入图片描述

输出:

在此处输入图片描述

使图像透明后: 在此处输入图片描述

答案1

cellspace包就是为此而做的。它定义了单元格内容与上下单元格之间的最小垂直距离。您所要做的就是在列限定符前加上字母S(或者C如果您已加载siunitx)。

为了使其他单元格保持垂直居中,我定义了一个\cincludegraphics命令。

我认为此代码可以生成您想要的结果:

\documentclass[a4paper]{article}
\usepackage{graphicx}
\usepackage{cellspace}
\setlength\cellspacetoplimit{4pt}
\setlength\cellspacebottomlimit{4pt}

\newcommand\cincludegraphics[2][]{\raisebox{-0.3\height}{\includegraphics[#1]{#2}}}

\begin{document}

\begin{tabular}{| Sc |c | c | c |}
  \hline
  \multicolumn{2}{|c|}{$a_{1}$} & \multicolumn{2}{c|}{$a_{2}$} \\
  \hline
  col1 & col2 & col3 & col4 \\
  \hline
  \cincludegraphics[height=.2in]{abc.jpg} & text & text & text \\
  \hline
  \cincludegraphics[height=.2in]{abc.jpg} & text & text & text \\
  \hline
\end{tabular}

\end{document} 

在此处输入图片描述

答案2

多年后……

使用adjustbox(也加载graphicx包)和tabularray表包:

\documentclass[a4paper]{article}
\usepackage[export]{adjustbox}
\usepackage{tabularray}


\begin{document}
    \begin{table}
    \centering
\begin{tblr}{hlines, vlines,
             colspec={*{4}{c}},
             row{1} ={mode=math},
             }
\SetCell[c=2]{c}    a_{1}
        &       &   \SetCell[c=2]{c}    a_{2}   
                    &               \\
col1    & col2  & col3  & col4      \\
\includegraphics[height=0.2in, width=1in, valign=m]{example-image} 
        & text  &   \includegraphics[height=0.2in, width=1in, valign=m]{example-image}
                    &   text        \\
\includegraphics[height=0.2in, width=1in, valign=m]{example-image}
        & text  &   \includegraphics[height=0.2in, width=1in, valign=m]{example-image}
                    &   text        \\
\end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

相关内容