![如何让表格垂直方向更加紧凑?](https://linux22.com/image/300269/%E5%A6%82%E4%BD%95%E8%AE%A9%E8%A1%A8%E6%A0%BC%E5%9E%82%E7%9B%B4%E6%96%B9%E5%90%91%E6%9B%B4%E5%8A%A0%E7%B4%A7%E5%87%91%EF%BC%9F.png)
我最终设法在表格中使用案例构造:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{table}
\begin{tabular}{l p{7cm} ll}
\hline
a & b & c \\
\hline
lalalalala & \[ f :=
\begin{cases}
1 \text{if something}\\
2 \text{if something else}
\end{cases}\] & $\tau_1 = 0.1$ \\
\hline
lalalalala & \[f :=
\begin{cases}
1 \text{if something}\\
2 \text{if something else}
\end{cases}\] & $\tau_2 = 0.1$ \\
\hline
\end{tabular}
\end{table}
\end{document}
但大括号在 b 列中垂直占用太多空间。也就是说,括号上方和下方有太多空白。在我的文档中的其他地方,这种情况更加突出。
现状如下:
这是期望的结果:
请问,如何才能缩小表格中的特定行而不影响其他行?
答案1
\[...\]
引入了垂直空间,因为它实际上类似于\begin{center} ...\end{center}
,但在数学模式下。因此必须将其删除并更改为\centering \( ....\)
我保留第二行作为两种效果的演示。
\documentclass{article}
\usepackage{amsmath}
\usepackage{multirow}
\begin{document}
\begin{table}
\begin{tabular}{l p{7cm} ll}
\hline
a & b & b \tabularnewline
\hline
lalalalala & \centering\( f :=
\begin{cases}
1 & \text{if something}\\
2 & \text{if something else}
\end{cases}\) & $\tau_1 = 0.1$ \tabularnewline
\hline
lalalalala & \[f :=
\begin{cases}
1 & \text{if something}\\
2 & \text{if something else}
\end{cases}\] & $\tau_2 = 0.1$ \tabularnewline
\hline
\end{tabular}
\end{table}
\end{document}
答案2
我认为,对前面的解决方案进行了一些改进:我使用环境cases*
(来自mathtools
),在文本模式下创建案例环境的第二列。同一个包定义了一个\coloneqq
命令,使冒号位于数学轴的中心。最后,我使用该booktabs
包为行提供更多的垂直间距,同时我设法使用较小的括号:
\documentclass{article}
\usepackage{mathtools}
\usepackage{booktabs}
\begin{document}
\begin{table}
\begin{tabular}{l p{7cm} ll}
\toprule
a & b & b \\
\midrule
lalalalala & \centering\( f ∶=
\begin{cases*}
1 & if something \\[-0.25ex]
2 & if something else
\end{cases*}\) & $τ_1 = 0.1$ \\
\bottomrule
\end{tabular}
\end{table}
\end{document}