增加表格间距的命令

增加表格间距的命令

当我需要增加矩阵中的垂直空间时,我发现了这个很棒的自定义命令:

\makeatletter
\renewcommand*\env@matrix[1][\arraystretch]{%
  \edef\arraystretch{#1}%
  \hskip -\arraycolsep
  \let\@ifnextchar\new@ifnextchar
  \array{*\c@MaxMatrixCols c}}
\makeatother

这使得我能够制作出像\begin{bmatrix}[2.5] ... \end{bmatrix}这样的矩阵,从而增加垂直空间。

我不太熟悉为 latex 创建自定义命令。有人能帮我编辑上述命令,让我能用这个增加间距的选项制作表格吗?

答案1

“增加表格垂直间距的简单方法”是用一个参数替换可选的定位参数\arraystretch

在此处输入图片描述

\documentclass{article}
\let\oldtabular\tabular% Store a copy of \tabular
\let\endoldtabular\endtabular% Store a copy of \endtabular
\renewenvironment{tabular}[2][\arraystretch]
  {\edef\arraystretch{#1}% Update \arraystretch
   \oldtabular{#2}}% \begin{tabular}[<stretch>]{<col spec>}
  {\endoldtabular}% \end{tabular}

\begin{document}
\begin{tabular}{*{6}{c}}
  a & b & c & d & e & f \\
  g & h & i & j & k & l \\
  m & n & o & p & q & r \\
  s & t & u & v & w & x \\
  y & z
\end{tabular}

\begin{tabular}[2.5]{*{6}{c}}
  a & b & c & d & e & f \\
  g & h & i & j & k & l \\
  m & n & o & p & q & r \\
  s & t & u & v & w & x \\
  y & z
\end{tabular}

\end{document}

新的界面是\begin{tabular}[<stretch>]{<col spec>}...默认为\end{tabular}。您也可以这样做,但上述建议更为通用。<stretch>\arraystretch1

可以扩展它,以便允许您在需要时使用两个可选参数。但是,只有在您仅需要第二个参数时提供两个可选参数,两个可选参数才能按预期工作。在这些情况下,键值方法通常更好。但是,这与仅根据\arraystretch需要添加新参数非常相似,因此我认为它并不总是更简单。

相关内容