数组中的圆圈项目

数组中的圆圈项目

所以我想同时圈出数组中的两个元素。即使它们位于不同的行或列中。以下是我目前所得到的。

\documentclass{article}

\begin{document}

$
\begin{array}{cccc}
x_{1}&x_{2}&x_{3}&x_{4}\\
y_{1}&y_{2}&y_{3}&y_{4}
\end{array}
$

\end{document}

我想在x_{1}和周围画一个大圆圈,y_{1}并在x_{3}和周围画一个圆圈x_{4}。有什么想法可以实现吗?

答案1

一个简单的解决方案,如果你不必使用圆圈:

\documentclass{article}

\newcommand\mul[1]{\multicolumn{1}{c}{#1}}

\begin{document}

\[
\begin{array}{|c|c|cc|}
\cline{1-1}\cline{3-4}
x_{1} & \multicolumn{1}{c|}{x_{2}} & x_{3} & x_{4} \\
\cline{3-4}
y_{1} & \mul{y_{2}} & \mul{y_{3}} & \mul{y_{4}} \\
\cline{1-1}
\end{array}
\]

\end{document}

在此处输入图片描述

使用 TikZ 的一个选项(我使用了带圆角的矩形;我认为圆圈太大了):

\documentclass{article}
\usepackage{tikz}

\newcommand\Circle[1]{%
  \tikz[baseline=(char.base)]\node[circle,draw,inner sep=2pt] (char) {#1};}

\newcommand\tikzmark[2]{
  \tikz[remember picture, overlay]\node[inner sep=0pt] (#1) {#2};}

\begin{document}

\[
\begin{array}{cccc}
\Circle{$x_{1}$} & x_{2} & \Circle{$x_{3}$} & \Circle{$x_{4}$} \\
\Circle{$y_{1}$} & y_{2} & y_{3} & y_{4}
\end{array}
\]

\[
\begin{array}{cccc}
\tikzmark{starta}{$x_{1}$} & x_{2} & \tikzmark{startb}{$x_{3}$} & \tikzmark{endb}{$x_{4}$} \\
\tikzmark{enda}{$y_{1}$} & y_{2} & y_{3} & y_{4}
\end{array}
\]

\begin{tikzpicture}[remember picture,overlay]
\draw[cyan,rounded corners] 
  ([xshift=-5pt,yshift=5pt]starta.north west) 
  rectangle 
  ([xshift=8pt,yshift=-5pt]enda);
\draw[cyan,rounded corners] 
  ([xshift=-5pt,yshift=5pt]startb.north west) 
  rectangle 
  ([xshift=8pt,yshift=-6pt]endb);
\end{tikzpicture}

\end{document}

在此处输入图片描述

并使用hf-tikz

\documentclass{article}
\usepackage[markings]{hf-tikz}

\begin{document}

\[
\begin{array}{cccc}
\tikzmarkin[mark at=0.93]{col 1}(0.5,0.35)(-0.2,-0.7)
x_{1} & x_{2} & \tikzmarkin[mark at=0.93]{col 1}(1.2,0.35)(-0.2,-0.15)x_{3} & x_{4} \\
y_{1} & y_{2} & y_{3} & y_{4}
\end{array}
\]

\end{document}

在此处输入图片描述

相关内容