如何创建跨越表格行和列的框

如何创建跨越表格行和列的框

从这个主题开始如何在表格的一行中制作方框。我还知道突出显示矩阵中的元素我只是想知道是否有像这样的快速方法来创建跨行和跨列的框,而不必使用TikZ

\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}

答案1

修改给定的宏以接受除宽度之外的高度很容易。但我不明白你为什么要这样做。遵循给出的方法要容易得多这里而不是手动指定框的宽度和高度,这可能会根据字体、字体大小、表格内容等因素而改变。但如果你坚持......

\documentclass{article}

\usepackage{xcolor}

\def\boxit#1#2{%
    \smash{\color{red}\fboxrule=1pt\relax\fboxsep=2pt\relax%
    \llap{\rlap{\fbox{\phantom{\rule{#1}{#2}}}}~}}\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}{.1in} 1 &  3 &  24 &  42 &  43\\
    2 &  4 &  25 &  43 &  44\\
    3 &  5 &  16 &  26 &  34\\
    4 &  6 &  \boxit{0.77in}{.26in}17 &  27 &  35\\
    \hline
\end{tabular}

\end{document}

MWE 输出

相关内容