\tabulinesep
带有包的参数为tabu
不同高度的表格提供了良好的填充。但是当与diagbox
包一起使用时,填充会引起问题。
\documentclass{article}
\usepackage{amsmath,diagbox,tabu}
\begin{document}
tabulinesep
{\setlength{\tabulinesep}{3pt}
\begin{tabu}{|c|c|c|}
\hline
\diagbox{X}{Y} & Z & Z\\
\hline
$\dfrac12$ & $\dfrac34$ & $\dfrac56$ \\
\hline
$A$ & $B$ & $C$ \\
\hline
\end{tabu}}
%
extrarowsep
{\setlength{\extrarowsep}{3pt}
\begin{tabu}{|c|c|c|}
\hline
\diagbox{X}{Y} & Z & Z\\
\hline
$\dfrac12$ & $\dfrac34$ & $\dfrac56$ \\
\hline
$A$ & $B$ & $C$ \\
\hline
\end{tabu}}
\end{document}
我怎样才能\tabulinesep
仅禁用表格第一行的填充?
正如您在上例中看到的,\extrarowsep
没有提供所需的填充。因此,我想坚持\tabulinesep
解决方案。
答案1
作为替代方案,我建议\addstackgap
使用stackengine
包,它只需要应用于超大行中最高的单元格。在这里我将其与 结合使用\extrarowsep
,但根据 OP 寻求的外观,这不是必需的。
\documentclass{article}
\usepackage{amsmath,diagbox,tabu,stackengine}
\begin{document}
tabulinesep
{\setlength{\tabulinesep}{3pt}
\begin{tabu}{|c|c|c|}
\hline
\diagbox{X}{Y} & Z & Z\\
\hline
$\dfrac12$ & $\dfrac34$ & $\dfrac56$ \\
\hline
$A$ & $B$ & $C$ \\
\hline
\end{tabu}}
%
\Centerstack{addstackgap + extrarowsep}
{\setlength{\extrarowsep}{1pt}
\begin{tabu}{|c|c|c|}
\hline
\diagbox{X}{Y} & Z & Z\\
\hline
\addstackgap[4pt]{$\dfrac12$} & $\dfrac34$ & $\dfrac56$ \\
\hline
$A$ & $B$ & $C$ \\
\hline
\end{tabu}}
\end{document}
答案2
一种方法是放大\extrarowsep
,例如放大到 8pt:
\setlength{\extrarowsep}{8pt}
\begin{tabu}{|c|c|c|}
\hline
\diagbox{X}{Y} & Z & Z\\
\hline
$\dfrac{1}{2}$ & $\dfrac{3}{4}$ & $\dfrac{5}{6}$ \\
\hline
$A$ & $B$ & $C$ \\
\hline
\end{tabu}
在这种情况下,所有行都更高,但看起来与右图所示的相似...... 编辑: 扩大行高(针对您的特定问题)的另一种方法是将规则放在一行单元格中:
\begin{tabu}{|c|c|c|}
\hline
\diagbox{X}{Y} & Z & Z\\
\hline
$\dfrac12$\rule[-2.4ex]{0pt}{6ex} & $\dfrac34$ & $\dfrac56$ \\
\hline
$A$ & $B$ & $C$ \\
\hline
\end{tabu}
当然,这不是通用的解决方案。