表格中图像/图形的定位

表格中图像/图形的定位

我需要创建一个表格,其中一列中的单元格是图像,而不是文本。

这是我正在使用的代码:

\begin{table}[hbtp]
\centering
\begin{tabu} to \textwidth {|c|c|c|c|}
    \hline
    \textbf{Motif}                                                                                                             & \textbf{\textit{P}-value} & \textbf{Rank} & \textbf{Match} \\ \hline
    \includegraphics[width=0.4\linewidth,height=\textheight,keepaspectratio]{../Img/05Core/Motif1} & 1E-27                     & 1             & TF1                    \\ \hline
    \includegraphics[width=0.4\linewidth,height=\textheight,keepaspectratio]{../Img/05Core/Motif2} & 1E-25                     & 2             & TF2                    \\ \hline
    \includegraphics[width=0.4\linewidth,height=\textheight,keepaspectratio]{../Img/05Core/Motif3} & 1E-23                     & 3             & TF3                    \\ \hline
\end{tabu}
\caption{Significantly enriched motifs retrieved.}
\label{tab:Motifs}
\end{table}

现在,我使用的图像是裁剪的 PDF 文件,因此我需要在每个单元格内为它们周围留出一些白色边距。事实证明,上面的代码会自动在图片的左侧、右侧和下方创建一些填充,但其顶部的边界与单元格的上限重叠,如下所示:

在此处输入图片描述

如何将图片置于单元格的中心,以使其与单元格的顶部和底部具有相同的边距?

另外,如何将其他单元格中的文本与单元格中间对齐?

答案1

尝试这样的操作:

\documentclass{article}

\usepackage[demo]{graphicx} % the option demo is used for the example, remove it
\usepackage{tabu}

\begin{document}
\begin{table}[hbtp]
\centering
\tabulinesep=\tabcolsep
\begin{tabu} to \textwidth {|X[4,c,m]|X[1,c,m]|X[0.75,c,m]|X[1.25,c,m]|}
    \hline
    \textbf{Motif}                                                           & \textbf{\textit{P}-value} & \textbf{Rank} & \textbf{Match} \\ \hline
    \includegraphics[width=\linewidth,keepaspectratio]{../Img/05Core/Motif1} & 1E-27                     & 1             & TF1            \\ \hline
    \includegraphics[width=\linewidth,keepaspectratio]{../Img/05Core/Motif2} & 1E-25                     & 2             & TF2            \\ \hline
    \includegraphics[width=\linewidth,keepaspectratio]{../Img/05Core/Motif3} & 1E-23                     & 3             & TF3            \\ \hline
\end{tabu}
\caption{Significantly enriched motifs retrieved.}
\label{tab:Motifs}
\end{table}
\end{document} 

输出:

在此处输入图片描述

单元格中的垂直空间是通过设置的(在这种情况下与列分隔空间\tabulinesep相同)。\tabcolsep

如果你需要更多空间,你可以添加一些发行

\addtolength{\tabcolsep}{5pt}

就在之前

\tabulinesep=\tabcolsep

答案2

更高级的场景是tabu(不是taboo)。

\documentclass[preview,border=12pt,varwidth]{standalone}% change it back to your own document class

\usepackage[demo]{graphicx} % the option demo is used for the example, remove it
\graphicspath{{../Img/05Core/}}
\usepackage{tabu,mathtools,tikz}

\begin{document}
\begin{table}[hbtp]
\centering
\tabulinesep=\tabcolsep
\begin{tabu} to \textwidth {|X[4,c,m]|X[1,c,m]|X[0.75,c,m]|X[1.25,c,m]|}
    \hline
    \textbf{Motif}                                                           & \textbf{\textit{P}-value} & \textbf{Rank} & \textbf{Match} \\ \hline
    \[\int_a^b f(x)\,\textrm{d}x=F(b)-F(a) \] & 1E-27                     & 1             & TF1            \\ \hline
    \includegraphics[height=4cm,keepaspectratio]{Motif2} & 1E-25                     & 2             & TF2            \\ \hline
    \[\begin{pmatrix} 1& 2& 3\\ 4 & 5 & 6\\ 7 &8 &9 \end{pmatrix}\] & 1E-23                     & 3             & TF3            \\ \hline
    \[\begin{aligned} a+b+c &= d+e+f\\ pV &= nRT\\ \gamma +\alpha-\beta &=0 \end{aligned}\] & 1E-23                     & 3             & TF3            \\ \hline
        \begin{tikzpicture} \draw[red] (0,0) circle (2) ;\end{tikzpicture}& 1E-23                     & 3             & TF3            \\ \hline
\end{tabu}
\caption{Significantly enriched motifs retrieved.}
\label{tab:Motifs}
\end{table}
\end{document} 

在此处输入图片描述

相关内容