我有以下代码,用于在每隔一行后添加一个额外的空格(回车符)。我该如何编辑代码,以在每隔三行后添加额外的空格?
\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}