如何在表格的某一行中制作框

如何在表格的某一行中制作框

我想在第二行做一个方框。也就是 1 & 3 & 24 & 42 & 43。第四行的一部分也是 5 & 16 & 26 & 34。

 \begin{tabular}{| c | c  c  c  c | } 
      \hline
      Location & \multicolumn{4}{c|}{Rounds}\\ 
       \hline
        0 &  2 &  23 &  41 &  42\\
    1 &  3 &  24 &  42 &  43\\
    2 &  4 &  25 &  43 &  44\\
    3 &  5 &  16 &  26 &  34\\
    4 &  6 &  17 &  27 &  35\\
    \hline
   \end{tabular}

答案1

正如 Werner 所暗示的,还有更好的方法,但如果您不需要经常使用它(因为框宽度必须根据内容进行调整),这里有一个快速的方法。

我已将其塞进宏中\boxit{<width>}

\documentclass{article}
\def\boxit#1{%
  \smash{\fboxsep=0pt\llap{\rlap{\fbox{\strut\makebox[#1]{}}}~}}\ignorespaces
}
\begin{document}
 \begin{tabular}{| c | c  c  c  c | } 
      \hline
      Location & \multicolumn{4}{c|}{Rounds}\\ 
       \hline
        0 &  2 &  23 &  41 &  42\\
    \boxit{1.52in} 1 &  3 &  24 &  42 &  43\\
    2 &  4 &  25 &  43 &  44\\
    3 &  5 &  \boxit{0.81in} 16 &  26 &  34\\
    4 &  6 &  17 &  27 &  35\\
    \hline
   \end{tabular}
\end{document}

在此处输入图片描述

如果您的tabular数据纯粹是数字,则可以修剪框的高度,使其对称于数字(上述解决方案使用了\strut允许下行线有额外深度的)。我还将框设为红色,并使用更粗(1pt)的规则。

\documentclass{article}
\usepackage{xcolor}
\def\boxit#1{%
  \smash{\color{red}\fboxrule=1pt\relax\fboxsep=2pt\relax%
  \llap{\rlap{\fbox{\vphantom{0}\makebox[#1]{}}}~}}\ignorespaces
}
\begin{document}
 \begin{tabular}{| c | c  c  c  c | } 
      \hline
      Location & \multicolumn{4}{c|}{Rounds}\\ 
       \hline
        0 &  2 &  23 &  41 &  42\\
    \boxit{1.47in} 1 &  3 &  24 &  42 &  43\\
    2 &  4 &  25 &  43 &  44\\
    3 &  5 &  \boxit{0.77in} 16 &  26 &  34\\
    4 &  6 &  17 &  27 &  35\\
    \hline
   \end{tabular}
\end{document}

在此处输入图片描述

相关内容