我在枚举项列表的第一行有一个常规表格。标签在列表的侧面垂直居中。有没有办法让列表标签顶部对齐 - 仍然在表格的左侧?我在网上找不到任何东西,因为我想不出一种适合谷歌搜索的问题。
这是我的代码:
\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
表格的第一行,而不是表格文本的第一行。