表格中每隔三行设置一个垂直间距

表格中每隔三行设置一个垂直间距

我有以下代码,用于在每隔一行后添加一个额外的空格(回车符)。我该如何编辑代码,以在每隔三行后添加额外的空格?

\documentclass[12pt]{article}

\usepackage{booktabs}
\usepackage{dcolumn}

\begin{document}
\begin{table}

\begin{tabular*}{1\textwidth}{@{
\global\let\restorecr=\\ 
\extracolsep{\fill} } c *{4}{c}}
\toprule

\global\let\oldcr=\\ 
\global\def\crsng{\global\let\\ =\crdbl\oldcr}
\global\def\crdbl{\global\let\\ =\crsng\oldcr[40pt]}
\global\let\\=\crdbl

& \multicolumn{4}{c}{\textbf{Panel A}}\\ 
\midrule
a & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
  & 0.55 & 0.66 & 0.64 & 0.64 \\
a & 0.55 & 0.66 & 0.64 & 0.64 \\ 
  & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
\bottomrule
\end{tabular*}
\global\let\\ =\restorecr

\end{table}

\end{document}

编辑:如果我添加更多数据面板,下面提出的解决方案将不再有效。

&\multicolumn{4}{c}{\textbf{All Data}}\tabularnewline     
& \multicolumn{4}{c}{\textbf{Panel A}}\tabularnewline 
\midrule
a & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
  & 0.55 & 0.66 & 0.64 & 0.64 \\
a & 0.55 & 0.66 & 0.64 & 0.64 \\ 
a & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
    & \multicolumn{4}{c}{\textbf{Panel B}}\tabularnewline
\midrule
a & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
  & 0.55 & 0.66 & 0.64 & 0.64 \\
a & 0.55 & 0.66 & 0.64 & 0.64 \\ 
a & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
    & \multicolumn{4}{c}{\textbf{Panel C}}\tabularnewline 
\midrule
a & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
  & 0.55 & 0.66 & 0.64 & 0.64 \\
a & 0.55 & 0.66 & 0.64 & 0.64 \\ 
a & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 

答案1

该解决方案不了解代码背后的机制(无论如何都达不到标准),但基于每隔一行插入垂直空间的给定代码,该解决方案找到了其背后的逻辑,这就是此处生成该解决方案的方式。

在此处输入图片描述

代码

\documentclass[12pt]{article}

\usepackage{booktabs}
\usepackage{dcolumn}

\begin{document}
\begin{table}

\begin{tabular*}{1\textwidth}{@{
\global\let\restorecr=\\ 
\extracolsep{\fill} } c *{4}{c}}
\toprule

%\global\let\oldcr=\\ 
%\global\def\crsng{\global\let\\ =\crdbl\oldcr}
%\global\def\crdbl{\global\let\\ =\crsng\oldcr[40pt]}
%\global\let\\=\crdbl

\global\let\oldcr=\\ 
\global\def\crsng{\global\let\\ =\crtri\oldcr}
\global\def\crdbl{\global\let\\ =\crsng\oldcr}
\global\def\crtri{\global\let\\ =\crdbl\oldcr[40pt]}
\global\let\\=\crtri

& \multicolumn{4}{c}{\textbf{Panel A}}\\ 
\midrule
a & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
  & 0.55 & 0.66 & 0.64 & 0.64 \\
a & 0.55 & 0.66 & 0.64 & 0.64 \\ 
  & 0.55 & 0.66 & 0.64 & 0.64 \\
  & 0.55 & 0.66 & 0.64 & 0.64 \\ 
\bottomrule
\end{tabular*}
\global\let\\ =\restorecr

\end{table}

相关内容