我有一张类似这张的桌子
\begin{center}
\begin{tabular}{llcc|}
& & \multicolumn{2}{c}{Blah}\\ \cline{3-4}
& \multicolumn{1}{l|}{} & A & B\\ \cline{2-4}
Bleh1 & \multicolumn{1}{|l|}{C} & \begin{tabular}{l}E\\F\end{tabular}& \begin{tabular}{l}I\\J\end{tabular} \\ \cline{2-4}
Bleh2 & \multicolumn{1}{|l|}{D} & × & \begin{tabular}{l}G\\H\end{tabular}\\ \cline{2-4}
\end{tabular}
\end{center}
我想添加一些圆圈或省略号来突出显示特定条目,并在表格外添加一些文本。例如,我想在 E 和 F 周围添加一个红色圆圈或省略号(将它们放在同一个圆圈内),并从省略号到表格外的某些文本(例如“Hello”)画一条线(可能也是红色),将此文本链接到表格中的条目。有什么想法吗?
谢谢,
答案1
这里我使用 tikzpicture 和 [记住图片和覆盖] 方法来实现目标。
第一次可能需要编译两次。
连接线可以有不同的入/出角度供您选择 - 边缘[出=0,入=180]
\tikz
在表格中使用简写符号添加了一些评论以供解释。
\documentclass[a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes}
\begin{document}
\tikzstyle{every picture}=[remember picture, overlay] % overlay
\begin{center}
\begin{tabular}{llcc|}
& & \multicolumn{2}{c}{Blah}\\ \cline{3-4}
& \multicolumn{1}{l|}{} & A & B\\ \cline{2-4}
Bleh1 & \multicolumn{1}{|l|}{C} &
\begin{tabular}{l}
\tikz[baseline]
{
\node[fill=blue,rectangle,anchor=base] (t1) % internal name in table
{E}; % assign an internal name to E
}\\
\tikz[baseline]
{
\node[fill=red,rectangle,anchor=base] (t2) % internal name in table
{F}; % Assign an internal name to F
}
\end{tabular}&
\begin{tabular}{l}
I\\J
\end{tabular} \\ \cline{2-4}
Bleh2 & \multicolumn{1}{|l|}{D} & × & \begin{tabular}{l}G\\H\end{tabular}\\ \cline{2-4}
\end{tabular}
\end{center}
\begin{itemize}
\item Hello to E
\tikz \node [coordinate] (n1) {}; % define an internal name outside the table
\item Hello to F
\tikz \node [coordinate] (n2) {}; % define an internal name outside the table
\end{itemize}
\begin{tikzpicture}
\path[->,blue] (n1) edge [out=0, in=180] (t1); % points form a line
\path[->,red] (n2) edge [out=0, in=0] (t2); % points form a line
\end{tikzpicture}
\end{document}