垂直对齐表格内的数字

垂直对齐表格内的数字

我想制作一个包含不同高度图形的表格。每个图形的右侧有多行文本。

目前我能做的最好的是:

例子

它有两个缺陷:

  1. 两个图形未垂直对齐。
  2. 第二个图形超出了表格范围(我希望第 3 行和第 4 行与上下标尺的距离能够更远,以便创建足够的垂直空间)。

有没有办法让 LaTeX自动地将图形置于中心并在必要时添加垂直空间?

我使用的代码是:

\documentclass[letter,11pt]{article}
\usepackage{setspace} \doublespacing
\usepackage[utf8]{inputenc}
\usepackage{graphicx,booktabs,multirow}

\begin{document}

\begin{tabular}{cc}
\toprule
\textbf{Figure} & \textbf{Descriptions} \\
\midrule
\multirow{2}{*}{\includegraphics[scale=0.5]{fig1.jpg}} & line 1 \\
                                                       & line 2 \\
\midrule
\multirow{2}{*}{\includegraphics[scale=0.5]{fig2.jpg}} & line 3 \\
                                                       & line 4 \\
\bottomrule
\end{tabular}

\end{document}

测试数据如下: 图1.jpg 图2.jpg

答案1

您可以在第二列插入一条不可见的规则来更改单元格高度。第二种解决方案是不使用\multirow,而是使用命令中行的相邻末端\makecell,这允许在单元格内换行:

\documentclass[letter,11pt]{article}
\usepackage{setspace} \doublespacing
\usepackage[utf8]{inputenc}
\usepackage{graphicx, booktabs, multirow, makecell}

\begin{document}

\begin{tabular}{cc}
\toprule
\textbf{Figure} & \textbf{Descriptions} \\
\midrule
\multirow{2}{*}[-0.7ex]{\includegraphics[scale=0.5]{fig1.jpg}} & line 1 \\
                                                       & line 2 \\
\midrule
\multirow{2}{*}{\includegraphics[scale=0.5]{fig2.jpg}} & line 3 \\
                                                       & line 4 \rule{0pt}{8ex}\\
\bottomrule
\end{tabular}
\vspace{1cm}

\begin{tabular}{cc}
\toprule
\textbf{Figure} & \textbf{Descriptions} \\
\hline
  \raisebox{-0.45\height}{\includegraphics[scale=0.5]{fig1.jpg}} & \makecell{ line 1 \\ line 2} \\
    \midrule
    \raisebox{-0.5\height}{\includegraphics[scale=0.5]{fig2.jpg}} &\makecell{ line 3 \\ line 4} \\
    \bottomrule
    \end{tabular}
\end{document} 

在此处输入图片描述

答案2

另一种方法是利用包makecell中的宏makecell并使用valign=m包中的宏adjustbox

在此处输入图片描述

\documentclass[letter,11pt]{article}
\usepackage{setspace} \doublespacing
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{booktabs, makecell, multirow,}
\renewcommand\theadfont{\normalsize\bfseries}
\usepackage[export]{adjustbox}

\begin{document}

\begin{tabular}{cc}
    \toprule
\textbf{Figure}     &   \textbf{Descriptions}                                             \\
    \midrule
\includegraphics[width=30mm,height=15mm,valign=m]{example-image-a}  &   \makecell{line 1 \\
                                                                         line 2}        \\
    \midrule
\includegraphics[width=15mm,height=30mm,valign=m]{example-image-b}  &   \makecell{line 3 \\
                                                                         line 4}        \\
    \bottomrule
\end{tabular}

\end{document} 

相关内容