макрос для cmidline приводит к лестнице

макрос для cmidline приводит к лестнице

Я делаю таблицу с вкладками:

\documentclass{article}
\usepackage{booktabs}
\begin{document}

  \newcommand{\crI}[2]{\cmidrule(#1){#2}}

  \begin{tabular}{@{}lllll@{}}
    \toprule
    \multicolumn{1}{c}{} & a & b & c & d  \\ 
    %\cmidrule(lr){2-2} \cmidrule(lr){3-3} \cmidrule(lr){4-4} \cmidrule(l){5-5} 
    %     \crI{lr}{2-2}      \crI{lr}{3-3}      \crI{lr}{4-4}      \crI{l}{5-5}     
    q1   & 1 & 2 & 3 & 4   \\ 
    q2   & 1 & 2 & 3 & 4   \\ 

    \bottomrule
  \end{tabular}

\end{document}

Я сделал сокращение \crIдля нижних правил \cmidrule, но они приводят к лестнице. С закомментированной верхней строкой я получаю:

введите описание изображения здесь

Однако в нижней строке я получаю:

введите описание изображения здесь

решение1

\cmidruleсмотрит вперед, чтобы увидеть следующее \cmidrule, чтобы поместить их на ту же строку, сокращение побеждает это. Вы можете дублировать определение и сделать так, чтобы оно смотрело вперед, \cRIно если вы не делаете много этого, это, вероятно, займет больше символов, чем вы сэкономите, используя сокращение

Связанный контент