相对于表格的顶部对齐列表标签

相对于表格的顶部对齐列表标签

我在枚举项列表的第一行有一个常规表格。标签在列表的侧面垂直居中。有没有办法让列表标签顶部对齐 - 仍然在表格的左侧?我在网上找不到任何东西,因为我想不出一种适合谷歌搜索的问题。

具有两列、四行的表格,左侧有列表标签,垂直居中

这是我的代码:

\begin{enumerate}[label=\alph*)]
    \item \begin{tabular}{|l|l|} \hline
    cell 1 & cell 2\\\hline
    cell 3 & cell 4\\\hline
    cell 5 & cell 6\\\hline
    cell 7 & cell 8\\\hline
    \end{tabular}
    
    \blindtext
\end{enumerate}

答案1

添加位置参数[t]可将最顶部元素的基线与标签文本的基线对齐。如果第一行上方没有规则,那就足够了(下面代码的第一部分)。否则,latex 将采用最顶部规则的基线。

如果您手动或通过包移动表格的基线,表格将与标签对齐。单元格的上边缘与文本基线之间的距离为 0.7\baselineskip。将表格提升此量可使其与标签对齐。

在此处输入图片描述

\documentclass{article}
\usepackage{mwe}
\usepackage{enumitem}

\begin{document}
\begin{enumerate}[label=\alph*)]
\item
  \begin{tabular}[t]{ll}
    cell 1 & cell 2\\
    cell 3 & cell 4\\
    cell 5 & cell 6\\
  \end{tabular}
  
  \blindtext
\item
  \raisebox{0.7\baselineskip}{%
    \begin{tabular}[t]{ll}
      \hline
      cell 1 & cell 2\\\hline
      cell 3 & cell 4\\\hline
      cell 5 & cell 6\\\hline
    \end{tabular}}
  
  \blindtext[1]
\end{enumerate}
\end{document}

答案2

使用最新的发行版,您可以使用tabularray包中的 baseline=T。

\documentclass{article}
\usepackage{mwe}
\usepackage{enumitem}
\usepackage{tabularray}
\begin{document}
    \begin{enumerate}[label=\alph*)]
        \item \begin{tblr}[T]{|l|l|} \hline
            cell 1 & cell 2\\\hline
            cell 3 & cell 4\\\hline
            cell 5 & cell 6\\\hline
            cell 7 & cell 8\\\hline
        \end{tblr}
        
        \blindtext
    \end{enumerate}
\end{document}

在此处输入图片描述

Pieter van Oostrum 建议,\begin{tabular}[t]将标签对齐在\hline表格的第一行,而不是表格文本的第一行。

相关内容