我试图\lightrule
用新的语法重新定义旧命令xparse
。
当我尝试\newlightrule
意外使用时,它会显示Misplaced \noalign
错误。
最小工作示例和预期结果如下。
\documentclass[margin=2mm]{standalone}
\usepackage[table]{xcolor}
\usepackage{booktabs}
\newcommand{\lightrule}{
\arrayrulecolor{black!30}%
\midrule[\lightrulewidth]%
\arrayrulecolor{black}%
}
\usepackage{xparse}
\NewDocumentCommand{\newlightrule}{}{
\arrayrulecolor{black!30}%
\midrule[\lightrulewidth]%
\arrayrulecolor{black}%
}
\begin{document}
\begin{tabular}{c l}
\toprule
test & test\\
\midrule
test & test\\
\lightrule
test & test\\
\bottomrule
\end{tabular}
\end{document}
答案1
您应该使用\NewExpandableDocumentCommand
来定义。正如 David 所说,xparse
除非您有旧的乳胶版本,否则不需要。
我还建议您使用它tabularray
来排版您的表格,它很容易使用。
\documentclass[margin=2mm]{standalone}
\usepackage[table]{xcolor}
\usepackage{booktabs}
% \newcommand{\lightrule}{
% \arrayrulecolor{black!30}%
% \midrule[\lightrulewidth]%
% \arrayrulecolor{black}%
% }
% \usepackage{xparse}
\NewExpandableDocumentCommand{\newlightrule}{}{
\arrayrulecolor{black!30}%
\midrule[\lightrulewidth]%
\arrayrulecolor{black}%
}
\usepackage{tabularray}
\begin{document}
\begin{tabular}{c l}
\toprule
test & test\\
\midrule
test & test\\
\newlightrule
test & test\\
\bottomrule
\end{tabular}
\begin{tblr}
{
colspec={Q[c,m]Q[l,m]},
hline{1,Z}={wd=.08em},
hline{2}={wd=.05em},
hline{3}={wd=.05em,fg=black!30},
}
test & test\\
test & test\\
test & test\\
\end{tblr}
\end{document}