我正在尝试将矩阵与表格中其他单元格的内容垂直对齐,但我几乎卡住了。以下是我的问题的快速模型。
在图2中至少内容是正确对齐的。
在我看来,数学模式环境本身就是需要对齐的,因为未包含在数学模式中的嵌套表是正确对齐的。
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{tabularx}
\usepackage{amsmath,mleftright}
\usepackage[nopar]{lipsum}
\begin{document}
\begin{tabularx}{\textwidth}[t]{|X|c|l|} % fig1
\hline
\lipsum[5] &
$\begin{aligned}[t]\begin{bmatrix} a\\ b\\ c\\ d\\ e\end{bmatrix}\end{aligned}$ &
$123$ \\
\hline
\end{tabularx}
\vspace{2cm}
\begin{tabularx}{\textwidth}[t]{|X|c|l|} % fig2
\hline
\lipsum[5] &
$\mleft[\begin{tabular}[t]{@{}l@{}}
First line\\
Second line\\
Third line
\end{tabular}\mright]$
&
123\\
\hline
\end{tabularx}
\end{document}
图1: 图2:
答案1
使用adjustbox
以及变体egreg 对 Alignment in inline math 的回答:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tabularx}
\usepackage[nopar]{lipsum}
\usepackage{adjustbox}
\begin{document}
\begin{tabularx}{\textwidth}[t]{|X|c|l|}
\hline
\lipsum[5] &
\begin{adjustbox}{valign=t}\( \begin{bmatrix} a\\ b\\ c\\ d\\ e\end{bmatrix} \)\end{adjustbox} &
\( 123 \) \\
\hline
\end{tabularx}
\end{document}
答案2
X
像这样?我将列类型的定义更改为m
,并在单元格中添加了一些垂直填充cellspace
(对于以 为前缀的列说明符S
- 比较第一个和第二个表):
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{tabularx}
\renewcommand{\tabularxcolumn}[1]{>{\arraybackslash}m{#1}}
\usepackage{cellspace}
\setlength\cellspacetoplimit{5pt}
\setlength\cellspacebottomlimit{5pt}
\addparagraphcolumntypes{X}
\usepackage{amsmath,mleftright}
\usepackage[nopar]{lipsum}
\begin{document}
\begin{tabularx}{\textwidth}[t]{|S{X}|c|l|} % fig1
\hline
\lipsum[5] &
$\begin{aligned}[t]\begin{bmatrix} a\\ b\\ c\\ d\\ e\end{bmatrix}\end{aligned}$ &
$123$ \\
\hline
\end{tabularx}
\vspace{2cm}
\begin{tabularx}{\textwidth}[t]{|X|c|l|} % fig2
\hline
\lipsum[5] &
$\mleft[\begin{tabular}{@{}l@{}}
First line\\
Second line\\
Third line
\end{tabular}\mright]$
&
123\\
\hline
\end{tabularx}
\end{document}