表格内的编号(第二列)未到达正确的位置

表格内的编号(第二列)未到达正确的位置

表格中的编号(第二列)没有到达正确的位置,位于图的下方。如果我们使用 \begin{enumerate},它会显示错误。

\documentclass[a4paper,11pt]{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{enumerate}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|c|c|}
            \hline
            abcd & xyz\\
            \hline
            \multirow{2}{*}{C}  &(a)~\includegraphics[height=2.0cm]{square.png}\\
            &(b)~\includegraphics[height=1.4cm]{circle.png}\\
            \hline  
        \end{tabular}
\end{document}

(a)和(b)不在图中中间

答案1

我不确定我是否正确理解了你的问题,但据我了解,你希望能够enumerate在 中使用 -environment tabular。在这种情况下,你可以执行以下操作:

\documentclass[a4paper,11pt]{article}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{pbox}
\begin{document}
\begin{tabular}{|c|c|}
    \hline
    abcd & xyz\\
    \hline
    C & \parbox{0.3\textwidth}{
        \begin{enumerate}[(a)]
            \item\pbox[c]{\textwidth}{\includegraphics[height=2.0cm]{example-image-a}}
            \item\pbox[c]{\textwidth}{\includegraphics[height=1.4cm]{example-image-b}}
        \end{enumerate}
    }\\
    \hline  
\end{tabular}
\end{document}

\pbox用于将枚举标签垂直居中。在这个相当简单的解决方案中,您必须自己调整的宽度\parbox

结果

如果您不想enumerate在表格内部使用,仍然可以使用\usepackage{pbox}\pbox[c]{\textwidth}{\includegraphics{...}}来垂直居中标签。请注意, 内部\textwidth\pbox允许的最大宽度,但\pbox仅使用必要的空间。

答案2

有两点需要修复。首先,c列类型不支持enumerate,您需要pXm。如果您不喜欢使用Xwith tabularx,那么m来自 array 包将是最佳选择。其次,要垂直居中图像,来自包的valign=m选项adjustbox非常方便。

\documentclass[a4paper,11pt]{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{enumerate}
\usepackage{array}
\usepackage[export]{adjustbox}
\begin{document}
\begin{tabular}{|c|m{5cm}|}
            \hline
            abcd & xyz\\
            \hline
            C &
            \begin{enumerate}[(a)]
            \item \includegraphics[height=2.0cm,valign=m]{example-image-a}
            \item \includegraphics[height=1.4cm,valign=m]{example-image-b}
            \end{enumerate} \\            
            \hline  
        \end{tabular}
\end{document}

在此处输入图片描述

相关内容