我的表格如下:
左列将包含文字,就像现在这样,而在右列中,我想在每一行添加这些小图片(有些比这个大一些)。
但是我有两个问题,如从链接的图像中可以看出:
如何正确将第一列的文本居中?目前它有点被推到字段底部了。
如何将图像置于字段的中心?目前它被推到桌子的顶壁上。
我的代码如下:
\begin{table}[h]
\centering
\begin{tabular}{l|l}
\textbf{Verb} & \textbf{Example} \\ \hline
``goes-to'' & \includegraphics[scale=1]{images/appendix/B/1.png} \\ \hline
``walks-to'' & \\ \hline
``says to'' & \\ \hline
``chats to'' &
\end{tabular}
\caption{My caption}
\label{my-label}
\end{table}
答案1
这是一个带有一些垂直填充的解决方案。该cellspace
包就是为此而做的:它使用带有前缀的说明符在列中定义单元格顶部和底部的最小垂直间距S
。使用该makecell
包,您可以在单元格中设置换行符,从而允许在单个单元格中设置多个目标:
\documentclass{article}
\usepackage{cellspace, graphicx, makecell}
\renewcommand\cellspacetoplimit{3pt}
\renewcommand\cellspacebottomlimit{3pt}
\newcommand\rowincludegraphics[2][]{\raisebox{-0.45\height}{\includegraphics[#1]{#2}}}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{c|Sl}
\textbf{Verb} & \textbf{Example} \\ \hline
``goes-to'' & \rowincludegraphics[scale=0.1]{loupnorstein2} \\ \hline
``walks-to'' & \rowincludegraphics[scale=0.1]{loupnorstein2} \\ \hline
``says to'' & \rowincludegraphics[scale=0.1]{loupnorstein2} \\ \hline
``chats to'' & \makecell{\rowincludegraphics[scale=0.1]{loupnorstein2}\\[3.8ex]\rowincludegraphics[scale=0.1]{loupnorstein2}}
\end{tabular}
\caption{My caption}
\label{my-label}
\end{table}
\end{document}
答案2
您可以使用adjustbox
带有选项的包export
。这样,您将获得valign=
一个密钥\includegraphics
。valign=c
将执行您想要的操作。
\documentclass{article}
\usepackage[export]{adjustbox}
\usepackage{array}
\begin{document}
\begin{table}[h]
\centering
\setlength{\extrarowheight}{1em}
\begin{tabular}{c|l}
\textbf{Verb} & \textbf{Example} \\ \hline
``goes-to'' & \includegraphics[scale=0.1,valign=c]{example-image-a} \\[1em] \hline
``walks-to'' & \includegraphics[scale=0.1,valign=c]{example-image-a} \\[1em] \hline
``says to'' & \includegraphics[scale=0.1,valign=c]{example-image-a} \\[1em] \hline
``chats to'' &\includegraphics[scale=0.1,valign=c]{example-image-a}
\end{tabular}
\caption{My caption}
\label{my-label}
\end{table}
\end{document}