我想显示我对一些图像的测试。我想将其显示在表格中。因此表格有 3 列。第一列:数字第二列:图像第三列:句子
\begin{table}[!h]
\centering
\caption{Properties} \begin{tabular}{|c|c|c|}
\hline
1. & \begin{figure}[!h]
\begin{center}
\includegraphics[width=3.5cm, height=3.5cm]{EPS_Thesis_Farhat/Plat_sukses/B5IB.eps}
\end{center}
\end{figure} & sentence\tabularnewline
\hline
\end{tabular}
\label{Properties in Regionprops}
\end{table}
怎么做??
答案1
一些评论:
这里其实不需要浮动对象(如
figure
)。并且不允许嵌套浮动环境。默认情况下,如果使用
\includegraphics
,基线位于图像的底部;为了获得所需的垂直对齐,我使用了adjustbox
包及其\adjustbox
命令以及valign=c
选项。我用的是
booktabs
包以获得更好看的表格;特别是,不鼓励使用垂直规则(当然,这是可选的)。第一列的编号是借助计数器自动生成的。
如果第三列中的文本很长,也许你需要一个
>{\centering\arraybackslash}p{<length>}
列,而不仅仅是一
c
列。请不要将
[!h]
其用作浮动对象的放置说明符;这种限制太严格,可能会导致灾难。请使用限制较少的选项,或者最好根本不使用选项。
代码:
\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{adjustbox}
\usepackage{graphicx}
\newcounter{myrow}
\begin{document}
\begin{table}
\centering
\caption{Properties}
\label{Properties in Regionprops}
\begin{tabular}{>{\stepcounter{myrow}\themyrow.}ccc}
\toprule
&
\adjustbox{valign=c}{\includegraphics[width=3.5cm, height=3.5cm]{example-image-a}}
&
sentence \\[1.57cm]
\midrule
&
\adjustbox{valign=c}{\includegraphics[width=3.5cm, height=3.5cm]{example-image-b}}
&
sentence \\[1.57cm]
\midrule
&
\adjustbox{valign=c}{\includegraphics[width=3.5cm, height=3.5cm]{example-image-c}}
&
sentence \\[1.57cm]
\bottomrule
\end{tabular}
\end{table}
\end{document}
如果由于某种原因adjustbox
无法使用,您可以选择\raisebox
:
\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{graphicx}
\newcounter{myrow}
\newcommand\RaiseImage[2][scale=1]{%
\raisebox{-0.5\totalheight}{\includegraphics[#1]{#2}}}
\begin{document}
\begin{table}
\centering
\caption{Properties}
\label{Properties in Regionprops}
\begin{tabular}{>{\stepcounter{myrow}\themyrow.}ccc}
\toprule
&
\RaiseImage[width=3.5cm, height=3.5cm]{example-image-a}
&
sentence \\[1.57cm]
\midrule
&
\RaiseImage[width=3.5cm, height=3.5cm]{example-image-b}
&
sentence \\[1.57cm]
\midrule
&
\RaiseImage[width=3.5cm, height=3.5cm]{example-image-c}
&
sentence \\[1.57cm]
\bottomrule
\end{tabular}
\end{table}
\end{document}
在评论中,有人请求使用具有原始垂直规则的表格:
\documentclass{article}
\usepackage{array}
\usepackage{graphicx}
\newcounter{myrow}
\newcommand\RaiseImage[2][scale=1]{%
\raisebox{-0.5\totalheight}{\includegraphics[#1]{#2}}}
\begin{document}
\begin{table}
\centering
\caption{Properties}
\label{Properties in Regionprops}
\begin{tabular}{|>{\stepcounter{myrow}\themyrow.}c|c|c|}
\hline
&
\RaiseImage[width=3.5cm, height=3.5cm]{example-image-a}
&
sentence \\
\hline
&
\RaiseImage[width=3.5cm, height=3.5cm]{example-image-b}
&
sentence \\
\hline
&
\RaiseImage[width=3.5cm, height=3.5cm]{example-image-c}
&
sentence \\
\hline
\end{tabular}
\end{table}
\end{document}
答案2
由于您对获取图例或其他内容不感兴趣,因此您应该首先尝试删除环境figure
。环境center
也是不需要的,因为您已经将表格元素(c
表格的属性)居中。此外,我不确定您是否希望(或可以)将此类环境嵌入到您的table
环境中
\begin{table}[!h]
\centering
\begin{tabular}{|c|c|c|}
\hline
1. &
\includegraphics[width=3.5cm, height=3.5cm]{EPS_Thesis_Farhat/Plat_sukses/B5IB.eps} &
sentence\tabularnewline
\hline
\end{tabular}
\caption{Properties}
\label{Properties in Regionprops}
\end{table}