如何在多个行单元格和列单元格周围绘制圆圈

如何在多个行单元格和列单元格周围绘制圆圈

如何围绕多个行单元格和列单元格绘制圆圈,如附图所示。

我正在使用专业布局表...即表格环境中的表格,下表 在此处输入图片描述

我还在此处附上了我感兴趣的表格,我想突出显示如图所示

\documentclass{article}
\usepackage{booktabs,multirow}

\begin{document}
\centering
\begin{tabular}{c c cc c } % centered columns (5 columns)
\toprule
&&\multicolumn{3}{c}{\textbf{J}}  \\      
\cmidrule(l){2-5}
&&\multicolumn{2}{c}{\textbf{$M_J=1$}}& $\textbf{$M_J=2$}$  \\      
\cmidrule(l){2-4}
 &\textbf{I} & $\textbf{J=1}$ &$\textbf{J=2}$ & \\
        \bottomrule
\multirow{2}{*}{\textbf{ $ M_I=1$ } }&I=1 &      $n_{1111}$   &   $n_{1211}$  &  $n_{1+11}$\\
&I=2 &      $n_{2111}$   &   $n_{2211}$  &  $n_{2+11}$\\
 \textbf{ $ M_I=2$ } &  &       $n_{+121}$   &   $n_{+221}$  & $n_{++22}$\\
\bottomrule
\end{tabular}
\end{document}

答案1

如何使用 TikZ(覆盖模式)?

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{table}
\begin{tabular}{|c|c|c|}
\hline
  A&B&C\\
\hline
  1&2&3\\
\hline
\end{tabular}

\begin{tikzpicture}[overlay]
 \draw[red, line width=1.5pt] (1,0.3) ellipse (1cm and 0.2cm);
 \draw[blue] (0.35,0.5) ellipse (0.2cm and 0.5cm);
\end{tikzpicture} 
\end{table}
\end{document}

答案2

我有一个使用两台新 makros 的解决方案。

您可以将内容放入\circled命令中并标记单个单元格。

要标记多个单元格,您可以使用\markcells。两个必需参数定义 x 和 y 大小。使用可选参数,您可以定义颜色并移动结果。这不是最佳解决方案,它需要一些手动调整,直到位置正确。

\documentclass{standalone}
\usepackage{booktabs,multirow}

\usepackage{tikz}
\usetikzlibrary{shapes}
\newcommand*{\circled}[2][red]{
  \tikz[baseline=(char.base)]{
              \node[shape=ellipse,inner sep=2pt,
                draw=#1,
             ] (char) {#2};}
}
\newcommand{\markcells}[3][green]{
  \tikz[baseline=(char.mid)]{\node[shape=ellipse,overlay,draw,#1] (char) {\phantom{\rule{#2}{#3}}};}%
}
\begin{document}
\centering
\begin{tabular}{c c cc c } % centered columns (5 columns)
\toprule
&&\multicolumn{3}{c}{\textbf{J}}  \\      
\cmidrule(l){2-5}
&&\multicolumn{2}{c}{\circled{\textbf{$M_J=1$}}}& $\textbf{$M_J=2$}$  \\      
\cmidrule(l){2-4}
 &\textbf{I} & 
  \markcells{20mm}{1em}
  $\textbf{J=1}$ &$\textbf{J=2}$ & \\
        \bottomrule
\multirow{2}{*}{\textbf{ $ M_I=1$ } }&
\markcells[purple,shift={(1em,-1mm)}]{2em}{10mm}  I=1 &      $n_{1111}$   &   $n_{1211}$  &  
  \circled[blue]{$n_{1+11}$}\\
&I=2 &      $n_{2111}$   &   $n_{2211}$  &  $n_{2+11}$\\
\textbf{ $ M_I=2$ } &  &    
     \circled{$n_{+121}$ }
&   $n_{+221}$  & $n_{++22}$\\
\bottomrule
\end{tabular}
\end{document}

在此处输入图片描述

相关内容